@i-cell/ids-angular 0.2.19 → 0.2.21
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/datepicker/index.d.ts +1 -1
- package/dialog/index.d.ts +3 -1
- package/fesm2022/i-cell-ids-angular-breadcrumb.mjs +1 -1
- package/fesm2022/i-cell-ids-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-chip.mjs +1 -1
- package/fesm2022/i-cell-ids-angular-chip.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-datepicker.mjs +3 -3
- package/fesm2022/i-cell-ids-angular-datepicker.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-dialog.mjs +4 -2
- package/fesm2022/i-cell-ids-angular-dialog.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-forms.mjs +7 -8
- package/fesm2022/i-cell-ids-angular-forms.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-icon-button.mjs +3 -2
- package/fesm2022/i-cell-ids-angular-icon-button.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-notification.mjs +1 -1
- package/fesm2022/i-cell-ids-angular-notification.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-radio.mjs +19 -3
- package/fesm2022/i-cell-ids-angular-radio.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs +8 -4
- package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-segmented-control.mjs +8 -4
- package/fesm2022/i-cell-ids-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-select.mjs +8 -6
- package/fesm2022/i-cell-ids-angular-select.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-side-nav.mjs +1 -1
- package/fesm2022/i-cell-ids-angular-side-nav.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-side-sheet.mjs +2 -2
- package/fesm2022/i-cell-ids-angular-side-sheet.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-snackbar.mjs +1 -1
- package/fesm2022/i-cell-ids-angular-snackbar.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-table.mjs +50 -4
- package/fesm2022/i-cell-ids-angular-table.mjs.map +1 -1
- package/icon-button/index.d.ts +2 -1
- package/package.json +23 -23
- package/radio/index.d.ts +1 -0
- package/table/index.d.ts +21 -2
|
@@ -68,7 +68,7 @@ class SideSheetHeaderComponent {
|
|
|
68
68
|
this.backClicked.emit();
|
|
69
69
|
}
|
|
70
70
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: SideSheetHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: SideSheetHeaderComponent, isStandalone: true, selector: "app-side-sheet-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, isShowHeader: { classPropertyName: "isShowHeader", publicName: "isShowHeader", isSignal: true, isRequired: false, transformFunction: null }, closeTooltipText: { classPropertyName: "closeTooltipText", publicName: "closeTooltipText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", backClicked: "backClicked" }, ngImport: i0, template: "@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n", dependencies: [{ kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer", "idsTooltipIgnoreClipped"] }] }); }
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: SideSheetHeaderComponent, isStandalone: true, selector: "app-side-sheet-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, isShowHeader: { classPropertyName: "isShowHeader", publicName: "isShowHeader", isSignal: true, isRequired: false, transformFunction: null }, closeTooltipText: { classPropertyName: "closeTooltipText", publicName: "closeTooltipText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", backClicked: "backClicked" }, ngImport: i0, template: "@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n", dependencies: [{ kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled", "allowCustomContent"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer", "idsTooltipIgnoreClipped"] }] }); }
|
|
72
72
|
}
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: SideSheetHeaderComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
@@ -127,7 +127,7 @@ class IdsSideSheetComponent extends ComponentBaseWithDefaults {
|
|
|
127
127
|
this.backClicked.emit();
|
|
128
128
|
}
|
|
129
129
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSideSheetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
130
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsSideSheetComponent, isStandalone: true, selector: "ids-side-sheet", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, isBackdrop: { classPropertyName: "isBackdrop", publicName: "isBackdrop", isSignal: true, isRequired: false, transformFunction: null }, backdropType: { classPropertyName: "backdropType", publicName: "backdropType", isSignal: true, isRequired: false, transformFunction: null }, backdropOpacity: { classPropertyName: "backdropOpacity", publicName: "backdropOpacity", isSignal: true, isRequired: false, transformFunction: null }, isScrollable: { classPropertyName: "isScrollable", publicName: "isScrollable", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, isShowHeader: { classPropertyName: "isShowHeader", publicName: "isShowHeader", isSignal: true, isRequired: false, transformFunction: null }, closeTooltipText: { classPropertyName: "closeTooltipText", publicName: "closeTooltipText", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", backClicked: "backClicked" }, host: { properties: { "class.open": "open()" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n", dependencies: [{ kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SideSheetHeaderComponent, selector: "app-side-sheet-header", inputs: ["title", "header", "backButton", "isClosable", "isShowHeader", "closeTooltipText"], outputs: ["closed", "backClicked"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer", "idsTooltipIgnoreClipped"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
|
|
130
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsSideSheetComponent, isStandalone: true, selector: "ids-side-sheet", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, isBackdrop: { classPropertyName: "isBackdrop", publicName: "isBackdrop", isSignal: true, isRequired: false, transformFunction: null }, backdropType: { classPropertyName: "backdropType", publicName: "backdropType", isSignal: true, isRequired: false, transformFunction: null }, backdropOpacity: { classPropertyName: "backdropOpacity", publicName: "backdropOpacity", isSignal: true, isRequired: false, transformFunction: null }, isScrollable: { classPropertyName: "isScrollable", publicName: "isScrollable", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, isShowHeader: { classPropertyName: "isShowHeader", publicName: "isShowHeader", isSignal: true, isRequired: false, transformFunction: null }, closeTooltipText: { classPropertyName: "closeTooltipText", publicName: "closeTooltipText", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", backClicked: "backClicked" }, host: { properties: { "class.open": "open()" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n", dependencies: [{ kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled", "allowCustomContent"] }, { kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SideSheetHeaderComponent, selector: "app-side-sheet-header", inputs: ["title", "header", "backButton", "isClosable", "isShowHeader", "closeTooltipText"], outputs: ["closed", "backClicked"] }, { kind: "directive", type: IdsTooltipDirective, selector: "[idsTooltip]", inputs: ["idsTooltip", "idsTooltipPosition", "idsTooltipSize", "idsTooltipVariant", "idsTooltipShowDelay", "idsTooltipHideDelay", "idsTooltipDisabled", "idsTooltipTouchGestures", "idsTooltipTextAlign", "idsTooltipClass", "idsTooltipShowPointer", "idsTooltipIgnoreClipped"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
|
|
131
131
|
trigger('slideInOut', [
|
|
132
132
|
transition('void => left', [
|
|
133
133
|
style({ transform: 'translateX(-100%)' }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-side-sheet.mjs","sources":["../../../projects/widgets/side-sheet/types/side-sheet.type.ts","../../../projects/widgets/side-sheet/side-sheet-defaults.ts","../../../projects/widgets/side-sheet/side-sheet-header/side-sheet-header.component.ts","../../../projects/widgets/side-sheet/side-sheet-header/side-sheet-header.component.html","../../../projects/widgets/side-sheet/side-sheet.component.ts","../../../projects/widgets/side-sheet/side-sheet.component.html","../../../projects/widgets/side-sheet/i-cell-ids-angular-side-sheet.ts"],"sourcesContent":["export const IdsSideSheetType = {\n OVERLAY: 'overlay',\n INLINE: 'inline',\n} as const;\n\nexport type IdsSideSheetTypeType = (typeof IdsSideSheetType)[keyof typeof IdsSideSheetType];\n\nexport const IdsSideSheetPosition = {\n LEFT: 'left',\n RIGHT: 'right',\n} as const;\n\nexport type IdsSideSheetPositionType = (typeof IdsSideSheetPosition)[keyof typeof IdsSideSheetPosition];\n\nexport const IdsSideSheetHeader = {\n DEFAULT: 'default',\n CUSTOM: 'custom',\n} as const;\n\nexport const IdsBackdropType = {\n DEFAULT: 'default',\n TRANSPARENT: 'transparent',\n} as const;\n\nexport type IdsBackdropTypeType = (typeof IdsBackdropType)[keyof typeof IdsBackdropType];\n\nexport type IdsSideSheetHeaderType = (typeof IdsSideSheetHeader)[keyof typeof IdsSideSheetHeader];\n","import {\n IdsBackdropType,\n IdsBackdropTypeType,\n IdsSideSheetHeader,\n IdsSideSheetHeaderType, IdsSideSheetPosition,\n IdsSideSheetPositionType, IdsSideSheetType,\n IdsSideSheetTypeType,\n} from './types/side-sheet.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSideSheetDefaultConfig {\n type: IdsSideSheetTypeType\n position: IdsSideSheetPositionType\n header: IdsSideSheetHeaderType\n isScrollable: boolean\n isBackdrop: boolean\n backdropType: IdsBackdropTypeType\n backdropOpacity: IdsSizeType\n isClosable: boolean\n isShowFooter: boolean\n isShowHeader: boolean\n isStatic: boolean\n closeTooltipText: string\n size: IdsSizeType\n}\n\nexport const IDS_SIDE_SHEET_DEFAULT_CONFIG = new InjectionToken<IdsSideSheetDefaultConfig>(\n 'IDS_SIDE_SHEET_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY(): Required<IdsSideSheetDefaultConfig> {\n return {\n type: IdsSideSheetType.INLINE,\n position: IdsSideSheetPosition.LEFT,\n header: IdsSideSheetHeader.DEFAULT,\n isScrollable: false,\n isBackdrop: true,\n backdropType: IdsBackdropType.DEFAULT,\n backdropOpacity: IdsSize.COMPACT,\n isClosable: true,\n isShowFooter: true,\n isShowHeader: true,\n isStatic: false,\n closeTooltipText: '',\n size: IdsSize.COMPACT,\n };\n};\n","import { IdsSideSheetHeader } from '../types/side-sheet.type';\n\nimport { Component, input, output } from '@angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\n@Component({\n selector: 'app-side-sheet-header',\n standalone: true,\n templateUrl: './side-sheet-header.component.html',\n imports: [\n IdsIconComponent,\n IdsIconButtonComponent,\n IdsTooltipDirective,\n ],\n})\nexport class SideSheetHeaderComponent {\n protected _idsSideSheetHeaderType = IdsSideSheetHeader;\n public closed = output();\n public backClicked = output();\n\n public title = input<string>();\n public header = input();\n public backButton = input();\n public isClosable = input();\n public isShowHeader = input<boolean>(false);\n public closeTooltipText = input<string>('');\n\n protected _onClose(): void {\n this.closed.emit();\n }\n\n protected _onBack(): void {\n this.backClicked.emit();\n }\n\n}\n","@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n","import {\n IDS_SIDE_SHEET_DEFAULT_CONFIG,\n IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY,\n IdsSideSheetDefaultConfig,\n} from './side-sheet-defaults';\nimport { SideSheetHeaderComponent } from './side-sheet-header/side-sheet-header.component';\nimport {\n IdsBackdropTypeType,\n IdsSideSheetPosition, IdsSideSheetPositionType,\n IdsSideSheetType,\n IdsSideSheetTypeType,\n IdsSideSheetHeader } from './types/side-sheet.type';\n\nimport { trigger, transition, style, animate } from '@angular/animations';\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n computed,\n input,\n output,\n} from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\nconst defaultConfig = IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-side-sheet',\n standalone: true,\n templateUrl: './side-sheet.component.html',\n animations: [\n trigger('slideInOut', [\n transition('void => left', [\n style({ transform: 'translateX(-100%)' }),\n animate('300ms ease-out', style({ transform: 'translateX(0)' })),\n ]),\n transition('left => void', [animate('300ms ease-in', style({ transform: 'translateX(-100%)' }))]),\n transition('void => right', [\n style({ transform: 'translateX(100%)' }),\n animate('300ms ease-out', style({ transform: 'translateX(0)' })),\n ]),\n transition('right => void', [animate('300ms ease-in', style({ transform: 'translateX(100%)' }))]),\n ]),\n ],\n host: {\n '[class.open]': 'open()',\n },\n imports: [\n IdsIconButtonComponent,\n IdsIconComponent,\n NgTemplateOutlet,\n SideSheetHeaderComponent,\n IdsTooltipDirective,\n NgClass,\n A11yModule,\n CdkTrapFocus,\n ],\n})\nexport class IdsSideSheetComponent extends ComponentBaseWithDefaults<IdsSideSheetDefaultConfig> {\n protected override get _hostName(): string {\n return 'side-sheet';\n }\n\n protected _idsSideSheetType = IdsSideSheetType;\n protected _idsSideSheetHeaderType = IdsSideSheetHeader;\n protected _idsSideSheetPositionType = IdsSideSheetPosition;\n public open = input(false);\n public closed = output();\n public backClicked = output();\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SIDE_SHEET_DEFAULT_CONFIG);\n\n public title = input<string>('');\n public type = input<IdsSideSheetTypeType | string>(this._defaultConfig.type);\n public position = input<IdsSideSheetPositionType | string>(this._defaultConfig.position);\n public header = input(this._defaultConfig.header);\n public backButton = input(false);\n public isBackdrop = input(this._defaultConfig.isBackdrop);\n public backdropType = input<IdsBackdropTypeType | string>(this._defaultConfig.backdropType);\n public backdropOpacity = input<IdsSizeType | string>(this._defaultConfig.backdropOpacity);\n public isScrollable = input(this._defaultConfig.isScrollable);\n public isClosable = input(this._defaultConfig.isClosable);\n public isShowHeader = input(this._defaultConfig.isShowHeader);\n public closeTooltipText = input<string>('');\n public size = input<IdsSideSheetTypeType | string>(this._defaultConfig.size);\n\n protected _close(): void {\n this.closed.emit();\n }\n\n protected _onBack(): void {\n this.backClicked.emit();\n }\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.type(),\n this.size(),\n [\n `${this.position()}`,\n this.size(),\n ],\n [\n `${this.position()}-opacity`,\n this.backdropOpacity(),\n ],\n this.backdropType(),\n ]));\n\n}\n","<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\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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"}
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-side-sheet.mjs","sources":["../../../projects/widgets/side-sheet/types/side-sheet.type.ts","../../../projects/widgets/side-sheet/side-sheet-defaults.ts","../../../projects/widgets/side-sheet/side-sheet-header/side-sheet-header.component.ts","../../../projects/widgets/side-sheet/side-sheet-header/side-sheet-header.component.html","../../../projects/widgets/side-sheet/side-sheet.component.ts","../../../projects/widgets/side-sheet/side-sheet.component.html","../../../projects/widgets/side-sheet/i-cell-ids-angular-side-sheet.ts"],"sourcesContent":["export const IdsSideSheetType = {\n OVERLAY: 'overlay',\n INLINE: 'inline',\n} as const;\n\nexport type IdsSideSheetTypeType = (typeof IdsSideSheetType)[keyof typeof IdsSideSheetType];\n\nexport const IdsSideSheetPosition = {\n LEFT: 'left',\n RIGHT: 'right',\n} as const;\n\nexport type IdsSideSheetPositionType = (typeof IdsSideSheetPosition)[keyof typeof IdsSideSheetPosition];\n\nexport const IdsSideSheetHeader = {\n DEFAULT: 'default',\n CUSTOM: 'custom',\n} as const;\n\nexport const IdsBackdropType = {\n DEFAULT: 'default',\n TRANSPARENT: 'transparent',\n} as const;\n\nexport type IdsBackdropTypeType = (typeof IdsBackdropType)[keyof typeof IdsBackdropType];\n\nexport type IdsSideSheetHeaderType = (typeof IdsSideSheetHeader)[keyof typeof IdsSideSheetHeader];\n","import {\n IdsBackdropType,\n IdsBackdropTypeType,\n IdsSideSheetHeader,\n IdsSideSheetHeaderType, IdsSideSheetPosition,\n IdsSideSheetPositionType, IdsSideSheetType,\n IdsSideSheetTypeType,\n} from './types/side-sheet.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsSideSheetDefaultConfig {\n type: IdsSideSheetTypeType\n position: IdsSideSheetPositionType\n header: IdsSideSheetHeaderType\n isScrollable: boolean\n isBackdrop: boolean\n backdropType: IdsBackdropTypeType\n backdropOpacity: IdsSizeType\n isClosable: boolean\n isShowFooter: boolean\n isShowHeader: boolean\n isStatic: boolean\n closeTooltipText: string\n size: IdsSizeType\n}\n\nexport const IDS_SIDE_SHEET_DEFAULT_CONFIG = new InjectionToken<IdsSideSheetDefaultConfig>(\n 'IDS_SIDE_SHEET_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY(): Required<IdsSideSheetDefaultConfig> {\n return {\n type: IdsSideSheetType.INLINE,\n position: IdsSideSheetPosition.LEFT,\n header: IdsSideSheetHeader.DEFAULT,\n isScrollable: false,\n isBackdrop: true,\n backdropType: IdsBackdropType.DEFAULT,\n backdropOpacity: IdsSize.COMPACT,\n isClosable: true,\n isShowFooter: true,\n isShowHeader: true,\n isStatic: false,\n closeTooltipText: '',\n size: IdsSize.COMPACT,\n };\n};\n","import { IdsSideSheetHeader } from '../types/side-sheet.type';\n\nimport { Component, input, output } from '@angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\n@Component({\n selector: 'app-side-sheet-header',\n standalone: true,\n templateUrl: './side-sheet-header.component.html',\n imports: [\n IdsIconComponent,\n IdsIconButtonComponent,\n IdsTooltipDirective,\n ],\n})\nexport class SideSheetHeaderComponent {\n protected _idsSideSheetHeaderType = IdsSideSheetHeader;\n public closed = output();\n public backClicked = output();\n\n public title = input<string>();\n public header = input();\n public backButton = input();\n public isClosable = input();\n public isShowHeader = input<boolean>(false);\n public closeTooltipText = input<string>('');\n\n protected _onClose(): void {\n this.closed.emit();\n }\n\n protected _onBack(): void {\n this.backClicked.emit();\n }\n\n}\n","@if (header() === _idsSideSheetHeaderType.DEFAULT && isShowHeader()) {\n <div class=\"ids-side-sheet__header-left-content\">\n @if (backButton()) {\n <button class=\"back-btn\" type=\"button\" idsIconButton variant=\"surface\" appearance=\"standard\" (click)=\"_onBack()\">\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"arrow-left\" />\n </button>\n }\n <h2 id=\"side-sheet-title\" class=\"ids-side-sheet__title\">{{ title() }}</h2>\n </div>\n @if (isClosable()) {\n <button\n class=\"ids-side-sheet__header-close-btn\"\n type=\"button\"\n idsIconButton\n variant=\"surface\"\n appearance=\"standard\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_onClose()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n}\n\n@else if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-content/>\n}\n","import {\n IDS_SIDE_SHEET_DEFAULT_CONFIG,\n IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY,\n IdsSideSheetDefaultConfig,\n} from './side-sheet-defaults';\nimport { SideSheetHeaderComponent } from './side-sheet-header/side-sheet-header.component';\nimport {\n IdsBackdropTypeType,\n IdsSideSheetPosition, IdsSideSheetPositionType,\n IdsSideSheetType,\n IdsSideSheetTypeType,\n IdsSideSheetHeader } from './types/side-sheet.type';\n\nimport { trigger, transition, style, animate } from '@angular/animations';\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n computed,\n input,\n output,\n} from '@angular/core';\nimport { ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\nimport { IdsTooltipDirective } from '@i-cell/ids-angular/tooltip';\n\nconst defaultConfig = IDS_SIDE_SHEET_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-side-sheet',\n standalone: true,\n templateUrl: './side-sheet.component.html',\n animations: [\n trigger('slideInOut', [\n transition('void => left', [\n style({ transform: 'translateX(-100%)' }),\n animate('300ms ease-out', style({ transform: 'translateX(0)' })),\n ]),\n transition('left => void', [animate('300ms ease-in', style({ transform: 'translateX(-100%)' }))]),\n transition('void => right', [\n style({ transform: 'translateX(100%)' }),\n animate('300ms ease-out', style({ transform: 'translateX(0)' })),\n ]),\n transition('right => void', [animate('300ms ease-in', style({ transform: 'translateX(100%)' }))]),\n ]),\n ],\n host: {\n '[class.open]': 'open()',\n },\n imports: [\n IdsIconButtonComponent,\n IdsIconComponent,\n NgTemplateOutlet,\n SideSheetHeaderComponent,\n IdsTooltipDirective,\n NgClass,\n A11yModule,\n CdkTrapFocus,\n ],\n})\nexport class IdsSideSheetComponent extends ComponentBaseWithDefaults<IdsSideSheetDefaultConfig> {\n protected override get _hostName(): string {\n return 'side-sheet';\n }\n\n protected _idsSideSheetType = IdsSideSheetType;\n protected _idsSideSheetHeaderType = IdsSideSheetHeader;\n protected _idsSideSheetPositionType = IdsSideSheetPosition;\n public open = input(false);\n public closed = output();\n public backClicked = output();\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SIDE_SHEET_DEFAULT_CONFIG);\n\n public title = input<string>('');\n public type = input<IdsSideSheetTypeType | string>(this._defaultConfig.type);\n public position = input<IdsSideSheetPositionType | string>(this._defaultConfig.position);\n public header = input(this._defaultConfig.header);\n public backButton = input(false);\n public isBackdrop = input(this._defaultConfig.isBackdrop);\n public backdropType = input<IdsBackdropTypeType | string>(this._defaultConfig.backdropType);\n public backdropOpacity = input<IdsSizeType | string>(this._defaultConfig.backdropOpacity);\n public isScrollable = input(this._defaultConfig.isScrollable);\n public isClosable = input(this._defaultConfig.isClosable);\n public isShowHeader = input(this._defaultConfig.isShowHeader);\n public closeTooltipText = input<string>('');\n public size = input<IdsSideSheetTypeType | string>(this._defaultConfig.size);\n\n protected _close(): void {\n this.closed.emit();\n }\n\n protected _onBack(): void {\n this.backClicked.emit();\n }\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.type(),\n this.size(),\n [\n `${this.position()}`,\n this.size(),\n ],\n [\n `${this.position()}-opacity`,\n this.backdropOpacity(),\n ],\n this.backdropType(),\n ]));\n\n}\n","<ng-template #content>\n <ng-content/>\n</ng-template>\n\n<ng-template #customHeader>\n <ng-content select=\"[slot='customHeader']\"/>\n</ng-template>\n\n<ng-template #footer>\n <ng-content select=\"[slot='footer']\"/>\n</ng-template>\n\n@if (open() && type() === _idsSideSheetType.OVERLAY) {\n @if(isBackdrop()) {\n <div class=\"ids-side-sheet__backdrop\" (click)=\"_close()\"></div>\n }\n <div\n class=\"ids-side-sheet__container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"side-sheet-title\"\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\" idsIconButton\n [variant]=\"'surface'\" [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\n </div>\n </div>\n}\n@if (open() && type() === _idsSideSheetType.INLINE) {\n <div\n class=\"ids-side-sheet__container--inline\"\n role=\"region\"\n aria-labelledby=\"side-sheet-title\"\n cdkTrapFocus\n [class.right]=\"position() === _idsSideSheetPositionType.RIGHT\"\n [@slideInOut]=\"position()\">\n @if(isClosable() && header() === _idsSideSheetHeaderType.CUSTOM) {\n <div class=\"ids-side-sheet__header-custom-top-row\">\n\n <button\n class=\"ids-side-sheet__close-btn\"\n type=\"button\"\n idsIconButton\n [variant]=\"'surface'\"\n [appearance]=\"'standard'\"\n [idsTooltip]=\"closeTooltipText()\"\n [idsTooltipIgnoreClipped]=\"true\"\n (click)=\"_close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n </div>\n }\n\n <app-side-sheet-header\n [ngClass]=\"{\n 'ids-side-sheet__header--custom': header() === _idsSideSheetHeaderType.CUSTOM,\n 'ids-side-sheet__header--default': header() !== _idsSideSheetHeaderType.CUSTOM\n }\"\n [header]=\"header()\"\n [isShowHeader]=\"isShowHeader()\"\n [title]=\"title()\"\n [backButton]=\"backButton()\"\n [isClosable]=\"isClosable()\"\n [closeTooltipText]=\"closeTooltipText()\"\n (closed)=\"_close()\"\n (backClicked)=\"_onBack()\"\n >\n @if (header() === _idsSideSheetHeaderType.CUSTOM) {\n <ng-container *ngTemplateOutlet=\"customHeader\"/>\n }\n </app-side-sheet-header>\n <div class=\"ids-side-sheet__content\" [ngClass]=\"{ 'ids-side-sheet__content--scrollable': isScrollable() }\">\n <ng-container *ngTemplateOutlet=\"content\"/>\n </div>\n <div class=\"ids-side-sheet__footer\">\n <ng-container *ngTemplateOutlet=\"footer\"/>\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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"}
|
|
@@ -160,7 +160,7 @@ class IdsSnackbarComponent extends ComponentBase {
|
|
|
160
160
|
clearTimeout(this._timer);
|
|
161
161
|
}
|
|
162
162
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSnackbarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
163
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsSnackbarComponent, isStandalone: true, selector: "ids-snackbar", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, allowDismiss: { classPropertyName: "allowDismiss", publicName: "allowDismiss", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, autoClose: { classPropertyName: "autoClose", publicName: "autoClose", isSignal: true, isRequired: false, transformFunction: null }, urgent: { classPropertyName: "urgent", publicName: "urgent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { listeners: { "mouseenter": "_onMouseEnter()", "mouseleave": "_onMouseLeave()" }, properties: { "role": "_role()" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ids-snackbar__content-wrapper\" cdkTrapFocus cdkTrapFocusAutoCapture=\"true\">\n @let safeIcon = _safeIcon();\n @if (safeIcon) {\n <div class=\"ids-snackbar__leading-element\">\n <ids-icon [fontIcon]=\"safeIcon\" />\n </div>\n }\n\n <div class=\"ids-snackbar__message-action-container\">\n <div class=\"ids-snackbar__message\">{{ message() }}</div>\n <div class=\"ids-snackbar__action\">\n @for (action of actions(); track $index) {\n <button\n type=\"button\"\n idsButton\n [size]=\"_size.COMPACT\"\n [appearance]=\"_buttonAppearance.OUTLINED\"\n [variant]=\"_buttonVariant()\"\n (click)=\"callAction(action.action)\"\n >\n {{ action.label }}\n </button>\n }\n @let safeCloseButtonLabel = allowDismiss() && closeButtonLabel();\n @if (safeCloseButtonLabel) {\n <button\n type=\"button\"\n role=\"button\"\n aria-label=\"Close notification\"\n idsButton\n [size]=\"_size.COMPACT\"\n [appearance]=\"_buttonAppearance.OUTLINED\"\n [variant]=\"_buttonVariant()\"\n (click)=\"close()\"\n >\n {{ safeCloseButtonLabel }}\n </button>\n }\n </div>\n </div>\n\n @if (allowDismiss() && !closeButtonLabel()) {\n <button\n type=\"button\"\n role=\"button\"\n aria-label=\"Close notification\"\n idsIconButton\n [size]=\"_size.COMPACT\"\n [appearance]=\"_iconButtonAppearance.STANDARD\"\n [variant]=\"_buttonVariant()\"\n (click)=\"close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n</div>\n", dependencies: [{ kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "component", type: IdsButtonComponent, selector: "button[idsButton], a[idsButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
163
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: IdsSnackbarComponent, isStandalone: true, selector: "ids-snackbar", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, allowDismiss: { classPropertyName: "allowDismiss", publicName: "allowDismiss", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, autoClose: { classPropertyName: "autoClose", publicName: "autoClose", isSignal: true, isRequired: false, transformFunction: null }, urgent: { classPropertyName: "urgent", publicName: "urgent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { listeners: { "mouseenter": "_onMouseEnter()", "mouseleave": "_onMouseLeave()" }, properties: { "role": "_role()" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ids-snackbar__content-wrapper\" cdkTrapFocus cdkTrapFocusAutoCapture=\"true\">\n @let safeIcon = _safeIcon();\n @if (safeIcon) {\n <div class=\"ids-snackbar__leading-element\">\n <ids-icon [fontIcon]=\"safeIcon\" />\n </div>\n }\n\n <div class=\"ids-snackbar__message-action-container\">\n <div class=\"ids-snackbar__message\">{{ message() }}</div>\n <div class=\"ids-snackbar__action\">\n @for (action of actions(); track $index) {\n <button\n type=\"button\"\n idsButton\n [size]=\"_size.COMPACT\"\n [appearance]=\"_buttonAppearance.OUTLINED\"\n [variant]=\"_buttonVariant()\"\n (click)=\"callAction(action.action)\"\n >\n {{ action.label }}\n </button>\n }\n @let safeCloseButtonLabel = allowDismiss() && closeButtonLabel();\n @if (safeCloseButtonLabel) {\n <button\n type=\"button\"\n role=\"button\"\n aria-label=\"Close notification\"\n idsButton\n [size]=\"_size.COMPACT\"\n [appearance]=\"_buttonAppearance.OUTLINED\"\n [variant]=\"_buttonVariant()\"\n (click)=\"close()\"\n >\n {{ safeCloseButtonLabel }}\n </button>\n }\n </div>\n </div>\n\n @if (allowDismiss() && !closeButtonLabel()) {\n <button\n type=\"button\"\n role=\"button\"\n aria-label=\"Close notification\"\n idsIconButton\n [size]=\"_size.COMPACT\"\n [appearance]=\"_iconButtonAppearance.STANDARD\"\n [variant]=\"_buttonVariant()\"\n (click)=\"close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n</div>\n", dependencies: [{ kind: "component", type: IdsIconButtonComponent, selector: "button[idsIconButton], a[idsIconButton]", inputs: ["appearance", "size", "variant", "disabled", "allowCustomContent"] }, { kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }, { kind: "component", type: IdsButtonComponent, selector: "button[idsButton], a[idsButton]", inputs: ["appearance", "size", "variant", "disabled"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
164
164
|
}
|
|
165
165
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsSnackbarComponent, decorators: [{
|
|
166
166
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-snackbar.mjs","sources":["../../../projects/widgets/snackbar/types/snackbar-position.type.ts","../../../projects/widgets/snackbar/types/snackbar-variant.type.ts","../../../projects/widgets/snackbar/snackbar-defaults.ts","../../../projects/widgets/snackbar/animations.ts","../../../projects/widgets/snackbar/snackbar.component.ts","../../../projects/widgets/snackbar/snackbar.component.html","../../../projects/widgets/snackbar/snackbar-group.component.ts","../../../projects/widgets/snackbar/snackbar-group.component.html","../../../projects/widgets/snackbar/snackbar-position-strategies.ts","../../../projects/widgets/snackbar/services/snackbar.service.ts","../../../projects/widgets/snackbar/i-cell-ids-angular-snackbar.ts"],"sourcesContent":["export const IdsSnackbarPosition = {\n BOTTOM_CENTER: 'bottom-center',\n BOTTOM_LEFT: 'bottom-left',\n BOTTOM_RIGHT: 'bottom-right',\n TOP_CENTER: 'top-center',\n TOP_LEFT: 'top-left',\n TOP_RIGHT: 'top-right',\n} as const;\n\nexport type IdsSnackbarPositionType = (typeof IdsSnackbarPosition)[keyof typeof IdsSnackbarPosition];\n","export const IdsSnackbarVariant = {\n DARK: 'dark',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n} as const;\n\nexport type IdsSnackbarVariantType = (typeof IdsSnackbarVariant)[keyof typeof IdsSnackbarVariant];\n","import { IdsSnackbarPosition, IdsSnackbarPositionType } from './types/snackbar-position.type';\nimport { IdsSnackbarVariant, IdsSnackbarVariantType } from './types/snackbar-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport const READ_SPEED_PER_CHAR = 50;\nexport const MIN_DURATION = 2_000;\nexport const READ_SPEED_PER_ACTION = 2_000;\n\nexport interface IdsSnackbarDefaultConfig {\n size?: IdsSizeType\n variant?: IdsSnackbarVariantType\n position?: IdsSnackbarPositionType\n newestAtStartPosition?: boolean\n viewportMargin?: number\n}\n\nexport const IDS_SNACKBAR_DEFAULT_CONFIG = new InjectionToken<IdsSnackbarDefaultConfig>(\n 'IDS_SNACKBAR_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SNACKBAR_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SNACKBAR_DEFAULT_CONFIG_FACTORY(): (Required<IdsSnackbarDefaultConfig>) {\n return {\n size: IdsSize.COMFORTABLE,\n variant: IdsSnackbarVariant.DARK,\n position: IdsSnackbarPosition.BOTTOM_CENTER,\n newestAtStartPosition: false,\n viewportMargin: 16,\n };\n}\n","import { animate, AnimationTriggerMetadata, style, transition, trigger } from '@angular/animations';\n\nexport const snackbarAnimation: AnimationTriggerMetadata = trigger('snackbarAnimation', [\n transition(':enter', [\n style({\n opacity: 0,\n transform: 'translate({{ translateX }}px, {{ translateY }}px)',\n height: '{{ height }}',\n }),\n animate(\n '0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n style({\n opacity: 1,\n transform: 'translate(0px, 0px)',\n height: '*',\n })),\n ], {\n params: {\n translateY: 0,\n translateX: 0,\n height: '0',\n },\n }),\n transition(':leave', [\n animate('1s ease-out', style({\n opacity: '0',\n transform: 'translate({{ translateX }}px, {{ translateY }}px)',\n height: '{{ height }}',\n })),\n ], {\n params: {\n translateY: 0,\n translateX: 0,\n height: '0',\n },\n }),\n]);\n","import { MIN_DURATION, READ_SPEED_PER_ACTION, READ_SPEED_PER_CHAR } from './snackbar-defaults';\nimport { IdsSnackbarAction } from './types/snackbar-data.type';\nimport { IdsSnackbarVariant, IdsSnackbarVariantType } from './types/snackbar-variant.type';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, computed, input, OnDestroy, output, ViewEncapsulation } from '@angular/core';\nimport { IdsButtonAppearance, IdsButtonComponent, IdsButtonVariant } from '@i-cell/ids-angular/button';\nimport { coerceBooleanAttribute, ComponentBase, IdsSize } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonAppearance, IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\n\n@Component({\n selector: 'ids-snackbar',\n imports: [\n IdsIconButtonComponent,\n IdsIconComponent,\n IdsButtonComponent,\n A11yModule,\n ],\n templateUrl: './snackbar.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[role]': '_role()',\n '(mouseenter)': '_onMouseEnter()',\n '(mouseleave)': '_onMouseLeave()',\n },\n})\nexport class IdsSnackbarComponent extends ComponentBase implements AfterViewInit, OnDestroy {\n protected override get _hostName(): string {\n return 'snackbar';\n }\n\n private _timer?: ReturnType<typeof setTimeout>;\n\n protected readonly _size = IdsSize;\n protected readonly _iconButtonAppearance = IdsIconButtonAppearance;\n protected readonly _buttonAppearance = IdsButtonAppearance;\n\n public message = input.required<string>();\n public variant = input<IdsSnackbarVariantType | undefined>();\n public icon = input<string | undefined>();\n public actions = input<IdsSnackbarAction[] | undefined>([]);\n public allowDismiss = input<boolean, boolean | undefined>(false, { transform: coerceBooleanAttribute });\n public closeButtonLabel = input<string | undefined>();\n public autoClose = input<boolean, boolean | undefined>(false, { transform: coerceBooleanAttribute });\n public urgent = input<boolean, boolean | undefined>(false, { transform: coerceBooleanAttribute });\n\n public closed = output<void>();\n\n private _canAutoClose = computed(() => !this.allowDismiss() && this.autoClose());\n private _duration = computed(() => {\n const actionReadDuration = (this.actions()?.length ?? 0) * READ_SPEED_PER_ACTION;\n return Math.max(this.message().length * READ_SPEED_PER_CHAR + actionReadDuration, MIN_DURATION);\n });\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.variant(),\n this.allowDismiss() && !this.closeButtonLabel() ? 'width-close-x-button' : null,\n ]));\n\n private _role = computed(() => (this.urgent() ? 'alert' : 'status'));\n protected _buttonVariant = computed(() =>\n (this.variant() === IdsSnackbarVariant.DARK ? IdsButtonVariant.LIGHT : IdsButtonVariant.SURFACE));\n\n private _defaultIcon = computed<string | null>(() => {\n switch (this.variant()) {\n case IdsSnackbarVariant.DARK:\n return null;\n case IdsSnackbarVariant.INFO:\n return 'exclamation-circle';\n case IdsSnackbarVariant.SUCCESS:\n return 'check-circle';\n case IdsSnackbarVariant.WARNING:\n return 'exclamation-triangle';\n case IdsSnackbarVariant.ERROR:\n return 'exclamation-circle';\n\n default:\n return null;\n }\n });\n\n protected _safeIcon = computed(() => this.icon() ?? this._defaultIcon());\n\n private _onMouseEnter(): void {\n this._stopTimer();\n }\n\n private _onMouseLeave(): void {\n this._startTimer();\n }\n\n private _startTimer(): void {\n if (this._canAutoClose()) {\n this._timer = setTimeout(() => {\n this.close();\n }, this._duration());\n }\n }\n\n private _stopTimer(): void {\n if (this._canAutoClose()) {\n clearTimeout(this._timer);\n }\n }\n\n public ngAfterViewInit(): void {\n this._startTimer();\n }\n\n public close(): void {\n this._stopTimer();\n this.closed.emit();\n }\n\n public callAction(action: () => void): void {\n action();\n this.close();\n }\n\n public ngOnDestroy(): void {\n clearTimeout(this._timer);\n }\n}\n","<div class=\"ids-snackbar__content-wrapper\" cdkTrapFocus cdkTrapFocusAutoCapture=\"true\">\n @let safeIcon = _safeIcon();\n @if (safeIcon) {\n <div class=\"ids-snackbar__leading-element\">\n <ids-icon [fontIcon]=\"safeIcon\" />\n </div>\n }\n\n <div class=\"ids-snackbar__message-action-container\">\n <div class=\"ids-snackbar__message\">{{ message() }}</div>\n <div class=\"ids-snackbar__action\">\n @for (action of actions(); track $index) {\n <button\n type=\"button\"\n idsButton\n [size]=\"_size.COMPACT\"\n [appearance]=\"_buttonAppearance.OUTLINED\"\n [variant]=\"_buttonVariant()\"\n (click)=\"callAction(action.action)\"\n >\n {{ action.label }}\n </button>\n }\n @let safeCloseButtonLabel = allowDismiss() && closeButtonLabel();\n @if (safeCloseButtonLabel) {\n <button\n type=\"button\"\n role=\"button\"\n aria-label=\"Close notification\"\n idsButton\n [size]=\"_size.COMPACT\"\n [appearance]=\"_buttonAppearance.OUTLINED\"\n [variant]=\"_buttonVariant()\"\n (click)=\"close()\"\n >\n {{ safeCloseButtonLabel }}\n </button>\n }\n </div>\n </div>\n\n @if (allowDismiss() && !closeButtonLabel()) {\n <button\n type=\"button\"\n role=\"button\"\n aria-label=\"Close notification\"\n idsIconButton\n [size]=\"_size.COMPACT\"\n [appearance]=\"_iconButtonAppearance.STANDARD\"\n [variant]=\"_buttonVariant()\"\n (click)=\"close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n</div>\n","import { snackbarAnimation } from './animations';\nimport { IdsSnackbarService } from './services/snackbar.service';\nimport { IDS_SNACKBAR_DEFAULT_CONFIG, IDS_SNACKBAR_DEFAULT_CONFIG_FACTORY, IdsSnackbarDefaultConfig } from './snackbar-defaults';\nimport { IdsSnackbarComponent } from './snackbar.component';\nimport { IdsSnackbarInnerData } from './types/snackbar-inner-data.type';\nimport { IdsSnackbarPosition, IdsSnackbarPositionType } from './types/snackbar-position.type';\n\nimport { ChangeDetectionStrategy, Component, computed, inject, signal, Signal, ViewEncapsulation } from '@angular/core';\nimport { ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_SNACKBAR_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-snackbar-group',\n imports: [IdsSnackbarComponent],\n templateUrl: './snackbar-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [snackbarAnimation],\n})\nexport class IdsSnackbarGroupComponent extends ComponentBaseWithDefaults<IdsSnackbarDefaultConfig> {\n protected override get _hostName(): string {\n return 'snackbar-group';\n }\n\n private readonly _snackbarService = inject(IdsSnackbarService);\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SNACKBAR_DEFAULT_CONFIG);\n\n public position = signal<IdsSnackbarPositionType>(this._defaultConfig.position);\n public snackbars: Signal<IdsSnackbarInnerData[]> = this._snackbarService.snackbars;\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this._defaultConfig.size,\n [\n 'position',\n this.position(),\n ],\n this._defaultConfig.newestAtStartPosition ? 'newest-at-start' : null,\n ]));\n\n protected _animationParams = computed<{ translateY: number, translateX: number, height: string }>(() => {\n switch (this.position()) {\n case IdsSnackbarPosition.BOTTOM_CENTER:\n return {\n translateY: 100,\n translateX: 0,\n height: '0',\n };\n case IdsSnackbarPosition.TOP_CENTER:\n return {\n translateY: -100,\n translateX: 0,\n height: '0',\n };\n case IdsSnackbarPosition.TOP_LEFT:\n case IdsSnackbarPosition.BOTTOM_LEFT:\n return {\n translateY: 0,\n translateX: -100,\n height: '*',\n };\n case IdsSnackbarPosition.TOP_RIGHT:\n case IdsSnackbarPosition.BOTTOM_RIGHT:\n return {\n translateY: 0,\n translateX: 100,\n height: '*',\n };\n }\n });\n\n public closeSnackbar(id: number): void {\n this._snackbarService.remove(id);\n }\n\n protected _onAnimateStart(): void {\n this._updatePosition();\n }\n\n protected _onAnimateDone(): void {\n this._updatePosition();\n if (this._snackbarService.snackbars().length === 0) {\n this._snackbarService.clear();\n }\n }\n\n protected _updatePosition(): void {\n this._snackbarService.update();\n }\n}\n","@for (snackbar of snackbars(); track snackbar.id) {\n <ids-snackbar\n [@snackbarAnimation]=\"{\n value: 'open',\n params: _animationParams(),\n }\"\n [message]=\"snackbar.message\"\n [variant]=\"snackbar.variant\"\n [icon]=\"snackbar.icon\"\n [actions]=\"snackbar.actions\"\n [allowDismiss]=\"snackbar.allowDismiss\"\n [closeButtonLabel]=\"snackbar.closeButtonLabel\"\n [autoClose]=\"snackbar.autoClose\"\n [urgent]=\"snackbar.urgent\"\n (@snackbarAnimation.start)=\"_onAnimateStart()\"\n (@snackbarAnimation.done)=\"_onAnimateDone()\"\n (closed)=\"closeSnackbar(snackbar.id)\"\n />\n}\n","import { IdsSnackbarPosition, IdsSnackbarPositionType } from './types/snackbar-position.type';\n\nimport { FlexibleConnectedPositionStrategy, GlobalPositionStrategy } from '@angular/cdk/overlay';\n\nexport function getSnackbarFlexibleConnectedPositionStrategy(\n connectedTo: FlexibleConnectedPositionStrategy,\n snackbarPosition: IdsSnackbarPositionType,\n margin: number,\n): FlexibleConnectedPositionStrategy {\n switch (snackbarPosition) {\n case IdsSnackbarPosition.BOTTOM_CENTER:\n return connectedTo.withPositions([\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: 0 - margin,\n },\n ]);\n case IdsSnackbarPosition.TOP_CENTER:\n return connectedTo.withPositions([\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: margin,\n },\n ]);\n case IdsSnackbarPosition.TOP_LEFT:\n return connectedTo.withPositions([\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: margin,\n offsetY: margin,\n },\n ]);\n case IdsSnackbarPosition.TOP_RIGHT:\n return connectedTo.withPositions([\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: 0 - margin,\n offsetY: margin,\n },\n ]);\n case IdsSnackbarPosition.BOTTOM_LEFT:\n return connectedTo.withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: margin,\n offsetY: 0 - margin,\n },\n ]);\n case IdsSnackbarPosition.BOTTOM_RIGHT:\n return connectedTo.withPositions([\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: 0 - margin,\n offsetY: 0 - margin,\n },\n ]);\n }\n}\n\nexport function getSnackbarGlobalPositionStrategy(\n globalPosition: GlobalPositionStrategy,\n position: IdsSnackbarPositionType,\n margin = 0,\n): GlobalPositionStrategy {\n const marginPx = `${margin}px`;\n switch (position) {\n case IdsSnackbarPosition.BOTTOM_CENTER:\n return globalPosition.bottom(marginPx).centerHorizontally();\n case IdsSnackbarPosition.TOP_CENTER:\n return globalPosition.top(marginPx).centerHorizontally();\n case IdsSnackbarPosition.TOP_LEFT:\n return globalPosition.top(marginPx).left(marginPx);\n case IdsSnackbarPosition.TOP_RIGHT:\n return globalPosition.top(marginPx).right(marginPx);\n case IdsSnackbarPosition.BOTTOM_LEFT:\n return globalPosition.bottom(marginPx).left(marginPx);\n case IdsSnackbarPosition.BOTTOM_RIGHT:\n return globalPosition.bottom(marginPx).right(marginPx);\n }\n}\n","import { IDS_SNACKBAR_DEFAULT_CONFIG, IDS_SNACKBAR_DEFAULT_CONFIG_FACTORY } from '../snackbar-defaults';\nimport { IdsSnackbarGroupComponent } from '../snackbar-group.component';\nimport { getSnackbarFlexibleConnectedPositionStrategy, getSnackbarGlobalPositionStrategy } from '../snackbar-position-strategies';\nimport { IdsSnackbarData } from '../types/snackbar-data.type';\nimport { IdsSnackbarInnerData } from '../types/snackbar-inner-data.type';\n\nimport { Overlay, OverlayConfig, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { inject, Injectable, signal, ViewContainerRef } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs';\n\nconst defaultConfig = IDS_SNACKBAR_DEFAULT_CONFIG_FACTORY();\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdsSnackbarService {\n private readonly _router = inject(Router);\n private readonly _overlay = inject(Overlay);\n private readonly _defaultConfig = {\n ...defaultConfig,\n ...inject(IDS_SNACKBAR_DEFAULT_CONFIG, { optional: true }),\n };\n\n private _overlayRef?: OverlayRef;\n private _snackbarGroupPortal = new ComponentPortal(IdsSnackbarGroupComponent, null);\n private _viewContainerRef?: ViewContainerRef;\n private _snackbarNextUniqueId = 0;\n private _snackbars = signal<IdsSnackbarInnerData[]>([]);\n\n public snackbars = this._snackbars.asReadonly();\n\n constructor() {\n this._router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {\n this.clear();\n });\n }\n\n private _attachGroup(): void {\n if (!this._overlayRef?.hasAttached()) {\n this._overlayRef = this._createOverlay();\n this._overlayRef.attach(this._snackbarGroupPortal);\n }\n }\n\n private _createOverlay(): OverlayRef {\n const overlayConfig = new OverlayConfig({\n positionStrategy: this._getPositionStrategy(),\n hasBackdrop: false,\n scrollStrategy: this._overlay.scrollStrategies.noop(),\n });\n return this._overlay.create(overlayConfig);\n }\n\n private _getPositionStrategy(): PositionStrategy {\n const position = this._overlay.position();\n const margin = this._defaultConfig.viewportMargin;\n if (this._viewContainerRef) {\n const connectedTo = position\n .flexibleConnectedTo(this._viewContainerRef.element);\n return getSnackbarFlexibleConnectedPositionStrategy(connectedTo, this._defaultConfig.position, margin);\n } else {\n const globalPosition = position.global();\n return getSnackbarGlobalPositionStrategy(globalPosition, this._defaultConfig.position, margin);\n }\n }\n\n private _detachGroup(): void {\n this._overlayRef?.detach();\n this._overlayRef?.dispose();\n }\n\n public add(snackbar: IdsSnackbarData): void {\n if (this.snackbars().length === 0) {\n this._attachGroup();\n }\n this._snackbars.update((snackbars) => {\n const id = ++this._snackbarNextUniqueId;\n return [\n ...snackbars,\n {\n id,\n ...snackbar,\n },\n ];\n });\n }\n\n public remove(id: number): void {\n this._snackbars.update((snackbars) => {\n const index = snackbars.findIndex((snackbar) => snackbar.id === id);\n if (index !== -1) {\n const restSnackbars = [...snackbars];\n restSnackbars.splice(index, 1);\n return restSnackbars;\n }\n return snackbars;\n });\n }\n\n public clear(): void {\n this._snackbars.set([]);\n this._detachGroup();\n }\n\n public setViewContainerRef(viewContainerRef: ViewContainerRef): void {\n this._viewContainerRef = viewContainerRef;\n }\n\n public clearViewContainerRef(): void {\n this._viewContainerRef = undefined;\n }\n\n public update(): void {\n this._overlayRef?.updatePosition();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defaultConfig"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-snackbar.mjs","sources":["../../../projects/widgets/snackbar/types/snackbar-position.type.ts","../../../projects/widgets/snackbar/types/snackbar-variant.type.ts","../../../projects/widgets/snackbar/snackbar-defaults.ts","../../../projects/widgets/snackbar/animations.ts","../../../projects/widgets/snackbar/snackbar.component.ts","../../../projects/widgets/snackbar/snackbar.component.html","../../../projects/widgets/snackbar/snackbar-group.component.ts","../../../projects/widgets/snackbar/snackbar-group.component.html","../../../projects/widgets/snackbar/snackbar-position-strategies.ts","../../../projects/widgets/snackbar/services/snackbar.service.ts","../../../projects/widgets/snackbar/i-cell-ids-angular-snackbar.ts"],"sourcesContent":["export const IdsSnackbarPosition = {\n BOTTOM_CENTER: 'bottom-center',\n BOTTOM_LEFT: 'bottom-left',\n BOTTOM_RIGHT: 'bottom-right',\n TOP_CENTER: 'top-center',\n TOP_LEFT: 'top-left',\n TOP_RIGHT: 'top-right',\n} as const;\n\nexport type IdsSnackbarPositionType = (typeof IdsSnackbarPosition)[keyof typeof IdsSnackbarPosition];\n","export const IdsSnackbarVariant = {\n DARK: 'dark',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n} as const;\n\nexport type IdsSnackbarVariantType = (typeof IdsSnackbarVariant)[keyof typeof IdsSnackbarVariant];\n","import { IdsSnackbarPosition, IdsSnackbarPositionType } from './types/snackbar-position.type';\nimport { IdsSnackbarVariant, IdsSnackbarVariantType } from './types/snackbar-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport const READ_SPEED_PER_CHAR = 50;\nexport const MIN_DURATION = 2_000;\nexport const READ_SPEED_PER_ACTION = 2_000;\n\nexport interface IdsSnackbarDefaultConfig {\n size?: IdsSizeType\n variant?: IdsSnackbarVariantType\n position?: IdsSnackbarPositionType\n newestAtStartPosition?: boolean\n viewportMargin?: number\n}\n\nexport const IDS_SNACKBAR_DEFAULT_CONFIG = new InjectionToken<IdsSnackbarDefaultConfig>(\n 'IDS_SNACKBAR_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_SNACKBAR_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_SNACKBAR_DEFAULT_CONFIG_FACTORY(): (Required<IdsSnackbarDefaultConfig>) {\n return {\n size: IdsSize.COMFORTABLE,\n variant: IdsSnackbarVariant.DARK,\n position: IdsSnackbarPosition.BOTTOM_CENTER,\n newestAtStartPosition: false,\n viewportMargin: 16,\n };\n}\n","import { animate, AnimationTriggerMetadata, style, transition, trigger } from '@angular/animations';\n\nexport const snackbarAnimation: AnimationTriggerMetadata = trigger('snackbarAnimation', [\n transition(':enter', [\n style({\n opacity: 0,\n transform: 'translate({{ translateX }}px, {{ translateY }}px)',\n height: '{{ height }}',\n }),\n animate(\n '0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n style({\n opacity: 1,\n transform: 'translate(0px, 0px)',\n height: '*',\n })),\n ], {\n params: {\n translateY: 0,\n translateX: 0,\n height: '0',\n },\n }),\n transition(':leave', [\n animate('1s ease-out', style({\n opacity: '0',\n transform: 'translate({{ translateX }}px, {{ translateY }}px)',\n height: '{{ height }}',\n })),\n ], {\n params: {\n translateY: 0,\n translateX: 0,\n height: '0',\n },\n }),\n]);\n","import { MIN_DURATION, READ_SPEED_PER_ACTION, READ_SPEED_PER_CHAR } from './snackbar-defaults';\nimport { IdsSnackbarAction } from './types/snackbar-data.type';\nimport { IdsSnackbarVariant, IdsSnackbarVariantType } from './types/snackbar-variant.type';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, computed, input, OnDestroy, output, ViewEncapsulation } from '@angular/core';\nimport { IdsButtonAppearance, IdsButtonComponent, IdsButtonVariant } from '@i-cell/ids-angular/button';\nimport { coerceBooleanAttribute, ComponentBase, IdsSize } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IdsIconButtonAppearance, IdsIconButtonComponent } from '@i-cell/ids-angular/icon-button';\n\n@Component({\n selector: 'ids-snackbar',\n imports: [\n IdsIconButtonComponent,\n IdsIconComponent,\n IdsButtonComponent,\n A11yModule,\n ],\n templateUrl: './snackbar.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[role]': '_role()',\n '(mouseenter)': '_onMouseEnter()',\n '(mouseleave)': '_onMouseLeave()',\n },\n})\nexport class IdsSnackbarComponent extends ComponentBase implements AfterViewInit, OnDestroy {\n protected override get _hostName(): string {\n return 'snackbar';\n }\n\n private _timer?: ReturnType<typeof setTimeout>;\n\n protected readonly _size = IdsSize;\n protected readonly _iconButtonAppearance = IdsIconButtonAppearance;\n protected readonly _buttonAppearance = IdsButtonAppearance;\n\n public message = input.required<string>();\n public variant = input<IdsSnackbarVariantType | undefined>();\n public icon = input<string | undefined>();\n public actions = input<IdsSnackbarAction[] | undefined>([]);\n public allowDismiss = input<boolean, boolean | undefined>(false, { transform: coerceBooleanAttribute });\n public closeButtonLabel = input<string | undefined>();\n public autoClose = input<boolean, boolean | undefined>(false, { transform: coerceBooleanAttribute });\n public urgent = input<boolean, boolean | undefined>(false, { transform: coerceBooleanAttribute });\n\n public closed = output<void>();\n\n private _canAutoClose = computed(() => !this.allowDismiss() && this.autoClose());\n private _duration = computed(() => {\n const actionReadDuration = (this.actions()?.length ?? 0) * READ_SPEED_PER_ACTION;\n return Math.max(this.message().length * READ_SPEED_PER_CHAR + actionReadDuration, MIN_DURATION);\n });\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.variant(),\n this.allowDismiss() && !this.closeButtonLabel() ? 'width-close-x-button' : null,\n ]));\n\n private _role = computed(() => (this.urgent() ? 'alert' : 'status'));\n protected _buttonVariant = computed(() =>\n (this.variant() === IdsSnackbarVariant.DARK ? IdsButtonVariant.LIGHT : IdsButtonVariant.SURFACE));\n\n private _defaultIcon = computed<string | null>(() => {\n switch (this.variant()) {\n case IdsSnackbarVariant.DARK:\n return null;\n case IdsSnackbarVariant.INFO:\n return 'exclamation-circle';\n case IdsSnackbarVariant.SUCCESS:\n return 'check-circle';\n case IdsSnackbarVariant.WARNING:\n return 'exclamation-triangle';\n case IdsSnackbarVariant.ERROR:\n return 'exclamation-circle';\n\n default:\n return null;\n }\n });\n\n protected _safeIcon = computed(() => this.icon() ?? this._defaultIcon());\n\n private _onMouseEnter(): void {\n this._stopTimer();\n }\n\n private _onMouseLeave(): void {\n this._startTimer();\n }\n\n private _startTimer(): void {\n if (this._canAutoClose()) {\n this._timer = setTimeout(() => {\n this.close();\n }, this._duration());\n }\n }\n\n private _stopTimer(): void {\n if (this._canAutoClose()) {\n clearTimeout(this._timer);\n }\n }\n\n public ngAfterViewInit(): void {\n this._startTimer();\n }\n\n public close(): void {\n this._stopTimer();\n this.closed.emit();\n }\n\n public callAction(action: () => void): void {\n action();\n this.close();\n }\n\n public ngOnDestroy(): void {\n clearTimeout(this._timer);\n }\n}\n","<div class=\"ids-snackbar__content-wrapper\" cdkTrapFocus cdkTrapFocusAutoCapture=\"true\">\n @let safeIcon = _safeIcon();\n @if (safeIcon) {\n <div class=\"ids-snackbar__leading-element\">\n <ids-icon [fontIcon]=\"safeIcon\" />\n </div>\n }\n\n <div class=\"ids-snackbar__message-action-container\">\n <div class=\"ids-snackbar__message\">{{ message() }}</div>\n <div class=\"ids-snackbar__action\">\n @for (action of actions(); track $index) {\n <button\n type=\"button\"\n idsButton\n [size]=\"_size.COMPACT\"\n [appearance]=\"_buttonAppearance.OUTLINED\"\n [variant]=\"_buttonVariant()\"\n (click)=\"callAction(action.action)\"\n >\n {{ action.label }}\n </button>\n }\n @let safeCloseButtonLabel = allowDismiss() && closeButtonLabel();\n @if (safeCloseButtonLabel) {\n <button\n type=\"button\"\n role=\"button\"\n aria-label=\"Close notification\"\n idsButton\n [size]=\"_size.COMPACT\"\n [appearance]=\"_buttonAppearance.OUTLINED\"\n [variant]=\"_buttonVariant()\"\n (click)=\"close()\"\n >\n {{ safeCloseButtonLabel }}\n </button>\n }\n </div>\n </div>\n\n @if (allowDismiss() && !closeButtonLabel()) {\n <button\n type=\"button\"\n role=\"button\"\n aria-label=\"Close notification\"\n idsIconButton\n [size]=\"_size.COMPACT\"\n [appearance]=\"_iconButtonAppearance.STANDARD\"\n [variant]=\"_buttonVariant()\"\n (click)=\"close()\"\n >\n <ids-icon aria-hidden=\"true\" alt=\"\" fontIcon=\"close\" />\n </button>\n }\n</div>\n","import { snackbarAnimation } from './animations';\nimport { IdsSnackbarService } from './services/snackbar.service';\nimport { IDS_SNACKBAR_DEFAULT_CONFIG, IDS_SNACKBAR_DEFAULT_CONFIG_FACTORY, IdsSnackbarDefaultConfig } from './snackbar-defaults';\nimport { IdsSnackbarComponent } from './snackbar.component';\nimport { IdsSnackbarInnerData } from './types/snackbar-inner-data.type';\nimport { IdsSnackbarPosition, IdsSnackbarPositionType } from './types/snackbar-position.type';\n\nimport { ChangeDetectionStrategy, Component, computed, inject, signal, Signal, ViewEncapsulation } from '@angular/core';\nimport { ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_SNACKBAR_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-snackbar-group',\n imports: [IdsSnackbarComponent],\n templateUrl: './snackbar-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [snackbarAnimation],\n})\nexport class IdsSnackbarGroupComponent extends ComponentBaseWithDefaults<IdsSnackbarDefaultConfig> {\n protected override get _hostName(): string {\n return 'snackbar-group';\n }\n\n private readonly _snackbarService = inject(IdsSnackbarService);\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_SNACKBAR_DEFAULT_CONFIG);\n\n public position = signal<IdsSnackbarPositionType>(this._defaultConfig.position);\n public snackbars: Signal<IdsSnackbarInnerData[]> = this._snackbarService.snackbars;\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this._defaultConfig.size,\n [\n 'position',\n this.position(),\n ],\n this._defaultConfig.newestAtStartPosition ? 'newest-at-start' : null,\n ]));\n\n protected _animationParams = computed<{ translateY: number, translateX: number, height: string }>(() => {\n switch (this.position()) {\n case IdsSnackbarPosition.BOTTOM_CENTER:\n return {\n translateY: 100,\n translateX: 0,\n height: '0',\n };\n case IdsSnackbarPosition.TOP_CENTER:\n return {\n translateY: -100,\n translateX: 0,\n height: '0',\n };\n case IdsSnackbarPosition.TOP_LEFT:\n case IdsSnackbarPosition.BOTTOM_LEFT:\n return {\n translateY: 0,\n translateX: -100,\n height: '*',\n };\n case IdsSnackbarPosition.TOP_RIGHT:\n case IdsSnackbarPosition.BOTTOM_RIGHT:\n return {\n translateY: 0,\n translateX: 100,\n height: '*',\n };\n }\n });\n\n public closeSnackbar(id: number): void {\n this._snackbarService.remove(id);\n }\n\n protected _onAnimateStart(): void {\n this._updatePosition();\n }\n\n protected _onAnimateDone(): void {\n this._updatePosition();\n if (this._snackbarService.snackbars().length === 0) {\n this._snackbarService.clear();\n }\n }\n\n protected _updatePosition(): void {\n this._snackbarService.update();\n }\n}\n","@for (snackbar of snackbars(); track snackbar.id) {\n <ids-snackbar\n [@snackbarAnimation]=\"{\n value: 'open',\n params: _animationParams(),\n }\"\n [message]=\"snackbar.message\"\n [variant]=\"snackbar.variant\"\n [icon]=\"snackbar.icon\"\n [actions]=\"snackbar.actions\"\n [allowDismiss]=\"snackbar.allowDismiss\"\n [closeButtonLabel]=\"snackbar.closeButtonLabel\"\n [autoClose]=\"snackbar.autoClose\"\n [urgent]=\"snackbar.urgent\"\n (@snackbarAnimation.start)=\"_onAnimateStart()\"\n (@snackbarAnimation.done)=\"_onAnimateDone()\"\n (closed)=\"closeSnackbar(snackbar.id)\"\n />\n}\n","import { IdsSnackbarPosition, IdsSnackbarPositionType } from './types/snackbar-position.type';\n\nimport { FlexibleConnectedPositionStrategy, GlobalPositionStrategy } from '@angular/cdk/overlay';\n\nexport function getSnackbarFlexibleConnectedPositionStrategy(\n connectedTo: FlexibleConnectedPositionStrategy,\n snackbarPosition: IdsSnackbarPositionType,\n margin: number,\n): FlexibleConnectedPositionStrategy {\n switch (snackbarPosition) {\n case IdsSnackbarPosition.BOTTOM_CENTER:\n return connectedTo.withPositions([\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: 0 - margin,\n },\n ]);\n case IdsSnackbarPosition.TOP_CENTER:\n return connectedTo.withPositions([\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: margin,\n },\n ]);\n case IdsSnackbarPosition.TOP_LEFT:\n return connectedTo.withPositions([\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: margin,\n offsetY: margin,\n },\n ]);\n case IdsSnackbarPosition.TOP_RIGHT:\n return connectedTo.withPositions([\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: 0 - margin,\n offsetY: margin,\n },\n ]);\n case IdsSnackbarPosition.BOTTOM_LEFT:\n return connectedTo.withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: margin,\n offsetY: 0 - margin,\n },\n ]);\n case IdsSnackbarPosition.BOTTOM_RIGHT:\n return connectedTo.withPositions([\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: 0 - margin,\n offsetY: 0 - margin,\n },\n ]);\n }\n}\n\nexport function getSnackbarGlobalPositionStrategy(\n globalPosition: GlobalPositionStrategy,\n position: IdsSnackbarPositionType,\n margin = 0,\n): GlobalPositionStrategy {\n const marginPx = `${margin}px`;\n switch (position) {\n case IdsSnackbarPosition.BOTTOM_CENTER:\n return globalPosition.bottom(marginPx).centerHorizontally();\n case IdsSnackbarPosition.TOP_CENTER:\n return globalPosition.top(marginPx).centerHorizontally();\n case IdsSnackbarPosition.TOP_LEFT:\n return globalPosition.top(marginPx).left(marginPx);\n case IdsSnackbarPosition.TOP_RIGHT:\n return globalPosition.top(marginPx).right(marginPx);\n case IdsSnackbarPosition.BOTTOM_LEFT:\n return globalPosition.bottom(marginPx).left(marginPx);\n case IdsSnackbarPosition.BOTTOM_RIGHT:\n return globalPosition.bottom(marginPx).right(marginPx);\n }\n}\n","import { IDS_SNACKBAR_DEFAULT_CONFIG, IDS_SNACKBAR_DEFAULT_CONFIG_FACTORY } from '../snackbar-defaults';\nimport { IdsSnackbarGroupComponent } from '../snackbar-group.component';\nimport { getSnackbarFlexibleConnectedPositionStrategy, getSnackbarGlobalPositionStrategy } from '../snackbar-position-strategies';\nimport { IdsSnackbarData } from '../types/snackbar-data.type';\nimport { IdsSnackbarInnerData } from '../types/snackbar-inner-data.type';\n\nimport { Overlay, OverlayConfig, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { inject, Injectable, signal, ViewContainerRef } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs';\n\nconst defaultConfig = IDS_SNACKBAR_DEFAULT_CONFIG_FACTORY();\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdsSnackbarService {\n private readonly _router = inject(Router);\n private readonly _overlay = inject(Overlay);\n private readonly _defaultConfig = {\n ...defaultConfig,\n ...inject(IDS_SNACKBAR_DEFAULT_CONFIG, { optional: true }),\n };\n\n private _overlayRef?: OverlayRef;\n private _snackbarGroupPortal = new ComponentPortal(IdsSnackbarGroupComponent, null);\n private _viewContainerRef?: ViewContainerRef;\n private _snackbarNextUniqueId = 0;\n private _snackbars = signal<IdsSnackbarInnerData[]>([]);\n\n public snackbars = this._snackbars.asReadonly();\n\n constructor() {\n this._router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {\n this.clear();\n });\n }\n\n private _attachGroup(): void {\n if (!this._overlayRef?.hasAttached()) {\n this._overlayRef = this._createOverlay();\n this._overlayRef.attach(this._snackbarGroupPortal);\n }\n }\n\n private _createOverlay(): OverlayRef {\n const overlayConfig = new OverlayConfig({\n positionStrategy: this._getPositionStrategy(),\n hasBackdrop: false,\n scrollStrategy: this._overlay.scrollStrategies.noop(),\n });\n return this._overlay.create(overlayConfig);\n }\n\n private _getPositionStrategy(): PositionStrategy {\n const position = this._overlay.position();\n const margin = this._defaultConfig.viewportMargin;\n if (this._viewContainerRef) {\n const connectedTo = position\n .flexibleConnectedTo(this._viewContainerRef.element);\n return getSnackbarFlexibleConnectedPositionStrategy(connectedTo, this._defaultConfig.position, margin);\n } else {\n const globalPosition = position.global();\n return getSnackbarGlobalPositionStrategy(globalPosition, this._defaultConfig.position, margin);\n }\n }\n\n private _detachGroup(): void {\n this._overlayRef?.detach();\n this._overlayRef?.dispose();\n }\n\n public add(snackbar: IdsSnackbarData): void {\n if (this.snackbars().length === 0) {\n this._attachGroup();\n }\n this._snackbars.update((snackbars) => {\n const id = ++this._snackbarNextUniqueId;\n return [\n ...snackbars,\n {\n id,\n ...snackbar,\n },\n ];\n });\n }\n\n public remove(id: number): void {\n this._snackbars.update((snackbars) => {\n const index = snackbars.findIndex((snackbar) => snackbar.id === id);\n if (index !== -1) {\n const restSnackbars = [...snackbars];\n restSnackbars.splice(index, 1);\n return restSnackbars;\n }\n return snackbars;\n });\n }\n\n public clear(): void {\n this._snackbars.set([]);\n this._detachGroup();\n }\n\n public setViewContainerRef(viewContainerRef: ViewContainerRef): void {\n this._viewContainerRef = viewContainerRef;\n }\n\n public clearViewContainerRef(): void {\n this._viewContainerRef = undefined;\n }\n\n public update(): void {\n this._overlayRef?.updatePosition();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defaultConfig"],"mappings":"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"}
|