@i-cell/ids-angular 0.2.24 → 0.2.25
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/fesm2022/i-cell-ids-angular-accordion.mjs +32 -32
- package/fesm2022/i-cell-ids-angular-accordion.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-avatar.mjs +18 -18
- package/fesm2022/i-cell-ids-angular-avatar.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-badge.mjs +27 -27
- package/fesm2022/i-cell-ids-angular-badge.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-breadcrumb.mjs +45 -45
- package/fesm2022/i-cell-ids-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-button.mjs +19 -19
- package/fesm2022/i-cell-ids-angular-button.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-card.mjs +38 -41
- package/fesm2022/i-cell-ids-angular-card.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-checkbox.mjs +45 -45
- package/fesm2022/i-cell-ids-angular-checkbox.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-chip.mjs +28 -28
- package/fesm2022/i-cell-ids-angular-chip.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-core.mjs +18 -20
- package/fesm2022/i-cell-ids-angular-core.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-datepicker.mjs +74 -74
- package/fesm2022/i-cell-ids-angular-datepicker.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-dialog.mjs +23 -23
- package/fesm2022/i-cell-ids-angular-dialog.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-divider.mjs +12 -12
- package/fesm2022/i-cell-ids-angular-divider.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-forms.mjs +222 -222
- package/fesm2022/i-cell-ids-angular-forms.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-icon-button.mjs +15 -15
- package/fesm2022/i-cell-ids-angular-icon-button.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-icon.mjs +15 -15
- package/fesm2022/i-cell-ids-angular-icon.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-menu.mjs +18 -18
- package/fesm2022/i-cell-ids-angular-menu.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-notification.mjs +26 -26
- package/fesm2022/i-cell-ids-angular-notification.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-overlay-panel.mjs +18 -18
- package/fesm2022/i-cell-ids-angular-overlay-panel.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-paginator.mjs +34 -34
- package/fesm2022/i-cell-ids-angular-paginator.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-radio.mjs +32 -32
- package/fesm2022/i-cell-ids-angular-radio.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs +34 -34
- package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-segmented-control.mjs +34 -34
- package/fesm2022/i-cell-ids-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-select.mjs +29 -29
- package/fesm2022/i-cell-ids-angular-select.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-side-nav.mjs +41 -41
- package/fesm2022/i-cell-ids-angular-side-nav.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-side-sheet.mjs +29 -29
- package/fesm2022/i-cell-ids-angular-side-sheet.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-snackbar.mjs +30 -30
- package/fesm2022/i-cell-ids-angular-snackbar.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-spinner.mjs +10 -10
- package/fesm2022/i-cell-ids-angular-spinner.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-switch.mjs +36 -36
- package/fesm2022/i-cell-ids-angular-switch.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-tab.mjs +140 -30
- package/fesm2022/i-cell-ids-angular-tab.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-table.mjs +94 -94
- package/fesm2022/i-cell-ids-angular-table.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-tag.mjs +20 -20
- package/fesm2022/i-cell-ids-angular-tag.mjs.map +1 -1
- package/fesm2022/i-cell-ids-angular-tooltip.mjs +32 -32
- package/fesm2022/i-cell-ids-angular-tooltip.mjs.map +1 -1
- package/package.json +47 -47
- package/{accordion/index.d.ts → types/i-cell-ids-angular-accordion.d.ts} +1 -1
- package/{avatar/index.d.ts → types/i-cell-ids-angular-avatar.d.ts} +1 -1
- package/{button/index.d.ts → types/i-cell-ids-angular-button.d.ts} +1 -1
- package/{card/index.d.ts → types/i-cell-ids-angular-card.d.ts} +2 -2
- package/{chip/index.d.ts → types/i-cell-ids-angular-chip.d.ts} +5 -5
- package/{core/index.d.ts → types/i-cell-ids-angular-core.d.ts} +2 -2
- package/{datepicker/index.d.ts → types/i-cell-ids-angular-datepicker.d.ts} +1 -1
- package/{divider/index.d.ts → types/i-cell-ids-angular-divider.d.ts} +2 -2
- package/{icon-button/index.d.ts → types/i-cell-ids-angular-icon-button.d.ts} +2 -2
- package/{icon/index.d.ts → types/i-cell-ids-angular-icon.d.ts} +1 -1
- package/{menu/index.d.ts → types/i-cell-ids-angular-menu.d.ts} +1 -1
- package/{notification/index.d.ts → types/i-cell-ids-angular-notification.d.ts} +1 -1
- package/{paginator/index.d.ts → types/i-cell-ids-angular-paginator.d.ts} +1 -1
- package/{radio/index.d.ts → types/i-cell-ids-angular-radio.d.ts} +1 -1
- package/{segmented-control-toggle/index.d.ts → types/i-cell-ids-angular-segmented-control-toggle.d.ts} +1 -1
- package/{segmented-control/index.d.ts → types/i-cell-ids-angular-segmented-control.d.ts} +1 -1
- package/{snackbar/index.d.ts → types/i-cell-ids-angular-snackbar.d.ts} +3 -3
- package/{tab/index.d.ts → types/i-cell-ids-angular-tab.d.ts} +16 -3
- package/{tag/index.d.ts → types/i-cell-ids-angular-tag.d.ts} +1 -1
- /package/{badge/index.d.ts → types/i-cell-ids-angular-badge.d.ts} +0 -0
- /package/{breadcrumb/index.d.ts → types/i-cell-ids-angular-breadcrumb.d.ts} +0 -0
- /package/{checkbox/index.d.ts → types/i-cell-ids-angular-checkbox.d.ts} +0 -0
- /package/{dialog/index.d.ts → types/i-cell-ids-angular-dialog.d.ts} +0 -0
- /package/{forms/index.d.ts → types/i-cell-ids-angular-forms.d.ts} +0 -0
- /package/{overlay-panel/index.d.ts → types/i-cell-ids-angular-overlay-panel.d.ts} +0 -0
- /package/{select/index.d.ts → types/i-cell-ids-angular-select.d.ts} +0 -0
- /package/{side-nav/index.d.ts → types/i-cell-ids-angular-side-nav.d.ts} +0 -0
- /package/{side-sheet/index.d.ts → types/i-cell-ids-angular-side-sheet.d.ts} +0 -0
- /package/{spinner/index.d.ts → types/i-cell-ids-angular-spinner.d.ts} +0 -0
- /package/{switch/index.d.ts → types/i-cell-ids-angular-switch.d.ts} +0 -0
- /package/{table/index.d.ts → types/i-cell-ids-angular-table.d.ts} +0 -0
- /package/{tooltip/index.d.ts → types/i-cell-ids-angular-tooltip.d.ts} +0 -0
- /package/{index.d.ts → types/i-cell-ids-angular.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-notification.mjs","sources":["../../../projects/widgets/notification/types/notification-appearance.type.ts","../../../projects/widgets/notification/types/notification-variant.type.ts","../../../projects/widgets/notification/notification-action-button.directive.ts","../../../projects/widgets/notification/notification-defaults.ts","../../../projects/widgets/notification/notification.component.ts","../../../projects/widgets/notification/notification.component.html","../../../projects/widgets/notification/i-cell-ids-angular-notification.ts"],"sourcesContent":["export const IdsNotificationAppearance = {\n FILLED: 'filled',\n OUTLINED: 'outlined',\n} as const;\n\nexport type IdsNotificationAppearanceType = (typeof IdsNotificationAppearance)[keyof typeof IdsNotificationAppearance];\n","export const IdsNotificationVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n DARK: 'dark',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n} as const;\n\nexport type IdsNotificationVariantType = (typeof IdsNotificationVariant)[keyof typeof IdsNotificationVariant];\n\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[idsNotificationActionButton]',\n standalone: true,\n})\nexport class IdsNotificationActionButtonDirective {\n}\n","import { IdsNotificationAppearance, IdsNotificationAppearanceType } from './types/notification-appearance.type';\nimport { IdsNotificationVariant, IdsNotificationVariantType } from './types/notification-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsButtonAppearance, IdsButtonAppearanceType } from '@i-cell/ids-angular/button';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsNotificationDefaultConfig {\n appearance?: IdsNotificationAppearanceType,\n size?: IdsSizeType,\n variant?: IdsNotificationVariantType,\n closeButtonSize?: IdsSizeType,\n closeLabelButtonAppearance?: IdsButtonAppearanceType,\n displayActionsAtBottom?: boolean,\n}\n\nexport const IDS_NOTIFICATION_DEFAULT_CONFIG = new InjectionToken<IdsNotificationDefaultConfig>(\n 'IDS_NOTIFICATION_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_NOTIFICATION_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_NOTIFICATION_DEFAULT_CONFIG_FACTORY(): Required<IdsNotificationDefaultConfig> {\n return {\n appearance: IdsNotificationAppearance.OUTLINED,\n size: IdsSize.COMPACT,\n variant: IdsNotificationVariant.DARK,\n closeButtonSize: IdsSize.COMPACT,\n closeLabelButtonAppearance: IdsButtonAppearance.OUTLINED,\n displayActionsAtBottom: false,\n };\n}\n\n","import { IdsNotificationActionButtonDirective } from './notification-action-button.directive';\nimport { IDS_NOTIFICATION_DEFAULT_CONFIG, IDS_NOTIFICATION_DEFAULT_CONFIG_FACTORY, IdsNotificationDefaultConfig } from './notification-defaults';\nimport { IdsNotificationAppearance, IdsNotificationAppearanceType } from './types/notification-appearance.type';\nimport { IdsNotificationVariant, IdsNotificationVariantType } from './types/notification-variant.type';\n\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, input, output, signal, ViewEncapsulation } from '@angular/core';\nimport { IDS_BUTTON_PARENT, IdsButtonAppearanceType, IdsButtonComponent, IdsButtonParent, IdsButtonVariant } from '@i-cell/ids-angular/button';\nimport { coerceBooleanAttribute, coerceStringAttribute, ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IDS_ICON_BUTTON_PARENT, IdsIconButtonAppearance, IdsIconButtonAppearanceType, IdsIconButtonComponent, IdsIconButtonParent, IdsIconButtonVariant, IdsIconButtonVariantType } from '@i-cell/ids-angular/icon-button';\n\nconst defaultConfig = IDS_NOTIFICATION_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-notification',\n imports: [\n IdsIconComponent,\n IdsButtonComponent,\n IdsIconButtonComponent,\n ],\n templateUrl: './notification.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[role]': '_role()',\n },\n providers: [\n {\n provide: IDS_BUTTON_PARENT,\n useExisting: IdsNotificationComponent,\n },\n {\n provide: IDS_ICON_BUTTON_PARENT,\n useExisting: IdsNotificationComponent,\n },\n ],\n})\nexport class IdsNotificationComponent extends ComponentBaseWithDefaults<IdsNotificationDefaultConfig>\n implements IdsButtonParent, IdsIconButtonParent {\n protected override get _hostName(): string {\n return 'notification';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_NOTIFICATION_DEFAULT_CONFIG);\n\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public appearance = input<IdsNotificationAppearanceType>(this._defaultConfig.appearance);\n public variant = input<IdsNotificationVariantType>(this._defaultConfig.variant);\n public icon = input<string | undefined>();\n public title = input<string>('');\n public urgent = input<boolean, boolean | undefined>(false, { transform: coerceBooleanAttribute });\n public displayActionsAtBottom = input<boolean, boolean | undefined>(false, { transform: coerceBooleanAttribute });\n public closeButtonSize = input<IdsSizeType>(this._defaultConfig.closeButtonSize);\n public closeLabelButtonAppearance = input<IdsButtonAppearanceType>(this._defaultConfig.closeLabelButtonAppearance);\n public closeButtonLabel = input<string, string>('', { transform: coerceStringAttribute });\n\n public embeddedIconButtonAppearance = signal<IdsIconButtonAppearanceType>(IdsIconButtonAppearance.STANDARD);\n public disabled = signal<boolean>(false);\n\n protected _actionButtons = contentChildren<IdsNotificationActionButtonDirective>(IdsNotificationActionButtonDirective);\n\n public closed = output<void>();\n\n private _role = computed(() => (this.urgent() ? 'alert' : 'status'));\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.appearance(),\n this.variant(),\n this.displayActionsAtBottom() ? 'actions-bottom-mode' : null,\n ]));\n\n protected _closeLabelButtonClass = computed(() => (this.closeButtonLabel() ? 'ids-notification__label-button' : ''));\n\n public embeddedButtonVariant = computed<IdsIconButtonVariantType>(() => {\n const notificationVariant = this.variant();\n const notificationAppearance = this.appearance();\n\n if (notificationAppearance === IdsNotificationAppearance.OUTLINED) {\n switch (notificationVariant) {\n case IdsNotificationVariant.DARK:\n return IdsButtonVariant.DARK;\n case IdsNotificationVariant.LIGHT:\n return IdsButtonVariant.LIGHT;\n default:\n return IdsButtonVariant.SURFACE;\n }\n } else {\n switch (notificationVariant) {\n case IdsNotificationVariant.SURFACE:\n case IdsNotificationVariant.LIGHT:\n return IdsButtonVariant.DARK;\n default:\n return IdsButtonVariant.LIGHT;\n }\n }\n });\n\n public embeddedIconButtonVariant = computed<IdsIconButtonVariantType>(() => {\n const notificationVariant = this.variant();\n const notificationAppearance = this.appearance();\n\n if (notificationAppearance === IdsNotificationAppearance.OUTLINED) {\n switch (notificationVariant) {\n case IdsNotificationVariant.DARK:\n return IdsIconButtonVariant.DARK;\n case IdsNotificationVariant.LIGHT:\n return IdsIconButtonVariant.LIGHT;\n default:\n return IdsIconButtonVariant.SURFACE;\n }\n } else {\n switch (notificationVariant) {\n case IdsNotificationVariant.SURFACE:\n case IdsNotificationVariant.LIGHT:\n return IdsIconButtonVariant.DARK;\n default:\n return IdsIconButtonVariant.LIGHT;\n }\n }\n });\n\n protected _close(): void {\n this.closed.emit();\n }\n}\n","<div class=\"ids-notification__content-wrapper\">\n @let fontIcon = icon();\n @if (fontIcon) {\n <div class=\"ids-notification__leading-element\">\n <ids-icon [fontIcon]=\"fontIcon\" />\n </div>\n }\n\n <div class=\"ids-notification__container\">\n <div class=\"ids-notification__title-msg-container\">\n <div class=\"ids-notification__title\">\n {{ title() }}\n </div>\n <div class=\"ids-notification__message\">\n <ng-content />\n </div>\n </div>\n @if (_actionButtons()) {\n <div class=\"ids-notification__action\">\n <ng-content select=\"button[idsNotificationActionButton]\" />\n </div>\n }\n </div>\n\n <div class=\"ids-notification__close-button-container\" [class]=\"_closeLabelButtonClass()\">\n @let buttonLabel = closeButtonLabel();\n @if (buttonLabel) {\n <button\n type=\"button\"\n aria-label=\"Close notification\"\n idsButton\n [size]=\"closeButtonSize()\"\n [appearance]=\"closeLabelButtonAppearance()\"\n (click)=\"_close()\"\n >\n {{ buttonLabel }}\n </button>\n } @else {\n <button type=\"button\" aria-label=\"Close notification\" idsIconButton [size]=\"closeButtonSize()\" (click)=\"_close()\">\n <ids-icon alt=\"close icon\" fontIcon=\"close\" />\n </button>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"i-cell-ids-angular-notification.mjs","sources":["../../../projects/widgets/notification/types/notification-appearance.type.ts","../../../projects/widgets/notification/types/notification-variant.type.ts","../../../projects/widgets/notification/notification-action-button.directive.ts","../../../projects/widgets/notification/notification-defaults.ts","../../../projects/widgets/notification/notification.component.ts","../../../projects/widgets/notification/notification.component.html","../../../projects/widgets/notification/i-cell-ids-angular-notification.ts"],"sourcesContent":["export const IdsNotificationAppearance = {\n FILLED: 'filled',\n OUTLINED: 'outlined',\n} as const;\n\nexport type IdsNotificationAppearanceType = (typeof IdsNotificationAppearance)[keyof typeof IdsNotificationAppearance];\n","export const IdsNotificationVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n DARK: 'dark',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n} as const;\n\nexport type IdsNotificationVariantType = (typeof IdsNotificationVariant)[keyof typeof IdsNotificationVariant];\n\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[idsNotificationActionButton]',\n standalone: true,\n})\nexport class IdsNotificationActionButtonDirective {\n}\n","import { IdsNotificationAppearance, IdsNotificationAppearanceType } from './types/notification-appearance.type';\nimport { IdsNotificationVariant, IdsNotificationVariantType } from './types/notification-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsButtonAppearance, IdsButtonAppearanceType } from '@i-cell/ids-angular/button';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsNotificationDefaultConfig {\n appearance?: IdsNotificationAppearanceType,\n size?: IdsSizeType,\n variant?: IdsNotificationVariantType,\n closeButtonSize?: IdsSizeType,\n closeLabelButtonAppearance?: IdsButtonAppearanceType,\n displayActionsAtBottom?: boolean,\n}\n\nexport const IDS_NOTIFICATION_DEFAULT_CONFIG = new InjectionToken<IdsNotificationDefaultConfig>(\n 'IDS_NOTIFICATION_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_NOTIFICATION_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_NOTIFICATION_DEFAULT_CONFIG_FACTORY(): Required<IdsNotificationDefaultConfig> {\n return {\n appearance: IdsNotificationAppearance.OUTLINED,\n size: IdsSize.COMPACT,\n variant: IdsNotificationVariant.DARK,\n closeButtonSize: IdsSize.COMPACT,\n closeLabelButtonAppearance: IdsButtonAppearance.OUTLINED,\n displayActionsAtBottom: false,\n };\n}\n\n","import { IdsNotificationActionButtonDirective } from './notification-action-button.directive';\nimport { IDS_NOTIFICATION_DEFAULT_CONFIG, IDS_NOTIFICATION_DEFAULT_CONFIG_FACTORY, IdsNotificationDefaultConfig } from './notification-defaults';\nimport { IdsNotificationAppearance, IdsNotificationAppearanceType } from './types/notification-appearance.type';\nimport { IdsNotificationVariant, IdsNotificationVariantType } from './types/notification-variant.type';\n\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, input, output, signal, ViewEncapsulation } from '@angular/core';\nimport { IDS_BUTTON_PARENT, IdsButtonAppearanceType, IdsButtonComponent, IdsButtonParent, IdsButtonVariant } from '@i-cell/ids-angular/button';\nimport { coerceBooleanAttribute, coerceStringAttribute, ComponentBaseWithDefaults, IdsSizeType } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { IDS_ICON_BUTTON_PARENT, IdsIconButtonAppearance, IdsIconButtonAppearanceType, IdsIconButtonComponent, IdsIconButtonParent, IdsIconButtonVariant, IdsIconButtonVariantType } from '@i-cell/ids-angular/icon-button';\n\nconst defaultConfig = IDS_NOTIFICATION_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-notification',\n imports: [\n IdsIconComponent,\n IdsButtonComponent,\n IdsIconButtonComponent,\n ],\n templateUrl: './notification.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.role]': '_role()',\n },\n providers: [\n {\n provide: IDS_BUTTON_PARENT,\n useExisting: IdsNotificationComponent,\n },\n {\n provide: IDS_ICON_BUTTON_PARENT,\n useExisting: IdsNotificationComponent,\n },\n ],\n})\nexport class IdsNotificationComponent extends ComponentBaseWithDefaults<IdsNotificationDefaultConfig>\n implements IdsButtonParent, IdsIconButtonParent {\n protected override get _hostName(): string {\n return 'notification';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_NOTIFICATION_DEFAULT_CONFIG);\n\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public appearance = input<IdsNotificationAppearanceType>(this._defaultConfig.appearance);\n public variant = input<IdsNotificationVariantType>(this._defaultConfig.variant);\n public icon = input<string | undefined>();\n public title = input<string>('');\n public urgent = input<boolean, boolean | undefined>(false, { transform: coerceBooleanAttribute });\n public displayActionsAtBottom = input<boolean, boolean | undefined>(false, { transform: coerceBooleanAttribute });\n public closeButtonSize = input<IdsSizeType>(this._defaultConfig.closeButtonSize);\n public closeLabelButtonAppearance = input<IdsButtonAppearanceType>(this._defaultConfig.closeLabelButtonAppearance);\n public closeButtonLabel = input<string, string>('', { transform: coerceStringAttribute });\n\n public embeddedIconButtonAppearance = signal<IdsIconButtonAppearanceType>(IdsIconButtonAppearance.STANDARD);\n public disabled = signal<boolean>(false);\n\n protected _actionButtons = contentChildren<IdsNotificationActionButtonDirective>(IdsNotificationActionButtonDirective);\n\n public closed = output<void>();\n\n protected _role = computed(() => (this.urgent() ? 'alert' : 'status'));\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.appearance(),\n this.variant(),\n this.displayActionsAtBottom() ? 'actions-bottom-mode' : null,\n ]));\n\n protected _closeLabelButtonClass = computed(() => (this.closeButtonLabel() ? 'ids-notification__label-button' : ''));\n\n public embeddedButtonVariant = computed<IdsIconButtonVariantType>(() => {\n const notificationVariant = this.variant();\n const notificationAppearance = this.appearance();\n\n if (notificationAppearance === IdsNotificationAppearance.OUTLINED) {\n switch (notificationVariant) {\n case IdsNotificationVariant.DARK:\n return IdsButtonVariant.DARK;\n case IdsNotificationVariant.LIGHT:\n return IdsButtonVariant.LIGHT;\n default:\n return IdsButtonVariant.SURFACE;\n }\n } else {\n switch (notificationVariant) {\n case IdsNotificationVariant.SURFACE:\n case IdsNotificationVariant.LIGHT:\n return IdsButtonVariant.DARK;\n default:\n return IdsButtonVariant.LIGHT;\n }\n }\n });\n\n public embeddedIconButtonVariant = computed<IdsIconButtonVariantType>(() => {\n const notificationVariant = this.variant();\n const notificationAppearance = this.appearance();\n\n if (notificationAppearance === IdsNotificationAppearance.OUTLINED) {\n switch (notificationVariant) {\n case IdsNotificationVariant.DARK:\n return IdsIconButtonVariant.DARK;\n case IdsNotificationVariant.LIGHT:\n return IdsIconButtonVariant.LIGHT;\n default:\n return IdsIconButtonVariant.SURFACE;\n }\n } else {\n switch (notificationVariant) {\n case IdsNotificationVariant.SURFACE:\n case IdsNotificationVariant.LIGHT:\n return IdsIconButtonVariant.DARK;\n default:\n return IdsIconButtonVariant.LIGHT;\n }\n }\n });\n\n protected _close(): void {\n this.closed.emit();\n }\n}\n","<div class=\"ids-notification__content-wrapper\">\n @let fontIcon = icon();\n @if (fontIcon) {\n <div class=\"ids-notification__leading-element\">\n <ids-icon [fontIcon]=\"fontIcon\" />\n </div>\n }\n\n <div class=\"ids-notification__container\">\n <div class=\"ids-notification__title-msg-container\">\n <div class=\"ids-notification__title\">\n {{ title() }}\n </div>\n <div class=\"ids-notification__message\">\n <ng-content />\n </div>\n </div>\n @if (_actionButtons()) {\n <div class=\"ids-notification__action\">\n <ng-content select=\"button[idsNotificationActionButton]\" />\n </div>\n }\n </div>\n\n <div class=\"ids-notification__close-button-container\" [class]=\"_closeLabelButtonClass()\">\n @let buttonLabel = closeButtonLabel();\n @if (buttonLabel) {\n <button\n type=\"button\"\n aria-label=\"Close notification\"\n idsButton\n [size]=\"closeButtonSize()\"\n [appearance]=\"closeLabelButtonAppearance()\"\n (click)=\"_close()\"\n >\n {{ buttonLabel }}\n </button>\n } @else {\n <button type=\"button\" aria-label=\"Close notification\" idsIconButton [size]=\"closeButtonSize()\" (click)=\"_close()\">\n <ids-icon alt=\"close icon\" fontIcon=\"close\" />\n </button>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -67,25 +67,25 @@ class IdsOverlayPanelComponent extends ComponentBaseWithDefaults {
|
|
|
67
67
|
constructor() {
|
|
68
68
|
super();
|
|
69
69
|
this._defaultConfig = this._getDefaultConfig(defaultConfig, IDS_OVERLAY_PANEL_DEFAULT_CONFIG);
|
|
70
|
-
this.open = model(false, ...(ngDevMode ? [{ debugName: "open" }] : []));
|
|
71
|
-
this.origin = input.required(...(ngDevMode ? [{ debugName: "origin" }] : []));
|
|
72
|
-
this.positions = input(this._defaultConfig.positions, ...(ngDevMode ? [{ debugName: "positions" }] : []));
|
|
73
|
-
this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : []));
|
|
74
|
-
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
75
|
-
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
76
|
-
this.panelClasses = input('', ...(ngDevMode ? [{ debugName: "panelClasses" }] : []));
|
|
77
|
-
this.width = input(...(ngDevMode ? [undefined, { debugName: "width" }] : []));
|
|
78
|
-
this.overlayDir = viewChild(CdkConnectedOverlay, ...(ngDevMode ? [{ debugName: "overlayDir" }] : []));
|
|
79
|
-
this._hasCdkMenu = computed(() => !!this._cdkMenu(), ...(ngDevMode ? [{ debugName: "_hasCdkMenu" }] : []));
|
|
80
|
-
this._cdkMenu = contentChild(CdkMenu, ...(ngDevMode ?
|
|
81
|
-
this._focusTrap = viewChild(CdkTrapFocus, ...(ngDevMode ? [{ debugName: "_focusTrap" }] : []));
|
|
70
|
+
this.open = model(false, ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
|
|
71
|
+
this.origin = input.required(...(ngDevMode ? [{ debugName: "origin" }] : /* istanbul ignore next */ []));
|
|
72
|
+
this.positions = input(this._defaultConfig.positions, ...(ngDevMode ? [{ debugName: "positions" }] : /* istanbul ignore next */ []));
|
|
73
|
+
this.appearance = input(this._defaultConfig.appearance, ...(ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []));
|
|
74
|
+
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
75
|
+
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
76
|
+
this.panelClasses = input('', ...(ngDevMode ? [{ debugName: "panelClasses" }] : /* istanbul ignore next */ []));
|
|
77
|
+
this.width = input(...(ngDevMode ? [undefined, { debugName: "width" }] : /* istanbul ignore next */ []));
|
|
78
|
+
this.overlayDir = viewChild(CdkConnectedOverlay, ...(ngDevMode ? [{ debugName: "overlayDir" }] : /* istanbul ignore next */ []));
|
|
79
|
+
this._hasCdkMenu = computed(() => !!this._cdkMenu(), ...(ngDevMode ? [{ debugName: "_hasCdkMenu" }] : /* istanbul ignore next */ []));
|
|
80
|
+
this._cdkMenu = contentChild(CdkMenu, { ...(ngDevMode ? { debugName: "_cdkMenu" } : /* istanbul ignore next */ {}), descendants: true });
|
|
81
|
+
this._focusTrap = viewChild(CdkTrapFocus, ...(ngDevMode ? [{ debugName: "_focusTrap" }] : /* istanbul ignore next */ []));
|
|
82
82
|
this._panelClasses = computed(() => this._getHostClasses([
|
|
83
83
|
this.appearance(),
|
|
84
84
|
this.size(),
|
|
85
85
|
this.variant(),
|
|
86
86
|
this._hasCdkMenu() ? 'has-menu' : null,
|
|
87
|
-
]), ...(ngDevMode ? [{ debugName: "_panelClasses" }] : []));
|
|
88
|
-
this._hostClasses = computed(() => '', ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
|
|
87
|
+
]), ...(ngDevMode ? [{ debugName: "_panelClasses" }] : /* istanbul ignore next */ []));
|
|
88
|
+
this._hostClasses = computed(() => '', ...(ngDevMode ? [{ debugName: "_hostClasses" }] : /* istanbul ignore next */ []));
|
|
89
89
|
effect(() => {
|
|
90
90
|
if (this._focusTrap()) {
|
|
91
91
|
this._focusTrap()?.focusTrap.focusInitialElementWhenReady({ preventScroll: true });
|
|
@@ -110,17 +110,17 @@ class IdsOverlayPanelComponent extends ComponentBaseWithDefaults {
|
|
|
110
110
|
this.open.set(false);
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
114
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsOverlayPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.5", type: IdsOverlayPanelComponent, isStandalone: true, selector: "ids-overlay-panel", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, origin: { classPropertyName: "origin", publicName: "origin", isSignal: true, isRequired: true, transformFunction: null }, positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, panelClasses: { classPropertyName: "panelClasses", publicName: "panelClasses", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange" }, queries: [{ propertyName: "_cdkMenu", first: true, predicate: CdkMenu, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true, isSignal: true }, { propertyName: "_focusTrap", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayPositions]=\"positions()\"\n [cdkConnectedOverlayOrigin]=\"origin()\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayPanelClass]=\"_hostClasses()\"\n (overlayOutsideClick)=\"_close()\"\n (detach)=\"_close()\"\n>\n <div\n cdkTrapFocus\n [ngClass]=\"[panelClasses(), _panelClasses()]\"\n >\n <ng-content/>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
115
115
|
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsOverlayPanelComponent, decorators: [{
|
|
117
117
|
type: Component,
|
|
118
118
|
args: [{ selector: 'ids-overlay-panel', imports: [
|
|
119
119
|
OverlayModule,
|
|
120
120
|
A11yModule,
|
|
121
121
|
NgClass,
|
|
122
122
|
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayPositions]=\"positions()\"\n [cdkConnectedOverlayOrigin]=\"origin()\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayPanelClass]=\"_hostClasses()\"\n (overlayOutsideClick)=\"_close()\"\n (detach)=\"_close()\"\n>\n <div\n cdkTrapFocus\n [ngClass]=\"[panelClasses(), _panelClasses()]\"\n >\n <ng-content/>\n </div>\n</ng-template>\n" }]
|
|
123
|
-
}], ctorParameters: () => [] });
|
|
123
|
+
}], ctorParameters: () => [], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], origin: [{ type: i0.Input, args: [{ isSignal: true, alias: "origin", required: true }] }], positions: [{ type: i0.Input, args: [{ isSignal: true, alias: "positions", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], panelClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelClasses", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], overlayDir: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkConnectedOverlay), { isSignal: true }] }], _cdkMenu: [{ type: i0.ContentChild, args: [i0.forwardRef(() => CdkMenu), { ...{ descendants: true }, isSignal: true }] }], _focusTrap: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkTrapFocus), { isSignal: true }] }] } });
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
126
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-overlay-panel.mjs","sources":["../../../projects/widgets/overlay-panel/types/overlay-panel-appearance.type.ts","../../../projects/widgets/overlay-panel/types/overlay-panel-variant.type.ts","../../../projects/widgets/overlay-panel/overlay-positions.ts","../../../projects/widgets/overlay-panel/overlay-panel-defaults.ts","../../../projects/widgets/overlay-panel/overlay-panel.component.ts","../../../projects/widgets/overlay-panel/overlay-panel.component.html","../../../projects/widgets/overlay-panel/i-cell-ids-angular-overlay-panel.ts"],"sourcesContent":["export const IdsOverlayPanelAppearance = {\n FILLED: 'filled',\n OUTLINED: 'outlined',\n ELEVATED: 'elevated',\n} as const;\n\nexport type IdsOverlayPanelAppearanceType = (typeof IdsOverlayPanelAppearance)[keyof typeof IdsOverlayPanelAppearance];\n","export const IdsOverlayPanelVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsOverlayPanelVariantType = (typeof IdsOverlayPanelVariant)[keyof typeof IdsOverlayPanelVariant];\n","import { ConnectedPosition } from '@angular/cdk/overlay';\n\nexport const overlayConnectedPositions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n];\n","import { overlayConnectedPositions } from './overlay-positions';\nimport { IdsOverlayPanelAppearance, IdsOverlayPanelAppearanceType } from './types/overlay-panel-appearance.type';\nimport { IdsOverlayPanelVariant, IdsOverlayPanelVariantType } from './types/overlay-panel-variant.type';\n\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsOverlayPanelDefaultConfig {\n appearance?: IdsOverlayPanelAppearanceType,\n size?: IdsSizeType,\n variant?: IdsOverlayPanelVariantType,\n positions?: ConnectedPosition[],\n}\n\nexport const IDS_OVERLAY_PANEL_DEFAULT_CONFIG = new InjectionToken<IdsOverlayPanelDefaultConfig>(\n 'IDS_OVERLAY_PANEL_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY(): Required<IdsOverlayPanelDefaultConfig> {\n return {\n appearance: IdsOverlayPanelAppearance.FILLED,\n size: IdsSize.COMPACT,\n variant: IdsOverlayPanelVariant.LIGHT,\n positions: overlayConnectedPositions,\n };\n}\n\n","import {\n IDS_OVERLAY_PANEL_DEFAULT_CONFIG,\n IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY,\n IdsOverlayPanelDefaultConfig,\n} from './overlay-panel-defaults';\nimport { IdsOverlayPanelAppearanceType } from './types/overlay-panel-appearance.type';\nimport { IdsOverlayPanelVariantType } from './types/overlay-panel-variant.type';\n\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { CdkMenu } from '@angular/cdk/menu';\nimport { OverlayModule, CdkOverlayOrigin, CdkConnectedOverlay, ConnectedPosition } from '@angular/cdk/overlay';\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n input, computed, contentChild,\n ElementRef,\n viewChild,\n untracked,\n effect,\n model,\n} from '@angular/core';\nimport { IdsSizeType, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-overlay-panel',\n imports: [\n OverlayModule,\n A11yModule,\n NgClass,\n ],\n templateUrl: './overlay-panel.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class IdsOverlayPanelComponent extends ComponentBaseWithDefaults<IdsOverlayPanelDefaultConfig> {\n protected override get _hostName(): string {\n return 'overlay-panel';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_OVERLAY_PANEL_DEFAULT_CONFIG);\n\n public open = model<boolean>(false);\n public origin = input.required<CdkOverlayOrigin | ElementRef>();\n public positions = input<ConnectedPosition[]>(this._defaultConfig.positions);\n\n public appearance = input<IdsOverlayPanelAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsOverlayPanelVariantType>(this._defaultConfig.variant);\n public panelClasses = input<string>('');\n public width = input<string | number>();\n public readonly overlayDir = viewChild(CdkConnectedOverlay);\n\n protected _hasCdkMenu = computed(() => !!this._cdkMenu());\n private _cdkMenu = contentChild(CdkMenu, { descendants: true });\n private _focusTrap = viewChild(CdkTrapFocus);\n\n constructor() {\n super();\n\n effect(() => {\n if (this._focusTrap()) {\n this._focusTrap()?.focusTrap.focusInitialElementWhenReady({ preventScroll: true });\n }\n });\n\n effect(() => {\n const overlayDir = this.overlayDir();\n const overlayWidth = this.width();\n\n // apply width after the overlay has been rendered\n untracked(() => {\n if (overlayDir && overlayWidth) {\n overlayDir.width = overlayWidth;\n }\n });\n });\n }\n\n public toggle(): void {\n this.open.update((open) => !open);\n }\n\n protected _close(): void {\n if (this.open()) {\n this.open.set(false);\n }\n }\n\n protected _panelClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this.size(),\n this.variant(),\n this._hasCdkMenu() ? 'has-menu' : null,\n ]),\n );\n\n protected _hostClasses = computed(() => '');\n}\n","<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayPositions]=\"positions()\"\n [cdkConnectedOverlayOrigin]=\"origin()\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayPanelClass]=\"_hostClasses()\"\n (overlayOutsideClick)=\"_close()\"\n (detach)=\"_close()\"\n>\n <div\n cdkTrapFocus\n [ngClass]=\"[panelClasses(), _panelClasses()]\"\n >\n <ng-content/>\n </div>\n</ng-template>\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-overlay-panel.mjs","sources":["../../../projects/widgets/overlay-panel/types/overlay-panel-appearance.type.ts","../../../projects/widgets/overlay-panel/types/overlay-panel-variant.type.ts","../../../projects/widgets/overlay-panel/overlay-positions.ts","../../../projects/widgets/overlay-panel/overlay-panel-defaults.ts","../../../projects/widgets/overlay-panel/overlay-panel.component.ts","../../../projects/widgets/overlay-panel/overlay-panel.component.html","../../../projects/widgets/overlay-panel/i-cell-ids-angular-overlay-panel.ts"],"sourcesContent":["export const IdsOverlayPanelAppearance = {\n FILLED: 'filled',\n OUTLINED: 'outlined',\n ELEVATED: 'elevated',\n} as const;\n\nexport type IdsOverlayPanelAppearanceType = (typeof IdsOverlayPanelAppearance)[keyof typeof IdsOverlayPanelAppearance];\n","export const IdsOverlayPanelVariant = {\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsOverlayPanelVariantType = (typeof IdsOverlayPanelVariant)[keyof typeof IdsOverlayPanelVariant];\n","import { ConnectedPosition } from '@angular/cdk/overlay';\n\nexport const overlayConnectedPositions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n];\n","import { overlayConnectedPositions } from './overlay-positions';\nimport { IdsOverlayPanelAppearance, IdsOverlayPanelAppearanceType } from './types/overlay-panel-appearance.type';\nimport { IdsOverlayPanelVariant, IdsOverlayPanelVariantType } from './types/overlay-panel-variant.type';\n\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\nimport { IdsSize, IdsSizeType } from '@i-cell/ids-angular/core';\n\nexport interface IdsOverlayPanelDefaultConfig {\n appearance?: IdsOverlayPanelAppearanceType,\n size?: IdsSizeType,\n variant?: IdsOverlayPanelVariantType,\n positions?: ConnectedPosition[],\n}\n\nexport const IDS_OVERLAY_PANEL_DEFAULT_CONFIG = new InjectionToken<IdsOverlayPanelDefaultConfig>(\n 'IDS_OVERLAY_PANEL_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY(): Required<IdsOverlayPanelDefaultConfig> {\n return {\n appearance: IdsOverlayPanelAppearance.FILLED,\n size: IdsSize.COMPACT,\n variant: IdsOverlayPanelVariant.LIGHT,\n positions: overlayConnectedPositions,\n };\n}\n\n","import {\n IDS_OVERLAY_PANEL_DEFAULT_CONFIG,\n IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY,\n IdsOverlayPanelDefaultConfig,\n} from './overlay-panel-defaults';\nimport { IdsOverlayPanelAppearanceType } from './types/overlay-panel-appearance.type';\nimport { IdsOverlayPanelVariantType } from './types/overlay-panel-variant.type';\n\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { CdkMenu } from '@angular/cdk/menu';\nimport { OverlayModule, CdkOverlayOrigin, CdkConnectedOverlay, ConnectedPosition } from '@angular/cdk/overlay';\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n input, computed, contentChild,\n ElementRef,\n viewChild,\n untracked,\n effect,\n model,\n} from '@angular/core';\nimport { IdsSizeType, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\n\nconst defaultConfig = IDS_OVERLAY_PANEL_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-overlay-panel',\n imports: [\n OverlayModule,\n A11yModule,\n NgClass,\n ],\n templateUrl: './overlay-panel.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class IdsOverlayPanelComponent extends ComponentBaseWithDefaults<IdsOverlayPanelDefaultConfig> {\n protected override get _hostName(): string {\n return 'overlay-panel';\n }\n\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_OVERLAY_PANEL_DEFAULT_CONFIG);\n\n public open = model<boolean>(false);\n public origin = input.required<CdkOverlayOrigin | ElementRef>();\n public positions = input<ConnectedPosition[]>(this._defaultConfig.positions);\n\n public appearance = input<IdsOverlayPanelAppearanceType>(this._defaultConfig.appearance);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsOverlayPanelVariantType>(this._defaultConfig.variant);\n public panelClasses = input<string>('');\n public width = input<string | number>();\n public readonly overlayDir = viewChild(CdkConnectedOverlay);\n\n protected _hasCdkMenu = computed(() => !!this._cdkMenu());\n private _cdkMenu = contentChild(CdkMenu, { descendants: true });\n private _focusTrap = viewChild(CdkTrapFocus);\n\n constructor() {\n super();\n\n effect(() => {\n if (this._focusTrap()) {\n this._focusTrap()?.focusTrap.focusInitialElementWhenReady({ preventScroll: true });\n }\n });\n\n effect(() => {\n const overlayDir = this.overlayDir();\n const overlayWidth = this.width();\n\n // apply width after the overlay has been rendered\n untracked(() => {\n if (overlayDir && overlayWidth) {\n overlayDir.width = overlayWidth;\n }\n });\n });\n }\n\n public toggle(): void {\n this.open.update((open) => !open);\n }\n\n protected _close(): void {\n if (this.open()) {\n this.open.set(false);\n }\n }\n\n protected _panelClasses = computed(() => this._getHostClasses([\n this.appearance(),\n this.size(),\n this.variant(),\n this._hasCdkMenu() ? 'has-menu' : null,\n ]),\n );\n\n protected _hostClasses = computed(() => '');\n}\n","<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayPositions]=\"positions()\"\n [cdkConnectedOverlayOrigin]=\"origin()\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayPanelClass]=\"_hostClasses()\"\n (overlayOutsideClick)=\"_close()\"\n (detach)=\"_close()\"\n>\n <div\n cdkTrapFocus\n [ngClass]=\"[panelClasses(), _panelClasses()]\"\n >\n <ng-content/>\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -66,10 +66,10 @@ class IdsPaginatorIntl {
|
|
|
66
66
|
return `Page ${page + 1} of ${maxPageCount}`;
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
70
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsPaginatorIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
70
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsPaginatorIntl, providedIn: 'root' }); }
|
|
71
71
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsPaginatorIntl, decorators: [{
|
|
73
73
|
type: Injectable,
|
|
74
74
|
args: [{ providedIn: 'root' }]
|
|
75
75
|
}] });
|
|
@@ -135,29 +135,29 @@ class IdsPaginatorComponent extends ComponentBaseWithDefaults {
|
|
|
135
135
|
this._defaultConfig = this._getDefaultConfig(defaultConfig, IDS_PAGINATOR_DEFAULT_CONFIG);
|
|
136
136
|
this._pageEventDebouncer = new Subject();
|
|
137
137
|
this._intl = inject(IdsPaginatorIntl);
|
|
138
|
-
this.pageSize = input(this._defaultConfig.pageSize, ...(ngDevMode ?
|
|
139
|
-
this.pageSizeOptions = input(this._defaultConfig.pageSizeOptions, ...(ngDevMode ? [{ debugName: "pageSizeOptions" }] : []));
|
|
140
|
-
this.showFirstLastButton = input(this._defaultConfig.showFirstLastButton, ...(ngDevMode ? [{ debugName: "showFirstLastButton" }] : []));
|
|
141
|
-
this.showPrevNextLabel = input(this._defaultConfig.showPrevNextLabel, ...(ngDevMode ? [{ debugName: "showPrevNextLabel" }] : []));
|
|
142
|
-
this.showPageInfo = input(this._defaultConfig.showPageInfo, ...(ngDevMode ? [{ debugName: "showPageInfo" }] : []));
|
|
143
|
-
this.showPageButtons = input(this._defaultConfig.showPageButtons, ...(ngDevMode ? [{ debugName: "showPageButtons" }] : []));
|
|
144
|
-
this.showAllPages = input(this._defaultConfig.showAllPages, ...(ngDevMode ? [{ debugName: "showAllPages" }] : []));
|
|
145
|
-
this.maxDisplayedItemCount = input(this._defaultConfig.maxDisplayedItemCount, ...(ngDevMode ? [{ debugName: "maxDisplayedItemCount" }] : []));
|
|
146
|
-
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
147
|
-
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
148
|
-
this.pageButtonAppearance = input(this._defaultConfig.pageButtonAppearance, ...(ngDevMode ? [{ debugName: "pageButtonAppearance" }] : []));
|
|
138
|
+
this.pageSize = input(this._defaultConfig.pageSize, { ...(ngDevMode ? { debugName: "pageSize" } : /* istanbul ignore next */ {}), transform: coerceNumberAttribute });
|
|
139
|
+
this.pageSizeOptions = input(this._defaultConfig.pageSizeOptions, ...(ngDevMode ? [{ debugName: "pageSizeOptions" }] : /* istanbul ignore next */ []));
|
|
140
|
+
this.showFirstLastButton = input(this._defaultConfig.showFirstLastButton, ...(ngDevMode ? [{ debugName: "showFirstLastButton" }] : /* istanbul ignore next */ []));
|
|
141
|
+
this.showPrevNextLabel = input(this._defaultConfig.showPrevNextLabel, ...(ngDevMode ? [{ debugName: "showPrevNextLabel" }] : /* istanbul ignore next */ []));
|
|
142
|
+
this.showPageInfo = input(this._defaultConfig.showPageInfo, ...(ngDevMode ? [{ debugName: "showPageInfo" }] : /* istanbul ignore next */ []));
|
|
143
|
+
this.showPageButtons = input(this._defaultConfig.showPageButtons, ...(ngDevMode ? [{ debugName: "showPageButtons" }] : /* istanbul ignore next */ []));
|
|
144
|
+
this.showAllPages = input(this._defaultConfig.showAllPages, ...(ngDevMode ? [{ debugName: "showAllPages" }] : /* istanbul ignore next */ []));
|
|
145
|
+
this.maxDisplayedItemCount = input(this._defaultConfig.maxDisplayedItemCount, ...(ngDevMode ? [{ debugName: "maxDisplayedItemCount" }] : /* istanbul ignore next */ []));
|
|
146
|
+
this.size = input(this._defaultConfig.size, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
147
|
+
this.variant = input(this._defaultConfig.variant, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
148
|
+
this.pageButtonAppearance = input(this._defaultConfig.pageButtonAppearance, ...(ngDevMode ? [{ debugName: "pageButtonAppearance" }] : /* istanbul ignore next */ []));
|
|
149
149
|
/** The total number of items that are being paginated. */
|
|
150
|
-
this.length = input.required(...(ngDevMode ?
|
|
151
|
-
this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
152
|
-
this.compactLayout = input(false, ...(ngDevMode ? [{ debugName: "compactLayout" }] : []));
|
|
150
|
+
this.length = input.required({ ...(ngDevMode ? { debugName: "length" } : /* istanbul ignore next */ {}), transform: coerceNumberAttribute });
|
|
151
|
+
this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
152
|
+
this.compactLayout = input(false, ...(ngDevMode ? [{ debugName: "compactLayout" }] : /* istanbul ignore next */ []));
|
|
153
153
|
this._hostClasses = computed(() => this._getHostClasses([
|
|
154
154
|
this.size(),
|
|
155
155
|
this.variant(),
|
|
156
156
|
this.compactLayout() ? 'compact-layout' : null,
|
|
157
|
-
]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : []));
|
|
158
|
-
this._pageButtonClasses = computed(() => createClassList('ids-paginator__page-button', [this.pageButtonAppearance()]), ...(ngDevMode ? [{ debugName: "_pageButtonClasses" }] : []));
|
|
159
|
-
this._safePageSizeData = computed(() => this._getSafePageSizeData(this.pageSizeOptions(), this.pageSize()), ...(ngDevMode ? [{ debugName: "_safePageSizeData" }] : []));
|
|
160
|
-
this._pageButtonIdPrefix = computed(() => `${this.id()}__page-button-`, ...(ngDevMode ? [{ debugName: "_pageButtonIdPrefix" }] : []));
|
|
157
|
+
]), ...(ngDevMode ? [{ debugName: "_hostClasses" }] : /* istanbul ignore next */ []));
|
|
158
|
+
this._pageButtonClasses = computed(() => createClassList('ids-paginator__page-button', [this.pageButtonAppearance()]), ...(ngDevMode ? [{ debugName: "_pageButtonClasses" }] : /* istanbul ignore next */ []));
|
|
159
|
+
this._safePageSizeData = computed(() => this._getSafePageSizeData(this.pageSizeOptions(), this.pageSize()), ...(ngDevMode ? [{ debugName: "_safePageSizeData" }] : /* istanbul ignore next */ []));
|
|
160
|
+
this._pageButtonIdPrefix = computed(() => `${this.id()}__page-button-`, ...(ngDevMode ? [{ debugName: "_pageButtonIdPrefix" }] : /* istanbul ignore next */ []));
|
|
161
161
|
/**
|
|
162
162
|
* The index (0 based!) of the currently selected page.
|
|
163
163
|
*
|
|
@@ -166,34 +166,34 @@ class IdsPaginatorComponent extends ComponentBaseWithDefaults {
|
|
|
166
166
|
* If `pageIndex` is only 1-way bound (input) the model signal's value won't be updated, it needs 2-way binding!
|
|
167
167
|
* Possible cause: https://github.com/angular/angular/issues/57124
|
|
168
168
|
*/
|
|
169
|
-
this.pageIndex = model(0, ...(ngDevMode ? [{ debugName: "pageIndex" }] : []));
|
|
169
|
+
this.pageIndex = model(0, ...(ngDevMode ? [{ debugName: "pageIndex" }] : /* istanbul ignore next */ []));
|
|
170
170
|
this._pageIndexValidation = effect(() => {
|
|
171
171
|
const pageIndex = this._pageIndex();
|
|
172
172
|
const numberOfPages = this._numberOfPages();
|
|
173
173
|
if (pageIndex > 0 && numberOfPages < (pageIndex + 1)) {
|
|
174
174
|
this.stepPage(0);
|
|
175
175
|
}
|
|
176
|
-
}, ...(ngDevMode ? [{ debugName: "_pageIndexValidation" }] : []));
|
|
177
|
-
this._pageIndex = computed(() => Math.max(coerceNumberAttribute(this.pageIndex()) || 0, 0), ...(ngDevMode ? [{ debugName: "_pageIndex" }] : []));
|
|
176
|
+
}, ...(ngDevMode ? [{ debugName: "_pageIndexValidation" }] : /* istanbul ignore next */ []));
|
|
177
|
+
this._pageIndex = computed(() => Math.max(coerceNumberAttribute(this.pageIndex()) || 0, 0), ...(ngDevMode ? [{ debugName: "_pageIndex" }] : /* istanbul ignore next */ []));
|
|
178
178
|
this._numberOfPages = computed(() => {
|
|
179
179
|
if (!this.pageSize()) {
|
|
180
180
|
return 0;
|
|
181
181
|
}
|
|
182
182
|
return Math.ceil(this.length() / this.pageSize());
|
|
183
|
-
}, ...(ngDevMode ? [{ debugName: "_numberOfPages" }] : []));
|
|
184
|
-
this._hasPreviousPage = computed(() => this._pageIndex() >= 1 && this.pageSize() !== 0, ...(ngDevMode ? [{ debugName: "_hasPreviousPage" }] : []));
|
|
183
|
+
}, ...(ngDevMode ? [{ debugName: "_numberOfPages" }] : /* istanbul ignore next */ []));
|
|
184
|
+
this._hasPreviousPage = computed(() => this._pageIndex() >= 1 && this.pageSize() !== 0, ...(ngDevMode ? [{ debugName: "_hasPreviousPage" }] : /* istanbul ignore next */ []));
|
|
185
185
|
this._hasNextPage = computed(() => {
|
|
186
186
|
const maxPageIndex = this._numberOfPages() - 1;
|
|
187
187
|
return this._pageIndex() < maxPageIndex && this.pageSize() !== 0;
|
|
188
|
-
}, ...(ngDevMode ? [{ debugName: "_hasNextPage" }] : []));
|
|
189
|
-
this._isPreviousButtonDisabled = computed(() => this.disabled() || !this._hasPreviousPage(), ...(ngDevMode ? [{ debugName: "_isPreviousButtonDisabled" }] : []));
|
|
190
|
-
this._isNextButtonDisabled = computed(() => this.disabled() || !this._hasNextPage(), ...(ngDevMode ? [{ debugName: "_isNextButtonDisabled" }] : []));
|
|
188
|
+
}, ...(ngDevMode ? [{ debugName: "_hasNextPage" }] : /* istanbul ignore next */ []));
|
|
189
|
+
this._isPreviousButtonDisabled = computed(() => this.disabled() || !this._hasPreviousPage(), ...(ngDevMode ? [{ debugName: "_isPreviousButtonDisabled" }] : /* istanbul ignore next */ []));
|
|
190
|
+
this._isNextButtonDisabled = computed(() => this.disabled() || !this._hasNextPage(), ...(ngDevMode ? [{ debugName: "_isNextButtonDisabled" }] : /* istanbul ignore next */ []));
|
|
191
191
|
// eslint-disable-next-line arrow-body-style
|
|
192
192
|
this._pageButtonLabels = computed(() => {
|
|
193
193
|
return this.compactLayout()
|
|
194
194
|
? []
|
|
195
195
|
: this._getPageButtonLabels(this._pageIndex(), this._numberOfPages(), this.showAllPages(), this.maxDisplayedItemCount(), this.showPageButtons());
|
|
196
|
-
}, ...(ngDevMode ? [{ debugName: "_pageButtonLabels" }] : []));
|
|
196
|
+
}, ...(ngDevMode ? [{ debugName: "_pageButtonLabels" }] : /* istanbul ignore next */ []));
|
|
197
197
|
this.pageChanged = output();
|
|
198
198
|
this._intl.changes.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this._changeDetectorRef.markForCheck());
|
|
199
199
|
this._pageEventDebouncer.pipe(debounceTime(this._defaultConfig.debounceTime), takeUntilDestroyed(this._destroyRef)).subscribe((pageEvent) => {
|
|
@@ -301,15 +301,15 @@ class IdsPaginatorComponent extends ComponentBaseWithDefaults {
|
|
|
301
301
|
length: this.length(),
|
|
302
302
|
});
|
|
303
303
|
}
|
|
304
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
305
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
304
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
305
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IdsPaginatorComponent, isStandalone: true, selector: "ids-paginator", inputs: { pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, showFirstLastButton: { classPropertyName: "showFirstLastButton", publicName: "showFirstLastButton", isSignal: true, isRequired: false, transformFunction: null }, showPrevNextLabel: { classPropertyName: "showPrevNextLabel", publicName: "showPrevNextLabel", isSignal: true, isRequired: false, transformFunction: null }, showPageInfo: { classPropertyName: "showPageInfo", publicName: "showPageInfo", isSignal: true, isRequired: false, transformFunction: null }, showPageButtons: { classPropertyName: "showPageButtons", publicName: "showPageButtons", isSignal: true, isRequired: false, transformFunction: null }, showAllPages: { classPropertyName: "showAllPages", publicName: "showAllPages", isSignal: true, isRequired: false, transformFunction: null }, maxDisplayedItemCount: { classPropertyName: "maxDisplayedItemCount", publicName: "maxDisplayedItemCount", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, pageButtonAppearance: { classPropertyName: "pageButtonAppearance", publicName: "pageButtonAppearance", isSignal: true, isRequired: false, transformFunction: null }, length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, compactLayout: { classPropertyName: "compactLayout", publicName: "compactLayout", isSignal: true, isRequired: false, transformFunction: null }, pageIndex: { classPropertyName: "pageIndex", publicName: "pageIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageIndex: "pageIndexChange", pageChanged: "pageChanged" }, host: { listeners: { "keydown": "_handleKeyDown($event)" } }, usesInheritance: true, ngImport: i0, template: "<nav class=\"ids-paginator__navigation-container\">\n @if (showFirstLastButton()) {\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow first\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isPreviousButtonDisabled()\"\n [attr.aria-label]=\"_intl.firstPageAriaLabel\"\n (click)=\"stepFirstPage()\"\n >\n <ids-icon fontIcon=\"chevron-double-left\" [size]=\"size()\" />\n </button>\n }\n\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow previous\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isPreviousButtonDisabled()\"\n [attr.aria-label]=\"_intl.previousPageAriaLabel\"\n (click)=\"stepPreviousPage()\"\n >\n <ids-icon fontIcon=\"chevron-left\" [size]=\"size()\" />\n @if (showPrevNextLabel() && compactLayout()) {\n <span class=\"ids-paginator__page-button-arrow__label\">{{ _intl.previousPageLabel }}</span>\n }\n </button>\n\n @if (showPageButtons() && !compactLayout()) {\n <ul class=\"ids-paginator__page-button-container\">\n @for (pageButtonLabel of _pageButtonLabels(); track pageButtonLabel) {\n <li>\n @if (pageButtonLabel === \"tl\" || pageButtonLabel === \"tr\") {\n <button type=\"button\" disabled class=\"ids-paginator__page-button-truncation\" [class]=\"_pageButtonClasses()\">\n <ids-icon fontIcon=\"more-horiz\" [size]=\"size()\" />\n </button>\n } @else {\n <button\n #pageButtonElement\n type=\"button\"\n class=\"ids-paginator__page-button\"\n [id]=\"_pageButtonIdPrefix() + pageButtonLabel\"\n [disabled]=\"disabled()\"\n [class]=\"_pageButtonClasses()\"\n [class.active]=\"+pageButtonLabel === _pageIndex() + 1\"\n [attr.aria-label]=\"_intl.getPageAriaLabel(pageButtonLabel)\"\n [attr.aria-current]=\"+pageButtonLabel === _pageIndex() + 1 ? 'page' : null\"\n (click)=\"stepPage(+pageButtonLabel - 1)\"\n >\n <span>{{ pageButtonLabel }}</span>\n </button>\n }\n </li>\n }\n </ul>\n }\n\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow next\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isNextButtonDisabled()\"\n [attr.aria-label]=\"_intl.nextPageAriaLabel\"\n (click)=\"stepNextPage()\"\n >\n @if (showPrevNextLabel() && compactLayout()) {\n <span class=\"ids-paginator__page-button-arrow__label\">{{ _intl.nextPageLabel }}</span>\n }\n <ids-icon fontIcon=\"chevron-right\" [size]=\"size()\" />\n </button>\n\n @if (showFirstLastButton()) {\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow last\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isNextButtonDisabled()\"\n [attr.aria-label]=\"_intl.lastPageAriaLabel\"\n (click)=\"stepLastPage()\"\n >\n <ids-icon fontIcon=\"chevron-double-right\" [size]=\"size()\" />\n </button>\n }\n\n <span class=\"ids-paginator__help-text\" [class.sr-only]=\"!showPageInfo()\">{{\n _intl.getRangeLabel(_pageIndex(), _safePageSizeData().safePageSize, length())\n }}</span>\n</nav>\n", dependencies: [{ kind: "component", type: IdsIconComponent, selector: "ids-icon", inputs: ["size", "sizeCollection", "variant", "fontIcon", "svgIcon", "aria-hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
306
306
|
}
|
|
307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
307
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IdsPaginatorComponent, decorators: [{
|
|
308
308
|
type: Component,
|
|
309
309
|
args: [{ selector: 'ids-paginator', imports: [IdsIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
310
310
|
'(keydown)': '_handleKeyDown($event)',
|
|
311
311
|
}, template: "<nav class=\"ids-paginator__navigation-container\">\n @if (showFirstLastButton()) {\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow first\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isPreviousButtonDisabled()\"\n [attr.aria-label]=\"_intl.firstPageAriaLabel\"\n (click)=\"stepFirstPage()\"\n >\n <ids-icon fontIcon=\"chevron-double-left\" [size]=\"size()\" />\n </button>\n }\n\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow previous\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isPreviousButtonDisabled()\"\n [attr.aria-label]=\"_intl.previousPageAriaLabel\"\n (click)=\"stepPreviousPage()\"\n >\n <ids-icon fontIcon=\"chevron-left\" [size]=\"size()\" />\n @if (showPrevNextLabel() && compactLayout()) {\n <span class=\"ids-paginator__page-button-arrow__label\">{{ _intl.previousPageLabel }}</span>\n }\n </button>\n\n @if (showPageButtons() && !compactLayout()) {\n <ul class=\"ids-paginator__page-button-container\">\n @for (pageButtonLabel of _pageButtonLabels(); track pageButtonLabel) {\n <li>\n @if (pageButtonLabel === \"tl\" || pageButtonLabel === \"tr\") {\n <button type=\"button\" disabled class=\"ids-paginator__page-button-truncation\" [class]=\"_pageButtonClasses()\">\n <ids-icon fontIcon=\"more-horiz\" [size]=\"size()\" />\n </button>\n } @else {\n <button\n #pageButtonElement\n type=\"button\"\n class=\"ids-paginator__page-button\"\n [id]=\"_pageButtonIdPrefix() + pageButtonLabel\"\n [disabled]=\"disabled()\"\n [class]=\"_pageButtonClasses()\"\n [class.active]=\"+pageButtonLabel === _pageIndex() + 1\"\n [attr.aria-label]=\"_intl.getPageAriaLabel(pageButtonLabel)\"\n [attr.aria-current]=\"+pageButtonLabel === _pageIndex() + 1 ? 'page' : null\"\n (click)=\"stepPage(+pageButtonLabel - 1)\"\n >\n <span>{{ pageButtonLabel }}</span>\n </button>\n }\n </li>\n }\n </ul>\n }\n\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow next\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isNextButtonDisabled()\"\n [attr.aria-label]=\"_intl.nextPageAriaLabel\"\n (click)=\"stepNextPage()\"\n >\n @if (showPrevNextLabel() && compactLayout()) {\n <span class=\"ids-paginator__page-button-arrow__label\">{{ _intl.nextPageLabel }}</span>\n }\n <ids-icon fontIcon=\"chevron-right\" [size]=\"size()\" />\n </button>\n\n @if (showFirstLastButton()) {\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow last\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isNextButtonDisabled()\"\n [attr.aria-label]=\"_intl.lastPageAriaLabel\"\n (click)=\"stepLastPage()\"\n >\n <ids-icon fontIcon=\"chevron-double-right\" [size]=\"size()\" />\n </button>\n }\n\n <span class=\"ids-paginator__help-text\" [class.sr-only]=\"!showPageInfo()\">{{\n _intl.getRangeLabel(_pageIndex(), _safePageSizeData().safePageSize, length())\n }}</span>\n</nav>\n" }]
|
|
312
|
-
}], ctorParameters: () => [] });
|
|
312
|
+
}], ctorParameters: () => [], propDecorators: { pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }], pageSizeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeOptions", required: false }] }], showFirstLastButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showFirstLastButton", required: false }] }], showPrevNextLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPrevNextLabel", required: false }] }], showPageInfo: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPageInfo", required: false }] }], showPageButtons: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPageButtons", required: false }] }], showAllPages: [{ type: i0.Input, args: [{ isSignal: true, alias: "showAllPages", required: false }] }], maxDisplayedItemCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDisplayedItemCount", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], pageButtonAppearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageButtonAppearance", required: false }] }], length: [{ type: i0.Input, args: [{ isSignal: true, alias: "length", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], compactLayout: [{ type: i0.Input, args: [{ isSignal: true, alias: "compactLayout", required: false }] }], pageIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageIndex", required: false }] }, { type: i0.Output, args: ["pageIndexChange"] }], pageChanged: [{ type: i0.Output, args: ["pageChanged"] }] } });
|
|
313
313
|
|
|
314
314
|
/**
|
|
315
315
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-cell-ids-angular-paginator.mjs","sources":["../../../projects/widgets/paginator/types/paginator-appearance.type.ts","../../../projects/widgets/paginator/types/paginator-events.class.ts","../../../projects/widgets/paginator/types/paginator-variant.type.ts","../../../projects/widgets/paginator/paginator-defaults.ts","../../../projects/widgets/paginator/paginator-intl.ts","../../../projects/widgets/paginator/paginator.component.ts","../../../projects/widgets/paginator/paginator.component.html","../../../projects/widgets/paginator/i-cell-ids-angular-paginator.ts"],"sourcesContent":["export const IdsPaginatorPageButtonAppearance = {\n PLAIN: 'plain',\n} as const;\n\nexport type IdsPaginatorPageButtonAppearanceType = (typeof IdsPaginatorPageButtonAppearance)[keyof typeof IdsPaginatorPageButtonAppearance];\n","export class IdsPaginatorPageChangeEvent {\n public pageIndex!: number;\n public previousPageIndex?: number;\n public pageSize!: number;\n public length!: number;\n}\n","export const IdsPaginatorVariant = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsPaginatorVariantType = (typeof IdsPaginatorVariant)[keyof typeof IdsPaginatorVariant];\n","/* eslint-disable no-magic-numbers */\nimport { IdsPaginatorPageButtonAppearance, IdsPaginatorPageButtonAppearanceType } from './types/paginator-appearance.type';\nimport { IdsPaginatorVariant, IdsPaginatorVariantType } from './types/paginator-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSizeType, IdsSize } from '@i-cell/ids-angular/core';\n\nexport const DEFAULT_PAGE_SIZE = 10;\nexport const MAX_DISPLAYED_ITEM_COUNT = 7;\n\nexport interface IdsPaginatorDefaultConfig {\n pageSize?: number\n pageSizeOptions?: number[]\n showFirstLastButton?: boolean\n showPrevNextLabel?: boolean\n showPageInfo?: boolean\n showPageButtons?: boolean\n showAllPages?: boolean\n maxDisplayedItemCount?: number\n size?: IdsSizeType\n variant?: IdsPaginatorVariantType\n pageButtonAppearance?: IdsPaginatorPageButtonAppearanceType\n debounceTime: number\n}\n\nexport const IDS_PAGINATOR_DEFAULT_CONFIG = new InjectionToken<IdsPaginatorDefaultConfig>(\n 'IDS_PAGINATOR_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_PAGINATOR_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_PAGINATOR_DEFAULT_CONFIG_FACTORY(): Required<IdsPaginatorDefaultConfig> {\n return {\n pageSize: DEFAULT_PAGE_SIZE,\n pageSizeOptions: [\n 10,\n 20,\n 50,\n 100,\n ],\n showFirstLastButton: true,\n showPrevNextLabel: false,\n showPageInfo: true,\n showPageButtons: true,\n showAllPages: false,\n maxDisplayedItemCount: MAX_DISPLAYED_ITEM_COUNT,\n size: IdsSize.COMPACT,\n variant: IdsPaginatorVariant.SURFACE,\n pageButtonAppearance: IdsPaginatorPageButtonAppearance.PLAIN,\n debounceTime: 300,\n };\n}\n","import { Injectable, Optional, SkipSelf } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class IdsPaginatorIntl {\n public readonly changes: Subject<void> = new Subject<void>();\n\n public nextPageLabel = 'Next';\n public previousPageLabel = 'Previous';\n public nextPageAriaLabel = 'Go to next page';\n public previousPageAriaLabel = 'Go to previous page';\n public firstPageAriaLabel = 'Go to first page';\n public lastPageAriaLabel = 'Go to last page';\n\n public getPageAriaLabel = (page: string): string => `Go to page ${page}`;\n\n public getRangeLabel = (page: number, pageSize: number, length: number): string => {\n if (length === 0 || pageSize === 0) {\n return 'Page 0 of 0';\n }\n\n const maxPageCount = Math.ceil(length / pageSize);\n\n return `Page ${page + 1} of ${maxPageCount}`;\n };\n}\n\n/** @docs-private */\nexport function IDS_PAGINATOR_INTL_PROVIDER_FACTORY(parentIntl?: IdsPaginatorIntl): IdsPaginatorIntl {\n return parentIntl || new IdsPaginatorIntl();\n}\n\n/** @docs-private */\nexport const IDS_PAGINATOR_INTL_PROVIDER = {\n // If there is already an IdsPaginatorIntl available, use that. Otherwise, provide a new one.\n provide: IdsPaginatorIntl,\n deps: [\n [\n new Optional(),\n new SkipSelf(),\n IdsPaginatorIntl,\n ],\n ],\n useFactory: IDS_PAGINATOR_INTL_PROVIDER_FACTORY,\n};\n","import { DEFAULT_PAGE_SIZE, IDS_PAGINATOR_DEFAULT_CONFIG, IDS_PAGINATOR_DEFAULT_CONFIG_FACTORY, IdsPaginatorDefaultConfig } from './paginator-defaults';\nimport { IdsPaginatorIntl } from './paginator-intl';\nimport { IdsPaginatorPageButtonAppearanceType } from './types/paginator-appearance.type';\nimport { IdsPaginatorPageChangeEvent } from './types/paginator-events.class';\nimport { IdsPaginatorVariantType } from './types/paginator-variant.type';\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, effect, ElementRef, inject, input, isDevMode, model, output, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { createClassList, isNumberEven, IdsSizeType, coerceNumberAttribute, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { debounceTime, Subject } from 'rxjs';\n\nconst defaultConfig = IDS_PAGINATOR_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-paginator',\n imports: [IdsIconComponent],\n templateUrl: './paginator.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(keydown)': '_handleKeyDown($event)',\n },\n})\nexport class IdsPaginatorComponent extends ComponentBaseWithDefaults<IdsPaginatorDefaultConfig> {\n protected override get _hostName(): string {\n return 'paginator';\n }\n\n private readonly _changeDetectorRef = inject(ChangeDetectorRef);\n private readonly _hostElementRef = inject(ElementRef);\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_PAGINATOR_DEFAULT_CONFIG);\n\n private _pageEventDebouncer = new Subject<IdsPaginatorPageChangeEvent>();\n\n protected readonly _intl = inject(IdsPaginatorIntl);\n\n public pageSize = input<number, unknown>(this._defaultConfig.pageSize, { transform: coerceNumberAttribute });\n public pageSizeOptions = input<number[]>(this._defaultConfig.pageSizeOptions);\n public showFirstLastButton = input<boolean>(this._defaultConfig.showFirstLastButton);\n public showPrevNextLabel = input<boolean>(this._defaultConfig.showPrevNextLabel);\n public showPageInfo = input<boolean>(this._defaultConfig.showPageInfo);\n public showPageButtons = input<boolean>(this._defaultConfig.showPageButtons);\n public showAllPages = input<boolean>(this._defaultConfig.showAllPages);\n public maxDisplayedItemCount = input<number>(this._defaultConfig.maxDisplayedItemCount);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsPaginatorVariantType>(this._defaultConfig.variant);\n public pageButtonAppearance = input<IdsPaginatorPageButtonAppearanceType>(this._defaultConfig.pageButtonAppearance);\n /** The total number of items that are being paginated. */\n public length = input.required<number, number>({ transform: coerceNumberAttribute });\n public disabled = input<boolean>(false);\n public compactLayout = input<boolean>(false);\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.variant(),\n this.compactLayout() ? 'compact-layout' : null,\n ]));\n\n protected _pageButtonClasses = computed(() => createClassList('ids-paginator__page-button', [this.pageButtonAppearance()]));\n\n protected _safePageSizeData = computed(() => this._getSafePageSizeData(this.pageSizeOptions(), this.pageSize()));\n protected _pageButtonIdPrefix = computed(() => `${this.id()}__page-button-`);\n\n /**\n * The index (0 based!) of the currently selected page.\n *\n * Usage note (!):\n * In case paging initiates an async process to update the data and an error occurs the pageIndex needs to be reset to the previous value from the outside.\n * If `pageIndex` is only 1-way bound (input) the model signal's value won't be updated, it needs 2-way binding!\n * Possible cause: https://github.com/angular/angular/issues/57124\n */\n public pageIndex = model(0);\n\n private _pageIndexValidation = effect(() => {\n const pageIndex = this._pageIndex();\n const numberOfPages = this._numberOfPages();\n if (pageIndex > 0 && numberOfPages < (pageIndex + 1)) {\n this.stepPage(0);\n }\n });\n\n protected _pageIndex = computed(() => Math.max(coerceNumberAttribute(this.pageIndex()) || 0, 0));\n\n private _numberOfPages = computed(() => {\n if (!this.pageSize()) {\n return 0;\n }\n return Math.ceil(this.length() / this.pageSize());\n });\n\n private _hasPreviousPage = computed(() =>\n this._pageIndex() >= 1 && this.pageSize() !== 0,\n );\n\n private _hasNextPage = computed(() => {\n const maxPageIndex = this._numberOfPages() - 1;\n return this._pageIndex() < maxPageIndex && this.pageSize() !== 0;\n });\n\n protected _isPreviousButtonDisabled = computed(() => this.disabled() || !this._hasPreviousPage());\n protected _isNextButtonDisabled = computed(() => this.disabled() || !this._hasNextPage());\n\n // eslint-disable-next-line arrow-body-style\n protected _pageButtonLabels = computed<string[]>(() => {\n return this.compactLayout()\n ? []\n : this._getPageButtonLabels(\n this._pageIndex(), this._numberOfPages(), this.showAllPages(), this.maxDisplayedItemCount(), this.showPageButtons(),\n );\n });\n\n public pageChanged = output<IdsPaginatorPageChangeEvent>();\n\n private _handleKeyDown(event: KeyboardEvent): void {\n event.stopPropagation();\n // eslint-disable-next-line @stylistic/js/array-bracket-newline, @stylistic/js/array-element-newline\n const navigationKeys = ['ArrowLeft', 'ArrowRight', 'PageDown', 'PageUp', 'Home', 'End'];\n\n switch (event.key) {\n case 'ArrowLeft':\n case 'PageDown':\n event.preventDefault();\n this.stepPreviousPage();\n break;\n case 'ArrowRight':\n case 'PageUp':\n event.preventDefault();\n this.stepNextPage();\n break;\n case 'Home':\n event.preventDefault();\n this.stepFirstPage();\n break;\n case 'End':\n event.preventDefault();\n this.stepLastPage();\n break;\n default:\n break;\n }\n\n if (event.key !== 'Tab' && navigationKeys.includes(event.key)) {\n const pageButtonId = `${this._pageButtonIdPrefix()}${this._pageIndex() + 1}`; // after navigation pageIndex is new value now\n const button = this._hostElementRef.nativeElement.querySelector(`button#${pageButtonId}`);\n button?.focus();\n }\n }\n\n constructor() {\n super();\n\n this._intl.changes.pipe(\n takeUntilDestroyed(this._destroyRef),\n ).subscribe(() => this._changeDetectorRef.markForCheck());\n\n this._pageEventDebouncer.pipe(\n debounceTime(this._defaultConfig.debounceTime),\n takeUntilDestroyed(this._destroyRef),\n ).subscribe((pageEvent) => {\n this.pageChanged.emit(pageEvent);\n });\n }\n\n private _getSafePageSizeData(\n pageSizeOptions: number[],\n pageSize: number,\n ): { safePageSizeOptions: number[], safePageSize: number } {\n if (isDevMode() && (!pageSize || pageSize < 0)) {\n throw this._createHostError('invalid pageSize value. Must be a number and greater than 0');\n }\n\n const safePageSizeOptions = pageSizeOptions.slice();\n if (isDevMode() && !safePageSizeOptions.includes(pageSize)) {\n throw this._createHostError('invalid pageSize. pageSizeOptions not includes pageSize. Use an item from pageSizeOptions.');\n }\n safePageSizeOptions.sort((a, b) => a - b);\n const safePageSize: number = safePageSizeOptions.length !== 0 ? safePageSizeOptions[0] : DEFAULT_PAGE_SIZE;\n\n return {\n safePageSize,\n safePageSizeOptions,\n };\n }\n\n private _getPageButtonLabels(\n pageIndex: number, numberOfPages: number, showAllPages: boolean, maxDisplayedItemCount: number, enabled: boolean,\n ): string[] {\n const allPages = [...Array(numberOfPages).keys()].map((item) => (item + 1).toString());\n if (!enabled) {\n return [];\n }\n if (showAllPages || numberOfPages <= maxDisplayedItemCount) {\n return allPages;\n }\n\n return this._getTruncatedPageLabels(allPages, pageIndex, maxDisplayedItemCount);\n }\n\n private _getTruncatedPageLabels(\n allPages: string[],\n pageIndex: number,\n maxDisplayedItemCount: number,\n ): string[] {\n if (isDevMode() && isNumberEven(maxDisplayedItemCount)) {\n throw this._createHostError('maxDisplayedItemCount should be an odd number');\n }\n const center = Math.ceil(maxDisplayedItemCount / 2);\n const actualPage = pageIndex + 1;\n const lastPage = +(allPages.at(-1)!);\n const isTruncatedRight = actualPage <= center;\n const isTruncatedBoth = actualPage > center && actualPage <= lastPage - center;\n const isTruncatedLeft = actualPage > lastPage - center;\n\n if (isTruncatedRight) {\n const x = maxDisplayedItemCount - 2; // 2 = 1 last page, 1 truncation\n return [\n ...allPages.slice(0, x),\n 'tr',\n lastPage.toString(),\n ];\n }\n\n if (isTruncatedBoth) {\n // eslint-disable-next-line no-magic-numbers\n const x = (maxDisplayedItemCount - 5) / 2; // 5 = 1 fist page + 1 last page + 2 truncation + 1 actual page\n return [\n '1',\n 'tl',\n ...allPages.slice(pageIndex - x, pageIndex + x + 1),\n 'tr',\n lastPage.toString(),\n ];\n }\n\n if (isTruncatedLeft) {\n const x = maxDisplayedItemCount - 2; // 2 = 1 last page, 1 truncation\n return [\n '1',\n 'tl',\n ...allPages.slice(lastPage - x),\n ];\n }\n\n return [];\n }\n\n public stepNextPage(): void {\n if (!this._hasNextPage()) {\n return;\n }\n this.stepPage(this._pageIndex() + 1);\n }\n\n public stepPreviousPage(): void {\n if (!this._hasPreviousPage()) {\n return;\n }\n this.stepPage(this._pageIndex() - 1);\n }\n\n public stepFirstPage(): void {\n if (!this._hasPreviousPage()) {\n return;\n }\n this.stepPage(0);\n }\n\n public stepLastPage(): void {\n if (!this._hasNextPage()) {\n return;\n }\n this.stepPage(this._numberOfPages() - 1);\n }\n\n public stepPage(pageIndex: number): void {\n const previousPageIndex = this._pageIndex();\n this.pageIndex.set(pageIndex);\n this._debouncePageEvent(previousPageIndex, pageIndex);\n }\n\n private _debouncePageEvent(previousPageIndex: number, pageIndex: number): void {\n this._pageEventDebouncer.next({\n previousPageIndex,\n pageIndex,\n pageSize: this.pageSize(),\n length: this.length(),\n });\n }\n}\n","<nav class=\"ids-paginator__navigation-container\">\n @if (showFirstLastButton()) {\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow first\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isPreviousButtonDisabled()\"\n [attr.aria-label]=\"_intl.firstPageAriaLabel\"\n (click)=\"stepFirstPage()\"\n >\n <ids-icon fontIcon=\"chevron-double-left\" [size]=\"size()\" />\n </button>\n }\n\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow previous\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isPreviousButtonDisabled()\"\n [attr.aria-label]=\"_intl.previousPageAriaLabel\"\n (click)=\"stepPreviousPage()\"\n >\n <ids-icon fontIcon=\"chevron-left\" [size]=\"size()\" />\n @if (showPrevNextLabel() && compactLayout()) {\n <span class=\"ids-paginator__page-button-arrow__label\">{{ _intl.previousPageLabel }}</span>\n }\n </button>\n\n @if (showPageButtons() && !compactLayout()) {\n <ul class=\"ids-paginator__page-button-container\">\n @for (pageButtonLabel of _pageButtonLabels(); track pageButtonLabel) {\n <li>\n @if (pageButtonLabel === \"tl\" || pageButtonLabel === \"tr\") {\n <button type=\"button\" disabled class=\"ids-paginator__page-button-truncation\" [class]=\"_pageButtonClasses()\">\n <ids-icon fontIcon=\"more-horiz\" [size]=\"size()\" />\n </button>\n } @else {\n <button\n #pageButtonElement\n type=\"button\"\n class=\"ids-paginator__page-button\"\n [id]=\"_pageButtonIdPrefix() + pageButtonLabel\"\n [disabled]=\"disabled()\"\n [class]=\"_pageButtonClasses()\"\n [class.active]=\"+pageButtonLabel === _pageIndex() + 1\"\n [attr.aria-label]=\"_intl.getPageAriaLabel(pageButtonLabel)\"\n [attr.aria-current]=\"+pageButtonLabel === _pageIndex() + 1 ? 'page' : null\"\n (click)=\"stepPage(+pageButtonLabel - 1)\"\n >\n <span>{{ pageButtonLabel }}</span>\n </button>\n }\n </li>\n }\n </ul>\n }\n\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow next\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isNextButtonDisabled()\"\n [attr.aria-label]=\"_intl.nextPageAriaLabel\"\n (click)=\"stepNextPage()\"\n >\n @if (showPrevNextLabel() && compactLayout()) {\n <span class=\"ids-paginator__page-button-arrow__label\">{{ _intl.nextPageLabel }}</span>\n }\n <ids-icon fontIcon=\"chevron-right\" [size]=\"size()\" />\n </button>\n\n @if (showFirstLastButton()) {\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow last\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isNextButtonDisabled()\"\n [attr.aria-label]=\"_intl.lastPageAriaLabel\"\n (click)=\"stepLastPage()\"\n >\n <ids-icon fontIcon=\"chevron-double-right\" [size]=\"size()\" />\n </button>\n }\n\n <span class=\"ids-paginator__help-text\" [class.sr-only]=\"!showPageInfo()\">{{\n _intl.getRangeLabel(_pageIndex(), _safePageSizeData().safePageSize, length())\n }}</span>\n</nav>\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-paginator.mjs","sources":["../../../projects/widgets/paginator/types/paginator-appearance.type.ts","../../../projects/widgets/paginator/types/paginator-events.class.ts","../../../projects/widgets/paginator/types/paginator-variant.type.ts","../../../projects/widgets/paginator/paginator-defaults.ts","../../../projects/widgets/paginator/paginator-intl.ts","../../../projects/widgets/paginator/paginator.component.ts","../../../projects/widgets/paginator/paginator.component.html","../../../projects/widgets/paginator/i-cell-ids-angular-paginator.ts"],"sourcesContent":["export const IdsPaginatorPageButtonAppearance = {\n PLAIN: 'plain',\n} as const;\n\nexport type IdsPaginatorPageButtonAppearanceType = (typeof IdsPaginatorPageButtonAppearance)[keyof typeof IdsPaginatorPageButtonAppearance];\n","export class IdsPaginatorPageChangeEvent {\n public pageIndex!: number;\n public previousPageIndex?: number;\n public pageSize!: number;\n public length!: number;\n}\n","export const IdsPaginatorVariant = {\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n SURFACE: 'surface',\n LIGHT: 'light',\n} as const;\n\nexport type IdsPaginatorVariantType = (typeof IdsPaginatorVariant)[keyof typeof IdsPaginatorVariant];\n","/* eslint-disable no-magic-numbers */\nimport { IdsPaginatorPageButtonAppearance, IdsPaginatorPageButtonAppearanceType } from './types/paginator-appearance.type';\nimport { IdsPaginatorVariant, IdsPaginatorVariantType } from './types/paginator-variant.type';\n\nimport { InjectionToken } from '@angular/core';\nimport { IdsSizeType, IdsSize } from '@i-cell/ids-angular/core';\n\nexport const DEFAULT_PAGE_SIZE = 10;\nexport const MAX_DISPLAYED_ITEM_COUNT = 7;\n\nexport interface IdsPaginatorDefaultConfig {\n pageSize?: number\n pageSizeOptions?: number[]\n showFirstLastButton?: boolean\n showPrevNextLabel?: boolean\n showPageInfo?: boolean\n showPageButtons?: boolean\n showAllPages?: boolean\n maxDisplayedItemCount?: number\n size?: IdsSizeType\n variant?: IdsPaginatorVariantType\n pageButtonAppearance?: IdsPaginatorPageButtonAppearanceType\n debounceTime: number\n}\n\nexport const IDS_PAGINATOR_DEFAULT_CONFIG = new InjectionToken<IdsPaginatorDefaultConfig>(\n 'IDS_PAGINATOR_DEFAULT_CONFIG',\n {\n providedIn: 'root',\n factory: IDS_PAGINATOR_DEFAULT_CONFIG_FACTORY,\n },\n);\n\nexport function IDS_PAGINATOR_DEFAULT_CONFIG_FACTORY(): Required<IdsPaginatorDefaultConfig> {\n return {\n pageSize: DEFAULT_PAGE_SIZE,\n pageSizeOptions: [\n 10,\n 20,\n 50,\n 100,\n ],\n showFirstLastButton: true,\n showPrevNextLabel: false,\n showPageInfo: true,\n showPageButtons: true,\n showAllPages: false,\n maxDisplayedItemCount: MAX_DISPLAYED_ITEM_COUNT,\n size: IdsSize.COMPACT,\n variant: IdsPaginatorVariant.SURFACE,\n pageButtonAppearance: IdsPaginatorPageButtonAppearance.PLAIN,\n debounceTime: 300,\n };\n}\n","import { Injectable, Optional, SkipSelf } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class IdsPaginatorIntl {\n public readonly changes: Subject<void> = new Subject<void>();\n\n public nextPageLabel = 'Next';\n public previousPageLabel = 'Previous';\n public nextPageAriaLabel = 'Go to next page';\n public previousPageAriaLabel = 'Go to previous page';\n public firstPageAriaLabel = 'Go to first page';\n public lastPageAriaLabel = 'Go to last page';\n\n public getPageAriaLabel = (page: string): string => `Go to page ${page}`;\n\n public getRangeLabel = (page: number, pageSize: number, length: number): string => {\n if (length === 0 || pageSize === 0) {\n return 'Page 0 of 0';\n }\n\n const maxPageCount = Math.ceil(length / pageSize);\n\n return `Page ${page + 1} of ${maxPageCount}`;\n };\n}\n\n/** @docs-private */\nexport function IDS_PAGINATOR_INTL_PROVIDER_FACTORY(parentIntl?: IdsPaginatorIntl): IdsPaginatorIntl {\n return parentIntl || new IdsPaginatorIntl();\n}\n\n/** @docs-private */\nexport const IDS_PAGINATOR_INTL_PROVIDER = {\n // If there is already an IdsPaginatorIntl available, use that. Otherwise, provide a new one.\n provide: IdsPaginatorIntl,\n deps: [\n [\n new Optional(),\n new SkipSelf(),\n IdsPaginatorIntl,\n ],\n ],\n useFactory: IDS_PAGINATOR_INTL_PROVIDER_FACTORY,\n};\n","import { DEFAULT_PAGE_SIZE, IDS_PAGINATOR_DEFAULT_CONFIG, IDS_PAGINATOR_DEFAULT_CONFIG_FACTORY, IdsPaginatorDefaultConfig } from './paginator-defaults';\nimport { IdsPaginatorIntl } from './paginator-intl';\nimport { IdsPaginatorPageButtonAppearanceType } from './types/paginator-appearance.type';\nimport { IdsPaginatorPageChangeEvent } from './types/paginator-events.class';\nimport { IdsPaginatorVariantType } from './types/paginator-variant.type';\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, effect, ElementRef, inject, input, isDevMode, model, output, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { createClassList, isNumberEven, IdsSizeType, coerceNumberAttribute, ComponentBaseWithDefaults } from '@i-cell/ids-angular/core';\nimport { IdsIconComponent } from '@i-cell/ids-angular/icon';\nimport { debounceTime, Subject } from 'rxjs';\n\nconst defaultConfig = IDS_PAGINATOR_DEFAULT_CONFIG_FACTORY();\n\n@Component({\n selector: 'ids-paginator',\n imports: [IdsIconComponent],\n templateUrl: './paginator.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(keydown)': '_handleKeyDown($event)',\n },\n})\nexport class IdsPaginatorComponent extends ComponentBaseWithDefaults<IdsPaginatorDefaultConfig> {\n protected override get _hostName(): string {\n return 'paginator';\n }\n\n private readonly _changeDetectorRef = inject(ChangeDetectorRef);\n private readonly _hostElementRef = inject(ElementRef);\n protected readonly _defaultConfig = this._getDefaultConfig(defaultConfig, IDS_PAGINATOR_DEFAULT_CONFIG);\n\n private _pageEventDebouncer = new Subject<IdsPaginatorPageChangeEvent>();\n\n protected readonly _intl = inject(IdsPaginatorIntl);\n\n public pageSize = input<number, unknown>(this._defaultConfig.pageSize, { transform: coerceNumberAttribute });\n public pageSizeOptions = input<number[]>(this._defaultConfig.pageSizeOptions);\n public showFirstLastButton = input<boolean>(this._defaultConfig.showFirstLastButton);\n public showPrevNextLabel = input<boolean>(this._defaultConfig.showPrevNextLabel);\n public showPageInfo = input<boolean>(this._defaultConfig.showPageInfo);\n public showPageButtons = input<boolean>(this._defaultConfig.showPageButtons);\n public showAllPages = input<boolean>(this._defaultConfig.showAllPages);\n public maxDisplayedItemCount = input<number>(this._defaultConfig.maxDisplayedItemCount);\n public size = input<IdsSizeType>(this._defaultConfig.size);\n public variant = input<IdsPaginatorVariantType>(this._defaultConfig.variant);\n public pageButtonAppearance = input<IdsPaginatorPageButtonAppearanceType>(this._defaultConfig.pageButtonAppearance);\n /** The total number of items that are being paginated. */\n public length = input.required<number, number>({ transform: coerceNumberAttribute });\n public disabled = input<boolean>(false);\n public compactLayout = input<boolean>(false);\n\n protected _hostClasses = computed(() => this._getHostClasses([\n this.size(),\n this.variant(),\n this.compactLayout() ? 'compact-layout' : null,\n ]));\n\n protected _pageButtonClasses = computed(() => createClassList('ids-paginator__page-button', [this.pageButtonAppearance()]));\n\n protected _safePageSizeData = computed(() => this._getSafePageSizeData(this.pageSizeOptions(), this.pageSize()));\n protected _pageButtonIdPrefix = computed(() => `${this.id()}__page-button-`);\n\n /**\n * The index (0 based!) of the currently selected page.\n *\n * Usage note (!):\n * In case paging initiates an async process to update the data and an error occurs the pageIndex needs to be reset to the previous value from the outside.\n * If `pageIndex` is only 1-way bound (input) the model signal's value won't be updated, it needs 2-way binding!\n * Possible cause: https://github.com/angular/angular/issues/57124\n */\n public pageIndex = model(0);\n\n private _pageIndexValidation = effect(() => {\n const pageIndex = this._pageIndex();\n const numberOfPages = this._numberOfPages();\n if (pageIndex > 0 && numberOfPages < (pageIndex + 1)) {\n this.stepPage(0);\n }\n });\n\n protected _pageIndex = computed(() => Math.max(coerceNumberAttribute(this.pageIndex()) || 0, 0));\n\n private _numberOfPages = computed(() => {\n if (!this.pageSize()) {\n return 0;\n }\n return Math.ceil(this.length() / this.pageSize());\n });\n\n private _hasPreviousPage = computed(() =>\n this._pageIndex() >= 1 && this.pageSize() !== 0,\n );\n\n private _hasNextPage = computed(() => {\n const maxPageIndex = this._numberOfPages() - 1;\n return this._pageIndex() < maxPageIndex && this.pageSize() !== 0;\n });\n\n protected _isPreviousButtonDisabled = computed(() => this.disabled() || !this._hasPreviousPage());\n protected _isNextButtonDisabled = computed(() => this.disabled() || !this._hasNextPage());\n\n // eslint-disable-next-line arrow-body-style\n protected _pageButtonLabels = computed<string[]>(() => {\n return this.compactLayout()\n ? []\n : this._getPageButtonLabels(\n this._pageIndex(), this._numberOfPages(), this.showAllPages(), this.maxDisplayedItemCount(), this.showPageButtons(),\n );\n });\n\n public pageChanged = output<IdsPaginatorPageChangeEvent>();\n\n protected _handleKeyDown(event: KeyboardEvent): void {\n event.stopPropagation();\n // eslint-disable-next-line @stylistic/js/array-bracket-newline, @stylistic/js/array-element-newline\n const navigationKeys = ['ArrowLeft', 'ArrowRight', 'PageDown', 'PageUp', 'Home', 'End'];\n\n switch (event.key) {\n case 'ArrowLeft':\n case 'PageDown':\n event.preventDefault();\n this.stepPreviousPage();\n break;\n case 'ArrowRight':\n case 'PageUp':\n event.preventDefault();\n this.stepNextPage();\n break;\n case 'Home':\n event.preventDefault();\n this.stepFirstPage();\n break;\n case 'End':\n event.preventDefault();\n this.stepLastPage();\n break;\n default:\n break;\n }\n\n if (event.key !== 'Tab' && navigationKeys.includes(event.key)) {\n const pageButtonId = `${this._pageButtonIdPrefix()}${this._pageIndex() + 1}`; // after navigation pageIndex is new value now\n const button = this._hostElementRef.nativeElement.querySelector(`button#${pageButtonId}`);\n button?.focus();\n }\n }\n\n constructor() {\n super();\n\n this._intl.changes.pipe(\n takeUntilDestroyed(this._destroyRef),\n ).subscribe(() => this._changeDetectorRef.markForCheck());\n\n this._pageEventDebouncer.pipe(\n debounceTime(this._defaultConfig.debounceTime),\n takeUntilDestroyed(this._destroyRef),\n ).subscribe((pageEvent) => {\n this.pageChanged.emit(pageEvent);\n });\n }\n\n private _getSafePageSizeData(\n pageSizeOptions: number[],\n pageSize: number,\n ): { safePageSizeOptions: number[], safePageSize: number } {\n if (isDevMode() && (!pageSize || pageSize < 0)) {\n throw this._createHostError('invalid pageSize value. Must be a number and greater than 0');\n }\n\n const safePageSizeOptions = pageSizeOptions.slice();\n if (isDevMode() && !safePageSizeOptions.includes(pageSize)) {\n throw this._createHostError('invalid pageSize. pageSizeOptions not includes pageSize. Use an item from pageSizeOptions.');\n }\n safePageSizeOptions.sort((a, b) => a - b);\n const safePageSize: number = safePageSizeOptions.length !== 0 ? safePageSizeOptions[0] : DEFAULT_PAGE_SIZE;\n\n return {\n safePageSize,\n safePageSizeOptions,\n };\n }\n\n private _getPageButtonLabels(\n pageIndex: number, numberOfPages: number, showAllPages: boolean, maxDisplayedItemCount: number, enabled: boolean,\n ): string[] {\n const allPages = [...Array(numberOfPages).keys()].map((item) => (item + 1).toString());\n if (!enabled) {\n return [];\n }\n if (showAllPages || numberOfPages <= maxDisplayedItemCount) {\n return allPages;\n }\n\n return this._getTruncatedPageLabels(allPages, pageIndex, maxDisplayedItemCount);\n }\n\n private _getTruncatedPageLabels(\n allPages: string[],\n pageIndex: number,\n maxDisplayedItemCount: number,\n ): string[] {\n if (isDevMode() && isNumberEven(maxDisplayedItemCount)) {\n throw this._createHostError('maxDisplayedItemCount should be an odd number');\n }\n const center = Math.ceil(maxDisplayedItemCount / 2);\n const actualPage = pageIndex + 1;\n const lastPage = +(allPages.at(-1)!);\n const isTruncatedRight = actualPage <= center;\n const isTruncatedBoth = actualPage > center && actualPage <= lastPage - center;\n const isTruncatedLeft = actualPage > lastPage - center;\n\n if (isTruncatedRight) {\n const x = maxDisplayedItemCount - 2; // 2 = 1 last page, 1 truncation\n return [\n ...allPages.slice(0, x),\n 'tr',\n lastPage.toString(),\n ];\n }\n\n if (isTruncatedBoth) {\n // eslint-disable-next-line no-magic-numbers\n const x = (maxDisplayedItemCount - 5) / 2; // 5 = 1 fist page + 1 last page + 2 truncation + 1 actual page\n return [\n '1',\n 'tl',\n ...allPages.slice(pageIndex - x, pageIndex + x + 1),\n 'tr',\n lastPage.toString(),\n ];\n }\n\n if (isTruncatedLeft) {\n const x = maxDisplayedItemCount - 2; // 2 = 1 last page, 1 truncation\n return [\n '1',\n 'tl',\n ...allPages.slice(lastPage - x),\n ];\n }\n\n return [];\n }\n\n public stepNextPage(): void {\n if (!this._hasNextPage()) {\n return;\n }\n this.stepPage(this._pageIndex() + 1);\n }\n\n public stepPreviousPage(): void {\n if (!this._hasPreviousPage()) {\n return;\n }\n this.stepPage(this._pageIndex() - 1);\n }\n\n public stepFirstPage(): void {\n if (!this._hasPreviousPage()) {\n return;\n }\n this.stepPage(0);\n }\n\n public stepLastPage(): void {\n if (!this._hasNextPage()) {\n return;\n }\n this.stepPage(this._numberOfPages() - 1);\n }\n\n public stepPage(pageIndex: number): void {\n const previousPageIndex = this._pageIndex();\n this.pageIndex.set(pageIndex);\n this._debouncePageEvent(previousPageIndex, pageIndex);\n }\n\n private _debouncePageEvent(previousPageIndex: number, pageIndex: number): void {\n this._pageEventDebouncer.next({\n previousPageIndex,\n pageIndex,\n pageSize: this.pageSize(),\n length: this.length(),\n });\n }\n}\n","<nav class=\"ids-paginator__navigation-container\">\n @if (showFirstLastButton()) {\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow first\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isPreviousButtonDisabled()\"\n [attr.aria-label]=\"_intl.firstPageAriaLabel\"\n (click)=\"stepFirstPage()\"\n >\n <ids-icon fontIcon=\"chevron-double-left\" [size]=\"size()\" />\n </button>\n }\n\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow previous\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isPreviousButtonDisabled()\"\n [attr.aria-label]=\"_intl.previousPageAriaLabel\"\n (click)=\"stepPreviousPage()\"\n >\n <ids-icon fontIcon=\"chevron-left\" [size]=\"size()\" />\n @if (showPrevNextLabel() && compactLayout()) {\n <span class=\"ids-paginator__page-button-arrow__label\">{{ _intl.previousPageLabel }}</span>\n }\n </button>\n\n @if (showPageButtons() && !compactLayout()) {\n <ul class=\"ids-paginator__page-button-container\">\n @for (pageButtonLabel of _pageButtonLabels(); track pageButtonLabel) {\n <li>\n @if (pageButtonLabel === \"tl\" || pageButtonLabel === \"tr\") {\n <button type=\"button\" disabled class=\"ids-paginator__page-button-truncation\" [class]=\"_pageButtonClasses()\">\n <ids-icon fontIcon=\"more-horiz\" [size]=\"size()\" />\n </button>\n } @else {\n <button\n #pageButtonElement\n type=\"button\"\n class=\"ids-paginator__page-button\"\n [id]=\"_pageButtonIdPrefix() + pageButtonLabel\"\n [disabled]=\"disabled()\"\n [class]=\"_pageButtonClasses()\"\n [class.active]=\"+pageButtonLabel === _pageIndex() + 1\"\n [attr.aria-label]=\"_intl.getPageAriaLabel(pageButtonLabel)\"\n [attr.aria-current]=\"+pageButtonLabel === _pageIndex() + 1 ? 'page' : null\"\n (click)=\"stepPage(+pageButtonLabel - 1)\"\n >\n <span>{{ pageButtonLabel }}</span>\n </button>\n }\n </li>\n }\n </ul>\n }\n\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow next\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isNextButtonDisabled()\"\n [attr.aria-label]=\"_intl.nextPageAriaLabel\"\n (click)=\"stepNextPage()\"\n >\n @if (showPrevNextLabel() && compactLayout()) {\n <span class=\"ids-paginator__page-button-arrow__label\">{{ _intl.nextPageLabel }}</span>\n }\n <ids-icon fontIcon=\"chevron-right\" [size]=\"size()\" />\n </button>\n\n @if (showFirstLastButton()) {\n <button\n type=\"button\"\n class=\"ids-paginator__page-button-arrow last\"\n [class]=\"_pageButtonClasses()\"\n [disabled]=\"_isNextButtonDisabled()\"\n [attr.aria-label]=\"_intl.lastPageAriaLabel\"\n (click)=\"stepLastPage()\"\n >\n <ids-icon fontIcon=\"chevron-double-right\" [size]=\"size()\" />\n </button>\n }\n\n <span class=\"ids-paginator__help-text\" [class.sr-only]=\"!showPageInfo()\">{{\n _intl.getRangeLabel(_pageIndex(), _safePageSizeData().safePageSize, length())\n }}</span>\n</nav>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|