@rededor/site-front-end-lib 4.0.0-alpha.5 → 20.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +124 -123
  2. package/components/footer/index.d.ts +2 -2
  3. package/components/header/components/action/index.d.ts +2 -2
  4. package/components/header/components/auxiliar/index.d.ts +6 -4
  5. package/components/header/components/main/index.d.ts +5 -3
  6. package/components/header/components/side/index.d.ts +13 -11
  7. package/components/modal/index.d.ts +2 -3
  8. package/components/modal-drawer/index.d.ts +1 -2
  9. package/cura/buttons/cura-button/index.d.ts +6 -1
  10. package/cura/buttons/cura-button-outline/index.d.ts +6 -1
  11. package/cura/buttons/cura-button-select/index.d.ts +6 -1
  12. package/cura/buttons/cura-button-transparent/index.d.ts +6 -1
  13. package/cura/cards/cura-card/index.d.ts +0 -1
  14. package/cura/forms/cura-select/index.d.ts +3 -0
  15. package/cura/forms/cura-select-option/index.d.ts +5 -0
  16. package/fesm2022/rededor-site-front-end-lib-components-banner.mjs +1 -1
  17. package/fesm2022/rededor-site-front-end-lib-components-banner.mjs.map +1 -1
  18. package/fesm2022/rededor-site-front-end-lib-components-cards.mjs +1 -1
  19. package/fesm2022/rededor-site-front-end-lib-components-cards.mjs.map +1 -1
  20. package/fesm2022/rededor-site-front-end-lib-components-error.mjs +1 -1
  21. package/fesm2022/rededor-site-front-end-lib-components-error.mjs.map +1 -1
  22. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs +2 -2
  23. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs.map +1 -1
  24. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs +1 -1
  25. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs.map +1 -1
  26. package/fesm2022/rededor-site-front-end-lib-components-footer.mjs +6 -5
  27. package/fesm2022/rededor-site-front-end-lib-components-footer.mjs.map +1 -1
  28. package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs +8 -5
  29. package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs.map +1 -1
  30. package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs +12 -9
  31. package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs.map +1 -1
  32. package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs +11 -8
  33. package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs.map +1 -1
  34. package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs +11 -8
  35. package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs.map +1 -1
  36. package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs +5 -5
  37. package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs.map +1 -1
  38. package/fesm2022/rededor-site-front-end-lib-components-modal.mjs +5 -5
  39. package/fesm2022/rededor-site-front-end-lib-components-modal.mjs.map +1 -1
  40. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs +7 -2
  41. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs.map +1 -1
  42. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs +7 -2
  43. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs.map +1 -1
  44. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs +7 -2
  45. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs.map +1 -1
  46. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs +7 -2
  47. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs.map +1 -1
  48. package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs +2 -7
  49. package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs.map +1 -1
  50. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs +8 -1
  51. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs.map +1 -1
  52. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs +14 -3
  53. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs.map +1 -1
  54. package/package.json +33 -33
@@ -1,19 +1,21 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, input, output, HostBinding, ViewEncapsulation, Component } from '@angular/core';
2
+ import { inject, input, output, computed, HostBinding, ViewEncapsulation, Component } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { HeaderService } from '@rededor/site-front-end-lib/components/header/services';
6
- import { LIB_CONFIG, RdsiteLinkDirective } from '@rededor/site-front-end-lib/core';
6
+ import { RdsiteLinkDirective } from '@rededor/site-front-end-lib/core';
7
+ import { CuraApiService } from '@rededor/site-front-end-lib/cura/api';
7
8
  import { OverlayComponent } from '@rededor/site-front-end-lib/components/overlay';
8
9
 
