@cute-widgets/base 20.0.3 → 20.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +31 -4
  2. package/abstract/index.d.ts +13 -4
  3. package/button/index.d.ts +47 -24
  4. package/button-toggle/index.d.ts +8 -4
  5. package/card/index.d.ts +9 -6
  6. package/collapse/index.d.ts +49 -48
  7. package/core/directives/index.d.ts +1 -31
  8. package/core/index.d.ts +41 -28
  9. package/core/interfaces/index.d.ts +1 -1
  10. package/core/layout/index.d.ts +40 -27
  11. package/core/nav/index.d.ts +1 -2
  12. package/dialog/index.d.ts +81 -57
  13. package/expansion/index.d.ts +5 -18
  14. package/fesm2022/cute-widgets-base-abstract.mjs +13 -8
  15. package/fesm2022/cute-widgets-base-abstract.mjs.map +1 -1
  16. package/fesm2022/cute-widgets-base-button-toggle.mjs +36 -29
  17. package/fesm2022/cute-widgets-base-button-toggle.mjs.map +1 -1
  18. package/fesm2022/cute-widgets-base-button.mjs +169 -104
  19. package/fesm2022/cute-widgets-base-button.mjs.map +1 -1
  20. package/fesm2022/cute-widgets-base-card.mjs +46 -29
  21. package/fesm2022/cute-widgets-base-card.mjs.map +1 -1
  22. package/fesm2022/cute-widgets-base-chips.mjs +6 -18
  23. package/fesm2022/cute-widgets-base-chips.mjs.map +1 -1
  24. package/fesm2022/cute-widgets-base-collapse.mjs +114 -126
  25. package/fesm2022/cute-widgets-base-collapse.mjs.map +1 -1
  26. package/fesm2022/cute-widgets-base-core-directives.mjs +4 -72
  27. package/fesm2022/cute-widgets-base-core-directives.mjs.map +1 -1
  28. package/fesm2022/cute-widgets-base-core-interfaces.mjs.map +1 -1
  29. package/fesm2022/cute-widgets-base-core-layout.mjs +76 -40
  30. package/fesm2022/cute-widgets-base-core-layout.mjs.map +1 -1
  31. package/fesm2022/cute-widgets-base-core-nav.mjs +1 -2
  32. package/fesm2022/cute-widgets-base-core-nav.mjs.map +1 -1
  33. package/fesm2022/cute-widgets-base-core-theming.mjs +1 -1
  34. package/fesm2022/cute-widgets-base-core-theming.mjs.map +1 -1
  35. package/fesm2022/cute-widgets-base-core.mjs +77 -41
  36. package/fesm2022/cute-widgets-base-core.mjs.map +1 -1
  37. package/fesm2022/cute-widgets-base-dialog.mjs +152 -117
  38. package/fesm2022/cute-widgets-base-dialog.mjs.map +1 -1
  39. package/fesm2022/cute-widgets-base-expansion.mjs +19 -13
  40. package/fesm2022/cute-widgets-base-expansion.mjs.map +1 -1
  41. package/fesm2022/cute-widgets-base-list.mjs +2 -2
  42. package/fesm2022/cute-widgets-base-list.mjs.map +1 -1
  43. package/fesm2022/cute-widgets-base-menu.mjs +5 -27
  44. package/fesm2022/cute-widgets-base-menu.mjs.map +1 -1
  45. package/fesm2022/cute-widgets-base-navbar.mjs +88 -42
  46. package/fesm2022/cute-widgets-base-navbar.mjs.map +1 -1
  47. package/fesm2022/cute-widgets-base-paginator.mjs +13 -11
  48. package/fesm2022/cute-widgets-base-paginator.mjs.map +1 -1
  49. package/fesm2022/cute-widgets-base-radio.mjs +1 -2
  50. package/fesm2022/cute-widgets-base-radio.mjs.map +1 -1
  51. package/fesm2022/cute-widgets-base-select.mjs +2 -2
  52. package/fesm2022/cute-widgets-base-select.mjs.map +1 -1
  53. package/fesm2022/cute-widgets-base-sidenav.mjs +31 -30
  54. package/fesm2022/cute-widgets-base-sidenav.mjs.map +1 -1
  55. package/fesm2022/cute-widgets-base-snack-bar.mjs +2 -2
  56. package/fesm2022/cute-widgets-base-snack-bar.mjs.map +1 -1
  57. package/fesm2022/cute-widgets-base-sort.mjs +60 -257
  58. package/fesm2022/cute-widgets-base-sort.mjs.map +1 -1
  59. package/fesm2022/cute-widgets-base-table.mjs +6 -3
  60. package/fesm2022/cute-widgets-base-table.mjs.map +1 -1
  61. package/fesm2022/cute-widgets-base-tabs.mjs +86 -61
  62. package/fesm2022/cute-widgets-base-tabs.mjs.map +1 -1
  63. package/fesm2022/cute-widgets-base.mjs +3 -1
  64. package/fesm2022/cute-widgets-base.mjs.map +1 -1
  65. package/navbar/index.d.ts +30 -9
  66. package/package.json +6 -5
  67. package/paginator/index.d.ts +6 -17
  68. package/radio/index.d.ts +0 -1
  69. package/sidenav/index.d.ts +1 -2
  70. package/sort/index.d.ts +22 -135
  71. package/table/index.d.ts +8 -8
  72. package/tabs/index.d.ts +35 -14
