@rededor/site-front-end-lib 0.0.72 → 0.0.74

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 (147) hide show
  1. package/README.md +83 -83
  2. package/esm2022/lib/components/algolia/algolia.component.mjs +154 -0
  3. package/esm2022/lib/components/banner/content-banner/content-banner.component.mjs +31 -0
  4. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +119 -0
  5. package/esm2022/lib/components/cards/card-unidade-planos-convenios/card-unidade-planos-convenios.component.mjs +60 -0
  6. package/esm2022/lib/components/cards/expandable-card/expandable-card.component.mjs +65 -0
  7. package/esm2022/lib/components/cta-wrapper/cta-wrapper.component.mjs +69 -0
  8. package/esm2022/lib/components/error/error-service/error.service.mjs +17 -0
  9. package/esm2022/lib/components/error/error.component.mjs +152 -0
  10. package/esm2022/lib/components/filter-letter-and-terms/filter-letter-and-terms.component.mjs +30 -0
  11. package/esm2022/lib/components/filters/filter-planos-convenios/filter-planos-convenios.component.mjs +122 -0
  12. package/esm2022/lib/components/footer/components/footer-disclaimer/footer-disclaimer.component.mjs +33 -0
  13. package/esm2022/lib/components/footer/components/footer-menu/footer-menu.component.mjs +28 -0
  14. package/esm2022/lib/components/footer/components/footer-menu-item/footer-menu-item.component.mjs +39 -0
  15. package/esm2022/lib/components/footer/components/footer-social-medias/footer-social-medias.component.mjs +33 -0
  16. package/esm2022/lib/components/footer/footer.component.mjs +50 -0
  17. package/esm2022/lib/components/footer/helpers/footerTheme.func.mjs +70 -0
  18. package/esm2022/lib/components/footer/models/FooterTheme.model.mjs +2 -0
  19. package/esm2022/lib/components/header/components/header-action-menu/header-action-menu.component.mjs +28 -0
  20. package/esm2022/lib/components/header/components/header-aux-menu/header-aux-menu.component.mjs +12 -0
  21. package/esm2022/lib/components/header/components/header-aux-menu-container/header-aux-menu-container.component.mjs +17 -0
  22. package/esm2022/lib/components/header/components/header-aux-menu-item/header-aux-menu-item.component.mjs +47 -0
  23. package/esm2022/lib/components/header/components/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.mjs +23 -0
  24. package/esm2022/lib/components/header/components/header-logo/header-logo.component.mjs +32 -0
  25. package/esm2022/lib/components/header/components/header-main-menu/header-main-menu.component.mjs +11 -0
  26. package/esm2022/lib/components/header/components/header-main-menu-item/header-main-menu-item.component.mjs +72 -0
  27. package/esm2022/lib/components/header/components/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.mjs +88 -0
  28. package/esm2022/lib/components/header/components/header-side-menu/header-side-menu.component.mjs +21 -0
  29. package/esm2022/lib/components/header/components/header-side-menu-item/header-side-menu-item.component.mjs +52 -0
  30. package/esm2022/lib/components/header/header.component.mjs +87 -0
  31. package/esm2022/lib/components/header/helpers/headerTheme.func.mjs +134 -0
  32. package/esm2022/lib/components/header/models/HeaderTheme.model.mjs +2 -0
  33. package/esm2022/lib/components/header/services/header.service.mjs +43 -0
  34. package/esm2022/lib/components/image/image.component.mjs +61 -0
  35. package/esm2022/lib/components/index.mjs +42 -0
  36. package/esm2022/lib/components/load-screen/load-screen.component.mjs +23 -0
  37. package/esm2022/lib/components/overlay/overlay.component.mjs +19 -0
  38. package/esm2022/lib/components/page-header/page-header.component.mjs +41 -0
  39. package/esm2022/lib/components/page-template-sidebar/page-template-sidebar.component.mjs +33 -0
  40. package/esm2022/lib/components/search/search.component.mjs +145 -0
  41. package/esm2022/lib/components/section-navigation/section-navigation.component.mjs +146 -0
  42. package/esm2022/lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.mjs +41 -0
  43. package/esm2022/lib/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.mjs +40 -0
  44. package/esm2022/lib/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.mjs +40 -0
  45. package/esm2022/lib/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.mjs +11 -0
  46. package/esm2022/lib/components/side-ctas/models/SideCta.model.mjs +2 -0
  47. package/esm2022/lib/components/side-ctas/side-ctas.component.mjs +23 -0
  48. package/esm2022/lib/components/whatsapp/whatsapp.component.mjs +54 -0
  49. package/esm2022/lib/directives/index.mjs +4 -0
  50. package/esm2022/lib/directives/rdsite-click-outside/rdsite-click-outside.directive.mjs +29 -0
  51. package/esm2022/lib/directives/rdsite-link/rdsite-link.directive.mjs +175 -0
  52. package/esm2022/lib/directives/rdsite-phone-modal/rdsite-phone-modal.directive.mjs +52 -0
  53. package/esm2022/lib/enums/EnumDoencaTaxonomy.enum.mjs +11 -0
  54. package/esm2022/lib/enums/EnumError.enum.mjs +6 -0
  55. package/esm2022/lib/enums/EnumThemes.enum.mjs +8 -0
  56. package/esm2022/lib/enums/Estados.enum.mjs +31 -0
  57. package/esm2022/lib/enums/IconCuraDefaultType.enum.mjs +121 -0
  58. package/esm2022/lib/enums/ImageMimeType.enum.mjs +7 -0
  59. package/esm2022/lib/enums/RdsiteModalComponentStyle.enum.mjs +13 -0
  60. package/esm2022/lib/enums/RdsiteModalDrawerComponentStyle.enum.mjs +7 -0
  61. package/esm2022/lib/enums/UnidadeCoverageType.enum.mjs +7 -0
  62. package/esm2022/lib/enums/index.mjs +10 -0
  63. package/esm2022/lib/helpers/check-safari-agent.func.mjs +7 -0
  64. package/esm2022/lib/helpers/formatPhone.func.mjs +29 -0
  65. package/esm2022/lib/helpers/getSiteUrl.func.mjs +11 -0
  66. package/esm2022/lib/helpers/index.mjs +8 -0
  67. package/esm2022/lib/helpers/mediaQueries.mjs +11 -0
  68. package/esm2022/lib/helpers/removeDuplicateObjectsFromArray.func.mjs +5 -0
  69. package/esm2022/lib/helpers/removeDuplicateValuesFromArray.func.mjs +5 -0
  70. package/esm2022/lib/helpers/removeHtmlTags.func.mjs +6 -0
  71. package/esm2022/lib/helpers/toQueryParams.func.mjs +8 -0
  72. package/esm2022/lib/json/unidades.json +10179 -0
  73. package/esm2022/lib/json/unidadesOnco.json +4936 -0
  74. package/esm2022/lib/models/algolia-search-api.model.mjs +2 -0
  75. package/esm2022/lib/models/algolia.model.mjs +2 -0
  76. package/esm2022/lib/models/breadcrumbs/breadcrumbs-items.model.mjs +2 -0
  77. package/esm2022/lib/models/breadcrumbs/breadcrumbs-json-item.model.mjs +2 -0
  78. package/esm2022/lib/models/centro-estudos-backend.model.mjs +2 -0
  79. package/esm2022/lib/models/content-banner.model.mjs +2 -0
  80. package/esm2022/lib/models/cta-wrapper.model.mjs +2 -0
  81. package/esm2022/lib/models/doenca-backend.model.mjs +2 -0
  82. package/esm2022/lib/models/doenca-taxonomy.model.mjs +2 -0
  83. package/esm2022/lib/models/especialidade-backend.model.mjs +2 -0
  84. package/esm2022/lib/models/exame-backend.model.mjs +2 -0
  85. package/esm2022/lib/models/filters/filter-planos-convenios.model.mjs +2 -0
  86. package/esm2022/lib/models/images/rdsite-image.model.mjs +2 -0
  87. package/esm2022/lib/models/medico-cv.model.mjs +2 -0
  88. package/esm2022/lib/models/menu-de-unidade.model.mjs +2 -0
  89. package/esm2022/lib/models/menu-item.model.mjs +2 -0
  90. package/esm2022/lib/models/privacy-tools/privacy-tools.model.mjs +2 -0
  91. package/esm2022/lib/models/rdsl-cobertura.model.mjs +2 -0
  92. package/esm2022/lib/models/rdsl-convenio.model.mjs +2 -0
  93. package/esm2022/lib/models/rdsl-especialidade.model.mjs +2 -0
  94. package/esm2022/lib/models/rdsl-planos.model.mjs +2 -0
  95. package/esm2022/lib/models/rdsl-post-category.model.mjs +2 -0
  96. package/esm2022/lib/models/rdsl-unidade.model.mjs +2 -0
  97. package/esm2022/lib/models/section-navigation.model.mjs +2 -0
  98. package/esm2022/lib/models/seo/seo-data.model.mjs +2 -0
  99. package/esm2022/lib/models/seo/seo-unidade.model.mjs +2 -0
  100. package/esm2022/lib/models/social-meta-properties.model.mjs +2 -0
  101. package/esm2022/lib/models/wordpress/WpResponse.model.mjs +2 -0
  102. package/esm2022/lib/models/wordpress/category/wpCategory.model.mjs +2 -0
  103. package/esm2022/lib/models/wordpress/general/content.model.mjs +2 -0
  104. package/esm2022/lib/models/wordpress/general/excerpt.model.mjs +2 -0
  105. package/esm2022/lib/models/wordpress/general/featuredMedia.model.mjs +2 -0
  106. package/esm2022/lib/models/wordpress/general/guid.model.mjs +2 -0
  107. package/esm2022/lib/models/wordpress/general/index.mjs +11 -0
  108. package/esm2022/lib/models/wordpress/general/links.model.mjs +2 -0
  109. package/esm2022/lib/models/wordpress/general/meta.model.mjs +2 -0
  110. package/esm2022/lib/models/wordpress/general/title.model.mjs +2 -0
  111. package/esm2022/lib/models/wordpress/general/yoastData.model.mjs +2 -0
  112. package/esm2022/lib/models/wordpress/general/yoastHeadJson.model.mjs +2 -0
  113. package/esm2022/lib/models/wordpress/general/yoastMeta.model.mjs +2 -0
  114. package/esm2022/lib/models/wordpress/page/page.model.mjs +2 -0
  115. package/esm2022/lib/models/wordpress/post/post.model.mjs +2 -0
  116. package/esm2022/lib/models/wordpress/unidade/wp-unidade-onco.model.mjs +2 -0
  117. package/esm2022/lib/models/wordpress/unidade/wp-unidade-site-detalhe.model.mjs +2 -0
  118. package/esm2022/lib/models/wordpress/unidade/wp-unidade-site.model.mjs +2 -0
  119. package/esm2022/lib/pipes/index.mjs +2 -0
  120. package/esm2022/lib/pipes/phone/phone.pipe.mjs +18 -0
  121. package/esm2022/lib/services/algolia/algolia.service.mjs +37 -0
  122. package/esm2022/lib/services/algolia-search-api/algolia-search-api.service.mjs +71 -0
  123. package/esm2022/lib/services/cura/cura.service.mjs +111 -0
  124. package/esm2022/lib/services/http-client/http-client.service.mjs +55 -0
  125. package/esm2022/lib/services/index.mjs +17 -0
  126. package/esm2022/lib/services/log/log.service.mjs +46 -0
  127. package/esm2022/lib/services/modal/modal.service.mjs +56 -0
  128. package/esm2022/lib/services/modal-drawer/modal-drawer.service.mjs +42 -0
  129. package/esm2022/lib/services/ngu-carousel/ngu-carousel.service.mjs +81 -0
  130. package/esm2022/lib/services/phone/phone.service.mjs +28 -0
  131. package/esm2022/lib/services/privacy-tools/privacy-tools.service.mjs +92 -0
  132. package/esm2022/lib/services/scroll-service/scroll-service.service.mjs +41 -0
  133. package/esm2022/lib/services/seo/seo.service.mjs +483 -0
  134. package/esm2022/lib/services/server-response/server-response.service.mjs +85 -0
  135. package/esm2022/lib/services/site-back-end/site-back-end.service.mjs +151 -0
  136. package/esm2022/lib/services/ssr-loading/ssr-loading.service.mjs +48 -0
  137. package/esm2022/lib/services/transfer-state/transfer-state.service.mjs +60 -0
  138. package/esm2022/lib/tokens/CuraApi.mjs +3 -0
  139. package/esm2022/lib/tokens/LibConfig.mjs +4 -0
  140. package/esm2022/lib/tokens/express.tokens.mjs +4 -0
  141. package/esm2022/public-api.mjs +20 -0
  142. package/esm2022/rededor-site-front-end-lib.mjs +5 -0
  143. package/fesm2022/rededor-site-front-end-lib.mjs +84 -77
  144. package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
  145. package/lib/services/site-back-end/site-back-end.service.d.ts +1 -0
  146. package/package.json +1 -1
  147. package/styles/_breakpoints.scss +5 -5
