@cute-widgets/base 20.0.2 → 20.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -1
- package/abstract/index.d.ts +5 -2
- package/button/index.d.ts +7 -6
- package/card/index.d.ts +9 -6
- package/core/directives/index.d.ts +2 -32
- package/core/index.d.ts +35 -28
- package/core/interfaces/index.d.ts +1 -1
- package/core/layout/index.d.ts +34 -27
- package/core/nav/index.d.ts +1 -2
- package/expansion/index.d.ts +5 -18
- package/fesm2022/cute-widgets-base-abstract.mjs +20 -5
- package/fesm2022/cute-widgets-base-abstract.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-button-toggle.mjs +2 -2
- package/fesm2022/cute-widgets-base-button-toggle.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-button.mjs +12 -11
- package/fesm2022/cute-widgets-base-button.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-card.mjs +46 -29
- package/fesm2022/cute-widgets-base-card.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-chips.mjs +6 -6
- package/fesm2022/cute-widgets-base-chips.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-directives.mjs +5 -73
- package/fesm2022/cute-widgets-base-core-directives.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-interfaces.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-layout.mjs +64 -40
- package/fesm2022/cute-widgets-base-core-layout.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core-nav.mjs +1 -2
- package/fesm2022/cute-widgets-base-core-nav.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-core.mjs +64 -40
- package/fesm2022/cute-widgets-base-core.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-dialog.mjs +1 -1
- package/fesm2022/cute-widgets-base-dialog.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-expansion.mjs +19 -13
- package/fesm2022/cute-widgets-base-expansion.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-list.mjs +2 -2
- package/fesm2022/cute-widgets-base-list.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-navbar.mjs +6 -0
- package/fesm2022/cute-widgets-base-navbar.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-paginator.mjs +12 -10
- package/fesm2022/cute-widgets-base-paginator.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-radio.mjs +1 -2
- package/fesm2022/cute-widgets-base-radio.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-select.mjs +2 -2
- package/fesm2022/cute-widgets-base-select.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-sidenav.mjs +31 -30
- package/fesm2022/cute-widgets-base-sidenav.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-snack-bar.mjs +2 -2
- package/fesm2022/cute-widgets-base-snack-bar.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-sort.mjs +63 -260
- package/fesm2022/cute-widgets-base-sort.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-table.mjs +22 -16
- package/fesm2022/cute-widgets-base-table.mjs.map +1 -1
- package/fesm2022/cute-widgets-base-tree.mjs +11 -2
- package/fesm2022/cute-widgets-base-tree.mjs.map +1 -1
- package/fesm2022/cute-widgets-base.mjs +3 -1
- package/fesm2022/cute-widgets-base.mjs.map +1 -1
- package/navbar/index.d.ts +6 -0
- package/package.json +18 -17
- package/paginator/index.d.ts +5 -16
- package/radio/index.d.ts +0 -1
- package/sidenav/index.d.ts +1 -2
- package/sort/index.d.ts +25 -138
- package/table/index.d.ts +24 -21
- package/tree/index.d.ts +5 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cute-widgets-base-navbar.mjs","sources":["../../../../projects/cute-widgets/base/navbar/src/navbar-content.component.ts","../../../../projects/cute-widgets/base/navbar/src/navbar.component.ts","../../../../projects/cute-widgets/base/navbar/src/navbar-brand.directive.ts","../../../../projects/cute-widgets/base/navbar/src/navbar-nav.directive.ts","../../../../projects/cute-widgets/base/navbar/src/navbar-text.directive.ts","../../../../projects/cute-widgets/base/navbar/src/navbar-toggler.directive.ts","../../../../projects/cute-widgets/base/navbar/src/navbar.module.ts","../../../../projects/cute-widgets/base/navbar/cute-widgets-base-navbar.ts"],"sourcesContent":["/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation} from \"@angular/core\";\r\nimport {CuteCollapse, CuteCollapseState} from \"@cute-widgets/base/collapse\";\r\nimport {CUTE_NAVBAR} from './navbar.component';\r\nimport {Subscription} from 'rxjs';\r\n\r\n/**\r\n * Collapsible navbar content.\r\n */\r\n@Component({\r\n selector: 'cute-navbar-content',\r\n template: `\r\n <ng-content></ng-content>\r\n `,\r\n exportAs: 'cuteNavbarContent',\r\n host: {\r\n 'class': 'navbar-collapse collapse',\r\n '[class.show]': 'expanded',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n})\r\nexport class CuteNavbarContent extends CuteCollapse {\r\n private _subscription: Subscription = new Subscription();\r\n protected _navbar = inject(CUTE_NAVBAR);\r\n protected _breakpointMatches = signal<boolean>(false);\r\n\r\n constructor() {\r\n super();\r\n\r\n this._subscription.add(\r\n this._navbar.breakpointState.subscribe(state => {\r\n this._breakpointMatches.set(state.matches);\r\n if (!state.matches) {\r\n this.close(); // if content was in the 'expanded' state when the screen width changed\r\n this._navbar.expansionChange.emit(false);\r\n }\r\n })\r\n );\r\n this._subscription.add(\r\n this.afterExpand.subscribe(() => {\r\n if (this._breakpointMatches()) {\r\n this._navbar.expansionChange.emit(true);\r\n }\r\n })\r\n );\r\n this._subscription.add(\r\n this.afterCollapse.subscribe(() => this._navbar.expansionChange.emit(false))\r\n );\r\n }\r\n\r\n override getState(): CuteCollapseState {\r\n if (this._breakpointMatches()) {\r\n return super.getState();\r\n }\r\n // Parent class, CuteCollapse, uses this state to trigger the expanding process.\r\n // But we use it for the sake of `visibility` property only.\r\n // TODO: Change to a simpler and clearer algorithm.\r\n return 'expanded';\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n this._subscription.unsubscribe();\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component, computed, ContentChildren, EventEmitter,\r\n HostBinding,\r\n InjectionToken,\r\n Input, isDevMode, Output, QueryList, signal, ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport {CuteLayoutControl} from \"@cute-widgets/base/abstract\";\r\nimport {CuteContainer} from \"@cute-widgets/base/layout\";\r\nimport {CuteNavbarContent} from './navbar-content.component';\r\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\r\n\r\n/** Navbar's vertical non-static position. */\r\nexport type NavbarPosition=\"fixed-top\"|\"fixed-bottom\"|\"sticky-top\"|\"sticky-bottom\";\r\n\r\nexport const CUTE_NAVBAR = new InjectionToken<CuteNavbar>(\"CUTE_NAVBAR\");\r\n\r\nlet nextId = 0;\r\n\r\n/**\r\n * Powerful and responsive navigation header in which responsive behavior depends on `CuteCollapse` component.\r\n * Includes support for branding, navigation, and more.\r\n */\r\n@Component({\r\n selector: 'cute-navbar',\r\n template: `\r\n <cute-container fluid>\r\n <ng-content></ng-content>\r\n </cute-container>\r\n `,\r\n styles: [`\r\n .cute-navbar {\r\n z-index: 1000; /* CWT: 'cdk-overlay-container' has a rule {z-index: 1000} */\r\n }\r\n `],\r\n exportAs: 'cuteNavbar',\r\n host: {\r\n 'class': 'cute-navbar navbar',\r\n '[class.shadow]': 'contentExpanded()',\r\n '[attr.role]': 'role || null',\r\n },\r\n providers: [{ provide: CUTE_NAVBAR, useExisting: CuteNavbar }],\r\n imports: [ CuteContainer ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CuteNavbar extends CuteLayoutControl {\r\n @ContentChildren(CuteNavbarContent, {descendants: true}) navContent: QueryList<CuteNavbarContent> | undefined;\r\n\r\n /** Placement `navbar` in non-static position, if the `position` differs from the default. */\r\n @Input() position: NavbarPosition | undefined;\r\n\r\n /** Event emitted when the navbar's content expansion status changed. */\r\n @Output() expansionChange = new EventEmitter<boolean>();\r\n\r\n readonly contentExpanded = computed(() => this._expanded());\r\n private _expanded = signal<boolean>(false);\r\n\r\n @HostBinding(\"class\")\r\n get classBinding(): string {\r\n let classList = \"\";\r\n\r\n if (this.breakpoint) {\r\n classList += \"navbar-expand-\"+this.breakpoint;\r\n }\r\n switch (this.position) {\r\n case \"fixed-top\":\r\n case \"fixed-bottom\":\r\n classList += \" \"+this.position;\r\n break;\r\n case \"sticky-top\":\r\n case \"sticky-bottom\":\r\n if (this.breakpoint) {\r\n classList += \" \"+this.position.replace(\"-\", \"-\"+this.breakpoint+\"-\");\r\n } else {\r\n classList += \" \"+this.position;\r\n }\r\n break;\r\n }\r\n return classList;\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.role = \"navigation\";\r\n this.expansionChange.pipe(takeUntilDestroyed()).subscribe(state => this._expanded.set(state));\r\n }\r\n\r\n protected generateId(): string {\r\n return `cute-navbar-${++nextId}`;\r\n }\r\n\r\n override ngAfterContentInit() {\r\n super.ngAfterContentInit();\r\n\r\n const count = this.navContent?.length || 0;\r\n if (count > 1 && isDevMode()) {\r\n throw new Error(\"More than one 'cute-navbar-content' elements are found in the 'cute-navbar' component.\");\r\n }\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive} from \"@angular/core\";\r\n\r\n/**\r\n * Subcomponent for company, product, or project name\r\n */\r\n@Directive({\r\n selector: '[cuteNavbarBrand], [cute-navbar-brand]',\r\n exportAs: 'cuteNavbarBrand',\r\n host: {\r\n 'class': 'cute-navbar-brand navbar-brand'\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteNavbarBrand {}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {booleanAttribute, Directive, Input} from \"@angular/core\";\r\nimport {CuteNav, CUTE_NAV} from \"@cute-widgets/base/core/nav\";\r\n\r\n@Directive({\r\n selector: '[cuteNavbarNav], [cute-navbar-nav]',\r\n exportAs: 'cuteNavbarNav',\r\n host: {\r\n 'class': 'cute-navbar-nav navbar-nav align-items-start',\r\n '[class.navbar-nav-scroll]': 'scrollable',\r\n '[style.--bs-scroll-height]': 'scrollHeight',\r\n },\r\n standalone: true,\r\n providers: [{provide: CUTE_NAV, useExisting: CuteNavbarNav}],\r\n})\r\nexport class CuteNavbarNav extends CuteNav {\r\n\r\n /**\r\n * Enable/disable vertical scrolling within the toggleable contents of a collapsed `navbar`.\r\n * By default, scrolling kicks in at 75vh (or 75% of the viewport height).\r\n */\r\n @Input({transform: booleanAttribute}) scrollable: boolean = false;\r\n\r\n /** The minimum height of the expanded content that triggers the scrolling mode when `scrollable` property is enabled. Default is **75vh**. */\r\n @Input()\r\n get scrollHeight(): string | undefined {return this._scrollHeight;}\r\n set scrollHeight(value: string | number | undefined) {\r\n if (value !== this._scrollHeight) {\r\n if (typeof value===\"number\") {\r\n value = `${value}px`;\r\n }\r\n this._scrollHeight = value;\r\n }\r\n }\r\n private _scrollHeight: string | undefined;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive} from \"@angular/core\";\r\n\r\n/**\r\n * This directive adjusts vertical alignment and horizontal spacing for strings of text.\r\n */\r\n@Directive({\r\n selector: 'cute-navbar-text, [cuteNavbarText], [cute-navbar-text]',\r\n exportAs: 'cuteNavbarText',\r\n host: {\r\n 'class': 'navbar-text'\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteNavbarText {}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive} from \"@angular/core\";\r\nimport {CuteCollapseTrigger} from \"@cute-widgets/base/collapse\";\r\n\r\n@Directive({\r\n selector: '[cuteNavbarToggler], [cute-navbar-toggler]',\r\n exportAs: 'cuteNavbarToggler',\r\n host: {\r\n 'class': 'navbar-toggler border-secondary-subtle',\r\n 'type': 'button',\r\n },\r\n hostDirectives: [\r\n {\r\n directive: CuteCollapseTrigger,\r\n inputs: ['cuteCollapseTriggerFor:cuteNavbarTogglerFor'],\r\n outputs: [],\r\n }\r\n ],\r\n standalone: true,\r\n})\r\nexport class CuteNavbarToggler {}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {CuteNavbar} from \"./navbar.component\";\r\nimport {CuteNavbarBrand} from \"./navbar-brand.directive\";\r\nimport {CuteNavbarContent} from \"./navbar-content.component\";\r\nimport {CuteNavbarToggler} from \"./navbar-toggler.directive\";\r\nimport {CuteNavbarNav} from \"./navbar-nav.directive\";\r\nimport {CuteNavbarText} from \"./navbar-text.directive\";\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n CuteNavbar,\r\n CuteNavbarBrand,\r\n CuteNavbarContent,\r\n CuteNavbarNav,\r\n CuteNavbarText,\r\n CuteNavbarToggler,\r\n ],\r\n exports: [\r\n CuteNavbar,\r\n CuteNavbarBrand,\r\n CuteNavbarContent,\r\n CuteNavbarNav,\r\n CuteNavbarText,\r\n CuteNavbarToggler,\r\n ],\r\n providers: [],\r\n})\r\nexport class CuteNavbarModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cute-widgets-base-navbar.mjs","sources":["../../../../projects/cute-widgets/base/navbar/src/navbar-content.component.ts","../../../../projects/cute-widgets/base/navbar/src/navbar.component.ts","../../../../projects/cute-widgets/base/navbar/src/navbar-brand.directive.ts","../../../../projects/cute-widgets/base/navbar/src/navbar-nav.directive.ts","../../../../projects/cute-widgets/base/navbar/src/navbar-text.directive.ts","../../../../projects/cute-widgets/base/navbar/src/navbar-toggler.directive.ts","../../../../projects/cute-widgets/base/navbar/src/navbar.module.ts","../../../../projects/cute-widgets/base/navbar/cute-widgets-base-navbar.ts"],"sourcesContent":["/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation} from \"@angular/core\";\r\nimport {CuteCollapse, CuteCollapseState} from \"@cute-widgets/base/collapse\";\r\nimport {CUTE_NAVBAR} from './navbar.component';\r\nimport {Subscription} from 'rxjs';\r\n\r\n/**\r\n * Collapsible navbar content.\r\n */\r\n@Component({\r\n selector: 'cute-navbar-content',\r\n template: `\r\n <ng-content></ng-content>\r\n `,\r\n exportAs: 'cuteNavbarContent',\r\n host: {\r\n 'class': 'navbar-collapse collapse',\r\n '[class.show]': 'expanded',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n})\r\nexport class CuteNavbarContent extends CuteCollapse {\r\n private _subscription: Subscription = new Subscription();\r\n protected _navbar = inject(CUTE_NAVBAR);\r\n protected _breakpointMatches = signal<boolean>(false);\r\n\r\n constructor() {\r\n super();\r\n\r\n this._subscription.add(\r\n this._navbar.breakpointState.subscribe(state => {\r\n this._breakpointMatches.set(state.matches);\r\n if (!state.matches) {\r\n this.close(); // if content was in the 'expanded' state when the screen width changed\r\n this._navbar.expansionChange.emit(false);\r\n }\r\n })\r\n );\r\n this._subscription.add(\r\n this.afterExpand.subscribe(() => {\r\n if (this._breakpointMatches()) {\r\n this._navbar.expansionChange.emit(true);\r\n }\r\n })\r\n );\r\n this._subscription.add(\r\n this.afterCollapse.subscribe(() => this._navbar.expansionChange.emit(false))\r\n );\r\n }\r\n\r\n override getState(): CuteCollapseState {\r\n if (this._breakpointMatches()) {\r\n return super.getState();\r\n }\r\n // Parent class, CuteCollapse, uses this state to trigger the expanding process.\r\n // But we use it for the sake of `visibility` property only.\r\n // TODO: Change to a simpler and clearer algorithm.\r\n return 'expanded';\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n this._subscription.unsubscribe();\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component, computed, ContentChildren, EventEmitter,\r\n HostBinding,\r\n InjectionToken,\r\n Input, isDevMode, Output, QueryList, signal, ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport {CuteLayoutControl} from \"@cute-widgets/base/abstract\";\r\nimport {CuteContainer} from \"@cute-widgets/base/layout\";\r\nimport {CuteNavbarContent} from './navbar-content.component';\r\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\r\n\r\n/** Navbar's vertical non-static position. */\r\nexport type NavbarPosition=\"fixed-top\"|\"fixed-bottom\"|\"sticky-top\"|\"sticky-bottom\";\r\n\r\nexport const CUTE_NAVBAR = new InjectionToken<CuteNavbar>(\"CUTE_NAVBAR\");\r\n\r\nlet nextId = 0;\r\n\r\n/**\r\n * Powerful and responsive navigation header in which responsive behavior depends on `CuteCollapse` component.\r\n * Includes support for branding, navigation, and more.\r\n */\r\n@Component({\r\n selector: 'cute-navbar',\r\n template: `\r\n <cute-container fluid>\r\n <ng-content></ng-content>\r\n </cute-container>\r\n `,\r\n styles: [`\r\n .cute-navbar {\r\n z-index: 1000; /* CWT: 'cdk-overlay-container' has a rule {z-index: 1000} */\r\n }\r\n `],\r\n exportAs: 'cuteNavbar',\r\n host: {\r\n 'class': 'cute-navbar navbar',\r\n '[class.shadow]': 'contentExpanded()',\r\n '[attr.role]': 'role || null',\r\n },\r\n providers: [{ provide: CUTE_NAVBAR, useExisting: CuteNavbar }],\r\n imports: [ CuteContainer ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CuteNavbar extends CuteLayoutControl {\r\n @ContentChildren(CuteNavbarContent, {descendants: true}) navContent: QueryList<CuteNavbarContent> | undefined;\r\n\r\n /** Placement `navbar` in non-static position, if the `position` differs from the default. */\r\n @Input() position: NavbarPosition | undefined;\r\n\r\n /** Event emitted when the navbar's content expansion status changed. */\r\n @Output() expansionChange = new EventEmitter<boolean>();\r\n\r\n readonly contentExpanded = computed(() => this._expanded());\r\n private _expanded = signal<boolean>(false);\r\n\r\n @HostBinding(\"class\")\r\n get classBinding(): string {\r\n let classList = \"\";\r\n\r\n if (this.breakpoint) {\r\n classList += \"navbar-expand-\"+this.breakpoint;\r\n }\r\n switch (this.position) {\r\n case \"fixed-top\":\r\n case \"fixed-bottom\":\r\n classList += \" \"+this.position;\r\n break;\r\n case \"sticky-top\":\r\n case \"sticky-bottom\":\r\n if (this.breakpoint) {\r\n classList += \" \"+this.position.replace(\"-\", \"-\"+this.breakpoint+\"-\");\r\n } else {\r\n classList += \" \"+this.position;\r\n }\r\n break;\r\n }\r\n return classList;\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.role = \"navigation\";\r\n this.expansionChange.pipe(takeUntilDestroyed()).subscribe(state => this._expanded.set(state));\r\n }\r\n\r\n protected generateId(): string {\r\n return `cute-navbar-${++nextId}`;\r\n }\r\n\r\n override ngAfterContentInit() {\r\n super.ngAfterContentInit();\r\n\r\n const count = this.navContent?.length || 0;\r\n if (count > 1 && isDevMode()) {\r\n throw new Error(\"More than one 'cute-navbar-content' elements are found in the 'cute-navbar' component.\");\r\n }\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive} from \"@angular/core\";\r\n\r\n/**\r\n * Subcomponent for company, product, or project name\r\n */\r\n@Directive({\r\n selector: '[cuteNavbarBrand], [cute-navbar-brand]',\r\n exportAs: 'cuteNavbarBrand',\r\n host: {\r\n 'class': 'cute-navbar-brand navbar-brand'\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteNavbarBrand {}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {booleanAttribute, Directive, Input} from \"@angular/core\";\r\nimport {CuteNav, CUTE_NAV} from \"@cute-widgets/base/core/nav\";\r\n\r\n/**\r\n * A full-height and lightweight navigation container for including other navigation components.\r\n */\r\n@Directive({\r\n selector: '[cuteNavbarNav], [cute-navbar-nav]',\r\n exportAs: 'cuteNavbarNav',\r\n host: {\r\n 'class': 'cute-navbar-nav navbar-nav align-items-start',\r\n '[class.navbar-nav-scroll]': 'scrollable',\r\n '[style.--bs-scroll-height]': 'scrollHeight',\r\n },\r\n standalone: true,\r\n providers: [{provide: CUTE_NAV, useExisting: CuteNavbarNav}],\r\n})\r\nexport class CuteNavbarNav extends CuteNav {\r\n\r\n /**\r\n * Enable/disable vertical scrolling within the toggleable contents of a collapsed `navbar`.\r\n * By default, scrolling kicks in at 75vh (or 75% of the viewport height).\r\n */\r\n @Input({transform: booleanAttribute}) scrollable: boolean = false;\r\n\r\n /** The minimum height of the expanded content that triggers the scrolling mode when `scrollable` property is enabled. Default is **75vh**. */\r\n @Input()\r\n get scrollHeight(): string | undefined {return this._scrollHeight;}\r\n set scrollHeight(value: string | number | undefined) {\r\n if (value !== this._scrollHeight) {\r\n if (typeof value===\"number\") {\r\n value = `${value}px`;\r\n }\r\n this._scrollHeight = value;\r\n }\r\n }\r\n private _scrollHeight: string | undefined;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive} from \"@angular/core\";\r\n\r\n/**\r\n * This directive adjusts vertical alignment and horizontal spacing for strings of text.\r\n */\r\n@Directive({\r\n selector: 'cute-navbar-text, [cuteNavbarText], [cute-navbar-text]',\r\n exportAs: 'cuteNavbarText',\r\n host: {\r\n 'class': 'navbar-text'\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteNavbarText {}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive} from \"@angular/core\";\r\nimport {CuteCollapseTrigger} from \"@cute-widgets/base/collapse\";\r\n\r\n/**\r\n * A trigger element for expand/collapse the `cute-navbar-content`.\r\n */\r\n@Directive({\r\n selector: '[cuteNavbarToggler], [cute-navbar-toggler]',\r\n exportAs: 'cuteNavbarToggler',\r\n host: {\r\n 'class': 'navbar-toggler border-secondary-subtle',\r\n 'type': 'button',\r\n },\r\n hostDirectives: [\r\n {\r\n directive: CuteCollapseTrigger,\r\n inputs: ['cuteCollapseTriggerFor:cuteNavbarTogglerFor'],\r\n outputs: [],\r\n }\r\n ],\r\n standalone: true,\r\n})\r\nexport class CuteNavbarToggler {}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {CuteNavbar} from \"./navbar.component\";\r\nimport {CuteNavbarBrand} from \"./navbar-brand.directive\";\r\nimport {CuteNavbarContent} from \"./navbar-content.component\";\r\nimport {CuteNavbarToggler} from \"./navbar-toggler.directive\";\r\nimport {CuteNavbarNav} from \"./navbar-nav.directive\";\r\nimport {CuteNavbarText} from \"./navbar-text.directive\";\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n CuteNavbar,\r\n CuteNavbarBrand,\r\n CuteNavbarContent,\r\n CuteNavbarNav,\r\n CuteNavbarText,\r\n CuteNavbarToggler,\r\n ],\r\n exports: [\r\n CuteNavbar,\r\n CuteNavbarBrand,\r\n CuteNavbarContent,\r\n CuteNavbarNav,\r\n CuteNavbarText,\r\n CuteNavbarToggler,\r\n ],\r\n providers: [],\r\n})\r\nexport class CuteNavbarModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, InjectionToken, numberAttribute, EventEmitter, booleanAttribute, Output, Input, Optional, Inject, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
2
|
+
import { Injectable, InjectionToken, numberAttribute, signal, EventEmitter, booleanAttribute, Output, Input, Optional, Inject, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { CuteFormField, CuteLabel } from '@cute-widgets/base/form-field';
|
|
4
4
|
import { CuteSelect } from '@cute-widgets/base/select';
|
|
5
5
|
import { CuteTooltip } from '@cute-widgets/base/tooltip';
|
|
@@ -130,7 +130,7 @@ class CutePaginator extends CuteFocusableControl {
|
|
|
130
130
|
//_formFieldAppearance?: CuteFormFieldAppearance;
|
|
131
131
|
/** ID for the DOM node containing the pagination's items per-page label. */
|
|
132
132
|
this._pageSizeLabelId = `cute-paginator-page-size-label-${nextUniqueId++}`;
|
|
133
|
-
this.hideActive = false;
|
|
133
|
+
this.hideActive = signal(false, ...(ngDevMode ? [{ debugName: "hideActive" }] : []));
|
|
134
134
|
this._pageIndex = 0;
|
|
135
135
|
this._length = 0;
|
|
136
136
|
this._pageSize = 0;
|
|
@@ -145,8 +145,6 @@ class CutePaginator extends CuteFocusableControl {
|
|
|
145
145
|
this.hideBorders = false;
|
|
146
146
|
/** Style of the pagination's middle section. Note that previous/next buttons are always shown. */
|
|
147
147
|
this.middleSectionStyle = 'range';
|
|
148
|
-
/** Changes the alignment of the pagination sections in the parent container */
|
|
149
|
-
this.alignment = "between";
|
|
150
148
|
/** Used to configure the underlying `CuteSelect` inside the paginator. */
|
|
151
149
|
this.selectConfig = {};
|
|
152
150
|
/** Event emitted when the paginator changes the page size or page index. */
|
|
@@ -191,7 +189,6 @@ class CutePaginator extends CuteFocusableControl {
|
|
|
191
189
|
this._updateFirstLastVisibleIndexes(this.pageIndex, this.pageIndex);
|
|
192
190
|
}
|
|
193
191
|
ngAfterViewChecked() {
|
|
194
|
-
this.hideActive = false;
|
|
195
192
|
}
|
|
196
193
|
ngOnDestroy() {
|
|
197
194
|
super.ngOnDestroy();
|
|
@@ -199,10 +196,12 @@ class CutePaginator extends CuteFocusableControl {
|
|
|
199
196
|
}
|
|
200
197
|
onMouseDown(event) {
|
|
201
198
|
if (this.middleSectionStyle == "5-pages") {
|
|
202
|
-
this.hideActive
|
|
203
|
-
this._changeDetectorRef.detectChanges();
|
|
199
|
+
this.hideActive.set(true);
|
|
204
200
|
}
|
|
205
201
|
}
|
|
202
|
+
onMouseUp(event) {
|
|
203
|
+
this.hideActive.set(false);
|
|
204
|
+
}
|
|
206
205
|
/** Whether the specified index is the `active` page of the paginator */
|
|
207
206
|
isActivePage(index) {
|
|
208
207
|
return index == this.pageIndex;
|
|
@@ -284,6 +283,8 @@ class CutePaginator extends CuteFocusableControl {
|
|
|
284
283
|
if (index >= 0 && index < this.getNumberOfPages() && !this.isActivePage(index)) {
|
|
285
284
|
const previousPageIndex = this.pageIndex;
|
|
286
285
|
this.pageIndex = index;
|
|
286
|
+
//this.hideActive.set(false);
|
|
287
|
+
this.markForCheck();
|
|
287
288
|
this._emitPageEvent(previousPageIndex);
|
|
288
289
|
}
|
|
289
290
|
}
|
|
@@ -399,7 +400,7 @@ class CutePaginator extends CuteFocusableControl {
|
|
|
399
400
|
});
|
|
400
401
|
}
|
|
401
402
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CutePaginator, deps: [{ token: CutePaginatorIntl }, { token: CUTE_PAGINATOR_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
402
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: CutePaginator, isStandalone: true, selector: "cute-paginator", inputs: { pageIndex: ["pageIndex", "pageIndex", numberAttribute], length: ["length", "length", numberAttribute], pageSize: ["pageSize", "pageSize", numberAttribute], pageSizeOptions: "pageSizeOptions", hidePageSize: ["hidePageSize", "hidePageSize", booleanAttribute], showFirstLastButtons: ["showFirstLastButtons", "showFirstLastButtons", booleanAttribute], showPrevNextLabels: ["showPrevNextLabels", "showPrevNextLabels", booleanAttribute], hideBorders: ["hideBorders", "hideBorders", booleanAttribute], middleSectionStyle: "middleSectionStyle", alignment: "alignment", magnitude: "magnitude", selectConfig: "selectConfig" }, outputs: { page: "page" }, host: { attributes: { "tabindex": "-1", "role": "group" }, properties: { "class.pe-none": "disabled", "class.opacity-75": "disabled", "class": "alignment ? \"justify-content-\"+alignment : undefined" }, classAttribute: "cute-paginator" }, exportAs: ["cutePaginator"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!hidePageSize) {\r\n <div class=\"page-size\">\r\n\r\n <cute-label class=\"page-size-label\"\r\n [magnitude]=\"magnitude\"\r\n [attr.id]=\"_pageSizeLabelId\">\r\n {{_intl.itemsPerPageLabel}}\r\n </cute-label>\r\n\r\n @if (_displayedPageSizeOptions.length > 1) {\r\n\r\n <cute-form-field\r\n class=\"page-size-select\"\r\n [class.me-auto]=\"true\"\r\n subscriptSizing=\"dynamic\"\r\n [color]=\"color\">\r\n\r\n <cute-select\r\n [value]=\"pageSize\"\r\n [disabled]=\"disabled\"\r\n [color]=\"color\"\r\n [magnitude]=\"magnitude\"\r\n [aria-labelledby]=\"_pageSizeLabelId\"\r\n [panelClass]=\"selectConfig.panelClass || 'shadow-lg'\"\r\n [disableOptionCentering]=\"selectConfig.disableOptionCentering\"\r\n (selectionChange)=\"_changePageSize($event.value)\"\r\n hideSingleSelectionIndicator>\r\n @for (pageSizeOption of _displayedPageSizeOptions; track pageSizeOption) {\r\n <cute-option [value]=\"pageSizeOption\">\r\n {{pageSizeOption}}\r\n </cute-option>\r\n }\r\n </cute-select>\r\n </cute-form-field>\r\n } @else {\r\n <div class=\"page-size-value\">{{pageSize}}</div>\r\n }\r\n </div>\r\n}\r\n\r\n<nav [attr.aria-label]=\"ariaLabel\">\r\n\r\n <ul class=\"pagination\"\r\n [class]=\"_getMagnitudeCssClass()+(alignment=='between' ? '' : ' justify-content-'+alignment)\"\r\n [class.gap-1]=\"hideBorders\"\r\n [style.--bs-focus-ring-color]='color ? \"rgba(var(--bs-\"+color+\"-rgb), var(--bs-focus-ring-opacity))\" : \"\"'\r\n [style.--bs-pagination-color]='color ? \"var(--bs-\"+color+\")\" : \"\"'\r\n [style.--bs-pagination-active-bg]='color ? \"var(--bs-\"+color+\")\" : \"\"'\r\n [style.--bs-pagination-active-border-color]='color ? \"rgb(var(--bs-\"+color+\"-rgb))\" : \"\"'\r\n [style.--bs-pagination-border-width]=\"hideBorders ? 0 : undefined\"\r\n >\r\n @if (showFirstLastButtons) {\r\n <li class=\"page-item page-first\">\r\n <a class=\"page-link\"\r\n [tabindex]=\"_previousButtonDisabled() ? -1 : 0\"\r\n [class.disabled]=\"_previousButtonDisabled()\"\r\n [class]=\"color && !_previousButtonDisabled() ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [style.float]=\"'left'\"\r\n [attr.aria-label]=\"_intl.firstPageLabelHint || _intl.firstPageLabel\"\r\n [cuteTooltip]=\"_intl.firstPageLabelHint || _intl.firstPageLabel\"\r\n [cuteTooltipDisabled]=\"_previousButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (click)=\"firstPage()\"\r\n (keydown.space)=\"firstPage();$event.preventDefault();\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-double-left\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n\r\n <li class=\"page-item\" [class.me-auto]=\"alignment=='between'\">\r\n <a class=\"page-link page-prev rounded-start-1\"\r\n [tabindex]=\"_previousButtonDisabled() ? -1 : 0\"\r\n [class]=\"color && !_previousButtonDisabled() ? 'link-'+color : ''\"\r\n [class.disabled]=\"_previousButtonDisabled()\"\r\n [class.focus-ring]=\"color != null\"\r\n [class.rounded-start-1]=\"hideBorders\"\r\n [attr.aria-label]=\"_intl.previousPageLabelHint || _intl.previousPageLabel\"\r\n [cuteTooltip]=\"_intl.previousPageLabelHint || _intl.previousPageLabel\"\r\n [cuteTooltipDisabled]=\"_previousButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (click)=\"previousPage()\"\r\n (keydown.space)=\"previousPage();$event.preventDefault();\"\r\n >\r\n @if (showPrevNextLabels) {\r\n {{_intl.previousPageLabel}}\r\n } @else {\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-left\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n }\r\n </a>\r\n </li>\r\n\r\n @if (middleSectionStyle.endsWith('pages')) {\r\n @for (pageNo of getPageNumbers(); track pageNo) {\r\n <li class=\"page-item\">\r\n <a [attr.tabindex]=\"isNaN(pageNo)?-1:0\"\r\n class=\"page-link page-number\"\r\n [class.active]=\"isActivePage(pageNo) && !hideActive\"\r\n [class.shadow]=\"isActivePage(pageNo) && !hideActive\"\r\n [class.rounded-1]=\"hideBorders\"\r\n [class]=\"color && !isActivePage(pageNo) ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [attr.aria-current]=\"isActivePage(pageNo) ? 'page' : ''\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (click)=\"gotoPage(pageNo);\"\r\n (keydown.space)=\"gotoPage(pageNo);$event.preventDefault();\"\r\n >\r\n {{pageNo + 1}}\r\n </a>\r\n </li>\r\n }\r\n\r\n } @else if (middleSectionStyle=='range') {\r\n <li class=\"cute-paginator-range-label\"\r\n [class]=\"color ? 'link-'+color : ''\"\r\n aria-live=\"polite\">\r\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\r\n </li>\r\n }\r\n\r\n <li class=\"page-item\" [class.ms-auto]=\"alignment=='between'\">\r\n <a class=\"page-link page-next rounded-end-1\"\r\n [tabindex]=\"_nextButtonDisabled() ? -1 : 0\"\r\n [class]=\"color && !_nextButtonDisabled() ? 'link-'+color : ''\"\r\n [class.disabled]=\"_nextButtonDisabled()\"\r\n [class.focus-ring]=\"color != null\"\r\n [class.rounded-end-1]=\"hideBorders\"\r\n [attr.aria-label]=\"_intl.nextPageLabelHint || _intl.nextPageLabel\"\r\n [cuteTooltip]=\"_intl.nextPageLabelHint || _intl.nextPageLabel\"\r\n [cuteTooltipDisabled]=\"_nextButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (click)=\"nextPage()\"\r\n (keydown.space)=\"nextPage();$event.preventDefault();\"\r\n >\r\n @if (showPrevNextLabels) {\r\n {{_intl.nextPageLabel}}\r\n } @else {\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-right\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n }\r\n </a>\r\n </li>\r\n\r\n @if (showFirstLastButtons) {\r\n <li class=\"page-item\">\r\n <a class=\"page-link page-last\"\r\n [tabindex]=\"_nextButtonDisabled() ? -1 : 0\"\r\n [class.disabled]=\"_nextButtonDisabled()\"\r\n [class]=\"color && !_nextButtonDisabled() ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [attr.aria-label]=\"_intl.lastPageLabelHint || _intl.lastPageLabel\"\r\n [cuteTooltip]=\"_intl.lastPageLabelHint || _intl.lastPageLabel\"\r\n [cuteTooltipDisabled]=\"_nextButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (click)=\"lastPage()\"\r\n (keydown.space)=\"lastPage();$event.preventDefault();\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-double-right\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8 3.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8 7.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</nav>\r\n", styles: [".cute-paginator{display:flex;max-width:100%;align-items:center;gap:.5rem}.cute-paginator .page-size{display:flex;font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg);align-items:center}.cute-paginator .page-size .page-size-label{margin-right:.25rem;overflow:hidden;white-space:nowrap;text-align:center;text-overflow:ellipsis}.cute-paginator .page-size .page-size-select{width:6rem;padding:0 .25rem}.cute-paginator .pagination{align-items:center;margin:0;--bs-pagination-color: var(--bs-secondary-color)}.cute-paginator .pagination .page-item{cursor:pointer}.cute-paginator .pagination .page-item:has(.page-prev,.page-next){display:grid}.cute-paginator .pagination .page-item .page-link{-webkit-user-select:none;user-select:none}.cute-paginator .pagination .page-item .page-link:not(:has(>svg)){white-space:nowrap;text-align:center;text-overflow:ellipsis}.cute-paginator .pagination .page-item:has(.page-link.disabled,.disabled>.page-link){cursor:auto}[dir=rtl] .cute-paginator .pagination .page-item:last-child .page-link{border-radius:var(--bs-pagination-border-radius) 0 0 var(--bs-pagination-border-radius)}[dir=rtl] .cute-paginator .pagination .page-item:last-child .page-link>svg{transform:rotate(180deg)}[dir=rtl] .cute-paginator .pagination .page-item:first-child .page-link{border-radius:0 var(--bs-pagination-border-radius) var(--bs-pagination-border-radius) 0}[dir=rtl] .cute-paginator .pagination .page-item:first-child .page-link>svg{transform:rotate(180deg)}[dir=rtl] .cute-paginator .pagination .page-item .page-next>svg,[dir=rtl] .cute-paginator .pagination .page-item .page-prev>svg{transform:rotate(180deg)}.cute-paginator .pagination .cute-paginator-range-label{display:inline-block;overflow:hidden;white-space:nowrap;text-align:center;text-overflow:ellipsis;text-decoration:none;min-width:7rem;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg)}.cute-paginator .pagination-sm svg{width:.875rem}.cute-paginator .pagination-lg svg{width:1.25rem}\n"], dependencies: [{ kind: "component", type: CuteFormField, selector: "cute-form-field", inputs: ["hideValidStyle", "hideRequiredMarker", "magnitude", "floatLabel", "subscriptSizing", "hintLabel"], exportAs: ["cuteFormField"] }, { kind: "component", type: CuteSelect, selector: "cute-select", inputs: ["aria-describedby", "panelClass", "disableRipple", "hideSingleSelectionIndicator", "placeholder", "multiple", "disableOptionCentering", "compareWith", "value", "errorStateMatcher", "magnitude", "typeaheadDebounceInterval", "sortComparator", "panelWidth", "panelHeight", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["cuteSelect"] }, { kind: "directive", type: CuteTooltip, selector: "[cuteTooltip]", inputs: ["cuteTooltipPosition", "cuteTooltipPositionAtOrigin", "cuteTooltipDisabled", "cuteTooltipShowDelay", "cuteTooltipHideDelay", "cuteTooltipTouchGestures", "cuteTooltip", "cuteTooltipClass"], exportAs: ["cuteTooltip"] }, { kind: "component", type: CuteOption, selector: "cute-option", inputs: ["value"], outputs: ["onSelectionChange"], exportAs: ["cuteOption"] }, { kind: "directive", type: CuteLabel, selector: "cute-label", inputs: ["magnitude"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
403
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: CutePaginator, isStandalone: true, selector: "cute-paginator", inputs: { pageIndex: ["pageIndex", "pageIndex", numberAttribute], length: ["length", "length", numberAttribute], pageSize: ["pageSize", "pageSize", numberAttribute], pageSizeOptions: "pageSizeOptions", hidePageSize: ["hidePageSize", "hidePageSize", booleanAttribute], showFirstLastButtons: ["showFirstLastButtons", "showFirstLastButtons", booleanAttribute], showPrevNextLabels: ["showPrevNextLabels", "showPrevNextLabels", booleanAttribute], hideBorders: ["hideBorders", "hideBorders", booleanAttribute], middleSectionStyle: "middleSectionStyle", alignment: "alignment", magnitude: "magnitude", selectConfig: "selectConfig" }, outputs: { page: "page" }, host: { attributes: { "tabindex": "-1", "role": "group" }, properties: { "class.pe-none": "disabled", "class.opacity-75": "disabled", "class": "alignment ? \"justify-content-\"+alignment : \"justify-content-sm-start\"", "attr.magnitude": "magnitude" }, classAttribute: "cute-paginator" }, exportAs: ["cutePaginator"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!hidePageSize) {\r\n <div class=\"page-size\">\r\n\r\n <cute-label class=\"page-size-label\"\r\n [magnitude]=\"magnitude\"\r\n [attr.id]=\"_pageSizeLabelId\">\r\n {{_intl.itemsPerPageLabel}}\r\n </cute-label>\r\n\r\n @if (_displayedPageSizeOptions.length > 1) {\r\n\r\n <cute-form-field\r\n class=\"page-size-select\"\r\n [class.me-auto]=\"true\"\r\n subscriptSizing=\"dynamic\"\r\n [color]=\"color\">\r\n\r\n <cute-select\r\n [value]=\"pageSize\"\r\n [disabled]=\"disabled\"\r\n [color]=\"color\"\r\n [magnitude]=\"magnitude\"\r\n [aria-labelledby]=\"_pageSizeLabelId\"\r\n [panelClass]=\"selectConfig.panelClass || 'shadow-lg'\"\r\n [disableOptionCentering]=\"selectConfig.disableOptionCentering\"\r\n (selectionChange)=\"_changePageSize($event.value)\"\r\n hideSingleSelectionIndicator>\r\n @for (pageSizeOption of _displayedPageSizeOptions; track pageSizeOption) {\r\n <cute-option [value]=\"pageSizeOption\">\r\n {{pageSizeOption}}\r\n </cute-option>\r\n }\r\n </cute-select>\r\n </cute-form-field>\r\n } @else {\r\n <div class=\"page-size-value\">{{pageSize}}</div>\r\n }\r\n </div>\r\n}\r\n\r\n<nav [attr.aria-label]=\"ariaLabel\">\r\n\r\n <ul class=\"pagination\"\r\n [class]=\"_getMagnitudeCssClass()+(alignment=='between' ? '' : ' justify-content-'+alignment)\"\r\n [class.gap-1]=\"hideBorders\"\r\n [style.--bs-focus-ring-color]='color ? \"rgba(var(--bs-\"+color+\"-rgb), var(--bs-focus-ring-opacity))\" : \"\"'\r\n [style.--bs-pagination-color]='color ? \"var(--bs-\"+color+\")\" : \"\"'\r\n [style.--bs-pagination-active-bg]='color ? \"var(--bs-\"+color+\")\" : \"\"'\r\n [style.--bs-pagination-active-border-color]='color ? \"rgb(var(--bs-\"+color+\"-rgb))\" : \"\"'\r\n [style.--bs-pagination-border-width]=\"hideBorders ? 0 : undefined\"\r\n >\r\n @if (showFirstLastButtons) {\r\n <li class=\"page-item page-first\">\r\n <a class=\"page-link\"\r\n [tabindex]=\"_previousButtonDisabled() ? -1 : 0\"\r\n [class.disabled]=\"_previousButtonDisabled()\"\r\n [class]=\"color && !_previousButtonDisabled() ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [style.float]=\"'left'\"\r\n [attr.aria-label]=\"_intl.firstPageLabelHint || _intl.firstPageLabel\"\r\n [cuteTooltip]=\"_intl.firstPageLabelHint || _intl.firstPageLabel\"\r\n [cuteTooltipDisabled]=\"_previousButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (click)=\"firstPage()\"\r\n (keydown.space)=\"firstPage();$event.preventDefault();\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-double-left\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n\r\n <li class=\"page-item page-prev\" [class.me-auto]=\"alignment=='between'\">\r\n <a class=\"page-link rounded-start-1\"\r\n [tabindex]=\"_previousButtonDisabled() ? -1 : 0\"\r\n [class]=\"color && !_previousButtonDisabled() ? 'link-'+color : ''\"\r\n [class.disabled]=\"_previousButtonDisabled()\"\r\n [class.focus-ring]=\"color != null\"\r\n [class.rounded-start-1]=\"hideBorders\"\r\n [attr.aria-label]=\"_intl.previousPageLabelHint || _intl.previousPageLabel\"\r\n [cuteTooltip]=\"_intl.previousPageLabelHint || _intl.previousPageLabel\"\r\n [cuteTooltipDisabled]=\"_previousButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mouseup)=\"onMouseUp($event)\"\r\n (click)=\"previousPage()\"\r\n (keydown.space)=\"previousPage();$event.preventDefault();\"\r\n >\r\n @if (showPrevNextLabels) {\r\n {{_intl.previousPageLabel}}\r\n } @else {\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-left\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n }\r\n </a>\r\n </li>\r\n\r\n @if (middleSectionStyle.endsWith('pages')) {\r\n @let pageNumbers = getPageNumbers();\r\n @for (pageNo of pageNumbers; track pageNo) {\r\n <li class=\"page-item page-number\">\r\n <a [attr.tabindex]=\"isNaN(pageNo)?-1:0\"\r\n class=\"page-link\"\r\n [class.active]=\"!hideActive() && isActivePage(pageNo)\"\r\n [class.shadow]=\"!hideActive() && isActivePage(pageNo)\"\r\n [class.rounded-1]=\"hideBorders\"\r\n [class]=\"color && !isActivePage(pageNo) ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [attr.aria-current]=\"isActivePage(pageNo) ? 'page' : ''\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mouseup)=\"onMouseUp($event)\"\r\n (click)=\"gotoPage(pageNo)\"\r\n (keydown.space)=\"gotoPage(pageNo);$event.preventDefault();\"\r\n >\r\n {{pageNo + 1}}\r\n </a>\r\n </li>\r\n }\r\n\r\n } @else if (middleSectionStyle=='range') {\r\n <li class=\"cute-paginator-range-label\" aria-live=\"polite\">\r\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\r\n </li>\r\n }\r\n\r\n <li class=\"page-item page-next\" [class.ms-auto]=\"alignment=='between'\">\r\n <a class=\"page-link rounded-end-1\"\r\n [tabindex]=\"_nextButtonDisabled() ? -1 : 0\"\r\n [class]=\"color && !_nextButtonDisabled() ? 'link-'+color : ''\"\r\n [class.disabled]=\"_nextButtonDisabled()\"\r\n [class.focus-ring]=\"color != null\"\r\n [class.rounded-end-1]=\"hideBorders\"\r\n [attr.aria-label]=\"_intl.nextPageLabelHint || _intl.nextPageLabel\"\r\n [cuteTooltip]=\"_intl.nextPageLabelHint || _intl.nextPageLabel\"\r\n [cuteTooltipDisabled]=\"_nextButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mouseup)=\"onMouseUp($event)\"\r\n (click)=\"nextPage()\"\r\n (keydown.space)=\"nextPage();$event.preventDefault();\"\r\n >\r\n @if (showPrevNextLabels) {\r\n {{_intl.nextPageLabel}}\r\n } @else {\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-right\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n }\r\n </a>\r\n </li>\r\n\r\n @if (showFirstLastButtons) {\r\n <li class=\"page-item page-last\">\r\n <a class=\"page-link\"\r\n [tabindex]=\"_nextButtonDisabled() ? -1 : 0\"\r\n [class.disabled]=\"_nextButtonDisabled()\"\r\n [class]=\"color && !_nextButtonDisabled() ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [attr.aria-label]=\"_intl.lastPageLabelHint || _intl.lastPageLabel\"\r\n [cuteTooltip]=\"_intl.lastPageLabelHint || _intl.lastPageLabel\"\r\n [cuteTooltipDisabled]=\"_nextButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (click)=\"lastPage()\"\r\n (keydown.space)=\"lastPage();$event.preventDefault();\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-double-right\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8 3.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8 7.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</nav>\r\n", styles: [".cute-paginator{display:flex;flex-wrap:wrap-reverse;max-width:100%;align-items:center;justify-content:center;gap:.5rem}.cute-paginator .page-size{display:flex;font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg);align-items:center}.cute-paginator .page-size .page-size-label{margin-right:.25rem;overflow:hidden;white-space:nowrap;text-align:center;text-overflow:ellipsis}.cute-paginator .page-size .page-size-select{width:6rem;padding:0 .25rem}.cute-paginator[magnitude=small] .page-size-value{font-size:.875rem}.cute-paginator[magnitude=large] .page-size-value{font-size:1.25rem}.cute-paginator .pagination{align-items:center;margin:0;--bs-pagination-color: var(--bs-secondary-color)}.cute-paginator .pagination .page-item{cursor:pointer}.cute-paginator .pagination .page-item:where(.page-prev,.page-next,.page-first,.page-last){display:grid;-webkit-user-select:none;user-select:none}.cute-paginator .pagination .page-item .page-link{-webkit-user-select:none;user-select:none}.cute-paginator .pagination .page-item .page-link:not(:has(>svg)){white-space:nowrap;text-align:center;text-overflow:ellipsis}.cute-paginator .pagination .page-item:has(.page-link.disabled,.disabled>.page-link){cursor:auto}[dir=rtl] .cute-paginator .pagination .page-item:last-child .page-link{border-radius:var(--bs-pagination-border-radius) 0 0 var(--bs-pagination-border-radius)}[dir=rtl] .cute-paginator .pagination .page-item:last-child .page-link>svg{transform:rotate(180deg)}[dir=rtl] .cute-paginator .pagination .page-item:first-child .page-link{border-radius:0 var(--bs-pagination-border-radius) var(--bs-pagination-border-radius) 0}[dir=rtl] .cute-paginator .pagination .page-item:first-child .page-link>svg{transform:rotate(180deg)}[dir=rtl] .cute-paginator .pagination .page-item:where(.page-next,.page-prev) .page-link>svg{transform:rotate(180deg)}.cute-paginator .pagination .cute-paginator-range-label{display:inline-block;overflow:hidden;white-space:nowrap;text-align:center;text-overflow:ellipsis;text-decoration:none;min-width:4em;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);background-color:var(--bs-pagination-bg)}.cute-paginator .pagination:where(:not(.pagination-sm,.pagination-lg)) svg{margin-top:-2px}.cute-paginator .pagination-sm svg{width:.875rem;margin-top:-2px}.cute-paginator .pagination-lg svg{width:1.25rem;height:1.25rem;margin-top:-4px}\n"], dependencies: [{ kind: "component", type: CuteFormField, selector: "cute-form-field", inputs: ["hideValidStyle", "hideRequiredMarker", "magnitude", "floatLabel", "subscriptSizing", "hintLabel"], exportAs: ["cuteFormField"] }, { kind: "component", type: CuteSelect, selector: "cute-select", inputs: ["aria-describedby", "panelClass", "disableRipple", "hideSingleSelectionIndicator", "placeholder", "multiple", "disableOptionCentering", "compareWith", "value", "errorStateMatcher", "magnitude", "typeaheadDebounceInterval", "sortComparator", "panelWidth", "panelHeight", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["cuteSelect"] }, { kind: "directive", type: CuteTooltip, selector: "[cuteTooltip]", inputs: ["cuteTooltipPosition", "cuteTooltipPositionAtOrigin", "cuteTooltipDisabled", "cuteTooltipShowDelay", "cuteTooltipHideDelay", "cuteTooltipTouchGestures", "cuteTooltip", "cuteTooltipClass"], exportAs: ["cuteTooltip"] }, { kind: "component", type: CuteOption, selector: "cute-option", inputs: ["value"], outputs: ["onSelectionChange"], exportAs: ["cuteOption"] }, { kind: "directive", type: CuteLabel, selector: "cute-label", inputs: ["magnitude"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
403
404
|
}
|
|
404
405
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CutePaginator, decorators: [{
|
|
405
406
|
type: Component,
|
|
@@ -407,10 +408,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
407
408
|
'class': 'cute-paginator',
|
|
408
409
|
'[class.pe-none]': 'disabled',
|
|
409
410
|
'[class.opacity-75]': 'disabled',
|
|
410
|
-
'[class]': 'alignment ? "justify-content-"+alignment :
|
|
411
|
+
'[class]': 'alignment ? "justify-content-"+alignment : "justify-content-sm-start"',
|
|
412
|
+
'[attr.magnitude]': 'magnitude',
|
|
411
413
|
'tabindex': '-1',
|
|
412
414
|
'role': 'group',
|
|
413
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [CuteFormField, CuteSelect, CuteTooltip, CuteOption, CuteLabel], template: "@if (!hidePageSize) {\r\n <div class=\"page-size\">\r\n\r\n <cute-label class=\"page-size-label\"\r\n [magnitude]=\"magnitude\"\r\n [attr.id]=\"_pageSizeLabelId\">\r\n {{_intl.itemsPerPageLabel}}\r\n </cute-label>\r\n\r\n @if (_displayedPageSizeOptions.length > 1) {\r\n\r\n <cute-form-field\r\n class=\"page-size-select\"\r\n [class.me-auto]=\"true\"\r\n subscriptSizing=\"dynamic\"\r\n [color]=\"color\">\r\n\r\n <cute-select\r\n [value]=\"pageSize\"\r\n [disabled]=\"disabled\"\r\n [color]=\"color\"\r\n [magnitude]=\"magnitude\"\r\n [aria-labelledby]=\"_pageSizeLabelId\"\r\n [panelClass]=\"selectConfig.panelClass || 'shadow-lg'\"\r\n [disableOptionCentering]=\"selectConfig.disableOptionCentering\"\r\n (selectionChange)=\"_changePageSize($event.value)\"\r\n hideSingleSelectionIndicator>\r\n @for (pageSizeOption of _displayedPageSizeOptions; track pageSizeOption) {\r\n <cute-option [value]=\"pageSizeOption\">\r\n {{pageSizeOption}}\r\n </cute-option>\r\n }\r\n </cute-select>\r\n </cute-form-field>\r\n } @else {\r\n <div class=\"page-size-value\">{{pageSize}}</div>\r\n }\r\n </div>\r\n}\r\n\r\n<nav [attr.aria-label]=\"ariaLabel\">\r\n\r\n <ul class=\"pagination\"\r\n [class]=\"_getMagnitudeCssClass()+(alignment=='between' ? '' : ' justify-content-'+alignment)\"\r\n [class.gap-1]=\"hideBorders\"\r\n [style.--bs-focus-ring-color]='color ? \"rgba(var(--bs-\"+color+\"-rgb), var(--bs-focus-ring-opacity))\" : \"\"'\r\n [style.--bs-pagination-color]='color ? \"var(--bs-\"+color+\")\" : \"\"'\r\n [style.--bs-pagination-active-bg]='color ? \"var(--bs-\"+color+\")\" : \"\"'\r\n [style.--bs-pagination-active-border-color]='color ? \"rgb(var(--bs-\"+color+\"-rgb))\" : \"\"'\r\n [style.--bs-pagination-border-width]=\"hideBorders ? 0 : undefined\"\r\n >\r\n @if (showFirstLastButtons) {\r\n <li class=\"page-item page-first\">\r\n <a class=\"page-link\"\r\n [tabindex]=\"_previousButtonDisabled() ? -1 : 0\"\r\n [class.disabled]=\"_previousButtonDisabled()\"\r\n [class]=\"color && !_previousButtonDisabled() ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [style.float]=\"'left'\"\r\n [attr.aria-label]=\"_intl.firstPageLabelHint || _intl.firstPageLabel\"\r\n [cuteTooltip]=\"_intl.firstPageLabelHint || _intl.firstPageLabel\"\r\n [cuteTooltipDisabled]=\"_previousButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (click)=\"firstPage()\"\r\n (keydown.space)=\"firstPage();$event.preventDefault();\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-double-left\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n\r\n <li class=\"page-item\" [class.me-auto]=\"alignment=='between'\">\r\n <a class=\"page-link page-prev rounded-start-1\"\r\n [tabindex]=\"_previousButtonDisabled() ? -1 : 0\"\r\n [class]=\"color && !_previousButtonDisabled() ? 'link-'+color : ''\"\r\n [class.disabled]=\"_previousButtonDisabled()\"\r\n [class.focus-ring]=\"color != null\"\r\n [class.rounded-start-1]=\"hideBorders\"\r\n [attr.aria-label]=\"_intl.previousPageLabelHint || _intl.previousPageLabel\"\r\n [cuteTooltip]=\"_intl.previousPageLabelHint || _intl.previousPageLabel\"\r\n [cuteTooltipDisabled]=\"_previousButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (click)=\"previousPage()\"\r\n (keydown.space)=\"previousPage();$event.preventDefault();\"\r\n >\r\n @if (showPrevNextLabels) {\r\n {{_intl.previousPageLabel}}\r\n } @else {\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-left\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n }\r\n </a>\r\n </li>\r\n\r\n @if (middleSectionStyle.endsWith('pages')) {\r\n @for (pageNo of getPageNumbers(); track pageNo) {\r\n <li class=\"page-item\">\r\n <a [attr.tabindex]=\"isNaN(pageNo)?-1:0\"\r\n class=\"page-link page-number\"\r\n [class.active]=\"isActivePage(pageNo) && !hideActive\"\r\n [class.shadow]=\"isActivePage(pageNo) && !hideActive\"\r\n [class.rounded-1]=\"hideBorders\"\r\n [class]=\"color && !isActivePage(pageNo) ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [attr.aria-current]=\"isActivePage(pageNo) ? 'page' : ''\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (click)=\"gotoPage(pageNo);\"\r\n (keydown.space)=\"gotoPage(pageNo);$event.preventDefault();\"\r\n >\r\n {{pageNo + 1}}\r\n </a>\r\n </li>\r\n }\r\n\r\n } @else if (middleSectionStyle=='range') {\r\n <li class=\"cute-paginator-range-label\"\r\n [class]=\"color ? 'link-'+color : ''\"\r\n aria-live=\"polite\">\r\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\r\n </li>\r\n }\r\n\r\n <li class=\"page-item\" [class.ms-auto]=\"alignment=='between'\">\r\n <a class=\"page-link page-next rounded-end-1\"\r\n [tabindex]=\"_nextButtonDisabled() ? -1 : 0\"\r\n [class]=\"color && !_nextButtonDisabled() ? 'link-'+color : ''\"\r\n [class.disabled]=\"_nextButtonDisabled()\"\r\n [class.focus-ring]=\"color != null\"\r\n [class.rounded-end-1]=\"hideBorders\"\r\n [attr.aria-label]=\"_intl.nextPageLabelHint || _intl.nextPageLabel\"\r\n [cuteTooltip]=\"_intl.nextPageLabelHint || _intl.nextPageLabel\"\r\n [cuteTooltipDisabled]=\"_nextButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (click)=\"nextPage()\"\r\n (keydown.space)=\"nextPage();$event.preventDefault();\"\r\n >\r\n @if (showPrevNextLabels) {\r\n {{_intl.nextPageLabel}}\r\n } @else {\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-right\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n }\r\n </a>\r\n </li>\r\n\r\n @if (showFirstLastButtons) {\r\n <li class=\"page-item\">\r\n <a class=\"page-link page-last\"\r\n [tabindex]=\"_nextButtonDisabled() ? -1 : 0\"\r\n [class.disabled]=\"_nextButtonDisabled()\"\r\n [class]=\"color && !_nextButtonDisabled() ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [attr.aria-label]=\"_intl.lastPageLabelHint || _intl.lastPageLabel\"\r\n [cuteTooltip]=\"_intl.lastPageLabelHint || _intl.lastPageLabel\"\r\n [cuteTooltipDisabled]=\"_nextButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (click)=\"lastPage()\"\r\n (keydown.space)=\"lastPage();$event.preventDefault();\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-double-right\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8 3.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8 7.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</nav>\r\n", styles: [".cute-paginator{display:flex;max-width:100%;align-items:center;gap:.5rem}.cute-paginator .page-size{display:flex;font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg);align-items:center}.cute-paginator .page-size .page-size-label{margin-right:.25rem;overflow:hidden;white-space:nowrap;text-align:center;text-overflow:ellipsis}.cute-paginator .page-size .page-size-select{width:6rem;padding:0 .25rem}.cute-paginator .pagination{align-items:center;margin:0;--bs-pagination-color: var(--bs-secondary-color)}.cute-paginator .pagination .page-item{cursor:pointer}.cute-paginator .pagination .page-item:has(.page-prev,.page-next){display:grid}.cute-paginator .pagination .page-item .page-link{-webkit-user-select:none;user-select:none}.cute-paginator .pagination .page-item .page-link:not(:has(>svg)){white-space:nowrap;text-align:center;text-overflow:ellipsis}.cute-paginator .pagination .page-item:has(.page-link.disabled,.disabled>.page-link){cursor:auto}[dir=rtl] .cute-paginator .pagination .page-item:last-child .page-link{border-radius:var(--bs-pagination-border-radius) 0 0 var(--bs-pagination-border-radius)}[dir=rtl] .cute-paginator .pagination .page-item:last-child .page-link>svg{transform:rotate(180deg)}[dir=rtl] .cute-paginator .pagination .page-item:first-child .page-link{border-radius:0 var(--bs-pagination-border-radius) var(--bs-pagination-border-radius) 0}[dir=rtl] .cute-paginator .pagination .page-item:first-child .page-link>svg{transform:rotate(180deg)}[dir=rtl] .cute-paginator .pagination .page-item .page-next>svg,[dir=rtl] .cute-paginator .pagination .page-item .page-prev>svg{transform:rotate(180deg)}.cute-paginator .pagination .cute-paginator-range-label{display:inline-block;overflow:hidden;white-space:nowrap;text-align:center;text-overflow:ellipsis;text-decoration:none;min-width:7rem;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg)}.cute-paginator .pagination-sm svg{width:.875rem}.cute-paginator .pagination-lg svg{width:1.25rem}\n"] }]
|
|
415
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [CuteFormField, CuteSelect, CuteTooltip, CuteOption, CuteLabel], template: "@if (!hidePageSize) {\r\n <div class=\"page-size\">\r\n\r\n <cute-label class=\"page-size-label\"\r\n [magnitude]=\"magnitude\"\r\n [attr.id]=\"_pageSizeLabelId\">\r\n {{_intl.itemsPerPageLabel}}\r\n </cute-label>\r\n\r\n @if (_displayedPageSizeOptions.length > 1) {\r\n\r\n <cute-form-field\r\n class=\"page-size-select\"\r\n [class.me-auto]=\"true\"\r\n subscriptSizing=\"dynamic\"\r\n [color]=\"color\">\r\n\r\n <cute-select\r\n [value]=\"pageSize\"\r\n [disabled]=\"disabled\"\r\n [color]=\"color\"\r\n [magnitude]=\"magnitude\"\r\n [aria-labelledby]=\"_pageSizeLabelId\"\r\n [panelClass]=\"selectConfig.panelClass || 'shadow-lg'\"\r\n [disableOptionCentering]=\"selectConfig.disableOptionCentering\"\r\n (selectionChange)=\"_changePageSize($event.value)\"\r\n hideSingleSelectionIndicator>\r\n @for (pageSizeOption of _displayedPageSizeOptions; track pageSizeOption) {\r\n <cute-option [value]=\"pageSizeOption\">\r\n {{pageSizeOption}}\r\n </cute-option>\r\n }\r\n </cute-select>\r\n </cute-form-field>\r\n } @else {\r\n <div class=\"page-size-value\">{{pageSize}}</div>\r\n }\r\n </div>\r\n}\r\n\r\n<nav [attr.aria-label]=\"ariaLabel\">\r\n\r\n <ul class=\"pagination\"\r\n [class]=\"_getMagnitudeCssClass()+(alignment=='between' ? '' : ' justify-content-'+alignment)\"\r\n [class.gap-1]=\"hideBorders\"\r\n [style.--bs-focus-ring-color]='color ? \"rgba(var(--bs-\"+color+\"-rgb), var(--bs-focus-ring-opacity))\" : \"\"'\r\n [style.--bs-pagination-color]='color ? \"var(--bs-\"+color+\")\" : \"\"'\r\n [style.--bs-pagination-active-bg]='color ? \"var(--bs-\"+color+\")\" : \"\"'\r\n [style.--bs-pagination-active-border-color]='color ? \"rgb(var(--bs-\"+color+\"-rgb))\" : \"\"'\r\n [style.--bs-pagination-border-width]=\"hideBorders ? 0 : undefined\"\r\n >\r\n @if (showFirstLastButtons) {\r\n <li class=\"page-item page-first\">\r\n <a class=\"page-link\"\r\n [tabindex]=\"_previousButtonDisabled() ? -1 : 0\"\r\n [class.disabled]=\"_previousButtonDisabled()\"\r\n [class]=\"color && !_previousButtonDisabled() ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [style.float]=\"'left'\"\r\n [attr.aria-label]=\"_intl.firstPageLabelHint || _intl.firstPageLabel\"\r\n [cuteTooltip]=\"_intl.firstPageLabelHint || _intl.firstPageLabel\"\r\n [cuteTooltipDisabled]=\"_previousButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (click)=\"firstPage()\"\r\n (keydown.space)=\"firstPage();$event.preventDefault();\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-double-left\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n\r\n <li class=\"page-item page-prev\" [class.me-auto]=\"alignment=='between'\">\r\n <a class=\"page-link rounded-start-1\"\r\n [tabindex]=\"_previousButtonDisabled() ? -1 : 0\"\r\n [class]=\"color && !_previousButtonDisabled() ? 'link-'+color : ''\"\r\n [class.disabled]=\"_previousButtonDisabled()\"\r\n [class.focus-ring]=\"color != null\"\r\n [class.rounded-start-1]=\"hideBorders\"\r\n [attr.aria-label]=\"_intl.previousPageLabelHint || _intl.previousPageLabel\"\r\n [cuteTooltip]=\"_intl.previousPageLabelHint || _intl.previousPageLabel\"\r\n [cuteTooltipDisabled]=\"_previousButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mouseup)=\"onMouseUp($event)\"\r\n (click)=\"previousPage()\"\r\n (keydown.space)=\"previousPage();$event.preventDefault();\"\r\n >\r\n @if (showPrevNextLabels) {\r\n {{_intl.previousPageLabel}}\r\n } @else {\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-left\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n }\r\n </a>\r\n </li>\r\n\r\n @if (middleSectionStyle.endsWith('pages')) {\r\n @let pageNumbers = getPageNumbers();\r\n @for (pageNo of pageNumbers; track pageNo) {\r\n <li class=\"page-item page-number\">\r\n <a [attr.tabindex]=\"isNaN(pageNo)?-1:0\"\r\n class=\"page-link\"\r\n [class.active]=\"!hideActive() && isActivePage(pageNo)\"\r\n [class.shadow]=\"!hideActive() && isActivePage(pageNo)\"\r\n [class.rounded-1]=\"hideBorders\"\r\n [class]=\"color && !isActivePage(pageNo) ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [attr.aria-current]=\"isActivePage(pageNo) ? 'page' : ''\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mouseup)=\"onMouseUp($event)\"\r\n (click)=\"gotoPage(pageNo)\"\r\n (keydown.space)=\"gotoPage(pageNo);$event.preventDefault();\"\r\n >\r\n {{pageNo + 1}}\r\n </a>\r\n </li>\r\n }\r\n\r\n } @else if (middleSectionStyle=='range') {\r\n <li class=\"cute-paginator-range-label\" aria-live=\"polite\">\r\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\r\n </li>\r\n }\r\n\r\n <li class=\"page-item page-next\" [class.ms-auto]=\"alignment=='between'\">\r\n <a class=\"page-link rounded-end-1\"\r\n [tabindex]=\"_nextButtonDisabled() ? -1 : 0\"\r\n [class]=\"color && !_nextButtonDisabled() ? 'link-'+color : ''\"\r\n [class.disabled]=\"_nextButtonDisabled()\"\r\n [class.focus-ring]=\"color != null\"\r\n [class.rounded-end-1]=\"hideBorders\"\r\n [attr.aria-label]=\"_intl.nextPageLabelHint || _intl.nextPageLabel\"\r\n [cuteTooltip]=\"_intl.nextPageLabelHint || _intl.nextPageLabel\"\r\n [cuteTooltipDisabled]=\"_nextButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mouseup)=\"onMouseUp($event)\"\r\n (click)=\"nextPage()\"\r\n (keydown.space)=\"nextPage();$event.preventDefault();\"\r\n >\r\n @if (showPrevNextLabels) {\r\n {{_intl.nextPageLabel}}\r\n } @else {\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-right\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n }\r\n </a>\r\n </li>\r\n\r\n @if (showFirstLastButtons) {\r\n <li class=\"page-item page-last\">\r\n <a class=\"page-link\"\r\n [tabindex]=\"_nextButtonDisabled() ? -1 : 0\"\r\n [class.disabled]=\"_nextButtonDisabled()\"\r\n [class]=\"color && !_nextButtonDisabled() ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [attr.aria-label]=\"_intl.lastPageLabelHint || _intl.lastPageLabel\"\r\n [cuteTooltip]=\"_intl.lastPageLabelHint || _intl.lastPageLabel\"\r\n [cuteTooltipDisabled]=\"_nextButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (click)=\"lastPage()\"\r\n (keydown.space)=\"lastPage();$event.preventDefault();\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-double-right\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8 3.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8 7.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</nav>\r\n", styles: [".cute-paginator{display:flex;flex-wrap:wrap-reverse;max-width:100%;align-items:center;justify-content:center;gap:.5rem}.cute-paginator .page-size{display:flex;font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg);align-items:center}.cute-paginator .page-size .page-size-label{margin-right:.25rem;overflow:hidden;white-space:nowrap;text-align:center;text-overflow:ellipsis}.cute-paginator .page-size .page-size-select{width:6rem;padding:0 .25rem}.cute-paginator[magnitude=small] .page-size-value{font-size:.875rem}.cute-paginator[magnitude=large] .page-size-value{font-size:1.25rem}.cute-paginator .pagination{align-items:center;margin:0;--bs-pagination-color: var(--bs-secondary-color)}.cute-paginator .pagination .page-item{cursor:pointer}.cute-paginator .pagination .page-item:where(.page-prev,.page-next,.page-first,.page-last){display:grid;-webkit-user-select:none;user-select:none}.cute-paginator .pagination .page-item .page-link{-webkit-user-select:none;user-select:none}.cute-paginator .pagination .page-item .page-link:not(:has(>svg)){white-space:nowrap;text-align:center;text-overflow:ellipsis}.cute-paginator .pagination .page-item:has(.page-link.disabled,.disabled>.page-link){cursor:auto}[dir=rtl] .cute-paginator .pagination .page-item:last-child .page-link{border-radius:var(--bs-pagination-border-radius) 0 0 var(--bs-pagination-border-radius)}[dir=rtl] .cute-paginator .pagination .page-item:last-child .page-link>svg{transform:rotate(180deg)}[dir=rtl] .cute-paginator .pagination .page-item:first-child .page-link{border-radius:0 var(--bs-pagination-border-radius) var(--bs-pagination-border-radius) 0}[dir=rtl] .cute-paginator .pagination .page-item:first-child .page-link>svg{transform:rotate(180deg)}[dir=rtl] .cute-paginator .pagination .page-item:where(.page-next,.page-prev) .page-link>svg{transform:rotate(180deg)}.cute-paginator .pagination .cute-paginator-range-label{display:inline-block;overflow:hidden;white-space:nowrap;text-align:center;text-overflow:ellipsis;text-decoration:none;min-width:4em;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);background-color:var(--bs-pagination-bg)}.cute-paginator .pagination:where(:not(.pagination-sm,.pagination-lg)) svg{margin-top:-2px}.cute-paginator .pagination-sm svg{width:.875rem;margin-top:-2px}.cute-paginator .pagination-lg svg{width:1.25rem;height:1.25rem;margin-top:-4px}\n"] }]
|
|
414
416
|
}], ctorParameters: () => [{ type: CutePaginatorIntl }, { type: undefined, decorators: [{
|
|
415
417
|
type: Optional
|
|
416
418
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cute-widgets-base-paginator.mjs","sources":["../../../../projects/cute-widgets/base/paginator/src/paginator-intl.service.ts","../../../../projects/cute-widgets/base/paginator/src/paginator.component.ts","../../../../projects/cute-widgets/base/paginator/src/paginator.component.html","../../../../projects/cute-widgets/base/paginator/src/paginator.module.ts","../../../../projects/cute-widgets/base/paginator/cute-widgets-base-paginator.ts"],"sourcesContent":["/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Injectable} from '@angular/core';\r\nimport {Subject} from 'rxjs';\r\n\r\n/**\r\n * To modify the labels and text displayed, create a new instance of CutePaginatorIntl and\r\n * include it in a custom provider\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class CutePaginatorIntl {\r\n /**\r\n * Stream to emit from when labels are changed. Use this to notify components when the labels have\r\n * changed after initialization.\r\n */\r\n readonly changes: Subject<void> = new Subject<void>();\r\n\r\n /** A label for the page size selector. */\r\n itemsPerPageLabel: string = 'Items per page:';\r\n\r\n /** A label for the button that increments the current page. */\r\n nextPageLabel: string = 'Next';\r\n\r\n /** A hint for the button that increments the current page. */\r\n nextPageLabelHint: string = 'Next page';\r\n\r\n /** A label for the button that decrements the current page. */\r\n previousPageLabel: string = 'Previous';\r\n\r\n /** A hint for the button that decrements the current page. */\r\n previousPageLabelHint: string = 'Previous page';\r\n\r\n /** A label for the button that moves to the first page. */\r\n firstPageLabel: string = 'First';\r\n\r\n /** A hint for the button that moves to the first page. */\r\n firstPageLabelHint: string = 'First page';\r\n\r\n /** A label for the button that moves to the last page. */\r\n lastPageLabel: string = 'Last';\r\n\r\n /** A hint for the button that moves to the last page. */\r\n lastPageLabelHint: string = 'Last page';\r\n\r\n /** A label for the range of items within the current page and the length of the whole list. */\r\n getRangeLabel: (page: number, pageSize: number, length: number) => string = (\r\n page: number,\r\n pageSize: number,\r\n length: number,\r\n ) => {\r\n\r\n let range = \"0\";\r\n\r\n if (length != 0 && pageSize != 0) {\r\n length = Math.max(length, 0);\r\n\r\n const startIndex = page * pageSize;\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex =\r\n startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\r\n\r\n range = `${startIndex + 1} – ${endIndex}`;\r\n }\r\n\r\n return `${range} of ${length}`;\r\n };\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Inject,\r\n InjectionToken,\r\n Input,\r\n Optional,\r\n Output,\r\n ViewEncapsulation,\r\n booleanAttribute,\r\n numberAttribute, SimpleChanges, AfterViewChecked,\r\n} from '@angular/core';\r\nimport {CuteFormField, CuteLabel} from '@cute-widgets/base/form-field';\r\nimport {CuteSelect} from '@cute-widgets/base/select';\r\nimport {CuteTooltip} from '@cute-widgets/base/tooltip';\r\nimport {Subscription} from 'rxjs';\r\nimport {CutePaginatorIntl} from './paginator-intl.service';\r\nimport {CuteFocusableControl} from \"@cute-widgets/base/abstract\";\r\nimport {RelativeSize} from \"@cute-widgets/base/core\";\r\nimport {CuteOption} from \"@cute-widgets/base/core/option\";\r\n\r\n/** The default page size if there is no page size and there are no provided page size options. */\r\nconst DEFAULT_PAGE_SIZE = 50;\r\n/** Maximum visible page indexes */\r\nconst MAX_VISIBLE_PAGES: number = 5;\r\n\r\n/** Object that can used to configure the underlying `CuteSelect` inside a `CutePaginator`. */\r\nexport interface CutePaginatorSelectConfig {\r\n /** Whether to center the active option over the trigger. */\r\n disableOptionCentering?: boolean;\r\n\r\n /** Classes to be passed to the select panel. */\r\n panelClass?: string | string[];\r\n}\r\n\r\n/**\r\n * Change an event object emitted when the user selects a\r\n * different page size or navigates to another page.\r\n */\r\nexport interface PageEvent {\r\n /** The current page index. */\r\n pageIndex: number;\r\n\r\n /** Index of the page that was selected previously. */\r\n previousPageIndex: number;\r\n\r\n /** The current page size. */\r\n pageSize: number;\r\n\r\n /** The current total number of items being paged. */\r\n length: number;\r\n}\r\n\r\n/** Object that can be used to configure the default options for the paginator module. */\r\nexport interface CutePaginatorDefaultOptions {\r\n /** Number of items to display on a page. By default, set to 50. */\r\n pageSize?: number;\r\n\r\n /** The set of provided page size options to display to the user. */\r\n pageSizeOptions?: number[];\r\n\r\n /** Whether to hide the page size selection UI from the user. */\r\n hidePageSize?: boolean;\r\n\r\n /** Whether to show the first/last buttons UI to the user. */\r\n showFirstLastButtons?: boolean;\r\n\r\n /** Whether to change the previous/next buttons UI with a text labels */\r\n showPrevNextLabels?: boolean;\r\n\r\n /** Whether to hide all internal borders in the paginator */\r\n hideBorders?: boolean;\r\n\r\n /** The default form-field appearance to apply to the page size options' selector. */\r\n //formFieldAppearance?: CuteFormFieldAppearance;\r\n}\r\n\r\n/** Injection token that can be used to provide the default options for the paginator module. */\r\nexport const CUTE_PAGINATOR_DEFAULT_OPTIONS = new InjectionToken<CutePaginatorDefaultOptions>(\r\n 'CUTE_PAGINATOR_DEFAULT_OPTIONS',\r\n);\r\n\r\nlet nextUniqueId = 0;\r\n\r\n/**\r\n * Component to provide navigation between paged information. Displays the size of the current\r\n * page, user-selectable options to change that size, what items are being shown, and\r\n * navigational button to go to the previous or next page.\r\n */\r\n@Component({\r\n selector: 'cute-paginator',\r\n exportAs: 'cutePaginator',\r\n templateUrl: './paginator.component.html',\r\n styleUrls: ['./paginator.component.scss'],\r\n host: {\r\n 'class': 'cute-paginator',\r\n '[class.pe-none]': 'disabled',\r\n '[class.opacity-75]': 'disabled',\r\n '[class]': 'alignment ? \"justify-content-\"+alignment : undefined',\r\n 'tabindex': '-1',\r\n 'role': 'group',\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [CuteFormField, CuteSelect, CuteTooltip, CuteOption, CuteLabel]\r\n})\r\nexport class CutePaginator extends CuteFocusableControl implements AfterViewChecked\r\n{\r\n private _intlChanges: Subscription;\r\n private _firstVisiblePageIndex: number = 0;\r\n private _lastVisiblePageIndex: number = NaN;\r\n\r\n /** If set, styles the \"page size\" form field with the designated style. */\r\n //_formFieldAppearance?: CuteFormFieldAppearance;\r\n\r\n /** ID for the DOM node containing the pagination's items per-page label. */\r\n protected readonly _pageSizeLabelId = `cute-paginator-page-size-label-${nextUniqueId++}`;\r\n protected hideActive: boolean = false;\r\n\r\n /** The zero-based page index of the displayed list of items. Defaulted to 0. */\r\n @Input({transform: numberAttribute})\r\n get pageIndex(): number { return this._pageIndex; }\r\n set pageIndex(value: number) {\r\n const oldIndex = this._pageIndex;\r\n if (oldIndex != value) {\r\n this._pageIndex = Math.max(value || 0, 0);\r\n this._updateFirstLastVisibleIndexes(this._pageIndex, oldIndex);\r\n this.markForCheck();\r\n }\r\n }\r\n private _pageIndex = 0;\r\n\r\n /** The total number of items that are being paginated. Defaulted to 0. */\r\n @Input({transform: numberAttribute})\r\n get length(): number { return this._length; }\r\n set length(value: number) {\r\n this._length = value || 0;\r\n this.markForCheck();\r\n }\r\n private _length = 0;\r\n\r\n /** Number of items to display on a page. By default, set to 50. */\r\n @Input({transform: numberAttribute})\r\n get pageSize(): number { return this._pageSize; }\r\n set pageSize(value: number) {\r\n this._pageSize = Math.max(value || 0, 0);\r\n this._updateDisplayedPageSizeOptions();\r\n }\r\n private _pageSize: number = 0;\r\n\r\n /** The set of provided page size options to display to the user. */\r\n @Input()\r\n get pageSizeOptions(): number[] { return this._pageSizeOptions; }\r\n set pageSizeOptions(value: number[] | readonly number[]) {\r\n this._pageSizeOptions = (value || ([] as number[])).map(p => numberAttribute(p, 0));\r\n this._updateDisplayedPageSizeOptions();\r\n }\r\n private _pageSizeOptions: number[] = [];\r\n\r\n /** Whether to hide the page size selection UI from the user. */\r\n @Input({transform: booleanAttribute})\r\n hidePageSize: boolean = false;\r\n\r\n /** Whether to show the first/last buttons UI to the user. */\r\n @Input({transform: booleanAttribute})\r\n showFirstLastButtons: boolean = false;\r\n\r\n /** Whether to change the previous/next buttons UI with a text labels */\r\n @Input({transform: booleanAttribute})\r\n showPrevNextLabels: boolean = false;\r\n\r\n /** Whether to hide all internal borders in the paginator */\r\n @Input({transform: booleanAttribute})\r\n hideBorders: boolean = false;\r\n\r\n /** Style of the pagination's middle section. Note that previous/next buttons are always shown. */\r\n @Input()\r\n middleSectionStyle: 'pages'|'5-pages'|'range'|'none' = 'range';\r\n\r\n /** Changes the alignment of the pagination sections in the parent container */\r\n @Input()\r\n alignment: 'start'|'end'|'center'|'between' = \"between\";\r\n\r\n /** Changes the pagination's size to smaller or larger */\r\n @Input() magnitude: RelativeSize | undefined;\r\n\r\n /** Used to configure the underlying `CuteSelect` inside the paginator. */\r\n @Input() selectConfig: CutePaginatorSelectConfig = {};\r\n\r\n /** Event emitted when the paginator changes the page size or page index. */\r\n @Output() readonly page: EventEmitter<PageEvent> = new EventEmitter<PageEvent>();\r\n\r\n /** Displayed a set of page size options. Will be sorted and include the current page size. */\r\n protected _displayedPageSizeOptions: number[] = [];\r\n\r\n constructor(\r\n public _intl: CutePaginatorIntl,\r\n @Optional() @Inject(CUTE_PAGINATOR_DEFAULT_OPTIONS) defaults?: CutePaginatorDefaultOptions,\r\n ) {\r\n super();\r\n this._intlChanges = _intl.changes.subscribe(() => this.markForCheck());\r\n\r\n if (defaults) {\r\n const {\r\n pageSize,\r\n pageSizeOptions,\r\n hidePageSize,\r\n showFirstLastButtons,\r\n showPrevNextLabels,\r\n hideBorders,\r\n } = defaults;\r\n\r\n if (pageSize != null) { this._pageSize = pageSize; }\r\n if (pageSizeOptions != null) { this._pageSizeOptions = pageSizeOptions; }\r\n if (hidePageSize != null) { this.hidePageSize = hidePageSize; }\r\n if (showFirstLastButtons != null) { this.showFirstLastButtons = showFirstLastButtons; }\r\n if (showPrevNextLabels != null) { this.showPrevNextLabels = showPrevNextLabels; }\r\n if (hideBorders != null) { this.hideBorders = hideBorders; }\r\n }\r\n\r\n //this._formFieldAppearance = defaults?.formFieldAppearance || 'outline';\r\n }\r\n\r\n protected override generateId(): string {\r\n return `cute-paginator-${nextUniqueId++}`;\r\n }\r\n\r\n override ngOnInit() {\r\n super.ngOnInit();\r\n this._updateDisplayedPageSizeOptions();\r\n }\r\n\r\n override ngOnChanges(changes: SimpleChanges) {\r\n super.ngOnChanges(changes);\r\n\r\n this._updateFirstLastVisibleIndexes(this.pageIndex, this.pageIndex);\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.hideActive = false;\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n this._intlChanges.unsubscribe();\r\n }\r\n\r\n protected onMouseDown(event: MouseEvent): void {\r\n if (this.middleSectionStyle==\"5-pages\") {\r\n this.hideActive = true;\r\n this._changeDetectorRef.detectChanges();\r\n }\r\n }\r\n\r\n /** Whether the specified index is the `active` page of the paginator */\r\n protected isActivePage(index: number): boolean {\r\n return index == this.pageIndex;\r\n }\r\n\r\n private _updateFirstLastVisibleIndexes(newIndex: number, oldIndex: number): void {\r\n\r\n if (this.middleSectionStyle != \"5-pages\") {\r\n return;\r\n }\r\n\r\n const numPages = this.getNumberOfPages();\r\n if (numPages > 0 && (newIndex >= 0 && newIndex < numPages)) {\r\n\r\n const numVisiblePages = Math.min(numPages, MAX_VISIBLE_PAGES);\r\n const middleIndex = this._firstVisiblePageIndex + Math.ceil(numVisiblePages/2) - 1;\r\n if (newIndex <= middleIndex && numPages <= numVisiblePages) {\r\n this._firstVisiblePageIndex = 0;\r\n this._lastVisiblePageIndex = numVisiblePages - 1;\r\n } else if (newIndex == (numPages - 1)) {\r\n this._firstVisiblePageIndex = newIndex - numVisiblePages + 1;\r\n this._lastVisiblePageIndex = newIndex;\r\n } else if (newIndex > middleIndex) {\r\n // go forward\r\n this._lastVisiblePageIndex += newIndex - middleIndex;\r\n this._lastVisiblePageIndex = Math.min(this._lastVisiblePageIndex, numPages - 1);\r\n this._firstVisiblePageIndex = this._lastVisiblePageIndex - numVisiblePages + 1;\r\n this._firstVisiblePageIndex = Math.max(this._firstVisiblePageIndex, 0);\r\n } else if (newIndex < middleIndex) {\r\n // go backward\r\n this._firstVisiblePageIndex -= middleIndex - newIndex;\r\n this._firstVisiblePageIndex = Math.max(this._firstVisiblePageIndex, 0);\r\n this._lastVisiblePageIndex = this._firstVisiblePageIndex + numVisiblePages - 1;\r\n }\r\n }\r\n }\r\n\r\n /** Advances to the next page if it exists. */\r\n nextPage(): void {\r\n if (!this.hasNextPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.pageIndex + 1;\r\n\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Move back to the previous page if it exists. */\r\n previousPage(): void {\r\n if (!this.hasPreviousPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.pageIndex - 1;\r\n\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Move to the first page if not already there. */\r\n firstPage(): void {\r\n // hasPreviousPage being false implies at the start\r\n if (!this.hasPreviousPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = 0;\r\n\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Move to the last page if not already there. */\r\n lastPage(): void {\r\n // hasNextPage being false implies at the end\r\n if (!this.hasNextPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.getNumberOfPages() - 1;\r\n\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /**\r\n * Move to the page with the specified index\r\n * @param index Zero based page number to move\r\n */\r\n gotoPage(index: number): void {\r\n if (index >= 0 && index < this.getNumberOfPages() && !this.isActivePage(index)) {\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = index;\r\n\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n }\r\n\r\n /** Whether there is a previous page. */\r\n hasPreviousPage(): boolean {\r\n return this.pageIndex >= 1 && this.pageSize != 0;\r\n }\r\n\r\n /** Whether there is a next page. */\r\n hasNextPage(): boolean {\r\n const maxPageIndex = this.getNumberOfPages() - 1;\r\n return this.pageIndex < maxPageIndex && this.pageSize != 0;\r\n }\r\n\r\n /** Calculate the number of pages */\r\n getNumberOfPages(): number {\r\n if (!this.pageSize) {\r\n return 0;\r\n }\r\n return Math.ceil(this.length / this.pageSize);\r\n }\r\n\r\n /** Whether the paginator hasn't any page to paginate */\r\n empty(): boolean {\r\n return this.getNumberOfPages() == 0;\r\n }\r\n\r\n /** Transforms the calculated total pages' value to an array of page numbers */\r\n getPageNumbers(): number[] {\r\n let count = this.getNumberOfPages();\r\n if (count == 0) {\r\n return [];\r\n }\r\n let pages:number[] = [];\r\n if (this.middleSectionStyle == \"5-pages\") {\r\n if (isNaN(this._lastVisiblePageIndex)) {\r\n return [];\r\n }\r\n count = this._lastVisiblePageIndex - this._firstVisiblePageIndex + 1;\r\n pages = Array(count);\r\n for (let i=0; i < count; i++) {\r\n pages[i] = i + this._firstVisiblePageIndex;\r\n }\r\n } else {\r\n pages = Array(count);\r\n for (let i=0; i < count; i++) {\r\n pages[i] = i;\r\n }\r\n }\r\n\r\n return pages;\r\n }\r\n\r\n /**\r\n * Changes the page size so that the first item displayed on the page will still be\r\n * displayed using the new page size.\r\n *\r\n * For example, if the page size is 10 and on the second page (items indexed 10-19), then\r\n * switching so that the page size is 5 will set the third page as the current page so\r\n * that the 10th item will still be displayed.\r\n */\r\n _changePageSize(pageSize: number) {\r\n // The current page needs to be updated to reflect the new page size. Navigate to the page\r\n // containing the previous page's first item.\r\n const startIndex = this.pageIndex * this.pageSize;\r\n const previousPageIndex = this.pageIndex;\r\n\r\n this.pageIndex = Math.floor(startIndex / pageSize) || 0;\r\n this.pageSize = pageSize;\r\n\r\n this._updateFirstLastVisibleIndexes(this.pageIndex, previousPageIndex);\r\n this.markForCheck();\r\n\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Checks whether the buttons for going forwards should be disabled. */\r\n protected _nextButtonDisabled() {\r\n return this.disabled || !this.hasNextPage();\r\n }\r\n\r\n /** Checks whether the buttons for going backwards should be disabled. */\r\n protected _previousButtonDisabled() {\r\n return this.disabled || !this.hasPreviousPage();\r\n }\r\n\r\n protected _getMagnitudeCssClass(): string {\r\n if (this.magnitude == \"large\") {\r\n return \"pagination-lg\";\r\n } else if (this.magnitude==\"small\") {\r\n return \"pagination-sm\";\r\n }\r\n return \"\";\r\n }\r\n\r\n /**\r\n * Updates the list of page size options to display to the user. Includes making sure that\r\n * the page size is an option and that the list is sorted.\r\n */\r\n private _updateDisplayedPageSizeOptions() {\r\n if (!this.isInitialized) {\r\n return;\r\n }\r\n\r\n // If no page size is provided, use the first page size option or the default page size.\r\n if (!this.pageSize) {\r\n this._pageSize =\r\n this.pageSizeOptions.length != 0 ? this.pageSizeOptions[0] : DEFAULT_PAGE_SIZE;\r\n }\r\n\r\n this._displayedPageSizeOptions = this.pageSizeOptions.slice();\r\n\r\n if (this._displayedPageSizeOptions.indexOf(this.pageSize) === -1) {\r\n this._displayedPageSizeOptions.push(this.pageSize);\r\n }\r\n\r\n // Sort the numbers using a number-specific sort function.\r\n this._displayedPageSizeOptions.sort((a, b) => a - b);\r\n this.markForCheck();\r\n }\r\n\r\n /** Emits an event notifying that a change of the paginator's properties has been triggered. */\r\n private _emitPageEvent(previousPageIndex: number) {\r\n\r\n this.page.emit({\r\n previousPageIndex,\r\n pageIndex: this.pageIndex,\r\n pageSize: this.pageSize,\r\n length: this.length,\r\n });\r\n }\r\n\r\n protected readonly isNaN = isNaN;\r\n protected readonly onmousedown = onmousedown;\r\n}\r\n","@if (!hidePageSize) {\r\n <div class=\"page-size\">\r\n\r\n <cute-label class=\"page-size-label\"\r\n [magnitude]=\"magnitude\"\r\n [attr.id]=\"_pageSizeLabelId\">\r\n {{_intl.itemsPerPageLabel}}\r\n </cute-label>\r\n\r\n @if (_displayedPageSizeOptions.length > 1) {\r\n\r\n <cute-form-field\r\n class=\"page-size-select\"\r\n [class.me-auto]=\"true\"\r\n subscriptSizing=\"dynamic\"\r\n [color]=\"color\">\r\n\r\n <cute-select\r\n [value]=\"pageSize\"\r\n [disabled]=\"disabled\"\r\n [color]=\"color\"\r\n [magnitude]=\"magnitude\"\r\n [aria-labelledby]=\"_pageSizeLabelId\"\r\n [panelClass]=\"selectConfig.panelClass || 'shadow-lg'\"\r\n [disableOptionCentering]=\"selectConfig.disableOptionCentering\"\r\n (selectionChange)=\"_changePageSize($event.value)\"\r\n hideSingleSelectionIndicator>\r\n @for (pageSizeOption of _displayedPageSizeOptions; track pageSizeOption) {\r\n <cute-option [value]=\"pageSizeOption\">\r\n {{pageSizeOption}}\r\n </cute-option>\r\n }\r\n </cute-select>\r\n </cute-form-field>\r\n } @else {\r\n <div class=\"page-size-value\">{{pageSize}}</div>\r\n }\r\n </div>\r\n}\r\n\r\n<nav [attr.aria-label]=\"ariaLabel\">\r\n\r\n <ul class=\"pagination\"\r\n [class]=\"_getMagnitudeCssClass()+(alignment=='between' ? '' : ' justify-content-'+alignment)\"\r\n [class.gap-1]=\"hideBorders\"\r\n [style.--bs-focus-ring-color]='color ? \"rgba(var(--bs-\"+color+\"-rgb), var(--bs-focus-ring-opacity))\" : \"\"'\r\n [style.--bs-pagination-color]='color ? \"var(--bs-\"+color+\")\" : \"\"'\r\n [style.--bs-pagination-active-bg]='color ? \"var(--bs-\"+color+\")\" : \"\"'\r\n [style.--bs-pagination-active-border-color]='color ? \"rgb(var(--bs-\"+color+\"-rgb))\" : \"\"'\r\n [style.--bs-pagination-border-width]=\"hideBorders ? 0 : undefined\"\r\n >\r\n @if (showFirstLastButtons) {\r\n <li class=\"page-item page-first\">\r\n <a class=\"page-link\"\r\n [tabindex]=\"_previousButtonDisabled() ? -1 : 0\"\r\n [class.disabled]=\"_previousButtonDisabled()\"\r\n [class]=\"color && !_previousButtonDisabled() ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [style.float]=\"'left'\"\r\n [attr.aria-label]=\"_intl.firstPageLabelHint || _intl.firstPageLabel\"\r\n [cuteTooltip]=\"_intl.firstPageLabelHint || _intl.firstPageLabel\"\r\n [cuteTooltipDisabled]=\"_previousButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (click)=\"firstPage()\"\r\n (keydown.space)=\"firstPage();$event.preventDefault();\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-double-left\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n\r\n <li class=\"page-item\" [class.me-auto]=\"alignment=='between'\">\r\n <a class=\"page-link page-prev rounded-start-1\"\r\n [tabindex]=\"_previousButtonDisabled() ? -1 : 0\"\r\n [class]=\"color && !_previousButtonDisabled() ? 'link-'+color : ''\"\r\n [class.disabled]=\"_previousButtonDisabled()\"\r\n [class.focus-ring]=\"color != null\"\r\n [class.rounded-start-1]=\"hideBorders\"\r\n [attr.aria-label]=\"_intl.previousPageLabelHint || _intl.previousPageLabel\"\r\n [cuteTooltip]=\"_intl.previousPageLabelHint || _intl.previousPageLabel\"\r\n [cuteTooltipDisabled]=\"_previousButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (click)=\"previousPage()\"\r\n (keydown.space)=\"previousPage();$event.preventDefault();\"\r\n >\r\n @if (showPrevNextLabels) {\r\n {{_intl.previousPageLabel}}\r\n } @else {\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-left\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n }\r\n </a>\r\n </li>\r\n\r\n @if (middleSectionStyle.endsWith('pages')) {\r\n @for (pageNo of getPageNumbers(); track pageNo) {\r\n <li class=\"page-item\">\r\n <a [attr.tabindex]=\"isNaN(pageNo)?-1:0\"\r\n class=\"page-link page-number\"\r\n [class.active]=\"isActivePage(pageNo) && !hideActive\"\r\n [class.shadow]=\"isActivePage(pageNo) && !hideActive\"\r\n [class.rounded-1]=\"hideBorders\"\r\n [class]=\"color && !isActivePage(pageNo) ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [attr.aria-current]=\"isActivePage(pageNo) ? 'page' : ''\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (click)=\"gotoPage(pageNo);\"\r\n (keydown.space)=\"gotoPage(pageNo);$event.preventDefault();\"\r\n >\r\n {{pageNo + 1}}\r\n </a>\r\n </li>\r\n }\r\n\r\n } @else if (middleSectionStyle=='range') {\r\n <li class=\"cute-paginator-range-label\"\r\n [class]=\"color ? 'link-'+color : ''\"\r\n aria-live=\"polite\">\r\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\r\n </li>\r\n }\r\n\r\n <li class=\"page-item\" [class.ms-auto]=\"alignment=='between'\">\r\n <a class=\"page-link page-next rounded-end-1\"\r\n [tabindex]=\"_nextButtonDisabled() ? -1 : 0\"\r\n [class]=\"color && !_nextButtonDisabled() ? 'link-'+color : ''\"\r\n [class.disabled]=\"_nextButtonDisabled()\"\r\n [class.focus-ring]=\"color != null\"\r\n [class.rounded-end-1]=\"hideBorders\"\r\n [attr.aria-label]=\"_intl.nextPageLabelHint || _intl.nextPageLabel\"\r\n [cuteTooltip]=\"_intl.nextPageLabelHint || _intl.nextPageLabel\"\r\n [cuteTooltipDisabled]=\"_nextButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (click)=\"nextPage()\"\r\n (keydown.space)=\"nextPage();$event.preventDefault();\"\r\n >\r\n @if (showPrevNextLabels) {\r\n {{_intl.nextPageLabel}}\r\n } @else {\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-right\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n }\r\n </a>\r\n </li>\r\n\r\n @if (showFirstLastButtons) {\r\n <li class=\"page-item\">\r\n <a class=\"page-link page-last\"\r\n [tabindex]=\"_nextButtonDisabled() ? -1 : 0\"\r\n [class.disabled]=\"_nextButtonDisabled()\"\r\n [class]=\"color && !_nextButtonDisabled() ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [attr.aria-label]=\"_intl.lastPageLabelHint || _intl.lastPageLabel\"\r\n [cuteTooltip]=\"_intl.lastPageLabelHint || _intl.lastPageLabel\"\r\n [cuteTooltipDisabled]=\"_nextButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (click)=\"lastPage()\"\r\n (keydown.space)=\"lastPage();$event.preventDefault();\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-double-right\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8 3.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8 7.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</nav>\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {NgModule, Type} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CutePaginator} from \"./paginator.component\";\r\n\r\nconst TYPES: (any | Type<any>)[] = [CutePaginator];\r\n\r\n@NgModule({\r\n imports: [CommonModule, ...TYPES],\r\n exports: TYPES,\r\n declarations: [],\r\n})\r\nexport class CutePaginatorModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cute-widgets-base-paginator.mjs","sources":["../../../../projects/cute-widgets/base/paginator/src/paginator-intl.service.ts","../../../../projects/cute-widgets/base/paginator/src/paginator.component.ts","../../../../projects/cute-widgets/base/paginator/src/paginator.component.html","../../../../projects/cute-widgets/base/paginator/src/paginator.module.ts","../../../../projects/cute-widgets/base/paginator/cute-widgets-base-paginator.ts"],"sourcesContent":["/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Injectable} from '@angular/core';\r\nimport {Subject} from 'rxjs';\r\n\r\n/**\r\n * To modify the labels and text displayed, create a new instance of CutePaginatorIntl and\r\n * include it in a custom provider\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class CutePaginatorIntl {\r\n /**\r\n * Stream to emit from when labels are changed. Use this to notify components when the labels have\r\n * changed after initialization.\r\n */\r\n readonly changes: Subject<void> = new Subject<void>();\r\n\r\n /** A label for the page size selector. */\r\n itemsPerPageLabel: string = 'Items per page:';\r\n\r\n /** A label for the button that increments the current page. */\r\n nextPageLabel: string = 'Next';\r\n\r\n /** A hint for the button that increments the current page. */\r\n nextPageLabelHint: string = 'Next page';\r\n\r\n /** A label for the button that decrements the current page. */\r\n previousPageLabel: string = 'Previous';\r\n\r\n /** A hint for the button that decrements the current page. */\r\n previousPageLabelHint: string = 'Previous page';\r\n\r\n /** A label for the button that moves to the first page. */\r\n firstPageLabel: string = 'First';\r\n\r\n /** A hint for the button that moves to the first page. */\r\n firstPageLabelHint: string = 'First page';\r\n\r\n /** A label for the button that moves to the last page. */\r\n lastPageLabel: string = 'Last';\r\n\r\n /** A hint for the button that moves to the last page. */\r\n lastPageLabelHint: string = 'Last page';\r\n\r\n /** A label for the range of items within the current page and the length of the whole list. */\r\n getRangeLabel: (page: number, pageSize: number, length: number) => string = (\r\n page: number,\r\n pageSize: number,\r\n length: number,\r\n ) => {\r\n\r\n let range = \"0\";\r\n\r\n if (length != 0 && pageSize != 0) {\r\n length = Math.max(length, 0);\r\n\r\n const startIndex = page * pageSize;\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex =\r\n startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\r\n\r\n range = `${startIndex + 1} – ${endIndex}`;\r\n }\r\n\r\n return `${range} of ${length}`;\r\n };\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Inject,\r\n InjectionToken,\r\n Input,\r\n Optional,\r\n Output,\r\n ViewEncapsulation,\r\n booleanAttribute,\r\n numberAttribute, SimpleChanges, AfterViewChecked, signal,\r\n} from '@angular/core';\r\nimport {CuteFormField, CuteLabel} from '@cute-widgets/base/form-field';\r\nimport {CuteSelect} from '@cute-widgets/base/select';\r\nimport {CuteTooltip} from '@cute-widgets/base/tooltip';\r\nimport {Subscription} from 'rxjs';\r\nimport {CutePaginatorIntl} from './paginator-intl.service';\r\nimport {CuteFocusableControl} from \"@cute-widgets/base/abstract\";\r\nimport {RelativeSize} from \"@cute-widgets/base/core\";\r\nimport {CuteOption} from \"@cute-widgets/base/core/option\";\r\n\r\n/** The default page size if there is no page size and there are no provided page size options. */\r\nconst DEFAULT_PAGE_SIZE = 50;\r\n/** Maximum visible page indexes */\r\nconst MAX_VISIBLE_PAGES: number = 5;\r\n\r\n/** Object that can used to configure the underlying `CuteSelect` inside a `CutePaginator`. */\r\nexport interface CutePaginatorSelectConfig {\r\n /** Whether to center the active option over the trigger. */\r\n disableOptionCentering?: boolean;\r\n\r\n /** Classes to be passed to the select panel. */\r\n panelClass?: string | string[];\r\n}\r\n\r\n/**\r\n * Change an event object emitted when the user selects a\r\n * different page size or navigates to another page.\r\n */\r\nexport interface PageEvent {\r\n /** The current page index. */\r\n pageIndex: number;\r\n\r\n /** Index of the page that was selected previously. */\r\n previousPageIndex: number;\r\n\r\n /** The current page size. */\r\n pageSize: number;\r\n\r\n /** The current total number of items being paged. */\r\n length: number;\r\n}\r\n\r\n/** Object that can be used to configure the default options for the paginator module. */\r\nexport interface CutePaginatorDefaultOptions {\r\n /** Number of items to display on a page. By default, set to 50. */\r\n pageSize?: number;\r\n\r\n /** The set of provided page size options to display to the user. */\r\n pageSizeOptions?: number[];\r\n\r\n /** Whether to hide the page size selection UI from the user. */\r\n hidePageSize?: boolean;\r\n\r\n /** Whether to show the first/last buttons UI to the user. */\r\n showFirstLastButtons?: boolean;\r\n\r\n /** Whether to change the previous/next buttons UI with a text labels */\r\n showPrevNextLabels?: boolean;\r\n\r\n /** Whether to hide all internal borders in the paginator */\r\n hideBorders?: boolean;\r\n\r\n /** The default form-field appearance to apply to the page size options' selector. */\r\n //formFieldAppearance?: CuteFormFieldAppearance;\r\n}\r\n\r\n/** Injection token that can be used to provide the default options for the paginator module. */\r\nexport const CUTE_PAGINATOR_DEFAULT_OPTIONS = new InjectionToken<CutePaginatorDefaultOptions>(\r\n 'CUTE_PAGINATOR_DEFAULT_OPTIONS',\r\n);\r\n\r\nlet nextUniqueId = 0;\r\n\r\n/**\r\n * Component to provide navigation between paged information. Displays the size of the current\r\n * page, user-selectable options to change that size, what items are being shown, and\r\n * navigational button to go to the previous or next page.\r\n */\r\n@Component({\r\n selector: 'cute-paginator',\r\n exportAs: 'cutePaginator',\r\n templateUrl: './paginator.component.html',\r\n styleUrls: ['./paginator.component.scss'],\r\n host: {\r\n 'class': 'cute-paginator',\r\n '[class.pe-none]': 'disabled',\r\n '[class.opacity-75]': 'disabled',\r\n '[class]': 'alignment ? \"justify-content-\"+alignment : \"justify-content-sm-start\"',\r\n '[attr.magnitude]': 'magnitude',\r\n 'tabindex': '-1',\r\n 'role': 'group',\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [CuteFormField, CuteSelect, CuteTooltip, CuteOption, CuteLabel]\r\n})\r\nexport class CutePaginator extends CuteFocusableControl implements AfterViewChecked\r\n{\r\n private _intlChanges: Subscription;\r\n private _firstVisiblePageIndex: number = 0;\r\n private _lastVisiblePageIndex: number = NaN;\r\n\r\n /** If set, styles the \"page size\" form field with the designated style. */\r\n //_formFieldAppearance?: CuteFormFieldAppearance;\r\n\r\n /** ID for the DOM node containing the pagination's items per-page label. */\r\n protected readonly _pageSizeLabelId = `cute-paginator-page-size-label-${nextUniqueId++}`;\r\n protected hideActive = signal<boolean>(false);\r\n\r\n /** The zero-based page index of the displayed list of items. Defaulted to 0. */\r\n @Input({transform: numberAttribute})\r\n get pageIndex(): number { return this._pageIndex; }\r\n set pageIndex(value: number) {\r\n const oldIndex = this._pageIndex;\r\n if (oldIndex != value) {\r\n this._pageIndex = Math.max(value || 0, 0);\r\n this._updateFirstLastVisibleIndexes(this._pageIndex, oldIndex);\r\n this.markForCheck();\r\n }\r\n }\r\n private _pageIndex = 0;\r\n\r\n /** The total number of items that are being paginated. Defaulted to 0. */\r\n @Input({transform: numberAttribute})\r\n get length(): number { return this._length; }\r\n set length(value: number) {\r\n this._length = value || 0;\r\n this.markForCheck();\r\n }\r\n private _length = 0;\r\n\r\n /** Number of items to display on a page. By default, set to 50. */\r\n @Input({transform: numberAttribute})\r\n get pageSize(): number { return this._pageSize; }\r\n set pageSize(value: number) {\r\n this._pageSize = Math.max(value || 0, 0);\r\n this._updateDisplayedPageSizeOptions();\r\n }\r\n private _pageSize: number = 0;\r\n\r\n /** The set of provided page size options to display to the user. */\r\n @Input()\r\n get pageSizeOptions(): number[] { return this._pageSizeOptions; }\r\n set pageSizeOptions(value: number[] | readonly number[]) {\r\n this._pageSizeOptions = (value || ([] as number[])).map(p => numberAttribute(p, 0));\r\n this._updateDisplayedPageSizeOptions();\r\n }\r\n private _pageSizeOptions: number[] = [];\r\n\r\n /** Whether to hide the page size selection UI from the user. */\r\n @Input({transform: booleanAttribute})\r\n hidePageSize: boolean = false;\r\n\r\n /** Whether to show the first/last buttons UI to the user. */\r\n @Input({transform: booleanAttribute})\r\n showFirstLastButtons: boolean = false;\r\n\r\n /** Whether to change the previous/next buttons UI with a text labels */\r\n @Input({transform: booleanAttribute})\r\n showPrevNextLabels: boolean = false;\r\n\r\n /** Whether to hide all internal borders in the paginator */\r\n @Input({transform: booleanAttribute})\r\n hideBorders: boolean = false;\r\n\r\n /** Style of the pagination's middle section. Note that previous/next buttons are always shown. */\r\n @Input()\r\n middleSectionStyle: 'pages'|'5-pages'|'range'|'none' = 'range';\r\n\r\n /** Changes the alignment of the pagination sections in the parent container. */\r\n @Input()\r\n alignment: 'start'|'end'|'center'|'between'|'around'|'evenly'|undefined;\r\n\r\n /** Changes the pagination's size to smaller or larger. */\r\n @Input() magnitude: RelativeSize | undefined;\r\n\r\n /** Used to configure the underlying `CuteSelect` inside the paginator. */\r\n @Input() selectConfig: CutePaginatorSelectConfig = {};\r\n\r\n /** Event emitted when the paginator changes the page size or page index. */\r\n @Output() readonly page: EventEmitter<PageEvent> = new EventEmitter<PageEvent>();\r\n\r\n /** Displayed a set of page size options. Will be sorted and include the current page size. */\r\n protected _displayedPageSizeOptions: number[] = [];\r\n\r\n constructor(\r\n public _intl: CutePaginatorIntl,\r\n @Optional() @Inject(CUTE_PAGINATOR_DEFAULT_OPTIONS) defaults?: CutePaginatorDefaultOptions,\r\n ) {\r\n super();\r\n this._intlChanges = _intl.changes.subscribe(() => this.markForCheck());\r\n\r\n if (defaults) {\r\n const {\r\n pageSize,\r\n pageSizeOptions,\r\n hidePageSize,\r\n showFirstLastButtons,\r\n showPrevNextLabels,\r\n hideBorders,\r\n } = defaults;\r\n\r\n if (pageSize != null) { this._pageSize = pageSize; }\r\n if (pageSizeOptions != null) { this._pageSizeOptions = pageSizeOptions; }\r\n if (hidePageSize != null) { this.hidePageSize = hidePageSize; }\r\n if (showFirstLastButtons != null) { this.showFirstLastButtons = showFirstLastButtons; }\r\n if (showPrevNextLabels != null) { this.showPrevNextLabels = showPrevNextLabels; }\r\n if (hideBorders != null) { this.hideBorders = hideBorders; }\r\n }\r\n\r\n //this._formFieldAppearance = defaults?.formFieldAppearance || 'outline';\r\n }\r\n\r\n protected override generateId(): string {\r\n return `cute-paginator-${nextUniqueId++}`;\r\n }\r\n\r\n override ngOnInit() {\r\n super.ngOnInit();\r\n this._updateDisplayedPageSizeOptions();\r\n }\r\n\r\n override ngOnChanges(changes: SimpleChanges) {\r\n super.ngOnChanges(changes);\r\n\r\n this._updateFirstLastVisibleIndexes(this.pageIndex, this.pageIndex);\r\n }\r\n\r\n ngAfterViewChecked() {\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n this._intlChanges.unsubscribe();\r\n }\r\n\r\n protected onMouseDown(event: MouseEvent): void {\r\n if (this.middleSectionStyle==\"5-pages\") {\r\n this.hideActive.set(true);\r\n }\r\n }\r\n\r\n protected onMouseUp(event: MouseEvent): void {\r\n this.hideActive.set(false);\r\n }\r\n\r\n /** Whether the specified index is the `active` page of the paginator */\r\n protected isActivePage(index: number): boolean {\r\n return index == this.pageIndex;\r\n }\r\n\r\n private _updateFirstLastVisibleIndexes(newIndex: number, oldIndex: number): void {\r\n\r\n if (this.middleSectionStyle != \"5-pages\") {\r\n return;\r\n }\r\n\r\n const numPages = this.getNumberOfPages();\r\n if (numPages > 0 && (newIndex >= 0 && newIndex < numPages)) {\r\n\r\n const numVisiblePages = Math.min(numPages, MAX_VISIBLE_PAGES);\r\n const middleIndex = this._firstVisiblePageIndex + Math.ceil(numVisiblePages/2) - 1;\r\n if (newIndex <= middleIndex && numPages <= numVisiblePages) {\r\n this._firstVisiblePageIndex = 0;\r\n this._lastVisiblePageIndex = numVisiblePages - 1;\r\n } else if (newIndex == (numPages - 1)) {\r\n this._firstVisiblePageIndex = newIndex - numVisiblePages + 1;\r\n this._lastVisiblePageIndex = newIndex;\r\n } else if (newIndex > middleIndex) {\r\n // go forward\r\n this._lastVisiblePageIndex += newIndex - middleIndex;\r\n this._lastVisiblePageIndex = Math.min(this._lastVisiblePageIndex, numPages - 1);\r\n this._firstVisiblePageIndex = this._lastVisiblePageIndex - numVisiblePages + 1;\r\n this._firstVisiblePageIndex = Math.max(this._firstVisiblePageIndex, 0);\r\n } else if (newIndex < middleIndex) {\r\n // go backward\r\n this._firstVisiblePageIndex -= middleIndex - newIndex;\r\n this._firstVisiblePageIndex = Math.max(this._firstVisiblePageIndex, 0);\r\n this._lastVisiblePageIndex = this._firstVisiblePageIndex + numVisiblePages - 1;\r\n }\r\n }\r\n }\r\n\r\n /** Advances to the next page if it exists. */\r\n nextPage(): void {\r\n if (!this.hasNextPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.pageIndex + 1;\r\n\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Move back to the previous page if it exists. */\r\n previousPage(): void {\r\n if (!this.hasPreviousPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.pageIndex - 1;\r\n\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Move to the first page if not already there. */\r\n firstPage(): void {\r\n // hasPreviousPage being false implies at the start\r\n if (!this.hasPreviousPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = 0;\r\n\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Move to the last page if not already there. */\r\n lastPage(): void {\r\n // hasNextPage being false implies at the end\r\n if (!this.hasNextPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.getNumberOfPages() - 1;\r\n\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /**\r\n * Move to the page with the specified index\r\n * @param index Zero based page number to move\r\n */\r\n gotoPage(index: number): void {\r\n if (index >= 0 && index < this.getNumberOfPages() && !this.isActivePage(index)) {\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = index;\r\n\r\n //this.hideActive.set(false);\r\n\r\n this.markForCheck();\r\n\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n }\r\n\r\n /** Whether there is a previous page. */\r\n hasPreviousPage(): boolean {\r\n return this.pageIndex >= 1 && this.pageSize != 0;\r\n }\r\n\r\n /** Whether there is a next page. */\r\n hasNextPage(): boolean {\r\n const maxPageIndex = this.getNumberOfPages() - 1;\r\n return this.pageIndex < maxPageIndex && this.pageSize != 0;\r\n }\r\n\r\n /** Calculate the number of pages */\r\n getNumberOfPages(): number {\r\n if (!this.pageSize) {\r\n return 0;\r\n }\r\n return Math.ceil(this.length / this.pageSize);\r\n }\r\n\r\n /** Whether the paginator hasn't any page to paginate */\r\n empty(): boolean {\r\n return this.getNumberOfPages() == 0;\r\n }\r\n\r\n /** Transforms the calculated total pages' value to an array of page numbers */\r\n getPageNumbers(): number[] {\r\n let count = this.getNumberOfPages();\r\n if (count == 0) {\r\n return [];\r\n }\r\n let pages:number[] = [];\r\n if (this.middleSectionStyle == \"5-pages\") {\r\n if (isNaN(this._lastVisiblePageIndex)) {\r\n return [];\r\n }\r\n count = this._lastVisiblePageIndex - this._firstVisiblePageIndex + 1;\r\n pages = Array(count);\r\n for (let i=0; i < count; i++) {\r\n pages[i] = i + this._firstVisiblePageIndex;\r\n }\r\n } else {\r\n pages = Array(count);\r\n for (let i=0; i < count; i++) {\r\n pages[i] = i;\r\n }\r\n }\r\n\r\n return pages;\r\n }\r\n\r\n /**\r\n * Changes the page size so that the first item displayed on the page will still be\r\n * displayed using the new page size.\r\n *\r\n * For example, if the page size is 10 and on the second page (items indexed 10-19), then\r\n * switching so that the page size is 5 will set the third page as the current page so\r\n * that the 10th item will still be displayed.\r\n */\r\n _changePageSize(pageSize: number) {\r\n // The current page needs to be updated to reflect the new page size. Navigate to the page\r\n // containing the previous page's first item.\r\n const startIndex = this.pageIndex * this.pageSize;\r\n const previousPageIndex = this.pageIndex;\r\n\r\n this.pageIndex = Math.floor(startIndex / pageSize) || 0;\r\n this.pageSize = pageSize;\r\n\r\n this._updateFirstLastVisibleIndexes(this.pageIndex, previousPageIndex);\r\n this.markForCheck();\r\n\r\n this._emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Checks whether the buttons for going forwards should be disabled. */\r\n protected _nextButtonDisabled() {\r\n return this.disabled || !this.hasNextPage();\r\n }\r\n\r\n /** Checks whether the buttons for going backwards should be disabled. */\r\n protected _previousButtonDisabled() {\r\n return this.disabled || !this.hasPreviousPage();\r\n }\r\n\r\n protected _getMagnitudeCssClass(): string {\r\n if (this.magnitude == \"large\") {\r\n return \"pagination-lg\";\r\n } else if (this.magnitude==\"small\") {\r\n return \"pagination-sm\";\r\n }\r\n return \"\";\r\n }\r\n\r\n /**\r\n * Updates the list of page size options to display to the user. Includes making sure that\r\n * the page size is an option and that the list is sorted.\r\n */\r\n private _updateDisplayedPageSizeOptions() {\r\n if (!this.isInitialized) {\r\n return;\r\n }\r\n\r\n // If no page size is provided, use the first page size option or the default page size.\r\n if (!this.pageSize) {\r\n this._pageSize =\r\n this.pageSizeOptions.length != 0 ? this.pageSizeOptions[0] : DEFAULT_PAGE_SIZE;\r\n }\r\n\r\n this._displayedPageSizeOptions = this.pageSizeOptions.slice();\r\n\r\n if (this._displayedPageSizeOptions.indexOf(this.pageSize) === -1) {\r\n this._displayedPageSizeOptions.push(this.pageSize);\r\n }\r\n\r\n // Sort the numbers using a number-specific sort function.\r\n this._displayedPageSizeOptions.sort((a, b) => a - b);\r\n this.markForCheck();\r\n }\r\n\r\n /** Emits an event notifying that a change of the paginator's properties has been triggered. */\r\n private _emitPageEvent(previousPageIndex: number) {\r\n\r\n this.page.emit({\r\n previousPageIndex,\r\n pageIndex: this.pageIndex,\r\n pageSize: this.pageSize,\r\n length: this.length,\r\n });\r\n }\r\n\r\n protected readonly isNaN = isNaN;\r\n protected readonly onmousedown = onmousedown;\r\n}\r\n","@if (!hidePageSize) {\r\n <div class=\"page-size\">\r\n\r\n <cute-label class=\"page-size-label\"\r\n [magnitude]=\"magnitude\"\r\n [attr.id]=\"_pageSizeLabelId\">\r\n {{_intl.itemsPerPageLabel}}\r\n </cute-label>\r\n\r\n @if (_displayedPageSizeOptions.length > 1) {\r\n\r\n <cute-form-field\r\n class=\"page-size-select\"\r\n [class.me-auto]=\"true\"\r\n subscriptSizing=\"dynamic\"\r\n [color]=\"color\">\r\n\r\n <cute-select\r\n [value]=\"pageSize\"\r\n [disabled]=\"disabled\"\r\n [color]=\"color\"\r\n [magnitude]=\"magnitude\"\r\n [aria-labelledby]=\"_pageSizeLabelId\"\r\n [panelClass]=\"selectConfig.panelClass || 'shadow-lg'\"\r\n [disableOptionCentering]=\"selectConfig.disableOptionCentering\"\r\n (selectionChange)=\"_changePageSize($event.value)\"\r\n hideSingleSelectionIndicator>\r\n @for (pageSizeOption of _displayedPageSizeOptions; track pageSizeOption) {\r\n <cute-option [value]=\"pageSizeOption\">\r\n {{pageSizeOption}}\r\n </cute-option>\r\n }\r\n </cute-select>\r\n </cute-form-field>\r\n } @else {\r\n <div class=\"page-size-value\">{{pageSize}}</div>\r\n }\r\n </div>\r\n}\r\n\r\n<nav [attr.aria-label]=\"ariaLabel\">\r\n\r\n <ul class=\"pagination\"\r\n [class]=\"_getMagnitudeCssClass()+(alignment=='between' ? '' : ' justify-content-'+alignment)\"\r\n [class.gap-1]=\"hideBorders\"\r\n [style.--bs-focus-ring-color]='color ? \"rgba(var(--bs-\"+color+\"-rgb), var(--bs-focus-ring-opacity))\" : \"\"'\r\n [style.--bs-pagination-color]='color ? \"var(--bs-\"+color+\")\" : \"\"'\r\n [style.--bs-pagination-active-bg]='color ? \"var(--bs-\"+color+\")\" : \"\"'\r\n [style.--bs-pagination-active-border-color]='color ? \"rgb(var(--bs-\"+color+\"-rgb))\" : \"\"'\r\n [style.--bs-pagination-border-width]=\"hideBorders ? 0 : undefined\"\r\n >\r\n @if (showFirstLastButtons) {\r\n <li class=\"page-item page-first\">\r\n <a class=\"page-link\"\r\n [tabindex]=\"_previousButtonDisabled() ? -1 : 0\"\r\n [class.disabled]=\"_previousButtonDisabled()\"\r\n [class]=\"color && !_previousButtonDisabled() ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [style.float]=\"'left'\"\r\n [attr.aria-label]=\"_intl.firstPageLabelHint || _intl.firstPageLabel\"\r\n [cuteTooltip]=\"_intl.firstPageLabelHint || _intl.firstPageLabel\"\r\n [cuteTooltipDisabled]=\"_previousButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (click)=\"firstPage()\"\r\n (keydown.space)=\"firstPage();$event.preventDefault();\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-double-left\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n\r\n <li class=\"page-item page-prev\" [class.me-auto]=\"alignment=='between'\">\r\n <a class=\"page-link rounded-start-1\"\r\n [tabindex]=\"_previousButtonDisabled() ? -1 : 0\"\r\n [class]=\"color && !_previousButtonDisabled() ? 'link-'+color : ''\"\r\n [class.disabled]=\"_previousButtonDisabled()\"\r\n [class.focus-ring]=\"color != null\"\r\n [class.rounded-start-1]=\"hideBorders\"\r\n [attr.aria-label]=\"_intl.previousPageLabelHint || _intl.previousPageLabel\"\r\n [cuteTooltip]=\"_intl.previousPageLabelHint || _intl.previousPageLabel\"\r\n [cuteTooltipDisabled]=\"_previousButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mouseup)=\"onMouseUp($event)\"\r\n (click)=\"previousPage()\"\r\n (keydown.space)=\"previousPage();$event.preventDefault();\"\r\n >\r\n @if (showPrevNextLabels) {\r\n {{_intl.previousPageLabel}}\r\n } @else {\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-left\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\r\n </svg>\r\n }\r\n </a>\r\n </li>\r\n\r\n @if (middleSectionStyle.endsWith('pages')) {\r\n @let pageNumbers = getPageNumbers();\r\n @for (pageNo of pageNumbers; track pageNo) {\r\n <li class=\"page-item page-number\">\r\n <a [attr.tabindex]=\"isNaN(pageNo)?-1:0\"\r\n class=\"page-link\"\r\n [class.active]=\"!hideActive() && isActivePage(pageNo)\"\r\n [class.shadow]=\"!hideActive() && isActivePage(pageNo)\"\r\n [class.rounded-1]=\"hideBorders\"\r\n [class]=\"color && !isActivePage(pageNo) ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [attr.aria-current]=\"isActivePage(pageNo) ? 'page' : ''\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mouseup)=\"onMouseUp($event)\"\r\n (click)=\"gotoPage(pageNo)\"\r\n (keydown.space)=\"gotoPage(pageNo);$event.preventDefault();\"\r\n >\r\n {{pageNo + 1}}\r\n </a>\r\n </li>\r\n }\r\n\r\n } @else if (middleSectionStyle=='range') {\r\n <li class=\"cute-paginator-range-label\" aria-live=\"polite\">\r\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\r\n </li>\r\n }\r\n\r\n <li class=\"page-item page-next\" [class.ms-auto]=\"alignment=='between'\">\r\n <a class=\"page-link rounded-end-1\"\r\n [tabindex]=\"_nextButtonDisabled() ? -1 : 0\"\r\n [class]=\"color && !_nextButtonDisabled() ? 'link-'+color : ''\"\r\n [class.disabled]=\"_nextButtonDisabled()\"\r\n [class.focus-ring]=\"color != null\"\r\n [class.rounded-end-1]=\"hideBorders\"\r\n [attr.aria-label]=\"_intl.nextPageLabelHint || _intl.nextPageLabel\"\r\n [cuteTooltip]=\"_intl.nextPageLabelHint || _intl.nextPageLabel\"\r\n [cuteTooltipDisabled]=\"_nextButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mouseup)=\"onMouseUp($event)\"\r\n (click)=\"nextPage()\"\r\n (keydown.space)=\"nextPage();$event.preventDefault();\"\r\n >\r\n @if (showPrevNextLabels) {\r\n {{_intl.nextPageLabel}}\r\n } @else {\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-right\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n }\r\n </a>\r\n </li>\r\n\r\n @if (showFirstLastButtons) {\r\n <li class=\"page-item page-last\">\r\n <a class=\"page-link\"\r\n [tabindex]=\"_nextButtonDisabled() ? -1 : 0\"\r\n [class.disabled]=\"_nextButtonDisabled()\"\r\n [class]=\"color && !_nextButtonDisabled() ? 'link-'+color : ''\"\r\n [class.focus-ring]=\"color != null\"\r\n [attr.aria-label]=\"_intl.lastPageLabelHint || _intl.lastPageLabel\"\r\n [cuteTooltip]=\"_intl.lastPageLabelHint || _intl.lastPageLabel\"\r\n [cuteTooltipDisabled]=\"_nextButtonDisabled()\"\r\n [cuteTooltipPosition]=\"'above'\"\r\n (click)=\"lastPage()\"\r\n (keydown.space)=\"lastPage();$event.preventDefault();\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n fill=\"currentColor\" class=\"bi bi-chevron-double-right\"\r\n viewBox=\"0 0 16 16\"\r\n focusable=\"false\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8 3.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n <path fill-rule=\"evenodd\" d=\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8 7.646 2.354a.5.5 0 0 1 0-.708z\"/>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</nav>\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {NgModule, Type} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CutePaginator} from \"./paginator.component\";\r\n\r\nconst TYPES: (any | Type<any>)[] = [CutePaginator];\r\n\r\n@NgModule({\r\n imports: [CommonModule, ...TYPES],\r\n exports: TYPES,\r\n declarations: [],\r\n})\r\nexport class CutePaginatorModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAAA;;;;;;;;;;AAUG;AAIH;;;AAGG;MAEU,iBAAiB,CAAA;AAD9B,IAAA,WAAA,GAAA;AAEE;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAkB,IAAI,OAAO,EAAQ;;QAGrD,IAAA,CAAA,iBAAiB,GAAW,iBAAiB;;QAG7C,IAAA,CAAA,aAAa,GAAW,MAAM;;QAG9B,IAAA,CAAA,iBAAiB,GAAW,WAAW;;QAGvC,IAAA,CAAA,iBAAiB,GAAW,UAAU;;QAGtC,IAAA,CAAA,qBAAqB,GAAW,eAAe;;QAG/C,IAAA,CAAA,cAAc,GAAW,OAAO;;QAGhC,IAAA,CAAA,kBAAkB,GAAW,YAAY;;QAGzC,IAAA,CAAA,aAAa,GAAW,MAAM;;QAG9B,IAAA,CAAA,iBAAiB,GAAW,WAAW;;QAGvC,IAAA,CAAA,aAAa,GAA+D,CAC1E,IAAY,EACZ,QAAgB,EAChB,MAAc,KACZ;YAEF,IAAI,KAAK,GAAG,GAAG;YAEf,IAAI,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE;gBAChC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AAE5B,gBAAA,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ;;gBAElC,MAAM,QAAQ,GACZ,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,QAAQ,EAAE,MAAM,CAAC,GAAG,UAAU,GAAG,QAAQ;gBAEvF,KAAK,GAAG,GAAG,UAAU,GAAG,CAAC,CAAA,GAAA,EAAM,QAAQ,EAAE;YAC3C;AAEA,YAAA,OAAO,CAAA,EAAG,KAAK,CAAA,IAAA,EAAO,MAAM,EAAE;AAChC,QAAA,CAAC;AACF,IAAA;+GAxDY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADL,MAAM,EAAA,CAAA,CAAA;;4FAClB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;AClBhC;;;;;;;;;;AAUG;AAuBH;AACA,MAAM,iBAAiB,GAAG,EAAE;AAC5B;AACA,MAAM,iBAAiB,GAAW,CAAC;AAqDnC;MACa,8BAA8B,GAAG,IAAI,cAAc,CAC9D,gCAAgC;AAGlC,IAAI,YAAY,GAAG,CAAC;AAEpB;;;;AAIG;AAmBG,MAAO,aAAc,SAAQ,oBAAoB,CAAA;;IAcrD,IACI,SAAS,KAAa,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,SAAS,CAAC,KAAa,EAAA;AACzB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU;AAChC,QAAA,IAAI,QAAQ,IAAI,KAAK,EAAE;AACrB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC9D,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;;IAIA,IACI,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE;IACrB;;IAIA,IACI,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,QAAQ,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,+BAA+B,EAAE;IACxC;;IAIA,IACI,eAAe,KAAe,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChE,IAAI,eAAe,CAAC,KAAmC,EAAA;QACrD,IAAI,CAAC,gBAAgB,GAAG,CAAC,KAAK,IAAK,EAAe,EAAE,GAAG,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,+BAA+B,EAAE;IACxC;IAuCA,WAAA,CACS,KAAwB,EACqB,QAAsC,EAAA;AAE1F,QAAA,KAAK,EAAE;QAHA,IAAA,CAAA,KAAK,GAAL,KAAK;QAvFN,IAAA,CAAA,sBAAsB,GAAW,CAAC;QAClC,IAAA,CAAA,qBAAqB,GAAW,GAAG;;;;AAMxB,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAA,+BAAA,EAAkC,YAAY,EAAE,EAAE;AAC9E,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAU,KAAK,sDAAC;QAarC,IAAA,CAAA,UAAU,GAAG,CAAC;QASd,IAAA,CAAA,OAAO,GAAG,CAAC;QASX,IAAA,CAAA,SAAS,GAAW,CAAC;QASrB,IAAA,CAAA,gBAAgB,GAAa,EAAE;;QAIvC,IAAA,CAAA,YAAY,GAAY,KAAK;;QAI7B,IAAA,CAAA,oBAAoB,GAAY,KAAK;;QAIrC,IAAA,CAAA,kBAAkB,GAAY,KAAK;;QAInC,IAAA,CAAA,WAAW,GAAY,KAAK;;QAI5B,IAAA,CAAA,kBAAkB,GAAqC,OAAO;;QAUrD,IAAA,CAAA,YAAY,GAA8B,EAAE;;AAGlC,QAAA,IAAA,CAAA,IAAI,GAA4B,IAAI,YAAY,EAAa;;QAGtE,IAAA,CAAA,yBAAyB,GAAa,EAAE;QAwS/B,IAAA,CAAA,KAAK,GAAG,KAAK;QACb,IAAA,CAAA,WAAW,GAAG,WAAW;AAlS1C,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAEtE,IAAI,QAAQ,EAAE;AACZ,YAAA,MAAM,EACJ,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,GACZ,GAAG,QAAQ;AAEZ,YAAA,IAAI,QAAQ,IAAI,IAAI,EAAc;AAAE,gBAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;YAAE;AAC/D,YAAA,IAAI,eAAe,IAAI,IAAI,EAAO;AAAE,gBAAA,IAAI,CAAC,gBAAgB,GAAG,eAAe;YAAE;AAC7E,YAAA,IAAI,YAAY,IAAI,IAAI,EAAU;AAAE,gBAAA,IAAI,CAAC,YAAY,GAAG,YAAY;YAAE;AACtE,YAAA,IAAI,oBAAoB,IAAI,IAAI,EAAE;AAAE,gBAAA,IAAI,CAAC,oBAAoB,GAAG,oBAAoB;YAAE;AACtF,YAAA,IAAI,kBAAkB,IAAI,IAAI,EAAI;AAAE,gBAAA,IAAI,CAAC,kBAAkB,GAAG,kBAAkB;YAAE;AAClF,YAAA,IAAI,WAAW,IAAI,IAAI,EAAW;AAAE,gBAAA,IAAI,CAAC,WAAW,GAAG,WAAW;YAAE;QACtE;;IAGF;IAEmB,UAAU,GAAA;AAC3B,QAAA,OAAO,CAAA,eAAA,EAAkB,YAAY,EAAE,CAAA,CAAE;IAC3C;IAES,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE;QAChB,IAAI,CAAC,+BAA+B,EAAE;IACxC;AAES,IAAA,WAAW,CAAC,OAAsB,EAAA;AACzC,QAAA,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC;QAE1B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;IACrE;IAEA,kBAAkB,GAAA;IAClB;IAES,WAAW,GAAA;QAClB,KAAK,CAAC,WAAW,EAAE;AACnB,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;IACjC;AAEU,IAAA,WAAW,CAAC,KAAiB,EAAA;AACrC,QAAA,IAAI,IAAI,CAAC,kBAAkB,IAAE,SAAS,EAAE;AACtC,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B;IACF;AAEU,IAAA,SAAS,CAAC,KAAiB,EAAA;AACnC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;;AAGU,IAAA,YAAY,CAAC,KAAa,EAAA;AAClC,QAAA,OAAO,KAAK,IAAI,IAAI,CAAC,SAAS;IAChC;IAEQ,8BAA8B,CAAC,QAAgB,EAAE,QAAgB,EAAA;AAEvE,QAAA,IAAI,IAAI,CAAC,kBAAkB,IAAI,SAAS,EAAE;YACxC;QACF;AAEA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACxC,QAAA,IAAI,QAAQ,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,QAAQ,CAAC,EAAE;YAE1D,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC;AAC7D,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,GAAC,CAAC,CAAC,GAAG,CAAC;YAClF,IAAI,QAAQ,IAAI,WAAW,IAAI,QAAQ,IAAI,eAAe,EAAE;AAC1D,gBAAA,IAAI,CAAC,sBAAsB,GAAG,CAAC;AAC/B,gBAAA,IAAI,CAAC,qBAAqB,GAAG,eAAe,GAAG,CAAC;YAClD;iBAAO,IAAI,QAAQ,KAAK,QAAQ,GAAG,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,sBAAsB,GAAG,QAAQ,GAAG,eAAe,GAAG,CAAC;AAC5D,gBAAA,IAAI,CAAC,qBAAqB,GAAG,QAAQ;YACvC;AAAO,iBAAA,IAAI,QAAQ,GAAG,WAAW,EAAE;;AAEjC,gBAAA,IAAI,CAAC,qBAAqB,IAAI,QAAQ,GAAG,WAAW;AACpD,gBAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,GAAG,CAAC,CAAC;gBAC/E,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,GAAG,eAAe,GAAG,CAAC;AAC9E,gBAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;YACxE;AAAO,iBAAA,IAAI,QAAQ,GAAG,WAAW,EAAE;;AAEjC,gBAAA,IAAI,CAAC,sBAAsB,IAAI,WAAW,GAAG,QAAQ;AACrD,gBAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;gBACtE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,GAAG,eAAe,GAAG,CAAC;YAChF;QACF;IACF;;IAGA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YACvB;QACF;AAEA,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;AAEnC,QAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;IACxC;;IAGA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;YAC3B;QACF;AAEA,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;AAEnC,QAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;IACxC;;IAGA,SAAS,GAAA;;AAEP,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;YAC3B;QACF;AAEA,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS;AACxC,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC;AAElB,QAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;IACxC;;IAGA,QAAQ,GAAA;;AAEN,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YACvB;QACF;AAEA,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC;AAE5C,QAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;IACxC;AAEA;;;AAGG;AACH,IAAA,QAAQ,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AAC9E,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS;AACxC,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;YAItB,IAAI,CAAC,YAAY,EAAE;AAEnB,YAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;QACxC;IACF;;IAGA,eAAe,GAAA;QACb,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC;IAClD;;IAGA,WAAW,GAAA;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC;QAChD,OAAO,IAAI,CAAC,SAAS,GAAG,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC;IAC5D;;IAGA,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,OAAO,CAAC;QACV;AACA,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/C;;IAGA,KAAK,GAAA;AACH,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC;IACrC;;IAGA,cAAc,GAAA;AACZ,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACnC,QAAA,IAAI,KAAK,IAAI,CAAC,EAAE;AACd,YAAA,OAAO,EAAE;QACX;QACA,IAAI,KAAK,GAAY,EAAE;AACvB,QAAA,IAAI,IAAI,CAAC,kBAAkB,IAAI,SAAS,EAAE;AACxC,YAAA,IAAI,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;AACrC,gBAAA,OAAO,EAAE;YACX;YACA,KAAK,GAAG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,GAAG,CAAC;AACpE,YAAA,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AACpB,YAAA,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,sBAAsB;YAC5C;QACF;aAAO;AACL,YAAA,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AACpB,YAAA,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;AAC5B,gBAAA,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;YACd;QACF;AAEA,QAAA,OAAO,KAAK;IACd;AAEA;;;;;;;AAOG;AACH,IAAA,eAAe,CAAC,QAAgB,EAAA;;;QAG9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ;AACjD,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS;AAExC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;AACvD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;QAExB,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC;QACtE,IAAI,CAAC,YAAY,EAAE;AAEnB,QAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;IACxC;;IAGU,mBAAmB,GAAA;QAC3B,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;IAC7C;;IAGU,uBAAuB,GAAA;QAC/B,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;IACjD;IAEU,qBAAqB,GAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,EAAE;AAC7B,YAAA,OAAO,eAAe;QACxB;AAAO,aAAA,IAAI,IAAI,CAAC,SAAS,IAAE,OAAO,EAAE;AAClC,YAAA,OAAO,eAAe;QACxB;AACA,QAAA,OAAO,EAAE;IACX;AAEA;;;AAGG;IACK,+BAA+B,GAAA;AACrC,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB;QACF;;AAGA,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS;AACZ,gBAAA,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,iBAAiB;QAClF;QAEA,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AAE7D,QAAA,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YAChE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpD;;AAGA,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,EAAE;IACrB;;AAGQ,IAAA,cAAc,CAAC,iBAAyB,EAAA;AAE9C,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACb,iBAAiB;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;AACpB,SAAA,CAAC;IACJ;AA7XW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,gDA2FF,8BAA8B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGA3FzC,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAcL,eAAe,CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAaf,eAAe,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EASf,eAAe,CAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,CAAA,cAAA,EAAA,cAAA,EAkBf,gBAAgB,CAAA,EAAA,oBAAA,EAAA,CAAA,sBAAA,EAAA,sBAAA,EAIhB,gBAAgB,CAAA,EAAA,kBAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAIhB,gBAAgB,+CAIhB,gBAAgB,CAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,OAAA,EAAA,2EAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzLrC,y+RA6LA,EAAA,MAAA,EAAA,CAAA,g7EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDxEY,aAAa,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,0BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,WAAW,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,6BAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,0BAAA,EAAA,aAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAE5D,aAAa,EAAA,UAAA,EAAA,CAAA;kBAlBzB,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAChB,eAAe,EAAA,IAAA,EAGnB;AACJ,wBAAA,OAAO,EAAE,gBAAgB;AACzB,wBAAA,iBAAiB,EAAE,UAAU;AAC7B,wBAAA,oBAAoB,EAAE,UAAU;AAChC,wBAAA,SAAS,EAAE,uEAAuE;AAClF,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,MAAM,EAAE,OAAO;AAChB,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,y+RAAA,EAAA,MAAA,EAAA,CAAA,g7EAAA,CAAA,EAAA;;0BA6FrE;;0BAAY,MAAM;2BAAC,8BAA8B;;sBA7EnD,KAAK;uBAAC,EAAC,SAAS,EAAE,eAAe,EAAC;;sBAalC,KAAK;uBAAC,EAAC,SAAS,EAAE,eAAe,EAAC;;sBASlC,KAAK;uBAAC,EAAC,SAAS,EAAE,eAAe,EAAC;;sBASlC;;sBASA,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;;sBAInC,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;;sBAInC,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;;sBAInC,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;;sBAInC;;sBAIA;;sBAIA;;sBAGA;;sBAGA;;;AE3MH;;;;;;;;;;AAUG;AAKH,MAAM,KAAK,GAAwB,CAAC,aAAa,CAAC;MAOrC,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,OAAA,EAAA,CAJpB,YAAY,EAHY,aAAa,aAAb,aAAa,CAAA,EAAA,CAAA,CAAA;gHAOpC,mBAAmB,EAAA,OAAA,EAAA,CAJpB,YAAY,EAAK,KAAK,CAAA,EAAA,CAAA,CAAA;;4FAIrB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC;AACjC,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,YAAY,EAAE,EAAE;AACjB,iBAAA;;;ACrBD;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { forwardRef, InjectionToken, inject, ChangeDetectorRef, EventEmitter, booleanAttribute, Input, ContentChildren, Output, Directive, NgZone, Injector,
|
|
2
|
+
import { forwardRef, InjectionToken, inject, ChangeDetectorRef, EventEmitter, booleanAttribute, Input, ContentChildren, Output, Directive, NgZone, Injector, afterNextRender, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { UniqueSelectionDispatcher } from '@angular/cdk/collections';
|
|
4
4
|
import { CuteInputControl } from '@cute-widgets/base/abstract';
|
|
5
5
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
@@ -365,7 +365,6 @@ class CuteRadioButton extends CuteInputControl {
|
|
|
365
365
|
super();
|
|
366
366
|
this._ngZone = inject(NgZone);
|
|
367
367
|
this._injector = inject(Injector);
|
|
368
|
-
this._destroyRef = inject(DestroyRef);
|
|
369
368
|
this._radioDispatcher = inject(UniqueSelectionDispatcher);
|
|
370
369
|
this._defaultOptions = inject(CUTE_RADIO_DEFAULT_OPTIONS, {
|
|
371
370
|
optional: true,
|