@@ -1,13 +1,28 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, signal, ChangeDetectionStrategy, ViewEncapsulation, Component, InjectionToken, EventEmitter, computed, isDevMode, HostBinding, Output, Input, ContentChildren, Directive, booleanAttribute, NgModule } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, signal, viewChild, InjectionToken, EventEmitter, computed, isDevMode, HostBinding, Output, Input, ContentChildren, Directive, booleanAttribute, NgModule } from '@angular/core';
3
3
  import { CuteLayoutControl } from '@cute-widgets/base/abstract';
4
4
  import { CuteContainer } from '@cute-widgets/base/layout';
5
- import * as i1 from '@cute-widgets/base/collapse';
6
- import { CuteCollapse, CuteCollapseTrigger } from '@cute-widgets/base/collapse';
7
5
  import { Subscription } from 'rxjs';
6
+ import { MediaMatcher } from '@angular/cdk/layout';
7
+ import { bsBreakpoints } from '@cute-widgets/base/core';
8
+ import * as i1 from '@cute-widgets/base/collapse';
9
+ import { CuteCollapseBase, CuteCollapseTrigger, CuteCollapseModule } from '@cute-widgets/base/collapse';
8
10
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
9
11
  import { CuteNav, CUTE_NAV } from '@cute-widgets/base/core/nav';
10
- import { CommonModule } from '@angular/common';
12
+
13
+ class CuteNavbarCollapse extends CuteCollapseBase {
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteNavbarCollapse, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: CuteNavbarCollapse, isStandalone: true, selector: "cute-navbar-collapse", host: { properties: { "class": "\"cute-navbar-collapse-\"+(horizontal ? \"horizontal\" : \"vertical\")+\" \"+getState()", "class.cute-navbar-collapse-animations-enabled": "!disableAnimation", "id": "id || null" }, classAttribute: "cute-navbar-collapse" }, exportAs: ["cuteNavbarCollapse"], usesInheritance: true, ngImport: i0, template: "<div class=\"cute-navbar-collapse-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".cute-navbar-collapse{display:grid;width:100%;overflow:hidden}.cute-navbar-collapse .cute-navbar-collapse-content{min-height:0;overflow:hidden;transition:display .1s;transition-timing-function:ease-in-out;transition-behavior:allow-discrete;display:none}.cute-navbar-collapse.expanded .cute-navbar-collapse-content{display:block}.cute-navbar-collapse.collapsed .cute-navbar-collapse-content{display:none}.cute-navbar-collapse.cute-navbar-collapse-vertical{grid-template-rows:0fr}.cute-navbar-collapse.cute-navbar-collapse-vertical.expanded{grid-template-rows:1fr}.cute-navbar-collapse.cute-navbar-collapse-vertical.collapsed{grid-template-rows:0fr}.cute-navbar-collapse.cute-navbar-collapse-vertical.cute-navbar-collapse-animations-enabled{transition:grid-template-rows .2s}.cute-navbar-collapse.cute-navbar-collapse-horizontal{grid-template-columns:0fr}.cute-navbar-collapse.cute-navbar-collapse-horizontal.expanded{grid-template-columns:1fr}.cute-navbar-collapse.cute-navbar-collapse-horizontal.collapsed{grid-template-columns:0fr}.cute-navbar-collapse.cute-navbar-collapse-horizontal.cute-navbar-collapse-animations-enabled{transition:grid-template-columns .2s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteNavbarCollapse, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'cute-navbar-collapse', exportAs: 'cuteNavbarCollapse', host: {
20
+ 'class': 'cute-navbar-collapse',
21
+ '[class]': '"cute-navbar-collapse-"+(horizontal ? "horizontal" : "vertical")+" "+getState()',
22
+ '[class.cute-navbar-collapse-animations-enabled]': '!disableAnimation',
23
+ '[id]': 'id || null',
24
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cute-navbar-collapse-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".cute-navbar-collapse{display:grid;width:100%;overflow:hidden}.cute-navbar-collapse .cute-navbar-collapse-content{min-height:0;overflow:hidden;transition:display .1s;transition-timing-function:ease-in-out;transition-behavior:allow-discrete;display:none}.cute-navbar-collapse.expanded .cute-navbar-collapse-content{display:block}.cute-navbar-collapse.collapsed .cute-navbar-collapse-content{display:none}.cute-navbar-collapse.cute-navbar-collapse-vertical{grid-template-rows:0fr}.cute-navbar-collapse.cute-navbar-collapse-vertical.expanded{grid-template-rows:1fr}.cute-navbar-collapse.cute-navbar-collapse-vertical.collapsed{grid-template-rows:0fr}.cute-navbar-collapse.cute-navbar-collapse-vertical.cute-navbar-collapse-animations-enabled{transition:grid-template-rows .2s}.cute-navbar-collapse.cute-navbar-collapse-horizontal{grid-template-columns:0fr}.cute-navbar-collapse.cute-navbar-collapse-horizontal.expanded{grid-template-columns:1fr}.cute-navbar-collapse.cute-navbar-collapse-horizontal.collapsed{grid-template-columns:0fr}.cute-navbar-collapse.cute-navbar-collapse-horizontal.cute-navbar-collapse-animations-enabled{transition:grid-template-columns .2s}\n"] }]
25
+ }] });
11
26
 
