@lluc_llull/ui-lib 0.12.5 → 0.14.1

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 (127) hide show
  1. package/fesm2022/lluc_llull-ui-lib-src-lib-effects.mjs +144 -0
  2. package/fesm2022/lluc_llull-ui-lib-src-lib-effects.mjs.map +1 -0
  3. package/fesm2022/lluc_llull-ui-lib-src-lib-sliders.mjs +53 -0
  4. package/fesm2022/lluc_llull-ui-lib-src-lib-sliders.mjs.map +1 -0
  5. package/fesm2022/lluc_llull-ui-lib.mjs +305 -256
  6. package/fesm2022/lluc_llull-ui-lib.mjs.map +1 -1
  7. package/lib/components/core/headers/header-clear/header-clear.component.d.ts +6 -4
  8. package/lib/components/core/headers/header-mobile/header-mobile.component.d.ts +6 -4
  9. package/lib/components/core/modals/lang-modal/lang-modal.component.d.ts +2 -2
  10. package/lib/components/shared/ui-icon/ui-icon.component.d.ts +5 -1
  11. package/lib/directives/index.d.ts +0 -1
  12. package/lib/{components/effects → effects}/dynamic-background/effects/sphere-deform/sphere-deform.effect.d.ts +1 -1
  13. package/lib/interfaces/page-config.interface.d.ts +1 -0
  14. package/lib/services/mapper/cdn.token.d.ts +2 -0
  15. package/lib/services/mapper/component-mappers/index.d.ts +1 -1
  16. package/lib/services/mapper/component-mappers/lang-modal.mapper.d.ts +2 -5
  17. package/lib/services/mapper/component-mappers/nav-modal.mapper.d.ts +2 -3
  18. package/lib/services/mapper/component-mappers/types.d.ts +1 -1
  19. package/lib/services/mapper/index.d.ts +1 -0
  20. package/lib/services/mapper/mapper.service.d.ts +1 -0
  21. package/lib/utils/utils.d.ts +2 -2
  22. package/package.json +26 -15
  23. package/public-api.d.ts +1 -1
  24. package/src/lib/effects/dynamic-background/dynamic-background.component.d.ts +26 -0
  25. package/src/lib/effects/dynamic-background/effects/dynamic-effect.interface.d.ts +6 -0
  26. package/src/lib/effects/dynamic-background/effects/effect-registry.d.ts +3 -0
  27. package/src/lib/effects/dynamic-background/effects/sphere-deform/sphere-deform.effect.d.ts +13 -0
  28. package/src/lib/effects/dynamic-background/index.d.ts +1 -0
  29. package/src/lib/effects/index.d.ts +1 -0
  30. package/src/lib/sliders/index.d.ts +1 -0
  31. package/src/lib/sliders/swiper.directive.d.ts +12 -0
  32. package/src/lib/styles/main.css +2 -2
  33. package/styles/main.css +2 -2
  34. package/esm2022/lib/Enum/index.mjs +0 -2
  35. package/esm2022/lib/Enum/link-type.enum.mjs +0 -9
  36. package/esm2022/lib/components/core/content/category-progress/category-progress.component.mjs +0 -18
  37. package/esm2022/lib/components/core/content/category-progress/category-progress.interface.mjs +0 -2
  38. package/esm2022/lib/components/core/content/category-progress/index.mjs +0 -3
  39. package/esm2022/lib/components/core/content/hero-section/hero-section.component.mjs +0 -25
  40. package/esm2022/lib/components/core/content/hero-section/hero-section.interface.mjs +0 -2
  41. package/esm2022/lib/components/core/content/hero-section/hero-section.stories.mjs +0 -25
  42. package/esm2022/lib/components/core/content/hero-section/index.mjs +0 -4
  43. package/esm2022/lib/components/core/content/index.mjs +0 -4
  44. package/esm2022/lib/components/core/content/section-intro/index.mjs +0 -3
  45. package/esm2022/lib/components/core/content/section-intro/section-intro.component.mjs +0 -23
  46. package/esm2022/lib/components/core/content/section-intro/section-intro.interface.mjs +0 -2
  47. package/esm2022/lib/components/core/footers/index.mjs +0 -5
  48. package/esm2022/lib/components/core/footers/legal-footer/index.mjs +0 -3
  49. package/esm2022/lib/components/core/footers/legal-footer/legal-footer.component.mjs +0 -27
  50. package/esm2022/lib/components/core/footers/legal-footer/legal-footer.interface.mjs +0 -2
  51. package/esm2022/lib/components/core/footers/links-footer/index.mjs +0 -3
  52. package/esm2022/lib/components/core/footers/links-footer/links-footer.component.mjs +0 -15
  53. package/esm2022/lib/components/core/footers/links-footer/links-footer.interface.mjs +0 -2
  54. package/esm2022/lib/components/core/footers/social-footer/index.mjs +0 -3
  55. package/esm2022/lib/components/core/footers/social-footer/social-footer.component.mjs +0 -20
  56. package/esm2022/lib/components/core/footers/social-footer/social-footer.interface.mjs +0 -2
  57. package/esm2022/lib/components/core/footers/visual-footer/index.mjs +0 -3
  58. package/esm2022/lib/components/core/footers/visual-footer/visual-footer.component.mjs +0 -29
  59. package/esm2022/lib/components/core/footers/visual-footer/visual-footer.interface.mjs +0 -2
  60. package/esm2022/lib/components/core/headers/header-clear/header-clear.component.mjs +0 -59
  61. package/esm2022/lib/components/core/headers/header-clear/header-clear.interface.mjs +0 -2
  62. package/esm2022/lib/components/core/headers/header-clear/index.mjs +0 -3
  63. package/esm2022/lib/components/core/headers/header-mobile/header-mobile.component.mjs +0 -59
  64. package/esm2022/lib/components/core/headers/header-mobile/header-mobile.interface.mjs +0 -2
  65. package/esm2022/lib/components/core/headers/header-mobile/index.mjs +0 -3
  66. package/esm2022/lib/components/core/headers/index.mjs +0 -3
  67. package/esm2022/lib/components/core/index.mjs +0 -5
  68. package/esm2022/lib/components/core/modals/index.mjs +0 -3
  69. package/esm2022/lib/components/core/modals/lang-modal/index.mjs +0 -3
  70. package/esm2022/lib/components/core/modals/lang-modal/lang-modal.component.mjs +0 -33
  71. package/esm2022/lib/components/core/modals/lang-modal/lang-modal.interface.mjs +0 -2
  72. package/esm2022/lib/components/core/modals/nav-modal/index.mjs +0 -3
  73. package/esm2022/lib/components/core/modals/nav-modal/nav-modal.component.mjs +0 -25
  74. package/esm2022/lib/components/core/modals/nav-modal/nav-modal.interface.mjs +0 -2
  75. package/esm2022/lib/components/effects/dynamic-background/dynamic-background.component.mjs +0 -87
  76. package/esm2022/lib/components/effects/dynamic-background/effects/dynamic-effect.interface.mjs +0 -2
  77. package/esm2022/lib/components/effects/dynamic-background/effects/effect-registry.mjs +0 -7
  78. package/esm2022/lib/components/effects/dynamic-background/effects/sphere-deform/sphere-deform.effect.mjs +0 -37
  79. package/esm2022/lib/components/effects/dynamic-background/index.mjs +0 -2
  80. package/esm2022/lib/components/effects/index.mjs +0 -2
  81. package/esm2022/lib/components/shared/index.mjs +0 -2
  82. package/esm2022/lib/components/shared/ui-icon/index.mjs +0 -3
  83. package/esm2022/lib/components/shared/ui-icon/ui-icon.component.mjs +0 -40
  84. package/esm2022/lib/components/shared/ui-icon/ui-icon.interface.mjs +0 -2
  85. package/esm2022/lib/directives/index.mjs +0 -3
  86. package/esm2022/lib/directives/link-type.directive.mjs +0 -106
  87. package/esm2022/lib/directives/swiper.directive.mjs +0 -43
  88. package/esm2022/lib/interfaces/index.mjs +0 -8
  89. package/esm2022/lib/interfaces/page-config.interface.mjs +0 -2
  90. package/esm2022/lib/interfaces/site-config.interface.mjs +0 -2
  91. package/esm2022/lib/interfaces/ui-lib-address.interface.mjs +0 -2
  92. package/esm2022/lib/interfaces/ui-lib-button.interface.mjs +0 -2
  93. package/esm2022/lib/interfaces/ui-lib-image.interface.mjs +0 -2
  94. package/esm2022/lib/interfaces/ui-lib-lang-item.interface.mjs +0 -2
  95. package/esm2022/lib/interfaces/ui-lib-nav-items.interface.mjs +0 -2
  96. package/esm2022/lib/modules/icons/icon.module.mjs +0 -22
  97. package/esm2022/lib/modules/icons/index.mjs +0 -2
  98. package/esm2022/lib/modules/index.mjs +0 -2
  99. package/esm2022/lib/services/index.mjs +0 -4
  100. package/esm2022/lib/services/mapper/component-mappers/category-progress.mapper.mjs +0 -12
  101. package/esm2022/lib/services/mapper/component-mappers/header-clear.mapper.mjs +0 -18
  102. package/esm2022/lib/services/mapper/component-mappers/hero-section.mapper.mjs +0 -10
  103. package/esm2022/lib/services/mapper/component-mappers/index.mjs +0 -23
  104. package/esm2022/lib/services/mapper/component-mappers/lang-modal.mapper.mjs +0 -14
  105. package/esm2022/lib/services/mapper/component-mappers/legal-footer.mapper.mjs +0 -9
  106. package/esm2022/lib/services/mapper/component-mappers/links-footer.mapper.mjs +0 -5
  107. package/esm2022/lib/services/mapper/component-mappers/nav-modal.mapper.mjs +0 -48
  108. package/esm2022/lib/services/mapper/component-mappers/section-intro.mapper.mjs +0 -9
  109. package/esm2022/lib/services/mapper/component-mappers/social-footer.mapper.mjs +0 -7
  110. package/esm2022/lib/services/mapper/component-mappers/types.mjs +0 -2
  111. package/esm2022/lib/services/mapper/component-mappers/visual-footer.mapper.mjs +0 -18
  112. package/esm2022/lib/services/mapper/index.mjs +0 -3
  113. package/esm2022/lib/services/mapper/mapper.service.mjs +0 -45
  114. package/esm2022/lib/services/screen-sizer/index.mjs +0 -2
  115. package/esm2022/lib/services/screen-sizer/screen-sizer.service.mjs +0 -84
  116. package/esm2022/lib/services/theme/index.mjs +0 -2
  117. package/esm2022/lib/services/theme/theme.service.mjs +0 -73
  118. package/esm2022/lib/utils/index.mjs +0 -2
  119. package/esm2022/lib/utils/utils.mjs +0 -38
  120. package/esm2022/lluc_llull-ui-lib.mjs +0 -5
  121. package/esm2022/public-api.mjs +0 -21
  122. /package/lib/{components/effects → effects}/dynamic-background/dynamic-background.component.d.ts +0 -0
  123. /package/lib/{components/effects → effects}/dynamic-background/effects/dynamic-effect.interface.d.ts +0 -0
  124. /package/lib/{components/effects → effects}/dynamic-background/effects/effect-registry.d.ts +0 -0
  125. /package/lib/{components/effects → effects}/dynamic-background/index.d.ts +0 -0
  126. /package/lib/{components/effects → effects}/index.d.ts +0 -0
  127. /package/lib/{directives → sliders}/swiper.directive.d.ts +0 -0