package/README.md CHANGED
@@ -1,83 +1,83 @@
1
- # SiteFrontEndLib
2
-
3
- Esta lib foi gerada com [Angular CLI](https://github.com/angular/angular-cli) version 17.3.0.
4
-
5
- ## Desenvolvimento
6
-
7
- - Para utilização da lib, utilize/customize o token `LibConfig`. Este token disponibiliza informações/parâmetros importantes baseadas no contexto de cada projeto.
8
- - Para criação de componentes, services, etc, os comandos são os mesmos utilizados no desenvolvimento dentro do contexto dos projetos do site.
9
- - Obs: antes de utilizar os comandos `ng`, verifique a pasta atual de seu terminal (`cd projects/site-front-end-lib`).
10
-
11
- ## Desenvolvimento com Live Reload
12
-
13
- Para rodar o projeto com live reload, é necessário realizar algumas configurações.
14
-
15
- ### No contexto da LIB:
16
-
17
- - rode `ng build site-front-end-lib --configuration development --watch` no terminal da lib.
18
- - abra um novo terminal e acesse `cd dist/site-front-end-lib` e em seguida rode o seguinte comando `npm link`.
19
-
20
- ### No contexto do PROJETO angular rodando localmente:
21
-
22
- - adicione `"preserveSymlinks": true` e `"cache": { "enabled": false }` no angular.json da seguinte forma:
23
-
24
- ```
25
- {
26
- "$schema": "...",
27
- "version": 999,
28
- "newProjectRoot": "...",
29
- "projects": {
30
- "project1": {
31
- "projectType": "application",
32
- "schematics": { ... },
33
- "root": "",
34
- "sourceRoot": "src",
35
- "prefix": "app",
36
- "architect": {
37
- "build": {
38
- "builder": "...",
39
- "options": {
40
- "preserveSymlinks": true,
41
- ...
42
- }
43
- }
44
- }
45
- }
46
- },
47
- "cli": {
48
- "cache": {
49
- "enabled": false
50
- }
51
- }
52
- }
53
- ```
54
-
55
- - rode o seguinte comando em seu terminal `npm link @rededor/site-front-end-lib`.
56
- - inicie sua aplicação com `ng serve`.
57
-
58
- Dessa forma, para qualquer alteração feita na lib, será refeito o build da lib e depois disparado um evento para o projeto também executar um novo build com as novas informações.
59
-
60
- Após realizar os testes, é recomendavel realizar a **limpeza** dessas linkagens.
61
-
62
- ### No contexto do PROJETO
63
-
64
- - `npm unlink @rededor/site-front-end-lib --no-save`
65
- - remova as alterações feitas no `angular.json`
66
-
67
- ### No contexto da LIB
68
-
69
- - `npm rm -g @rededor/site-front-end-lib --no-save`
70
-
71
- Feito isso, voce pode checar se as linkagens foram removidas corretamente com `npm list -g`.
72
-
73
- ## Build
74
-
75
- - Rode `ng build site-front-end-lib` para buildar o projeto. Os arquivos buildados estarão na pasta `dist/`.
76
- - Caso ocorra problema com algum componente do cura, verificar se a versão do cura no node_modules é a mais recente.
77
- - Caso não seja, apague os dois package-lock.json, e apague a pasta @cura dentro de @rededor que fica no node_modules.
78
- - Em seguida, dê `npm i` para reinstalar as dependências.
79
-
80
- ## Publicar
81
-
82
- - Depois de buildar o projeto, vá para `cd dist/site-front-end-lib` e rode `npm publish --userconfig ../../.npmrc` para publicar o projeto no npm.
83
- - Obs: quando for gerar uma nova versão da lib, lembre-se de `atualizar a versão no package.json dentro da lib`. Caso não tenha feito isso, atualize o package.json, rode o build novamente e somente depois realize a publicação da lib.
1
+ # SiteFrontEndLib
2
+
3
+ Esta lib foi gerada com [Angular CLI](https://github.com/angular/angular-cli) version 17.3.0.
4
+
5
+ ## Desenvolvimento
6
+
7
+ - Para utilização da lib, utilize/customize o token `LibConfig`. Este token disponibiliza informações/parâmetros importantes baseadas no contexto de cada projeto.
8
+ - Para criação de componentes, services, etc, os comandos são os mesmos utilizados no desenvolvimento dentro do contexto dos projetos do site.
9
+ - Obs: antes de utilizar os comandos `ng`, verifique a pasta atual de seu terminal (`cd projects/site-front-end-lib`).
10
+
11
+ ## Desenvolvimento com Live Reload
12
+
13
+ Para rodar o projeto com live reload, é necessário realizar algumas configurações.
14
+
15
+ ### No contexto da LIB:
16
+
17
+ - rode `ng build site-front-end-lib --configuration development --watch` no terminal da lib.
18
+ - abra um novo terminal e acesse `cd dist/site-front-end-lib` e em seguida rode o seguinte comando `npm link`.
19
+
20
+ ### No contexto do PROJETO angular rodando localmente:
21
+
22
+ - adicione `"preserveSymlinks": true` e `"cache": { "enabled": false }` no angular.json da seguinte forma:
23
+
24
+ ```
25
+ {
26
+ "$schema": "...",
27
+ "version": 999,
28
+ "newProjectRoot": "...",
29
+ "projects": {
30
+ "project1": {
31
+ "projectType": "application",
32
+ "schematics": { ... },
33
+ "root": "",
34
+ "sourceRoot": "src",
35
+ "prefix": "app",
36
+ "architect": {
37
+ "build": {
38
+ "builder": "...",
39
+ "options": {
40
+ "preserveSymlinks": true,
41
+ ...
42
+ }
43
+ }
44
+ }
45
+ }
46
+ },
47
+ "cli": {
48
+ "cache": {
49
+ "enabled": false
50
+ }
51
+ }
52
+ }
53
+ ```
54
+
55
+ - rode o seguinte comando em seu terminal `npm link @rededor/site-front-end-lib`.
56
+ - inicie sua aplicação com `ng serve`.
57
+
58
+ Dessa forma, para qualquer alteração feita na lib, será refeito o build da lib e depois disparado um evento para o projeto também executar um novo build com as novas informações.
59
+
60
+ Após realizar os testes, é recomendavel realizar a **limpeza** dessas linkagens.
61
+
62
+ ### No contexto do PROJETO
63
+
64
+ - `npm unlink @rededor/site-front-end-lib --no-save`
65
+ - remova as alterações feitas no `angular.json`
66
+
67
+ ### No contexto da LIB
68
+
69
+ - `npm rm -g @rededor/site-front-end-lib --no-save`
70
+
71
+ Feito isso, voce pode checar se as linkagens foram removidas corretamente com `npm list -g`.
72
+
73
+ ## Build
74
+
75
+ - Rode `ng build site-front-end-lib` para buildar o projeto. Os arquivos buildados estarão na pasta `dist/`.
76
+ - Caso ocorra problema com algum componente do cura, verificar se a versão do cura no node_modules é a mais recente.
77
+ - Caso não seja, apague os dois package-lock.json, e apague a pasta @cura dentro de @rededor que fica no node_modules.
78
+ - Em seguida, dê `npm i` para reinstalar as dependências.
79
+
80
+ ## Publicar
81
+
82
+ - Depois de buildar o projeto, vá para `cd dist/site-front-end-lib` e rode `npm publish --userconfig ../../.npmrc` para publicar o projeto no npm.
83
+ - Obs: quando for gerar uma nova versão da lib, lembre-se de `atualizar a versão no package.json dentro da lib`. Caso não tenha feito isso, atualize o package.json, rode o build novamente e somente depois realize a publicação da lib.
@@ -0,0 +1,154 @@
1
+ import { CUSTOM_ELEMENTS_SCHEMA, Component, EventEmitter, Inject, Input, Output, PLATFORM_ID } from '@angular/core';
2
+ import { isPlatformBrowser } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/algolia-search-api/algolia-search-api.service";
5
+ export class AlgoliaComponent {
6
+ get algoliaConfig() {
7
+ return this.compAlgoliaConfig;
8
+ }
9
+ // eslint-disable-next-line @angular-eslint/no-input-rename
10
+ set algoliaConfig(config) {
11
+ this.ready = false;
12
+ if (this.setupAlgolia(config)) {
13
+ this.compAlgoliaConfig = config;
14
+ this.ready = true;
15
+ }
16
+ }
17
+ constructor(algoliaSearchApiService, platformId) {
18
+ this.algoliaSearchApiService = algoliaSearchApiService;
19
+ this.platformId = platformId;
20
+ this.compAlgoliaConfig = { id: '', key: '' };
21
+ this.label = '';
22
+ this.name = 'cura-dropdown';
23
+ this.required = false;
24
+ this.selected = false;
25
+ this.value = '';
26
+ this.placeholder = 'Faça a sua busca';
27
+ this.deleteButton = false;
28
+ this.iconName = 'search';
29
+ this.status = 'default';
30
+ this.startSearchAtCharLen = 2;
31
+ this.hintTitle = 'Mais Buscados';
32
+ this.hints = [];
33
+ this.searchParams = {};
34
+ this.searchTerm = '';
35
+ // Algolia
36
+ this.isMultiple = false;
37
+ // State
38
+ this.ready = false;
39
+ this.isMobile = false;
40
+ this.isSafari = false;
41
+ this.mediumBreakpoint = 768;
42
+ this.scrollY = null;
43
+ this.resetItem = new EventEmitter();
44
+ this.algoliaResults = new EventEmitter();
45
+ this.focusEmit = new EventEmitter();
46
+ this.blurEmit = new EventEmitter();
47
+ }
48
+ ngOnInit() {
49
+ if (isPlatformBrowser(this.platformId)) {
50
+ const viewportInnerWidth = window.innerWidth;
51
+ this.isMobile = viewportInnerWidth < this.mediumBreakpoint;
52
+ }
53
+ }
54
+ manageFocus() {
55
+ this.focusEmit.emit();
56
+ }
57
+ manageBlur() {
58
+ this.blurEmit.emit();
59
+ }
60
+ resetValues() {
61
+ this.resetItem.emit();
62
+ }
63
+ termChange(event) {
64
+ if (event.target.value) {
65
+ this.searchTerm = event?.target?.value;
66
+ this.search();
67
+ }
68
+ else {
69
+ this.resetValues();
70
+ }
71
+ }
72
+ setupAlgolia(config) {
73
+ if (config?.id && config?.key && (config?.index || config?.multipleIndex)) {
74
+ if (config.multipleIndex) {
75
+ this.isMultiple = true;
76
+ }
77
+ else {
78
+ this.isMultiple = false;
79
+ }
80
+ return true;
81
+ }
82
+ else {
83
+ return false;
84
+ }
85
+ }
86
+ search() {
87
+ if (this.searchTerm?.length >= this.startSearchAtCharLen && this.ready) {
88
+ if (!this.isMultiple) {
89
+ this.algoliaSearchApiService.search(this.searchTerm, this.algoliaConfig.index, this.searchParams).subscribe({
90
+ next: (results) => {
91
+ this.algoliaResults.emit(results);
92
+ },
93
+ });
94
+ }
95
+ else {
96
+ const queries = this.compAlgoliaConfig?.multipleIndex.map((i) => {
97
+ return { ...i, query: this.searchTerm };
98
+ });
99
+ this.algoliaSearchApiService.searchMultipleIndexes(queries).subscribe({
100
+ next: (results) => {
101
+ this.algoliaResults.emit(results.results);
102
+ },
103
+ });
104
+ }
105
+ }
106
+ }
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlgoliaComponent, deps: [{ token: i1.AlgoliaSearchApiService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: AlgoliaComponent, isStandalone: true, selector: "rdsite-algolia", inputs: { algoliaConfig: "algoliaConfig", label: "label", name: "name", required: "required", selected: "selected", value: "value", placeholder: "placeholder", deleteButton: "deleteButton", iconName: "iconName", status: "status", startSearchAtCharLen: "startSearchAtCharLen", hintTitle: "hintTitle", hints: "hints", searchParams: "searchParams" }, outputs: { resetItem: "resetItem", algoliaResults: "algoliaResults", focusEmit: "focusEmit", blurEmit: "blurEmit" }, ngImport: i0, template: "<cura-dropdown-search\r\n [value]=\"value\"\r\n [status]=\"status\"\r\n [name]=\"name\"\r\n [required]=\"required\"\r\n [selected]=\"selected\"\r\n [label]=\"label\"\r\n [iconName]=\"iconName\"\r\n [placeholder]=\"placeholder\"\r\n (valueChange)=\"resetValues()\"\r\n (input)=\"termChange($event)\"\r\n (focus)=\"manageFocus()\"\r\n (blur)=\"manageBlur()\"\r\n>\r\n @if (status === 'error') {\r\n <cura-dropdown-search-option name=\"error\">\r\n <div class=\"head\">\r\n <cura-icon size=\"24\" name=\"alertCircle\" color=\"error-700\"></cura-icon>\r\n <cura-paragraph size=\"small\" color=\"error-700\" weight=\"bold\"> N\u00E3o h\u00E1 nenhum resultado para \"{{ searchTerm.toUpperCase() }}\".</cura-paragraph>\r\n </div>\r\n </cura-dropdown-search-option>\r\n }\r\n <ng-content></ng-content>\r\n</cura-dropdown-search>\r\n<ng-content select=\"app-planos-e-convenios-tooltip\"></ng-content>\r\n", styles: ["cura-dropdown-search-option[name=error]{pointer-events:none;cursor:default}cura-dropdown-search-option[name=error] .head{display:flex;flex-direction:row;justify-content:center;align-items:center;justify-content:flex-start;gap:8px;width:100%}cura-dropdown-search-option[name=error]::ng-deep cura-label{background-color:transparent!important}cura-dropdown-search-option[name=error]:hover{background-color:inherit;color:inherit;pointer-events:none}\n"] }); }
109
+ }
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlgoliaComponent, decorators: [{
111
+ type: Component,
112
+ args: [{ selector: 'rdsite-algolia', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<cura-dropdown-search\r\n [value]=\"value\"\r\n [status]=\"status\"\r\n [name]=\"name\"\r\n [required]=\"required\"\r\n [selected]=\"selected\"\r\n [label]=\"label\"\r\n [iconName]=\"iconName\"\r\n [placeholder]=\"placeholder\"\r\n (valueChange)=\"resetValues()\"\r\n (input)=\"termChange($event)\"\r\n (focus)=\"manageFocus()\"\r\n (blur)=\"manageBlur()\"\r\n>\r\n @if (status === 'error') {\r\n <cura-dropdown-search-option name=\"error\">\r\n <div class=\"head\">\r\n <cura-icon size=\"24\" name=\"alertCircle\" color=\"error-700\"></cura-icon>\r\n <cura-paragraph size=\"small\" color=\"error-700\" weight=\"bold\"> N\u00E3o h\u00E1 nenhum resultado para \"{{ searchTerm.toUpperCase() }}\".</cura-paragraph>\r\n </div>\r\n </cura-dropdown-search-option>\r\n }\r\n <ng-content></ng-content>\r\n</cura-dropdown-search>\r\n<ng-content select=\"app-planos-e-convenios-tooltip\"></ng-content>\r\n", styles: ["cura-dropdown-search-option[name=error]{pointer-events:none;cursor:default}cura-dropdown-search-option[name=error] .head{display:flex;flex-direction:row;justify-content:center;align-items:center;justify-content:flex-start;gap:8px;width:100%}cura-dropdown-search-option[name=error]::ng-deep cura-label{background-color:transparent!important}cura-dropdown-search-option[name=error]:hover{background-color:inherit;color:inherit;pointer-events:none}\n"] }]
113
+ }], ctorParameters: () => [{ type: i1.AlgoliaSearchApiService }, { type: undefined, decorators: [{
114
+ type: Inject,
115
+ args: [PLATFORM_ID]
116
+ }] }], propDecorators: { algoliaConfig: [{
117
+ type: Input,
118
+ args: ['algoliaConfig']
119
+ }], label: [{
120
+ type: Input
121
+ }], name: [{
122
+ type: Input
123
+ }], required: [{
124
+ type: Input
125
+ }], selected: [{
126
+ type: Input
127
+ }], value: [{
128
+ type: Input
129
+ }], placeholder: [{
130
+ type: Input
131
+ }], deleteButton: [{
132
+ type: Input
133
+ }], iconName: [{
134
+ type: Input
135
+ }], status: [{
136
+ type: Input
137
+ }], startSearchAtCharLen: [{
138
+ type: Input
139
+ }], hintTitle: [{
140
+ type: Input
141
+ }], hints: [{
142
+ type: Input
143
+ }], searchParams: [{
144
+ type: Input
145
+ }], resetItem: [{
146
+ type: Output
147
+ }], algoliaResults: [{
148
+ type: Output
149
+ }], focusEmit: [{
150
+ type: Output
151
+ }], blurEmit: [{
152
+ type: Output
153
+ }] } });
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxnb2xpYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FsZ29saWEvYWxnb2xpYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FsZ29saWEvYWxnb2xpYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJNUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVNwRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFDRCwyREFBMkQ7SUFDM0QsSUFDSSxhQUFhLENBQUMsTUFBcUI7UUFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQWtDRCxZQUNtQix1QkFBZ0QsRUFDM0IsVUFBa0I7UUFEdkMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUMzQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBaEQxRCxzQkFBaUIsR0FBa0IsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQWM5QyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsU0FBSSxHQUFHLGVBQWUsQ0FBQztRQUN2QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGdCQUFXLEdBQUcsa0JBQWtCLENBQUM7UUFDakMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUNwQixXQUFNLEdBQXdCLFNBQVMsQ0FBQztRQUV4Qyx5QkFBb0IsR0FBVyxDQUFDLENBQUM7UUFDakMsY0FBUyxHQUFHLGVBQWUsQ0FBQztRQUM1QixVQUFLLEdBQW9CLEVBQUUsQ0FBQztRQUM1QixpQkFBWSxHQUF3QixFQUFFLENBQUM7UUFFaEQsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUV4QixVQUFVO1FBQ1YsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUU1QixRQUFRO1FBQ1IsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIscUJBQWdCLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLFlBQU8sR0FBa0IsSUFBSSxDQUFDO1FBRXBCLGNBQVMsR0FBcUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxtQkFBYyxHQUFxQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RELGNBQVMsR0FBcUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxhQUFRLEdBQXFCLElBQUksWUFBWSxFQUFFLENBQUM7SUFLdkQsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLGtCQUFrQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFxQjtRQUNoQyxJQUFJLE1BQU0sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksTUFBTSxFQUFFLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDMUUsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUMxQixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUMzRyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTt3QkFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3BDLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sT0FBTyxHQUErQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsYUFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQTJCLEVBQUUsRUFBRTtvQkFDckgsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQ3BFLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO3dCQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzVDLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOytHQWhIVSxnQkFBZ0IseURBaURqQixXQUFXO21HQWpEVixnQkFBZ0IsMmhCQ2I3Qiw4NkJBeUJBOzs0RkRaYSxnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsc0JBQXNCLENBQUM7OzBCQXFEOUIsTUFBTTsyQkFBQyxXQUFXO3lDQTFDakIsYUFBYTtzQkFEaEIsS0FBSzt1QkFBQyxlQUFlO2dCQVNiLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBY0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWxnb2xpYUNvbmZpZywgQWxnb2xpYVNlYXJjaFBhcmFtcywgUmRzbEFsZ29saWFNdWx0aXBsZUluZGV4IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FsZ29saWEtc2VhcmNoLWFwaS5tb2RlbCc7XHJcbmltcG9ydCB7IEFsZ29saWFTZWFyY2hBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWxnb2xpYS1zZWFyY2gtYXBpL2FsZ29saWEtc2VhcmNoLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWxnb2xpYU9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hbGdvbGlhLm1vZGVsJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdyZHNpdGUtYWxnb2xpYScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FsZ29saWEuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hbGdvbGlhLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFsZ29saWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbXBBbGdvbGlhQ29uZmlnOiBBbGdvbGlhQ29uZmlnID0geyBpZDogJycsIGtleTogJycgfTtcclxuICBnZXQgYWxnb2xpYUNvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBBbGdvbGlhQ29uZmlnO1xyXG4gIH1cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnYWxnb2xpYUNvbmZpZycpXHJcbiAgc2V0IGFsZ29saWFDb25maWcoY29uZmlnOiBBbGdvbGlhQ29uZmlnKSB7XHJcbiAgICB0aGlzLnJlYWR5ID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5zZXR1cEFsZ29saWEoY29uZmlnKSkge1xyXG4gICAgICB0aGlzLmNvbXBBbGdvbGlhQ29uZmlnID0gY29uZmlnO1xyXG4gICAgICB0aGlzLnJlYWR5ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XHJcbiAgQElucHV0KCkgbmFtZSA9ICdjdXJhLWRyb3Bkb3duJztcclxuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdmFsdWUgPSAnJztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdGYcOnYSBhIHN1YSBidXNjYSc7XHJcbiAgQElucHV0KCkgZGVsZXRlQnV0dG9uID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaWNvbk5hbWUgPSAnc2VhcmNoJztcclxuICBASW5wdXQoKSBzdGF0dXM6ICdkZWZhdWx0JyB8ICdlcnJvcicgPSAnZGVmYXVsdCc7XHJcblxyXG4gIEBJbnB1dCgpIHN0YXJ0U2VhcmNoQXRDaGFyTGVuOiBudW1iZXIgPSAyO1xyXG4gIEBJbnB1dCgpIGhpbnRUaXRsZSA9ICdNYWlzIEJ1c2NhZG9zJztcclxuICBASW5wdXQoKSBoaW50czogQWxnb2xpYU9wdGlvbltdID0gW107XHJcbiAgQElucHV0KCkgc2VhcmNoUGFyYW1zOiBBbGdvbGlhU2VhcmNoUGFyYW1zID0ge307XHJcblxyXG4gIHNlYXJjaFRlcm06IHN0cmluZyA9ICcnO1xyXG5cclxuICAvLyBBbGdvbGlhXHJcbiAgaXNNdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBTdGF0ZVxyXG4gIHJlYWR5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNNb2JpbGUgPSBmYWxzZTtcclxuICBpc1NhZmFyaSA9IGZhbHNlO1xyXG4gIG1lZGl1bUJyZWFrcG9pbnQgPSA3Njg7XHJcbiAgc2Nyb2xsWTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBPdXRwdXQoKSByZXNldEl0ZW06IEV2ZW50RW1pdHRlcjx7fT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGFsZ29saWFSZXN1bHRzOiBFdmVudEVtaXR0ZXI8e30+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmb2N1c0VtaXQ6IEV2ZW50RW1pdHRlcjx7fT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGJsdXJFbWl0OiBFdmVudEVtaXR0ZXI8e30+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxnb2xpYVNlYXJjaEFwaVNlcnZpY2U6IEFsZ29saWFTZWFyY2hBcGlTZXJ2aWNlLFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkOiBvYmplY3QsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgIGNvbnN0IHZpZXdwb3J0SW5uZXJXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgICB0aGlzLmlzTW9iaWxlID0gdmlld3BvcnRJbm5lcldpZHRoIDwgdGhpcy5tZWRpdW1CcmVha3BvaW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWFuYWdlRm9jdXMoKSB7XHJcbiAgICB0aGlzLmZvY3VzRW1pdC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBtYW5hZ2VCbHVyKCkge1xyXG4gICAgdGhpcy5ibHVyRW1pdC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICByZXNldFZhbHVlcygpIHtcclxuICAgIHRoaXMucmVzZXRJdGVtLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHRlcm1DaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC52YWx1ZSkge1xyXG4gICAgICB0aGlzLnNlYXJjaFRlcm0gPSBldmVudD8udGFyZ2V0Py52YWx1ZTtcclxuICAgICAgdGhpcy5zZWFyY2goKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVzZXRWYWx1ZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldHVwQWxnb2xpYShjb25maWc6IEFsZ29saWFDb25maWcpOiBib29sZWFuIHtcclxuICAgIGlmIChjb25maWc/LmlkICYmIGNvbmZpZz8ua2V5ICYmIChjb25maWc/LmluZGV4IHx8IGNvbmZpZz8ubXVsdGlwbGVJbmRleCkpIHtcclxuICAgICAgaWYgKGNvbmZpZy5tdWx0aXBsZUluZGV4KSB7XHJcbiAgICAgICAgdGhpcy5pc011bHRpcGxlID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzTXVsdGlwbGUgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlYXJjaCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFRlcm0/Lmxlbmd0aCA+PSB0aGlzLnN0YXJ0U2VhcmNoQXRDaGFyTGVuICYmIHRoaXMucmVhZHkpIHtcclxuICAgICAgaWYgKCF0aGlzLmlzTXVsdGlwbGUpIHtcclxuICAgICAgICB0aGlzLmFsZ29saWFTZWFyY2hBcGlTZXJ2aWNlLnNlYXJjaCh0aGlzLnNlYXJjaFRlcm0sIHRoaXMuYWxnb2xpYUNvbmZpZy5pbmRleCEsIHRoaXMuc2VhcmNoUGFyYW1zKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlc3VsdHMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hbGdvbGlhUmVzdWx0cy5lbWl0KHJlc3VsdHMpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBxdWVyaWVzOiBSZHNsQWxnb2xpYU11bHRpcGxlSW5kZXhbXSA9IHRoaXMuY29tcEFsZ29saWFDb25maWc/Lm11bHRpcGxlSW5kZXghLm1hcCgoaTogUmRzbEFsZ29saWFNdWx0aXBsZUluZGV4KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4geyAuLi5pLCBxdWVyeTogdGhpcy5zZWFyY2hUZXJtIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5hbGdvbGlhU2VhcmNoQXBpU2VydmljZS5zZWFyY2hNdWx0aXBsZUluZGV4ZXMocXVlcmllcykuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXN1bHRzKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYWxnb2xpYVJlc3VsdHMuZW1pdChyZXN1bHRzLnJlc3VsdHMpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8Y3VyYS1kcm9wZG93bi1zZWFyY2hcclxuICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gIFtzdGF0dXNdPVwic3RhdHVzXCJcclxuICBbbmFtZV09XCJuYW1lXCJcclxuICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gIFtzZWxlY3RlZF09XCJzZWxlY3RlZFwiXHJcbiAgW2xhYmVsXT1cImxhYmVsXCJcclxuICBbaWNvbk5hbWVdPVwiaWNvbk5hbWVcIlxyXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgKHZhbHVlQ2hhbmdlKT1cInJlc2V0VmFsdWVzKClcIlxyXG4gIChpbnB1dCk9XCJ0ZXJtQ2hhbmdlKCRldmVudClcIlxyXG4gIChmb2N1cyk9XCJtYW5hZ2VGb2N1cygpXCJcclxuICAoYmx1cik9XCJtYW5hZ2VCbHVyKClcIlxyXG4+XHJcbiAgQGlmIChzdGF0dXMgPT09ICdlcnJvcicpIHtcclxuICAgIDxjdXJhLWRyb3Bkb3duLXNlYXJjaC1vcHRpb24gbmFtZT1cImVycm9yXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkXCI+XHJcbiAgICAgICAgPGN1cmEtaWNvbiBzaXplPVwiMjRcIiBuYW1lPVwiYWxlcnRDaXJjbGVcIiBjb2xvcj1cImVycm9yLTcwMFwiPjwvY3VyYS1pY29uPlxyXG4gICAgICAgIDxjdXJhLXBhcmFncmFwaCBzaXplPVwic21hbGxcIiBjb2xvcj1cImVycm9yLTcwMFwiIHdlaWdodD1cImJvbGRcIj4gTsOjbyBow6EgbmVuaHVtIHJlc3VsdGFkbyBwYXJhIFwie3sgc2VhcmNoVGVybS50b1VwcGVyQ2FzZSgpIH19XCIuPC9jdXJhLXBhcmFncmFwaD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2N1cmEtZHJvcGRvd24tc2VhcmNoLW9wdGlvbj5cclxuICB9XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2N1cmEtZHJvcGRvd24tc2VhcmNoPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJhcHAtcGxhbm9zLWUtY29udmVuaW9zLXRvb2x0aXBcIj48L25nLWNvbnRlbnQ+XHJcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, HostBinding, Input } from '@angular/core';
3
+ import { RdsiteLinkDirective } from '../../../directives';
4
+ import { ImageComponent } from '../../image/image.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../services";
7
+ import * as i2 from "@angular/common";
8
+ export class ContentBannerComponent {
9
+ get styleBinding() {
10
+ return {
11
+ '--neutral-purewhite': this.curaService.getColor('neutral-purewhite'),
12
+ '--color-one-lighter': this.curaService.getColor('primary-lighter', 0.5),
13
+ };
14
+ }
15
+ constructor(curaService) {
16
+ this.curaService = curaService;
17
+ this.content = null;
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContentBannerComponent, deps: [{ token: i1.CuraService }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ContentBannerComponent, isStandalone: true, selector: "rdsite-content-banner", inputs: { content: "content" }, host: { properties: { "style": "this.styleBinding" } }, ngImport: i0, template: "@if (content?.title) {\r\n <cura-heading level=\"4\" weight=\"bold\" color=\"neutral-purewhite\" margin-block=\"0\">\r\n {{ content?.title }}\r\n </cura-heading>\r\n}\r\n\r\n@if (content?.text) {\r\n <cura-paragraph color=\"neutral-purewhite\" margin-block=\"0\">\r\n {{ content?.text }}\r\n </cura-paragraph>\r\n}\r\n\r\n@if (content?.info?.length) {\r\n <div class=\"info\" data-testid=\"_content-banner-info\">\r\n @for (item of content?.info || []; track $index) {\r\n @if (item.text) {\r\n <a [ngClass]=\"{ disabled: !item.link }\" rdsitelink [href]=\"item.link || ''\">\r\n @if (item.icon) {\r\n <cura-icon [name]=\"item.icon\" size=\"16\" color=\"neutral-purewhite\"></cura-icon>\r\n }\r\n {{ item.text }}\r\n </a>\r\n }\r\n }\r\n </div>\r\n}\r\n\r\n@if (content?.cta?.text && content?.cta?.link) {\r\n <cura-button size=\"large\" type=\"button\" color=\"accent\" [attr.icon-name]=\"content?.cta?.icon || ''\" [href]=\"content?.cta?.link\" target=\"_self\">\r\n {{ content?.cta?.text }}\r\n </cura-button>\r\n}\r\n\r\n@if (content?.image) {\r\n <rdsite-image [imageDefaultSrc]=\"content?.image.url\" [imageWebpSrc]=\"content?.image?.webp_sizes\" [title]=\"content?.image.title\" [alt]=\"content?.image.alt\">\r\n </rdsite-image>\r\n}\r\n", styles: [":host{position:relative;z-index:0;display:block;width:100%;height:auto;padding:32px 56px 96px;margin-bottom:30px;border-radius:4px;background:linear-gradient(90deg,#004186 7.78%,#1163a1 40.08%,#2791c6 76.03%,#36b1df 95.14%)}:host cura-heading{position:relative;z-index:2;margin-bottom:8px}:host cura-paragraph{position:relative;z-index:2;margin-bottom:20px}:host .info{position:relative;z-index:2;display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:20px}:host .info>a{display:flex;justify-content:flex-start;align-items:center;gap:8px;width:fit-content;min-height:34px;color:var(--neutral-purewhite);font-size:12px;font-weight:500;line-height:13px;letter-spacing:.72px;padding:4px 20px;border-radius:20px;background:var(--color-one-lighter);text-decoration:none}:host .info>a.disabled{pointer-events:none}:host .info>a cura-icon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border:1.5px solid var(--neutral-purewhite);border-radius:50%}:host cura-button{position:relative;z-index:2;margin-top:30px}:host rdsite-image{position:absolute;z-index:1;bottom:0;right:40px;height:90%}:host rdsite-image ::ng-deep .rdsite-image{height:100%}:host rdsite-image ::ng-deep .rdsite-image img{height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }, { kind: "component", type: ImageComponent, selector: "rdsite-image", inputs: ["imageWebpSrc", "imageDefaultSrc", "imageSizes", "mimeType", "alt", "title", "loading"] }] }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContentBannerComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'rdsite-content-banner', standalone: true, imports: [CommonModule, RdsiteLinkDirective, ImageComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if (content?.title) {\r\n <cura-heading level=\"4\" weight=\"bold\" color=\"neutral-purewhite\" margin-block=\"0\">\r\n {{ content?.title }}\r\n </cura-heading>\r\n}\r\n\r\n@if (content?.text) {\r\n <cura-paragraph color=\"neutral-purewhite\" margin-block=\"0\">\r\n {{ content?.text }}\r\n </cura-paragraph>\r\n}\r\n\r\n@if (content?.info?.length) {\r\n <div class=\"info\" data-testid=\"_content-banner-info\">\r\n @for (item of content?.info || []; track $index) {\r\n @if (item.text) {\r\n <a [ngClass]=\"{ disabled: !item.link }\" rdsitelink [href]=\"item.link || ''\">\r\n @if (item.icon) {\r\n <cura-icon [name]=\"item.icon\" size=\"16\" color=\"neutral-purewhite\"></cura-icon>\r\n }\r\n {{ item.text }}\r\n </a>\r\n }\r\n }\r\n </div>\r\n}\r\n\r\n@if (content?.cta?.text && content?.cta?.link) {\r\n <cura-button size=\"large\" type=\"button\" color=\"accent\" [attr.icon-name]=\"content?.cta?.icon || ''\" [href]=\"content?.cta?.link\" target=\"_self\">\r\n {{ content?.cta?.text }}\r\n </cura-button>\r\n}\r\n\r\n@if (content?.image) {\r\n <rdsite-image [imageDefaultSrc]=\"content?.image.url\" [imageWebpSrc]=\"content?.image?.webp_sizes\" [title]=\"content?.image.title\" [alt]=\"content?.image.alt\">\r\n </rdsite-image>\r\n}\r\n", styles: [":host{position:relative;z-index:0;display:block;width:100%;height:auto;padding:32px 56px 96px;margin-bottom:30px;border-radius:4px;background:linear-gradient(90deg,#004186 7.78%,#1163a1 40.08%,#2791c6 76.03%,#36b1df 95.14%)}:host cura-heading{position:relative;z-index:2;margin-bottom:8px}:host cura-paragraph{position:relative;z-index:2;margin-bottom:20px}:host .info{position:relative;z-index:2;display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:20px}:host .info>a{display:flex;justify-content:flex-start;align-items:center;gap:8px;width:fit-content;min-height:34px;color:var(--neutral-purewhite);font-size:12px;font-weight:500;line-height:13px;letter-spacing:.72px;padding:4px 20px;border-radius:20px;background:var(--color-one-lighter);text-decoration:none}:host .info>a.disabled{pointer-events:none}:host .info>a cura-icon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border:1.5px solid var(--neutral-purewhite);border-radius:50%}:host cura-button{position:relative;z-index:2;margin-top:30px}:host rdsite-image{position:absolute;z-index:1;bottom:0;right:40px;height:90%}:host rdsite-image ::ng-deep .rdsite-image{height:100%}:host rdsite-image ::ng-deep .rdsite-image img{height:100%}\n"] }]
25
+ }], ctorParameters: () => [{ type: i1.CuraService }], propDecorators: { content: [{
26
+ type: Input
27
+ }], styleBinding: [{
28
+ type: HostBinding,
29
+ args: ['style']
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1iYW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9iYW5uZXIvY29udGVudC1iYW5uZXIvY29udGVudC1iYW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9iYW5uZXIvY29udGVudC1iYW5uZXIvY29udGVudC1iYW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFVN0QsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxJQUEwQixZQUFZO1FBQ3BDLE9BQU87WUFDTCxxQkFBcUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQztZQUNyRSxxQkFBcUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUM7U0FDekUsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVRuQyxZQUFPLEdBQXlCLElBQUksQ0FBQztJQVNDLENBQUM7K0dBVnJDLHNCQUFzQjttR0FBdEIsc0JBQXNCLHlLQ2ZuQyxxekNBcUNBLHl4Q0QzQlksWUFBWSw2SEFBRSxtQkFBbUIsOEhBQUUsY0FBYzs7NEZBS2hELHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsQ0FBQyxXQUNuRCxDQUFDLHNCQUFzQixDQUFDO2dGQUt4QixPQUFPO3NCQUFmLEtBQUs7Z0JBRW9CLFlBQVk7c0JBQXJDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJkc2l0ZUxpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgQ3VyYVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IENvbnRlbnRCYW5uZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY29udGVudC1iYW5uZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Jkc2l0ZS1jb250ZW50LWJhbm5lcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZHNpdGVMaW5rRGlyZWN0aXZlLCBJbWFnZUNvbXBvbmVudF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LWJhbm5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udGVudC1iYW5uZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRlbnRCYW5uZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGNvbnRlbnQ6IENvbnRlbnRCYW5uZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIGdldCBzdHlsZUJpbmRpbmcoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAnLS1uZXV0cmFsLXB1cmV3aGl0ZSc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtcHVyZXdoaXRlJyksXHJcbiAgICAgICctLWNvbG9yLW9uZS1saWdodGVyJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcigncHJpbWFyeS1saWdodGVyJywgMC41KSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGN1cmFTZXJ2aWNlOiBDdXJhU2VydmljZSkge31cclxufVxyXG4iLCJAaWYgKGNvbnRlbnQ/LnRpdGxlKSB7XHJcbiAgPGN1cmEtaGVhZGluZyBsZXZlbD1cIjRcIiB3ZWlnaHQ9XCJib2xkXCIgY29sb3I9XCJuZXV0cmFsLXB1cmV3aGl0ZVwiIG1hcmdpbi1ibG9jaz1cIjBcIj5cclxuICAgIHt7IGNvbnRlbnQ/LnRpdGxlIH19XHJcbiAgPC9jdXJhLWhlYWRpbmc+XHJcbn1cclxuXHJcbkBpZiAoY29udGVudD8udGV4dCkge1xyXG4gIDxjdXJhLXBhcmFncmFwaCBjb2xvcj1cIm5ldXRyYWwtcHVyZXdoaXRlXCIgbWFyZ2luLWJsb2NrPVwiMFwiPlxyXG4gICAge3sgY29udGVudD8udGV4dCB9fVxyXG4gIDwvY3VyYS1wYXJhZ3JhcGg+XHJcbn1cclxuXHJcbkBpZiAoY29udGVudD8uaW5mbz8ubGVuZ3RoKSB7XHJcbiAgPGRpdiBjbGFzcz1cImluZm9cIiBkYXRhLXRlc3RpZD1cIl9jb250ZW50LWJhbm5lci1pbmZvXCI+XHJcbiAgICBAZm9yIChpdGVtIG9mIGNvbnRlbnQ/LmluZm8gfHwgW107IHRyYWNrICRpbmRleCkge1xyXG4gICAgICBAaWYgKGl0ZW0udGV4dCkge1xyXG4gICAgICAgIDxhIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6ICFpdGVtLmxpbmsgfVwiIHJkc2l0ZWxpbmsgW2hyZWZdPVwiaXRlbS5saW5rIHx8ICcnXCI+XHJcbiAgICAgICAgICBAaWYgKGl0ZW0uaWNvbikge1xyXG4gICAgICAgICAgICA8Y3VyYS1pY29uIFtuYW1lXT1cIml0ZW0uaWNvblwiIHNpemU9XCIxNlwiIGNvbG9yPVwibmV1dHJhbC1wdXJld2hpdGVcIj48L2N1cmEtaWNvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHt7IGl0ZW0udGV4dCB9fVxyXG4gICAgICAgIDwvYT5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG59XHJcblxyXG5AaWYgKGNvbnRlbnQ/LmN0YT8udGV4dCAmJiBjb250ZW50Py5jdGE/LmxpbmspIHtcclxuICA8Y3VyYS1idXR0b24gc2l6ZT1cImxhcmdlXCIgdHlwZT1cImJ1dHRvblwiIGNvbG9yPVwiYWNjZW50XCIgW2F0dHIuaWNvbi1uYW1lXT1cImNvbnRlbnQ/LmN0YT8uaWNvbiB8fCAnJ1wiIFtocmVmXT1cImNvbnRlbnQ/LmN0YT8ubGlua1wiIHRhcmdldD1cIl9zZWxmXCI+XHJcbiAgICB7eyBjb250ZW50Py5jdGE/LnRleHQgfX1cclxuICA8L2N1cmEtYnV0dG9uPlxyXG59XHJcblxyXG5AaWYgKGNvbnRlbnQ/LmltYWdlKSB7XHJcbiAgPHJkc2l0ZS1pbWFnZSBbaW1hZ2VEZWZhdWx0U3JjXT1cImNvbnRlbnQ/LmltYWdlLnVybFwiIFtpbWFnZVdlYnBTcmNdPVwiY29udGVudD8uaW1hZ2U/LndlYnBfc2l6ZXNcIiBbdGl0bGVdPVwiY29udGVudD8uaW1hZ2UudGl0bGVcIiBbYWx0XT1cImNvbnRlbnQ/LmltYWdlLmFsdFwiPlxyXG4gIDwvcmRzaXRlLWltYWdlPlxyXG59XHJcbiJdfQ==
@@ -0,0 +1,119 @@
1
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, HostListener, Inject, Input, PLATFORM_ID, ViewChild } from '@angular/core';
2
+ import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';
3
+ import { RdsiteLinkDirective } from '../../directives';
4
+ import { LIB_CONFIG } from '../../tokens/LibConfig';
5
+ import * as he from 'he';
6
+ import { MediaQueries } from '../../helpers/mediaQueries';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../services/cura/cura.service";
9
+ import * as i2 from "@angular/common";
10
+ export class BreadcrumbsComponent {
11
+ set breadcrumbs(value) {
12
+ this._breadcrumbs = value || [];
13
+ if (value.length) {
14
+ this.setBreadcrumbsJson(value);
15
+ }
16
+ }
17
+ get breadcrumbs() {
18
+ return this._breadcrumbs;
19
+ }
20
+ onWindowResize() {
21
+ this.setIsDesktop();
22
+ }
23
+ constructor(curaService, libConfig, document, platformId) {
24
+ this.curaService = curaService;
25
+ this.libConfig = libConfig;
26
+ this.document = document;
27
+ this.platformId = platformId;
28
+ this.labelIconColor = 'neutral-purewhite';
29
+ this._breadcrumbs = [];
30
+ this.breadcrumbsJsonTagId = 'breadcrumbsJSON';
31
+ }
32
+ ngAfterViewInit() {
33
+ this.getColors(this.labelIconColor);
34
+ this.setIsDesktop();
35
+ }
36
+ setIsDesktop() {
37
+ if (isPlatformBrowser(this.platformId)) {
38
+ this.isDesktop = window.innerWidth > MediaQueries.smallBreakpoint;
39
+ }
40
+ }
41
+ getColors(color) {
42
+ if (isPlatformBrowser(this.platformId)) {
43
+ this.breadCrumbsElement.nativeElement.style.setProperty('--label-icon-color', this.curaService.getColor(color));
44
+ this.breadCrumbsElement.nativeElement.style.setProperty('--divider-color', this.curaService.getColor('neutral-light'));
45
+ this.breadCrumbsElement.nativeElement.style.setProperty('--disabled-color', this.curaService.getColor('neutral-dark'));
46
+ }
47
+ }
48
+ getUrl(urls = []) {
49
+ return urls.join('');
50
+ }
51
+ setBreadcrumbsJson(items) {
52
+ this.breadcrumbsJsonTag = this.getBreadcrumbsJSONTag();
53
+ const json = {
54
+ '@context': 'http://schema.org',
55
+ '@type': 'BreadcrumbList',
56
+ itemListElement: this.getJsonBreadcrumbItems(items),
57
+ };
58
+ this.breadcrumbsJsonTag.innerHTML = JSON.stringify(json);
59
+ return this;
60
+ }
61
+ getBreadcrumbsJSONTag() {
62
+ const elements = this.document.head.children;
63
+ let i;
64
+ for (i = 0; i < elements.length; i++) {
65
+ const elem = elements[i];
66
+ if (elem && elem.id === this.breadcrumbsJsonTagId) {
67
+ return elem;
68
+ }
69
+ }
70
+ return this.createBreadcrumbsJSONTag();
71
+ }
72
+ createBreadcrumbsJSONTag() {
73
+ const tag = this.document.createElement('script');
74
+ tag.id = this.breadcrumbsJsonTagId;
75
+ tag.type = 'application/ld+json';
76
+ this.document.head.appendChild(tag);
77
+ this.breadcrumbsJsonTag = tag;
78
+ return tag;
79
+ }
80
+ getJsonBreadcrumbItems(items) {
81
+ return items.map((item, i) => {
82
+ const jsonItem = {
83
+ '@type': 'ListItem',
84
+ position: i + 2,
85
+ item: {
86
+ '@id': `${this.libConfig.siteUrl.replace(/\/$/, '')}${this.getUrl(item.url)}`,
87
+ name: he.encode(item.label),
88
+ },
89
+ };
90
+ return jsonItem;
91
+ });
92
+ }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreadcrumbsComponent, deps: [{ token: i1.CuraService }, { token: LIB_CONFIG }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
94
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BreadcrumbsComponent, isStandalone: true, selector: "rdsite-breadcrumbs", inputs: { labelIconColor: "labelIconColor", breadcrumbs: "breadcrumbs" }, host: { listeners: { "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "breadCrumbsElement", first: true, predicate: ["breadCrumbsElement"], descendants: true }], ngImport: i0, template: "@if (breadcrumbs.length) {\r\n <nav class=\"breadcrumb\" #breadCrumbsElement>\r\n <ol>\r\n @if (isDesktop || breadcrumbs.length < 3) {\r\n <ng-container *ngTemplateOutlet=\"Desktop\"></ng-container>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"Mobile\"></ng-container>\r\n }\r\n </ol>\r\n </nav>\r\n}\r\n\r\n<ng-template #Desktop>\r\n @for (breadcrumb of breadcrumbs; track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\r\n <li>\r\n @if (!last) {\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n @if (first) {\r\n <cura-icon name=\"home\" [attr.color]=\"labelIconColor\" size=\"16\"> </cura-icon>\r\n }\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n <span class=\"divider\">/</span>\r\n } @else {\r\n <span [class.last-item]=\"last && !first\">\r\n {{ breadcrumb.label }}\r\n </span>\r\n }\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #Mobile>\r\n @for (breadcrumb of breadcrumbs; track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\r\n <li>\r\n @if (first) {\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n <cura-icon name=\"home\" [attr.color]=\"labelIconColor\" size=\"16\"> </cura-icon>\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n <span class=\"divider\">/</span>\r\n } @else if (index === breadcrumbs.length - 2) {\r\n <span class=\"back\"><</span>\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n }\r\n </li>\r\n }\r\n</ng-template>\r\n", styles: [".breadcrumb ol{display:flex}.breadcrumb ol li{display:flex;gap:8px}.breadcrumb ol li a{color:var(--label-icon-color);display:flex;gap:4px;text-decoration:none}.breadcrumb ol li a span{text-decoration:underline;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px}.breadcrumb ol li span.last-item{color:var(--disabled-color);text-decoration:none;pointer-events:none;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px}.breadcrumb ol li span.divider,.breadcrumb ol li span.back{color:var(--divider-color);padding-right:8px;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px}.breadcrumb ol li span.back{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }] }); }
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
97
+ type: Component,
98
+ args: [{ selector: 'rdsite-breadcrumbs', standalone: true, imports: [CommonModule, RdsiteLinkDirective], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if (breadcrumbs.length) {\r\n <nav class=\"breadcrumb\" #breadCrumbsElement>\r\n <ol>\r\n @if (isDesktop || breadcrumbs.length < 3) {\r\n <ng-container *ngTemplateOutlet=\"Desktop\"></ng-container>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"Mobile\"></ng-container>\r\n }\r\n </ol>\r\n </nav>\r\n}\r\n\r\n<ng-template #Desktop>\r\n @for (breadcrumb of breadcrumbs; track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\r\n <li>\r\n @if (!last) {\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n @if (first) {\r\n <cura-icon name=\"home\" [attr.color]=\"labelIconColor\" size=\"16\"> </cura-icon>\r\n }\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n <span class=\"divider\">/</span>\r\n } @else {\r\n <span [class.last-item]=\"last && !first\">\r\n {{ breadcrumb.label }}\r\n </span>\r\n }\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #Mobile>\r\n @for (breadcrumb of breadcrumbs; track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\r\n <li>\r\n @if (first) {\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n <cura-icon name=\"home\" [attr.color]=\"labelIconColor\" size=\"16\"> </cura-icon>\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n <span class=\"divider\">/</span>\r\n } @else if (index === breadcrumbs.length - 2) {\r\n <span class=\"back\"><</span>\r\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\r\n <span>\r\n {{ breadcrumb.label }}\r\n </span>\r\n </a>\r\n }\r\n </li>\r\n }\r\n</ng-template>\r\n", styles: [".breadcrumb ol{display:flex}.breadcrumb ol li{display:flex;gap:8px}.breadcrumb ol li a{color:var(--label-icon-color);display:flex;gap:4px;text-decoration:none}.breadcrumb ol li a span{text-decoration:underline;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px}.breadcrumb ol li span.last-item{color:var(--disabled-color);text-decoration:none;pointer-events:none;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px}.breadcrumb ol li span.divider,.breadcrumb ol li span.back{color:var(--divider-color);padding-right:8px;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px}.breadcrumb ol li span.back{padding:0}\n"] }]
99
+ }], ctorParameters: () => [{ type: i1.CuraService }, { type: undefined, decorators: [{
100
+ type: Inject,
101
+ args: [LIB_CONFIG]
102
+ }] }, { type: Document, decorators: [{
103
+ type: Inject,
104
+ args: [DOCUMENT]
105
+ }] }, { type: undefined, decorators: [{
106
+ type: Inject,
107
+ args: [PLATFORM_ID]
108
+ }] }], propDecorators: { labelIconColor: [{
109
+ type: Input
110
+ }], breadcrumbs: [{
111
+ type: Input
112
+ }], breadCrumbsElement: [{
113
+ type: ViewChild,
114
+ args: ['breadCrumbsElement']
115
+ }], onWindowResize: [{
116
+ type: HostListener,
117
+ args: ['window:resize']
118
+ }] } });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9icmVhZGNydW1icy9icmVhZGNydW1icy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLHNCQUFzQixFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEosT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUc1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBVTFELE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsSUFDSSxXQUFXLENBQUMsS0FBeUI7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2hDLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lB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QUFzQixDQUFDOzswQkFnQzlCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXO3lDQTdCWixjQUFjO3NCQUF0QixLQUFLO2dCQUtGLFdBQVc7c0JBRGQsS0FBSztnQkFjMkIsa0JBQWtCO3NCQUFsRCxTQUFTO3VCQUFDLG9CQUFvQjtnQkFHL0IsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgUExBVEZPUk1fSUQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJzSXRlbXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMtaXRlbXMubW9kZWwnO1xyXG5pbXBvcnQgeyBDdXJhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2N1cmEvY3VyYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmRzaXRlTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1ic0pzb25JdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLWpzb24taXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IExJQl9DT05GSUcsIExpYkNvbmZpZyB9IGZyb20gJy4uLy4uL3Rva2Vucy9MaWJDb25maWcnO1xyXG5pbXBvcnQgKiBhcyBoZSBmcm9tICdoZSc7XHJcbmltcG9ydCB7IE1lZGlhUXVlcmllcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvbWVkaWFRdWVyaWVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncmRzaXRlLWJyZWFkY3J1bWJzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJkc2l0ZUxpbmtEaXJlY3RpdmVdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9icmVhZGNydW1icy5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1ic0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGxhYmVsSWNvbkNvbG9yOiBzdHJpbmcgPSAnbmV1dHJhbC1wdXJld2hpdGUnO1xyXG4gIGlzRGVza3RvcCE6IGJvb2xlYW47XHJcblxyXG4gIHByaXZhdGUgX2JyZWFkY3J1bWJzOiBCcmVhZGNydW1ic0l0ZW1zW10gPSBbXTtcclxuICBASW5wdXQoKVxyXG4gIHNldCBicmVhZGNydW1icyh2YWx1ZTogQnJlYWRjcnVtYnNJdGVtc1tdKSB7XHJcbiAgICB0aGlzLl9icmVhZGNydW1icyA9IHZhbHVlIHx8IFtdO1xyXG4gICAgaWYgKHZhbHVlLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnNldEJyZWFkY3J1bWJzSnNvbih2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBicmVhZGNydW1icygpIHtcclxuICAgIHJldHVybiB0aGlzLl9icmVhZGNydW1icztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnJlYWRjcnVtYnNKc29uVGFnITogSFRNTFNjcmlwdEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBicmVhZGNydW1ic0pzb25UYWdJZCA9ICdicmVhZGNydW1ic0pTT04nO1xyXG5cclxuICBAVmlld0NoaWxkKCdicmVhZENydW1ic0VsZW1lbnQnKSBicmVhZENydW1ic0VsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXHJcbiAgb25XaW5kb3dSZXNpemUoKSB7XHJcbiAgICB0aGlzLnNldElzRGVza3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGN1cmFTZXJ2aWNlOiBDdXJhU2VydmljZSxcclxuICAgIEBJbmplY3QoTElCX0NPTkZJRykgcHJpdmF0ZSBsaWJDb25maWc6IExpYkNvbmZpZyxcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkOiBvYmplY3QsXHJcbiAgKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldENvbG9ycyh0aGlzLmxhYmVsSWNvbkNvbG9yKTtcclxuICAgIHRoaXMuc2V0SXNEZXNrdG9wKCk7XHJcbiAgfVxyXG5cclxuICBzZXRJc0Rlc2t0b3AoKSB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICB0aGlzLmlzRGVza3RvcCA9IHdpbmRvdy5pbm5lcldpZHRoID4gTWVkaWFRdWVyaWVzLnNtYWxsQnJlYWtwb2ludDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENvbG9ycyhjb2xvcjogc3RyaW5nKSB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICB0aGlzLmJyZWFkQ3J1bWJzRWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWxhYmVsLWljb24tY29sb3InLCB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKGNvbG9yKSk7XHJcbiAgICAgIHRoaXMuYnJlYWRDcnVtYnNFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tZGl2aWRlci1jb2xvcicsIHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtbGlnaHQnKSk7XHJcbiAgICAgIHRoaXMuYnJlYWRDcnVtYnNFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tZGlzYWJsZWQtY29sb3InLCB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLWRhcmsnKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRVcmwodXJsczogc3RyaW5nW10gPSBbXSkge1xyXG4gICAgcmV0dXJuIHVybHMuam9pbignJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEJyZWFkY3J1bWJzSnNvbihpdGVtczogQnJlYWRjcnVtYnNJdGVtc1tdKSB7XHJcbiAgICB0aGlzLmJyZWFkY3J1bWJzSnNvblRhZyA9IHRoaXMuZ2V0QnJlYWRjcnVtYnNKU09OVGFnKCk7XHJcbiAgICBjb25zdCBqc29uID0ge1xyXG4gICAgICAnQGNvbnRleHQnOiAnaHR0cDovL3NjaGVtYS5vcmcnLFxyXG4gICAgICAnQHR5cGUnOiAnQnJlYWRjcnVtYkxpc3QnLFxyXG4gICAgICBpdGVtTGlzdEVsZW1lbnQ6IHRoaXMuZ2V0SnNvbkJyZWFkY3J1bWJJdGVtcyhpdGVtcyksXHJcbiAgICB9O1xyXG4gICAgdGhpcy5icmVhZGNydW1ic0pzb25UYWcuaW5uZXJIVE1MID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QnJlYWRjcnVtYnNKU09OVGFnKCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcclxuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xyXG4gICAgbGV0IGk6IG51bWJlcjtcclxuICAgIGZvciAoaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBlbGVtID0gZWxlbWVudHNbaV0gYXMgSFRNTFNjcmlwdEVsZW1lbnQ7XHJcbiAgICAgIGlmIChlbGVtICYmIGVsZW0uaWQgPT09IHRoaXMuYnJlYWRjcnVtYnNKc29uVGFnSWQpIHtcclxuICAgICAgICByZXR1cm4gZWxlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQnJlYWRjcnVtYnNKU09OVGFnKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUJyZWFkY3J1bWJzSlNPTlRhZygpOiBIVE1MU2NyaXB0RWxlbWVudCB7XHJcbiAgICBjb25zdCB0YWc6IEhUTUxTY3JpcHRFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIHRhZy5pZCA9IHRoaXMuYnJlYWRjcnVtYnNKc29uVGFnSWQ7XHJcbiAgICB0YWcudHlwZSA9ICdhcHBsaWNhdGlvbi9sZCtqc29uJztcclxuICAgIHRoaXMuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0YWcpO1xyXG4gICAgdGhpcy5icmVhZGNydW1ic0pzb25UYWcgPSB0YWc7XHJcbiAgICByZXR1cm4gdGFnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRKc29uQnJlYWRjcnVtYkl0ZW1zKGl0ZW1zOiBCcmVhZGNydW1ic0l0ZW1zW10pOiBCcmVhZGNydW1ic0pzb25JdGVtW10ge1xyXG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICBjb25zdCBqc29uSXRlbTogQnJlYWRjcnVtYnNKc29uSXRlbSA9IHtcclxuICAgICAgICAnQHR5cGUnOiAnTGlzdEl0ZW0nLFxyXG4gICAgICAgIHBvc2l0aW9uOiBpICsgMixcclxuICAgICAgICBpdGVtOiB7XHJcbiAgICAgICAgICAnQGlkJzogYCR7dGhpcy5saWJDb25maWcuc2l0ZVVybC5yZXBsYWNlKC9cXC8kLywgJycpfSR7dGhpcy5nZXRVcmwoaXRlbS51cmwpfWAsXHJcbiAgICAgICAgICBuYW1lOiBoZS5lbmNvZGUoaXRlbS5sYWJlbCksXHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIGpzb25JdGVtO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAoYnJlYWRjcnVtYnMubGVuZ3RoKSB7XHJcbiAgPG5hdiBjbGFzcz1cImJyZWFkY3J1bWJcIiAjYnJlYWRDcnVtYnNFbGVtZW50PlxyXG4gICAgPG9sPlxyXG4gICAgICBAaWYgKGlzRGVza3RvcCB8fCBicmVhZGNydW1icy5sZW5ndGggPCAzKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkRlc2t0b3BcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIk1vYmlsZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICA8L29sPlxyXG4gIDwvbmF2PlxyXG59XHJcblxyXG48bmctdGVtcGxhdGUgI0Rlc2t0b3A+XHJcbiAgQGZvciAoYnJlYWRjcnVtYiBvZiBicmVhZGNydW1iczsgdHJhY2sgYnJlYWRjcnVtYi5sYWJlbDsgbGV0IGZpcnN0ID0gJGZpcnN0OyBsZXQgbGFzdCA9ICRsYXN0OyBsZXQgaW5kZXggPSAkaW5kZXgpIHtcclxuICAgIDxsaT5cclxuICAgICAgQGlmICghbGFzdCkge1xyXG4gICAgICAgIDxhIHJkc2l0ZWxpbmsgW2hyZWZdPVwiZ2V0VXJsKGJyZWFkY3J1bWIudXJsKVwiPlxyXG4gICAgICAgICAgQGlmIChmaXJzdCkge1xyXG4gICAgICAgICAgICA8Y3VyYS1pY29uIG5hbWU9XCJob21lXCIgW2F0dHIuY29sb3JdPVwibGFiZWxJY29uQ29sb3JcIiBzaXplPVwiMTZcIj4gPC9jdXJhLWljb24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAge3sgYnJlYWRjcnVtYi5sYWJlbCB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj4vPC9zcGFuPlxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8c3BhbiBbY2xhc3MubGFzdC1pdGVtXT1cImxhc3QgJiYgIWZpcnN0XCI+XHJcbiAgICAgICAgICB7eyBicmVhZGNydW1iLmxhYmVsIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICA8L2xpPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjTW9iaWxlPlxyXG4gIEBmb3IgKGJyZWFkY3J1bWIgb2YgYnJlYWRjcnVtYnM7IHRyYWNrIGJyZWFkY3J1bWIubGFiZWw7IGxldCBmaXJzdCA9ICRmaXJzdDsgbGV0IGxhc3QgPSAkbGFzdDsgbGV0IGluZGV4ID0gJGluZGV4KSB7XHJcbiAgICA8bGk+XHJcbiAgICAgIEBpZiAoZmlyc3QpIHtcclxuICAgICAgICA8YSByZHNpdGVsaW5rIFtocmVmXT1cImdldFVybChicmVhZGNydW1iLnVybClcIj5cclxuICAgICAgICAgIDxjdXJhLWljb24gbmFtZT1cImhvbWVcIiBbYXR0ci5jb2xvcl09XCJsYWJlbEljb25Db2xvclwiIHNpemU9XCIxNlwiPiA8L2N1cmEtaWNvbj5cclxuICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICB7eyBicmVhZGNydW1iLmxhYmVsIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPi88L3NwYW4+XHJcbiAgICAgIH0gQGVsc2UgaWYgKGluZGV4ID09PSBicmVhZGNydW1icy5sZW5ndGggLSAyKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWNrXCI+PDwvc3Bhbj5cclxuICAgICAgICA8YSByZHNpdGVsaW5rIFtocmVmXT1cImdldFVybChicmVhZGNydW1iLnVybClcIj5cclxuICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICB7eyBicmVhZGNydW1iLmxhYmVsIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICB9XHJcbiAgICA8L2xpPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19