12
27
  /**
13
28
  * @license Apache-2.0
@@ -17,64 +32,87 @@ import { CommonModule } from '@angular/common';
17
32
  * You may not use this file except in compliance with the License
18
33
  * that can be found at http://www.apache.org/licenses/LICENSE-2.0
19
34
  */
35
+ let uniqueId = 0;
20
36
  /**
21
37
  * Collapsible navbar content.
22
38
  */
23
- class CuteNavbarContent extends CuteCollapse {
39
+ class CuteNavbarContent extends CuteLayoutControl {
24
40
  constructor() {
25
41
  super();
26
- this._subscription = new Subscription();
42
+ this._selfSubscriptions = new Subscription();
27
43
  this._navbar = inject(CUTE_NAVBAR);
44
+ this.mediaMatcher = inject(MediaMatcher);
28
45
  this._breakpointMatches = signal(false, ...(ngDevMode ? [{ debugName: "_breakpointMatches" }] : []));
29
- this._subscription.add(this._navbar.breakpointState.subscribe(state => {
46
+ this._collapse = viewChild.required(CuteNavbarCollapse);
47
+ this._navbarMediaQueries = bsBreakpoints.getMediaQueries(this._navbar.breakpoint ?? []);
48
+ this._selfSubscriptions.add(this._navbar.breakpointState.subscribe(state => {
30
49
  this._breakpointMatches.set(state.matches);
31
50
  if (!state.matches) {
32
- this.close(); // if content was in the 'expanded' state when the screen width changed
51
+ this._collapse().close(); // if content was in the 'expanded' state when the screen width changed
33
52
  this._navbar.expansionChange.emit(false);
34
53
  }
35
54
  }));
36
- this._subscription.add(this.afterExpand.subscribe(() => {
55
+ }
56
+ get expanded() {
57
+ return this._collapse().expanded;
58
+ }
59
+ get mediaMatches() {
60
+ if (this._navbarMediaQueries.length) {
61
+ return this.mediaMatcher.matchMedia(this._navbarMediaQueries[0]).matches;
62
+ }
63
+ return false;
64
+ }
65
+ generateId() {
66
+ return `cute-navbar-content-${uniqueId++}`;
67
+ }
68
+ open() {
69
+ this._collapse().open();
70
+ }
71
+ close() {
72
+ this._collapse().close();
73
+ }
74
+ toggle() {
75
+ this._collapse().toggle();
76
+ }
77
+ ngOnInit() {
78
+ super.ngOnInit();
79
+ this._selfSubscriptions.add(this._collapse().afterExpand.subscribe(() => {
37
80
  if (this._breakpointMatches()) {
38
81
  this._navbar.expansionChange.emit(true);
39
82
  }
40
83
  }));
41
- this._subscription.add(this.afterCollapse.subscribe(() => this._navbar.expansionChange.emit(false)));
84
+ this._selfSubscriptions.add(this._collapse().afterCollapse.subscribe(() => {
85
+ this._navbar.expansionChange.emit(false);
86
+ }));
42
87
  }
43
- getState() {
44
- if (this._breakpointMatches()) {
45
- return super.getState();
46
- }
47
- // Parent class, CuteCollapse, uses this state to trigger the expanding process.
48
- // But we use it for the sake of `visibility` property only.
49
- // TODO: Change to a simpler and clearer algorithm.
50
- return 'expanded';
88
+ ngAfterViewChecked() {
89
+ this._breakpointMatches.set(this.mediaMatches);
51
90
  }
52
91
  ngOnDestroy() {
53
92
  super.ngOnDestroy();
54
- this._subscription.unsubscribe();
93
+ this._selfSubscriptions.unsubscribe();
55
94
  }
56
95
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteNavbarContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: CuteNavbarContent, isStandalone: true, selector: "cute-navbar-content", host: { properties: { "class.show": "expanded" }, classAttribute: "navbar-collapse collapse" }, exportAs: ["cuteNavbarContent"], usesInheritance: true, ngImport: i0, template: `
58
- <ng-content></ng-content>
59
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.15", type: CuteNavbarContent, isStandalone: true, selector: "cute-navbar-content", host: { properties: { "class.breakpoint-matches": "_breakpointMatches()" }, classAttribute: "cute-navbar-content navbar-collapse" }, viewQueries: [{ propertyName: "_collapse", first: true, predicate: CuteNavbarCollapse, descendants: true, isSignal: true }], exportAs: ["cuteNavbarContent"], usesInheritance: true, ngImport: i0, template: `
97
+ <cute-navbar-collapse>
98
+ <ng-content></ng-content>
99
+ </cute-navbar-collapse>
100
+ `, isInline: true, styles: [".cute-navbar-content:not(.breakpoint-matches) cute-navbar-collapse{display:block}.cute-navbar-content:not(.breakpoint-matches) cute-navbar-collapse .cute-navbar-collapse-content{display:flex}\n"], dependencies: [{ kind: "component", type: CuteNavbarCollapse, selector: "cute-navbar-collapse", exportAs: ["cuteNavbarCollapse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
60
101
  }
61
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteNavbarContent, decorators: [{
62
103
  type: Component,
63
- args: [{
64
- selector: 'cute-navbar-content',
65
- template: `
66
- <ng-content></ng-content>
67
- `,
68
- exportAs: 'cuteNavbarContent',
69
- host: {
70
- 'class': 'navbar-collapse collapse',
71
- '[class.show]': 'expanded',
72
- },
73
- encapsulation: ViewEncapsulation.None,
74
- changeDetection: ChangeDetectionStrategy.OnPush,
75
- standalone: true,
76
- }]
77
- }], ctorParameters: () => [] });
104
+ args: [{ selector: 'cute-navbar-content', template: `
105
+ <cute-navbar-collapse>
106
+ <ng-content></ng-content>
107
+ </cute-navbar-collapse>
108
+ `, exportAs: 'cuteNavbarContent', host: {
109
+ 'class': 'cute-navbar-content navbar-collapse',
110
+ //'[class.collapsed]': '!expanded',
111
+ '[class.breakpoint-matches]': '_breakpointMatches()',
112
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
113
+ CuteNavbarCollapse,
114
+ ], styles: [".cute-navbar-content:not(.breakpoint-matches) cute-navbar-collapse{display:block}.cute-navbar-content:not(.breakpoint-matches) cute-navbar-collapse .cute-navbar-collapse-content{display:flex}\n"] }]
115
+ }], ctorParameters: () => [], propDecorators: { _collapse: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CuteNavbarCollapse), { isSignal: true }] }] } });
78
116
 
79
117
  /**
80
118
  * @license Apache-2.0
@@ -115,12 +153,14 @@ class CuteNavbar extends CuteLayoutControl {
115
153
  }
116
154
  constructor() {
117
155
  super();
156
+ this._expanded = signal(false, ...(ngDevMode ? [{ debugName: "_expanded" }] : []));
118
157
  /** Event emitted when the navbar's content expansion status changed. */
119
158
  this.expansionChange = new EventEmitter();
120
159
  this.contentExpanded = computed(() => this._expanded(), ...(ngDevMode ? [{ debugName: "contentExpanded" }] : []));
121
- this._expanded = signal(false, ...(ngDevMode ? [{ debugName: "_expanded" }] : []));
122
160
  this.role = "navigation";
123
- this.expansionChange.pipe(takeUntilDestroyed()).subscribe(state => this._expanded.set(state));
161
+ this.expansionChange.pipe(takeUntilDestroyed()).subscribe(state => {
162
+ this._expanded.set(state);
163
+ });
124
164
  }
125
165
  generateId() {
126
166
  return `cute-navbar-${++nextId}`;
@@ -197,6 +237,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
197
237
  * You may not use this file except in compliance with the License
198
238
  * that can be found at http://www.apache.org/licenses/LICENSE-2.0
199
239
  */
240
+ /**
241
+ * A full-height and lightweight navigation container for including other navigation components.
242
+ */
200
243
  class CuteNavbarNav extends CuteNav {
201
244
  /** The minimum height of the expanded content that triggers the scrolling mode when `scrollable` property is enabled. Default is **75vh**. */
202
245
  get scrollHeight() { return this._scrollHeight; }
@@ -277,6 +320,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
277
320
  * This code is a modification of the `@angular/material` original
278
321
  * code licensed under MIT-style License (https://angular.dev/license).
279
322
  */
323
+ /**
324
+ * A trigger element for expand/collapse the `cute-navbar-content`.
325
+ */
280
326
  class CuteNavbarToggler {
281
327
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteNavbarToggler, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
282
328
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteNavbarToggler, isStandalone: true, selector: "[cuteNavbarToggler], [cute-navbar-toggler]", host: { attributes: { "type": "button" }, classAttribute: "navbar-toggler border-secondary-subtle" }, exportAs: ["cuteNavbarToggler"], hostDirectives: [{ directive: i1.CuteCollapseTrigger, inputs: ["cuteCollapseTriggerFor", "cuteNavbarTogglerFor"] }], ngImport: i0 }); }
@@ -311,7 +357,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
311
357
  */
312
358
  class CuteNavbarModule {
313
359
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
314
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: CuteNavbarModule, imports: [CommonModule,
360
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: CuteNavbarModule, imports: [CuteCollapseModule,
315
361
  CuteNavbar,
316
362
  CuteNavbarBrand,
317
363
  CuteNavbarContent,
@@ -323,7 +369,7 @@ class CuteNavbarModule {
323
369
  CuteNavbarNav,
324
370
  CuteNavbarText,
325
371
  CuteNavbarToggler] }); }
326
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteNavbarModule, imports: [CommonModule,
372
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteNavbarModule, imports: [CuteCollapseModule,
327
373
  CuteNavbar] }); }
328
374
  }
329
375
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteNavbarModule, decorators: [{
@@ -331,7 +377,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
331
377
  args: [{
332
378
  declarations: [],
333
379
  imports: [
334
- CommonModule,
380
+ CuteCollapseModule,
335
381
  CuteNavbar,
336
382
  CuteNavbarBrand,
337
383
  CuteNavbarContent,
@@ -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-collapse.component.ts","../../../../projects/cute-widgets/base/navbar/src/navbar-collapse.component.html","../../../../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":["import {CuteCollapseBase} from '@cute-widgets/base/collapse';\r\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cute-navbar-collapse',\r\n templateUrl: './navbar-collapse.component.html',\r\n styleUrl: './navbar-collapse.component.scss',\r\n exportAs: 'cuteNavbarCollapse',\r\n host: {\r\n 'class': 'cute-navbar-collapse',\r\n '[class]': '\"cute-navbar-collapse-\"+(horizontal ? \"horizontal\" : \"vertical\")+\" \"+getState()',\r\n '[class.cute-navbar-collapse-animations-enabled]': '!disableAnimation',\r\n '[id]': 'id || null',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CuteNavbarCollapse extends CuteCollapseBase {}\r\n","<div class=\"cute-navbar-collapse-content\">\r\n <ng-content></ng-content>\r\n</div>\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 AfterViewChecked,\r\n ChangeDetectionStrategy,\r\n Component,\r\n inject,\r\n OnDestroy, OnInit,\r\n signal, viewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {CUTE_NAVBAR} from './navbar.component';\r\nimport {Subscription} from 'rxjs';\r\nimport {CuteLayoutControl, Expandable} from '@cute-widgets/base/abstract';\r\nimport {MediaMatcher} from '@angular/cdk/layout';\r\nimport {bsBreakpoints} from '@cute-widgets/base/core';\r\nimport {CuteNavbarCollapse} from './navbar-collapse.component';\r\n\r\nlet uniqueId: number = 0;\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 <cute-navbar-collapse>\r\n <ng-content></ng-content>\r\n </cute-navbar-collapse>\r\n `,\r\n styleUrl: './navbar-content.component.scss',\r\n exportAs: 'cuteNavbarContent',\r\n host: {\r\n 'class': 'cute-navbar-content navbar-collapse',\r\n //'[class.collapsed]': '!expanded',\r\n '[class.breakpoint-matches]': '_breakpointMatches()',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CuteNavbarCollapse,\r\n ]\r\n})\r\nexport class CuteNavbarContent extends CuteLayoutControl implements Expandable, AfterViewChecked {\r\n private _selfSubscriptions: Subscription = new Subscription();\r\n protected _navbar = inject(CUTE_NAVBAR);\r\n protected mediaMatcher = inject(MediaMatcher);\r\n protected _breakpointMatches = signal<boolean>(false);\r\n protected _collapse = viewChild.required(CuteNavbarCollapse);\r\n\r\n private readonly _navbarMediaQueries: string[];\r\n\r\n constructor() {\r\n super();\r\n\r\n this._navbarMediaQueries = bsBreakpoints.getMediaQueries(this._navbar.breakpoint ?? []);\r\n\r\n this._selfSubscriptions.add(\r\n this._navbar.breakpointState.subscribe(state => {\r\n this._breakpointMatches.set(state.matches);\r\n if (!state.matches) {\r\n this._collapse().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\r\n }\r\n\r\n get expanded(): boolean {\r\n return this._collapse().expanded;\r\n }\r\n\r\n private get mediaMatches(): boolean {\r\n if (this._navbarMediaQueries.length) {\r\n return this.mediaMatcher.matchMedia(this._navbarMediaQueries[0]).matches;\r\n }\r\n return false;\r\n }\r\n\r\n protected override generateId(): string {\r\n return `cute-navbar-content-${uniqueId++}`;\r\n }\r\n\r\n open() {\r\n this._collapse().open();\r\n }\r\n\r\n close() {\r\n this._collapse().close();\r\n }\r\n\r\n toggle() {\r\n this._collapse().toggle();\r\n }\r\n\r\n override ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this._selfSubscriptions.add(\r\n this._collapse().afterExpand.subscribe(() => {\r\n if (this._breakpointMatches()) {\r\n this._navbar.expansionChange.emit(true);\r\n }\r\n })\r\n );\r\n this._selfSubscriptions.add(\r\n this._collapse().afterCollapse.subscribe(() => {\r\n this._navbar.expansionChange.emit(false);\r\n })\r\n );\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this._breakpointMatches.set(this.mediaMatches);\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n this._selfSubscriptions.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 private _expanded = signal<boolean>(false);\r\n\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\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\r\n this.expansionChange.pipe(takeUntilDestroyed()).subscribe(state => {\r\n this._expanded.set(state);\r\n });\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\nimport {CuteCollapseModule} from '@cute-widgets/base/collapse';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CuteCollapseModule,\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,18 +189,19 @@ 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();
198
195
  this._intlChanges.unsubscribe();
199
196
  }
200
- onMouseDown(event) {
197
+ onPointerDown(event) {
201
198
  if (this.middleSectionStyle == "5-pages") {
202
- this.hideActive = true;
203
- this._changeDetectorRef.detectChanges();
199
+ this.hideActive.set(true);
204
200
  }
205
201
  }
202
+ onPointerUp(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 (pointerdown)=\"onPointerDown($event)\"\r\n (pointerup)=\"onPointerUp($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 (pointerdown)=\"onPointerDown($event)\"\r\n (pointerup)=\"onPointerUp($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 (pointerdown)=\"onPointerDown($event)\"\r\n (pointerup)=\"onPointerUp($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 : undefined',
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 (pointerdown)=\"onPointerDown($event)\"\r\n (pointerup)=\"onPointerUp($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 (pointerdown)=\"onPointerDown($event)\"\r\n (pointerup)=\"onPointerUp($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 (pointerdown)=\"onPointerDown($event)\"\r\n (pointerup)=\"onPointerUp($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
  }, {