@lluc_llull/ui-lib 0.33.9 → 0.34.0

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 (262) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/lluc_llull-ui-lib-content-asymmetric-media.mjs +85 -28
  3. package/fesm2022/lluc_llull-ui-lib-content-asymmetric-media.mjs.map +1 -1
  4. package/fesm2022/lluc_llull-ui-lib-content-category-progress.mjs +81 -30
  5. package/fesm2022/lluc_llull-ui-lib-content-category-progress.mjs.map +1 -1
  6. package/fesm2022/lluc_llull-ui-lib-content-columns-media-stacked.mjs +90 -34
  7. package/fesm2022/lluc_llull-ui-lib-content-columns-media-stacked.mjs.map +1 -1
  8. package/fesm2022/lluc_llull-ui-lib-content-contact-minimal.mjs +109 -37
  9. package/fesm2022/lluc_llull-ui-lib-content-contact-minimal.mjs.map +1 -1
  10. package/fesm2022/lluc_llull-ui-lib-content-content-document.mjs +58 -26
  11. package/fesm2022/lluc_llull-ui-lib-content-content-document.mjs.map +1 -1
  12. package/fesm2022/lluc_llull-ui-lib-content-hero-section.mjs +139 -110
  13. package/fesm2022/lluc_llull-ui-lib-content-hero-section.mjs.map +1 -1
  14. package/fesm2022/lluc_llull-ui-lib-content-media-intro.mjs +91 -34
  15. package/fesm2022/lluc_llull-ui-lib-content-media-intro.mjs.map +1 -1
  16. package/fesm2022/lluc_llull-ui-lib-content-media-split.mjs +118 -76
  17. package/fesm2022/lluc_llull-ui-lib-content-media-split.mjs.map +1 -1
  18. package/fesm2022/lluc_llull-ui-lib-content-mosaic-grid.mjs +99 -44
  19. package/fesm2022/lluc_llull-ui-lib-content-mosaic-grid.mjs.map +1 -1
  20. package/fesm2022/lluc_llull-ui-lib-content-mosaic-parallax.mjs +109 -57
  21. package/fesm2022/lluc_llull-ui-lib-content-mosaic-parallax.mjs.map +1 -1
  22. package/fesm2022/lluc_llull-ui-lib-content-section-intro.mjs +100 -37
  23. package/fesm2022/lluc_llull-ui-lib-content-section-intro.mjs.map +1 -1
  24. package/fesm2022/lluc_llull-ui-lib-content-split-previewer.mjs +133 -61
  25. package/fesm2022/lluc_llull-ui-lib-content-split-previewer.mjs.map +1 -1
  26. package/fesm2022/lluc_llull-ui-lib-content-split-showcase.mjs +99 -37
  27. package/fesm2022/lluc_llull-ui-lib-content-split-showcase.mjs.map +1 -1
  28. package/fesm2022/lluc_llull-ui-lib-content-stacked-rows.mjs +61 -29
  29. package/fesm2022/lluc_llull-ui-lib-content-stacked-rows.mjs.map +1 -1
  30. package/fesm2022/lluc_llull-ui-lib-content.mjs +1286 -502
  31. package/fesm2022/lluc_llull-ui-lib-content.mjs.map +1 -1
  32. package/fesm2022/lluc_llull-ui-lib-directives.mjs +383 -262
  33. package/fesm2022/lluc_llull-ui-lib-directives.mjs.map +1 -1
  34. package/fesm2022/lluc_llull-ui-lib-effects.mjs +187 -150
  35. package/fesm2022/lluc_llull-ui-lib-effects.mjs.map +1 -1
  36. package/fesm2022/lluc_llull-ui-lib-enums.mjs +8 -12
  37. package/fesm2022/lluc_llull-ui-lib-enums.mjs.map +1 -1
  38. package/fesm2022/lluc_llull-ui-lib-feedback-404.mjs +97 -34
  39. package/fesm2022/lluc_llull-ui-lib-feedback-404.mjs.map +1 -1
  40. package/fesm2022/lluc_llull-ui-lib-feedback.mjs +97 -34
  41. package/fesm2022/lluc_llull-ui-lib-feedback.mjs.map +1 -1
  42. package/fesm2022/lluc_llull-ui-lib-footers-columns-footer.mjs +65 -27
  43. package/fesm2022/lluc_llull-ui-lib-footers-columns-footer.mjs.map +1 -1
  44. package/fesm2022/lluc_llull-ui-lib-footers-legal-footer.mjs +74 -37
  45. package/fesm2022/lluc_llull-ui-lib-footers-legal-footer.mjs.map +1 -1
  46. package/fesm2022/lluc_llull-ui-lib-footers-links-footer.mjs +59 -24
  47. package/fesm2022/lluc_llull-ui-lib-footers-links-footer.mjs.map +1 -1
  48. package/fesm2022/lluc_llull-ui-lib-footers-social-footer.mjs +95 -32
  49. package/fesm2022/lluc_llull-ui-lib-footers-social-footer.mjs.map +1 -1
  50. package/fesm2022/lluc_llull-ui-lib-footers-visual-footer.mjs +84 -45
  51. package/fesm2022/lluc_llull-ui-lib-footers-visual-footer.mjs.map +1 -1
  52. package/fesm2022/lluc_llull-ui-lib-footers.mjs +354 -125
  53. package/fesm2022/lluc_llull-ui-lib-footers.mjs.map +1 -1
  54. package/fesm2022/lluc_llull-ui-lib-headers-header-clear.mjs +153 -78
  55. package/fesm2022/lluc_llull-ui-lib-headers-header-clear.mjs.map +1 -1
  56. package/fesm2022/lluc_llull-ui-lib-headers-header-mobile.mjs +153 -78
  57. package/fesm2022/lluc_llull-ui-lib-headers-header-mobile.mjs.map +1 -1
  58. package/fesm2022/lluc_llull-ui-lib-headers.mjs +296 -142
  59. package/fesm2022/lluc_llull-ui-lib-headers.mjs.map +1 -1
  60. package/fesm2022/lluc_llull-ui-lib-interfaces.mjs +0 -4
  61. package/fesm2022/lluc_llull-ui-lib-mapper.mjs +242 -264
  62. package/fesm2022/lluc_llull-ui-lib-mapper.mjs.map +1 -1
  63. package/fesm2022/lluc_llull-ui-lib-modals.mjs +163 -65
  64. package/fesm2022/lluc_llull-ui-lib-modals.mjs.map +1 -1
  65. package/fesm2022/lluc_llull-ui-lib-screen-sizer.mjs +106 -97
  66. package/fesm2022/lluc_llull-ui-lib-screen-sizer.mjs.map +1 -1
  67. package/fesm2022/lluc_llull-ui-lib-shared.mjs +279 -148
  68. package/fesm2022/lluc_llull-ui-lib-shared.mjs.map +1 -1
  69. package/fesm2022/lluc_llull-ui-lib-sliders.mjs +72 -52
  70. package/fesm2022/lluc_llull-ui-lib-sliders.mjs.map +1 -1
  71. package/fesm2022/lluc_llull-ui-lib-theme.mjs +78 -80
  72. package/fesm2022/lluc_llull-ui-lib-theme.mjs.map +1 -1
  73. package/fesm2022/lluc_llull-ui-lib-utils.mjs +42 -64
  74. package/fesm2022/lluc_llull-ui-lib-utils.mjs.map +1 -1
  75. package/fesm2022/lluc_llull-ui-lib.mjs +42 -27
  76. package/fesm2022/lluc_llull-ui-lib.mjs.map +1 -1
  77. package/package.json +88 -87
  78. package/types/lluc_llull-ui-lib-content-asymmetric-media.d.ts +21 -0
  79. package/types/lluc_llull-ui-lib-content-category-progress.d.ts +34 -0
  80. package/types/lluc_llull-ui-lib-content-columns-media-stacked.d.ts +33 -0
  81. package/types/lluc_llull-ui-lib-content-contact-minimal.d.ts +39 -0
  82. package/types/lluc_llull-ui-lib-content-content-document.d.ts +24 -0
  83. package/types/lluc_llull-ui-lib-content-hero-section.d.ts +62 -0
  84. package/types/lluc_llull-ui-lib-content-media-intro.d.ts +33 -0
  85. package/types/lluc_llull-ui-lib-content-media-split.d.ts +36 -0
  86. package/types/lluc_llull-ui-lib-content-mosaic-grid.d.ts +27 -0
  87. package/types/lluc_llull-ui-lib-content-mosaic-parallax.d.ts +35 -0
  88. package/types/lluc_llull-ui-lib-content-section-intro.d.ts +33 -0
  89. package/types/lluc_llull-ui-lib-content-split-previewer.d.ts +47 -0
  90. package/types/lluc_llull-ui-lib-content-split-showcase.d.ts +43 -0
  91. package/types/lluc_llull-ui-lib-content-stacked-rows.d.ts +30 -0
  92. package/types/lluc_llull-ui-lib-content.d.ts +471 -0
  93. package/types/lluc_llull-ui-lib-directives.d.ts +93 -0
  94. package/types/lluc_llull-ui-lib-effects.d.ts +50 -0
  95. package/types/lluc_llull-ui-lib-enums.d.ts +7 -0
  96. package/types/lluc_llull-ui-lib-feedback-404.d.ts +33 -0
  97. package/types/lluc_llull-ui-lib-feedback.d.ts +33 -0
  98. package/types/lluc_llull-ui-lib-footers-columns-footer.d.ts +30 -0
  99. package/types/lluc_llull-ui-lib-footers-legal-footer.d.ts +40 -0
  100. package/types/lluc_llull-ui-lib-footers-links-footer.d.ts +15 -0
  101. package/types/lluc_llull-ui-lib-footers-social-footer.d.ts +27 -0
  102. package/types/lluc_llull-ui-lib-footers-visual-footer.d.ts +57 -0
  103. package/types/lluc_llull-ui-lib-footers.d.ts +161 -0
  104. package/types/lluc_llull-ui-lib-headers-header-clear.d.ts +68 -0
  105. package/types/lluc_llull-ui-lib-headers-header-mobile.d.ts +68 -0
  106. package/types/lluc_llull-ui-lib-headers.d.ts +132 -0
  107. package/types/lluc_llull-ui-lib-interfaces.d.ts +92 -0
  108. package/types/lluc_llull-ui-lib-mapper.d.ts +40 -0
  109. package/types/lluc_llull-ui-lib-modals.d.ts +47 -0
  110. package/types/lluc_llull-ui-lib-screen-sizer.d.ts +34 -0
  111. package/types/lluc_llull-ui-lib-shared.d.ts +99 -0
  112. package/types/lluc_llull-ui-lib-sliders.d.ts +17 -0
  113. package/types/lluc_llull-ui-lib-theme.d.ts +16 -0
  114. package/{utils/utils.d.ts → types/lluc_llull-ui-lib-utils.d.ts} +2 -2
  115. package/types/lluc_llull-ui-lib.d.ts +5 -0
  116. package/content/asymmetric-media/asymmetric-media.component.d.ts +0 -8
  117. package/content/asymmetric-media/asymmetric-media.interface.d.ts +0 -5
  118. package/content/asymmetric-media/index.d.ts +0 -2
  119. package/content/category-progress/category-progress.component.d.ts +0 -16
  120. package/content/category-progress/category-progress.interface.d.ts +0 -6
  121. package/content/category-progress/index.d.ts +0 -2
  122. package/content/columns-media-stacked/columns-media-stacked.component.d.ts +0 -10
  123. package/content/columns-media-stacked/columns-media-stacked.interface.d.ts +0 -7
  124. package/content/columns-media-stacked/index.d.ts +0 -2
  125. package/content/contact-minimal/contact-minimal.component.d.ts +0 -11
  126. package/content/contact-minimal/contact-minimal.interface.d.ts +0 -8
  127. package/content/contact-minimal/index.d.ts +0 -2
  128. package/content/content-document/content-document.component.d.ts +0 -11
  129. package/content/content-document/content-document.interface.d.ts +0 -5
  130. package/content/content-document/index.d.ts +0 -2
  131. package/content/hero-section/hero-section.component.d.ts +0 -19
  132. package/content/hero-section/hero-section.interface.d.ts +0 -11
  133. package/content/hero-section/hero-section.stories.d.ts +0 -7
  134. package/content/hero-section/index.d.ts +0 -3
  135. package/content/index.d.ts +0 -14
  136. package/content/media-intro/index.d.ts +0 -2
  137. package/content/media-intro/media-intro.component.d.ts +0 -10
  138. package/content/media-intro/media-intro.interface.d.ts +0 -7
  139. package/content/media-split/index.d.ts +0 -2
  140. package/content/media-split/media-split.component.d.ts +0 -18
  141. package/content/media-split/media-split.interface.d.ts +0 -6
  142. package/content/mosaic-grid/index.d.ts +0 -2
  143. package/content/mosaic-grid/mosaic-grid.component.d.ts +0 -14
  144. package/content/mosaic-grid/mosaic-grid.interface.d.ts +0 -5
  145. package/content/mosaic-parallax/index.d.ts +0 -2
  146. package/content/mosaic-parallax/mosaic-parallax.component.d.ts +0 -17
  147. package/content/mosaic-parallax/mosaic-parallax.interface.d.ts +0 -6
  148. package/content/section-intro/index.d.ts +0 -2
  149. package/content/section-intro/section-intro.component.d.ts +0 -11
  150. package/content/section-intro/section-intro.interface.d.ts +0 -2
  151. package/content/split-previewer/index.d.ts +0 -2
  152. package/content/split-previewer/split-previewer.component.d.ts +0 -24
  153. package/content/split-previewer/split-previewer.interface.d.ts +0 -8
  154. package/content/split-showcase/index.d.ts +0 -2
  155. package/content/split-showcase/split-showcase.component.d.ts +0 -15
  156. package/content/split-showcase/split-showcase.interface.d.ts +0 -9
  157. package/content/stacked-rows/index.d.ts +0 -2
  158. package/content/stacked-rows/stacked-rows.component.d.ts +0 -12
  159. package/content/stacked-rows/stacked-rows.interface.d.ts +0 -6
  160. package/directives/header-scroll.directive.d.ts +0 -8
  161. package/directives/highlight.directive.d.ts +0 -14
  162. package/directives/index.d.ts +0 -4
  163. package/directives/link-type.directive.d.ts +0 -26
  164. package/directives/scroll-reveal.directive.d.ts +0 -15
  165. package/effects/dynamic-background/dynamic-background.component.d.ts +0 -27
  166. package/effects/dynamic-background/effects/dynamic-effect.interface.d.ts +0 -6
  167. package/effects/dynamic-background/effects/effect-registry.d.ts +0 -3
  168. package/effects/dynamic-background/effects/sphere-deform/sphere-deform.effect.d.ts +0 -13
  169. package/effects/dynamic-background/index.d.ts +0 -1
  170. package/effects/index.d.ts +0 -1
  171. package/enums/index.d.ts +0 -1
  172. package/enums/link-type.enum.d.ts +0 -7
  173. package/feedback/404/404.component.d.ts +0 -10
  174. package/feedback/404/404.inteface.d.ts +0 -7
  175. package/feedback/404/index.d.ts +0 -2
  176. package/feedback/index.d.ts +0 -1
  177. package/fesm2022/lluc_llull-ui-lib-interfaces.mjs.map +0 -1
  178. package/footers/columns-footer/columns-footer.component.d.ts +0 -17
  179. package/footers/columns-footer/columns-footer.interface.d.ts +0 -5
  180. package/footers/columns-footer/index.d.ts +0 -2
  181. package/footers/index.d.ts +0 -5
  182. package/footers/legal-footer/index.d.ts +0 -2
  183. package/footers/legal-footer/legal-footer.component.d.ts +0 -12
  184. package/footers/legal-footer/legal-footer.interface.d.ts +0 -9
  185. package/footers/links-footer/index.d.ts +0 -2
  186. package/footers/links-footer/links-footer.component.d.ts +0 -7
  187. package/footers/links-footer/links-footer.interface.d.ts +0 -4
  188. package/footers/social-footer/index.d.ts +0 -2
  189. package/footers/social-footer/social-footer.component.d.ts +0 -9
  190. package/footers/social-footer/social-footer.interface.d.ts +0 -6
  191. package/footers/visual-footer/index.d.ts +0 -2
  192. package/footers/visual-footer/visual-footer.component.d.ts +0 -14
  193. package/footers/visual-footer/visual-footer.interface.d.ts +0 -11
  194. package/headers/header-clear/header-clear.component.d.ts +0 -28
  195. package/headers/header-clear/header-clear.interface.d.ts +0 -9
  196. package/headers/header-clear/index.d.ts +0 -2
  197. package/headers/header-mobile/header-mobile.component.d.ts +0 -28
  198. package/headers/header-mobile/header-mobile.interface.d.ts +0 -9
  199. package/headers/header-mobile/index.d.ts +0 -2
  200. package/headers/index.d.ts +0 -2
  201. package/index.d.ts +0 -5
  202. package/interfaces/index.d.ts +0 -8
  203. package/interfaces/page-config.interface.d.ts +0 -22
  204. package/interfaces/site-config.interface.d.ts +0 -21
  205. package/interfaces/ui-lib-address.interface.d.ts +0 -7
  206. package/interfaces/ui-lib-button.interface.d.ts +0 -7
  207. package/interfaces/ui-lib-image.interface.d.ts +0 -10
  208. package/interfaces/ui-lib-lang-item.interface.d.ts +0 -5
  209. package/interfaces/ui-lib-nav-items.interface.d.ts +0 -17
  210. package/interfaces/ui-lib-texts.interface.d.ts +0 -6
  211. package/lib/ui-lib.component.d.ts +0 -5
  212. package/mapper/cdn.token.d.ts +0 -2
  213. package/mapper/cloudinary.token.d.ts +0 -2
  214. package/mapper/component-mappers/404.mapper.d.ts +0 -2
  215. package/mapper/component-mappers/asymmetric-media.mapper.d.ts +0 -2
  216. package/mapper/component-mappers/category-progress.mapper.d.ts +0 -2
  217. package/mapper/component-mappers/columns-footer.mapper.d.ts +0 -2
  218. package/mapper/component-mappers/columns-media-stacked.mapper.d.ts +0 -2
  219. package/mapper/component-mappers/contact-minimal.mapper.d.ts +0 -2
  220. package/mapper/component-mappers/content-document.mapper.d.ts +0 -2
  221. package/mapper/component-mappers/header-clear.mapper.d.ts +0 -2
  222. package/mapper/component-mappers/hero-section.mapper.d.ts +0 -2
  223. package/mapper/component-mappers/index.d.ts +0 -24
  224. package/mapper/component-mappers/lang-modal.mapper.d.ts +0 -2
  225. package/mapper/component-mappers/legal-footer.mapper.d.ts +0 -2
  226. package/mapper/component-mappers/links-footer.mapper.d.ts +0 -2
  227. package/mapper/component-mappers/media-intro.mapper.d.ts +0 -2
  228. package/mapper/component-mappers/media-split.mapper.d.ts +0 -2
  229. package/mapper/component-mappers/mosaic-grid.mapper.d.ts +0 -2
  230. package/mapper/component-mappers/mosaic-parallax.mapper.d.ts +0 -2
  231. package/mapper/component-mappers/nav-modal.mapper.d.ts +0 -3
  232. package/mapper/component-mappers/section-intro.mapper.d.ts +0 -2
  233. package/mapper/component-mappers/social-footer.mapper.d.ts +0 -2
  234. package/mapper/component-mappers/split-previewer.mapper.d.ts +0 -2
  235. package/mapper/component-mappers/split-showcase.mapper.d.ts +0 -2
  236. package/mapper/component-mappers/stacked-rows.mapper.d.ts +0 -2
  237. package/mapper/component-mappers/types.d.ts +0 -1
  238. package/mapper/component-mappers/visual-footer.mapper.d.ts +0 -2
  239. package/mapper/index.d.ts +0 -4
  240. package/mapper/mapper.service.d.ts +0 -10
  241. package/modals/index.d.ts +0 -2
  242. package/modals/lang-modal/index.d.ts +0 -2
  243. package/modals/lang-modal/lang-modal.component.d.ts +0 -18
  244. package/modals/lang-modal/lang-modal.interface.d.ts +0 -2
  245. package/modals/nav-modal/index.d.ts +0 -2
  246. package/modals/nav-modal/nav-modal.component.d.ts +0 -11
  247. package/modals/nav-modal/nav-modal.interface.d.ts +0 -5
  248. package/public-api.d.ts +0 -1
  249. package/screen-sizer/index.d.ts +0 -1
  250. package/screen-sizer/screen-sizer.service.d.ts +0 -34
  251. package/shared/index.d.ts +0 -2
  252. package/shared/ui-icon/index.d.ts +0 -3
  253. package/shared/ui-icon/ui-icon.component.d.ts +0 -15
  254. package/shared/ui-icon/ui-icon.interface.d.ts +0 -5
  255. package/shared/ui-icon/ui-icon.mock.d.ts +0 -8
  256. package/shared/ui-image/index.d.ts +0 -1
  257. package/shared/ui-image/ui-image.component.d.ts +0 -21
  258. package/sliders/index.d.ts +0 -1
  259. package/sliders/swiper.directive.d.ts +0 -12
  260. package/theme/index.d.ts +0 -1
  261. package/theme/theme.service.d.ts +0 -16
  262. package/utils/index.d.ts +0 -1