@@ -1,20 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
- import { LinkTypeDirective, SwiperDirective } from '../../../../directives';
4
- import { UiIconComponent } from '../../../shared/ui-icon';
5
- import * as i0 from "@angular/core";
6
- export class SocialFooterComponent {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SocialFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SocialFooterComponent, isStandalone: true, selector: "lib-social-footer", inputs: { images: "images", socials: "socials", hashtag: "hashtag" }, ngImport: i0, template: "<div class=\"social-footer\">\n <div class=\"social-footer__slider-images swiper\" appSwiper>\n <div class=\"swiper-wrapper\">\n @for (image of images; track $index) {\n <div class=\"swiper-slide\">\n <img [src]=\"image?.url\" [alt]=\"image?.alt || ''\" />\n </div>\n }\n </div>\n <div class=\"swiper-button-prev\">\n <ui-icon name=\"arrow-left\" [size]=\"18\" color=\"#fff\"></ui-icon>\n </div>\n <div class=\"swiper-button-next\">\n <ui-icon name=\"arrow-right\" [size]=\"18\" color=\"#fff\"></ui-icon>\n </div>\n </div>\n\n <div class=\"social-footer__bottom-section\">\n @if (hashtag) {\n <div class=\"social-footer__hashtag\">\n <span>{{ hashtag }}</span>\n </div>\n }\n @if (socials) {\n <div class=\"social-footer__socials\">\n @for (social of socials; track $index) {\n <a [href]=\"social.url\" [attr.aria-label]=\"social.label\" [linkType]=\"social.linkType\">\n @if (social.icon) {\n <ui-icon [name]=\"social.icon\" [size]=\"28\"></ui-icon>\n }\n </a>\n }\n </div>\n }\n </div>\n</div>\n", styles: [":root[data-theme=dark]{color-scheme:dark;--color-primary: #007bff;--color-secondary: #8a94a1;--color-text: #f3f4f6;--color-bg: #0f0f10;--button-primary-bg: #007bff;--button-primary-text: #f9f9f9;--button-primary-bg-hover: #033468;--button-primary-text-hover: #f9f9f9;--button-secondary-bg: #2b3035;--button-secondary-text: #f9f9f9;--button-secondary-bg-hover: #1c1e20;--button-secondary-text-hover: #f9f9f9;--button-link-text: #f3f4f6;--button-link-text-hover: #79b6ff;--header-clear-bg: #0f0f10;--header-mobile-bg: #0f0f10;--header-logo-text: #f9f9f9;--modal-bg: #17181a;--close-btn: #f3f4f6;--item-text: #f3f4f6;--progress-color: #f9f9f9;--progress-bg: #79b6ff;--footer-bg: #0f0f10;--footer-text: #f3f4f6;--footer-text-hover: #79b6ff;--footer-links: #f3f4f6;--footer-links-hover: #79b6ff;--footer-arrows: #fff;--footer-arrows-hover: #0f0f10;--footer-arrows-bg: #dddddd;--footer-arrows-bg-hover: #f3f3f3}:root,:root[data-theme=light]{color-scheme:light;--color-primary: #007bff;--color-secondary: #6c757d;--color-text: #111111;--color-bg: #f9f9f9;--button-primary-bg: #007bff;--button-primary-text: #f9f9f9;--button-primary-bg-hover: #033468;--button-primary-text-hover: #f9f9f9;--button-secondary-bg: #6c757d;--button-secondary-text: #f9f9f9;--button-secondary-bg-hover: #1c1e20;--button-secondary-text-hover: #f9f9f9;--button-link-text: #111111;--button-link-text-hover: #007bff;--header-clear-bg: #007bff;--header-mobile-bg: #007bff;--header-logo-text: #f9f9f9;--modal-bg: #f9f9f9;--close-btn: #111111;--item-text: #111111;--progress-color: #79b6ff;--progress-bg: #dde8f5;--footer-bg: #dadada;--footer-text: #000;--footer-text-hover: #79b6ff;--footer-links: #000;--footer-links-hover: #79b6ff;--footer-arrows: #fff;--footer-arrows-hover: #fff;--footer-arrows-bg: #b6b6b6;--footer-arrows-bg-hover: #8b8a8a}:root{--font-titles: \"Bebas Neue\", system-ui, sans-serif;--font-base: \"Inter\", system-ui, sans-serif;--font-size-base: 16px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem}.social-footer{padding:2rem 1rem;text-align:center}.social-footer__slider-images{margin:0 4rem 2rem;position:relative}.social-footer__slider-images .swiper-wrapper{display:flex;align-items:center}.social-footer__slider-images .swiper-slide{flex:0 0 auto;width:auto}.social-footer__slider-images .swiper-slide img{display:block;border-radius:.75rem;width:160px;height:auto;object-fit:cover}.social-footer__slider-images .swiper-button-prev,.social-footer__slider-images .swiper-button-next{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:32px;height:32px;border-radius:50%;background:var(--footer-arrows-bg);color:var(--footer-arrows)}.social-footer__slider-images .swiper-button-prev ui-icon,.social-footer__slider-images .swiper-button-prev lucide-icon,.social-footer__slider-images .swiper-button-prev svg,.social-footer__slider-images .swiper-button-next ui-icon,.social-footer__slider-images .swiper-button-next lucide-icon,.social-footer__slider-images .swiper-button-next svg{display:block;width:18px;height:18px}.social-footer__slider-images .swiper-button-prev:hover,.social-footer__slider-images .swiper-button-next:hover{background:var(--footer-arrows-bg-hover);color:var(--footer-arrows-hover)}.social-footer__slider-images .swiper-button-prev{left:-40px}.social-footer__slider-images .swiper-button-next{right:-40px}.social-footer__slider-images .swiper-button-prev:after,.social-footer__slider-images .swiper-button-next:after{content:none!important}.social-footer__bottom-section{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem;margin-inline:4rem}@media (max-width: 768px){.social-footer__bottom-section{flex-direction:column;align-items:center;text-align:center}}.social-footer__hashtag{font-size:2rem;font-weight:700}.social-footer__socials{display:flex;gap:1.5rem}.social-footer__socials a{font-size:1.25rem;color:var(--footer-text, #999);transition:color .3s ease}.social-footer__socials a:hover{color:var(--footer-link-hover, #000)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: LinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }, { kind: "directive", type: SwiperDirective, selector: "[appSwiper]", inputs: ["swiperConfig"] }, { kind: "component", type: UiIconComponent, selector: "ui-icon", inputs: ["name", "size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SocialFooterComponent, decorators: [{
11
- type: Component,
12
- args: [{ selector: 'lib-social-footer', standalone: true, imports: [CommonModule, LinkTypeDirective, SwiperDirective, UiIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"social-footer\">\n <div class=\"social-footer__slider-images swiper\" appSwiper>\n <div class=\"swiper-wrapper\">\n @for (image of images; track $index) {\n <div class=\"swiper-slide\">\n <img [src]=\"image?.url\" [alt]=\"image?.alt || ''\" />\n </div>\n }\n </div>\n <div class=\"swiper-button-prev\">\n <ui-icon name=\"arrow-left\" [size]=\"18\" color=\"#fff\"></ui-icon>\n </div>\n <div class=\"swiper-button-next\">\n <ui-icon name=\"arrow-right\" [size]=\"18\" color=\"#fff\"></ui-icon>\n </div>\n </div>\n\n <div class=\"social-footer__bottom-section\">\n @if (hashtag) {\n <div class=\"social-footer__hashtag\">\n <span>{{ hashtag }}</span>\n </div>\n }\n @if (socials) {\n <div class=\"social-footer__socials\">\n @for (social of socials; track $index) {\n <a [href]=\"social.url\" [attr.aria-label]=\"social.label\" [linkType]=\"social.linkType\">\n @if (social.icon) {\n <ui-icon [name]=\"social.icon\" [size]=\"28\"></ui-icon>\n }\n </a>\n }\n </div>\n }\n </div>\n</div>\n", styles: [":root[data-theme=dark]{color-scheme:dark;--color-primary: #007bff;--color-secondary: #8a94a1;--color-text: #f3f4f6;--color-bg: #0f0f10;--button-primary-bg: #007bff;--button-primary-text: #f9f9f9;--button-primary-bg-hover: #033468;--button-primary-text-hover: #f9f9f9;--button-secondary-bg: #2b3035;--button-secondary-text: #f9f9f9;--button-secondary-bg-hover: #1c1e20;--button-secondary-text-hover: #f9f9f9;--button-link-text: #f3f4f6;--button-link-text-hover: #79b6ff;--header-clear-bg: #0f0f10;--header-mobile-bg: #0f0f10;--header-logo-text: #f9f9f9;--modal-bg: #17181a;--close-btn: #f3f4f6;--item-text: #f3f4f6;--progress-color: #f9f9f9;--progress-bg: #79b6ff;--footer-bg: #0f0f10;--footer-text: #f3f4f6;--footer-text-hover: #79b6ff;--footer-links: #f3f4f6;--footer-links-hover: #79b6ff;--footer-arrows: #fff;--footer-arrows-hover: #0f0f10;--footer-arrows-bg: #dddddd;--footer-arrows-bg-hover: #f3f3f3}:root,:root[data-theme=light]{color-scheme:light;--color-primary: #007bff;--color-secondary: #6c757d;--color-text: #111111;--color-bg: #f9f9f9;--button-primary-bg: #007bff;--button-primary-text: #f9f9f9;--button-primary-bg-hover: #033468;--button-primary-text-hover: #f9f9f9;--button-secondary-bg: #6c757d;--button-secondary-text: #f9f9f9;--button-secondary-bg-hover: #1c1e20;--button-secondary-text-hover: #f9f9f9;--button-link-text: #111111;--button-link-text-hover: #007bff;--header-clear-bg: #007bff;--header-mobile-bg: #007bff;--header-logo-text: #f9f9f9;--modal-bg: #f9f9f9;--close-btn: #111111;--item-text: #111111;--progress-color: #79b6ff;--progress-bg: #dde8f5;--footer-bg: #dadada;--footer-text: #000;--footer-text-hover: #79b6ff;--footer-links: #000;--footer-links-hover: #79b6ff;--footer-arrows: #fff;--footer-arrows-hover: #fff;--footer-arrows-bg: #b6b6b6;--footer-arrows-bg-hover: #8b8a8a}:root{--font-titles: \"Bebas Neue\", system-ui, sans-serif;--font-base: \"Inter\", system-ui, sans-serif;--font-size-base: 16px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem}.social-footer{padding:2rem 1rem;text-align:center}.social-footer__slider-images{margin:0 4rem 2rem;position:relative}.social-footer__slider-images .swiper-wrapper{display:flex;align-items:center}.social-footer__slider-images .swiper-slide{flex:0 0 auto;width:auto}.social-footer__slider-images .swiper-slide img{display:block;border-radius:.75rem;width:160px;height:auto;object-fit:cover}.social-footer__slider-images .swiper-button-prev,.social-footer__slider-images .swiper-button-next{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:32px;height:32px;border-radius:50%;background:var(--footer-arrows-bg);color:var(--footer-arrows)}.social-footer__slider-images .swiper-button-prev ui-icon,.social-footer__slider-images .swiper-button-prev lucide-icon,.social-footer__slider-images .swiper-button-prev svg,.social-footer__slider-images .swiper-button-next ui-icon,.social-footer__slider-images .swiper-button-next lucide-icon,.social-footer__slider-images .swiper-button-next svg{display:block;width:18px;height:18px}.social-footer__slider-images .swiper-button-prev:hover,.social-footer__slider-images .swiper-button-next:hover{background:var(--footer-arrows-bg-hover);color:var(--footer-arrows-hover)}.social-footer__slider-images .swiper-button-prev{left:-40px}.social-footer__slider-images .swiper-button-next{right:-40px}.social-footer__slider-images .swiper-button-prev:after,.social-footer__slider-images .swiper-button-next:after{content:none!important}.social-footer__bottom-section{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem;margin-inline:4rem}@media (max-width: 768px){.social-footer__bottom-section{flex-direction:column;align-items:center;text-align:center}}.social-footer__hashtag{font-size:2rem;font-weight:700}.social-footer__socials{display:flex;gap:1.5rem}.social-footer__socials a{font-size:1.25rem;color:var(--footer-text, #999);transition:color .3s ease}.social-footer__socials a:hover{color:var(--footer-link-hover, #000)}\n"] }]
13
- }], propDecorators: { images: [{
14
- type: Input
15
- }], socials: [{
16
- type: Input
17
- }], hashtag: [{
18
- type: Input
19
- }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvZm9vdGVycy9zb2NpYWwtZm9vdGVyL3NvY2lhbC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2Zvb3RlcnMvc29jaWFsLWZvb3Rlci9zb2NpYWwtZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVUxRCxNQUFNLE9BQU8scUJBQXFCOytHQUFyQixxQkFBcUI7bUdBQXJCLHFCQUFxQixtSkNkbEMsa3BDQW9DQSwraUlEM0JjLFlBQVksK0JBQUUsaUJBQWlCLGlIQUFFLGVBQWUsa0ZBQUUsZUFBZTs7NEZBS2xFLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDSSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUMsbUJBRzNELHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaW5rVHlwZURpcmVjdGl2ZSwgU3dpcGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBVaUxpYkJ1dHRvbkksIFVpTGliSW1hZ2VJIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVaUljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdWktaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXNvY2lhbC1mb290ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTGlua1R5cGVEaXJlY3RpdmUsIFN3aXBlckRpcmVjdGl2ZSwgVWlJY29uQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc29jaWFsLWZvb3Rlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3NvY2lhbC1mb290ZXIuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTb2NpYWxGb290ZXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGltYWdlcz86IFVpTGliSW1hZ2VJW107XG4gICAgQElucHV0KCkgc29jaWFscz86IFVpTGliQnV0dG9uSVtdO1xuICAgIEBJbnB1dCgpIGhhc2h0YWc/OiBzdHJpbmc7XG59XG4iLCI8ZGl2IGNsYXNzPVwic29jaWFsLWZvb3RlclwiPlxuICA8ZGl2IGNsYXNzPVwic29jaWFsLWZvb3Rlcl9fc2xpZGVyLWltYWdlcyBzd2lwZXJcIiBhcHBTd2lwZXI+XG4gICAgPGRpdiBjbGFzcz1cInN3aXBlci13cmFwcGVyXCI+XG4gICAgICBAZm9yIChpbWFnZSBvZiBpbWFnZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4gICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlPy51cmxcIiBbYWx0XT1cImltYWdlPy5hbHQgfHwgJydcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1wcmV2XCI+XG4gICAgICA8dWktaWNvbiBuYW1lPVwiYXJyb3ctbGVmdFwiIFtzaXplXT1cIjE4XCIgY29sb3I9XCIjZmZmXCI+PC91aS1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItYnV0dG9uLW5leHRcIj5cbiAgICAgIDx1aS1pY29uIG5hbWU9XCJhcnJvdy1yaWdodFwiIFtzaXplXT1cIjE4XCIgY29sb3I9XCIjZmZmXCI+PC91aS1pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic29jaWFsLWZvb3Rlcl9fYm90dG9tLXNlY3Rpb25cIj5cbiAgICBAaWYgKGhhc2h0YWcpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJzb2NpYWwtZm9vdGVyX19oYXNodGFnXCI+XG4gICAgICAgIDxzcGFuPnt7IGhhc2h0YWcgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChzb2NpYWxzKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwic29jaWFsLWZvb3Rlcl9fc29jaWFsc1wiPlxuICAgICAgICBAZm9yIChzb2NpYWwgb2Ygc29jaWFsczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGEgW2hyZWZdPVwic29jaWFsLnVybFwiIFthdHRyLmFyaWEtbGFiZWxdPVwic29jaWFsLmxhYmVsXCIgW2xpbmtUeXBlXT1cInNvY2lhbC5saW5rVHlwZVwiPlxuICAgICAgICAgICAgQGlmIChzb2NpYWwuaWNvbikge1xuICAgICAgICAgICAgICA8dWktaWNvbiBbbmFtZV09XCJzb2NpYWwuaWNvblwiIFtzaXplXT1cIjI4XCI+PC91aS1pY29uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLWZvb3Rlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvZm9vdGVycy9zb2NpYWwtZm9vdGVyL3NvY2lhbC1mb290ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVaUxpYkJ1dHRvbkksIFVpTGliSW1hZ2VJIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29jaWFsRm9vdGVySSB7XG4gICAgaW1hZ2VzPzogVWlMaWJJbWFnZUlbXTtcbiAgICBzb2NpYWxzPzogVWlMaWJCdXR0b25JW107XG4gICAgaGFzaHRhZz86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './visual-footer.component';
2
- export * from './visual-footer.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvZm9vdGVycy92aXN1YWwtZm9vdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdmlzdWFsLWZvb3Rlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi92aXN1YWwtZm9vdGVyLmludGVyZmFjZSc7XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
- import { LinkTypeDirective } from '../../../../directives';
4
- import * as i0 from "@angular/core";
5
- export class VisualFooterComponent {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VisualFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: VisualFooterComponent, isStandalone: true, selector: "lib-visual-footer", inputs: { contactTitle: "contactTitle", contactPhone: "contactPhone", contactEmail: "contactEmail", addressTitle: "addressTitle", address: "address", socialsTitle: "socialsTitle", socials: "socials", image: "image" }, ngImport: i0, template: "<div class=\"visual-footer\">\n <div class=\"visual-footer__texts\">\n <div class=\"visual-footer__contact\">\n @if (contactTitle) {\n <h2 class=\"title\">{{ contactTitle }}</h2>\n }\n @if (contactPhone) {\n <a [href]=\"contactPhone.url\" [linkType]=\"contactPhone.linkType\" class=\"btn btn-link\">\n <span>{{ contactPhone.label }}</span>\n </a>\n }\n @if (contactEmail) {\n <a [href]=\"contactEmail.url\" [linkType]=\"contactEmail.linkType\" class=\"btn btn-link\">\n <span>{{ contactEmail.label }}</span>\n </a>\n }\n </div>\n <div class=\"visual-footer__address\">\n @if (addressTitle) {\n <h2 class=\"title\">{{ addressTitle }}</h2>\n }\n <p class=\"text\">\n <span>{{ address?.address }}</span>\n <span>{{ address?.cp }} {{ address?.city }}</span>\n <span>{{ address?.province }} {{ address?.country }}</span>\n </p>\n </div>\n <div class=\"visual-footer__socials\">\n @if (socialsTitle) {\n <h2 class=\"title\">{{ socialsTitle }}</h2>\n }\n @if (socials) {\n @for (social of socials; track $index) {\n <a [href]=\"social.url\" [linkType]=\"social.linkType\" class=\"btn btn-link\">\n <span>{{ social.label }}</span>\n </a>\n }\n }\n </div>\n </div>\n <div class=\"visual-footer__image\">\n @if (image) {\n <img [src]=\"image.url\" [alt]=\"image.alt\" loading=\"lazy\" />\n }\n </div>\n</div>\n", styles: [":root{--font-titles: \"Bebas Neue\", system-ui, sans-serif;--font-base: \"Inter\", system-ui, sans-serif;--font-size-base: 16px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem}:root[data-theme=dark]{color-scheme:dark;--color-primary: #007bff;--color-secondary: #8a94a1;--color-text: #f3f4f6;--color-bg: #0f0f10;--button-primary-bg: #007bff;--button-primary-text: #f9f9f9;--button-primary-bg-hover: #033468;--button-primary-text-hover: #f9f9f9;--button-secondary-bg: #2b3035;--button-secondary-text: #f9f9f9;--button-secondary-bg-hover: #1c1e20;--button-secondary-text-hover: #f9f9f9;--button-link-text: #f3f4f6;--button-link-text-hover: #79b6ff;--header-clear-bg: #0f0f10;--header-mobile-bg: #0f0f10;--header-logo-text: #f9f9f9;--modal-bg: #17181a;--close-btn: #f3f4f6;--item-text: #f3f4f6;--progress-color: #f9f9f9;--progress-bg: #79b6ff;--footer-bg: #0f0f10;--footer-text: #f3f4f6;--footer-text-hover: #79b6ff;--footer-links: #f3f4f6;--footer-links-hover: #79b6ff;--footer-arrows: #fff;--footer-arrows-hover: #0f0f10;--footer-arrows-bg: #dddddd;--footer-arrows-bg-hover: #f3f3f3}:root,:root[data-theme=light]{color-scheme:light;--color-primary: #007bff;--color-secondary: #6c757d;--color-text: #111111;--color-bg: #f9f9f9;--button-primary-bg: #007bff;--button-primary-text: #f9f9f9;--button-primary-bg-hover: #033468;--button-primary-text-hover: #f9f9f9;--button-secondary-bg: #6c757d;--button-secondary-text: #f9f9f9;--button-secondary-bg-hover: #1c1e20;--button-secondary-text-hover: #f9f9f9;--button-link-text: #111111;--button-link-text-hover: #007bff;--header-clear-bg: #007bff;--header-mobile-bg: #007bff;--header-logo-text: #f9f9f9;--modal-bg: #f9f9f9;--close-btn: #111111;--item-text: #111111;--progress-color: #79b6ff;--progress-bg: #dde8f5;--footer-bg: #dadada;--footer-text: #000;--footer-text-hover: #79b6ff;--footer-links: #000;--footer-links-hover: #79b6ff;--footer-arrows: #fff;--footer-arrows-hover: #fff;--footer-arrows-bg: #b6b6b6;--footer-arrows-bg-hover: #8b8a8a}.visual-footer{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:stretch;padding:4rem;background:var(--footer-bg)}.visual-footer__texts{display:flex;flex-direction:column;gap:2rem}.visual-footer__texts .btn{padding:var(--spacing-sm) 0}.visual-footer__texts .btn-link{display:inline;width:fit-content}.visual-footer__texts .title{font-size:1.5rem}.visual-footer__texts .text{font-weight:300;margin:0;display:flex;flex-direction:column;gap:.25rem}.visual-footer__image img{width:100%;height:auto;border-radius:.5rem;object-fit:cover}.visual-footer__contact,.visual-footer__address,.visual-footer__socials{display:flex;flex-direction:column;gap:.25rem}@media (max-width: 768px){.visual-footer{grid-template-columns:1fr}.visual-footer__image{order:-1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: LinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VisualFooterComponent, decorators: [{
10
- type: Component,
11
- args: [{ selector: 'lib-visual-footer', standalone: true, imports: [CommonModule, LinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"visual-footer\">\n <div class=\"visual-footer__texts\">\n <div class=\"visual-footer__contact\">\n @if (contactTitle) {\n <h2 class=\"title\">{{ contactTitle }}</h2>\n }\n @if (contactPhone) {\n <a [href]=\"contactPhone.url\" [linkType]=\"contactPhone.linkType\" class=\"btn btn-link\">\n <span>{{ contactPhone.label }}</span>\n </a>\n }\n @if (contactEmail) {\n <a [href]=\"contactEmail.url\" [linkType]=\"contactEmail.linkType\" class=\"btn btn-link\">\n <span>{{ contactEmail.label }}</span>\n </a>\n }\n </div>\n <div class=\"visual-footer__address\">\n @if (addressTitle) {\n <h2 class=\"title\">{{ addressTitle }}</h2>\n }\n <p class=\"text\">\n <span>{{ address?.address }}</span>\n <span>{{ address?.cp }} {{ address?.city }}</span>\n <span>{{ address?.province }} {{ address?.country }}</span>\n </p>\n </div>\n <div class=\"visual-footer__socials\">\n @if (socialsTitle) {\n <h2 class=\"title\">{{ socialsTitle }}</h2>\n }\n @if (socials) {\n @for (social of socials; track $index) {\n <a [href]=\"social.url\" [linkType]=\"social.linkType\" class=\"btn btn-link\">\n <span>{{ social.label }}</span>\n </a>\n }\n }\n </div>\n </div>\n <div class=\"visual-footer__image\">\n @if (image) {\n <img [src]=\"image.url\" [alt]=\"image.alt\" loading=\"lazy\" />\n }\n </div>\n</div>\n", styles: [":root{--font-titles: \"Bebas Neue\", system-ui, sans-serif;--font-base: \"Inter\", system-ui, sans-serif;--font-size-base: 16px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem}:root[data-theme=dark]{color-scheme:dark;--color-primary: #007bff;--color-secondary: #8a94a1;--color-text: #f3f4f6;--color-bg: #0f0f10;--button-primary-bg: #007bff;--button-primary-text: #f9f9f9;--button-primary-bg-hover: #033468;--button-primary-text-hover: #f9f9f9;--button-secondary-bg: #2b3035;--button-secondary-text: #f9f9f9;--button-secondary-bg-hover: #1c1e20;--button-secondary-text-hover: #f9f9f9;--button-link-text: #f3f4f6;--button-link-text-hover: #79b6ff;--header-clear-bg: #0f0f10;--header-mobile-bg: #0f0f10;--header-logo-text: #f9f9f9;--modal-bg: #17181a;--close-btn: #f3f4f6;--item-text: #f3f4f6;--progress-color: #f9f9f9;--progress-bg: #79b6ff;--footer-bg: #0f0f10;--footer-text: #f3f4f6;--footer-text-hover: #79b6ff;--footer-links: #f3f4f6;--footer-links-hover: #79b6ff;--footer-arrows: #fff;--footer-arrows-hover: #0f0f10;--footer-arrows-bg: #dddddd;--footer-arrows-bg-hover: #f3f3f3}:root,:root[data-theme=light]{color-scheme:light;--color-primary: #007bff;--color-secondary: #6c757d;--color-text: #111111;--color-bg: #f9f9f9;--button-primary-bg: #007bff;--button-primary-text: #f9f9f9;--button-primary-bg-hover: #033468;--button-primary-text-hover: #f9f9f9;--button-secondary-bg: #6c757d;--button-secondary-text: #f9f9f9;--button-secondary-bg-hover: #1c1e20;--button-secondary-text-hover: #f9f9f9;--button-link-text: #111111;--button-link-text-hover: #007bff;--header-clear-bg: #007bff;--header-mobile-bg: #007bff;--header-logo-text: #f9f9f9;--modal-bg: #f9f9f9;--close-btn: #111111;--item-text: #111111;--progress-color: #79b6ff;--progress-bg: #dde8f5;--footer-bg: #dadada;--footer-text: #000;--footer-text-hover: #79b6ff;--footer-links: #000;--footer-links-hover: #79b6ff;--footer-arrows: #fff;--footer-arrows-hover: #fff;--footer-arrows-bg: #b6b6b6;--footer-arrows-bg-hover: #8b8a8a}.visual-footer{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:stretch;padding:4rem;background:var(--footer-bg)}.visual-footer__texts{display:flex;flex-direction:column;gap:2rem}.visual-footer__texts .btn{padding:var(--spacing-sm) 0}.visual-footer__texts .btn-link{display:inline;width:fit-content}.visual-footer__texts .title{font-size:1.5rem}.visual-footer__texts .text{font-weight:300;margin:0;display:flex;flex-direction:column;gap:.25rem}.visual-footer__image img{width:100%;height:auto;border-radius:.5rem;object-fit:cover}.visual-footer__contact,.visual-footer__address,.visual-footer__socials{display:flex;flex-direction:column;gap:.25rem}@media (max-width: 768px){.visual-footer{grid-template-columns:1fr}.visual-footer__image{order:-1}}\n"] }]
12
- }], propDecorators: { contactTitle: [{
13
- type: Input
14
- }], contactPhone: [{
15
- type: Input
16
- }], contactEmail: [{
17
- type: Input
18
- }], addressTitle: [{
19
- type: Input
20
- }], address: [{
21
- type: Input
22
- }], socialsTitle: [{
23
- type: Input
24
- }], socials: [{
25
- type: Input
26
- }], image: [{
27
- type: Input
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzdWFsLWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvZm9vdGVycy92aXN1YWwtZm9vdGVyL3Zpc3VhbC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2Zvb3RlcnMvdmlzdWFsLWZvb3Rlci92aXN1YWwtZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFXM0QsTUFBTSxPQUFPLHFCQUFxQjsrR0FBckIscUJBQXFCO21HQUFyQixxQkFBcUIsdVNDYmxDLGdnREE4Q0EscXhGRHRDYyxZQUFZLCtCQUFFLGlCQUFpQjs7NEZBS2hDLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDSSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDLG1CQUd6Qix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpbmtUeXBlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBVaUxpYkFkZHJlc3NJLCBVaUxpYkJ1dHRvbkksIFVpTGliSW1hZ2VJIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXZpc3VhbC1mb290ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTGlua1R5cGVEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi92aXN1YWwtZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vdmlzdWFsLWZvb3Rlci5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFZpc3VhbEZvb3RlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgY29udGFjdFRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNvbnRhY3RQaG9uZT86IFVpTGliQnV0dG9uSTtcbiAgICBASW5wdXQoKSBjb250YWN0RW1haWw/OiBVaUxpYkJ1dHRvbkk7XG4gICAgQElucHV0KCkgYWRkcmVzc1RpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGFkZHJlc3M/OiBVaUxpYkFkZHJlc3NJO1xuICAgIEBJbnB1dCgpIHNvY2lhbHNUaXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBzb2NpYWxzPzogVWlMaWJCdXR0b25JW107XG4gICAgQElucHV0KCkgaW1hZ2U/OiBVaUxpYkltYWdlSTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJ2aXN1YWwtZm9vdGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ2aXN1YWwtZm9vdGVyX190ZXh0c1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ2aXN1YWwtZm9vdGVyX19jb250YWN0XCI+XG4gICAgICBAaWYgKGNvbnRhY3RUaXRsZSkge1xuICAgICAgICA8aDIgY2xhc3M9XCJ0aXRsZVwiPnt7IGNvbnRhY3RUaXRsZSB9fTwvaDI+XG4gICAgICB9XG4gICAgICBAaWYgKGNvbnRhY3RQaG9uZSkge1xuICAgICAgICA8YSBbaHJlZl09XCJjb250YWN0UGhvbmUudXJsXCIgW2xpbmtUeXBlXT1cImNvbnRhY3RQaG9uZS5saW5rVHlwZVwiIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCI+XG4gICAgICAgICAgPHNwYW4+e3sgY29udGFjdFBob25lLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICB9XG4gICAgICBAaWYgKGNvbnRhY3RFbWFpbCkge1xuICAgICAgICA8YSBbaHJlZl09XCJjb250YWN0RW1haWwudXJsXCIgW2xpbmtUeXBlXT1cImNvbnRhY3RFbWFpbC5saW5rVHlwZVwiIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCI+XG4gICAgICAgICAgPHNwYW4+e3sgY29udGFjdEVtYWlsLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInZpc3VhbC1mb290ZXJfX2FkZHJlc3NcIj5cbiAgICAgIEBpZiAoYWRkcmVzc1RpdGxlKSB7XG4gICAgICAgIDxoMiBjbGFzcz1cInRpdGxlXCI+e3sgYWRkcmVzc1RpdGxlIH19PC9oMj5cbiAgICAgIH1cbiAgICAgIDxwIGNsYXNzPVwidGV4dFwiPlxuICAgICAgICA8c3Bhbj57eyBhZGRyZXNzPy5hZGRyZXNzIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBhZGRyZXNzPy5jcCB9fSB7eyBhZGRyZXNzPy5jaXR5IH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBhZGRyZXNzPy5wcm92aW5jZSB9fSB7eyBhZGRyZXNzPy5jb3VudHJ5IH19PC9zcGFuPlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ2aXN1YWwtZm9vdGVyX19zb2NpYWxzXCI+XG4gICAgICBAaWYgKHNvY2lhbHNUaXRsZSkge1xuICAgICAgICA8aDIgY2xhc3M9XCJ0aXRsZVwiPnt7IHNvY2lhbHNUaXRsZSB9fTwvaDI+XG4gICAgICB9XG4gICAgICBAaWYgKHNvY2lhbHMpIHtcbiAgICAgICAgQGZvciAoc29jaWFsIG9mIHNvY2lhbHM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxhIFtocmVmXT1cInNvY2lhbC51cmxcIiBbbGlua1R5cGVdPVwic29jaWFsLmxpbmtUeXBlXCIgY2xhc3M9XCJidG4gYnRuLWxpbmtcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHNvY2lhbC5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ2aXN1YWwtZm9vdGVyX19pbWFnZVwiPlxuICAgIEBpZiAoaW1hZ2UpIHtcbiAgICAgIDxpbWcgW3NyY109XCJpbWFnZS51cmxcIiBbYWx0XT1cImltYWdlLmFsdFwiIGxvYWRpbmc9XCJsYXp5XCIgLz5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzdWFsLWZvb3Rlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvZm9vdGVycy92aXN1YWwtZm9vdGVyL3Zpc3VhbC1mb290ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVaUxpYkFkZHJlc3NJLCBVaUxpYkJ1dHRvbkksIFVpTGliSW1hZ2VJIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlzdWFsRm9vdGVySSB7XG4gICAgY29udGFjdFRpdGxlPzogc3RyaW5nO1xuICAgIGNvbnRhY3RQaG9uZT86IFVpTGliQnV0dG9uSTtcbiAgICBjb250YWN0RW1haWw/OiBVaUxpYkJ1dHRvbkk7XG4gICAgYWRkcmVzc1RpdGxlPzogc3RyaW5nO1xuICAgIGFkZHJlc3M/OiBVaUxpYkFkZHJlc3NJO1xuICAgIHNvY2lhbHNUaXRsZT86IHN0cmluZztcbiAgICBzb2NpYWxzPzogVWlMaWJCdXR0b25JW107XG4gICAgaW1hZ2U/OiBVaUxpYkltYWdlSTtcbn1cbiJdfQ==
@@ -1,59 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
3
- import { LinkTypeDirective } from '../../../../directives';
4
- import { LangModalComponent, NavModalComponent } from '../../modals';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../../services/theme";
7
- export class HeaderClearComponent {
8
- constructor(themeService) {
9
- this.themeService = themeService;
10
- this.isMenuOpen = false;
11
- this.currentTheme = 'light';
12
- this.langModal = new EventEmitter();
13
- this.theme = new EventEmitter();
14
- }
15
- ngOnInit() {
16
- this.themeSubscription = this.themeService.currentTheme$.subscribe((theme) => {
17
- this.currentTheme = theme;
18
- });
19
- }
20
- ngOnDestroy() {
21
- this.themeSubscription?.unsubscribe();
22
- }
23
- openLanguagesModal() {
24
- this.langModal.emit();
25
- }
26
- toggleTheme() {
27
- this.themeService.toggleTheme();
28
- this.theme.emit();
29
- }
30
- toggleMenu() {
31
- this.isMenuOpen = !this.isMenuOpen;
32
- }
33
- getThemeIcon() {
34
- return this.currentTheme === 'light' ? '🌙' : '☀️';
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderClearComponent, deps: [{ token: i1.ThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: HeaderClearComponent, isStandalone: true, selector: "lib-header-clear", inputs: { logo: "logo", logoDark: "logoDark", lang: "lang", navItems: "navItems", socialItems: "socialItems", homeLink: "homeLink" }, outputs: { langModal: "langModal", theme: "theme" }, ngImport: i0, template: "<header class=\"header-clear\">\n <a [href]=\"homeLink?.url\" [linkType]=\"homeLink?.linkType\">\n <div class=\"header-logo\">\n <!-- Logo -->\n <img\n [src]=\"currentTheme === 'dark' ? logoDark?.url : logo?.url\"\n [alt]=\"currentTheme === 'dark' ? logoDark?.alt : logo?.alt\"\n />\n <span>LLUC LLULL</span>\n </div>\n </a>\n\n <div class=\"header-actions\">\n <!-- Idioma -->\n <button class=\"btn btn-primary\" (click)=\"openLanguagesModal()\">\n <span class=\"lang\">{{ lang }}</span>\n </button>\n\n <!-- Icono de tema -->\n <button class=\"btn btn-primary\" (click)=\"toggleTheme()\">\n <span>{{ getThemeIcon() }}</span>\n </button>\n\n <!-- Icono de men\u00FA -->\n <button class=\"btn btn-primary\" (click)=\"toggleMenu()\">\n <span>\u2630</span>\n </button>\n </div>\n</header>\n\n@if (isMenuOpen && navItems && navItems.length > 0) {\n <lib-nav-modal\n [navItems]=\"navItems\"\n [socialItems]=\"socialItems\"\n (close)=\"isMenuOpen = false\"\n ></lib-nav-modal>\n}\n", styles: [".header-clear{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-radius:0;position:sticky;top:0;z-index:100}.header-logo{display:flex;align-items:center;gap:.5rem;color:var(--header-logo-text)}.header-logo img{width:36px;height:36px;object-fit:contain;object-position:center}.header-actions{display:flex;align-items:center;gap:1rem}.lang{text-transform:uppercase}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: NavModalComponent, selector: "lib-nav-modal", inputs: ["navItems", "socialItems"], outputs: ["close"] }, { kind: "directive", type: LinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderClearComponent, decorators: [{
40
- type: Component,
41
- args: [{ selector: 'lib-header-clear', standalone: true, imports: [CommonModule, LangModalComponent, NavModalComponent, LinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<header class=\"header-clear\">\n <a [href]=\"homeLink?.url\" [linkType]=\"homeLink?.linkType\">\n <div class=\"header-logo\">\n <!-- Logo -->\n <img\n [src]=\"currentTheme === 'dark' ? logoDark?.url : logo?.url\"\n [alt]=\"currentTheme === 'dark' ? logoDark?.alt : logo?.alt\"\n />\n <span>LLUC LLULL</span>\n </div>\n </a>\n\n <div class=\"header-actions\">\n <!-- Idioma -->\n <button class=\"btn btn-primary\" (click)=\"openLanguagesModal()\">\n <span class=\"lang\">{{ lang }}</span>\n </button>\n\n <!-- Icono de tema -->\n <button class=\"btn btn-primary\" (click)=\"toggleTheme()\">\n <span>{{ getThemeIcon() }}</span>\n </button>\n\n <!-- Icono de men\u00FA -->\n <button class=\"btn btn-primary\" (click)=\"toggleMenu()\">\n <span>\u2630</span>\n </button>\n </div>\n</header>\n\n@if (isMenuOpen && navItems && navItems.length > 0) {\n <lib-nav-modal\n [navItems]=\"navItems\"\n [socialItems]=\"socialItems\"\n (close)=\"isMenuOpen = false\"\n ></lib-nav-modal>\n}\n", styles: [".header-clear{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-radius:0;position:sticky;top:0;z-index:100}.header-logo{display:flex;align-items:center;gap:.5rem;color:var(--header-logo-text)}.header-logo img{width:36px;height:36px;object-fit:contain;object-position:center}.header-actions{display:flex;align-items:center;gap:1rem}.lang{text-transform:uppercase}\n"] }]
42
- }], ctorParameters: () => [{ type: i1.ThemeService }], propDecorators: { logo: [{
43
- type: Input
44
- }], logoDark: [{
45
- type: Input
46
- }], lang: [{
47
- type: Input
48
- }], navItems: [{
49
- type: Input
50
- }], socialItems: [{
51
- type: Input
52
- }], homeLink: [{
53
- type: Input
54
- }], langModal: [{
55
- type: Output
56
- }], theme: [{
57
- type: Output
58
- }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNsZWFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9oZWFkZXJzL2hlYWRlci1jbGVhci9oZWFkZXItY2xlYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2hlYWRlcnMvaGVhZGVyLWNsZWFyL2hlYWRlci1jbGVhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFRM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFVckUsTUFBTSxPQUFPLG9CQUFvQjtJQWU3QixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWQ5QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQVUsT0FBTyxDQUFDO1FBVXBCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3JDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRU0sQ0FBQztJQUVsRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3pFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZELENBQUM7K0dBMUNRLG9CQUFvQjttR0FBcEIsb0JBQW9CLHVRQzdCakMsbWpDQXFDQSwwY0RiYyxZQUFZLCtCQUFzQixpQkFBaUIsbUhBQUUsaUJBQWlCOzs0RkFLdkUsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNJLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsbUJBR2hFLHVCQUF1QixDQUFDLE1BQU07aUZBT3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBVaUxpYkJ1dHRvbkksXG4gICAgVWlMaWJJbWFnZUksXG4gICAgVWlMaWJOYXZJdGVtc0ksXG4gICAgVWlMaWJTb2NpYWxJdGVtc0ksXG59IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGhlbWUsIFRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3RoZW1lJztcbmltcG9ydCB7IExhbmdNb2RhbENvbXBvbmVudCwgTmF2TW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2RhbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1oZWFkZXItY2xlYXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTGFuZ01vZGFsQ29tcG9uZW50LCBOYXZNb2RhbENvbXBvbmVudCwgTGlua1R5cGVEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXItY2xlYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9oZWFkZXItY2xlYXIuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDbGVhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBpc01lbnVPcGVuID0gZmFsc2U7XG4gICAgY3VycmVudFRoZW1lOiBUaGVtZSA9ICdsaWdodCc7XG4gICAgcHJpdmF0ZSB0aGVtZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIEBJbnB1dCgpIGxvZ28/OiBVaUxpYkltYWdlSTtcbiAgICBASW5wdXQoKSBsb2dvRGFyaz86IFVpTGliSW1hZ2VJO1xuICAgIEBJbnB1dCgpIGxhbmc/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbmF2SXRlbXM/OiBVaUxpYk5hdkl0ZW1zSVtdO1xuICAgIEBJbnB1dCgpIHNvY2lhbEl0ZW1zPzogVWlMaWJTb2NpYWxJdGVtc0lbXTtcbiAgICBASW5wdXQoKSBob21lTGluaz86IFVpTGliQnV0dG9uSTtcblxuICAgIEBPdXRwdXQoKSBsYW5nTW9kYWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHRoZW1lID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0aGVtZVNlcnZpY2U6IFRoZW1lU2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRoZW1lU3Vic2NyaXB0aW9uID0gdGhpcy50aGVtZVNlcnZpY2UuY3VycmVudFRoZW1lJC5zdWJzY3JpYmUoKHRoZW1lKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRUaGVtZSA9IHRoZW1lO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aGVtZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBvcGVuTGFuZ3VhZ2VzTW9kYWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGFuZ01vZGFsLmVtaXQoKTtcbiAgICB9XG5cbiAgICB0b2dnbGVUaGVtZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aGVtZVNlcnZpY2UudG9nZ2xlVGhlbWUoKTtcbiAgICAgICAgdGhpcy50aGVtZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc01lbnVPcGVuID0gIXRoaXMuaXNNZW51T3BlbjtcbiAgICB9XG5cbiAgICBnZXRUaGVtZUljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFRoZW1lID09PSAnbGlnaHQnID8gJ/CfjJknIDogJ+KYgO+4jyc7XG4gICAgfVxufVxuIiwiPGhlYWRlciBjbGFzcz1cImhlYWRlci1jbGVhclwiPlxuICA8YSBbaHJlZl09XCJob21lTGluaz8udXJsXCIgW2xpbmtUeXBlXT1cImhvbWVMaW5rPy5saW5rVHlwZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItbG9nb1wiPlxuICAgICAgPCEtLSBMb2dvIC0tPlxuICAgICAgPGltZ1xuICAgICAgICBbc3JjXT1cImN1cnJlbnRUaGVtZSA9PT0gJ2RhcmsnID8gbG9nb0Rhcms/LnVybCA6IGxvZ28/LnVybFwiXG4gICAgICAgIFthbHRdPVwiY3VycmVudFRoZW1lID09PSAnZGFyaycgPyBsb2dvRGFyaz8uYWx0IDogbG9nbz8uYWx0XCJcbiAgICAgIC8+XG4gICAgICA8c3Bhbj5MTFVDIExMVUxMPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2E+XG5cbiAgPGRpdiBjbGFzcz1cImhlYWRlci1hY3Rpb25zXCI+XG4gICAgPCEtLSBJZGlvbWEgLS0+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJvcGVuTGFuZ3VhZ2VzTW9kYWwoKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJsYW5nXCI+e3sgbGFuZyB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDwhLS0gSWNvbm8gZGUgdGVtYSAtLT5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cInRvZ2dsZVRoZW1lKClcIj5cbiAgICAgIDxzcGFuPnt7IGdldFRoZW1lSWNvbigpIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPCEtLSBJY29ubyBkZSBtZW7DuiAtLT5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiPlxuICAgICAgPHNwYW4+4piwPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvaGVhZGVyPlxuXG5AaWYgKGlzTWVudU9wZW4gJiYgbmF2SXRlbXMgJiYgbmF2SXRlbXMubGVuZ3RoID4gMCkge1xuICA8bGliLW5hdi1tb2RhbFxuICAgIFtuYXZJdGVtc109XCJuYXZJdGVtc1wiXG4gICAgW3NvY2lhbEl0ZW1zXT1cInNvY2lhbEl0ZW1zXCJcbiAgICAoY2xvc2UpPVwiaXNNZW51T3BlbiA9IGZhbHNlXCJcbiAgPjwvbGliLW5hdi1tb2RhbD5cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNsZWFyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9oZWFkZXJzL2hlYWRlci1jbGVhci9oZWFkZXItY2xlYXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFVpTGliQnV0dG9uSSxcbiAgICBVaUxpYkltYWdlSSxcbiAgICBVaUxpYk5hdkl0ZW1zSSxcbiAgICBVaUxpYlNvY2lhbEl0ZW1zSSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyQ2xlYXJJIHtcbiAgICBsb2dvPzogVWlMaWJJbWFnZUk7XG4gICAgbG9nb0Rhcms/OiBVaUxpYkltYWdlSTtcbiAgICBsYW5nPzogc3RyaW5nO1xuICAgIG5hdkl0ZW1zPzogVWlMaWJOYXZJdGVtc0lbXTtcbiAgICBob21lTGluaz86IFVpTGliQnV0dG9uSTtcbiAgICBzb2NpYWxJdGVtcz86IFVpTGliU29jaWFsSXRlbXNJW107XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from './header-clear.component';
2
- export * from './header-clear.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvaGVhZGVycy9oZWFkZXItY2xlYXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9oZWFkZXItY2xlYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaGVhZGVyLWNsZWFyLmludGVyZmFjZSc7XG4iXX0=
@@ -1,59 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
3
- import { LinkTypeDirective } from '../../../../directives/link-type.directive';
4
- import { LangModalComponent, NavModalComponent } from '../../modals';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../../services/theme";
7
- export class HeaderMobileComponent {
8
- constructor(themeService) {
9
- this.themeService = themeService;
10
- this.isMenuOpen = false;
11
- this.currentTheme = 'light';
12
- this.langModal = new EventEmitter();
13
- this.theme = new EventEmitter();
14
- }
15
- ngOnInit() {
16
- this.themeSubscription = this.themeService.currentTheme$.subscribe((theme) => {
17
- this.currentTheme = theme;
18
- });
19
- }
20
- ngOnDestroy() {
21
- this.themeSubscription?.unsubscribe();
22
- }
23
- openLanguagesModal() {
24
- this.langModal.emit();
25
- }
26
- toggleTheme() {
27
- this.themeService.toggleTheme();
28
- this.theme.emit();
29
- }
30
- toggleMenu() {
31
- this.isMenuOpen = !this.isMenuOpen;
32
- }
33
- getThemeIcon() {
34
- return this.currentTheme === 'light' ? '🌙' : '☀️';
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderMobileComponent, deps: [{ token: i1.ThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: HeaderMobileComponent, isStandalone: true, selector: "lib-header-mobile", inputs: { logo: "logo", logoDark: "logoDark", lang: "lang", navItems: "navItems", socialItems: "socialItems", homeLink: "homeLink" }, outputs: { langModal: "langModal", theme: "theme" }, ngImport: i0, template: "<header class=\"header-mobile\">\n <a [href]=\"homeLink?.url\" [linkType]=\"homeLink?.linkType\">\n <div class=\"header-logo\">\n <!-- Logo -->\n <img\n [src]=\"currentTheme === 'dark' ? logoDark?.url : logo?.url\"\n [alt]=\"currentTheme === 'dark' ? logoDark?.alt : logo?.alt\"\n />\n <span>LLUC LLULL</span>\n </div>\n </a>\n</header>\n\n<div class=\"header-actions\">\n <!-- Idioma -->\n <div class=\"left\">\n <button class=\"btn btn-primary\" (click)=\"openLanguagesModal()\">\n <span class=\"lang\">{{ lang }}</span>\n </button>\n </div>\n\n <!-- Icono de tema -->\n <div class=\"center\">\n <button class=\"btn btn-primary\" (click)=\"toggleTheme()\">\n <span>{{ getThemeIcon() }}</span>\n </button>\n </div>\n\n <!-- Icono de men\u00FA -->\n <div class=\"right\">\n <button class=\"btn btn-primary\" (click)=\"toggleMenu()\">\n <span>\u2630</span>\n </button>\n </div>\n</div>\n\n@if (isMenuOpen && navItems && navItems.length > 0) {\n <lib-nav-modal\n [navItems]=\"navItems\"\n [socialItems]=\"socialItems\"\n (close)=\"isMenuOpen = false\"\n ></lib-nav-modal>\n}\n", styles: [":root{--font-titles: \"Bebas Neue\", system-ui, sans-serif;--font-base: \"Inter\", system-ui, sans-serif;--font-size-base: 16px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem}.header-mobile{display:flex;justify-content:center;align-items:center;padding:1rem 0;border-radius:0;position:fixed;top:0;z-index:100;background-color:var(--header-mobile-bg);width:100vw}.header-logo{display:flex;align-items:center;gap:.5rem;color:var(--header-logo-text)}.header-logo img{width:36px;height:36px;object-fit:contain;object-position:center}.header-actions{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background-color:var(--header-mobile-bg);z-index:100;box-sizing:border-box}.header-actions .center{margin:0 auto}.lang{text-transform:uppercase}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: NavModalComponent, selector: "lib-nav-modal", inputs: ["navItems", "socialItems"], outputs: ["close"] }, { kind: "directive", type: LinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderMobileComponent, decorators: [{
40
- type: Component,
41
- args: [{ selector: 'lib-header-mobile', standalone: true, imports: [CommonModule, LangModalComponent, NavModalComponent, LinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<header class=\"header-mobile\">\n <a [href]=\"homeLink?.url\" [linkType]=\"homeLink?.linkType\">\n <div class=\"header-logo\">\n <!-- Logo -->\n <img\n [src]=\"currentTheme === 'dark' ? logoDark?.url : logo?.url\"\n [alt]=\"currentTheme === 'dark' ? logoDark?.alt : logo?.alt\"\n />\n <span>LLUC LLULL</span>\n </div>\n </a>\n</header>\n\n<div class=\"header-actions\">\n <!-- Idioma -->\n <div class=\"left\">\n <button class=\"btn btn-primary\" (click)=\"openLanguagesModal()\">\n <span class=\"lang\">{{ lang }}</span>\n </button>\n </div>\n\n <!-- Icono de tema -->\n <div class=\"center\">\n <button class=\"btn btn-primary\" (click)=\"toggleTheme()\">\n <span>{{ getThemeIcon() }}</span>\n </button>\n </div>\n\n <!-- Icono de men\u00FA -->\n <div class=\"right\">\n <button class=\"btn btn-primary\" (click)=\"toggleMenu()\">\n <span>\u2630</span>\n </button>\n </div>\n</div>\n\n@if (isMenuOpen && navItems && navItems.length > 0) {\n <lib-nav-modal\n [navItems]=\"navItems\"\n [socialItems]=\"socialItems\"\n (close)=\"isMenuOpen = false\"\n ></lib-nav-modal>\n}\n", styles: [":root{--font-titles: \"Bebas Neue\", system-ui, sans-serif;--font-base: \"Inter\", system-ui, sans-serif;--font-size-base: 16px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem}.header-mobile{display:flex;justify-content:center;align-items:center;padding:1rem 0;border-radius:0;position:fixed;top:0;z-index:100;background-color:var(--header-mobile-bg);width:100vw}.header-logo{display:flex;align-items:center;gap:.5rem;color:var(--header-logo-text)}.header-logo img{width:36px;height:36px;object-fit:contain;object-position:center}.header-actions{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background-color:var(--header-mobile-bg);z-index:100;box-sizing:border-box}.header-actions .center{margin:0 auto}.lang{text-transform:uppercase}\n"] }]
42
- }], ctorParameters: () => [{ type: i1.ThemeService }], propDecorators: { logo: [{
43
- type: Input
44
- }], logoDark: [{
45
- type: Input
46
- }], lang: [{
47
- type: Input
48
- }], navItems: [{
49
- type: Input
50
- }], socialItems: [{
51
- type: Input
52
- }], homeLink: [{
53
- type: Input
54
- }], langModal: [{
55
- type: Output
56
- }], theme: [{
57
- type: Output
58
- }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW1vYmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvaGVhZGVycy9oZWFkZXItbW9iaWxlL2hlYWRlci1tb2JpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2hlYWRlcnMvaGVhZGVyLW1vYmlsZS9oZWFkZXItbW9iaWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQVEvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7OztBQVVyRSxNQUFNLE9BQU8scUJBQXFCO0lBZTlCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBZDlDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBVSxPQUFPLENBQUM7UUFVcEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDckMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFTSxDQUFDO0lBRWxELFFBQVE7UUFDSixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDekUsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkQsQ0FBQzsrR0ExQ1EscUJBQXFCO21HQUFyQixxQkFBcUIsd1FDN0JsQyxtcENBMkNBLG80QkRuQmMsWUFBWSwrQkFBc0IsaUJBQWlCLG1IQUFFLGlCQUFpQjs7NEZBS3ZFLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDSSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLG1CQUdoRSx1QkFBdUIsQ0FBQyxNQUFNO2lGQU90QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL2xpbmstdHlwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVWlMaWJCdXR0b25JIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy91aS1saWItYnV0dG9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVaUxpYkltYWdlSSB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvdWktbGliLWltYWdlLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICAgIFVpTGliTmF2SXRlbXNJLFxuICAgIFVpTGliU29jaWFsSXRlbXNJLFxufSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL3VpLWxpYi1uYXYtaXRlbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRoZW1lLCBUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy90aGVtZSc7XG5pbXBvcnQgeyBMYW5nTW9kYWxDb21wb25lbnQsIE5hdk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9kYWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItaGVhZGVyLW1vYmlsZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBMYW5nTW9kYWxDb21wb25lbnQsIE5hdk1vZGFsQ29tcG9uZW50LCBMaW5rVHlwZURpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci1tb2JpbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9oZWFkZXItbW9iaWxlLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyTW9iaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGlzTWVudU9wZW4gPSBmYWxzZTtcbiAgICBjdXJyZW50VGhlbWU6IFRoZW1lID0gJ2xpZ2h0JztcbiAgICBwcml2YXRlIHRoZW1lU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgQElucHV0KCkgbG9nbz86IFVpTGliSW1hZ2VJO1xuICAgIEBJbnB1dCgpIGxvZ29EYXJrPzogVWlMaWJJbWFnZUk7XG4gICAgQElucHV0KCkgbGFuZz86IHN0cmluZztcbiAgICBASW5wdXQoKSBuYXZJdGVtcz86IFVpTGliTmF2SXRlbXNJW107XG4gICAgQElucHV0KCkgc29jaWFsSXRlbXM/OiBVaUxpYlNvY2lhbEl0ZW1zSVtdO1xuICAgIEBJbnB1dCgpIGhvbWVMaW5rPzogVWlMaWJCdXR0b25JO1xuXG4gICAgQE91dHB1dCgpIGxhbmdNb2RhbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgdGhlbWUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRoZW1lU2VydmljZTogVGhlbWVTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGhlbWVTdWJzY3JpcHRpb24gPSB0aGlzLnRoZW1lU2VydmljZS5jdXJyZW50VGhlbWUkLnN1YnNjcmliZSgodGhlbWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFRoZW1lID0gdGhlbWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRoZW1lU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIG9wZW5MYW5ndWFnZXNNb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYW5nTW9kYWwuZW1pdCgpO1xuICAgIH1cblxuICAgIHRvZ2dsZVRoZW1lKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRoZW1lU2VydmljZS50b2dnbGVUaGVtZSgpO1xuICAgICAgICB0aGlzLnRoZW1lLmVtaXQoKTtcbiAgICB9XG5cbiAgICB0b2dnbGVNZW51KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzTWVudU9wZW4gPSAhdGhpcy5pc01lbnVPcGVuO1xuICAgIH1cblxuICAgIGdldFRoZW1lSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50VGhlbWUgPT09ICdsaWdodCcgPyAn8J+MmScgOiAn4piA77iPJztcbiAgICB9XG59XG4iLCI8aGVhZGVyIGNsYXNzPVwiaGVhZGVyLW1vYmlsZVwiPlxuICA8YSBbaHJlZl09XCJob21lTGluaz8udXJsXCIgW2xpbmtUeXBlXT1cImhvbWVMaW5rPy5saW5rVHlwZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItbG9nb1wiPlxuICAgICAgPCEtLSBMb2dvIC0tPlxuICAgICAgPGltZ1xuICAgICAgICBbc3JjXT1cImN1cnJlbnRUaGVtZSA9PT0gJ2RhcmsnID8gbG9nb0Rhcms/LnVybCA6IGxvZ28/LnVybFwiXG4gICAgICAgIFthbHRdPVwiY3VycmVudFRoZW1lID09PSAnZGFyaycgPyBsb2dvRGFyaz8uYWx0IDogbG9nbz8uYWx0XCJcbiAgICAgIC8+XG4gICAgICA8c3Bhbj5MTFVDIExMVUxMPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2E+XG48L2hlYWRlcj5cblxuPGRpdiBjbGFzcz1cImhlYWRlci1hY3Rpb25zXCI+XG4gIDwhLS0gSWRpb21hIC0tPlxuICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwib3Blbkxhbmd1YWdlc01vZGFsKClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibGFuZ1wiPnt7IGxhbmcgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDwhLS0gSWNvbm8gZGUgdGVtYSAtLT5cbiAgPGRpdiBjbGFzcz1cImNlbnRlclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwidG9nZ2xlVGhlbWUoKVwiPlxuICAgICAgPHNwYW4+e3sgZ2V0VGhlbWVJY29uKCkgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDwhLS0gSWNvbm8gZGUgbWVuw7ogLS0+XG4gIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwidG9nZ2xlTWVudSgpXCI+XG4gICAgICA8c3Bhbj7imLA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbkBpZiAoaXNNZW51T3BlbiAmJiBuYXZJdGVtcyAmJiBuYXZJdGVtcy5sZW5ndGggPiAwKSB7XG4gIDxsaWItbmF2LW1vZGFsXG4gICAgW25hdkl0ZW1zXT1cIm5hdkl0ZW1zXCJcbiAgICBbc29jaWFsSXRlbXNdPVwic29jaWFsSXRlbXNcIlxuICAgIChjbG9zZSk9XCJpc01lbnVPcGVuID0gZmFsc2VcIlxuICA+PC9saWItbmF2LW1vZGFsPlxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW1vYmlsZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvaGVhZGVycy9oZWFkZXItbW9iaWxlL2hlYWRlci1tb2JpbGUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFVpTGliQnV0dG9uSSxcbiAgICBVaUxpYkltYWdlSSxcbiAgICBVaUxpYk5hdkl0ZW1zSSxcbiAgICBVaUxpYlNvY2lhbEl0ZW1zSSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyTW9iaWxlSSB7XG4gICAgbG9nbz86IFVpTGliSW1hZ2VJO1xuICAgIGxvZ29EYXJrPzogVWlMaWJJbWFnZUk7XG4gICAgbGFuZz86IHN0cmluZztcbiAgICBuYXZJdGVtcz86IFVpTGliTmF2SXRlbXNJW107XG4gICAgaG9tZUxpbms/OiBVaUxpYkJ1dHRvbkk7XG4gICAgc29jaWFsSXRlbXM/OiBVaUxpYlNvY2lhbEl0ZW1zSVtdO1xufVxuIl19
@@ -1,3 +0,0 @@
1
- export * from './header-mobile.component';
2
- export * from './header-mobile.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvaGVhZGVycy9oZWFkZXItbW9iaWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGVhZGVyLW1vYmlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWFkZXItbW9iaWxlLmludGVyZmFjZSc7XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from './header-clear';
2
- export * from './header-mobile';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvaGVhZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hlYWRlci1jbGVhcic7XG5leHBvcnQgKiBmcm9tICcuL2hlYWRlci1tb2JpbGUnO1xuIl19
@@ -1,5 +0,0 @@
1
- export * from './content';
2
- export * from './footers';
3
- export * from './headers';
4
- export * from './modals';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb290ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vaGVhZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFscyc7XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from './lang-modal';
2
- export * from './nav-modal';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbW9kYWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYW5nLW1vZGFsJztcbmV4cG9ydCAqIGZyb20gJy4vbmF2LW1vZGFsJztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './lang-modal.component';
2
- export * from './lang-modal.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbW9kYWxzL2xhbmctbW9kYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYW5nLW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xhbmctbW9kYWwuaW50ZXJmYWNlJztcbiJdfQ==
@@ -1,33 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Inject, Optional } from '@angular/core';
3
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
- import { mapLangModal } from '../../../../services/mapper/component-mappers/lang-modal.mapper';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/material/dialog";
7
- export class LangModalComponent {
8
- constructor(data, dialogRef) {
9
- this.data = data;
10
- this.dialogRef = dialogRef;
11
- this.langs = mapLangModal(data.langs, data.currentLang);
12
- }
13
- selectLang(lang) {
14
- this.dialogRef?.close(lang);
15
- }
16
- closeModal() {
17
- this.dialogRef?.close();
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangModalComponent, deps: [{ token: MAT_DIALOG_DATA, optional: true }, { token: i1.MatDialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LangModalComponent, isStandalone: true, selector: "lib-lang-modal", ngImport: i0, template: "<div class=\"modal-content\">\n <button (click)=\"closeModal()\" class=\"close-btn\">\u2715</button>\n @if (langs && langs.length > 0) {\n <ol>\n @for (lang of langs; track $index) {\n <li (click)=\"selectLang(lang)\">\n <span class=\"modal-item\">{{ lang.label }}</span>\n </li>\n }\n </ol>\n }\n</div>\n", styles: [":root{--font-titles: \"Bebas Neue\", system-ui, sans-serif;--font-base: \"Inter\", system-ui, sans-serif;--font-size-base: 16px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem}:host{position:fixed;inset:0;width:100vw;height:100vh;background:var(--modal-bg);z-index:1000;display:flex;align-items:center;justify-content:center}.close-btn{position:absolute;top:1rem;right:2rem;background:none;border:none;color:var(--close-btn);font-size:1.5rem;font-weight:700;cursor:pointer;z-index:1001}ol{padding:0;margin:0;text-align:center;width:100%;max-width:400px;list-style:none;counter-reset:item}li{cursor:pointer;text-align:start;text-transform:uppercase;counter-increment:item}li:before{content:counter(item,decimal-leading-zero) \". \"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangModalComponent, decorators: [{
23
- type: Component,
24
- args: [{ selector: 'lib-lang-modal', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"modal-content\">\n <button (click)=\"closeModal()\" class=\"close-btn\">\u2715</button>\n @if (langs && langs.length > 0) {\n <ol>\n @for (lang of langs; track $index) {\n <li (click)=\"selectLang(lang)\">\n <span class=\"modal-item\">{{ lang.label }}</span>\n </li>\n }\n </ol>\n }\n</div>\n", styles: [":root{--font-titles: \"Bebas Neue\", system-ui, sans-serif;--font-base: \"Inter\", system-ui, sans-serif;--font-size-base: 16px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem}:host{position:fixed;inset:0;width:100vw;height:100vh;background:var(--modal-bg);z-index:1000;display:flex;align-items:center;justify-content:center}.close-btn{position:absolute;top:1rem;right:2rem;background:none;border:none;color:var(--close-btn);font-size:1.5rem;font-weight:700;cursor:pointer;z-index:1001}ol{padding:0;margin:0;text-align:center;width:100%;max-width:400px;list-style:none;counter-reset:item}li{cursor:pointer;text-align:start;text-transform:uppercase;counter-increment:item}li:before{content:counter(item,decimal-leading-zero) \". \"}\n"] }]
25
- }], ctorParameters: () => [{ type: undefined, decorators: [{
26
- type: Optional
27
- }, {
28
- type: Inject,
29
- args: [MAT_DIALOG_DATA]
30
- }] }, { type: i1.MatDialogRef, decorators: [{
31
- type: Optional
32
- }] }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbW9kYWxzL2xhbmctbW9kYWwvbGFuZy1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbW9kYWxzL2xhbmctbW9kYWwvbGFuZy1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlFQUFpRSxDQUFDOzs7QUFlL0YsTUFBTSxPQUFPLGtCQUFrQjtJQUczQixZQUNnRCxJQUFtQixFQUM1QyxTQUE0QztRQURuQixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQW1DO1FBRS9ELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBb0I7UUFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBaEJRLGtCQUFrQixrQkFJSCxlQUFlO21HQUo5QixrQkFBa0IsMEVDbkIvQiw2VkFZQSxxekJERWMsWUFBWTs7NEZBS2Isa0JBQWtCO2tCQVI5QixTQUFTOytCQUNJLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzswQkFNMUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlOzswQkFDbEMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVaUxpYkxhbmdJdGVtSSB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgbWFwTGFuZ01vZGFsIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvbWFwcGVyL2NvbXBvbmVudC1tYXBwZXJzL2xhbmctbW9kYWwubWFwcGVyJztcblxuaW50ZXJmYWNlIExhbmdNb2RhbERhdGEge1xuICAgIGxhbmdzOiBhbnlbXTtcbiAgICBjdXJyZW50TGFuZzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1sYW5nLW1vZGFsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sYW5nLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vbGFuZy1tb2RhbC5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExhbmdNb2RhbENvbXBvbmVudCB7XG4gICAgbGFuZ3MhOiBVaUxpYkxhbmdJdGVtSVtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogTGFuZ01vZGFsRGF0YSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHVibGljIGRpYWxvZ1JlZj86IE1hdERpYWxvZ1JlZjxMYW5nTW9kYWxDb21wb25lbnQ+LFxuICAgICkge1xuICAgICAgICB0aGlzLmxhbmdzID0gbWFwTGFuZ01vZGFsKGRhdGEubGFuZ3MsIGRhdGEuY3VycmVudExhbmcpO1xuICAgIH1cblxuICAgIHNlbGVjdExhbmcobGFuZzogVWlMaWJMYW5nSXRlbUkpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWY/LmNsb3NlKGxhbmcpO1xuICAgIH1cblxuICAgIGNsb3NlTW9kYWwoKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmPy5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG4gIDxidXR0b24gKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiIGNsYXNzPVwiY2xvc2UtYnRuXCI+4pyVPC9idXR0b24+XG4gIEBpZiAobGFuZ3MgJiYgbGFuZ3MubGVuZ3RoID4gMCkge1xuICAgIDxvbD5cbiAgICAgIEBmb3IgKGxhbmcgb2YgbGFuZ3M7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8bGkgKGNsaWNrKT1cInNlbGVjdExhbmcobGFuZylcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vZGFsLWl0ZW1cIj57eyBsYW5nLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2xpPlxuICAgICAgfVxuICAgIDwvb2w+XG4gIH1cbjwvZGl2PlxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1tb2RhbC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbW9kYWxzL2xhbmctbW9kYWwvbGFuZy1tb2RhbC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTGFuZ01vZGFsSSB7fVxuIl19
@@ -1,3 +0,0 @@
1
- export * from './nav-modal.component';
2
- export * from './nav-modal.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbW9kYWxzL25hdi1tb2RhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25hdi1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9uYXYtbW9kYWwuaW50ZXJmYWNlJztcbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { LinkTypeDirective } from '../../../../directives/link-type.directive';
4
- import * as i0 from "@angular/core";
5
- export class NavModalComponent {
6
- constructor() {
7
- this.close = new EventEmitter();
8
- }
9
- closeModal() {
10
- this.close.emit();
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: NavModalComponent, isStandalone: true, selector: "lib-nav-modal", inputs: { navItems: "navItems", socialItems: "socialItems" }, outputs: { close: "close" }, ngImport: i0, template: "<div class=\"modal-content\">\n <button (click)=\"closeModal()\" class=\"close-btn\">\u2715</button>\n @if (navItems && navItems.length > 0) {\n <ol>\n @for (item of navItems; track $index) {\n <a [href]=\"item.url\" [linkType]=\"item.linkType\" (click)=\"closeModal()\">\n <li>\n <span class=\"modal-item\">{{ item.label }}</span>\n </li>\n </a>\n }\n </ol>\n }\n @if (socialItems) {\n <div class=\"buttons\">\n @for (social of socialItems; track $index) {\n <a class=\"btn btn-link\" [href]=\"social.url\" [linkType]=\"social.linkType\">\n <span>{{ social.icon }}</span>\n {{ social.label }}\n </a>\n }\n </div>\n }\n</div>\n", styles: [":root{--font-titles: \"Bebas Neue\", system-ui, sans-serif;--font-base: \"Inter\", system-ui, sans-serif;--font-size-base: 16px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem}:host{position:fixed;inset:0;width:100vw;height:100vh;background:var(--modal-bg);z-index:1000;display:flex;align-items:center;justify-content:center}.close-btn{position:absolute;top:1rem;right:2rem;background:none;border:none;color:var(--close-btn);font-size:1.5rem;font-weight:700;cursor:pointer;z-index:1001}ol{padding:0;margin:0;text-align:center;width:100%;max-width:400px;list-style:none;counter-reset:item}li{cursor:pointer;text-align:start;counter-increment:item}a{text-decoration:none;text-transform:uppercase;color:var(--item-color)}li:before{content:counter(item,decimal-leading-zero) \". \"}.buttons{display:flex;flex-wrap:wrap;justify-content:center}.buttons a{text-transform:lowercase}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: LinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavModalComponent, decorators: [{
16
- type: Component,
17
- args: [{ selector: 'lib-nav-modal', standalone: true, imports: [CommonModule, LinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"modal-content\">\n <button (click)=\"closeModal()\" class=\"close-btn\">\u2715</button>\n @if (navItems && navItems.length > 0) {\n <ol>\n @for (item of navItems; track $index) {\n <a [href]=\"item.url\" [linkType]=\"item.linkType\" (click)=\"closeModal()\">\n <li>\n <span class=\"modal-item\">{{ item.label }}</span>\n </li>\n </a>\n }\n </ol>\n }\n @if (socialItems) {\n <div class=\"buttons\">\n @for (social of socialItems; track $index) {\n <a class=\"btn btn-link\" [href]=\"social.url\" [linkType]=\"social.linkType\">\n <span>{{ social.icon }}</span>\n {{ social.label }}\n </a>\n }\n </div>\n }\n</div>\n", styles: [":root{--font-titles: \"Bebas Neue\", system-ui, sans-serif;--font-base: \"Inter\", system-ui, sans-serif;--font-size-base: 16px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem}:host{position:fixed;inset:0;width:100vw;height:100vh;background:var(--modal-bg);z-index:1000;display:flex;align-items:center;justify-content:center}.close-btn{position:absolute;top:1rem;right:2rem;background:none;border:none;color:var(--close-btn);font-size:1.5rem;font-weight:700;cursor:pointer;z-index:1001}ol{padding:0;margin:0;text-align:center;width:100%;max-width:400px;list-style:none;counter-reset:item}li{cursor:pointer;text-align:start;counter-increment:item}a{text-decoration:none;text-transform:uppercase;color:var(--item-color)}li:before{content:counter(item,decimal-leading-zero) \". \"}.buttons{display:flex;flex-wrap:wrap;justify-content:center}.buttons a{text-transform:lowercase}\n"] }]
18
- }], propDecorators: { navItems: [{
19
- type: Input
20
- }], socialItems: [{
21
- type: Input
22
- }], close: [{
23
- type: Output
24
- }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9tb2RhbHMvbmF2LW1vZGFsL25hdi1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbW9kYWxzL25hdi1tb2RhbC9uYXYtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBYy9FLE1BQU0sT0FBTyxpQkFBaUI7SUFSOUI7UUFZYyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQUs5QztJQUhHLFVBQVU7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7K0dBUlEsaUJBQWlCO21HQUFqQixpQkFBaUIsb0tDaEI5QixxdUJBd0JBLG84QkRiYyxZQUFZLCtCQUFFLGlCQUFpQjs7NEZBS2hDLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDSSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDLG1CQUd6Qix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL2xpbmstdHlwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBVaUxpYk5hdkl0ZW1zSSxcbiAgICBVaUxpYlNvY2lhbEl0ZW1zSSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy91aS1saWItbmF2LWl0ZW1zLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLW5hdi1tb2RhbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBMaW5rVHlwZURpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL25hdi1tb2RhbC5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5hdk1vZGFsQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBuYXZJdGVtcz86IFVpTGliTmF2SXRlbXNJW107XG4gICAgQElucHV0KCkgc29jaWFsSXRlbXM/OiBVaUxpYlNvY2lhbEl0ZW1zSVtdO1xuXG4gICAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgY2xvc2VNb2RhbCgpIHtcbiAgICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cbiAgPGJ1dHRvbiAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCIgY2xhc3M9XCJjbG9zZS1idG5cIj7inJU8L2J1dHRvbj5cbiAgQGlmIChuYXZJdGVtcyAmJiBuYXZJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgPG9sPlxuICAgICAgQGZvciAoaXRlbSBvZiBuYXZJdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxhIFtocmVmXT1cIml0ZW0udXJsXCIgW2xpbmtUeXBlXT1cIml0ZW0ubGlua1R5cGVcIiAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCI+XG4gICAgICAgICAgPGxpPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtb2RhbC1pdGVtXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L2E+XG4gICAgICB9XG4gICAgPC9vbD5cbiAgfVxuICBAaWYgKHNvY2lhbEl0ZW1zKSB7XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgIEBmb3IgKHNvY2lhbCBvZiBzb2NpYWxJdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCIgW2hyZWZdPVwic29jaWFsLnVybFwiIFtsaW5rVHlwZV09XCJzb2NpYWwubGlua1R5cGVcIj5cbiAgICAgICAgICA8c3Bhbj57eyBzb2NpYWwuaWNvbiB9fTwvc3Bhbj5cbiAgICAgICAgICB7eyBzb2NpYWwubGFiZWwgfX1cbiAgICAgICAgPC9hPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LW1vZGFsLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9tb2RhbHMvbmF2LW1vZGFsL25hdi1tb2RhbC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVpTGliTmF2SXRlbXNJIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2TW9kYWxJIHtcbiAgICBuYXZJdGVtcz86IFVpTGliTmF2SXRlbXNJW107XG4gICAgc29jaWFsSXRlbXM/OiBVaUxpYk5hdkl0ZW1zSVtdO1xufVxuIl19
@@ -1,87 +0,0 @@
1
- import { CommonModule, isPlatformBrowser } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Input, PLATFORM_ID, ViewChild, inject, } from '@angular/core';
3
- import * as THREE from 'three';
4
- import { EFFECT_REGISTRY } from './effects/effect-registry';
5
- import * as i0 from "@angular/core";
6
- export class DynamicBackgroundComponent {
7
- constructor() {
8
- this.effect = 'sphere-deform';
9
- this.rotationSpeed = 0.01;
10
- this.size = 2;
11
- this.backgroundColor = '#000000';
12
- this.platformId = inject(PLATFORM_ID);
13
- this.isBrowser = isPlatformBrowser(this.platformId);
14
- this.animate = () => {
15
- this.animationId = requestAnimationFrame(this.animate);
16
- this.currentEffect.animate();
17
- this.renderer.render(this.scene, this.camera);
18
- };
19
- this.onResize = () => {
20
- const width = window.innerWidth;
21
- const height = window.innerHeight;
22
- this.camera.aspect = width / height;
23
- this.camera.updateProjectionMatrix();
24
- this.renderer.setSize(width, height);
25
- };
26
- }
27
- ngOnInit() {
28
- if (this.isBrowser) {
29
- this.initScene();
30
- this.loadEffect();
31
- this.animate();
32
- window.addEventListener('resize', this.onResize);
33
- }
34
- }
35
- ngOnDestroy() {
36
- if (this.isBrowser) {
37
- cancelAnimationFrame(this.animationId);
38
- this.renderer?.dispose();
39
- this.currentEffect?.dispose();
40
- window.removeEventListener('resize', this.onResize);
41
- }
42
- }
43
- initScene() {
44
- const width = window.innerWidth;
45
- const height = window.innerHeight;
46
- this.scene = new THREE.Scene();
47
- this.scene.background = new THREE.Color(this.backgroundColor);
48
- this.camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 1000);
49
- this.camera.position.z = 5;
50
- this.renderer = new THREE.WebGLRenderer({
51
- canvas: this.canvasRef.nativeElement,
52
- antialias: true,
53
- });
54
- this.renderer.setSize(width, height);
55
- const light = new THREE.DirectionalLight(0xffffff, 1);
56
- light.position.set(5, 5, 5).normalize();
57
- this.scene.add(light);
58
- }
59
- loadEffect() {
60
- const EffectClass = EFFECT_REGISTRY[this.effect];
61
- if (!EffectClass) {
62
- throw new Error(`Efecto "${this.effect}" no está registrado en EFFECT_REGISTRY`);
63
- }
64
- this.currentEffect = new EffectClass(this.size, this.rotationSpeed, this.elementColor);
65
- this.currentEffect.init(this.scene, {});
66
- }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DynamicBackgroundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DynamicBackgroundComponent, isStandalone: true, selector: "lib-dynamic-background", inputs: { effect: "effect", rotationSpeed: "rotationSpeed", size: "size", backgroundColor: "backgroundColor", elementColor: "elementColor" }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["bgCanvas"], descendants: true, static: true }], ngImport: i0, template: "<canvas #bgCanvas class=\"dynamic-bg-canvas\"></canvas>\n", styles: [".dynamic-bg-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
69
- }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DynamicBackgroundComponent, decorators: [{
71
- type: Component,
72
- args: [{ selector: 'lib-dynamic-background', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<canvas #bgCanvas class=\"dynamic-bg-canvas\"></canvas>\n", styles: [".dynamic-bg-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block}\n"] }]
73
- }], propDecorators: { canvasRef: [{
74
- type: ViewChild,
75
- args: ['bgCanvas', { static: true }]
76
- }], effect: [{
77
- type: Input
78
- }], rotationSpeed: [{
79
- type: Input
80
- }], size: [{
81
- type: Input
82
- }], backgroundColor: [{
83
- type: Input
84
- }], elementColor: [{
85
- type: Input
86
- }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1iYWNrZ3JvdW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZWZmZWN0cy9keW5hbWljLWJhY2tncm91bmQvZHluYW1pYy1iYWNrZ3JvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZWZmZWN0cy9keW5hbWljLWJhY2tncm91bmQvZHluYW1pYy1iYWNrZ3JvdW5kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxLQUFLLEVBR0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFL0IsT0FBTyxFQUFFLGVBQWUsRUFBYSxNQUFNLDJCQUEyQixDQUFDOztBQVV2RSxNQUFNLE9BQU8sMEJBQTBCO0lBUnZDO1FBV2EsV0FBTSxHQUFjLGVBQWUsQ0FBQztRQUNwQyxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ1Qsb0JBQWUsR0FBRyxTQUFTLENBQUM7UUFHcEIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxjQUFTLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBeUR4RCxZQUFPLEdBQUcsR0FBUyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDO1FBRU0sYUFBUSxHQUFHLEdBQVMsRUFBRTtZQUMxQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQ2hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQztLQUNMO0lBN0RHLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLG9CQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDOUIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNMLENBQUM7SUFFTyxTQUFTO1FBQ2IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBRWxDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQ3BDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWE7WUFDcEMsU0FBUyxFQUFFLElBQUk7U0FDbEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXJDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFTyxVQUFVO1FBQ2QsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSxDQUFDLE1BQU0seUNBQXlDLENBQUMsQ0FBQztRQUNyRixDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQzsrR0FqRVEsMEJBQTBCO21HQUExQiwwQkFBMEIscVZDeEJ2QywyREFDQSxrSkRrQmMsWUFBWTs7NEZBS2IsMEJBQTBCO2tCQVJ0QyxTQUFTOytCQUNJLHdCQUF3QixjQUN0QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsbUJBR04sdUJBQXVCLENBQUMsTUFBTTs4QkFHTixTQUFTO3NCQUFqRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRTlCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBQTEFURk9STV9JRCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7IER5bmFtaWNFZmZlY3QgfSBmcm9tICcuL2VmZmVjdHMvZHluYW1pYy1lZmZlY3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IEVGRkVDVF9SRUdJU1RSWSwgRWZmZWN0S2V5IH0gZnJvbSAnLi9lZmZlY3RzL2VmZmVjdC1yZWdpc3RyeSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLWR5bmFtaWMtYmFja2dyb3VuZCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1iYWNrZ3JvdW5kLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZHluYW1pYy1iYWNrZ3JvdW5kLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0JhY2tncm91bmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnYmdDYW52YXMnLCB7IHN0YXRpYzogdHJ1ZSB9KSBjYW52YXNSZWYhOiBFbGVtZW50UmVmPEhUTUxDYW52YXNFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpIGVmZmVjdDogRWZmZWN0S2V5ID0gJ3NwaGVyZS1kZWZvcm0nO1xuICAgIEBJbnB1dCgpIHJvdGF0aW9uU3BlZWQgPSAwLjAxO1xuICAgIEBJbnB1dCgpIHNpemUgPSAyO1xuICAgIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvciA9ICcjMDAwMDAwJztcbiAgICBASW5wdXQoKSBlbGVtZW50Q29sb3I/OiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNCcm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcblxuICAgIHByaXZhdGUgc2NlbmUhOiBUSFJFRS5TY2VuZTtcbiAgICBwcml2YXRlIGNhbWVyYSE6IFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhO1xuICAgIHByaXZhdGUgcmVuZGVyZXIhOiBUSFJFRS5XZWJHTFJlbmRlcmVyO1xuICAgIHByaXZhdGUgYW5pbWF0aW9uSWQhOiBudW1iZXI7XG5cbiAgICBwcml2YXRlIGN1cnJlbnRFZmZlY3QhOiBEeW5hbWljRWZmZWN0O1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgdGhpcy5pbml0U2NlbmUoKTtcbiAgICAgICAgICAgIHRoaXMubG9hZEVmZmVjdCgpO1xuICAgICAgICAgICAgdGhpcy5hbmltYXRlKCk7XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vblJlc2l6ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLmFuaW1hdGlvbklkKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXI/LmRpc3Bvc2UoKTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEVmZmVjdD8uZGlzcG9zZSgpO1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMub25SZXNpemUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2NlbmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcblxuICAgICAgICB0aGlzLnNjZW5lID0gbmV3IFRIUkVFLlNjZW5lKCk7XG4gICAgICAgIHRoaXMuc2NlbmUuYmFja2dyb3VuZCA9IG5ldyBUSFJFRS5Db2xvcih0aGlzLmJhY2tncm91bmRDb2xvcik7XG5cbiAgICAgICAgdGhpcy5jYW1lcmEgPSBuZXcgVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEoNzUsIHdpZHRoIC8gaGVpZ2h0LCAwLjEsIDEwMDApO1xuICAgICAgICB0aGlzLmNhbWVyYS5wb3NpdGlvbi56ID0gNTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyID0gbmV3IFRIUkVFLldlYkdMUmVuZGVyZXIoe1xuICAgICAgICAgICAgY2FudmFzOiB0aGlzLmNhbnZhc1JlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgYW50aWFsaWFzOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTaXplKHdpZHRoLCBoZWlnaHQpO1xuXG4gICAgICAgIGNvbnN0IGxpZ2h0ID0gbmV3IFRIUkVFLkRpcmVjdGlvbmFsTGlnaHQoMHhmZmZmZmYsIDEpO1xuICAgICAgICBsaWdodC5wb3NpdGlvbi5zZXQoNSwgNSwgNSkubm9ybWFsaXplKCk7XG4gICAgICAgIHRoaXMuc2NlbmUuYWRkKGxpZ2h0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRFZmZlY3QoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IEVmZmVjdENsYXNzID0gRUZGRUNUX1JFR0lTVFJZW3RoaXMuZWZmZWN0XTtcbiAgICAgICAgaWYgKCFFZmZlY3RDbGFzcykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFZmVjdG8gXCIke3RoaXMuZWZmZWN0fVwiIG5vIGVzdMOhIHJlZ2lzdHJhZG8gZW4gRUZGRUNUX1JFR0lTVFJZYCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50RWZmZWN0ID0gbmV3IEVmZmVjdENsYXNzKHRoaXMuc2l6ZSwgdGhpcy5yb3RhdGlvblNwZWVkLCB0aGlzLmVsZW1lbnRDb2xvcik7XG4gICAgICAgIHRoaXMuY3VycmVudEVmZmVjdC5pbml0KHRoaXMuc2NlbmUsIHt9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFuaW1hdGUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5hbmltYXRlKTtcbiAgICAgICAgdGhpcy5jdXJyZW50RWZmZWN0LmFuaW1hdGUoKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW5kZXIodGhpcy5zY2VuZSwgdGhpcy5jYW1lcmEpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIG9uUmVzaXplID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCB3aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgICAgICBjb25zdCBoZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICAgIHRoaXMuY2FtZXJhLmFzcGVjdCA9IHdpZHRoIC8gaGVpZ2h0O1xuICAgICAgICB0aGlzLmNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U2l6ZSh3aWR0aCwgaGVpZ2h0KTtcbiAgICB9O1xufVxuIiwiPGNhbnZhcyAjYmdDYW52YXMgY2xhc3M9XCJkeW5hbWljLWJnLWNhbnZhc1wiPjwvY2FudmFzPlxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1lZmZlY3QuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9lZmZlY3RzL2R5bmFtaWMtYmFja2dyb3VuZC9lZmZlY3RzL2R5bmFtaWMtZWZmZWN0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNFZmZlY3Qge1xuICAgIGluaXQoc2NlbmU6IFRIUkVFLlNjZW5lLCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICAgIGFuaW1hdGUoKTogdm9pZDtcbiAgICBkaXNwb3NlKCk6IHZvaWQ7XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- import { SphereDeformEffect } from './sphere-deform/sphere-deform.effect';
2
- export const EFFECT_REGISTRY = {
3
- 'sphere-deform': SphereDeformEffect,
4
- // 'ring-transform': RingTransformEffect,
5
- // 'particles': ParticlesEffect,
6
- };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LXJlZ2lzdHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9lZmZlY3RzL2R5bmFtaWMtYmFja2dyb3VuZC9lZmZlY3RzL2VmZmVjdC1yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQU0xRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQXNFO0lBQzlGLGVBQWUsRUFBRSxrQkFBa0I7SUFDbkMseUNBQXlDO0lBQ3pDLGdDQUFnQztDQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1pY0VmZmVjdCB9IGZyb20gJy4vZHluYW1pYy1lZmZlY3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNwaGVyZURlZm9ybUVmZmVjdCB9IGZyb20gJy4vc3BoZXJlLWRlZm9ybS9zcGhlcmUtZGVmb3JtLmVmZmVjdCc7XG4vLyBpbXBvcnQgeyBSaW5nVHJhbnNmb3JtRWZmZWN0IH0gZnJvbSAnLi9yaW5nLXRyYW5zZm9ybS9yaW5nLXRyYW5zZm9ybS5lZmZlY3QnO1xuLy8gaW1wb3J0IHsgUGFydGljbGVzRWZmZWN0IH0gZnJvbSAnLi9wYXJ0aWNsZXMvcGFydGljbGVzLmVmZmVjdCc7XG5cbmV4cG9ydCB0eXBlIEVmZmVjdEtleSA9ICdzcGhlcmUtZGVmb3JtJyB8ICdyaW5nLXRyYW5zZm9ybScgfCAncGFydGljbGVzJztcblxuZXhwb3J0IGNvbnN0IEVGRkVDVF9SRUdJU1RSWTogUGFydGlhbDxSZWNvcmQ8RWZmZWN0S2V5LCBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBEeW5hbWljRWZmZWN0Pj4gPSB7XG4gICAgJ3NwaGVyZS1kZWZvcm0nOiBTcGhlcmVEZWZvcm1FZmZlY3QsXG4gICAgLy8gJ3JpbmctdHJhbnNmb3JtJzogUmluZ1RyYW5zZm9ybUVmZmVjdCxcbiAgICAvLyAncGFydGljbGVzJzogUGFydGljbGVzRWZmZWN0LFxufTtcbiJdfQ==