@rededor/site-front-end-lib 20.0.40 → 20.1.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +187 -187
- package/components/algolia-search/index.d.ts +1 -1
- package/components/filters/filter-generic/index.d.ts +3 -3
- package/components/filters/filter-planos-convenios/index.d.ts +3 -2
- package/components/footer/index.d.ts +1 -1
- package/components/header/index.d.ts +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-algolia-dropdown.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-algolia-dropdown.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs +14 -14
- package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-banner.mjs +7 -7
- package/fesm2022/rededor-site-front-end-lib-components-banner.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs +4 -4
- package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-cards.mjs +12 -12
- package/fesm2022/rededor-site-front-end-lib-components-cards.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs +4 -4
- package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs +4 -4
- package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-error.mjs +8 -8
- package/fesm2022/rededor-site-front-end-lib-components-error.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs +15 -15
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs +16 -16
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-footer.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-footer.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs +5 -5
- package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs +5 -5
- package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs +5 -5
- package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-header-services.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-header.mjs +5 -5
- package/fesm2022/rededor-site-front-end-lib-components-header.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-image.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-image.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-modal.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-modal.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-overlay.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-overlay.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs +4 -4
- package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-page-template-fullcontent.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-page-template-fullcontent.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-page-template-sidebar.mjs +2 -2
- package/fesm2022/rededor-site-front-end-lib-components-page-template-sidebar.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs +4 -4
- package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-search.mjs +5 -5
- package/fesm2022/rededor-site-front-end-lib-components-search.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs +12 -12
- package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-sidebar-navigation.mjs +5 -5
- package/fesm2022/rededor-site-front-end-lib-components-sidebar-navigation.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs +5 -5
- package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs +4 -4
- package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-core.mjs +204 -204
- package/fesm2022/rededor-site-front-end-lib-core.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-enums.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-services-algolia-search-api.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-services-algolia.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-services-ngu-carousel.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-services-ssr-loading.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-services-transfer-state.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-services-youtube.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-shared.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
- package/package.json +2 -133
- package/styles/_breakpoints.scss +5 -5
- package/cura/accordion/index.d.ts +0 -120
- package/cura/api/index.d.ts +0 -359
- package/cura/badges/cura-badge-counter/index.d.ts +0 -38
- package/cura/badges/cura-badge-distance/index.d.ts +0 -21
- package/cura/badges/cura-badge-dot/index.d.ts +0 -29
- package/cura/badges/cura-badge-pill/index.d.ts +0 -42
- package/cura/badges/index.d.ts +0 -5
- package/cura/buttons/cura-button/index.d.ts +0 -90
- package/cura/buttons/cura-button-outline/index.d.ts +0 -90
- package/cura/buttons/cura-button-select/index.d.ts +0 -39
- package/cura/buttons/cura-button-transparent/index.d.ts +0 -87
- package/cura/buttons/index.d.ts +0 -15
- package/cura/cards/cura-card/index.d.ts +0 -49
- package/cura/feedback/cura-alert/index.d.ts +0 -55
- package/cura/feedback/cura-modal/index.d.ts +0 -97
- package/cura/feedback/cura-toast/index.d.ts +0 -104
- package/cura/forms/cura-checkbox/index.d.ts +0 -160
- package/cura/forms/cura-input-text/index.d.ts +0 -236
- package/cura/forms/cura-label/index.d.ts +0 -47
- package/cura/forms/cura-radio/index.d.ts +0 -148
- package/cura/forms/cura-select/index.d.ts +0 -154
- package/cura/forms/cura-select-option/index.d.ts +0 -54
- package/cura/forms/cura-select-state/index.d.ts +0 -72
- package/cura/forms/cura-switch/index.d.ts +0 -113
- package/cura/forms/cura-textarea/index.d.ts +0 -113
- package/cura/forms/index.d.ts +0 -20
- package/cura/icons/cura-icon/index.d.ts +0 -46
- package/cura/loaders/cura-loader-bar/index.d.ts +0 -22
- package/cura/loaders/cura-loader-circle/index.d.ts +0 -24
- package/cura/texts/cura-display/index.d.ts +0 -54
- package/cura/texts/cura-heading/index.d.ts +0 -65
- package/cura/texts/cura-paragraph/index.d.ts +0 -54
- package/cura/texts/index.d.ts +0 -7
- package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs +0 -252
- package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-api.mjs +0 -643
- package/fesm2022/rededor-site-front-end-lib-cura-api.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs +0 -90
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs +0 -55
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs +0 -66
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs +0 -91
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-badges.mjs +0 -4
- package/fesm2022/rededor-site-front-end-lib-cura-badges.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs +0 -170
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs +0 -135
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs +0 -161
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs +0 -170
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-buttons.mjs +0 -13
- package/fesm2022/rededor-site-front-end-lib-cura-buttons.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs +0 -72
- package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs +0 -90
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs +0 -105
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-toast.mjs +0 -198
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-toast.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs +0 -262
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs +0 -586
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs +0 -82
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs +0 -243
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs +0 -89
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-state.mjs +0 -123
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-state.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs +0 -365
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs +0 -182
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-textarea.mjs +0 -209
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-textarea.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms.mjs +0 -21
- package/fesm2022/rededor-site-front-end-lib-cura-forms.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs +0 -88
- package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs +0 -44
- package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs +0 -49
- package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs +0 -84
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs +0 -104
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs +0 -89
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs.map +0 -1
- package/fesm2022/rededor-site-front-end-lib-cura-texts.mjs +0 -4
- package/fesm2022/rededor-site-front-end-lib-cura-texts.mjs.map +0 -1
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, input, output, computed, Component } from '@angular/core';
|
|
3
|
-
import * as i1 from '@angular/common';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { CuraApiService } from '@rededor/site-front-end-lib/cura/api';
|
|
6
|
-
import { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';
|
|
7
|
-
import { CuraHeadingComponent } from '@rededor/site-front-end-lib/cura/texts/cura-heading';
|
|
8
|
-
import { CuraParagraphComponent } from '@rededor/site-front-end-lib/cura/texts/cura-paragraph';
|
|
9
|
-
|
|
10
|
-
class CuraAlertComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.curaApi = inject(CuraApiService);
|
|
13
|
-
/**
|
|
14
|
-
* Alert type: info (default) | success | warning | error
|
|
15
|
-
*/
|
|
16
|
-
this.type = input('info', ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
17
|
-
/**
|
|
18
|
-
* Floating state. Boolean.
|
|
19
|
-
*/
|
|
20
|
-
this.floating = input(false, ...(ngDevMode ? [{ debugName: "floating" }] : []));
|
|
21
|
-
/**
|
|
22
|
-
* Alert label/title
|
|
23
|
-
*/
|
|
24
|
-
this.label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
25
|
-
/**
|
|
26
|
-
* Closeable state. Boolean.
|
|
27
|
-
*/
|
|
28
|
-
this.closeable = input(true, ...(ngDevMode ? [{ debugName: "closeable" }] : []));
|
|
29
|
-
/**
|
|
30
|
-
* Custom icon name
|
|
31
|
-
*/
|
|
32
|
-
this.icon = input('', ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
33
|
-
/**
|
|
34
|
-
* Close event emitter
|
|
35
|
-
*/
|
|
36
|
-
this.close = output();
|
|
37
|
-
this.alertStyles = computed(() => {
|
|
38
|
-
if (!this.curaApi)
|
|
39
|
-
return {};
|
|
40
|
-
const colors = [
|
|
41
|
-
{ name: '--color-lighter', theme: `${this.type()}-lighter` },
|
|
42
|
-
{ name: '--neutral-black', theme: 'neutral-black' },
|
|
43
|
-
{ name: '--color-light', theme: `${this.type()}-light` },
|
|
44
|
-
{ name: '--color-base', theme: `${this.type()}-base` },
|
|
45
|
-
];
|
|
46
|
-
const styles = {};
|
|
47
|
-
styles['--base-spacing'] = this.curaApi.theme.spacing.getSpacing();
|
|
48
|
-
colors.forEach((color) => {
|
|
49
|
-
styles[color.name] = this.curaApi.theme.colors.getColor(color.theme);
|
|
50
|
-
});
|
|
51
|
-
return styles;
|
|
52
|
-
}, ...(ngDevMode ? [{ debugName: "alertStyles" }] : []));
|
|
53
|
-
this.containerClasses = computed(() => {
|
|
54
|
-
const classes = [];
|
|
55
|
-
if (this.floating())
|
|
56
|
-
classes.push('floating');
|
|
57
|
-
return classes.join(' ');
|
|
58
|
-
}, ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
|
|
59
|
-
this.iconName = computed(() => {
|
|
60
|
-
const iconMapping = {
|
|
61
|
-
info: 'infoCircle',
|
|
62
|
-
success: 'checkCircle',
|
|
63
|
-
warning: 'alertCircle',
|
|
64
|
-
error: 'alertTriangle',
|
|
65
|
-
};
|
|
66
|
-
return this.icon() || iconMapping[this.type()];
|
|
67
|
-
}, ...(ngDevMode ? [{ debugName: "iconName" }] : []));
|
|
68
|
-
}
|
|
69
|
-
handleClose() {
|
|
70
|
-
this.close.emit();
|
|
71
|
-
}
|
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: CuraAlertComponent, isStandalone: true, selector: "cura-alert", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, floating: { classPropertyName: "floating", publicName: "floating", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, closeable: { classPropertyName: "closeable", publicName: "closeable", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close" }, host: { attributes: { "role": "alert", "aria-live": "polite", "aria-atomic": "true" }, properties: { "attr.aria-label": "label()" } }, ngImport: i0, template: "<div [class]=\"'conteiner ' + containerClasses()\" [ngStyle]=\"alertStyles()\">\n <cura-icon [name]=\"iconName()\" class=\"icon-left\" [size]=\"16\" [color]=\"type() + '-dark'\"> </cura-icon>\n\n <div class=\"content\">\n @if (label()) {\n <cura-heading class=\"title\" size=\"xsmall\" color=\"neutral-black\" weight=\"bold\" marginBlock=\"1px 0\">\n {{ label() }}\n </cura-heading>\n }\n\n <cura-paragraph class=\"text\" [color]=\"type() + '-darker'\" size=\"xsmall\" marginBlock=\"0\" lineHeight=\"133.33%\">\n <ng-content></ng-content>\n </cura-paragraph>\n\n <ng-content select=\"[slot=actions]\"></ng-content>\n </div>\n\n @if (closeable()) {\n <cura-icon name=\"close\" [size]=\"16\" color=\"error-dark\" class=\"icon-right\" (click)=\"handleClose()\"> </cura-icon>\n }\n</div>\n", styles: [":host{display:block;box-sizing:border-box}:host .conteiner{display:flex;box-sizing:border-box;padding:calc(var(--cura-spacing-base) * 3px);gap:calc(var(--cura-spacing-base) * 3px);flex-shrink:0;border:1px solid var(--color-base);border-radius:4px;background-color:var(--color-lighter)}:host .conteiner.floating{box-shadow:0 4px 8px #26262629}:host .content{flex:1;flex-direction:column;display:flex;gap:calc(var(--cura-spacing-base) * 1px)}:host .icon-right{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: CuraHeadingComponent, selector: "cura-heading", inputs: ["level", "size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraParagraphComponent, selector: "cura-paragraph", inputs: ["size", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }] }); }
|
|
74
|
-
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraAlertComponent, decorators: [{
|
|
76
|
-
type: Component,
|
|
77
|
-
args: [{ selector: 'cura-alert', imports: [CommonModule, CuraIconComponent, CuraHeadingComponent, CuraParagraphComponent], host: {
|
|
78
|
-
role: 'alert',
|
|
79
|
-
'aria-live': 'polite',
|
|
80
|
-
'aria-atomic': 'true',
|
|
81
|
-
'[attr.aria-label]': 'label()',
|
|
82
|
-
}, template: "<div [class]=\"'conteiner ' + containerClasses()\" [ngStyle]=\"alertStyles()\">\n <cura-icon [name]=\"iconName()\" class=\"icon-left\" [size]=\"16\" [color]=\"type() + '-dark'\"> </cura-icon>\n\n <div class=\"content\">\n @if (label()) {\n <cura-heading class=\"title\" size=\"xsmall\" color=\"neutral-black\" weight=\"bold\" marginBlock=\"1px 0\">\n {{ label() }}\n </cura-heading>\n }\n\n <cura-paragraph class=\"text\" [color]=\"type() + '-darker'\" size=\"xsmall\" marginBlock=\"0\" lineHeight=\"133.33%\">\n <ng-content></ng-content>\n </cura-paragraph>\n\n <ng-content select=\"[slot=actions]\"></ng-content>\n </div>\n\n @if (closeable()) {\n <cura-icon name=\"close\" [size]=\"16\" color=\"error-dark\" class=\"icon-right\" (click)=\"handleClose()\"> </cura-icon>\n }\n</div>\n", styles: [":host{display:block;box-sizing:border-box}:host .conteiner{display:flex;box-sizing:border-box;padding:calc(var(--cura-spacing-base) * 3px);gap:calc(var(--cura-spacing-base) * 3px);flex-shrink:0;border:1px solid var(--color-base);border-radius:4px;background-color:var(--color-lighter)}:host .conteiner.floating{box-shadow:0 4px 8px #26262629}:host .content{flex:1;flex-direction:column;display:flex;gap:calc(var(--cura-spacing-base) * 1px)}:host .icon-right{cursor:pointer}\n"] }]
|
|
83
|
-
}], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], floating: [{ type: i0.Input, args: [{ isSignal: true, alias: "floating", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], closeable: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeable", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], close: [{ type: i0.Output, args: ["close"] }] } });
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Generated bundle index. Do not edit.
|
|
87
|
-
*/
|
|
88
|
-
|
|
89
|
-
export { CuraAlertComponent };
|
|
90
|
-
//# sourceMappingURL=rededor-site-front-end-lib-cura-feedback-cura-alert.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rededor-site-front-end-lib-cura-feedback-cura-alert.mjs","sources":["../../../projects/site-front-end-lib/cura/feedback/cura-alert/cura-alert.component.ts","../../../projects/site-front-end-lib/cura/feedback/cura-alert/cura-alert.component.html","../../../projects/site-front-end-lib/cura/feedback/cura-alert/rededor-site-front-end-lib-cura-feedback-cura-alert.ts"],"sourcesContent":["import { Component, input, output, inject, computed } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\nimport { CuraHeadingComponent } from '@rededor/site-front-end-lib/cura/texts/cura-heading';\nimport { CuraParagraphComponent } from '@rededor/site-front-end-lib/cura/texts/cura-paragraph';\nimport { AlertType } from './cura-alert.definitions';\n\n@Component({\n selector: 'cura-alert',\n imports: [CommonModule, CuraIconComponent, CuraHeadingComponent, CuraParagraphComponent],\n templateUrl: './cura-alert.component.html',\n styleUrls: ['./cura-alert.component.scss'],\n host: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-atomic': 'true',\n '[attr.aria-label]': 'label()',\n },\n})\nexport class CuraAlertComponent {\n private curaApi: CuraApiService = inject(CuraApiService);\n\n /**\n * Alert type: info (default) | success | warning | error\n */\n type = input<AlertType>('info');\n\n /**\n * Floating state. Boolean.\n */\n floating = input<boolean>(false);\n\n /**\n * Alert label/title\n */\n label = input<string>('');\n\n /**\n * Closeable state. Boolean.\n */\n closeable = input<boolean>(true);\n\n /**\n * Custom icon name\n */\n icon = input<string>('');\n\n /**\n * Close event emitter\n */\n close = output<void>();\n\n alertStyles = computed(() => {\n if (!this.curaApi) return {};\n\n const colors = [\n { name: '--color-lighter', theme: `${this.type()}-lighter` },\n { name: '--neutral-black', theme: 'neutral-black' },\n { name: '--color-light', theme: `${this.type()}-light` },\n { name: '--color-base', theme: `${this.type()}-base` },\n ];\n\n const styles: { [key: string]: string } = {};\n\n styles['--base-spacing'] = this.curaApi.theme.spacing.getSpacing();\n\n colors.forEach((color) => {\n styles[color.name] = this.curaApi.theme.colors.getColor(color.theme);\n });\n\n return styles;\n });\n\n containerClasses = computed(() => {\n const classes = [];\n if (this.floating()) classes.push('floating');\n return classes.join(' ');\n });\n\n iconName = computed(() => {\n const iconMapping: { [key in AlertType]: string } = {\n info: 'infoCircle',\n success: 'checkCircle',\n warning: 'alertCircle',\n error: 'alertTriangle',\n };\n return this.icon() || iconMapping[this.type()];\n });\n\n handleClose(): void {\n this.close.emit();\n }\n}\n","<div [class]=\"'conteiner ' + containerClasses()\" [ngStyle]=\"alertStyles()\">\n <cura-icon [name]=\"iconName()\" class=\"icon-left\" [size]=\"16\" [color]=\"type() + '-dark'\"> </cura-icon>\n\n <div class=\"content\">\n @if (label()) {\n <cura-heading class=\"title\" size=\"xsmall\" color=\"neutral-black\" weight=\"bold\" marginBlock=\"1px 0\">\n {{ label() }}\n </cura-heading>\n }\n\n <cura-paragraph class=\"text\" [color]=\"type() + '-darker'\" size=\"xsmall\" marginBlock=\"0\" lineHeight=\"133.33%\">\n <ng-content></ng-content>\n </cura-paragraph>\n\n <ng-content select=\"[slot=actions]\"></ng-content>\n </div>\n\n @if (closeable()) {\n <cura-icon name=\"close\" [size]=\"16\" color=\"error-dark\" class=\"icon-right\" (click)=\"handleClose()\"> </cura-icon>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, PLATFORM_ID, model, input, output, computed, Component } from '@angular/core';
|
|
3
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
4
|
-
import { CuraApiService } from '@rededor/site-front-end-lib/cura/api';
|
|
5
|
-
import { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';
|
|
6
|
-
import { CuraParagraphComponent } from '@rededor/site-front-end-lib/cura/texts/cura-paragraph';
|
|
7
|
-
|
|
8
|
-
class CuraModalComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.curaApi = inject(CuraApiService);
|
|
11
|
-
this.platformId = inject(PLATFORM_ID);
|
|
12
|
-
/**
|
|
13
|
-
* Property open to control modal visibility
|
|
14
|
-
*/
|
|
15
|
-
this.open = model(false, ...(ngDevMode ? [{ debugName: "open" }] : []));
|
|
16
|
-
/**
|
|
17
|
-
* Property background to control modal backdrop color
|
|
18
|
-
*/
|
|
19
|
-
this.background = input('light', ...(ngDevMode ? [{ debugName: "background" }] : []));
|
|
20
|
-
/**
|
|
21
|
-
* Property top to control modal top position
|
|
22
|
-
*/
|
|
23
|
-
this.top = input(0, ...(ngDevMode ? [{ debugName: "top" }] : []));
|
|
24
|
-
/**
|
|
25
|
-
* Property bottom to control modal bottom position
|
|
26
|
-
*/
|
|
27
|
-
this.bottom = input(0, ...(ngDevMode ? [{ debugName: "bottom" }] : []));
|
|
28
|
-
/**
|
|
29
|
-
* Property left to control modal left position
|
|
30
|
-
*/
|
|
31
|
-
this.left = input(0, ...(ngDevMode ? [{ debugName: "left" }] : []));
|
|
32
|
-
/**
|
|
33
|
-
* Property right to control modal right position
|
|
34
|
-
*/
|
|
35
|
-
this.right = input(0, ...(ngDevMode ? [{ debugName: "right" }] : []));
|
|
36
|
-
/**
|
|
37
|
-
* Defines the label for the close button when the modal is viewed on mobile
|
|
38
|
-
*/
|
|
39
|
-
this.mobileCloseLabel = input('Fechar', ...(ngDevMode ? [{ debugName: "mobileCloseLabel" }] : []));
|
|
40
|
-
/**
|
|
41
|
-
* Property zindex to control the z-index value of the component
|
|
42
|
-
*/
|
|
43
|
-
this.zindex = input('100', ...(ngDevMode ? [{ debugName: "zindex" }] : []));
|
|
44
|
-
/**
|
|
45
|
-
* Event close to handle modal close
|
|
46
|
-
*/
|
|
47
|
-
this.modalClose = output();
|
|
48
|
-
// Computed styles
|
|
49
|
-
this.styles = computed(() => {
|
|
50
|
-
const backgroundTheme = {
|
|
51
|
-
dark: this.curaApi?.theme?.colors?.getColor('neutral-black', 0.4) || 'rgba(0, 0, 0, 0.4)',
|
|
52
|
-
light: this.curaApi?.theme?.colors?.getColor('primary-darker', 0.8) || 'rgba(0, 0, 0, 0.8)',
|
|
53
|
-
};
|
|
54
|
-
return {
|
|
55
|
-
'--background-color': backgroundTheme[this.background()],
|
|
56
|
-
'--top-offset': `${this.top()}px`,
|
|
57
|
-
'--bottom-offset': `${this.bottom()}px`,
|
|
58
|
-
'--left-offset': `${this.left()}px`,
|
|
59
|
-
'--right-offset': `${this.right()}px`,
|
|
60
|
-
'--neutral-purewhite': this.curaApi?.theme?.colors?.getColor('neutral-purewhite') || '#ffffff',
|
|
61
|
-
'--neutral-light': this.curaApi?.theme?.colors?.getColor('neutral-light') || '#f5f5f5',
|
|
62
|
-
'--base-spacing': this.curaApi?.theme?.spacing?.getSpacing() || '16px',
|
|
63
|
-
};
|
|
64
|
-
}, ...(ngDevMode ? [{ debugName: "styles" }] : []));
|
|
65
|
-
this.handleCloseOnEsc = (evt) => {
|
|
66
|
-
if (evt.key !== 'Escape' || !this.open()) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
this.open.set(false);
|
|
70
|
-
this.modalClose.emit();
|
|
71
|
-
};
|
|
72
|
-
// Handle close method
|
|
73
|
-
this.handleClose = () => {
|
|
74
|
-
this.modalClose.emit();
|
|
75
|
-
this.open.set(false);
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
ngOnInit() {
|
|
79
|
-
if (isPlatformBrowser(this.platformId)) {
|
|
80
|
-
window.addEventListener('keydown', this.handleCloseOnEsc);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
ngOnDestroy() {
|
|
84
|
-
if (isPlatformBrowser(this.platformId)) {
|
|
85
|
-
window.removeEventListener('keydown', this.handleCloseOnEsc);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
89
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.18", type: CuraModalComponent, isStandalone: true, selector: "cura-modal", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, top: { classPropertyName: "top", publicName: "top", isSignal: true, isRequired: false, transformFunction: null }, bottom: { classPropertyName: "bottom", publicName: "bottom", isSignal: true, isRequired: false, transformFunction: null }, left: { classPropertyName: "left", publicName: "left", isSignal: true, isRequired: false, transformFunction: null }, right: { classPropertyName: "right", publicName: "right", isSignal: true, isRequired: false, transformFunction: null }, mobileCloseLabel: { classPropertyName: "mobileCloseLabel", publicName: "mobileCloseLabel", isSignal: true, isRequired: false, transformFunction: null }, zindex: { classPropertyName: "zindex", publicName: "zindex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", modalClose: "modalClose" }, host: { attributes: { "role": "dialog", "aria-modal": "true" }, properties: { "style.--zIndex": "zindex()" } }, ngImport: i0, template: "<div class=\"modal container\" [class.open]=\"open()\" [style]=\"styles()\">\n <div class=\"modal backdrop\" [class.open]=\"open()\" (click)=\"handleClose()\"></div>\n\n <div class=\"wrapper\">\n <!-- Desktop close button -->\n <button class=\"close desktop\" type=\"button\" (click)=\"handleClose()\">\n <cura-icon name=\"close\" color=\"error-dark\" size=\"small\"> </cura-icon>\n </button>\n\n <ng-content></ng-content>\n\n <!-- Mobile close button -->\n <button class=\"close mobile\" type=\"button\" (click)=\"handleClose()\">\n <cura-icon name=\"close\" color=\"error-dark\" [size]=\"16\"> </cura-icon>\n <cura-paragraph color=\"error-dark\" size=\"small\" marginBlock=\"0\">\n {{ mobileCloseLabel() }}\n </cura-paragraph>\n </button>\n </div>\n</div>\n", styles: [":host{display:block}.modal{position:fixed;height:100%;width:100%;top:var(--top-offset);bottom:var(--bottom-offset);left:var(--left-offset);right:var(--right-offset);z-index:-1;margin-top:var(--offset-top)}.modal.open{z-index:var(--zIndex)}.modal.open .backdrop,.modal.open .wrapper{opacity:1;visibility:visible;animation:fadeIn .3s ease-out}.container{display:flex;align-items:center;justify-content:center}.backdrop,.wrapper{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.backdrop{background-color:var(--background-color);z-index:calc(var(--zIndex) - 10);animation:fadeIn .3s ease-out}.wrapper{position:fixed;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-light);border-radius:4px;max-width:600px;min-width:200px;padding:0 8px 8px;z-index:var(--zIndex);box-shadow:0 8px 32px #0000001f,0 4px 16px #00000014;transform:scale(.95);transition:transform .3s ease-out,opacity .3s ease,visibility .3s ease}.wrapper ::ng-deep>*:not(button){max-height:80vh;overflow:auto;padding-right:12px}.modal.open .wrapper{transform:scale(1);opacity:1;visibility:visible}.close{justify-self:flex-end;padding-top:8px;background:none;border:none;cursor:pointer;display:flex;align-items:center}.close.mobile{display:none}.close.desktop{display:flex}@media(max-width:768px){.wrapper{position:fixed;bottom:0;width:80%;padding-top:8px;padding-bottom:0;border-radius:4px 4px 0 0;border-bottom:none}.close{align-items:center;border-top:1px dashed var(--neutral-light);margin-top:8px;padding:8px 0;justify-content:center;width:100%}.close.mobile{display:flex;gap:4px}.close.desktop{display:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}\n"], dependencies: [{ kind: "component", type: CuraIconComponent, selector: "cura-icon", inputs: ["name", "color", "size", "iconset", "disabled"] }, { kind: "component", type: CuraParagraphComponent, selector: "cura-paragraph", inputs: ["size", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }] }); }
|
|
90
|
-
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraModalComponent, decorators: [{
|
|
92
|
-
type: Component,
|
|
93
|
-
args: [{ selector: 'cura-modal', imports: [CuraIconComponent, CuraParagraphComponent], host: {
|
|
94
|
-
role: 'dialog',
|
|
95
|
-
'aria-modal': 'true',
|
|
96
|
-
'[style.--zIndex]': 'zindex()',
|
|
97
|
-
}, template: "<div class=\"modal container\" [class.open]=\"open()\" [style]=\"styles()\">\n <div class=\"modal backdrop\" [class.open]=\"open()\" (click)=\"handleClose()\"></div>\n\n <div class=\"wrapper\">\n <!-- Desktop close button -->\n <button class=\"close desktop\" type=\"button\" (click)=\"handleClose()\">\n <cura-icon name=\"close\" color=\"error-dark\" size=\"small\"> </cura-icon>\n </button>\n\n <ng-content></ng-content>\n\n <!-- Mobile close button -->\n <button class=\"close mobile\" type=\"button\" (click)=\"handleClose()\">\n <cura-icon name=\"close\" color=\"error-dark\" [size]=\"16\"> </cura-icon>\n <cura-paragraph color=\"error-dark\" size=\"small\" marginBlock=\"0\">\n {{ mobileCloseLabel() }}\n </cura-paragraph>\n </button>\n </div>\n</div>\n", styles: [":host{display:block}.modal{position:fixed;height:100%;width:100%;top:var(--top-offset);bottom:var(--bottom-offset);left:var(--left-offset);right:var(--right-offset);z-index:-1;margin-top:var(--offset-top)}.modal.open{z-index:var(--zIndex)}.modal.open .backdrop,.modal.open .wrapper{opacity:1;visibility:visible;animation:fadeIn .3s ease-out}.container{display:flex;align-items:center;justify-content:center}.backdrop,.wrapper{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.backdrop{background-color:var(--background-color);z-index:calc(var(--zIndex) - 10);animation:fadeIn .3s ease-out}.wrapper{position:fixed;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-light);border-radius:4px;max-width:600px;min-width:200px;padding:0 8px 8px;z-index:var(--zIndex);box-shadow:0 8px 32px #0000001f,0 4px 16px #00000014;transform:scale(.95);transition:transform .3s ease-out,opacity .3s ease,visibility .3s ease}.wrapper ::ng-deep>*:not(button){max-height:80vh;overflow:auto;padding-right:12px}.modal.open .wrapper{transform:scale(1);opacity:1;visibility:visible}.close{justify-self:flex-end;padding-top:8px;background:none;border:none;cursor:pointer;display:flex;align-items:center}.close.mobile{display:none}.close.desktop{display:flex}@media(max-width:768px){.wrapper{position:fixed;bottom:0;width:80%;padding-top:8px;padding-bottom:0;border-radius:4px 4px 0 0;border-bottom:none}.close{align-items:center;border-top:1px dashed var(--neutral-light);margin-top:8px;padding:8px 0;justify-content:center;width:100%}.close.mobile{display:flex;gap:4px}.close.desktop{display:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}\n"] }]
|
|
98
|
-
}], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], background: [{ type: i0.Input, args: [{ isSignal: true, alias: "background", required: false }] }], top: [{ type: i0.Input, args: [{ isSignal: true, alias: "top", required: false }] }], bottom: [{ type: i0.Input, args: [{ isSignal: true, alias: "bottom", required: false }] }], left: [{ type: i0.Input, args: [{ isSignal: true, alias: "left", required: false }] }], right: [{ type: i0.Input, args: [{ isSignal: true, alias: "right", required: false }] }], mobileCloseLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileCloseLabel", required: false }] }], zindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "zindex", required: false }] }], modalClose: [{ type: i0.Output, args: ["modalClose"] }] } });
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Generated bundle index. Do not edit.
|
|
102
|
-
*/
|
|
103
|
-
|
|
104
|
-
export { CuraModalComponent };
|
|
105
|
-
//# sourceMappingURL=rededor-site-front-end-lib-cura-feedback-cura-modal.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rededor-site-front-end-lib-cura-feedback-cura-modal.mjs","sources":["../../../projects/site-front-end-lib/cura/feedback/cura-modal/cura-modal.component.ts","../../../projects/site-front-end-lib/cura/feedback/cura-modal/cura-modal.component.html","../../../projects/site-front-end-lib/cura/feedback/cura-modal/rededor-site-front-end-lib-cura-feedback-cura-modal.ts"],"sourcesContent":["import { Component, input, output, computed, inject, model, OnInit, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\nimport { CuraParagraphComponent } from '@rededor/site-front-end-lib/cura/texts/cura-paragraph';\nimport { ModalBackground } from './cura-modal.definitions';\n\n@Component({\n selector: 'cura-modal',\n imports: [CuraIconComponent, CuraParagraphComponent],\n templateUrl: './cura-modal.component.html',\n styleUrls: ['./cura-modal.component.scss'],\n host: {\n role: 'dialog',\n 'aria-modal': 'true',\n '[style.--zIndex]': 'zindex()',\n },\n})\nexport class CuraModalComponent implements OnInit, OnDestroy {\n private curaApi = inject(CuraApiService);\n private platformId = inject(PLATFORM_ID);\n\n /**\n * Property open to control modal visibility\n */\n open = model<boolean>(false);\n\n /**\n * Property background to control modal backdrop color\n */\n background = input<ModalBackground>('light');\n\n /**\n * Property top to control modal top position\n */\n top = input<number>(0);\n\n /**\n * Property bottom to control modal bottom position\n */\n bottom = input<number>(0);\n\n /**\n * Property left to control modal left position\n */\n left = input<number>(0);\n\n /**\n * Property right to control modal right position\n */\n right = input<number>(0);\n\n /**\n * Defines the label for the close button when the modal is viewed on mobile\n */\n mobileCloseLabel = input<string>('Fechar');\n\n /**\n * Property zindex to control the z-index value of the component\n */\n zindex = input<string>('100');\n\n /**\n * Event close to handle modal close\n */\n modalClose = output<void>();\n\n // Computed styles\n styles = computed(() => {\n const backgroundTheme = {\n dark: this.curaApi?.theme?.colors?.getColor('neutral-black', 0.4) || 'rgba(0, 0, 0, 0.4)',\n light: this.curaApi?.theme?.colors?.getColor('primary-darker', 0.8) || 'rgba(0, 0, 0, 0.8)',\n };\n\n return {\n '--background-color': backgroundTheme[this.background()],\n '--top-offset': `${this.top()}px`,\n '--bottom-offset': `${this.bottom()}px`,\n '--left-offset': `${this.left()}px`,\n '--right-offset': `${this.right()}px`,\n '--neutral-purewhite': this.curaApi?.theme?.colors?.getColor('neutral-purewhite') || '#ffffff',\n '--neutral-light': this.curaApi?.theme?.colors?.getColor('neutral-light') || '#f5f5f5',\n '--base-spacing': this.curaApi?.theme?.spacing?.getSpacing() || '16px',\n };\n });\n\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n window.addEventListener('keydown', this.handleCloseOnEsc);\n }\n }\n\n ngOnDestroy(): void {\n if (isPlatformBrowser(this.platformId)) {\n window.removeEventListener('keydown', this.handleCloseOnEsc);\n }\n }\n\n handleCloseOnEsc = (evt: KeyboardEvent): void => {\n if (evt.key !== 'Escape' || !this.open()) {\n return;\n }\n this.open.set(false);\n this.modalClose.emit();\n };\n\n // Handle close method\n handleClose = (): void => {\n this.modalClose.emit();\n this.open.set(false);\n };\n}\n","<div class=\"modal container\" [class.open]=\"open()\" [style]=\"styles()\">\n <div class=\"modal backdrop\" [class.open]=\"open()\" (click)=\"handleClose()\"></div>\n\n <div class=\"wrapper\">\n <!-- Desktop close button -->\n <button class=\"close desktop\" type=\"button\" (click)=\"handleClose()\">\n <cura-icon name=\"close\" color=\"error-dark\" size=\"small\"> </cura-icon>\n </button>\n\n <ng-content></ng-content>\n\n <!-- Mobile close button -->\n <button class=\"close mobile\" type=\"button\" (click)=\"handleClose()\">\n <cura-icon name=\"close\" color=\"error-dark\" [size]=\"16\"> </cura-icon>\n <cura-paragraph color=\"error-dark\" size=\"small\" marginBlock=\"0\">\n {{ mobileCloseLabel() }}\n </cura-paragraph>\n </button>\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,198 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef, input, output, signal, computed, effect, Component } from '@angular/core';
|
|
3
|
-
import * as i1 from '@angular/common';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { CuraApiService } from '@rededor/site-front-end-lib/cura/api';
|
|
6
|
-
import { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';
|
|
7
|
-
import { CuraHeadingComponent } from '@rededor/site-front-end-lib/cura/texts/cura-heading';
|
|
8
|
-
import { CuraParagraphComponent } from '@rededor/site-front-end-lib/cura/texts/cura-paragraph';
|
|
9
|
-
import { CuraLoaderBarComponent } from '@rededor/site-front-end-lib/cura/loaders/cura-loader-bar';
|
|
10
|
-
|
|
11
|
-
class CuraToastComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.curaApi = inject(CuraApiService);
|
|
14
|
-
this.elementRef = inject(ElementRef);
|
|
15
|
-
/**
|
|
16
|
-
* Toast type: info (default) | success | warning | error
|
|
17
|
-
*/
|
|
18
|
-
this.type = input('info', ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
19
|
-
/**
|
|
20
|
-
* Toast position on screen
|
|
21
|
-
*/
|
|
22
|
-
this.position = input('top-right', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
23
|
-
/**
|
|
24
|
-
* Custom icon name
|
|
25
|
-
*/
|
|
26
|
-
this.icon = input('', ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
27
|
-
/**
|
|
28
|
-
* Toast label/title
|
|
29
|
-
*/
|
|
30
|
-
this.label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
31
|
-
/**
|
|
32
|
-
* Show close button. Default: true
|
|
33
|
-
*/
|
|
34
|
-
this.closeButton = input(true, ...(ngDevMode ? [{ debugName: "closeButton" }] : []));
|
|
35
|
-
/**
|
|
36
|
-
* Show loader bar. Default: true
|
|
37
|
-
*/
|
|
38
|
-
this.loader = input(true, ...(ngDevMode ? [{ debugName: "loader" }] : []));
|
|
39
|
-
/**
|
|
40
|
-
* Auto close delay in milliseconds. Default: 10000ms (10s)
|
|
41
|
-
*/
|
|
42
|
-
this.autoCloseDelay = input(10000, ...(ngDevMode ? [{ debugName: "autoCloseDelay" }] : []));
|
|
43
|
-
/**
|
|
44
|
-
* Close event emitter
|
|
45
|
-
*/
|
|
46
|
-
this.toastClosed = output();
|
|
47
|
-
/**
|
|
48
|
-
* Progress state for loader animation
|
|
49
|
-
*/
|
|
50
|
-
this.progress = signal(0, ...(ngDevMode ? [{ debugName: "progress" }] : []));
|
|
51
|
-
/**
|
|
52
|
-
* Active state for animation
|
|
53
|
-
*/
|
|
54
|
-
this.isActive = signal(false, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
|
|
55
|
-
this.toastStyles = computed(() => {
|
|
56
|
-
if (!this.curaApi)
|
|
57
|
-
return {};
|
|
58
|
-
const colors = [
|
|
59
|
-
{ name: '--neutral-purewhite', theme: 'neutral-purewhite' },
|
|
60
|
-
{ name: '--neutral-base', theme: 'neutral-base', opacity: 0.2 },
|
|
61
|
-
{ name: '--primary-base', theme: 'primary-base' },
|
|
62
|
-
{ name: '--color-base', theme: `${this.type()}-base` },
|
|
63
|
-
];
|
|
64
|
-
const styles = {};
|
|
65
|
-
colors.forEach((color) => {
|
|
66
|
-
if (color.opacity !== undefined) {
|
|
67
|
-
styles[color.name] = this.curaApi.theme.colors.getColor(color.theme, color.opacity);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
styles[color.name] = this.curaApi.theme.colors.getColor(color.theme);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
return styles;
|
|
74
|
-
}, ...(ngDevMode ? [{ debugName: "toastStyles" }] : []));
|
|
75
|
-
this.containerClasses = computed(() => {
|
|
76
|
-
const [firstPosition, secondPosition] = this.position().split('-');
|
|
77
|
-
const classes = {
|
|
78
|
-
container: true,
|
|
79
|
-
};
|
|
80
|
-
if (firstPosition)
|
|
81
|
-
classes[firstPosition] = true;
|
|
82
|
-
if (secondPosition)
|
|
83
|
-
classes[secondPosition] = true;
|
|
84
|
-
if (this.loader())
|
|
85
|
-
classes['loader'] = true;
|
|
86
|
-
if (this.isActive())
|
|
87
|
-
classes['active'] = true;
|
|
88
|
-
return classes;
|
|
89
|
-
}, ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
|
|
90
|
-
this.iconName = computed(() => {
|
|
91
|
-
const iconMapping = {
|
|
92
|
-
info: 'infoCircle',
|
|
93
|
-
success: 'checkCircle',
|
|
94
|
-
warning: 'alertCircle',
|
|
95
|
-
error: 'alertTriangle',
|
|
96
|
-
};
|
|
97
|
-
return this.icon() || iconMapping[this.type()];
|
|
98
|
-
}, ...(ngDevMode ? [{ debugName: "iconName" }] : []));
|
|
99
|
-
// Watch for type and position changes to update styles
|
|
100
|
-
effect(() => {
|
|
101
|
-
this.type();
|
|
102
|
-
this.position();
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
ngOnInit() {
|
|
106
|
-
// Activate animation after a small delay to ensure DOM is ready
|
|
107
|
-
setTimeout(() => {
|
|
108
|
-
this.openContainer();
|
|
109
|
-
this.startAnimation();
|
|
110
|
-
}, 10);
|
|
111
|
-
}
|
|
112
|
-
ngOnDestroy() {
|
|
113
|
-
if (this.intervalId) {
|
|
114
|
-
clearInterval(this.intervalId);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Opens the toast container with animation
|
|
119
|
-
*/
|
|
120
|
-
openContainer() {
|
|
121
|
-
this.isActive.set(true);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Closes the toast container with animation
|
|
125
|
-
*/
|
|
126
|
-
closeContainer() {
|
|
127
|
-
this.isActive.set(false);
|
|
128
|
-
setTimeout(() => {
|
|
129
|
-
this.toastClosed.emit();
|
|
130
|
-
// Remove element from DOM
|
|
131
|
-
const element = this.elementRef.nativeElement;
|
|
132
|
-
if (element && element.parentNode) {
|
|
133
|
-
element.parentNode.removeChild(element);
|
|
134
|
-
}
|
|
135
|
-
}, 500);
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Public method to close toast
|
|
139
|
-
*/
|
|
140
|
-
close() {
|
|
141
|
-
this.closeContainer();
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Handle close button click
|
|
145
|
-
*/
|
|
146
|
-
handleClose() {
|
|
147
|
-
this.closeContainer();
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Starts the auto-close animation
|
|
151
|
-
*/
|
|
152
|
-
startAnimation() {
|
|
153
|
-
const delay = this.autoCloseDelay();
|
|
154
|
-
if (!delay)
|
|
155
|
-
return;
|
|
156
|
-
if (this.loader()) {
|
|
157
|
-
this.progress.set(0);
|
|
158
|
-
this.intervalId = setInterval(() => {
|
|
159
|
-
const currentProgress = this.progress();
|
|
160
|
-
if (currentProgress >= 100) {
|
|
161
|
-
if (this.intervalId) {
|
|
162
|
-
clearInterval(this.intervalId);
|
|
163
|
-
}
|
|
164
|
-
this.closeContainer();
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
this.progress.set(currentProgress + 1);
|
|
168
|
-
}
|
|
169
|
-
}, delay / 100);
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
this.intervalId = setInterval(() => {
|
|
173
|
-
if (this.intervalId) {
|
|
174
|
-
clearInterval(this.intervalId);
|
|
175
|
-
}
|
|
176
|
-
this.closeContainer();
|
|
177
|
-
}, delay);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
181
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: CuraToastComponent, isStandalone: true, selector: "cura-toast", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, closeButton: { classPropertyName: "closeButton", publicName: "closeButton", isSignal: true, isRequired: false, transformFunction: null }, loader: { classPropertyName: "loader", publicName: "loader", isSignal: true, isRequired: false, transformFunction: null }, autoCloseDelay: { classPropertyName: "autoCloseDelay", publicName: "autoCloseDelay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toastClosed: "toastClosed" }, host: { attributes: { "role": "alert", "aria-live": "polite", "aria-atomic": "true" }, properties: { "attr.aria-label": "label()" } }, ngImport: i0, template: "<div [ngClass]=\"containerClasses()\" [ngStyle]=\"toastStyles()\">\n <cura-icon class=\"default-icon\" [name]=\"iconName()\" [size]=\"16\" [color]=\"type() + '-dark'\"></cura-icon>\n\n <div class=\"content\">\n <cura-heading [level]=\"4\" size=\"xsmall\" [color]=\"type() + '-dark'\" weight=\"bold\" marginBlock=\"0\">\n {{ label() }}\n </cura-heading>\n\n <cura-paragraph [color]=\"type() + '-darker'\" size=\"xsmall\" marginBlock=\"0\" lineHeight=\"133.33%\">\n <ng-content></ng-content>\n </cura-paragraph>\n\n <ng-content select=\"[slot=actions]\"></ng-content>\n </div>\n\n @if (closeButton()) {\n <cura-icon class=\"close-icon\" name=\"close\" [size]=\"16\" color=\"error-dark\" (click)=\"handleClose()\"></cura-icon>\n }\n\n @if (loader() && autoCloseDelay()) {\n <cura-loader-bar [color]=\"type() + '-base'\" [progress]=\"progress()\"></cura-loader-bar>\n }\n</div>\n", styles: [":host{display:block;box-sizing:border-box}:host .container{position:fixed;z-index:99999;display:flex;box-sizing:border-box;min-width:320px;height:fit-content;padding:16px;border:1px solid var(--color-base);border-radius:12px;background-color:var(--neutral-purewhite);overflow:hidden;box-shadow:0 8px 16px 0 var(--neutral-black-shadow-4, rgba(38, 38, 38, .12))}:host .container.loader{padding:16px 16px 20px}:host .container.top{top:24px}:host .container.top.center{top:-100%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .5s ease-in-out,top .5s ease-in-out}:host .container.top.center.active{top:24px;opacity:1}:host .container.bottom{bottom:24px}:host .container.bottom.center{bottom:-100%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .5s ease-in-out,bottom .5s ease-in-out}:host .container.bottom.center.active{bottom:24px;opacity:1}:host .container.left{left:-100%;opacity:0;transition:opacity .5s ease-in-out,left .5s ease-in-out}@media(max-width:768px){:host .container.left{right:unset;left:50%;transform:translate(-50%)}}:host .container.left.active{left:24px;opacity:1}:host .container.right{right:-100%;opacity:0;transition:opacity .5s ease-in-out,right .5s ease-in-out}@media(max-width:768px){:host .container.right{right:unset;left:50%;transform:translate(-50%)}}:host .container.right.active{right:24px;opacity:1}:host .container .content{flex:1 1 0;display:flex;flex-direction:column;gap:4px}:host .container .default-icon{margin-right:12px}:host .container .close-icon{margin-left:12px;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: CuraHeadingComponent, selector: "cura-heading", inputs: ["level", "size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraParagraphComponent, selector: "cura-paragraph", inputs: ["size", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraLoaderBarComponent, selector: "cura-loader-bar", inputs: ["color", "progress"] }] }); }
|
|
182
|
-
}
|
|
183
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraToastComponent, decorators: [{
|
|
184
|
-
type: Component,
|
|
185
|
-
args: [{ selector: 'cura-toast', imports: [CommonModule, CuraIconComponent, CuraHeadingComponent, CuraParagraphComponent, CuraLoaderBarComponent], host: {
|
|
186
|
-
role: 'alert',
|
|
187
|
-
'aria-live': 'polite',
|
|
188
|
-
'aria-atomic': 'true',
|
|
189
|
-
'[attr.aria-label]': 'label()',
|
|
190
|
-
}, template: "<div [ngClass]=\"containerClasses()\" [ngStyle]=\"toastStyles()\">\n <cura-icon class=\"default-icon\" [name]=\"iconName()\" [size]=\"16\" [color]=\"type() + '-dark'\"></cura-icon>\n\n <div class=\"content\">\n <cura-heading [level]=\"4\" size=\"xsmall\" [color]=\"type() + '-dark'\" weight=\"bold\" marginBlock=\"0\">\n {{ label() }}\n </cura-heading>\n\n <cura-paragraph [color]=\"type() + '-darker'\" size=\"xsmall\" marginBlock=\"0\" lineHeight=\"133.33%\">\n <ng-content></ng-content>\n </cura-paragraph>\n\n <ng-content select=\"[slot=actions]\"></ng-content>\n </div>\n\n @if (closeButton()) {\n <cura-icon class=\"close-icon\" name=\"close\" [size]=\"16\" color=\"error-dark\" (click)=\"handleClose()\"></cura-icon>\n }\n\n @if (loader() && autoCloseDelay()) {\n <cura-loader-bar [color]=\"type() + '-base'\" [progress]=\"progress()\"></cura-loader-bar>\n }\n</div>\n", styles: [":host{display:block;box-sizing:border-box}:host .container{position:fixed;z-index:99999;display:flex;box-sizing:border-box;min-width:320px;height:fit-content;padding:16px;border:1px solid var(--color-base);border-radius:12px;background-color:var(--neutral-purewhite);overflow:hidden;box-shadow:0 8px 16px 0 var(--neutral-black-shadow-4, rgba(38, 38, 38, .12))}:host .container.loader{padding:16px 16px 20px}:host .container.top{top:24px}:host .container.top.center{top:-100%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .5s ease-in-out,top .5s ease-in-out}:host .container.top.center.active{top:24px;opacity:1}:host .container.bottom{bottom:24px}:host .container.bottom.center{bottom:-100%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .5s ease-in-out,bottom .5s ease-in-out}:host .container.bottom.center.active{bottom:24px;opacity:1}:host .container.left{left:-100%;opacity:0;transition:opacity .5s ease-in-out,left .5s ease-in-out}@media(max-width:768px){:host .container.left{right:unset;left:50%;transform:translate(-50%)}}:host .container.left.active{left:24px;opacity:1}:host .container.right{right:-100%;opacity:0;transition:opacity .5s ease-in-out,right .5s ease-in-out}@media(max-width:768px){:host .container.right{right:unset;left:50%;transform:translate(-50%)}}:host .container.right.active{right:24px;opacity:1}:host .container .content{flex:1 1 0;display:flex;flex-direction:column;gap:4px}:host .container .default-icon{margin-right:12px}:host .container .close-icon{margin-left:12px;cursor:pointer}\n"] }]
|
|
191
|
-
}], ctorParameters: () => [], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], closeButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeButton", required: false }] }], loader: [{ type: i0.Input, args: [{ isSignal: true, alias: "loader", required: false }] }], autoCloseDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoCloseDelay", required: false }] }], toastClosed: [{ type: i0.Output, args: ["toastClosed"] }] } });
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Generated bundle index. Do not edit.
|
|
195
|
-
*/
|
|
196
|
-
|
|
197
|
-
export { CuraToastComponent };
|
|
198
|
-
//# sourceMappingURL=rededor-site-front-end-lib-cura-feedback-cura-toast.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rededor-site-front-end-lib-cura-feedback-cura-toast.mjs","sources":["../../../projects/site-front-end-lib/cura/feedback/cura-toast/cura-toast.component.ts","../../../projects/site-front-end-lib/cura/feedback/cura-toast/cura-toast.component.html","../../../projects/site-front-end-lib/cura/feedback/cura-toast/rededor-site-front-end-lib-cura-feedback-cura-toast.ts"],"sourcesContent":["import { Component, input, output, inject, computed, signal, OnInit, OnDestroy, ElementRef, effect } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\nimport { CuraHeadingComponent } from '@rededor/site-front-end-lib/cura/texts/cura-heading';\nimport { CuraParagraphComponent } from '@rededor/site-front-end-lib/cura/texts/cura-paragraph';\nimport { CuraLoaderBarComponent } from '@rededor/site-front-end-lib/cura/loaders/cura-loader-bar';\nimport { ToastType, ToastPosition } from './cura-toast.definitions';\n\n@Component({\n selector: 'cura-toast',\n imports: [CommonModule, CuraIconComponent, CuraHeadingComponent, CuraParagraphComponent, CuraLoaderBarComponent],\n templateUrl: './cura-toast.component.html',\n styleUrls: ['./cura-toast.component.scss'],\n host: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-atomic': 'true',\n '[attr.aria-label]': 'label()',\n },\n})\nexport class CuraToastComponent implements OnInit, OnDestroy {\n private curaApi: CuraApiService = inject(CuraApiService);\n private elementRef = inject(ElementRef);\n private intervalId?: ReturnType<typeof setInterval>;\n\n /**\n * Toast type: info (default) | success | warning | error\n */\n type = input<ToastType>('info');\n\n /**\n * Toast position on screen\n */\n position = input<ToastPosition>('top-right');\n\n /**\n * Custom icon name\n */\n icon = input<string>('');\n\n /**\n * Toast label/title\n */\n label = input<string>('');\n\n /**\n * Show close button. Default: true\n */\n closeButton = input<boolean>(true);\n\n /**\n * Show loader bar. Default: true\n */\n loader = input<boolean>(true);\n\n /**\n * Auto close delay in milliseconds. Default: 10000ms (10s)\n */\n autoCloseDelay = input<number>(10000);\n\n /**\n * Close event emitter\n */\n toastClosed = output<void>();\n\n /**\n * Progress state for loader animation\n */\n progress = signal<number>(0);\n\n /**\n * Active state for animation\n */\n isActive = signal<boolean>(false);\n\n constructor() {\n // Watch for type and position changes to update styles\n effect(() => {\n this.type();\n this.position();\n });\n }\n\n toastStyles = computed(() => {\n if (!this.curaApi) return {};\n\n const colors = [\n { name: '--neutral-purewhite', theme: 'neutral-purewhite' },\n { name: '--neutral-base', theme: 'neutral-base', opacity: 0.2 },\n { name: '--primary-base', theme: 'primary-base' },\n { name: '--color-base', theme: `${this.type()}-base` },\n ];\n\n const styles: { [key: string]: string } = {};\n\n colors.forEach((color) => {\n if (color.opacity !== undefined) {\n styles[color.name] = this.curaApi.theme.colors.getColor(color.theme, color.opacity);\n } else {\n styles[color.name] = this.curaApi.theme.colors.getColor(color.theme);\n }\n });\n\n return styles;\n });\n\n containerClasses = computed(() => {\n const [firstPosition, secondPosition] = this.position().split('-');\n const classes: { [key: string]: boolean } = {\n container: true,\n };\n\n if (firstPosition) classes[firstPosition] = true;\n if (secondPosition) classes[secondPosition] = true;\n if (this.loader()) classes['loader'] = true;\n if (this.isActive()) classes['active'] = true;\n\n return classes;\n });\n\n iconName = computed(() => {\n const iconMapping: { [key in ToastType]: string } = {\n info: 'infoCircle',\n success: 'checkCircle',\n warning: 'alertCircle',\n error: 'alertTriangle',\n };\n return this.icon() || iconMapping[this.type()];\n });\n\n ngOnInit(): void {\n // Activate animation after a small delay to ensure DOM is ready\n setTimeout(() => {\n this.openContainer();\n this.startAnimation();\n }, 10);\n }\n\n ngOnDestroy(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n }\n\n /**\n * Opens the toast container with animation\n */\n openContainer(): void {\n this.isActive.set(true);\n }\n\n /**\n * Closes the toast container with animation\n */\n closeContainer(): void {\n this.isActive.set(false);\n\n setTimeout(() => {\n this.toastClosed.emit();\n // Remove element from DOM\n const element = this.elementRef.nativeElement;\n if (element && element.parentNode) {\n element.parentNode.removeChild(element);\n }\n }, 500);\n }\n\n /**\n * Public method to close toast\n */\n close(): void {\n this.closeContainer();\n }\n\n /**\n * Handle close button click\n */\n handleClose(): void {\n this.closeContainer();\n }\n\n /**\n * Starts the auto-close animation\n */\n private startAnimation(): void {\n const delay = this.autoCloseDelay();\n\n if (!delay) return;\n\n if (this.loader()) {\n this.progress.set(0);\n this.intervalId = setInterval(() => {\n const currentProgress = this.progress();\n if (currentProgress >= 100) {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n this.closeContainer();\n } else {\n this.progress.set(currentProgress + 1);\n }\n }, delay / 100);\n } else {\n this.intervalId = setInterval(() => {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n this.closeContainer();\n }, delay);\n }\n }\n}\n","<div [ngClass]=\"containerClasses()\" [ngStyle]=\"toastStyles()\">\n <cura-icon class=\"default-icon\" [name]=\"iconName()\" [size]=\"16\" [color]=\"type() + '-dark'\"></cura-icon>\n\n <div class=\"content\">\n <cura-heading [level]=\"4\" size=\"xsmall\" [color]=\"type() + '-dark'\" weight=\"bold\" marginBlock=\"0\">\n {{ label() }}\n </cura-heading>\n\n <cura-paragraph [color]=\"type() + '-darker'\" size=\"xsmall\" marginBlock=\"0\" lineHeight=\"133.33%\">\n <ng-content></ng-content>\n </cura-paragraph>\n\n <ng-content select=\"[slot=actions]\"></ng-content>\n </div>\n\n @if (closeButton()) {\n <cura-icon class=\"close-icon\" name=\"close\" [size]=\"16\" color=\"error-dark\" (click)=\"handleClose()\"></cura-icon>\n }\n\n @if (loader() && autoCloseDelay()) {\n <cura-loader-bar [color]=\"type() + '-base'\" [progress]=\"progress()\"></cura-loader-bar>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|