9
10
  class HeaderSideMenuItemComponent {
10
11
  constructor() {
11
- this.libConfig = inject(LIB_CONFIG);
12
+ this.curaApiService = inject(CuraApiService);
12
13
  this.headerService = inject(HeaderService);
13
14
  this.item = input.required(...(ngDevMode ? [{ debugName: "item" }] : []));
14
15
  this.altStyle = input(false, ...(ngDevMode ? [{ debugName: "altStyle" }] : []));
15
16
  this.fontSize = input(14, ...(ngDevMode ? [{ debugName: "fontSize" }] : []));
16
17
  this.headerSideMenuItemClick = output();
18
+ this.assetsPath = computed(() => this.curaApiService.localAssetsPath(), ...(ngDevMode ? [{ debugName: "assetsPath" }] : []));
17
19
  }
18
20
  get style() {
19
21
  return {
@@ -33,31 +35,32 @@ class HeaderSideMenuItemComponent {
33
35
  this.headerSideMenuItemClick.emit(event);
34
36
  }
35
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: HeaderSideMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: HeaderSideMenuItemComponent, isStandalone: true, selector: "li[sl-hdr-side-item]", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, altStyle: { classPropertyName: "altStyle", publicName: "altStyle", isSignal: true, isRequired: false, transformFunction: null }, fontSize: { classPropertyName: "fontSize", publicName: "fontSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { headerSideMenuItemClick: "headerSideMenuItemClick" }, host: { properties: { "style": "this.style" } }, ngImport: i0, template: "@if (item()) {\r\n <div class=\"sl-hdr-side-item\" [ngClass]=\"{ active: item().active, alt: altStyle() }\" (click)=\"toggleList($event, item, false)\">\r\n <a [href]=\"item().url\" rdsitelink (click)=\"toggleList($event, item, !item().children?.length || !!item().url); headerSideMenuItemClicked($event)\">\r\n <span>{{ item().title }}</span>\r\n @if (!item().children?.length) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#right'\"></use>\r\n </svg>\r\n }\r\n </a>\r\n\r\n @if (item().children?.length) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + (item().active ? 'up' : 'down')\"></use>\r\n </svg>\r\n }\r\n </div>\r\n\r\n @if (item().children?.length) {\r\n <ul class=\"sl-hdr-side-item-list\" [ngClass]=\"{ active: item().active }\">\r\n @for (child of item().children; track child.title) {\r\n <li sl-hdr-side-item [item]=\"child\" [fontSize]=\"fontSize()\" [altStyle]=\"altStyle()\" (headerSideMenuItemClick)=\"headerSideMenuItemClicked($event)\"></li>\r\n }\r\n </ul>\r\n }\r\n}\r\n", styles: [".sl-hdr-side-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0;min-height:44px;background-color:transparent;width:100%;cursor:pointer;border-bottom:solid 1px var(--hdr-side-border-bottom, rgb(0, 61, 165))}.sl-hdr-side-item svg{stroke:var(--hdr-side-color);flex-shrink:0}.sl-hdr-side-item.active{border-bottom:none}.sl-hdr-side-item.active a{text-decoration:none}.sl-hdr-side-item.active a span{color:var(--hdr-side-open-color, rgb(68, 142, 205))}.sl-hdr-side-item.active svg{stroke:var(--hdr-side-open-color)}.sl-hdr-side-item a{text-align:left;display:flex;justify-content:center;align-items:center;gap:8px;text-decoration:none}.sl-hdr-side-item a span{font-size:var(--side-menu-item-font-size, 16px);font-weight:300;color:var(--hdr-side-color)}.sl-hdr-side-item a svg{stroke:var(--hdr-side-alt-color)}.sl-hdr-side-item:hover a span{color:var(--hdr-side-hover)}.sl-hdr-side-item:hover svg{stroke:var(--hdr-side-hover)!important}.sl-hdr-side-item:active a span{color:var(--hdr-side-active)}.sl-hdr-side-item:active svg{stroke:var(--hdr-side-active)!important}.sl-hdr-side-item.alt a span{color:var(--hdr-side-alt-color)}.sl-hdr-side-item.alt svg{stroke:var(--hdr-side-alt-color)}.sl-hdr-side-item.alt:hover a span{color:var(--hdr-side-alt-hover)}.sl-hdr-side-item.alt:hover svg{stroke:var(--hdr-side-alt-hover)!important}.sl-hdr-side-item.alt:active a span{color:var(--hdr-side-alt-active)}.sl-hdr-side-item.alt:active svg{stroke:var(--hdr-side-alt-active)!important}.sl-hdr-side-item-list{padding:0 0 0 24px;display:none}.sl-hdr-side-item-list.active{display:block}\n"], dependencies: [{ kind: "component", type: HeaderSideMenuItemComponent, selector: "li[sl-hdr-side-item]", inputs: ["item", "altStyle", "fontSize"], outputs: ["headerSideMenuItemClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }], encapsulation: i0.ViewEncapsulation.None }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: HeaderSideMenuItemComponent, isStandalone: true, selector: "li[sl-hdr-side-item]", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, altStyle: { classPropertyName: "altStyle", publicName: "altStyle", isSignal: true, isRequired: false, transformFunction: null }, fontSize: { classPropertyName: "fontSize", publicName: "fontSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { headerSideMenuItemClick: "headerSideMenuItemClick" }, host: { properties: { "style": "this.style" } }, ngImport: i0, template: "@if (item()) {\n <div class=\"sl-hdr-side-item\" [ngClass]=\"{ active: item().active, alt: altStyle() }\" (click)=\"toggleList($event, item, false)\">\n <a [href]=\"item().url\" rdsitelink (click)=\"toggleList($event, item, !item().children?.length || !!item().url); headerSideMenuItemClicked($event)\">\n <span>{{ item().title }}</span>\n @if (!item().children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#right'\"></use>\n </svg>\n }\n </a>\n\n @if (item().children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (item().active ? 'up' : 'down')\"></use>\n </svg>\n }\n </div>\n\n @if (item().children?.length) {\n <ul class=\"sl-hdr-side-item-list\" [ngClass]=\"{ active: item().active }\">\n @for (child of item().children; track child.title) {\n <li sl-hdr-side-item [item]=\"child\" [fontSize]=\"fontSize()\" [altStyle]=\"altStyle()\" (headerSideMenuItemClick)=\"headerSideMenuItemClicked($event)\"></li>\n }\n </ul>\n }\n}\n", styles: [".sl-hdr-side-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0;min-height:44px;background-color:transparent;width:100%;cursor:pointer;border-bottom:solid 1px var(--hdr-side-border-bottom, rgb(0, 61, 165))}.sl-hdr-side-item svg{stroke:var(--hdr-side-color);flex-shrink:0}.sl-hdr-side-item.active{border-bottom:none}.sl-hdr-side-item.active a{text-decoration:none}.sl-hdr-side-item.active a span{color:var(--hdr-side-open-color, rgb(68, 142, 205))}.sl-hdr-side-item.active svg{stroke:var(--hdr-side-open-color)}.sl-hdr-side-item a{text-align:left;display:flex;justify-content:center;align-items:center;gap:8px;text-decoration:none}.sl-hdr-side-item a span{font-size:var(--side-menu-item-font-size, 16px);font-weight:300;color:var(--hdr-side-color)}.sl-hdr-side-item a svg{stroke:var(--hdr-side-alt-color)}.sl-hdr-side-item:hover a span{color:var(--hdr-side-hover)}.sl-hdr-side-item:hover svg{stroke:var(--hdr-side-hover)!important}.sl-hdr-side-item:active a span{color:var(--hdr-side-active)}.sl-hdr-side-item:active svg{stroke:var(--hdr-side-active)!important}.sl-hdr-side-item.alt a span{color:var(--hdr-side-alt-color)}.sl-hdr-side-item.alt svg{stroke:var(--hdr-side-alt-color)}.sl-hdr-side-item.alt:hover a span{color:var(--hdr-side-alt-hover)}.sl-hdr-side-item.alt:hover svg{stroke:var(--hdr-side-alt-hover)!important}.sl-hdr-side-item.alt:active a span{color:var(--hdr-side-alt-active)}.sl-hdr-side-item.alt:active svg{stroke:var(--hdr-side-alt-active)!important}.sl-hdr-side-item-list{padding:0 0 0 24px;display:none}.sl-hdr-side-item-list.active{display:block}\n"], dependencies: [{ kind: "component", type: HeaderSideMenuItemComponent, selector: "li[sl-hdr-side-item]", inputs: ["item", "altStyle", "fontSize"], outputs: ["headerSideMenuItemClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }], encapsulation: i0.ViewEncapsulation.None }); }
37
39
  }
38
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: HeaderSideMenuItemComponent, decorators: [{
39
41
  type: Component,
40
- args: [{ selector: 'li[sl-hdr-side-item]', imports: [CommonModule, RdsiteLinkDirective], encapsulation: ViewEncapsulation.None, template: "@if (item()) {\r\n <div class=\"sl-hdr-side-item\" [ngClass]=\"{ active: item().active, alt: altStyle() }\" (click)=\"toggleList($event, item, false)\">\r\n <a [href]=\"item().url\" rdsitelink (click)=\"toggleList($event, item, !item().children?.length || !!item().url); headerSideMenuItemClicked($event)\">\r\n <span>{{ item().title }}</span>\r\n @if (!item().children?.length) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#right'\"></use>\r\n </svg>\r\n }\r\n </a>\r\n\r\n @if (item().children?.length) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + (item().active ? 'up' : 'down')\"></use>\r\n </svg>\r\n }\r\n </div>\r\n\r\n @if (item().children?.length) {\r\n <ul class=\"sl-hdr-side-item-list\" [ngClass]=\"{ active: item().active }\">\r\n @for (child of item().children; track child.title) {\r\n <li sl-hdr-side-item [item]=\"child\" [fontSize]=\"fontSize()\" [altStyle]=\"altStyle()\" (headerSideMenuItemClick)=\"headerSideMenuItemClicked($event)\"></li>\r\n }\r\n </ul>\r\n }\r\n}\r\n", styles: [".sl-hdr-side-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0;min-height:44px;background-color:transparent;width:100%;cursor:pointer;border-bottom:solid 1px var(--hdr-side-border-bottom, rgb(0, 61, 165))}.sl-hdr-side-item svg{stroke:var(--hdr-side-color);flex-shrink:0}.sl-hdr-side-item.active{border-bottom:none}.sl-hdr-side-item.active a{text-decoration:none}.sl-hdr-side-item.active a span{color:var(--hdr-side-open-color, rgb(68, 142, 205))}.sl-hdr-side-item.active svg{stroke:var(--hdr-side-open-color)}.sl-hdr-side-item a{text-align:left;display:flex;justify-content:center;align-items:center;gap:8px;text-decoration:none}.sl-hdr-side-item a span{font-size:var(--side-menu-item-font-size, 16px);font-weight:300;color:var(--hdr-side-color)}.sl-hdr-side-item a svg{stroke:var(--hdr-side-alt-color)}.sl-hdr-side-item:hover a span{color:var(--hdr-side-hover)}.sl-hdr-side-item:hover svg{stroke:var(--hdr-side-hover)!important}.sl-hdr-side-item:active a span{color:var(--hdr-side-active)}.sl-hdr-side-item:active svg{stroke:var(--hdr-side-active)!important}.sl-hdr-side-item.alt a span{color:var(--hdr-side-alt-color)}.sl-hdr-side-item.alt svg{stroke:var(--hdr-side-alt-color)}.sl-hdr-side-item.alt:hover a span{color:var(--hdr-side-alt-hover)}.sl-hdr-side-item.alt:hover svg{stroke:var(--hdr-side-alt-hover)!important}.sl-hdr-side-item.alt:active a span{color:var(--hdr-side-alt-active)}.sl-hdr-side-item.alt:active svg{stroke:var(--hdr-side-alt-active)!important}.sl-hdr-side-item-list{padding:0 0 0 24px;display:none}.sl-hdr-side-item-list.active{display:block}\n"] }]
42
+ args: [{ selector: 'li[sl-hdr-side-item]', imports: [CommonModule, RdsiteLinkDirective], encapsulation: ViewEncapsulation.None, template: "@if (item()) {\n <div class=\"sl-hdr-side-item\" [ngClass]=\"{ active: item().active, alt: altStyle() }\" (click)=\"toggleList($event, item, false)\">\n <a [href]=\"item().url\" rdsitelink (click)=\"toggleList($event, item, !item().children?.length || !!item().url); headerSideMenuItemClicked($event)\">\n <span>{{ item().title }}</span>\n @if (!item().children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#right'\"></use>\n </svg>\n }\n </a>\n\n @if (item().children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (item().active ? 'up' : 'down')\"></use>\n </svg>\n }\n </div>\n\n @if (item().children?.length) {\n <ul class=\"sl-hdr-side-item-list\" [ngClass]=\"{ active: item().active }\">\n @for (child of item().children; track child.title) {\n <li sl-hdr-side-item [item]=\"child\" [fontSize]=\"fontSize()\" [altStyle]=\"altStyle()\" (headerSideMenuItemClick)=\"headerSideMenuItemClicked($event)\"></li>\n }\n </ul>\n }\n}\n", styles: [".sl-hdr-side-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0;min-height:44px;background-color:transparent;width:100%;cursor:pointer;border-bottom:solid 1px var(--hdr-side-border-bottom, rgb(0, 61, 165))}.sl-hdr-side-item svg{stroke:var(--hdr-side-color);flex-shrink:0}.sl-hdr-side-item.active{border-bottom:none}.sl-hdr-side-item.active a{text-decoration:none}.sl-hdr-side-item.active a span{color:var(--hdr-side-open-color, rgb(68, 142, 205))}.sl-hdr-side-item.active svg{stroke:var(--hdr-side-open-color)}.sl-hdr-side-item a{text-align:left;display:flex;justify-content:center;align-items:center;gap:8px;text-decoration:none}.sl-hdr-side-item a span{font-size:var(--side-menu-item-font-size, 16px);font-weight:300;color:var(--hdr-side-color)}.sl-hdr-side-item a svg{stroke:var(--hdr-side-alt-color)}.sl-hdr-side-item:hover a span{color:var(--hdr-side-hover)}.sl-hdr-side-item:hover svg{stroke:var(--hdr-side-hover)!important}.sl-hdr-side-item:active a span{color:var(--hdr-side-active)}.sl-hdr-side-item:active svg{stroke:var(--hdr-side-active)!important}.sl-hdr-side-item.alt a span{color:var(--hdr-side-alt-color)}.sl-hdr-side-item.alt svg{stroke:var(--hdr-side-alt-color)}.sl-hdr-side-item.alt:hover a span{color:var(--hdr-side-alt-hover)}.sl-hdr-side-item.alt:hover svg{stroke:var(--hdr-side-alt-hover)!important}.sl-hdr-side-item.alt:active a span{color:var(--hdr-side-alt-active)}.sl-hdr-side-item.alt:active svg{stroke:var(--hdr-side-alt-active)!important}.sl-hdr-side-item-list{padding:0 0 0 24px;display:none}.sl-hdr-side-item-list.active{display:block}\n"] }]
41
43
  }], propDecorators: { style: [{
42
44
  type: HostBinding
43
45
  }] } });
44
46
 
45
47
  class HeaderSideMenuComponent {
46
48
  constructor() {
47
- this.libConfig = inject(LIB_CONFIG);
48
49
  this.headerService = inject(HeaderService);
50
+ this.curaApiService = inject(CuraApiService);
49
51
  this.sideMenuGroups = input([], ...(ngDevMode ? [{ debugName: "sideMenuGroups" }] : []));
50
52
  this.sideMenuGeoloc = input(null, ...(ngDevMode ? [{ debugName: "sideMenuGeoloc" }] : []));
53
+ this.assetsPath = computed(() => this.curaApiService.localAssetsPath(), ...(ngDevMode ? [{ debugName: "assetsPath" }] : []));
51
54
  }
52
55
  overlayClick() {
53
56
  this.headerService.toggleShowSideMenu(false);
54
57
  }
55
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: HeaderSideMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: HeaderSideMenuComponent, isStandalone: true, selector: "div[sl-hdr-side]", inputs: { sideMenuGroups: { classPropertyName: "sideMenuGroups", publicName: "sideMenuGroups", isSignal: true, isRequired: false, transformFunction: null }, sideMenuGeoloc: { classPropertyName: "sideMenuGeoloc", publicName: "sideMenuGeoloc", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"sl-hdr-side\" [ngClass]=\"{ active: headerService.showSideMenu() }\">\r\n <div class=\"side-menu\">\r\n <div class=\"side-menu-close\">\r\n <button type=\"button\" aria-label=\"Fechar menu lateral\" (click)=\"headerService.toggleShowSideMenu()\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n @if (sideMenuGeoloc()) {\r\n <ng-container *ngTemplateOutlet=\"sideMenuGeoloc()\"></ng-container>\r\n }\r\n\r\n <nav>\r\n <ul class=\"side-menu-content\">\r\n @for (sideMenuGroup of sideMenuGroups(); track $index; let firstFroup = $first; let lastGroup = $last) {\r\n @for (sideMenuItem of sideMenuGroup; track sideMenuItem.title; let lastItem = $last) {\r\n <li\r\n sl-hdr-side-item\r\n [item]=\"sideMenuItem\"\r\n [fontSize]=\"firstFroup ? 16 : 14\"\r\n [altStyle]=\"lastGroup\"\r\n [ngStyle]=\"{ 'margin-bottom': lastItem ? '12px' : '0px' }\"\r\n ></li>\r\n }\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n</div>\r\n<rdsite-overlay class=\"side-menu-overlay\" [ngClass]=\"{ active: headerService.showSideMenu() }\" (overlayClick)=\"overlayClick()\"></rdsite-overlay>\r\n", styles: [".sl-hdr-side{display:block;position:absolute;top:0;right:0;z-index:-1;overflow:hidden;pointer-events:none;transition:z-index .3s ease-out}.sl-hdr-side.active{z-index:3004;pointer-events:auto}.sl-hdr-side.active .side-menu{transform:translate(0)}.side-menu{transition:transform .3s ease-out;transform:translate(100%);width:320px;height:100vh;overflow:auto;background-color:var(--hdr-side-bg-color)}.side-menu-close{display:flex;align-items:center;justify-content:flex-end;padding:8px 20px}.side-menu-close button{padding:12px;background-color:transparent;cursor:pointer}.side-menu-close button svg{cursor:pointer;stroke:var(--hdr-side-color)}.side-menu-content{display:flex;flex-direction:column;padding:2px 30px 64px 32px}.side-menu-content ul{list-style-type:none}.side-menu-overlay{top:0;right:0;z-index:-1;width:100vw;height:100vh;transition:all .3s ease-out;opacity:0;background-color:var(--hdr-over-bg-color);pointer-events:none}.side-menu-overlay.active{z-index:999;opacity:.9;pointer-events:all}@media only screen and (min-width: 361px){.side-menu{width:340px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: OverlayComponent, selector: "rdsite-overlay", outputs: ["overlayClick"] }, { kind: "component", type: HeaderSideMenuItemComponent, selector: "li[sl-hdr-side-item]", inputs: ["item", "altStyle", "fontSize"], outputs: ["headerSideMenuItemClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: HeaderSideMenuComponent, isStandalone: true, selector: "div[sl-hdr-side]", inputs: { sideMenuGroups: { classPropertyName: "sideMenuGroups", publicName: "sideMenuGroups", isSignal: true, isRequired: false, transformFunction: null }, sideMenuGeoloc: { classPropertyName: "sideMenuGeoloc", publicName: "sideMenuGeoloc", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"sl-hdr-side\" [ngClass]=\"{ active: headerService.showSideMenu() }\">\n <div class=\"side-menu\">\n <div class=\"side-menu-close\">\n <button type=\"button\" aria-label=\"Fechar menu lateral\" (click)=\"headerService.toggleShowSideMenu()\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\n </svg>\n </button>\n </div>\n\n @if (sideMenuGeoloc()) {\n <ng-container *ngTemplateOutlet=\"sideMenuGeoloc()\"></ng-container>\n }\n\n <nav>\n <ul class=\"side-menu-content\">\n @for (sideMenuGroup of sideMenuGroups(); track $index; let firstFroup = $first; let lastGroup = $last) {\n @for (sideMenuItem of sideMenuGroup; track sideMenuItem.title; let lastItem = $last) {\n <li\n sl-hdr-side-item\n [item]=\"sideMenuItem\"\n [fontSize]=\"firstFroup ? 16 : 14\"\n [altStyle]=\"lastGroup\"\n [ngStyle]=\"{ 'margin-bottom': lastItem ? '12px' : '0px' }\"\n ></li>\n }\n }\n </ul>\n </nav>\n </div>\n</div>\n<rdsite-overlay class=\"side-menu-overlay\" [ngClass]=\"{ active: headerService.showSideMenu() }\" (overlayClick)=\"overlayClick()\"></rdsite-overlay>\n", styles: [".sl-hdr-side{display:block;position:absolute;top:0;right:0;z-index:-1;overflow:hidden;pointer-events:none;transition:z-index .3s ease-out}.sl-hdr-side.active{z-index:3004;pointer-events:auto}.sl-hdr-side.active .side-menu{transform:translate(0)}.side-menu{transition:transform .3s ease-out;transform:translate(100%);width:320px;height:100vh;overflow:auto;background-color:var(--hdr-side-bg-color)}.side-menu-close{display:flex;align-items:center;justify-content:flex-end;padding:8px 20px}.side-menu-close button{padding:12px;background-color:transparent;cursor:pointer}.side-menu-close button svg{cursor:pointer;stroke:var(--hdr-side-color)}.side-menu-content{display:flex;flex-direction:column;padding:2px 30px 64px 32px}.side-menu-content ul{list-style-type:none}.side-menu-overlay{top:0;right:0;z-index:-1;width:100vw;height:100vh;transition:all .3s ease-out;opacity:0;background-color:var(--hdr-over-bg-color);pointer-events:none}.side-menu-overlay.active{z-index:999;opacity:.9;pointer-events:all}@media only screen and (min-width: 361px){.side-menu{width:340px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: OverlayComponent, selector: "rdsite-overlay", outputs: ["overlayClick"] }, { kind: "component", type: HeaderSideMenuItemComponent, selector: "li[sl-hdr-side-item]", inputs: ["item", "altStyle", "fontSize"], outputs: ["headerSideMenuItemClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
57
60
  }
58
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: HeaderSideMenuComponent, decorators: [{
59
62
  type: Component,
60
- args: [{ selector: 'div[sl-hdr-side]', imports: [CommonModule, OverlayComponent, HeaderSideMenuItemComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"sl-hdr-side\" [ngClass]=\"{ active: headerService.showSideMenu() }\">\r\n <div class=\"side-menu\">\r\n <div class=\"side-menu-close\">\r\n <button type=\"button\" aria-label=\"Fechar menu lateral\" (click)=\"headerService.toggleShowSideMenu()\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n @if (sideMenuGeoloc()) {\r\n <ng-container *ngTemplateOutlet=\"sideMenuGeoloc()\"></ng-container>\r\n }\r\n\r\n <nav>\r\n <ul class=\"side-menu-content\">\r\n @for (sideMenuGroup of sideMenuGroups(); track $index; let firstFroup = $first; let lastGroup = $last) {\r\n @for (sideMenuItem of sideMenuGroup; track sideMenuItem.title; let lastItem = $last) {\r\n <li\r\n sl-hdr-side-item\r\n [item]=\"sideMenuItem\"\r\n [fontSize]=\"firstFroup ? 16 : 14\"\r\n [altStyle]=\"lastGroup\"\r\n [ngStyle]=\"{ 'margin-bottom': lastItem ? '12px' : '0px' }\"\r\n ></li>\r\n }\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n</div>\r\n<rdsite-overlay class=\"side-menu-overlay\" [ngClass]=\"{ active: headerService.showSideMenu() }\" (overlayClick)=\"overlayClick()\"></rdsite-overlay>\r\n", styles: [".sl-hdr-side{display:block;position:absolute;top:0;right:0;z-index:-1;overflow:hidden;pointer-events:none;transition:z-index .3s ease-out}.sl-hdr-side.active{z-index:3004;pointer-events:auto}.sl-hdr-side.active .side-menu{transform:translate(0)}.side-menu{transition:transform .3s ease-out;transform:translate(100%);width:320px;height:100vh;overflow:auto;background-color:var(--hdr-side-bg-color)}.side-menu-close{display:flex;align-items:center;justify-content:flex-end;padding:8px 20px}.side-menu-close button{padding:12px;background-color:transparent;cursor:pointer}.side-menu-close button svg{cursor:pointer;stroke:var(--hdr-side-color)}.side-menu-content{display:flex;flex-direction:column;padding:2px 30px 64px 32px}.side-menu-content ul{list-style-type:none}.side-menu-overlay{top:0;right:0;z-index:-1;width:100vw;height:100vh;transition:all .3s ease-out;opacity:0;background-color:var(--hdr-over-bg-color);pointer-events:none}.side-menu-overlay.active{z-index:999;opacity:.9;pointer-events:all}@media only screen and (min-width: 361px){.side-menu{width:340px}}\n"] }]
63
+ args: [{ selector: 'div[sl-hdr-side]', imports: [CommonModule, OverlayComponent, HeaderSideMenuItemComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"sl-hdr-side\" [ngClass]=\"{ active: headerService.showSideMenu() }\">\n <div class=\"side-menu\">\n <div class=\"side-menu-close\">\n <button type=\"button\" aria-label=\"Fechar menu lateral\" (click)=\"headerService.toggleShowSideMenu()\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\n </svg>\n </button>\n </div>\n\n @if (sideMenuGeoloc()) {\n <ng-container *ngTemplateOutlet=\"sideMenuGeoloc()\"></ng-container>\n }\n\n <nav>\n <ul class=\"side-menu-content\">\n @for (sideMenuGroup of sideMenuGroups(); track $index; let firstFroup = $first; let lastGroup = $last) {\n @for (sideMenuItem of sideMenuGroup; track sideMenuItem.title; let lastItem = $last) {\n <li\n sl-hdr-side-item\n [item]=\"sideMenuItem\"\n [fontSize]=\"firstFroup ? 16 : 14\"\n [altStyle]=\"lastGroup\"\n [ngStyle]=\"{ 'margin-bottom': lastItem ? '12px' : '0px' }\"\n ></li>\n }\n }\n </ul>\n </nav>\n </div>\n</div>\n<rdsite-overlay class=\"side-menu-overlay\" [ngClass]=\"{ active: headerService.showSideMenu() }\" (overlayClick)=\"overlayClick()\"></rdsite-overlay>\n", styles: [".sl-hdr-side{display:block;position:absolute;top:0;right:0;z-index:-1;overflow:hidden;pointer-events:none;transition:z-index .3s ease-out}.sl-hdr-side.active{z-index:3004;pointer-events:auto}.sl-hdr-side.active .side-menu{transform:translate(0)}.side-menu{transition:transform .3s ease-out;transform:translate(100%);width:320px;height:100vh;overflow:auto;background-color:var(--hdr-side-bg-color)}.side-menu-close{display:flex;align-items:center;justify-content:flex-end;padding:8px 20px}.side-menu-close button{padding:12px;background-color:transparent;cursor:pointer}.side-menu-close button svg{cursor:pointer;stroke:var(--hdr-side-color)}.side-menu-content{display:flex;flex-direction:column;padding:2px 30px 64px 32px}.side-menu-content ul{list-style-type:none}.side-menu-overlay{top:0;right:0;z-index:-1;width:100vw;height:100vh;transition:all .3s ease-out;opacity:0;background-color:var(--hdr-over-bg-color);pointer-events:none}.side-menu-overlay.active{z-index:999;opacity:.9;pointer-events:all}@media only screen and (min-width: 361px){.side-menu{width:340px}}\n"] }]
61
64
  }] });
62
65
 
63
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rededor-site-front-end-lib-components-header-components-side.mjs","sources":["../../../projects/site-front-end-lib/components/header/components/side/header-side-menu-item/header-side-menu-item.component.ts","../../../projects/site-front-end-lib/components/header/components/side/header-side-menu-item/header-side-menu-item.component.html","../../../projects/site-front-end-lib/components/header/components/side/header-side-menu/header-side-menu.component.ts","../../../projects/site-front-end-lib/components/header/components/side/header-side-menu/header-side-menu.component.html","../../../projects/site-front-end-lib/components/header/components/side/rededor-site-front-end-lib-components-header-components-side.ts"],"sourcesContent":["import { Component, EventEmitter, HostBinding, inject, input, InputSignal, output, Output, ViewEncapsulation } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HeaderService } from '@rededor/site-front-end-lib/components/header/services';\r\nimport { RdsiteLinkDirective, MenuItem, LIB_CONFIG, LibConfig } from '@rededor/site-front-end-lib/core';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'li[sl-hdr-side-item]',\r\n imports: [CommonModule, RdsiteLinkDirective],\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './header-side-menu-item.component.html',\r\n styleUrl: './header-side-menu-item.component.scss',\r\n})\r\nexport class HeaderSideMenuItemComponent {\r\n libConfig = inject<LibConfig>(LIB_CONFIG);\r\n headerService = inject(HeaderService);\r\n\r\n item = input.required<MenuItem>();\r\n altStyle = input<boolean>(false);\r\n fontSize = input<number>(14);\r\n headerSideMenuItemClick = output<Event>();\r\n\r\n @HostBinding() get style() {\r\n return {\r\n '--side-menu-item-font-size': `${this.fontSize()}px`,\r\n };\r\n }\r\n\r\n overlayClick() {\r\n this.headerService.toggleShowSideMenu(false);\r\n }\r\n\r\n toggleList(event: Event, sideMenuItem: InputSignal<MenuItem>, canCloseSideMenu: boolean) {\r\n event.stopPropagation();\r\n sideMenuItem().active = !sideMenuItem().active;\r\n if (canCloseSideMenu) return this.headerService.toggleShowSideMenu(false);\r\n }\r\n\r\n headerSideMenuItemClicked(event: Event) {\r\n this.headerSideMenuItemClick.emit(event);\r\n }\r\n}\r\n","@if (item()) {\r\n <div class=\"sl-hdr-side-item\" [ngClass]=\"{ active: item().active, alt: altStyle() }\" (click)=\"toggleList($event, item, false)\">\r\n <a [href]=\"item().url\" rdsitelink (click)=\"toggleList($event, item, !item().children?.length || !!item().url); headerSideMenuItemClicked($event)\">\r\n <span>{{ item().title }}</span>\r\n @if (!item().children?.length) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#right'\"></use>\r\n </svg>\r\n }\r\n </a>\r\n\r\n @if (item().children?.length) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + (item().active ? 'up' : 'down')\"></use>\r\n </svg>\r\n }\r\n </div>\r\n\r\n @if (item().children?.length) {\r\n <ul class=\"sl-hdr-side-item-list\" [ngClass]=\"{ active: item().active }\">\r\n @for (child of item().children; track child.title) {\r\n <li sl-hdr-side-item [item]=\"child\" [fontSize]=\"fontSize()\" [altStyle]=\"altStyle()\" (headerSideMenuItemClick)=\"headerSideMenuItemClicked($event)\"></li>\r\n }\r\n </ul>\r\n }\r\n}\r\n","import { Component, inject, Inject, input, TemplateRef, ViewEncapsulation } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HeaderService } from '@rededor/site-front-end-lib/components/header/services';\r\nimport { HeaderSideMenuItemComponent } from '../header-side-menu-item/header-side-menu-item.component';\r\nimport { LIB_CONFIG, LibConfig, MenuItem } from '@rededor/site-front-end-lib/core';\r\nimport { OverlayComponent } from '@rededor/site-front-end-lib/components/overlay';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'div[sl-hdr-side]',\r\n imports: [CommonModule, OverlayComponent, HeaderSideMenuItemComponent],\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './header-side-menu.component.html',\r\n styleUrl: './header-side-menu.component.scss',\r\n})\r\nexport class HeaderSideMenuComponent {\r\n libConfig = inject<LibConfig>(LIB_CONFIG);\r\n headerService = inject(HeaderService);\r\n\r\n sideMenuGroups = input<MenuItem[][]>([]);\r\n sideMenuGeoloc = input<TemplateRef<any> | null>(null);\r\n\r\n overlayClick() {\r\n this.headerService.toggleShowSideMenu(false);\r\n }\r\n}\r\n","<div class=\"sl-hdr-side\" [ngClass]=\"{ active: headerService.showSideMenu() }\">\r\n <div class=\"side-menu\">\r\n <div class=\"side-menu-close\">\r\n <button type=\"button\" aria-label=\"Fechar menu lateral\" (click)=\"headerService.toggleShowSideMenu()\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n @if (sideMenuGeoloc()) {\r\n <ng-container *ngTemplateOutlet=\"sideMenuGeoloc()\"></ng-container>\r\n }\r\n\r\n <nav>\r\n <ul class=\"side-menu-content\">\r\n @for (sideMenuGroup of sideMenuGroups(); track $index; let firstFroup = $first; let lastGroup = $last) {\r\n @for (sideMenuItem of sideMenuGroup; track sideMenuItem.title; let lastItem = $last) {\r\n <li\r\n sl-hdr-side-item\r\n [item]=\"sideMenuItem\"\r\n [fontSize]=\"firstFroup ? 16 : 14\"\r\n [altStyle]=\"lastGroup\"\r\n [ngStyle]=\"{ 'margin-bottom': lastItem ? '12px' : '0px' }\"\r\n ></li>\r\n }\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n</div>\r\n<rdsite-overlay class=\"side-menu-overlay\" [ngClass]=\"{ active: headerService.showSideMenu() }\" (overlayClick)=\"overlayClick()\"></rdsite-overlay>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rededor-site-front-end-lib-components-header-components-side.mjs","sources":["../../../projects/site-front-end-lib/components/header/components/side/header-side-menu-item/header-side-menu-item.component.ts","../../../projects/site-front-end-lib/components/header/components/side/header-side-menu-item/header-side-menu-item.component.html","../../../projects/site-front-end-lib/components/header/components/side/header-side-menu/header-side-menu.component.ts","../../../projects/site-front-end-lib/components/header/components/side/header-side-menu/header-side-menu.component.html","../../../projects/site-front-end-lib/components/header/components/side/rededor-site-front-end-lib-components-header-components-side.ts"],"sourcesContent":["import { Component, computed, HostBinding, inject, input, InputSignal, output, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HeaderService } from '@rededor/site-front-end-lib/components/header/services';\nimport { RdsiteLinkDirective, MenuItem } from '@rededor/site-front-end-lib/core';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'li[sl-hdr-side-item]',\n imports: [CommonModule, RdsiteLinkDirective],\n encapsulation: ViewEncapsulation.None,\n templateUrl: './header-side-menu-item.component.html',\n styleUrl: './header-side-menu-item.component.scss',\n})\nexport class HeaderSideMenuItemComponent {\n private curaApiService = inject(CuraApiService);\n headerService = inject(HeaderService);\n\n item = input.required<MenuItem>();\n altStyle = input<boolean>(false);\n fontSize = input<number>(14);\n headerSideMenuItemClick = output<Event>();\n\n public assetsPath = computed(() => this.curaApiService.localAssetsPath());\n\n @HostBinding() get style() {\n return {\n '--side-menu-item-font-size': `${this.fontSize()}px`,\n };\n }\n\n overlayClick() {\n this.headerService.toggleShowSideMenu(false);\n }\n\n toggleList(event: Event, sideMenuItem: InputSignal<MenuItem>, canCloseSideMenu: boolean) {\n event.stopPropagation();\n sideMenuItem().active = !sideMenuItem().active;\n if (canCloseSideMenu) return this.headerService.toggleShowSideMenu(false);\n }\n\n headerSideMenuItemClicked(event: Event) {\n this.headerSideMenuItemClick.emit(event);\n }\n}\n","@if (item()) {\n <div class=\"sl-hdr-side-item\" [ngClass]=\"{ active: item().active, alt: altStyle() }\" (click)=\"toggleList($event, item, false)\">\n <a [href]=\"item().url\" rdsitelink (click)=\"toggleList($event, item, !item().children?.length || !!item().url); headerSideMenuItemClicked($event)\">\n <span>{{ item().title }}</span>\n @if (!item().children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#right'\"></use>\n </svg>\n }\n </a>\n\n @if (item().children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#' + (item().active ? 'up' : 'down')\"></use>\n </svg>\n }\n </div>\n\n @if (item().children?.length) {\n <ul class=\"sl-hdr-side-item-list\" [ngClass]=\"{ active: item().active }\">\n @for (child of item().children; track child.title) {\n <li sl-hdr-side-item [item]=\"child\" [fontSize]=\"fontSize()\" [altStyle]=\"altStyle()\" (headerSideMenuItemClick)=\"headerSideMenuItemClicked($event)\"></li>\n }\n </ul>\n }\n}\n","import { Component, computed, inject, input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HeaderService } from '@rededor/site-front-end-lib/components/header/services';\nimport { HeaderSideMenuItemComponent } from '../header-side-menu-item/header-side-menu-item.component';\nimport { MenuItem } from '@rededor/site-front-end-lib/core';\nimport { OverlayComponent } from '@rededor/site-front-end-lib/components/overlay';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[sl-hdr-side]',\n imports: [CommonModule, OverlayComponent, HeaderSideMenuItemComponent],\n encapsulation: ViewEncapsulation.None,\n templateUrl: './header-side-menu.component.html',\n styleUrl: './header-side-menu.component.scss',\n})\nexport class HeaderSideMenuComponent {\n headerService = inject(HeaderService);\n private curaApiService = inject(CuraApiService);\n\n sideMenuGroups = input<MenuItem[][]>([]);\n sideMenuGeoloc = input<TemplateRef<any> | null>(null);\n\n public assetsPath = computed(() => this.curaApiService.localAssetsPath());\n\n overlayClick() {\n this.headerService.toggleShowSideMenu(false);\n }\n}\n","<div class=\"sl-hdr-side\" [ngClass]=\"{ active: headerService.showSideMenu() }\">\n <div class=\"side-menu\">\n <div class=\"side-menu-close\">\n <button type=\"button\" aria-label=\"Fechar menu lateral\" (click)=\"headerService.toggleShowSideMenu()\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\n </svg>\n </button>\n </div>\n\n @if (sideMenuGeoloc()) {\n <ng-container *ngTemplateOutlet=\"sideMenuGeoloc()\"></ng-container>\n }\n\n <nav>\n <ul class=\"side-menu-content\">\n @for (sideMenuGroup of sideMenuGroups(); track $index; let firstFroup = $first; let lastGroup = $last) {\n @for (sideMenuItem of sideMenuGroup; track sideMenuItem.title; let lastItem = $last) {\n <li\n sl-hdr-side-item\n [item]=\"sideMenuItem\"\n [fontSize]=\"firstFroup ? 16 : 14\"\n [altStyle]=\"lastGroup\"\n [ngStyle]=\"{ 'margin-bottom': lastItem ? '12px' : '0px' }\"\n ></li>\n }\n }\n </ul>\n </nav>\n </div>\n</div>\n<rdsite-overlay class=\"side-menu-overlay\" [ngClass]=\"{ active: headerService.showSideMenu() }\" (overlayClick)=\"overlayClick()\"></rdsite-overlay>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;MAca,2BAA2B,CAAA;AARxC,IAAA,WAAA,GAAA;AASU,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAC/C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAErC,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,+CAAY;AACjC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,EAAE,oDAAC;QAC5B,IAAA,CAAA,uBAAuB,GAAG,MAAM,EAAS;AAElC,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,sDAAC;AAqB1E,IAAA;AAnBC,IAAA,IAAmB,KAAK,GAAA;QACtB,OAAO;AACL,YAAA,4BAA4B,EAAE,CAAA,EAAG,IAAI,CAAC,QAAQ,EAAE,CAAA,EAAA,CAAI;SACrD;IACH;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAC9C;AAEA,IAAA,UAAU,CAAC,KAAY,EAAE,YAAmC,EAAE,gBAAyB,EAAA;QACrF,KAAK,CAAC,eAAe,EAAE;QACvB,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,MAAM;AAC9C,QAAA,IAAI,gBAAgB;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAC3E;AAEA,IAAA,yBAAyB,CAAC,KAAY,EAAA;AACpC,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;IAC1C;8GA7BW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,okBCdxC,0wCA0BA,EAAA,MAAA,EAAA,CAAA,ikDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDZa,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAL5B,YAAY,6HAAE,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,uBAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAKhC,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;+BAEE,sBAAsB,EAAA,OAAA,EACvB,CAAC,YAAY,EAAE,mBAAmB,CAAC,EAAA,aAAA,EAC7B,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0wCAAA,EAAA,MAAA,EAAA,CAAA,ikDAAA,CAAA,EAAA;8BAelB,KAAK,EAAA,CAAA;sBAAvB;;;METU,uBAAuB,CAAA;AARpC,IAAA,WAAA,GAAA;AASE,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAC7B,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAE/C,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAe,EAAE,0DAAC;AACxC,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAA0B,IAAI,0DAAC;AAE9C,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,sDAAC;AAK1E,IAAA;IAHC,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAC9C;8GAXW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,8XChBpC,s2CAgCA,EAAA,MAAA,EAAA,CAAA,gjCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,sFAAE,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAK1D,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;+BAEE,kBAAkB,EAAA,OAAA,EACnB,CAAC,YAAY,EAAE,gBAAgB,EAAE,2BAA2B,CAAC,EAAA,aAAA,EACvD,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,s2CAAA,EAAA,MAAA,EAAA,CAAA,gjCAAA,CAAA,EAAA;;;AEZvC;;AAEG;;;;"}
@@ -1,8 +1,8 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { isPlatformBrowser, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { inject, PLATFORM_ID, DOCUMENT, ChangeDetectorRef, model, HostListener, HostBinding, Component } from '@angular/core';
5
- import { LIB_CONFIG, RdsiteModalDrawerComponentStyle } from '@rededor/site-front-end-lib/core';
4
+ import { inject, PLATFORM_ID, DOCUMENT, ChangeDetectorRef, model, computed, HostListener, HostBinding, Component } from '@angular/core';
5
+ import { RdsiteModalDrawerComponentStyle } from '@rededor/site-front-end-lib/core';
6
6
  import { CuraApiService } from '@rededor/site-front-end-lib/cura/api';
7
7
 
8
8
  class ModalDrawerComponent {
@@ -11,13 +11,13 @@ class ModalDrawerComponent {
11
11
  this.platformId = inject(PLATFORM_ID);
12
12
  this.document = inject(DOCUMENT);
13
13
  this.cdr = inject(ChangeDetectorRef);
14
- this.libConfig = inject(LIB_CONFIG);
15
14
  this.maxHeight = 75;
16
15
  this.closeHeight = this.maxHeight / 1.5;
17
16
  this.rdsiteModalComponentStyle = RdsiteModalDrawerComponentStyle;
18
17
  this.id = model('default', ...(ngDevMode ? [{ debugName: "id" }] : []));
19
18
  this.modalContent = model(...(ngDevMode ? [undefined, { debugName: "modalContent" }] : []));
20
19
  this.componentStyle = model(RdsiteModalDrawerComponentStyle.DEFAULT, ...(ngDevMode ? [{ debugName: "componentStyle" }] : []));
20
+ this.assetsPath = computed(() => this.curaApiService.localAssetsPath(), ...(ngDevMode ? [{ debugName: "assetsPath" }] : []));
21
21
  this.styleBinding = {
22
22
  '--primary-base': this.curaApiService.theme.colors.getColor('primary-base'),
23
23
  '--primary-light': this.curaApiService.theme.colors.getColor('primary-light'),
@@ -123,11 +123,11 @@ class ModalDrawerComponent {
123
123
  this.modalContent.set(null);
124
124
  }
125
125
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ModalDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: ModalDrawerComponent, isStandalone: true, selector: "dialog[rdsite-modal-drawer]#rdsite-modal-drawer", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, modalContent: { classPropertyName: "modalContent", publicName: "modalContent", isSignal: true, isRequired: false, transformFunction: null }, componentStyle: { classPropertyName: "componentStyle", publicName: "componentStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { id: "idChange", modalContent: "modalContentChange", componentStyle: "componentStyleChange" }, host: { listeners: { "touchstart": "onDragStart($event)", "touchmove": "onDragMove($event)", "touchend": "onDragEnd($event)" }, properties: { "class": "this.classBinding", "style": "this.styleBinding" } }, ngImport: i0, template: "<div id=\"sheet\" class=\"sheet\" aria-hidden=\"true\" data-testid=\"__modal-drawer-sheet\">\r\n <div class=\"overlay\" data-testid=\"__modal-drawer-overlay\"></div>\r\n <div class=\"contents\" data-testid=\"__modal-drawer-contents\">\r\n <div class=\"controls\" data-testid=\"__modal-drawer-controls\">\r\n <div class=\"draggable-area\" data-testid=\"__modal-drawer-draggable-area\">\r\n <div class=\"draggable-thumb\" data-testid=\"__modal-drawer-draggable-thumb\"></div>\r\n </div>\r\n <a class=\"close-sheet\" type=\"button\" title=\"Close the sheet\" (click)=\"closeSheet()\">\r\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n </a>\r\n </div>\r\n <div class=\"body\" data-testid=\"__modal-drawer-body\">\r\n @if (modalContent()) {\r\n <ng-container>\r\n <ng-container *ngTemplateOutlet=\"modalContent()\"></ng-container>\r\n </ng-container>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host .sheet{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:fixed;inset:0;z-index:9999;visibility:visible;transition:opacity .5s,visibility .5s}:host .sheet .overlay{position:absolute;inset:0;z-index:-1;background:#002f6ce6}:host .sheet .contents{display:flex;flex-direction:column;border-radius:1rem 1rem 0 0;background:#fff;overflow-y:hidden;--default-transitions: transform .8s, border-radius .8s;transition:var(--default-transitions);transform:translateY(0);width:100%;box-sizing:border-box}:host .sheet .contents:not(.not-selectable){transition:var(--default-transitions),height .8s}:host .sheet .controls{display:flex;position:relative}:host .sheet .draggable-area{position:absolute;top:0;width:100%;height:80px;cursor:grab;background-color:#fff}:host .sheet .draggable-thumb{position:absolute;z-index:2;left:50%;translate:-50%;top:16px;width:58px;height:8px;background-color:#e9e9e9;border-radius:8px}:host .sheet .close-sheet{position:absolute;top:5px;right:5px}:host .sheet .close-sheet:hover rdsl-icon{stroke:var(--secondary-base)}:host .sheet .close-sheet:hover rdsl-icon ::ng-deep cura-icon{--color: var(--secondary-base) !important}:host .sheet .body{flex-grow:1;width:100%;display:flex;flex-direction:column;justify-content:space-between;padding:1rem;box-sizing:border-box}:host .sheet[aria-hidden=true] .contents{transform:translateY(100%)}:host .sheet[aria-hidden=true]{opacity:0;visibility:hidden;pointer-events:none}:host.doctor-card .draggable-area{background-color:#ccd9e7}:host.doctor-card .draggable-area .draggable-thumb{background-color:#85a0bc;border-radius:8px}:host.doctor-card .close-sheet{display:none}:host.doctor-card .img,:host.doctor-card .icon{position:absolute;z-index:2;left:50%;translate:-50%;top:32px;width:84px;height:84px;border-radius:65px;border:2px solid var(--primary-base);display:flex;justify-content:center;align-items:center}:host.doctor-card .img{background-position:50%;background-size:cover}:host.doctor-card .icon{background-color:#d7f3ff}:host.doctor-card .icon rdsl-icon{width:97%;height:auto}:host.doctor-card .icon rdsl-icon{stroke:var(--primary-base);stroke-width:3px}:host.doctor-card .icon rdsl-icon ::ng-deep cura-icon{--color: var(--primary-base) !important}:host.doctor-card p{text-align:left;padding-bottom:8px}:host.doctor-card .info{padding-top:120px}:host.doctor-card .info p{color:#4f4f4f;font-size:18px;font-weight:500;line-height:28px}:host.doctor-card .info .description p:first-of-type{color:#828282;font-size:12px;font-weight:400;line-height:125%}:host.doctor-card .info .description p:nth-of-type(2){color:var(--primary-base);font-size:12px;font-weight:400;line-height:125%}:host.doctor-card .info .curriculo{padding-top:20px;overflow-y:auto;max-height:40vh}:host.doctor-card .info .curriculo li{list-style:none;display:flex;gap:10px;text-align:left;margin-bottom:12px;font-size:14px;line-height:125%;color:#4a4a4a}:host.doctor-card .info .curriculo li:before{content:\"\";width:8px;height:8px;border-radius:50%;background-color:var(--secondary-base);display:block;flex-shrink:0;margin-top:5px}:host.doctor-card .schedule{padding-top:24px}:host.doctor-card .schedule .rdsl-button-small{width:100%;height:38px}:host.form-fallback .sheet .contents{height:40vh;width:90%}:host.form-fallback .sheet .contents .controls{display:none}:host.filter-doencas .sheet .contents{width:90%;border:2px solid #d4d4d4}:host.filter-doencas .sheet .contents .controls{display:none}:host.filter-doencas .sheet .contents .close-sheet{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
126
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: ModalDrawerComponent, isStandalone: true, selector: "dialog[rdsite-modal-drawer]#rdsite-modal-drawer", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, modalContent: { classPropertyName: "modalContent", publicName: "modalContent", isSignal: true, isRequired: false, transformFunction: null }, componentStyle: { classPropertyName: "componentStyle", publicName: "componentStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { id: "idChange", modalContent: "modalContentChange", componentStyle: "componentStyleChange" }, host: { listeners: { "touchstart": "onDragStart($event)", "touchmove": "onDragMove($event)", "touchend": "onDragEnd($event)" }, properties: { "class": "this.classBinding", "style": "this.styleBinding" } }, ngImport: i0, template: "<div id=\"sheet\" class=\"sheet\" aria-hidden=\"true\" data-testid=\"__modal-drawer-sheet\">\n <div class=\"overlay\" data-testid=\"__modal-drawer-overlay\"></div>\n <div class=\"contents\" data-testid=\"__modal-drawer-contents\">\n <div class=\"controls\" data-testid=\"__modal-drawer-controls\">\n <div class=\"draggable-area\" data-testid=\"__modal-drawer-draggable-area\">\n <div class=\"draggable-thumb\" data-testid=\"__modal-drawer-draggable-thumb\"></div>\n </div>\n <a class=\"close-sheet\" type=\"button\" title=\"Close the sheet\" (click)=\"closeSheet()\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\n </svg>\n </a>\n </div>\n <div class=\"body\" data-testid=\"__modal-drawer-body\">\n @if (modalContent()) {\n <ng-container>\n <ng-container *ngTemplateOutlet=\"modalContent()\"></ng-container>\n </ng-container>\n }\n </div>\n </div>\n</div>\n", styles: [":host .sheet{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:fixed;inset:0;z-index:9999;visibility:visible;transition:opacity .5s,visibility .5s}:host .sheet .overlay{position:absolute;inset:0;z-index:-1;background:#002f6ce6}:host .sheet .contents{display:flex;flex-direction:column;border-radius:1rem 1rem 0 0;background:#fff;overflow-y:hidden;--default-transitions: transform .8s, border-radius .8s;transition:var(--default-transitions);transform:translateY(0);width:100%;box-sizing:border-box}:host .sheet .contents:not(.not-selectable){transition:var(--default-transitions),height .8s}:host .sheet .controls{display:flex;position:relative}:host .sheet .draggable-area{position:absolute;top:0;width:100%;height:80px;cursor:grab;background-color:#fff}:host .sheet .draggable-thumb{position:absolute;z-index:2;left:50%;translate:-50%;top:16px;width:58px;height:8px;background-color:#e9e9e9;border-radius:8px}:host .sheet .close-sheet{position:absolute;top:5px;right:5px}:host .sheet .close-sheet:hover rdsl-icon{stroke:var(--secondary-base)}:host .sheet .close-sheet:hover rdsl-icon ::ng-deep cura-icon{--color: var(--secondary-base) !important}:host .sheet .body{flex-grow:1;width:100%;display:flex;flex-direction:column;justify-content:space-between;padding:1rem;box-sizing:border-box}:host .sheet[aria-hidden=true] .contents{transform:translateY(100%)}:host .sheet[aria-hidden=true]{opacity:0;visibility:hidden;pointer-events:none}:host.doctor-card .draggable-area{background-color:#ccd9e7}:host.doctor-card .draggable-area .draggable-thumb{background-color:#85a0bc;border-radius:8px}:host.doctor-card .close-sheet{display:none}:host.doctor-card .img,:host.doctor-card .icon{position:absolute;z-index:2;left:50%;translate:-50%;top:32px;width:84px;height:84px;border-radius:65px;border:2px solid var(--primary-base);display:flex;justify-content:center;align-items:center}:host.doctor-card .img{background-position:50%;background-size:cover}:host.doctor-card .icon{background-color:#d7f3ff}:host.doctor-card .icon rdsl-icon{width:97%;height:auto}:host.doctor-card .icon rdsl-icon{stroke:var(--primary-base);stroke-width:3px}:host.doctor-card .icon rdsl-icon ::ng-deep cura-icon{--color: var(--primary-base) !important}:host.doctor-card p{text-align:left;padding-bottom:8px}:host.doctor-card .info{padding-top:120px}:host.doctor-card .info p{color:#4f4f4f;font-size:18px;font-weight:500;line-height:28px}:host.doctor-card .info .description p:first-of-type{color:#828282;font-size:12px;font-weight:400;line-height:125%}:host.doctor-card .info .description p:nth-of-type(2){color:var(--primary-base);font-size:12px;font-weight:400;line-height:125%}:host.doctor-card .info .curriculo{padding-top:20px;overflow-y:auto;max-height:40vh}:host.doctor-card .info .curriculo li{list-style:none;display:flex;gap:10px;text-align:left;margin-bottom:12px;font-size:14px;line-height:125%;color:#4a4a4a}:host.doctor-card .info .curriculo li:before{content:\"\";width:8px;height:8px;border-radius:50%;background-color:var(--secondary-base);display:block;flex-shrink:0;margin-top:5px}:host.doctor-card .schedule{padding-top:24px}:host.doctor-card .schedule .rdsl-button-small{width:100%;height:38px}:host.form-fallback .sheet .contents{height:40vh;width:90%}:host.form-fallback .sheet .contents .controls{display:none}:host.filter-doencas .sheet .contents{width:90%;border:2px solid #d4d4d4}:host.filter-doencas .sheet .contents .controls{display:none}:host.filter-doencas .sheet .contents .close-sheet{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
127
127
  }
128
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ModalDrawerComponent, decorators: [{
129
129
  type: Component,
130
- args: [{ selector: 'dialog[rdsite-modal-drawer]#rdsite-modal-drawer', imports: [CommonModule], template: "<div id=\"sheet\" class=\"sheet\" aria-hidden=\"true\" data-testid=\"__modal-drawer-sheet\">\r\n <div class=\"overlay\" data-testid=\"__modal-drawer-overlay\"></div>\r\n <div class=\"contents\" data-testid=\"__modal-drawer-contents\">\r\n <div class=\"controls\" data-testid=\"__modal-drawer-controls\">\r\n <div class=\"draggable-area\" data-testid=\"__modal-drawer-draggable-area\">\r\n <div class=\"draggable-thumb\" data-testid=\"__modal-drawer-draggable-thumb\"></div>\r\n </div>\r\n <a class=\"close-sheet\" type=\"button\" title=\"Close the sheet\" (click)=\"closeSheet()\">\r\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n </a>\r\n </div>\r\n <div class=\"body\" data-testid=\"__modal-drawer-body\">\r\n @if (modalContent()) {\r\n <ng-container>\r\n <ng-container *ngTemplateOutlet=\"modalContent()\"></ng-container>\r\n </ng-container>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host .sheet{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:fixed;inset:0;z-index:9999;visibility:visible;transition:opacity .5s,visibility .5s}:host .sheet .overlay{position:absolute;inset:0;z-index:-1;background:#002f6ce6}:host .sheet .contents{display:flex;flex-direction:column;border-radius:1rem 1rem 0 0;background:#fff;overflow-y:hidden;--default-transitions: transform .8s, border-radius .8s;transition:var(--default-transitions);transform:translateY(0);width:100%;box-sizing:border-box}:host .sheet .contents:not(.not-selectable){transition:var(--default-transitions),height .8s}:host .sheet .controls{display:flex;position:relative}:host .sheet .draggable-area{position:absolute;top:0;width:100%;height:80px;cursor:grab;background-color:#fff}:host .sheet .draggable-thumb{position:absolute;z-index:2;left:50%;translate:-50%;top:16px;width:58px;height:8px;background-color:#e9e9e9;border-radius:8px}:host .sheet .close-sheet{position:absolute;top:5px;right:5px}:host .sheet .close-sheet:hover rdsl-icon{stroke:var(--secondary-base)}:host .sheet .close-sheet:hover rdsl-icon ::ng-deep cura-icon{--color: var(--secondary-base) !important}:host .sheet .body{flex-grow:1;width:100%;display:flex;flex-direction:column;justify-content:space-between;padding:1rem;box-sizing:border-box}:host .sheet[aria-hidden=true] .contents{transform:translateY(100%)}:host .sheet[aria-hidden=true]{opacity:0;visibility:hidden;pointer-events:none}:host.doctor-card .draggable-area{background-color:#ccd9e7}:host.doctor-card .draggable-area .draggable-thumb{background-color:#85a0bc;border-radius:8px}:host.doctor-card .close-sheet{display:none}:host.doctor-card .img,:host.doctor-card .icon{position:absolute;z-index:2;left:50%;translate:-50%;top:32px;width:84px;height:84px;border-radius:65px;border:2px solid var(--primary-base);display:flex;justify-content:center;align-items:center}:host.doctor-card .img{background-position:50%;background-size:cover}:host.doctor-card .icon{background-color:#d7f3ff}:host.doctor-card .icon rdsl-icon{width:97%;height:auto}:host.doctor-card .icon rdsl-icon{stroke:var(--primary-base);stroke-width:3px}:host.doctor-card .icon rdsl-icon ::ng-deep cura-icon{--color: var(--primary-base) !important}:host.doctor-card p{text-align:left;padding-bottom:8px}:host.doctor-card .info{padding-top:120px}:host.doctor-card .info p{color:#4f4f4f;font-size:18px;font-weight:500;line-height:28px}:host.doctor-card .info .description p:first-of-type{color:#828282;font-size:12px;font-weight:400;line-height:125%}:host.doctor-card .info .description p:nth-of-type(2){color:var(--primary-base);font-size:12px;font-weight:400;line-height:125%}:host.doctor-card .info .curriculo{padding-top:20px;overflow-y:auto;max-height:40vh}:host.doctor-card .info .curriculo li{list-style:none;display:flex;gap:10px;text-align:left;margin-bottom:12px;font-size:14px;line-height:125%;color:#4a4a4a}:host.doctor-card .info .curriculo li:before{content:\"\";width:8px;height:8px;border-radius:50%;background-color:var(--secondary-base);display:block;flex-shrink:0;margin-top:5px}:host.doctor-card .schedule{padding-top:24px}:host.doctor-card .schedule .rdsl-button-small{width:100%;height:38px}:host.form-fallback .sheet .contents{height:40vh;width:90%}:host.form-fallback .sheet .contents .controls{display:none}:host.filter-doencas .sheet .contents{width:90%;border:2px solid #d4d4d4}:host.filter-doencas .sheet .contents .controls{display:none}:host.filter-doencas .sheet .contents .close-sheet{display:none}\n"] }]
130
+ args: [{ selector: 'dialog[rdsite-modal-drawer]#rdsite-modal-drawer', imports: [CommonModule], template: "<div id=\"sheet\" class=\"sheet\" aria-hidden=\"true\" data-testid=\"__modal-drawer-sheet\">\n <div class=\"overlay\" data-testid=\"__modal-drawer-overlay\"></div>\n <div class=\"contents\" data-testid=\"__modal-drawer-contents\">\n <div class=\"controls\" data-testid=\"__modal-drawer-controls\">\n <div class=\"draggable-area\" data-testid=\"__modal-drawer-draggable-area\">\n <div class=\"draggable-thumb\" data-testid=\"__modal-drawer-draggable-thumb\"></div>\n </div>\n <a class=\"close-sheet\" type=\"button\" title=\"Close the sheet\" (click)=\"closeSheet()\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\n </svg>\n </a>\n </div>\n <div class=\"body\" data-testid=\"__modal-drawer-body\">\n @if (modalContent()) {\n <ng-container>\n <ng-container *ngTemplateOutlet=\"modalContent()\"></ng-container>\n </ng-container>\n }\n </div>\n </div>\n</div>\n", styles: [":host .sheet{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:fixed;inset:0;z-index:9999;visibility:visible;transition:opacity .5s,visibility .5s}:host .sheet .overlay{position:absolute;inset:0;z-index:-1;background:#002f6ce6}:host .sheet .contents{display:flex;flex-direction:column;border-radius:1rem 1rem 0 0;background:#fff;overflow-y:hidden;--default-transitions: transform .8s, border-radius .8s;transition:var(--default-transitions);transform:translateY(0);width:100%;box-sizing:border-box}:host .sheet .contents:not(.not-selectable){transition:var(--default-transitions),height .8s}:host .sheet .controls{display:flex;position:relative}:host .sheet .draggable-area{position:absolute;top:0;width:100%;height:80px;cursor:grab;background-color:#fff}:host .sheet .draggable-thumb{position:absolute;z-index:2;left:50%;translate:-50%;top:16px;width:58px;height:8px;background-color:#e9e9e9;border-radius:8px}:host .sheet .close-sheet{position:absolute;top:5px;right:5px}:host .sheet .close-sheet:hover rdsl-icon{stroke:var(--secondary-base)}:host .sheet .close-sheet:hover rdsl-icon ::ng-deep cura-icon{--color: var(--secondary-base) !important}:host .sheet .body{flex-grow:1;width:100%;display:flex;flex-direction:column;justify-content:space-between;padding:1rem;box-sizing:border-box}:host .sheet[aria-hidden=true] .contents{transform:translateY(100%)}:host .sheet[aria-hidden=true]{opacity:0;visibility:hidden;pointer-events:none}:host.doctor-card .draggable-area{background-color:#ccd9e7}:host.doctor-card .draggable-area .draggable-thumb{background-color:#85a0bc;border-radius:8px}:host.doctor-card .close-sheet{display:none}:host.doctor-card .img,:host.doctor-card .icon{position:absolute;z-index:2;left:50%;translate:-50%;top:32px;width:84px;height:84px;border-radius:65px;border:2px solid var(--primary-base);display:flex;justify-content:center;align-items:center}:host.doctor-card .img{background-position:50%;background-size:cover}:host.doctor-card .icon{background-color:#d7f3ff}:host.doctor-card .icon rdsl-icon{width:97%;height:auto}:host.doctor-card .icon rdsl-icon{stroke:var(--primary-base);stroke-width:3px}:host.doctor-card .icon rdsl-icon ::ng-deep cura-icon{--color: var(--primary-base) !important}:host.doctor-card p{text-align:left;padding-bottom:8px}:host.doctor-card .info{padding-top:120px}:host.doctor-card .info p{color:#4f4f4f;font-size:18px;font-weight:500;line-height:28px}:host.doctor-card .info .description p:first-of-type{color:#828282;font-size:12px;font-weight:400;line-height:125%}:host.doctor-card .info .description p:nth-of-type(2){color:var(--primary-base);font-size:12px;font-weight:400;line-height:125%}:host.doctor-card .info .curriculo{padding-top:20px;overflow-y:auto;max-height:40vh}:host.doctor-card .info .curriculo li{list-style:none;display:flex;gap:10px;text-align:left;margin-bottom:12px;font-size:14px;line-height:125%;color:#4a4a4a}:host.doctor-card .info .curriculo li:before{content:\"\";width:8px;height:8px;border-radius:50%;background-color:var(--secondary-base);display:block;flex-shrink:0;margin-top:5px}:host.doctor-card .schedule{padding-top:24px}:host.doctor-card .schedule .rdsl-button-small{width:100%;height:38px}:host.form-fallback .sheet .contents{height:40vh;width:90%}:host.form-fallback .sheet .contents .controls{display:none}:host.filter-doencas .sheet .contents{width:90%;border:2px solid #d4d4d4}:host.filter-doencas .sheet .contents .controls{display:none}:host.filter-doencas .sheet .contents .close-sheet{display:none}\n"] }]
131
131
  }], propDecorators: { classBinding: [{
132
132
  type: HostBinding,
133
133
  args: ['class']
@@ -1 +1 @@
1
- {"version":3,"file":"rededor-site-front-end-lib-components-modal-drawer.mjs","sources":["../../../projects/site-front-end-lib/components/modal-drawer/modal-drawer.component.ts","../../../projects/site-front-end-lib/components/modal-drawer/modal-drawer.component.html","../../../projects/site-front-end-lib/components/modal-drawer/rededor-site-front-end-lib-components-modal-drawer.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, DOCUMENT, HostBinding, HostListener, inject, model, PLATFORM_ID, computed } from '@angular/core';\r\nimport { AbstractModalDrawerComponent, LIB_CONFIG, RdsiteModalDrawerComponentStyle } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\n\r\n@Component({\r\n selector: 'dialog[rdsite-modal-drawer]#rdsite-modal-drawer',\r\n imports: [CommonModule],\r\n templateUrl: './modal-drawer.component.html',\r\n styleUrl: './modal-drawer.component.scss',\r\n})\r\nexport class ModalDrawerComponent implements AbstractModalDrawerComponent {\r\n private readonly curaApiService = inject(CuraApiService);\r\n private readonly platformId = inject(PLATFORM_ID);\r\n private readonly document = inject(DOCUMENT);\r\n private readonly cdr = inject(ChangeDetectorRef);\r\n readonly libConfig = inject(LIB_CONFIG);\r\n\r\n sheet!: HTMLElement;\r\n sheetContents!: HTMLElement;\r\n draggableArea!: HTMLElement;\r\n sheetHeight!: number;\r\n dragPosition!: number;\r\n maxHeight = 75;\r\n\r\n closeHeight = this.maxHeight / 1.5;\r\n\r\n rdsiteModalComponentStyle = RdsiteModalDrawerComponentStyle;\r\n\r\n id = model<string>('default');\r\n modalContent = model<any>();\r\n componentStyle = model<RdsiteModalDrawerComponentStyle>(RdsiteModalDrawerComponentStyle.DEFAULT);\r\n\r\n modal!: HTMLDialogElement;\r\n\r\n @HostBinding('class') get classBinding() {\r\n return {\r\n 'filter-doencas': this.componentStyle() === RdsiteModalDrawerComponentStyle.FILTERDOENCAS,\r\n };\r\n }\r\n\r\n @HostBinding('style') styleBinding = {\r\n '--primary-base': this.curaApiService.theme.colors.getColor('primary-base'),\r\n '--primary-light': this.curaApiService.theme.colors.getColor('primary-light'),\r\n '--secondary-base': this.curaApiService.theme.colors.getColor('secondary-base'),\r\n };\r\n\r\n @HostListener('touchstart', ['$event'])\r\n modalOnDragStart(event: TouchEvent) {\r\n this.onDragStart(event);\r\n }\r\n\r\n @HostListener('touchmove', ['$event'])\r\n modalOnDragMove(event: TouchEvent) {\r\n this.onDragMove(event);\r\n }\r\n\r\n @HostListener('touchend')\r\n modalOnDragEnd() {\r\n this.onDragEnd();\r\n }\r\n\r\n ngOnInit() {\r\n this.modal = this.document.getElementById('rdsite-modal-drawer') as HTMLDialogElement;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.sheet = this.document.querySelector('#sheet')!;\r\n this.sheetContents = this.sheet.querySelector('.contents')!;\r\n this.draggableArea = this.sheet.querySelector('.draggable-area')!;\r\n }\r\n }\r\n\r\n setSheetHeight(value: number) {\r\n this.sheetHeight = Math.max(0, Math.min(100, value));\r\n if (this.sheetHeight > this.maxHeight) {\r\n return;\r\n }\r\n this.sheetContents.style.height = `${this.sheetHeight}vh`;\r\n }\r\n\r\n setIsSheetShown(isShown: boolean) {\r\n this.sheet.setAttribute('aria-hidden', String(!isShown));\r\n if (isPlatformBrowser(this.platformId) && !isShown) {\r\n const body = this.document.querySelector('body');\r\n if (body) {\r\n body.style.overflowY = 'auto';\r\n }\r\n }\r\n }\r\n\r\n openSheet() {\r\n if (this.componentStyle() === RdsiteModalDrawerComponentStyle.FORMFALLBACK) {\r\n this.maxHeight = 45;\r\n this.closeHeight = this.maxHeight / 1.5;\r\n }\r\n if (isPlatformBrowser(this.platformId)) {\r\n const body = this.document.querySelector('body');\r\n if (body) {\r\n body.style.overflowY = 'hidden';\r\n this.cdr.detectChanges();\r\n (this.modal as any).showModal();\r\n this.setSheetHeight(Math.min(this.maxHeight, (720 / window.innerHeight) * 100));\r\n this.setIsSheetShown(true);\r\n }\r\n }\r\n }\r\n\r\n closeSheet() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n const body = this.document.querySelector('body');\r\n if (body) {\r\n body.style.overflowY = 'auto';\r\n (this.modal as any).close();\r\n this.reset();\r\n this.setIsSheetShown(false);\r\n }\r\n }\r\n }\r\n\r\n touchPosition(event: any) {\r\n return event?.touches ? event.touches[0] : event;\r\n }\r\n\r\n @HostListener('touchstart', ['$event'])\r\n onDragStart(event: TouchEvent) {\r\n this.dragPosition = this.touchPosition(event).pageY;\r\n this.sheetContents.classList.add('not-selectable');\r\n this.draggableArea.style.cursor = this.document.body.style.cursor = 'grabbing';\r\n }\r\n\r\n @HostListener('touchmove', ['$event'])\r\n onDragMove(event: TouchEvent) {\r\n if (this.dragPosition === undefined) return;\r\n\r\n const y = this.touchPosition(event).pageY;\r\n const deltaY = this.dragPosition - y;\r\n const deltaHeight = (deltaY / window.innerHeight) * 100;\r\n\r\n this.setSheetHeight(this.sheetHeight + deltaHeight);\r\n this.dragPosition = y;\r\n }\r\n\r\n @HostListener('touchend', ['$event'])\r\n onDragEnd() {\r\n this.dragPosition = 0;\r\n this.sheetContents.classList.remove('not-selectable');\r\n this.draggableArea.style.cursor = document.body.style.cursor = '';\r\n\r\n if (this.sheetHeight < this.closeHeight) {\r\n this.closeSheet();\r\n } else {\r\n this.setSheetHeight(this.maxHeight);\r\n }\r\n }\r\n\r\n public reset() {\r\n this.modalContent.set(null as any);\r\n }\r\n}\r\n","<div id=\"sheet\" class=\"sheet\" aria-hidden=\"true\" data-testid=\"__modal-drawer-sheet\">\r\n <div class=\"overlay\" data-testid=\"__modal-drawer-overlay\"></div>\r\n <div class=\"contents\" data-testid=\"__modal-drawer-contents\">\r\n <div class=\"controls\" data-testid=\"__modal-drawer-controls\">\r\n <div class=\"draggable-area\" data-testid=\"__modal-drawer-draggable-area\">\r\n <div class=\"draggable-thumb\" data-testid=\"__modal-drawer-draggable-thumb\"></div>\r\n </div>\r\n <a class=\"close-sheet\" type=\"button\" title=\"Close the sheet\" (click)=\"closeSheet()\">\r\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n </a>\r\n </div>\r\n <div class=\"body\" data-testid=\"__modal-drawer-body\">\r\n @if (modalContent()) {\r\n <ng-container>\r\n <ng-container *ngTemplateOutlet=\"modalContent()\"></ng-container>\r\n </ng-container>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rededor-site-front-end-lib-components-modal-drawer.mjs","sources":["../../../projects/site-front-end-lib/components/modal-drawer/modal-drawer.component.ts","../../../projects/site-front-end-lib/components/modal-drawer/modal-drawer.component.html","../../../projects/site-front-end-lib/components/modal-drawer/rededor-site-front-end-lib-components-modal-drawer.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectorRef, Component, DOCUMENT, HostBinding, HostListener, inject, model, PLATFORM_ID, computed } from '@angular/core';\nimport { AbstractModalDrawerComponent, RdsiteModalDrawerComponentStyle } from '@rededor/site-front-end-lib/core';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\n\n@Component({\n selector: 'dialog[rdsite-modal-drawer]#rdsite-modal-drawer',\n imports: [CommonModule],\n templateUrl: './modal-drawer.component.html',\n styleUrl: './modal-drawer.component.scss',\n})\nexport class ModalDrawerComponent implements AbstractModalDrawerComponent {\n private readonly curaApiService = inject(CuraApiService);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly document = inject(DOCUMENT);\n private readonly cdr = inject(ChangeDetectorRef);\n\n sheet!: HTMLElement;\n sheetContents!: HTMLElement;\n draggableArea!: HTMLElement;\n sheetHeight!: number;\n dragPosition!: number;\n maxHeight = 75;\n\n closeHeight = this.maxHeight / 1.5;\n\n rdsiteModalComponentStyle = RdsiteModalDrawerComponentStyle;\n\n id = model<string>('default');\n modalContent = model<any>();\n componentStyle = model<RdsiteModalDrawerComponentStyle>(RdsiteModalDrawerComponentStyle.DEFAULT);\n\n modal!: HTMLDialogElement;\n\n public assetsPath = computed(() => this.curaApiService.localAssetsPath());\n\n @HostBinding('class') get classBinding() {\n return {\n 'filter-doencas': this.componentStyle() === RdsiteModalDrawerComponentStyle.FILTERDOENCAS,\n };\n }\n\n @HostBinding('style') styleBinding = {\n '--primary-base': this.curaApiService.theme.colors.getColor('primary-base'),\n '--primary-light': this.curaApiService.theme.colors.getColor('primary-light'),\n '--secondary-base': this.curaApiService.theme.colors.getColor('secondary-base'),\n };\n\n @HostListener('touchstart', ['$event'])\n modalOnDragStart(event: TouchEvent) {\n this.onDragStart(event);\n }\n\n @HostListener('touchmove', ['$event'])\n modalOnDragMove(event: TouchEvent) {\n this.onDragMove(event);\n }\n\n @HostListener('touchend')\n modalOnDragEnd() {\n this.onDragEnd();\n }\n\n ngOnInit() {\n this.modal = this.document.getElementById('rdsite-modal-drawer') as HTMLDialogElement;\n }\n\n ngAfterViewInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.sheet = this.document.querySelector('#sheet')!;\n this.sheetContents = this.sheet.querySelector('.contents')!;\n this.draggableArea = this.sheet.querySelector('.draggable-area')!;\n }\n }\n\n setSheetHeight(value: number) {\n this.sheetHeight = Math.max(0, Math.min(100, value));\n if (this.sheetHeight > this.maxHeight) {\n return;\n }\n this.sheetContents.style.height = `${this.sheetHeight}vh`;\n }\n\n setIsSheetShown(isShown: boolean) {\n this.sheet.setAttribute('aria-hidden', String(!isShown));\n if (isPlatformBrowser(this.platformId) && !isShown) {\n const body = this.document.querySelector('body');\n if (body) {\n body.style.overflowY = 'auto';\n }\n }\n }\n\n openSheet() {\n if (this.componentStyle() === RdsiteModalDrawerComponentStyle.FORMFALLBACK) {\n this.maxHeight = 45;\n this.closeHeight = this.maxHeight / 1.5;\n }\n if (isPlatformBrowser(this.platformId)) {\n const body = this.document.querySelector('body');\n if (body) {\n body.style.overflowY = 'hidden';\n this.cdr.detectChanges();\n (this.modal as any).showModal();\n this.setSheetHeight(Math.min(this.maxHeight, (720 / window.innerHeight) * 100));\n this.setIsSheetShown(true);\n }\n }\n }\n\n closeSheet() {\n if (isPlatformBrowser(this.platformId)) {\n const body = this.document.querySelector('body');\n if (body) {\n body.style.overflowY = 'auto';\n (this.modal as any).close();\n this.reset();\n this.setIsSheetShown(false);\n }\n }\n }\n\n touchPosition(event: any) {\n return event?.touches ? event.touches[0] : event;\n }\n\n @HostListener('touchstart', ['$event'])\n onDragStart(event: TouchEvent) {\n this.dragPosition = this.touchPosition(event).pageY;\n this.sheetContents.classList.add('not-selectable');\n this.draggableArea.style.cursor = this.document.body.style.cursor = 'grabbing';\n }\n\n @HostListener('touchmove', ['$event'])\n onDragMove(event: TouchEvent) {\n if (this.dragPosition === undefined) return;\n\n const y = this.touchPosition(event).pageY;\n const deltaY = this.dragPosition - y;\n const deltaHeight = (deltaY / window.innerHeight) * 100;\n\n this.setSheetHeight(this.sheetHeight + deltaHeight);\n this.dragPosition = y;\n }\n\n @HostListener('touchend', ['$event'])\n onDragEnd() {\n this.dragPosition = 0;\n this.sheetContents.classList.remove('not-selectable');\n this.draggableArea.style.cursor = document.body.style.cursor = '';\n\n if (this.sheetHeight < this.closeHeight) {\n this.closeSheet();\n } else {\n this.setSheetHeight(this.maxHeight);\n }\n }\n\n public reset() {\n this.modalContent.set(null as any);\n }\n}\n","<div id=\"sheet\" class=\"sheet\" aria-hidden=\"true\" data-testid=\"__modal-drawer-sheet\">\n <div class=\"overlay\" data-testid=\"__modal-drawer-overlay\"></div>\n <div class=\"contents\" data-testid=\"__modal-drawer-contents\">\n <div class=\"controls\" data-testid=\"__modal-drawer-controls\">\n <div class=\"draggable-area\" data-testid=\"__modal-drawer-draggable-area\">\n <div class=\"draggable-thumb\" data-testid=\"__modal-drawer-draggable-thumb\"></div>\n </div>\n <a class=\"close-sheet\" type=\"button\" title=\"Close the sheet\" (click)=\"closeSheet()\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\n </svg>\n </a>\n </div>\n <div class=\"body\" data-testid=\"__modal-drawer-body\">\n @if (modalContent()) {\n <ng-container>\n <ng-container *ngTemplateOutlet=\"modalContent()\"></ng-container>\n </ng-container>\n }\n </div>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { isPlatformBrowser, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { inject, PLATFORM_ID, DOCUMENT, ChangeDetectorRef, HostBinding, HostListener, Component } from '@angular/core';
5
- import { ModalService, LIB_CONFIG } from '@rededor/site-front-end-lib/core';
4
+ import { inject, PLATFORM_ID, DOCUMENT, ChangeDetectorRef, computed, HostBinding, HostListener, Component } from '@angular/core';
5
+ import { ModalService } from '@rededor/site-front-end-lib/core';
6
6
  import { CuraApiService } from '@rededor/site-front-end-lib/cura/api';
7
7
 
8
8
  class ModalComponent {
@@ -12,7 +12,6 @@ class ModalComponent {
12
12
  this.platformId = inject(PLATFORM_ID);
13
13
  this.document = inject(DOCUMENT);
14
14
  this.cdr = inject(ChangeDetectorRef);
15
- this.libConfig = inject(LIB_CONFIG);
16
15
  // Controlado pelo ModalService
17
16
  this.modalContent = null;
18
17
  this.modalContentContext = null;
@@ -20,6 +19,7 @@ class ModalComponent {
20
19
  '--backdrop-color': this.curaApiService.theme.colors.getColor('primary-base', 0.9),
21
20
  '--close-color': this.curaApiService.theme.colors.getColor('error-base'),
22
21
  };
22
+ this.assetsPath = computed(() => this.curaApiService.localAssetsPath(), ...(ngDevMode ? [{ debugName: "assetsPath" }] : []));
23
23
  }
24
24
  closeModalOnEscape() {
25
25
  if (this.modal.open) {
@@ -58,11 +58,11 @@ class ModalComponent {
58
58
  }
59
59
  }
60
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: ModalComponent, isStandalone: true, selector: "dialog[rdsite-modal]#rdsite-modal", host: { listeners: { "document:keydown.escape": "closeModalOnEscape()", "click": "closeModalOnClick()" }, properties: { "style": "this.styleBinding" } }, ngImport: i0, template: "@if (modalContent) {\r\n <div class=\"rdsite-modal-container\">\r\n <div class=\"rdsite-modal-content\" (click)=\"$event.stopPropagation()\">\r\n <a class=\"close-button\" (click)=\"close()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n </a>\r\n <ng-container *ngTemplateOutlet=\"modalContent; context: modalContentContext\"></ng-container>\r\n </div>\r\n </div>\r\n}\r\n", styles: [":host{width:100vw;height:100vh;margin:auto;background-color:transparent}:host::backdrop{background:var(--backdrop-color, rgba(0, 47, 108, .9))}:host .rdsite-modal-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}:host .rdsite-modal-content{position:relative}:host .rdsite-modal-content .close-button{position:absolute;top:7px;right:7px;cursor:pointer}:host .rdsite-modal-content .close-button svg{stroke:var(--close-color, rgb(235, 87, 87));stroke-width:2px;fill:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: ModalComponent, isStandalone: true, selector: "dialog[rdsite-modal]#rdsite-modal", host: { listeners: { "document:keydown.escape": "closeModalOnEscape()", "click": "closeModalOnClick()" }, properties: { "style": "this.styleBinding" } }, ngImport: i0, template: "@if (modalContent) {\n <div class=\"rdsite-modal-container\">\n <div class=\"rdsite-modal-content\" (click)=\"$event.stopPropagation()\">\n <a class=\"close-button\" (click)=\"close()\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\n </svg>\n </a>\n <ng-container *ngTemplateOutlet=\"modalContent; context: modalContentContext\"></ng-container>\n </div>\n </div>\n}\n", styles: [":host{width:100vw;height:100vh;margin:auto;background-color:transparent}:host::backdrop{background:var(--backdrop-color, rgba(0, 47, 108, .9))}:host .rdsite-modal-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}:host .rdsite-modal-content{position:relative}:host .rdsite-modal-content .close-button{position:absolute;top:7px;right:7px;cursor:pointer}:host .rdsite-modal-content .close-button svg{stroke:var(--close-color, rgb(235, 87, 87));stroke-width:2px;fill:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
62
62
  }
63
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ModalComponent, decorators: [{
64
64
  type: Component,
65
- args: [{ selector: 'dialog[rdsite-modal]#rdsite-modal', imports: [CommonModule], template: "@if (modalContent) {\r\n <div class=\"rdsite-modal-container\">\r\n <div class=\"rdsite-modal-content\" (click)=\"$event.stopPropagation()\">\r\n <a class=\"close-button\" (click)=\"close()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n </a>\r\n <ng-container *ngTemplateOutlet=\"modalContent; context: modalContentContext\"></ng-container>\r\n </div>\r\n </div>\r\n}\r\n", styles: [":host{width:100vw;height:100vh;margin:auto;background-color:transparent}:host::backdrop{background:var(--backdrop-color, rgba(0, 47, 108, .9))}:host .rdsite-modal-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}:host .rdsite-modal-content{position:relative}:host .rdsite-modal-content .close-button{position:absolute;top:7px;right:7px;cursor:pointer}:host .rdsite-modal-content .close-button svg{stroke:var(--close-color, rgb(235, 87, 87));stroke-width:2px;fill:none}\n"] }]
65
+ args: [{ selector: 'dialog[rdsite-modal]#rdsite-modal', imports: [CommonModule], template: "@if (modalContent) {\n <div class=\"rdsite-modal-container\">\n <div class=\"rdsite-modal-content\" (click)=\"$event.stopPropagation()\">\n <a class=\"close-button\" (click)=\"close()\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\n </svg>\n </a>\n <ng-container *ngTemplateOutlet=\"modalContent; context: modalContentContext\"></ng-container>\n </div>\n </div>\n}\n", styles: [":host{width:100vw;height:100vh;margin:auto;background-color:transparent}:host::backdrop{background:var(--backdrop-color, rgba(0, 47, 108, .9))}:host .rdsite-modal-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}:host .rdsite-modal-content{position:relative}:host .rdsite-modal-content .close-button{position:absolute;top:7px;right:7px;cursor:pointer}:host .rdsite-modal-content .close-button svg{stroke:var(--close-color, rgb(235, 87, 87));stroke-width:2px;fill:none}\n"] }]
66
66
  }], propDecorators: { closeModalOnEscape: [{
67
67
  type: HostListener,
68
68
  args: ['document:keydown.escape']
@@ -1 +1 @@
1
- {"version":3,"file":"rededor-site-front-end-lib-components-modal.mjs","sources":["../../../projects/site-front-end-lib/components/modal/modal.component.ts","../../../projects/site-front-end-lib/components/modal/modal.component.html","../../../projects/site-front-end-lib/components/modal/rededor-site-front-end-lib-components-modal.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { Component, HostBinding, PLATFORM_ID, DOCUMENT, inject, HostListener, TemplateRef, ChangeDetectorRef } from '@angular/core';\r\nimport { AbstractModalComponent, LIB_CONFIG, ModalService } from '@rededor/site-front-end-lib/core';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\n\r\n@Component({\r\n selector: 'dialog[rdsite-modal]#rdsite-modal',\r\n imports: [CommonModule],\r\n templateUrl: './modal.component.html',\r\n styleUrl: './modal.component.scss',\r\n})\r\nexport class ModalComponent implements AbstractModalComponent {\r\n private readonly curaApiService = inject(CuraApiService);\r\n private readonly modalService = inject(ModalService);\r\n private readonly platformId = inject(PLATFORM_ID);\r\n private readonly document = inject(DOCUMENT);\r\n private readonly cdr = inject(ChangeDetectorRef);\r\n readonly libConfig = inject(LIB_CONFIG);\r\n\r\n // Controlado pelo ModalService\r\n modalContent: TemplateRef<any> | null = null;\r\n modalContentContext: Record<string, any> | null = null;\r\n\r\n modal!: HTMLDialogElement;\r\n\r\n @HostListener('document:keydown.escape')\r\n closeModalOnEscape() {\r\n if (this.modal.open) {\r\n this.close();\r\n }\r\n }\r\n\r\n @HostListener('click')\r\n closeModalOnClick() {\r\n if (this.modal.open) {\r\n this.close();\r\n }\r\n }\r\n\r\n @HostBinding('style') styleBinding = {\r\n '--backdrop-color': this.curaApiService.theme.colors.getColor('primary-base', 0.9),\r\n '--close-color': this.curaApiService.theme.colors.getColor('error-base'),\r\n };\r\n\r\n ngOnInit() {\r\n this.modal = this.document.getElementById('rdsite-modal') as HTMLDialogElement;\r\n }\r\n\r\n // Controlado pelo ModalService\r\n public open() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n const body = this.document.querySelector('body');\r\n if (body) {\r\n body.style.overflowY = 'hidden';\r\n this.cdr.detectChanges();\r\n this.modal.showModal();\r\n }\r\n }\r\n }\r\n\r\n // Controlado pelo proprio componente e pelo ModalService\r\n public close() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n const body = this.document.querySelector('body');\r\n if (body) {\r\n body.style.overflowY = 'auto';\r\n this.modalContent = null;\r\n this.modalContentContext = null;\r\n this.modal.close();\r\n }\r\n }\r\n }\r\n}\r\n","@if (modalContent) {\r\n <div class=\"rdsite-modal-container\">\r\n <div class=\"rdsite-modal-content\" (click)=\"$event.stopPropagation()\">\r\n <a class=\"close-button\" (click)=\"close()\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n </a>\r\n <ng-container *ngTemplateOutlet=\"modalContent; context: modalContentContext\"></ng-container>\r\n </div>\r\n </div>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rededor-site-front-end-lib-components-modal.mjs","sources":["../../../projects/site-front-end-lib/components/modal/modal.component.ts","../../../projects/site-front-end-lib/components/modal/modal.component.html","../../../projects/site-front-end-lib/components/modal/rededor-site-front-end-lib-components-modal.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { Component, HostBinding, PLATFORM_ID, DOCUMENT, inject, HostListener, TemplateRef, ChangeDetectorRef, computed } from '@angular/core';\nimport { AbstractModalComponent, ModalService } from '@rededor/site-front-end-lib/core';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\n\n@Component({\n selector: 'dialog[rdsite-modal]#rdsite-modal',\n imports: [CommonModule],\n templateUrl: './modal.component.html',\n styleUrl: './modal.component.scss',\n})\nexport class ModalComponent implements AbstractModalComponent {\n private readonly curaApiService = inject(CuraApiService);\n private readonly modalService = inject(ModalService);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly document = inject(DOCUMENT);\n private readonly cdr = inject(ChangeDetectorRef);\n\n // Controlado pelo ModalService\n modalContent: TemplateRef<any> | null = null;\n modalContentContext: Record<string, any> | null = null;\n\n modal!: HTMLDialogElement;\n\n @HostListener('document:keydown.escape')\n closeModalOnEscape() {\n if (this.modal.open) {\n this.close();\n }\n }\n\n @HostListener('click')\n closeModalOnClick() {\n if (this.modal.open) {\n this.close();\n }\n }\n\n @HostBinding('style') styleBinding = {\n '--backdrop-color': this.curaApiService.theme.colors.getColor('primary-base', 0.9),\n '--close-color': this.curaApiService.theme.colors.getColor('error-base'),\n };\n\n public assetsPath = computed(() => this.curaApiService.localAssetsPath());\n\n ngOnInit() {\n this.modal = this.document.getElementById('rdsite-modal') as HTMLDialogElement;\n }\n\n // Controlado pelo ModalService\n public open() {\n if (isPlatformBrowser(this.platformId)) {\n const body = this.document.querySelector('body');\n if (body) {\n body.style.overflowY = 'hidden';\n this.cdr.detectChanges();\n this.modal.showModal();\n }\n }\n }\n\n // Controlado pelo proprio componente e pelo ModalService\n public close() {\n if (isPlatformBrowser(this.platformId)) {\n const body = this.document.querySelector('body');\n if (body) {\n body.style.overflowY = 'auto';\n this.modalContent = null;\n this.modalContentContext = null;\n this.modal.close();\n }\n }\n }\n}\n","@if (modalContent) {\n <div class=\"rdsite-modal-container\">\n <div class=\"rdsite-modal-content\" (click)=\"$event.stopPropagation()\">\n <a class=\"close-button\" (click)=\"close()\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"assetsPath() + '/icons/iconset-default.svg#close'\"></use>\n </svg>\n </a>\n <ng-container *ngTemplateOutlet=\"modalContent; context: modalContentContext\"></ng-container>\n </div>\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -73,6 +73,11 @@ class CuraButtonOutlineComponent {
73
73
  * Values: false (default) | true.
74
74
  */
75
75
  this.justify = input(false, ...(ngDevMode ? [{ debugName: "justify" }] : []));
76
+ /**
77
+ * Accessible name for the button (aria-label).
78
+ * Required for icon-only buttons or when button text is not descriptive enough.
79
+ */
80
+ this.ariaLabel = input('', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
76
81
  this.buttonClick = output();
77
82
  this.hovered = false;
78
83
  // Computed signal
@@ -140,7 +145,7 @@ class CuraButtonOutlineComponent {
140
145
  this.buttonClick.emit(event);
141
146
  }
142
147
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: CuraButtonOutlineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
143
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: CuraButtonOutlineComponent, isStandalone: true, selector: "cura-button-outline", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, iconset: { classPropertyName: "iconset", publicName: "iconset", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, iconOnly: { classPropertyName: "iconOnly", publicName: "iconOnly", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, fontColor: { classPropertyName: "fontColor", publicName: "fontColor", isSignal: true, isRequired: false, transformFunction: null }, textAlign: { classPropertyName: "textAlign", publicName: "textAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { buttonClick: "buttonClick" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()" }, properties: { "attr.role": "href() ? \"link\" : type()", "attr.aria-disabled": "disabled()", "attr.href": "href()" } }, ngImport: i0, template: "<ng-template #button>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n@if (href()) {\r\n <a\r\n [href]=\"disabled() ? '' : href()\"\r\n [target]=\"target()\"\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n >\r\n <span class=\"button-container\">\r\n @if (iconName()) {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\r\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n </cura-label>\r\n </span>\r\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\r\n </a>\r\n} @else {\r\n <button\r\n [type]=\"type()\"\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n [disabled]=\"disabled()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n >\r\n <span class=\"button-container\">\r\n @if (iconName()) {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\r\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n </cura-label>\r\n </span>\r\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\r\n </button>\r\n}\r\n", styles: [":host{--border-radius: 4px;display:inline-block;vertical-align:middle;position:relative}:host button,:host a{outline:none;box-shadow:none;display:flex;width:100%;align-items:center;justify-content:center;text-decoration:none!important;font-size:var(--font-size);cursor:pointer;transition:background-color .07s linear,box-shadow .07s linear,border-color .07s linear;border-radius:var(--border-radius);position:relative;background-color:transparent;box-sizing:border-box;border:none}:host button:focus,:host a:focus{outline:2px solid #6ea8ff}:host button:before,:host a:before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;box-sizing:border-box;border:2px solid var(--color-dark-neutral-purewhite);border-radius:var(--border-radius)}:host button:not(.disabled):not(.isLoading):hover,:host a:not(.disabled):not(.isLoading):hover{background-color:var(--color-lighter-color-darker)}:host button:not(.disabled):not(.inverted):not(.isLoading):active,:host a:not(.disabled):not(.inverted):not(.isLoading):active{background-color:var(--color-light-color-darker)}:host button.large,:host a.large{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 4px);min-height:calc(var(--cura-spacing-base) * 11px)}:host button.medium,:host a.medium{padding:calc(var(--cura-spacing-base) * 3px);min-height:calc(var(--cura-spacing-base) * 10px)}:host button.small,:host a.small{padding:calc(var(--cura-spacing-base) * 2px);min-height:calc(var(--cura-spacing-base) * 8px)}:host button .button-container,:host a .button-container{display:flex;align-items:center;opacity:1;transition:opacity .2s linear;position:relative}:host button.icon-right .button-container,:host a.icon-right .button-container{flex-direction:row-reverse}:host button.justify .button-container,:host a.justify .button-container{width:100%}:host button cura-label,:host a cura-label{flex:1;text-align:var(--text-align, \"left\")}:host button.icon-left cura-icon,:host a.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 3px)}:host button.icon-right cura-icon,:host a.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 3px)}:host button.medium.icon-left cura-icon,:host button.small.icon-left cura-icon,:host a.medium.icon-left cura-icon,:host a.small.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 2px)}:host button.medium.icon-right cura-icon,:host button.small.icon-right cura-icon,:host a.medium.icon-right cura-icon,:host a.small.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 2px)}:host button.disabled,:host a.disabled{cursor:not-allowed}:host button.disabled:before,:host a.disabled:before{border-color:var(--neutral-dark)}:host button.icon-only,:host a.icon-only{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 3px)}:host button.icon-only cura-label,:host a.icon-only cura-label{display:none}:host button.icon-only cura-icon,:host a.icon-only cura-icon{margin-left:0!important;margin-right:0!important}:host button.icon-only.medium,:host a.icon-only.medium{padding:calc(var(--cura-spacing-base) * 3px)}:host button.icon-only.small,:host a.icon-only.small{padding:calc(var(--cura-spacing-base) * 2px)}:host button cura-loader-circle,:host a cura-loader-circle{position:absolute;display:none}:host button.isLoading,:host a.isLoading{cursor:wait}:host button.isLoading .button-container,:host a.isLoading .button-container{opacity:0}:host button.isLoading cura-loader-circle,:host a.isLoading cura-loader-circle{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CuraIconComponent, selector: "cura-icon", inputs: ["name", "color", "size", "iconset", "disabled"] }, { kind: "component", type: CuraLoaderCircleComponent, selector: "cura-loader-circle", inputs: ["size", "color"] }, { kind: "component", type: CuraLabelComponent, selector: "cura-label", inputs: ["size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }] }); }
148
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: CuraButtonOutlineComponent, isStandalone: true, selector: "cura-button-outline", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, iconset: { classPropertyName: "iconset", publicName: "iconset", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, iconOnly: { classPropertyName: "iconOnly", publicName: "iconOnly", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, fontColor: { classPropertyName: "fontColor", publicName: "fontColor", isSignal: true, isRequired: false, transformFunction: null }, textAlign: { classPropertyName: "textAlign", publicName: "textAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { buttonClick: "buttonClick" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()" }, properties: { "attr.role": "href() ? \"link\" : type()", "attr.aria-disabled": "disabled()", "attr.href": "href()" } }, ngImport: i0, template: "<ng-template #button>\n <ng-content></ng-content>\n</ng-template>\n\n@if (href()) {\n <a\n [href]=\"disabled() ? '' : href()\"\n [target]=\"target()\"\n [class]=\"containerClasses()\"\n [ngStyle]=\"buttonStyles()\"\n [attr.aria-label]=\"ariaLabel()\"\n (click)=\"handleClick($event)\"\n (mouseenter)=\"handleMouseEnter()\"\n (mouseleave)=\"handleMouseLeave()\"\n >\n <span class=\"button-container\">\n @if (iconName()) {\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\n }\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\n </cura-label>\n </span>\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\n </a>\n} @else {\n <button\n [type]=\"type()\"\n [class]=\"containerClasses()\"\n [ngStyle]=\"buttonStyles()\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n (click)=\"handleClick($event)\"\n (mouseenter)=\"handleMouseEnter()\"\n (mouseleave)=\"handleMouseLeave()\"\n >\n <span class=\"button-container\">\n @if (iconName()) {\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\n }\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\n </cura-label>\n </span>\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\n </button>\n}\n", styles: [":host{--border-radius: 4px;display:inline-block;vertical-align:middle;position:relative}:host button,:host a{outline:none;box-shadow:none;display:flex;width:100%;align-items:center;justify-content:center;text-decoration:none!important;font-size:var(--font-size);cursor:pointer;transition:background-color .07s linear,box-shadow .07s linear,border-color .07s linear;border-radius:var(--border-radius);position:relative;background-color:transparent;box-sizing:border-box;border:none}:host button:focus,:host a:focus{outline:2px solid #6ea8ff}:host button:before,:host a:before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;box-sizing:border-box;border:2px solid var(--color-dark-neutral-purewhite);border-radius:var(--border-radius)}:host button:not(.disabled):not(.isLoading):hover,:host a:not(.disabled):not(.isLoading):hover{background-color:var(--color-lighter-color-darker)}:host button:not(.disabled):not(.inverted):not(.isLoading):active,:host a:not(.disabled):not(.inverted):not(.isLoading):active{background-color:var(--color-light-color-darker)}:host button.large,:host a.large{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 4px);min-height:calc(var(--cura-spacing-base) * 11px)}:host button.medium,:host a.medium{padding:calc(var(--cura-spacing-base) * 3px);min-height:calc(var(--cura-spacing-base) * 10px)}:host button.small,:host a.small{padding:calc(var(--cura-spacing-base) * 2px);min-height:calc(var(--cura-spacing-base) * 8px)}:host button .button-container,:host a .button-container{display:flex;align-items:center;opacity:1;transition:opacity .2s linear;position:relative}:host button.icon-right .button-container,:host a.icon-right .button-container{flex-direction:row-reverse}:host button.justify .button-container,:host a.justify .button-container{width:100%}:host button cura-label,:host a cura-label{flex:1;text-align:var(--text-align, \"left\")}:host button.icon-left cura-icon,:host a.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 3px)}:host button.icon-right cura-icon,:host a.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 3px)}:host button.medium.icon-left cura-icon,:host button.small.icon-left cura-icon,:host a.medium.icon-left cura-icon,:host a.small.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 2px)}:host button.medium.icon-right cura-icon,:host button.small.icon-right cura-icon,:host a.medium.icon-right cura-icon,:host a.small.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 2px)}:host button.disabled,:host a.disabled{cursor:not-allowed}:host button.disabled:before,:host a.disabled:before{border-color:var(--neutral-dark)}:host button.icon-only,:host a.icon-only{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 3px)}:host button.icon-only cura-label,:host a.icon-only cura-label{display:none}:host button.icon-only cura-icon,:host a.icon-only cura-icon{margin-left:0!important;margin-right:0!important}:host button.icon-only.medium,:host a.icon-only.medium{padding:calc(var(--cura-spacing-base) * 3px)}:host button.icon-only.small,:host a.icon-only.small{padding:calc(var(--cura-spacing-base) * 2px)}:host button cura-loader-circle,:host a cura-loader-circle{position:absolute;display:none}:host button.isLoading,:host a.isLoading{cursor:wait}:host button.isLoading .button-container,:host a.isLoading .button-container{opacity:0}:host button.isLoading cura-loader-circle,:host a.isLoading cura-loader-circle{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CuraIconComponent, selector: "cura-icon", inputs: ["name", "color", "size", "iconset", "disabled"] }, { kind: "component", type: CuraLoaderCircleComponent, selector: "cura-loader-circle", inputs: ["size", "color"] }, { kind: "component", type: CuraLabelComponent, selector: "cura-label", inputs: ["size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }] }); }
144
149
  }
145
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: CuraButtonOutlineComponent, decorators: [{
146
151
  type: Component,
@@ -148,7 +153,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
148
153
  '[attr.role]': 'href() ? "link" : type()',
149
154
  '[attr.aria-disabled]': 'disabled()',
150
155
  '[attr.href]': 'href()',
151
- }, template: "<ng-template #button>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n@if (href()) {\r\n <a\r\n [href]=\"disabled() ? '' : href()\"\r\n [target]=\"target()\"\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n >\r\n <span class=\"button-container\">\r\n @if (iconName()) {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\r\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n </cura-label>\r\n </span>\r\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\r\n </a>\r\n} @else {\r\n <button\r\n [type]=\"type()\"\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n [disabled]=\"disabled()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n >\r\n <span class=\"button-container\">\r\n @if (iconName()) {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\r\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n </cura-label>\r\n </span>\r\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\r\n </button>\r\n}\r\n", styles: [":host{--border-radius: 4px;display:inline-block;vertical-align:middle;position:relative}:host button,:host a{outline:none;box-shadow:none;display:flex;width:100%;align-items:center;justify-content:center;text-decoration:none!important;font-size:var(--font-size);cursor:pointer;transition:background-color .07s linear,box-shadow .07s linear,border-color .07s linear;border-radius:var(--border-radius);position:relative;background-color:transparent;box-sizing:border-box;border:none}:host button:focus,:host a:focus{outline:2px solid #6ea8ff}:host button:before,:host a:before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;box-sizing:border-box;border:2px solid var(--color-dark-neutral-purewhite);border-radius:var(--border-radius)}:host button:not(.disabled):not(.isLoading):hover,:host a:not(.disabled):not(.isLoading):hover{background-color:var(--color-lighter-color-darker)}:host button:not(.disabled):not(.inverted):not(.isLoading):active,:host a:not(.disabled):not(.inverted):not(.isLoading):active{background-color:var(--color-light-color-darker)}:host button.large,:host a.large{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 4px);min-height:calc(var(--cura-spacing-base) * 11px)}:host button.medium,:host a.medium{padding:calc(var(--cura-spacing-base) * 3px);min-height:calc(var(--cura-spacing-base) * 10px)}:host button.small,:host a.small{padding:calc(var(--cura-spacing-base) * 2px);min-height:calc(var(--cura-spacing-base) * 8px)}:host button .button-container,:host a .button-container{display:flex;align-items:center;opacity:1;transition:opacity .2s linear;position:relative}:host button.icon-right .button-container,:host a.icon-right .button-container{flex-direction:row-reverse}:host button.justify .button-container,:host a.justify .button-container{width:100%}:host button cura-label,:host a cura-label{flex:1;text-align:var(--text-align, \"left\")}:host button.icon-left cura-icon,:host a.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 3px)}:host button.icon-right cura-icon,:host a.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 3px)}:host button.medium.icon-left cura-icon,:host button.small.icon-left cura-icon,:host a.medium.icon-left cura-icon,:host a.small.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 2px)}:host button.medium.icon-right cura-icon,:host button.small.icon-right cura-icon,:host a.medium.icon-right cura-icon,:host a.small.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 2px)}:host button.disabled,:host a.disabled{cursor:not-allowed}:host button.disabled:before,:host a.disabled:before{border-color:var(--neutral-dark)}:host button.icon-only,:host a.icon-only{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 3px)}:host button.icon-only cura-label,:host a.icon-only cura-label{display:none}:host button.icon-only cura-icon,:host a.icon-only cura-icon{margin-left:0!important;margin-right:0!important}:host button.icon-only.medium,:host a.icon-only.medium{padding:calc(var(--cura-spacing-base) * 3px)}:host button.icon-only.small,:host a.icon-only.small{padding:calc(var(--cura-spacing-base) * 2px)}:host button cura-loader-circle,:host a cura-loader-circle{position:absolute;display:none}:host button.isLoading,:host a.isLoading{cursor:wait}:host button.isLoading .button-container,:host a.isLoading .button-container{opacity:0}:host button.isLoading cura-loader-circle,:host a.isLoading cura-loader-circle{display:block}\n"] }]
156
+ }, template: "<ng-template #button>\n <ng-content></ng-content>\n</ng-template>\n\n@if (href()) {\n <a\n [href]=\"disabled() ? '' : href()\"\n [target]=\"target()\"\n [class]=\"containerClasses()\"\n [ngStyle]=\"buttonStyles()\"\n [attr.aria-label]=\"ariaLabel()\"\n (click)=\"handleClick($event)\"\n (mouseenter)=\"handleMouseEnter()\"\n (mouseleave)=\"handleMouseLeave()\"\n >\n <span class=\"button-container\">\n @if (iconName()) {\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\n }\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\n </cura-label>\n </span>\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\n </a>\n} @else {\n <button\n [type]=\"type()\"\n [class]=\"containerClasses()\"\n [ngStyle]=\"buttonStyles()\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n (click)=\"handleClick($event)\"\n (mouseenter)=\"handleMouseEnter()\"\n (mouseleave)=\"handleMouseLeave()\"\n >\n <span class=\"button-container\">\n @if (iconName()) {\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\n }\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\n </cura-label>\n </span>\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\n </button>\n}\n", styles: [":host{--border-radius: 4px;display:inline-block;vertical-align:middle;position:relative}:host button,:host a{outline:none;box-shadow:none;display:flex;width:100%;align-items:center;justify-content:center;text-decoration:none!important;font-size:var(--font-size);cursor:pointer;transition:background-color .07s linear,box-shadow .07s linear,border-color .07s linear;border-radius:var(--border-radius);position:relative;background-color:transparent;box-sizing:border-box;border:none}:host button:focus,:host a:focus{outline:2px solid #6ea8ff}:host button:before,:host a:before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;box-sizing:border-box;border:2px solid var(--color-dark-neutral-purewhite);border-radius:var(--border-radius)}:host button:not(.disabled):not(.isLoading):hover,:host a:not(.disabled):not(.isLoading):hover{background-color:var(--color-lighter-color-darker)}:host button:not(.disabled):not(.inverted):not(.isLoading):active,:host a:not(.disabled):not(.inverted):not(.isLoading):active{background-color:var(--color-light-color-darker)}:host button.large,:host a.large{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 4px);min-height:calc(var(--cura-spacing-base) * 11px)}:host button.medium,:host a.medium{padding:calc(var(--cura-spacing-base) * 3px);min-height:calc(var(--cura-spacing-base) * 10px)}:host button.small,:host a.small{padding:calc(var(--cura-spacing-base) * 2px);min-height:calc(var(--cura-spacing-base) * 8px)}:host button .button-container,:host a .button-container{display:flex;align-items:center;opacity:1;transition:opacity .2s linear;position:relative}:host button.icon-right .button-container,:host a.icon-right .button-container{flex-direction:row-reverse}:host button.justify .button-container,:host a.justify .button-container{width:100%}:host button cura-label,:host a cura-label{flex:1;text-align:var(--text-align, \"left\")}:host button.icon-left cura-icon,:host a.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 3px)}:host button.icon-right cura-icon,:host a.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 3px)}:host button.medium.icon-left cura-icon,:host button.small.icon-left cura-icon,:host a.medium.icon-left cura-icon,:host a.small.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 2px)}:host button.medium.icon-right cura-icon,:host button.small.icon-right cura-icon,:host a.medium.icon-right cura-icon,:host a.small.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 2px)}:host button.disabled,:host a.disabled{cursor:not-allowed}:host button.disabled:before,:host a.disabled:before{border-color:var(--neutral-dark)}:host button.icon-only,:host a.icon-only{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 3px)}:host button.icon-only cura-label,:host a.icon-only cura-label{display:none}:host button.icon-only cura-icon,:host a.icon-only cura-icon{margin-left:0!important;margin-right:0!important}:host button.icon-only.medium,:host a.icon-only.medium{padding:calc(var(--cura-spacing-base) * 3px)}:host button.icon-only.small,:host a.icon-only.small{padding:calc(var(--cura-spacing-base) * 2px)}:host button cura-loader-circle,:host a cura-loader-circle{position:absolute;display:none}:host button.isLoading,:host a.isLoading{cursor:wait}:host button.isLoading .button-container,:host a.isLoading .button-container{opacity:0}:host button.isLoading cura-loader-circle,:host a.isLoading cura-loader-circle{display:block}\n"] }]
152
157
  }], propDecorators: { handleMouseEnter: [{
153
158
  type: HostListener,
154
159
  args: ['mouseenter']