@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.
Files changed (98) hide show
  1. package/fesm2022/i-cell-ids-angular-accordion.mjs +32 -32
  2. package/fesm2022/i-cell-ids-angular-accordion.mjs.map +1 -1
  3. package/fesm2022/i-cell-ids-angular-avatar.mjs +18 -18
  4. package/fesm2022/i-cell-ids-angular-avatar.mjs.map +1 -1
  5. package/fesm2022/i-cell-ids-angular-badge.mjs +27 -27
  6. package/fesm2022/i-cell-ids-angular-badge.mjs.map +1 -1
  7. package/fesm2022/i-cell-ids-angular-breadcrumb.mjs +45 -45
  8. package/fesm2022/i-cell-ids-angular-breadcrumb.mjs.map +1 -1
  9. package/fesm2022/i-cell-ids-angular-button.mjs +19 -19
  10. package/fesm2022/i-cell-ids-angular-button.mjs.map +1 -1
  11. package/fesm2022/i-cell-ids-angular-card.mjs +38 -41
  12. package/fesm2022/i-cell-ids-angular-card.mjs.map +1 -1
  13. package/fesm2022/i-cell-ids-angular-checkbox.mjs +45 -45
  14. package/fesm2022/i-cell-ids-angular-checkbox.mjs.map +1 -1
  15. package/fesm2022/i-cell-ids-angular-chip.mjs +28 -28
  16. package/fesm2022/i-cell-ids-angular-chip.mjs.map +1 -1
  17. package/fesm2022/i-cell-ids-angular-core.mjs +18 -20
  18. package/fesm2022/i-cell-ids-angular-core.mjs.map +1 -1
  19. package/fesm2022/i-cell-ids-angular-datepicker.mjs +74 -74
  20. package/fesm2022/i-cell-ids-angular-datepicker.mjs.map +1 -1
  21. package/fesm2022/i-cell-ids-angular-dialog.mjs +23 -23
  22. package/fesm2022/i-cell-ids-angular-dialog.mjs.map +1 -1
  23. package/fesm2022/i-cell-ids-angular-divider.mjs +12 -12
  24. package/fesm2022/i-cell-ids-angular-divider.mjs.map +1 -1
  25. package/fesm2022/i-cell-ids-angular-forms.mjs +222 -222
  26. package/fesm2022/i-cell-ids-angular-forms.mjs.map +1 -1
  27. package/fesm2022/i-cell-ids-angular-icon-button.mjs +15 -15
  28. package/fesm2022/i-cell-ids-angular-icon-button.mjs.map +1 -1
  29. package/fesm2022/i-cell-ids-angular-icon.mjs +15 -15
  30. package/fesm2022/i-cell-ids-angular-icon.mjs.map +1 -1
  31. package/fesm2022/i-cell-ids-angular-menu.mjs +18 -18
  32. package/fesm2022/i-cell-ids-angular-menu.mjs.map +1 -1
  33. package/fesm2022/i-cell-ids-angular-notification.mjs +26 -26
  34. package/fesm2022/i-cell-ids-angular-notification.mjs.map +1 -1
  35. package/fesm2022/i-cell-ids-angular-overlay-panel.mjs +18 -18
  36. package/fesm2022/i-cell-ids-angular-overlay-panel.mjs.map +1 -1
  37. package/fesm2022/i-cell-ids-angular-paginator.mjs +34 -34
  38. package/fesm2022/i-cell-ids-angular-paginator.mjs.map +1 -1
  39. package/fesm2022/i-cell-ids-angular-radio.mjs +32 -32
  40. package/fesm2022/i-cell-ids-angular-radio.mjs.map +1 -1
  41. package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs +34 -34
  42. package/fesm2022/i-cell-ids-angular-segmented-control-toggle.mjs.map +1 -1
  43. package/fesm2022/i-cell-ids-angular-segmented-control.mjs +34 -34
  44. package/fesm2022/i-cell-ids-angular-segmented-control.mjs.map +1 -1
  45. package/fesm2022/i-cell-ids-angular-select.mjs +29 -29
  46. package/fesm2022/i-cell-ids-angular-select.mjs.map +1 -1
  47. package/fesm2022/i-cell-ids-angular-side-nav.mjs +41 -41
  48. package/fesm2022/i-cell-ids-angular-side-nav.mjs.map +1 -1
  49. package/fesm2022/i-cell-ids-angular-side-sheet.mjs +29 -29
  50. package/fesm2022/i-cell-ids-angular-side-sheet.mjs.map +1 -1
  51. package/fesm2022/i-cell-ids-angular-snackbar.mjs +30 -30
  52. package/fesm2022/i-cell-ids-angular-snackbar.mjs.map +1 -1
  53. package/fesm2022/i-cell-ids-angular-spinner.mjs +10 -10
  54. package/fesm2022/i-cell-ids-angular-spinner.mjs.map +1 -1
  55. package/fesm2022/i-cell-ids-angular-switch.mjs +36 -36
  56. package/fesm2022/i-cell-ids-angular-switch.mjs.map +1 -1
  57. package/fesm2022/i-cell-ids-angular-tab.mjs +140 -30
  58. package/fesm2022/i-cell-ids-angular-tab.mjs.map +1 -1
  59. package/fesm2022/i-cell-ids-angular-table.mjs +94 -94
  60. package/fesm2022/i-cell-ids-angular-table.mjs.map +1 -1
  61. package/fesm2022/i-cell-ids-angular-tag.mjs +20 -20
  62. package/fesm2022/i-cell-ids-angular-tag.mjs.map +1 -1
  63. package/fesm2022/i-cell-ids-angular-tooltip.mjs +32 -32
  64. package/fesm2022/i-cell-ids-angular-tooltip.mjs.map +1 -1
  65. package/package.json +47 -47
  66. package/{accordion/index.d.ts → types/i-cell-ids-angular-accordion.d.ts} +1 -1
  67. package/{avatar/index.d.ts → types/i-cell-ids-angular-avatar.d.ts} +1 -1
  68. package/{button/index.d.ts → types/i-cell-ids-angular-button.d.ts} +1 -1
  69. package/{card/index.d.ts → types/i-cell-ids-angular-card.d.ts} +2 -2
  70. package/{chip/index.d.ts → types/i-cell-ids-angular-chip.d.ts} +5 -5
  71. package/{core/index.d.ts → types/i-cell-ids-angular-core.d.ts} +2 -2
  72. package/{datepicker/index.d.ts → types/i-cell-ids-angular-datepicker.d.ts} +1 -1
  73. package/{divider/index.d.ts → types/i-cell-ids-angular-divider.d.ts} +2 -2
  74. package/{icon-button/index.d.ts → types/i-cell-ids-angular-icon-button.d.ts} +2 -2
  75. package/{icon/index.d.ts → types/i-cell-ids-angular-icon.d.ts} +1 -1
  76. package/{menu/index.d.ts → types/i-cell-ids-angular-menu.d.ts} +1 -1
  77. package/{notification/index.d.ts → types/i-cell-ids-angular-notification.d.ts} +1 -1
  78. package/{paginator/index.d.ts → types/i-cell-ids-angular-paginator.d.ts} +1 -1
  79. package/{radio/index.d.ts → types/i-cell-ids-angular-radio.d.ts} +1 -1
  80. package/{segmented-control-toggle/index.d.ts → types/i-cell-ids-angular-segmented-control-toggle.d.ts} +1 -1
  81. package/{segmented-control/index.d.ts → types/i-cell-ids-angular-segmented-control.d.ts} +1 -1
  82. package/{snackbar/index.d.ts → types/i-cell-ids-angular-snackbar.d.ts} +3 -3
  83. package/{tab/index.d.ts → types/i-cell-ids-angular-tab.d.ts} +16 -3
  84. package/{tag/index.d.ts → types/i-cell-ids-angular-tag.d.ts} +1 -1
  85. /package/{badge/index.d.ts → types/i-cell-ids-angular-badge.d.ts} +0 -0
  86. /package/{breadcrumb/index.d.ts → types/i-cell-ids-angular-breadcrumb.d.ts} +0 -0
  87. /package/{checkbox/index.d.ts → types/i-cell-ids-angular-checkbox.d.ts} +0 -0
  88. /package/{dialog/index.d.ts → types/i-cell-ids-angular-dialog.d.ts} +0 -0
  89. /package/{forms/index.d.ts → types/i-cell-ids-angular-forms.d.ts} +0 -0
  90. /package/{overlay-panel/index.d.ts → types/i-cell-ids-angular-overlay-panel.d.ts} +0 -0
  91. /package/{select/index.d.ts → types/i-cell-ids-angular-select.d.ts} +0 -0
  92. /package/{side-nav/index.d.ts → types/i-cell-ids-angular-side-nav.d.ts} +0 -0
  93. /package/{side-sheet/index.d.ts → types/i-cell-ids-angular-side-sheet.d.ts} +0 -0
  94. /package/{spinner/index.d.ts → types/i-cell-ids-angular-spinner.d.ts} +0 -0
  95. /package/{switch/index.d.ts → types/i-cell-ids-angular-switch.d.ts} +0 -0
  96. /package/{table/index.d.ts → types/i-cell-ids-angular-table.d.ts} +0 -0
  97. /package/{tooltip/index.d.ts → types/i-cell-ids-angular-tooltip.d.ts} +0 -0
  98. /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 ? [{ debugName: "_cdkMenu", descendants: true }] : [{ descendants: true }]));
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: "20.1.7", ngImport: i0, type: IdsOverlayPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.7", 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"], 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 }); }
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: "20.1.7", ngImport: i0, type: IdsOverlayPanelComponent, decorators: [{
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: "20.1.7", ngImport: i0, type: IdsPaginatorIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
70
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: IdsPaginatorIntl, providedIn: 'root' }); }
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: "20.1.7", ngImport: i0, type: IdsPaginatorIntl, decorators: [{
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 ? [{ debugName: "pageSize", transform: coerceNumberAttribute }] : [{ transform: coerceNumberAttribute }]));
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 ? [{ debugName: "length", transform: coerceNumberAttribute }] : [{ transform: coerceNumberAttribute }]));
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: "20.1.7", ngImport: i0, type: IdsPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
305
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", 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 }); }
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: "20.1.7", ngImport: i0, type: IdsPaginatorComponent, decorators: [{
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":";;;;;;;AAAO,MAAM,gCAAgC,GAAG;AAC9C,IAAA,KAAK,EAAE,OAAO;;;MCDH,2BAA2B,CAAA;AAKvC;;ACLM,MAAM,mBAAmB,GAAG;AACjC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;;;ACJhB;AAOO,MAAM,iBAAiB,GAAG;AAC1B,MAAM,wBAAwB,GAAG;MAiB3B,4BAA4B,GAAG,IAAI,cAAc,CAC5D,8BAA8B,EAC9B;AACE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,oCAAoC;AAC9C,CAAA;SAGa,oCAAoC,GAAA;IAClD,OAAO;AACL,QAAA,QAAQ,EAAE,iBAAiB;AAC3B,QAAA,eAAe,EAAE;YACf,EAAE;YACF,EAAE;YACF,EAAE;YACF,GAAG;AACJ,SAAA;AACD,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,eAAe,EAAE,IAAI;AACrB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,qBAAqB,EAAE,wBAAwB;QAC/C,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,OAAO,EAAE,mBAAmB,CAAC,OAAO;QACpC,oBAAoB,EAAE,gCAAgC,CAAC,KAAK;AAC5D,QAAA,YAAY,EAAE,GAAG;KAClB;AACH;;MCjDa,gBAAgB,CAAA;AAD7B,IAAA,WAAA,GAAA;AAEkB,QAAA,IAAA,CAAA,OAAO,GAAkB,IAAI,OAAO,EAAQ;QAErD,IAAA,CAAA,aAAa,GAAG,MAAM;QACtB,IAAA,CAAA,iBAAiB,GAAG,UAAU;QAC9B,IAAA,CAAA,iBAAiB,GAAG,iBAAiB;QACrC,IAAA,CAAA,qBAAqB,GAAG,qBAAqB;QAC7C,IAAA,CAAA,kBAAkB,GAAG,kBAAkB;QACvC,IAAA,CAAA,iBAAiB,GAAG,iBAAiB;QAErC,IAAA,CAAA,gBAAgB,GAAG,CAAC,IAAY,KAAa,CAAA,WAAA,EAAc,IAAI,CAAA,CAAE;QAEjE,IAAA,CAAA,aAAa,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,MAAc,KAAY;YAChF,IAAI,MAAM,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE;AAClC,gBAAA,OAAO,aAAa;YACtB;YAEA,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;AAEjD,YAAA,OAAO,QAAQ,IAAI,GAAG,CAAC,CAAA,IAAA,EAAO,YAAY,EAAE;AAC9C,QAAA,CAAC;AACF,IAAA;8GArBY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cADH,MAAM,EAAA,CAAA,CAAA;;2FACnB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;AAwBlC;AACM,SAAU,mCAAmC,CAAC,UAA6B,EAAA;AAC/E,IAAA,OAAO,UAAU,IAAI,IAAI,gBAAgB,EAAE;AAC7C;AAEA;AACO,MAAM,2BAA2B,GAAG;;AAEzC,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,IAAI,EAAE;AACJ,QAAA;AACE,YAAA,IAAI,QAAQ,EAAE;AACd,YAAA,IAAI,QAAQ,EAAE;YACd,gBAAgB;AACjB,SAAA;AACF,KAAA;AACD,IAAA,UAAU,EAAE,mCAAmC;CAChD;;AChCD,MAAM,aAAa,GAAG,oCAAoC,EAAE;AAYtD,MAAO,qBAAsB,SAAQ,yBAAoD,CAAA;AAC7F,IAAA,IAAuB,SAAS,GAAA;AAC9B,QAAA,OAAO,WAAW;IACpB;AAuFQ,IAAA,cAAc,CAAC,KAAoB,EAAA;QACzC,KAAK,CAAC,eAAe,EAAE;;AAEvB,QAAA,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;AAEvF,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,WAAW;AAChB,YAAA,KAAK,UAAU;gBACb,KAAK,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,gBAAgB,EAAE;gBACvB;AACF,YAAA,KAAK,YAAY;AACjB,YAAA,KAAK,QAAQ;gBACX,KAAK,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,YAAY,EAAE;gBACnB;AACF,YAAA,KAAK,MAAM;gBACT,KAAK,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,aAAa,EAAE;gBACpB;AACF,YAAA,KAAK,KAAK;gBACR,KAAK,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,YAAY,EAAE;gBACnB;AACF,YAAA;gBACE;;AAGJ,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AAC7D,YAAA,MAAM,YAAY,GAAG,CAAA,EAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA,CAAE,CAAC;AAC7E,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA,OAAA,EAAU,YAAY,CAAA,CAAE,CAAC;YACzF,MAAM,EAAE,KAAK,EAAE;QACjB;IACF;AAEA,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAzHQ,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC9C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;QAClC,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,4BAA4B,CAAC;AAE/F,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,OAAO,EAA+B;AAErD,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAE5C,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAkB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAI,SAAS,EAAE,qBAAqB,OAAlC,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAC;QACrG,IAAA,CAAA,eAAe,GAAG,KAAK,CAAW,IAAI,CAAC,cAAc,CAAC,eAAe,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACtE,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAU,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAC7E,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAU,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACzE,IAAA,CAAA,YAAY,GAAG,KAAK,CAAU,IAAI,CAAC,cAAc,CAAC,YAAY,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAC/D,IAAA,CAAA,eAAe,GAAG,KAAK,CAAU,IAAI,CAAC,cAAc,CAAC,eAAe,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACrE,IAAA,CAAA,YAAY,GAAG,KAAK,CAAU,IAAI,CAAC,cAAc,CAAC,YAAY,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAC/D,IAAA,CAAA,qBAAqB,GAAG,KAAK,CAAS,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAChF,IAAA,CAAA,IAAI,GAAG,KAAK,CAAc,IAAI,CAAC,cAAc,CAAC,IAAI,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACnD,IAAA,CAAA,OAAO,GAAG,KAAK,CAA0B,IAAI,CAAC,cAAc,CAAC,OAAO,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACrE,IAAA,CAAA,oBAAoB,GAAG,KAAK,CAAuC,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,sBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;;AAE5G,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,yCAAmB,SAAS,EAAE,qBAAqB,EAAA,CAAA,GAAA,CAAlC,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAC;AAC7E,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAU,KAAK,yDAAC;QAElC,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,aAAa,EAAE,GAAG,gBAAgB,GAAG,IAAI;AAC/C,SAAA,CAAC,wDAAC;AAEO,QAAA,IAAA,CAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAM,eAAe,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,8DAAC;QAEjH,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AACtG,QAAA,IAAA,CAAA,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAA,EAAG,IAAI,CAAC,EAAE,EAAE,CAAA,cAAA,CAAgB,+DAAC;AAE5E;;;;;;;AAOG;AACI,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,CAAC,qDAAC;AAEnB,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,MAAK;AACzC,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE;AACnC,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE;AAC3C,YAAA,IAAI,SAAS,GAAG,CAAC,IAAI,aAAa,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;AACpD,gBAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB;AACF,QAAA,CAAC,gEAAC;QAEQ,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAExF,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AACrC,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,gBAAA,OAAO,CAAC;YACV;AACA,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACnD,QAAA,CAAC,0DAAC;QAEM,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAClC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,4DAChD;AAEO,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC;AAC9C,YAAA,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;AAClE,QAAA,CAAC,wDAAC;AAEQ,QAAA,IAAA,CAAA,yBAAyB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,qEAAC;AACvF,QAAA,IAAA,CAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iEAAC;;AAG/E,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAW,MAAK;YACpD,OAAO,IAAI,CAAC,aAAa;AACvB,kBAAE;AACF,kBAAE,IAAI,CAAC,oBAAoB,CACzB,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,CACpH;AACL,QAAA,CAAC,6DAAC;QAEK,IAAA,CAAA,WAAW,GAAG,MAAM,EAA+B;QAwCxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CACrB,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CACrC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QAEzD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAC3B,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAC9C,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CACrC,CAAC,SAAS,CAAC,CAAC,SAAS,KAAI;AACxB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;AAClC,QAAA,CAAC,CAAC;IACJ;IAEQ,oBAAoB,CAC1B,eAAyB,EACzB,QAAgB,EAAA;AAEhB,QAAA,IAAI,SAAS,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE;AAC9C,YAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,6DAA6D,CAAC;QAC5F;AAEA,QAAA,MAAM,mBAAmB,GAAG,eAAe,CAAC,KAAK,EAAE;QACnD,IAAI,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAC1D,YAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,4FAA4F,CAAC;QAC3H;AACA,QAAA,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA,MAAM,YAAY,GAAW,mBAAmB,CAAC,MAAM,KAAK,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,iBAAiB;QAE1G,OAAO;YACL,YAAY;YACZ,mBAAmB;SACpB;IACH;IAEQ,oBAAoB,CAC1B,SAAiB,EAAE,aAAqB,EAAE,YAAqB,EAAE,qBAA6B,EAAE,OAAgB,EAAA;AAEhH,QAAA,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtF,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,EAAE;QACX;AACA,QAAA,IAAI,YAAY,IAAI,aAAa,IAAI,qBAAqB,EAAE;AAC1D,YAAA,OAAO,QAAQ;QACjB;QAEA,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,qBAAqB,CAAC;IACjF;AAEQ,IAAA,uBAAuB,CAC7B,QAAkB,EAClB,SAAiB,EACjB,qBAA6B,EAAA;QAE7B,IAAI,SAAS,EAAE,IAAI,YAAY,CAAC,qBAAqB,CAAC,EAAE;AACtD,YAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,+CAA+C,CAAC;QAC9E;QACA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;AACnD,QAAA,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC;AAChC,QAAA,MAAM,QAAQ,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;AACpC,QAAA,MAAM,gBAAgB,GAAG,UAAU,IAAI,MAAM;QAC7C,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,IAAI,UAAU,IAAI,QAAQ,GAAG,MAAM;AAC9E,QAAA,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM;QAEtD,IAAI,gBAAgB,EAAE;AACpB,YAAA,MAAM,CAAC,GAAG,qBAAqB,GAAG,CAAC,CAAC;YACpC,OAAO;AACL,gBAAA,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvB,IAAI;gBACJ,QAAQ,CAAC,QAAQ,EAAE;aACpB;QACH;QAEA,IAAI,eAAe,EAAE;;YAEnB,MAAM,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO;gBACL,GAAG;gBACH,IAAI;AACJ,gBAAA,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI;gBACJ,QAAQ,CAAC,QAAQ,EAAE;aACpB;QACH;QAEA,IAAI,eAAe,EAAE;AACnB,YAAA,MAAM,CAAC,GAAG,qBAAqB,GAAG,CAAC,CAAC;YACpC,OAAO;gBACL,GAAG;gBACH,IAAI;AACJ,gBAAA,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;aAChC;QACH;AAEA,QAAA,OAAO,EAAE;IACX;IAEO,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;YACxB;QACF;QACA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACtC;IAEO,gBAAgB,GAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC5B;QACF;QACA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACtC;IAEO,aAAa,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC5B;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClB;IAEO,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;YACxB;QACF;QACA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAC1C;AAEO,IAAA,QAAQ,CAAC,SAAiB,EAAA;AAC/B,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,EAAE;AAC3C,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;AAC7B,QAAA,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,SAAS,CAAC;IACvD;IAEQ,kBAAkB,CAAC,iBAAyB,EAAE,SAAiB,EAAA;AACrE,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC5B,iBAAiB;YACjB,SAAS;AACT,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;AACzB,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACtB,SAAA,CAAC;IACJ;8GAxQW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBlC,ytGAwFA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDxEY,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAQf,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAVjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,OAAA,EAChB,CAAC,gBAAgB,CAAC,EAAA,aAAA,EAEZ,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,WAAW,EAAE,wBAAwB;AACtC,qBAAA,EAAA,QAAA,EAAA,ytGAAA,EAAA;;;AEtBH;;AAEG;;;;"}
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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"}