@@ -1,79 +1,154 @@
1
- import { CommonModule } from '@angular/common';
2
- import * as i0 from '@angular/core';
3
- import { EventEmitter, Output, Input, ChangeDetectionStrategy, Component } from '@angular/core';
4
- import { LinkTypeDirective } from '@lluc_llull/ui-lib/directives';
5
- import { mapNavModal } from '@lluc_llull/ui-lib/mapper';
6
- import { NavModalComponent, LangModalComponent } from '@lluc_llull/ui-lib/modals';
7
- import { UiIconComponent } from '@lluc_llull/ui-lib/shared';
8
- import * as i1 from '@lluc_llull/ui-lib/theme';
9
-
10
- class HeaderMobileComponent {
11
- themeService;
12
- isMenuOpen = false;
13
- currentTheme = 'light';
14
- themeSubscription;
15
- logo;
16
- logoDark;
17
- navItems;
18
- socialItems;
19
- homeLink;
20
- navigation;
21
- lang = 'es';
22
- langModal = new EventEmitter();
23
- theme = new EventEmitter();
24
- constructor(themeService) {
25
- this.themeService = themeService;
26
- }
27
- ngOnInit() {
28
- this.themeSubscription = this.themeService.currentTheme$.subscribe((theme) => {
29
- this.currentTheme = theme;
30
- });
31
- }
32
- ngOnChanges() {
33
- this.navItems = mapNavModal(this.navigation, this.lang);
34
- }
35
- ngOnDestroy() {
36
- this.themeSubscription?.unsubscribe();
37
- }
38
- openLanguagesModal() {
39
- this.langModal.emit();
40
- }
41
- toggleTheme() {
42
- this.themeService.toggleTheme();
43
- this.theme.emit();
44
- }
45
- toggleMenu() {
46
- this.isMenuOpen = !this.isMenuOpen;
47
- }
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: HeaderMobileComponent, deps: [{ token: i1.ThemeService }], target: i0.ɵɵFactoryTarget.Component });
49
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: HeaderMobileComponent, isStandalone: true, selector: "lib-header-mobile", inputs: { logo: "logo", logoDark: "logoDark", navItems: "navItems", socialItems: "socialItems", homeLink: "homeLink", navigation: "navigation", lang: "lang" }, outputs: { langModal: "langModal", theme: "theme" }, usesOnChanges: true, 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 </div>\n </a>\n</header>\n\n<div class=\"header-actions\">\n <!-- Idioma -->\n <div class=\"left\">\n <button class=\"btn btn-header\" (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-header\" aria-label=\"Toggle theme\" (click)=\"toggleTheme()\">\n <ui-icon\n [name]=\"currentTheme === 'dark' ? 'moon' : 'sun'\"\n [size]=\"17\"\n [color]=\"'var(--color-primary)'\"\n ></ui-icon>\n </button>\n </div>\n\n <!-- Icono de men\u00FA -->\n <div class=\"right\">\n <button class=\"btn btn-header\" aria-label=\"Open nav\" (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: [".header-mobile{display:flex;justify-content:center;align-items:center;padding:1rem 0;border-radius:0;position:fixed;top:0;z-index:100;width:100vw}.header-logo{display:flex;align-items:center;gap:.5rem;color:var(--header-logo-text)}.header-logo img{width:80px;height:80px;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"] }, { kind: "component", type: UiIconComponent, selector: "ui-icon", inputs: ["name", "size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: HeaderMobileComponent, decorators: [{
52
- type: Component,
53
- args: [{ selector: 'lib-header-mobile', standalone: true, imports: [CommonModule, LangModalComponent, NavModalComponent, LinkTypeDirective, UiIconComponent], 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 </div>\n </a>\n</header>\n\n<div class=\"header-actions\">\n <!-- Idioma -->\n <div class=\"left\">\n <button class=\"btn btn-header\" (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-header\" aria-label=\"Toggle theme\" (click)=\"toggleTheme()\">\n <ui-icon\n [name]=\"currentTheme === 'dark' ? 'moon' : 'sun'\"\n [size]=\"17\"\n [color]=\"'var(--color-primary)'\"\n ></ui-icon>\n </button>\n </div>\n\n <!-- Icono de men\u00FA -->\n <div class=\"right\">\n <button class=\"btn btn-header\" aria-label=\"Open nav\" (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: [".header-mobile{display:flex;justify-content:center;align-items:center;padding:1rem 0;border-radius:0;position:fixed;top:0;z-index:100;width:100vw}.header-logo{display:flex;align-items:center;gap:.5rem;color:var(--header-logo-text)}.header-logo img{width:80px;height:80px;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"] }]
54
- }], ctorParameters: () => [{ type: i1.ThemeService }], propDecorators: { logo: [{
55
- type: Input
56
- }], logoDark: [{
57
- type: Input
58
- }], navItems: [{
59
- type: Input
60
- }], socialItems: [{
61
- type: Input
62
- }], homeLink: [{
63
- type: Input
64
- }], navigation: [{
65
- type: Input
66
- }], lang: [{
67
- type: Input
68
- }], langModal: [{
69
- type: Output
70
- }], theme: [{
71
- type: Output
72
- }] } });
73
-
74
- /**
75
- * Generated bundle index. Do not edit.
76
- */
77
-
1
+ import { CommonModule } from "@angular/common";
2
+ import * as i0 from "@angular/core";
3
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from "@angular/core";
4
+ import { HeaderScrollDirective, LinkTypeDirective } from "@lluc_llull/ui-lib/directives";
5
+ import { mapNavModal } from "@lluc_llull/ui-lib/mapper";
6
+ import { NavModalComponent } from "@lluc_llull/ui-lib/modals";
7
+ import { UiIconComponent } from "@lluc_llull/ui-lib/shared";
8
+ import * as i1 from "@lluc_llull/ui-lib/theme";
9
+ var HeaderMobileComponent = class HeaderMobileComponent {
10
+ themeService;
11
+ isMenuOpen = false;
12
+ currentTheme = "light";
13
+ themeSubscription;
14
+ logo;
15
+ logoDark;
16
+ navItems;
17
+ socialItems;
18
+ homeLink;
19
+ navigation;
20
+ lang = "es";
21
+ langModal = new EventEmitter();
22
+ theme = new EventEmitter();
23
+ constructor(themeService) {
24
+ this.themeService = themeService;
25
+ }
26
+ ngOnInit() {
27
+ this.themeSubscription = this.themeService.currentTheme$.subscribe((theme) => {
28
+ this.currentTheme = theme;
29
+ });
30
+ }
31
+ ngOnChanges() {
32
+ this.navItems = mapNavModal(this.navigation, this.lang);
33
+ }
34
+ ngOnDestroy() {
35
+ this.themeSubscription?.unsubscribe();
36
+ }
37
+ openLanguagesModal() {
38
+ this.langModal.emit();
39
+ }
40
+ toggleTheme() {
41
+ this.themeService.toggleTheme();
42
+ this.theme.emit();
43
+ }
44
+ toggleMenu() {
45
+ this.isMenuOpen = !this.isMenuOpen;
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({
48
+ minVersion: "12.0.0",
49
+ version: "22.2.4",
50
+ ngImport: i0,
51
+ type: HeaderMobileComponent,
52
+ deps: [{ token: i1.ThemeService }],
53
+ target: i0.ɵɵFactoryTarget.Component
54
+ });
55
+ static ɵcmp = i0.ɵɵngDeclareComponent({
56
+ minVersion: "17.0.0",
57
+ version: "22.2.4",
58
+ type: HeaderMobileComponent,
59
+ isStandalone: true,
60
+ selector: "lib-header-mobile",
61
+ inputs: {
62
+ logo: "logo",
63
+ logoDark: "logoDark",
64
+ navItems: "navItems",
65
+ socialItems: "socialItems",
66
+ homeLink: "homeLink",
67
+ navigation: "navigation",
68
+ lang: "lang"
69
+ },
70
+ outputs: {
71
+ langModal: "langModal",
72
+ theme: "theme"
73
+ },
74
+ usesOnChanges: true,
75
+ ngImport: i0,
76
+ template: "<header class=\"header-mobile\" headerScroll [scrollThreshold]=\"60\">\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 </div>\n </a>\n</header>\n\n<div class=\"header-actions\">\n <!-- Idioma -->\n <div class=\"left\">\n <button class=\"btn btn-header\" (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-header\" aria-label=\"Toggle theme\" (click)=\"toggleTheme()\">\n <ui-icon\n [name]=\"currentTheme === 'dark' ? 'moon' : 'sun'\"\n [size]=\"17\"\n [color]=\"'var(--color-primary)'\"\n ></ui-icon>\n </button>\n </div>\n\n <!-- Icono de menú -->\n <div class=\"right\">\n <button class=\"btn btn-header\" aria-label=\"Open nav\" (click)=\"toggleMenu()\">\n <span>☰</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",
77
+ styles: [".header-mobile{display:flex;justify-content:center;align-items:center;padding:1rem 0;border-radius:0;position:fixed;top:0;z-index:100;width:100vw;background:var(--header-bg);transition:background .3s ease,box-shadow .3s ease}.header-mobile.is-scrolled{background:var(--header-bg-fixed-dark);box-shadow:0 2px 12px #00000014}.header-logo{display:flex;align-items:center;gap:.5rem;color:var(--header-logo-text)}.header-logo img{width:80px;height:80px;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"],
78
+ dependencies: [
79
+ {
80
+ kind: "ngmodule",
81
+ type: CommonModule
82
+ },
83
+ {
84
+ kind: "component",
85
+ type: NavModalComponent,
86
+ selector: "lib-nav-modal",
87
+ inputs: ["navItems", "socialItems"],
88
+ outputs: ["close"]
89
+ },
90
+ {
91
+ kind: "directive",
92
+ type: HeaderScrollDirective,
93
+ selector: "[headerScroll]",
94
+ inputs: ["scrollThreshold"]
95
+ },
96
+ {
97
+ kind: "directive",
98
+ type: LinkTypeDirective,
99
+ selector: "[linkType]",
100
+ inputs: ["linkType", "href"],
101
+ outputs: ["anchorClicked"]
102
+ },
103
+ {
104
+ kind: "component",
105
+ type: UiIconComponent,
106
+ selector: "ui-icon",
107
+ inputs: [
108
+ "name",
109
+ "size",
110
+ "color"
111
+ ]
112
+ }
113
+ ],
114
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
115
+ });
116
+ };
117
+ i0.ɵɵngDeclareClassMetadata({
118
+ minVersion: "12.0.0",
119
+ version: "22.2.4",
120
+ ngImport: i0,
121
+ type: HeaderMobileComponent,
122
+ decorators: [{
123
+ type: Component,
124
+ args: [{
125
+ selector: "lib-header-mobile",
126
+ standalone: true,
127
+ imports: [
128
+ CommonModule,
129
+ NavModalComponent,
130
+ HeaderScrollDirective,
131
+ LinkTypeDirective,
132
+ UiIconComponent
133
+ ],
134
+ changeDetection: ChangeDetectionStrategy.OnPush,
135
+ template: "<header class=\"header-mobile\" headerScroll [scrollThreshold]=\"60\">\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 </div>\n </a>\n</header>\n\n<div class=\"header-actions\">\n <!-- Idioma -->\n <div class=\"left\">\n <button class=\"btn btn-header\" (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-header\" aria-label=\"Toggle theme\" (click)=\"toggleTheme()\">\n <ui-icon\n [name]=\"currentTheme === 'dark' ? 'moon' : 'sun'\"\n [size]=\"17\"\n [color]=\"'var(--color-primary)'\"\n ></ui-icon>\n </button>\n </div>\n\n <!-- Icono de menú -->\n <div class=\"right\">\n <button class=\"btn btn-header\" aria-label=\"Open nav\" (click)=\"toggleMenu()\">\n <span>☰</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",
136
+ styles: [".header-mobile{display:flex;justify-content:center;align-items:center;padding:1rem 0;border-radius:0;position:fixed;top:0;z-index:100;width:100vw;background:var(--header-bg);transition:background .3s ease,box-shadow .3s ease}.header-mobile.is-scrolled{background:var(--header-bg-fixed-dark);box-shadow:0 2px 12px #00000014}.header-logo{display:flex;align-items:center;gap:.5rem;color:var(--header-logo-text)}.header-logo img{width:80px;height:80px;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"]
137
+ }]
138
+ }],
139
+ ctorParameters: () => [{ type: i1.ThemeService }],
140
+ propDecorators: {
141
+ logo: [{ type: Input }],
142
+ logoDark: [{ type: Input }],
143
+ navItems: [{ type: Input }],
144
+ socialItems: [{ type: Input }],
145
+ homeLink: [{ type: Input }],
146
+ navigation: [{ type: Input }],
147
+ lang: [{ type: Input }],
148
+ langModal: [{ type: Output }],
149
+ theme: [{ type: Output }]
150
+ }
151
+ });
78
152
  export { HeaderMobileComponent };
79
- //# sourceMappingURL=lluc_llull-ui-lib-headers-header-mobile.mjs.map
153
+
154
+ //# sourceMappingURL=lluc_llull-ui-lib-headers-header-mobile.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lluc_llull-ui-lib-headers-header-mobile.mjs","sources":["../../../projects/ui-lib/headers/header-mobile/header-mobile.component.ts","../../../projects/ui-lib/headers/header-mobile/header-mobile.component.html","../../../projects/ui-lib/headers/header-mobile/lluc_llull-ui-lib-headers-header-mobile.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { LinkTypeDirective } from '@lluc_llull/ui-lib/directives';\nimport {\n UiLibButtonI,\n UiLibImageI,\n UiLibNavItemsI,\n UiLibSocialItemsI,\n} from '@lluc_llull/ui-lib/interfaces';\nimport { Theme, ThemeService } from '@lluc_llull/ui-lib/theme';\nimport { Subscription } from 'rxjs';\nimport { mapNavModal } from '@lluc_llull/ui-lib/mapper';\nimport { LangModalComponent, NavModalComponent } from '@lluc_llull/ui-lib/modals';\nimport { UiIconComponent } from '@lluc_llull/ui-lib/shared';\n\n@Component({\n selector: 'lib-header-mobile',\n standalone: true,\n imports: [CommonModule, LangModalComponent, NavModalComponent, LinkTypeDirective, UiIconComponent],\n templateUrl: './header-mobile.component.html',\n styleUrl: './header-mobile.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeaderMobileComponent implements OnInit, OnChanges, OnDestroy {\n isMenuOpen = false;\n currentTheme: Theme = 'light';\n private themeSubscription?: Subscription;\n\n @Input() logo?: UiLibImageI;\n @Input() logoDark?: UiLibImageI;\n @Input() navItems?: UiLibNavItemsI[];\n @Input() socialItems?: UiLibSocialItemsI[];\n @Input() homeLink?: UiLibButtonI;\n @Input() navigation: any;\n @Input() lang: string = 'es';\n\n @Output() langModal = new EventEmitter<void>();\n @Output() theme = new EventEmitter<void>();\n\n constructor(private themeService: ThemeService) {}\n\n ngOnInit(): void {\n this.themeSubscription = this.themeService.currentTheme$.subscribe((theme) => {\n this.currentTheme = theme;\n });\n }\n\n ngOnChanges() {\n this.navItems = mapNavModal(this.navigation, this.lang);\n }\n\n ngOnDestroy(): void {\n this.themeSubscription?.unsubscribe();\n }\n\n openLanguagesModal(): void {\n this.langModal.emit();\n }\n\n toggleTheme(): void {\n this.themeService.toggleTheme();\n this.theme.emit();\n }\n\n toggleMenu(): void {\n this.isMenuOpen = !this.isMenuOpen;\n }\n}\n","<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 </div>\n </a>\n</header>\n\n<div class=\"header-actions\">\n <!-- Idioma -->\n <div class=\"left\">\n <button class=\"btn btn-header\" (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-header\" aria-label=\"Toggle theme\" (click)=\"toggleTheme()\">\n <ui-icon\n [name]=\"currentTheme === 'dark' ? 'moon' : 'sun'\"\n [size]=\"17\"\n [color]=\"'var(--color-primary)'\"\n ></ui-icon>\n </button>\n </div>\n\n <!-- Icono de menú -->\n <div class=\"right\">\n <button class=\"btn btn-header\" aria-label=\"Open nav\" (click)=\"toggleMenu()\">\n <span>☰</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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lluc_llull-ui-lib-headers-header-mobile.mjs","names":[],"sources":["../../../projects/ui-lib/headers/header-mobile/header-mobile.component.ts","../../../projects/ui-lib/headers/header-mobile/header-mobile.component.html"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { HeaderScrollDirective, LinkTypeDirective } from '@lluc_llull/ui-lib/directives';\nimport {\n UiLibButtonI,\n UiLibImageI,\n UiLibNavItemsI,\n UiLibSocialItemsI,\n} from '@lluc_llull/ui-lib/interfaces';\nimport { Theme, ThemeService } from '@lluc_llull/ui-lib/theme';\nimport { Subscription } from 'rxjs';\nimport { mapNavModal } from '@lluc_llull/ui-lib/mapper';\nimport { NavModalComponent } from '@lluc_llull/ui-lib/modals';\nimport { UiIconComponent } from '@lluc_llull/ui-lib/shared';\n\n@Component({\n selector: 'lib-header-mobile',\n standalone: true,\n imports: [CommonModule, NavModalComponent, HeaderScrollDirective, LinkTypeDirective, UiIconComponent],\n templateUrl: './header-mobile.component.html',\n styleUrl: './header-mobile.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeaderMobileComponent implements OnInit, OnChanges, OnDestroy {\n isMenuOpen = false;\n currentTheme: Theme = 'light';\n private themeSubscription?: Subscription;\n\n @Input() logo?: UiLibImageI;\n @Input() logoDark?: UiLibImageI;\n @Input() navItems?: UiLibNavItemsI[];\n @Input() socialItems?: UiLibSocialItemsI[];\n @Input() homeLink?: UiLibButtonI;\n @Input() navigation: any;\n @Input() lang: string = 'es';\n\n @Output() langModal = new EventEmitter<void>();\n @Output() theme = new EventEmitter<void>();\n\n constructor(private themeService: ThemeService) {}\n\n ngOnInit(): void {\n this.themeSubscription = this.themeService.currentTheme$.subscribe((theme) => {\n this.currentTheme = theme;\n });\n }\n\n ngOnChanges() {\n this.navItems = mapNavModal(this.navigation, this.lang);\n }\n\n ngOnDestroy(): void {\n this.themeSubscription?.unsubscribe();\n }\n\n openLanguagesModal(): void {\n this.langModal.emit();\n }\n\n toggleTheme(): void {\n this.themeService.toggleTheme();\n this.theme.emit();\n }\n\n toggleMenu(): void {\n this.isMenuOpen = !this.isMenuOpen;\n }\n}\n","<header class=\"header-mobile\" headerScroll [scrollThreshold]=\"60\">\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 </div>\n </a>\n</header>\n\n<div class=\"header-actions\">\n <!-- Idioma -->\n <div class=\"left\">\n <button class=\"btn btn-header\" (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-header\" aria-label=\"Toggle theme\" (click)=\"toggleTheme()\">\n <ui-icon\n [name]=\"currentTheme === 'dark' ? 'moon' : 'sun'\"\n [size]=\"17\"\n [color]=\"'var(--color-primary)'\"\n ></ui-icon>\n </button>\n </div>\n\n <!-- Icono de menú -->\n <div class=\"right\">\n <button class=\"btn btn-header\" aria-label=\"Open nav\" (click)=\"toggleMenu()\">\n <span>☰</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"],"mappings":";;;;;;;;AAgCA,IAAa,wBAAb,MAAa,sBAAqB;CAgBV;CAfpB,aAAa;CACb,eAAsB;CACd;CAEC;CACA;CACA;CACA;CACA;CACA;CACA,OAAe;CAEd,YAAY,IAAI,aAAY;CAC5B,QAAQ,IAAI,aAAY;CAElC,YAAoB,cAA0B;EAA1B,KAAA,eAAA;CAA6B;CAEjD,WAAQ;EACJ,KAAK,oBAAoB,KAAK,aAAa,cAAc,WAAW,UAAS;GACzE,KAAK,eAAe;EACxB,CAAC;CACL;CAEA,cAAW;EACP,KAAK,WAAW,YAAY,KAAK,YAAY,KAAK,IAAI;CAC1D;CAEA,cAAW;EACP,KAAK,mBAAmB,YAAW;CACvC;CAEA,qBAAkB;EACd,KAAK,UAAU,KAAI;CACvB;CAEA,cAAW;EACP,KAAK,aAAa,YAAW;EAC7B,KAAK,MAAM,KAAI;CACnB;CAEA,aAAU;EACN,KAAK,aAAa,CAAC,KAAK;CAC5B;CA3CS,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAqB,MAAA,CAAA,EAAA,OAAA,GAAA,aAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAArB,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAqB,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,MAAA;GAAA,UAAA;GAAA,UAAA;GAAA,aAAA;GAAA,UAAA;GAAA,YAAA;GAAA,MAAA;EAAA;EAAA,SAAA;GAAA,WAAA;GAAA,OAAA;EAAA;EAAA,eAAA;EAAA,UAAA;EAAA,UChClC;EA8CA,QAAA,CAAA,swBAAA;EAAA,cAAA;GAAA;IAAA,MAAA;IAAA,MDnBc;GAAY;GAAA;IAAA,MAAA;IAAA,MAAE;IAAiB,UAAA;IAAA,QAAA,CAAA,YAAA,aAAA;IAAA,SAAA,CAAA,OAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAE;IAAqB,UAAA;IAAA,QAAA,CAAA,iBAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAE;IAAiB,UAAA;IAAA,QAAA,CAAA,YAAA,MAAA;IAAA,SAAA,CAAA,eAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAE;IAAe,UAAA;IAAA,QAAA;KAAA;KAAA;KAAA;IAAA;GAAA;EAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;AAK3F,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAqB,YAAA,CAAA;EARjC,MAAA;EACa,MAAA,CAAA;GAAA,UAAA;GAAmB,YACjB;GAAI,SACP;IAAC;IAAc;IAAmB;IAAuB;IAAmB;GAAe;GAAC,iBAGpF,wBAAwB;GAAM,UAAA;GAAA,QAAA,CAAA,swBAAA;EAAA,CAAA;;;;E,SAO9C,MAAA,M;E,aACA,MAAA,M;E,aACA,MAAA,M;E,gBACA,MAAA,M;E,aACA,MAAA,M;E,eACA,MAAA,M;E,SACA,MAAA,M;E,cAEA,MAAA,O;E,UACA,MAAA,O"}