@radix-ng/primitives 0.30.0 → 0.32.0

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 (79) hide show
  1. package/config/index.d.ts +2 -0
  2. package/config/src/config.d.ts +21 -0
  3. package/config/src/config.provider.d.ts +10 -0
  4. package/core/index.d.ts +3 -2
  5. package/core/src/kbd-constants.d.ts +40 -0
  6. package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +2 -1
  7. package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +2 -2
  8. package/fesm2022/radix-ng-primitives-accordion.mjs +19 -19
  9. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +22 -22
  10. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +3 -3
  11. package/fesm2022/radix-ng-primitives-avatar.mjs +16 -16
  12. package/fesm2022/radix-ng-primitives-checkbox.mjs +16 -16
  13. package/fesm2022/radix-ng-primitives-collapsible.mjs +9 -9
  14. package/fesm2022/radix-ng-primitives-config.mjs +54 -0
  15. package/fesm2022/radix-ng-primitives-config.mjs.map +1 -0
  16. package/fesm2022/radix-ng-primitives-context-menu.mjs +34 -34
  17. package/fesm2022/radix-ng-primitives-core.mjs +50 -9
  18. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  19. package/fesm2022/radix-ng-primitives-dialog.mjs +25 -25
  20. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +38 -43
  21. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-hover-card.mjs +28 -28
  23. package/fesm2022/radix-ng-primitives-label.mjs +7 -10
  24. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  25. package/fesm2022/radix-ng-primitives-menu.mjs +37 -37
  26. package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
  27. package/fesm2022/radix-ng-primitives-pagination.mjs +327 -0
  28. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -0
  29. package/fesm2022/radix-ng-primitives-popover.mjs +28 -28
  30. package/fesm2022/radix-ng-primitives-progress.mjs +10 -10
  31. package/fesm2022/radix-ng-primitives-radio.mjs +12 -12
  32. package/fesm2022/radix-ng-primitives-roving-focus.mjs +6 -6
  33. package/fesm2022/radix-ng-primitives-select.mjs +34 -34
  34. package/fesm2022/radix-ng-primitives-separator.mjs +21 -9
  35. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  36. package/fesm2022/radix-ng-primitives-slider.mjs +31 -31
  37. package/fesm2022/radix-ng-primitives-stepper.mjs +473 -0
  38. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -0
  39. package/fesm2022/radix-ng-primitives-switch.mjs +13 -13
  40. package/fesm2022/radix-ng-primitives-tabs.mjs +16 -16
  41. package/fesm2022/radix-ng-primitives-toggle-group.mjs +9 -9
  42. package/fesm2022/radix-ng-primitives-toggle.mjs +6 -6
  43. package/fesm2022/radix-ng-primitives-toolbar.mjs +22 -22
  44. package/fesm2022/radix-ng-primitives-tooltip.mjs +28 -28
  45. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +9 -9
  46. package/hover-card/src/hover-card-root.directive.d.ts +4 -4
  47. package/label/src/label.directive.d.ts +4 -7
  48. package/package.json +1 -1
  49. package/pagination/README.md +1 -0
  50. package/pagination/index.d.ts +23 -0
  51. package/pagination/src/pagination-context.token.d.ts +11 -0
  52. package/pagination/src/pagination-ellipsis.directive.d.ts +5 -0
  53. package/pagination/src/pagination-first.directive.d.ts +8 -0
  54. package/pagination/src/pagination-last.directive.d.ts +8 -0
  55. package/pagination/src/pagination-list-item.directive.d.ts +10 -0
  56. package/pagination/src/pagination-list.directive.d.ts +12 -0
  57. package/pagination/src/pagination-next.directive.d.ts +8 -0
  58. package/pagination/src/pagination-prev.directive.d.ts +8 -0
  59. package/pagination/src/pagination-root.directive.d.ts +18 -0
  60. package/pagination/src/utils.d.ts +9 -0
  61. package/popover/src/popover-root.directive.d.ts +4 -4
  62. package/separator/src/separator.directive.d.ts +4 -1
  63. package/stepper/README.md +1 -0
  64. package/stepper/index.d.ts +22 -0
  65. package/stepper/src/stepper-description.directive.d.ts +6 -0
  66. package/stepper/src/stepper-indicator.directive.d.ts +6 -0
  67. package/stepper/src/stepper-item-context.token.d.ts +13 -0
  68. package/stepper/src/stepper-item.directive.d.ts +21 -0
  69. package/stepper/src/stepper-root-context.token.d.ts +12 -0
  70. package/stepper/src/stepper-root.directive.d.ts +32 -0
  71. package/stepper/src/stepper-separator.directive.d.ts +10 -0
  72. package/stepper/src/stepper-title.directive.d.ts +6 -0
  73. package/stepper/src/stepper-trigger.directive.d.ts +14 -0
  74. package/stepper/src/types.d.ts +1 -0
  75. package/stepper/src/utils/getActiveElement.d.ts +1 -0
  76. package/stepper/src/utils/useArrowNavigation.d.ts +65 -0
  77. package/tooltip/src/tooltip-root.directive.d.ts +4 -4
  78. /package/core/src/{nullish.d.ts → is-nullish.d.ts} +0 -0
  79. /package/core/src/{isNumber.d.ts → is-number.d.ts} +0 -0
@@ -6,10 +6,10 @@ import * as i1$1 from '@angular/cdk/menu';
6
6
  import { CdkMenuGroup, CdkMenuBar } from '@angular/cdk/menu';
7
7
 
8
8
  class RdxMenuBarContentDirective {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenuBarContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxMenuBarContentDirective, isStandalone: true, selector: "[RdxMenuBarContent]", hostDirectives: [{ directive: i1.RdxMenuContentDirective }], ngImport: i0 }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenuBarContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxMenuBarContentDirective, isStandalone: true, selector: "[RdxMenuBarContent]", hostDirectives: [{ directive: i1.RdxMenuContentDirective }], ngImport: i0 }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenuBarContentDirective, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenuBarContentDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[RdxMenuBarContent]',
@@ -18,10 +18,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
18
18
  }] });
19
19
 
20
20
  class RdxMenubarItemCheckboxDirective {
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenubarItemCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxMenubarItemCheckboxDirective, isStandalone: true, selector: "[RdxMenuBarCheckboxItem]", hostDirectives: [{ directive: i1.RdxMenuItemCheckboxDirective, inputs: ["checked", "checked", "disabled", "disabled"] }], ngImport: i0 }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenubarItemCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxMenubarItemCheckboxDirective, isStandalone: true, selector: "[RdxMenuBarCheckboxItem]", hostDirectives: [{ directive: i1.RdxMenuItemCheckboxDirective, inputs: ["checked", "checked", "disabled", "disabled"] }], ngImport: i0 }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenubarItemCheckboxDirective, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenubarItemCheckboxDirective, decorators: [{
25
25
  type: Directive,
26
26
  args: [{
27
27
  selector: '[RdxMenuBarCheckboxItem]',
@@ -35,10 +35,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
35
35
  }] });
36
36
 
37
37
  class RdxMenubarItemIndicatorDirective {
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenubarItemIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
39
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxMenubarItemIndicatorDirective, isStandalone: true, selector: "[RdxMenuBarItemIndicator]", hostDirectives: [{ directive: i1.RdxMenuItemIndicatorDirective }], ngImport: i0 }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenubarItemIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
39
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxMenubarItemIndicatorDirective, isStandalone: true, selector: "[RdxMenuBarItemIndicator]", hostDirectives: [{ directive: i1.RdxMenuItemIndicatorDirective }], ngImport: i0 }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenubarItemIndicatorDirective, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenubarItemIndicatorDirective, decorators: [{
42
42
  type: Directive,
43
43
  args: [{
44
44
  selector: '[RdxMenuBarItemIndicator]',
@@ -47,10 +47,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
47
47
  }] });
48
48
 
49
49
  class RdxMenubarItemRadioDirective {
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenubarItemRadioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxMenubarItemRadioDirective, isStandalone: true, selector: "[RdxMenuBarItemRadio]", hostDirectives: [{ directive: i1.RdxMenuItemRadioDirective, inputs: ["disabled", "disabled", "checked", "checked"] }], ngImport: i0 }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenubarItemRadioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxMenubarItemRadioDirective, isStandalone: true, selector: "[RdxMenuBarItemRadio]", hostDirectives: [{ directive: i1.RdxMenuItemRadioDirective, inputs: ["disabled", "disabled", "checked", "checked"] }], ngImport: i0 }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenubarItemRadioDirective, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenubarItemRadioDirective, decorators: [{
54
54
  type: Directive,
55
55
  args: [{
56
56
  selector: '[RdxMenuBarItemRadio]',
@@ -64,10 +64,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
64
64
  }] });
65
65
 
66
66
  class RdxMenuBarItemDirective {
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenuBarItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
68
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxMenuBarItemDirective, isStandalone: true, selector: "[RdxMenuBarItem]", hostDirectives: [{ directive: i1.RdxMenuItemDirective, inputs: ["disabled", "disabled"], outputs: ["onSelect", "onSelect"] }], ngImport: i0 }); }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenuBarItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
68
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxMenuBarItemDirective, isStandalone: true, selector: "[RdxMenuBarItem]", hostDirectives: [{ directive: i1.RdxMenuItemDirective, inputs: ["disabled", "disabled"], outputs: ["onSelect", "onSelect"] }], ngImport: i0 }); }
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenuBarItemDirective, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenuBarItemDirective, decorators: [{
71
71
  type: Directive,
72
72
  args: [{
73
73
  selector: '[RdxMenuBarItem]',
@@ -82,10 +82,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
82
82
  }] });
83
83
 
84
84
  class RdxMenubarRadioGroupDirective {
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenubarRadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
86
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxMenubarRadioGroupDirective, isStandalone: true, selector: "[RdxMenuBarRadioGroup]", hostDirectives: [{ directive: i1$1.CdkMenuGroup }], ngImport: i0 }); }
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenubarRadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
86
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxMenubarRadioGroupDirective, isStandalone: true, selector: "[RdxMenuBarRadioGroup]", hostDirectives: [{ directive: i1$1.CdkMenuGroup }], ngImport: i0 }); }
87
87
  }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenubarRadioGroupDirective, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenubarRadioGroupDirective, decorators: [{
89
89
  type: Directive,
90
90
  args: [{
91
91
  selector: '[RdxMenuBarRadioGroup]',
@@ -94,10 +94,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
94
94
  }] });
95
95
 
96
96
  class RdxMenuBarRootDirective {
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenuBarRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
98
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxMenuBarRootDirective, isStandalone: true, selector: "[RdxMenuBarRoot]", host: { attributes: { "tabindex": "0" }, properties: { "attr.data-orientation": "\"horizontal\"" } }, hostDirectives: [{ directive: i1$1.CdkMenuBar }], ngImport: i0 }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenuBarRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
98
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxMenuBarRootDirective, isStandalone: true, selector: "[RdxMenuBarRoot]", host: { attributes: { "tabindex": "0" }, properties: { "attr.data-orientation": "\"horizontal\"" } }, hostDirectives: [{ directive: i1$1.CdkMenuBar }], ngImport: i0 }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenuBarRootDirective, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenuBarRootDirective, decorators: [{
101
101
  type: Directive,
102
102
  args: [{
103
103
  selector: '[RdxMenuBarRoot]',
@@ -110,10 +110,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
110
110
  }] });
111
111
 
112
112
  class RdxMenubarSeparatorDirective {
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenubarSeparatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
114
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxMenubarSeparatorDirective, isStandalone: true, selector: "[RdxMenuBarSeparator]", hostDirectives: [{ directive: i1.RdxMenuSeparatorDirective }], ngImport: i0 }); }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenubarSeparatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
114
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxMenubarSeparatorDirective, isStandalone: true, selector: "[RdxMenuBarSeparator]", hostDirectives: [{ directive: i1.RdxMenuSeparatorDirective }], ngImport: i0 }); }
115
115
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenubarSeparatorDirective, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenubarSeparatorDirective, decorators: [{
117
117
  type: Directive,
118
118
  args: [{
119
119
  selector: '[RdxMenuBarSeparator]',
@@ -122,10 +122,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
122
122
  }] });
123
123
 
124
124
  class RdxMenuBarTriggerDirective {
125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenuBarTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
126
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxMenuBarTriggerDirective, isStandalone: true, selector: "[RdxMenuBarTrigger]", hostDirectives: [{ directive: i1.RdxMenuTriggerDirective, inputs: ["disabled", "disabled", "menuTriggerFor", "menuTriggerFor", "sideOffset", "sideOffset", "side", "side", "align", "align", "alignOffset", "alignOffset"] }], ngImport: i0 }); }
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenuBarTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
126
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxMenuBarTriggerDirective, isStandalone: true, selector: "[RdxMenuBarTrigger]", hostDirectives: [{ directive: i1.RdxMenuTriggerDirective, inputs: ["disabled", "disabled", "menuTriggerFor", "menuTriggerFor", "sideOffset", "sideOffset", "side", "side", "align", "align", "alignOffset", "alignOffset"] }], ngImport: i0 }); }
127
127
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxMenuBarTriggerDirective, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxMenuBarTriggerDirective, decorators: [{
129
129
  type: Directive,
130
130
  args: [{
131
131
  selector: '[RdxMenuBarTrigger]',
@@ -157,8 +157,8 @@ const menubarImports = [
157
157
  RdxMenubarRadioGroupDirective
158
158
  ];
159
159
  class MenubarModule {
160
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MenubarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
161
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.4", ngImport: i0, type: MenubarModule, imports: [RdxMenuBarContentDirective,
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: MenubarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
161
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.6", ngImport: i0, type: MenubarModule, imports: [RdxMenuBarContentDirective,
162
162
  RdxMenuBarTriggerDirective,
163
163
  RdxMenubarSeparatorDirective,
164
164
  RdxMenubarItemCheckboxDirective,
@@ -175,9 +175,9 @@ class MenubarModule {
175
175
  RdxMenubarItemIndicatorDirective,
176
176
  RdxMenubarItemRadioDirective,
177
177
  RdxMenubarRadioGroupDirective] }); }
178
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MenubarModule }); }
178
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: MenubarModule }); }
179
179
  }
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MenubarModule, decorators: [{
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: MenubarModule, decorators: [{
181
181
  type: NgModule,
182
182
  args: [{
183
183
  imports: [...menubarImports],
@@ -0,0 +1,327 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, InjectionToken, inject, computed, input, numberAttribute, model, booleanAttribute, output, forwardRef, NgModule } from '@angular/core';
3
+
4
+ class RdxPaginationEllipsisDirective {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationEllipsisDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxPaginationEllipsisDirective, isStandalone: true, selector: "[rdxPaginationEllipsis]", host: { properties: { "attr.data-type": "\"ellipsis\"" } }, ngImport: i0 }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationEllipsisDirective, decorators: [{
9
+ type: Directive,
10
+ args: [{
11
+ selector: '[rdxPaginationEllipsis]',
12
+ host: {
13
+ '[attr.data-type]': '"ellipsis"'
14
+ }
15
+ }]
16
+ }] });
17
+
18
+ const PAGINATION_ROOT_CONTEXT = new InjectionToken('PaginationRootContext');
19
+ function injectPaginationRootContext() {
20
+ return inject(PAGINATION_ROOT_CONTEXT);
21
+ }
22
+
23
+ // as Button
24
+ class RdxPaginationFirstDirective {
25
+ constructor() {
26
+ this.rootContext = injectPaginationRootContext();
27
+ this.disabled = computed(() => this.rootContext.page() === 1 || this.rootContext.disabled());
28
+ }
29
+ onClick() {
30
+ if (!this.disabled()) {
31
+ this.rootContext.onPageChange(1);
32
+ }
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationFirstDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxPaginationFirstDirective, isStandalone: true, selector: "[rdxPaginationFirst]", host: { listeners: { "click": "onClick()" }, properties: { "attr.aria-label": "\"First Page\"", "disabled": "disabled()" } }, ngImport: i0 }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationFirstDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: '[rdxPaginationFirst]',
41
+ host: {
42
+ '[attr.aria-label]': '"First Page"',
43
+ '[disabled]': 'disabled()',
44
+ '(click)': 'onClick()'
45
+ }
46
+ }]
47
+ }] });
48
+
49
+ // as Button
50
+ class RdxPaginationLastDirective {
51
+ constructor() {
52
+ this.rootContext = injectPaginationRootContext();
53
+ this.disabled = computed(() => this.rootContext.page() === this.rootContext.pageCount() || this.rootContext.disabled());
54
+ }
55
+ onClick() {
56
+ if (!this.disabled()) {
57
+ this.rootContext.onPageChange(this.rootContext.pageCount());
58
+ }
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationLastDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
61
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxPaginationLastDirective, isStandalone: true, selector: "[rdxPaginationLast]", host: { listeners: { "click": "onClick()" }, properties: { "attr.aria-label": "\"Last Page\"", "disabled": "disabled()" } }, ngImport: i0 }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationLastDirective, decorators: [{
64
+ type: Directive,
65
+ args: [{
66
+ selector: '[rdxPaginationLast]',
67
+ host: {
68
+ '[attr.aria-label]': '"Last Page"',
69
+ '[disabled]': 'disabled()',
70
+ '(click)': 'onClick()'
71
+ }
72
+ }]
73
+ }] });
74
+
75
+ // as Button
76
+ class RdxPaginationListItemDirective {
77
+ constructor() {
78
+ this.rootContext = injectPaginationRootContext();
79
+ this.value = input();
80
+ this.disabled = computed(() => this.rootContext.disabled());
81
+ this.isSelected = computed(() => this.rootContext.page() === this.value());
82
+ }
83
+ onClick() {
84
+ const pageValue = this.value();
85
+ if (!this.disabled() && typeof pageValue === 'number') {
86
+ this.rootContext.onPageChange(pageValue);
87
+ }
88
+ }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationListItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
90
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.6", type: RdxPaginationListItemDirective, isStandalone: true, selector: "[rdxPaginationListItem]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "data-type": "\"page\"", "attr.aria-label": "\"Page \" + value()", "attr.aria-current": "isSelected() ? \"page\" : undefined", "attr.data-selected": "isSelected() ? true : undefined", "disabled": "disabled()" } }, ngImport: i0 }); }
91
+ }
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationListItemDirective, decorators: [{
93
+ type: Directive,
94
+ args: [{
95
+ selector: '[rdxPaginationListItem]',
96
+ host: {
97
+ '[data-type]': '"page"',
98
+ '[attr.aria-label]': '"Page " + value()',
99
+ '[attr.aria-current]': 'isSelected() ? "page" : undefined',
100
+ '[attr.data-selected]': 'isSelected() ? true : undefined',
101
+ '[disabled]': 'disabled()',
102
+ '(click)': 'onClick()'
103
+ }
104
+ }]
105
+ }] });
106
+
107
+ // reference https://github.com/chakra-ui/zag/blob/main/packages/machines/pagination/src/pagination.utils.ts
108
+ function range(start, end) {
109
+ const length = end - start + 1;
110
+ return Array.from({ length }, (_, idx) => idx + start);
111
+ }
112
+ function transform(items) {
113
+ return items.map((value) => {
114
+ if (typeof value === 'number')
115
+ return { type: 'page', value };
116
+ return { type: 'ellipsis' };
117
+ });
118
+ }
119
+ const ELLIPSIS = 'ellipsis';
120
+ function getRange(currentPage, pageCount, siblingCount, showEdges) {
121
+ const firstPageIndex = 1;
122
+ const lastPageIndex = pageCount;
123
+ const leftSiblingIndex = Math.max(currentPage - siblingCount, firstPageIndex);
124
+ const rightSiblingIndex = Math.min(currentPage + siblingCount, lastPageIndex);
125
+ if (showEdges) {
126
+ /**
127
+ * `2 * siblingCount + 5` explanation:
128
+ * 2 * siblingCount for left/right siblings
129
+ * 5 for 2x left/right ellipsis, 2x first/last page + 1x current page
130
+ *
131
+ * For some page counts (e.g. totalPages: 8, siblingCount: 2),
132
+ * calculated max page is higher than total pages,
133
+ * so we need to take the minimum of both.
134
+ */
135
+ const totalPageNumbers = Math.min(2 * siblingCount + 5, pageCount);
136
+ const itemCount = totalPageNumbers - 2; // 2 stands for one ellipsis and either first or last page
137
+ const showLeftEllipsis =
138
+ // default condition
139
+ leftSiblingIndex > firstPageIndex + 2 &&
140
+ // if the current page is towards the end of the list
141
+ Math.abs(lastPageIndex - itemCount - firstPageIndex + 1) > 2 &&
142
+ // if the current page is towards the middle of the list
143
+ Math.abs(leftSiblingIndex - firstPageIndex) > 2;
144
+ const showRightEllipsis =
145
+ // default condition
146
+ rightSiblingIndex < lastPageIndex - 2 &&
147
+ // if the current page is towards the start of the list
148
+ Math.abs(lastPageIndex - itemCount) > 2 &&
149
+ // if the current page is towards the middle of the list
150
+ Math.abs(lastPageIndex - rightSiblingIndex) > 2;
151
+ if (!showLeftEllipsis && showRightEllipsis) {
152
+ const leftRange = range(1, itemCount);
153
+ return [...leftRange, ELLIPSIS, lastPageIndex];
154
+ }
155
+ if (showLeftEllipsis && !showRightEllipsis) {
156
+ const rightRange = range(lastPageIndex - itemCount + 1, lastPageIndex);
157
+ return [firstPageIndex, ELLIPSIS, ...rightRange];
158
+ }
159
+ if (showLeftEllipsis && showRightEllipsis) {
160
+ const middleRange = range(leftSiblingIndex, rightSiblingIndex);
161
+ return [firstPageIndex, ELLIPSIS, ...middleRange, ELLIPSIS, lastPageIndex];
162
+ }
163
+ const fullRange = range(firstPageIndex, lastPageIndex);
164
+ return fullRange;
165
+ }
166
+ else {
167
+ const itemCount = siblingCount * 2 + 1;
168
+ if (pageCount < itemCount)
169
+ return range(1, lastPageIndex);
170
+ else if (currentPage <= siblingCount + 1)
171
+ return range(firstPageIndex, itemCount);
172
+ else if (pageCount - currentPage <= siblingCount)
173
+ return range(pageCount - itemCount + 1, lastPageIndex);
174
+ else
175
+ return range(leftSiblingIndex, rightSiblingIndex);
176
+ }
177
+ }
178
+
179
+ class RdxPaginationListDirective {
180
+ constructor() {
181
+ this.rootContext = injectPaginationRootContext();
182
+ this.transformedRange = computed(() => {
183
+ return transform(getRange(this.rootContext.page(), this.rootContext.pageCount(), this.rootContext.siblingCount(), this.rootContext.showEdges()));
184
+ });
185
+ }
186
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
187
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxPaginationListDirective, isStandalone: true, selector: "[rdxPaginationList]", exportAs: ["rdxPaginationList"], ngImport: i0 }); }
188
+ }
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationListDirective, decorators: [{
190
+ type: Directive,
191
+ args: [{
192
+ selector: '[rdxPaginationList]',
193
+ exportAs: 'rdxPaginationList'
194
+ }]
195
+ }] });
196
+
197
+ // as Button
198
+ class RdxPaginationNextDirective {
199
+ constructor() {
200
+ this.rootContext = injectPaginationRootContext();
201
+ this.disabled = computed(() => this.rootContext.page() === this.rootContext.pageCount() || this.rootContext.disabled());
202
+ }
203
+ onClick() {
204
+ if (!this.disabled()) {
205
+ this.rootContext.onPageChange(this.rootContext.page() + 1);
206
+ }
207
+ }
208
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationNextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
209
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxPaginationNextDirective, isStandalone: true, selector: "[rdxPaginationNext]", host: { listeners: { "click": "onClick()" }, properties: { "attr.aria-label": "\"Next Page\"", "disabled": "disabled()" } }, ngImport: i0 }); }
210
+ }
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationNextDirective, decorators: [{
212
+ type: Directive,
213
+ args: [{
214
+ selector: '[rdxPaginationNext]',
215
+ host: {
216
+ '[attr.aria-label]': '"Next Page"',
217
+ '[disabled]': 'disabled()',
218
+ '(click)': 'onClick()'
219
+ }
220
+ }]
221
+ }] });
222
+
223
+ // as Button
224
+ class RdxPaginationPrevDirective {
225
+ constructor() {
226
+ this.rootContext = injectPaginationRootContext();
227
+ this.disabled = computed(() => this.rootContext.page() === 1 || this.rootContext.disabled());
228
+ }
229
+ onClick() {
230
+ if (!this.disabled()) {
231
+ this.rootContext.onPageChange(this.rootContext.page() - 1);
232
+ }
233
+ }
234
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationPrevDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
235
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: RdxPaginationPrevDirective, isStandalone: true, selector: "[rdxPaginationPrev]", host: { listeners: { "click": "onClick()" }, properties: { "attr.aria-label": "\"Previous Page\"", "disabled": "disabled()" } }, ngImport: i0 }); }
236
+ }
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationPrevDirective, decorators: [{
238
+ type: Directive,
239
+ args: [{
240
+ selector: '[rdxPaginationPrev]',
241
+ host: {
242
+ '[attr.aria-label]': '"Previous Page"',
243
+ '[disabled]': 'disabled()',
244
+ '(click)': 'onClick()'
245
+ }
246
+ }]
247
+ }] });
248
+
249
+ class RdxPaginationRootDirective {
250
+ constructor() {
251
+ this.defaultPage = input(1, { transform: numberAttribute });
252
+ this.page = model(this.defaultPage());
253
+ this.itemsPerPage = input(undefined, { transform: numberAttribute });
254
+ this.total = input(0, { transform: numberAttribute });
255
+ this.siblingCount = input(2, { transform: numberAttribute });
256
+ this.disabled = input(false, { transform: booleanAttribute });
257
+ this.showEdges = input(false, { transform: booleanAttribute });
258
+ this.updatePage = output();
259
+ /** @ignore */
260
+ this.pageCount = computed(() => Math.max(1, Math.ceil(this.total() / (this.itemsPerPage() || 1))));
261
+ }
262
+ /** @ignore */
263
+ onPageChange(value) {
264
+ if (!this.disabled()) {
265
+ this.page.set(value);
266
+ this.updatePage.emit(value);
267
+ }
268
+ }
269
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
270
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.6", type: RdxPaginationRootDirective, isStandalone: true, selector: "[rdxPaginationRoot]", inputs: { defaultPage: { classPropertyName: "defaultPage", publicName: "defaultPage", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, itemsPerPage: { classPropertyName: "itemsPerPage", publicName: "itemsPerPage", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null }, siblingCount: { classPropertyName: "siblingCount", publicName: "siblingCount", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showEdges: { classPropertyName: "showEdges", publicName: "showEdges", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { page: "pageChange", updatePage: "updatePage" }, providers: [
271
+ { provide: PAGINATION_ROOT_CONTEXT, useExisting: forwardRef(() => RdxPaginationRootDirective) }
272
+ ], exportAs: ["rdxPaginationRoot"], ngImport: i0 }); }
273
+ }
274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationRootDirective, decorators: [{
275
+ type: Directive,
276
+ args: [{
277
+ selector: '[rdxPaginationRoot]',
278
+ exportAs: 'rdxPaginationRoot',
279
+ providers: [
280
+ { provide: PAGINATION_ROOT_CONTEXT, useExisting: forwardRef(() => RdxPaginationRootDirective) }
281
+ ]
282
+ }]
283
+ }] });
284
+
285
+ const paginationImports = [
286
+ RdxPaginationRootDirective,
287
+ RdxPaginationListDirective,
288
+ RdxPaginationFirstDirective,
289
+ RdxPaginationPrevDirective,
290
+ RdxPaginationLastDirective,
291
+ RdxPaginationNextDirective,
292
+ RdxPaginationListItemDirective,
293
+ RdxPaginationEllipsisDirective
294
+ ];
295
+ class RdxPaginationModule {
296
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
297
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationModule, imports: [RdxPaginationRootDirective,
298
+ RdxPaginationListDirective,
299
+ RdxPaginationFirstDirective,
300
+ RdxPaginationPrevDirective,
301
+ RdxPaginationLastDirective,
302
+ RdxPaginationNextDirective,
303
+ RdxPaginationListItemDirective,
304
+ RdxPaginationEllipsisDirective], exports: [RdxPaginationRootDirective,
305
+ RdxPaginationListDirective,
306
+ RdxPaginationFirstDirective,
307
+ RdxPaginationPrevDirective,
308
+ RdxPaginationLastDirective,
309
+ RdxPaginationNextDirective,
310
+ RdxPaginationListItemDirective,
311
+ RdxPaginationEllipsisDirective] }); }
312
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationModule }); }
313
+ }
314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: RdxPaginationModule, decorators: [{
315
+ type: NgModule,
316
+ args: [{
317
+ imports: [...paginationImports],
318
+ exports: [...paginationImports]
319
+ }]
320
+ }] });
321
+
322
+ /**
323
+ * Generated bundle index. Do not edit.
324
+ */
325
+
326
+ export { PAGINATION_ROOT_CONTEXT, RdxPaginationEllipsisDirective, RdxPaginationFirstDirective, RdxPaginationLastDirective, RdxPaginationListDirective, RdxPaginationListItemDirective, RdxPaginationModule, RdxPaginationNextDirective, RdxPaginationPrevDirective, RdxPaginationRootDirective, injectPaginationRootContext };
327
+ //# sourceMappingURL=radix-ng-primitives-pagination.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radix-ng-primitives-pagination.mjs","sources":["../../../packages/primitives/pagination/src/pagination-ellipsis.directive.ts","../../../packages/primitives/pagination/src/pagination-context.token.ts","../../../packages/primitives/pagination/src/pagination-first.directive.ts","../../../packages/primitives/pagination/src/pagination-last.directive.ts","../../../packages/primitives/pagination/src/pagination-list-item.directive.ts","../../../packages/primitives/pagination/src/utils.ts","../../../packages/primitives/pagination/src/pagination-list.directive.ts","../../../packages/primitives/pagination/src/pagination-next.directive.ts","../../../packages/primitives/pagination/src/pagination-prev.directive.ts","../../../packages/primitives/pagination/src/pagination-root.directive.ts","../../../packages/primitives/pagination/index.ts","../../../packages/primitives/pagination/radix-ng-primitives-pagination.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxPaginationEllipsis]',\n host: {\n '[attr.data-type]': '\"ellipsis\"'\n }\n})\nexport class RdxPaginationEllipsisDirective {}\n","import { computed, inject, InjectionToken, model } from '@angular/core';\n\nexport interface PaginationRootContext {\n page: ReturnType<typeof model<number>>;\n onPageChange: (value: number) => void;\n pageCount: ReturnType<typeof computed<number>>;\n siblingCount: ReturnType<typeof computed<number>>;\n disabled: ReturnType<typeof computed<boolean>>;\n showEdges: ReturnType<typeof computed<boolean>>;\n}\n\nexport const PAGINATION_ROOT_CONTEXT = new InjectionToken<PaginationRootContext>('PaginationRootContext');\n\nexport function injectPaginationRootContext(): PaginationRootContext {\n return inject(PAGINATION_ROOT_CONTEXT);\n}\n","import { computed, Directive } from '@angular/core';\nimport { injectPaginationRootContext } from './pagination-context.token';\n\n// as Button\n@Directive({\n selector: '[rdxPaginationFirst]',\n host: {\n '[attr.aria-label]': '\"First Page\"',\n\n '[disabled]': 'disabled()',\n '(click)': 'onClick()'\n }\n})\nexport class RdxPaginationFirstDirective {\n private readonly rootContext = injectPaginationRootContext();\n\n readonly disabled = computed(() => this.rootContext.page() === 1 || this.rootContext.disabled());\n\n onClick() {\n if (!this.disabled()) {\n this.rootContext.onPageChange(1);\n }\n }\n}\n","import { computed, Directive } from '@angular/core';\nimport { injectPaginationRootContext } from './pagination-context.token';\n\n// as Button\n@Directive({\n selector: '[rdxPaginationLast]',\n host: {\n '[attr.aria-label]': '\"Last Page\"',\n\n '[disabled]': 'disabled()',\n '(click)': 'onClick()'\n }\n})\nexport class RdxPaginationLastDirective {\n private readonly rootContext = injectPaginationRootContext();\n\n readonly disabled = computed(\n () => this.rootContext.page() === this.rootContext.pageCount() || this.rootContext.disabled()\n );\n\n onClick() {\n if (!this.disabled()) {\n this.rootContext.onPageChange(this.rootContext.pageCount());\n }\n }\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { injectPaginationRootContext } from './pagination-context.token';\n\n// as Button\n@Directive({\n selector: '[rdxPaginationListItem]',\n host: {\n '[data-type]': '\"page\"',\n\n '[attr.aria-label]': '\"Page \" + value()',\n '[attr.aria-current]': 'isSelected() ? \"page\" : undefined',\n '[attr.data-selected]': 'isSelected() ? true : undefined',\n\n '[disabled]': 'disabled()',\n '(click)': 'onClick()'\n }\n})\nexport class RdxPaginationListItemDirective {\n private readonly rootContext = injectPaginationRootContext();\n\n readonly value = input<number>();\n\n readonly disabled = computed(() => this.rootContext.disabled());\n\n readonly isSelected = computed(() => this.rootContext.page() === this.value());\n\n onClick() {\n const pageValue = this.value();\n if (!this.disabled() && typeof pageValue === 'number') {\n this.rootContext.onPageChange(pageValue);\n }\n }\n}\n","// reference https://github.com/chakra-ui/zag/blob/main/packages/machines/pagination/src/pagination.utils.ts\n\ntype Pages = Array<{ type: 'ellipsis' } | { type: 'page'; value: number }>;\n\nfunction range(start: number, end: number) {\n const length = end - start + 1;\n return Array.from({ length }, (_, idx) => idx + start);\n}\n\nexport function transform(items: (string | number)[]): Pages {\n return items.map((value) => {\n if (typeof value === 'number') return { type: 'page', value };\n return { type: 'ellipsis' };\n });\n}\n\nconst ELLIPSIS = 'ellipsis';\n\nexport function getRange(currentPage: number, pageCount: number, siblingCount: number, showEdges: boolean) {\n const firstPageIndex = 1;\n const lastPageIndex = pageCount;\n\n const leftSiblingIndex = Math.max(currentPage - siblingCount, firstPageIndex);\n const rightSiblingIndex = Math.min(currentPage + siblingCount, lastPageIndex);\n\n if (showEdges) {\n /**\n * `2 * siblingCount + 5` explanation:\n * 2 * siblingCount for left/right siblings\n * 5 for 2x left/right ellipsis, 2x first/last page + 1x current page\n *\n * For some page counts (e.g. totalPages: 8, siblingCount: 2),\n * calculated max page is higher than total pages,\n * so we need to take the minimum of both.\n */\n const totalPageNumbers = Math.min(2 * siblingCount + 5, pageCount);\n\n const itemCount = totalPageNumbers - 2; // 2 stands for one ellipsis and either first or last page\n\n const showLeftEllipsis =\n // default condition\n leftSiblingIndex > firstPageIndex + 2 &&\n // if the current page is towards the end of the list\n Math.abs(lastPageIndex - itemCount - firstPageIndex + 1) > 2 &&\n // if the current page is towards the middle of the list\n Math.abs(leftSiblingIndex - firstPageIndex) > 2;\n\n const showRightEllipsis =\n // default condition\n rightSiblingIndex < lastPageIndex - 2 &&\n // if the current page is towards the start of the list\n Math.abs(lastPageIndex - itemCount) > 2 &&\n // if the current page is towards the middle of the list\n Math.abs(lastPageIndex - rightSiblingIndex) > 2;\n\n if (!showLeftEllipsis && showRightEllipsis) {\n const leftRange = range(1, itemCount);\n\n return [...leftRange, ELLIPSIS, lastPageIndex];\n }\n\n if (showLeftEllipsis && !showRightEllipsis) {\n const rightRange = range(lastPageIndex - itemCount + 1, lastPageIndex);\n\n return [firstPageIndex, ELLIPSIS, ...rightRange];\n }\n\n if (showLeftEllipsis && showRightEllipsis) {\n const middleRange = range(leftSiblingIndex, rightSiblingIndex);\n\n return [firstPageIndex, ELLIPSIS, ...middleRange, ELLIPSIS, lastPageIndex];\n }\n\n const fullRange = range(firstPageIndex, lastPageIndex);\n return fullRange;\n } else {\n const itemCount = siblingCount * 2 + 1;\n\n if (pageCount < itemCount) return range(1, lastPageIndex);\n else if (currentPage <= siblingCount + 1) return range(firstPageIndex, itemCount);\n else if (pageCount - currentPage <= siblingCount) return range(pageCount - itemCount + 1, lastPageIndex);\n else return range(leftSiblingIndex, rightSiblingIndex);\n }\n}\n","import { computed, Directive } from '@angular/core';\nimport { injectPaginationRootContext } from './pagination-context.token';\nimport { getRange, transform } from './utils';\n\n@Directive({\n selector: '[rdxPaginationList]',\n exportAs: 'rdxPaginationList'\n})\nexport class RdxPaginationListDirective {\n private readonly rootContext = injectPaginationRootContext();\n\n readonly transformedRange = computed(() => {\n return transform(\n getRange(\n this.rootContext.page(),\n this.rootContext.pageCount(),\n this.rootContext.siblingCount(),\n this.rootContext.showEdges()\n )\n );\n });\n}\n","import { computed, Directive } from '@angular/core';\nimport { injectPaginationRootContext } from './pagination-context.token';\n\n// as Button\n@Directive({\n selector: '[rdxPaginationNext]',\n host: {\n '[attr.aria-label]': '\"Next Page\"',\n\n '[disabled]': 'disabled()',\n '(click)': 'onClick()'\n }\n})\nexport class RdxPaginationNextDirective {\n private readonly rootContext = injectPaginationRootContext();\n\n readonly disabled = computed(\n () => this.rootContext.page() === this.rootContext.pageCount() || this.rootContext.disabled()\n );\n\n onClick() {\n if (!this.disabled()) {\n this.rootContext.onPageChange(this.rootContext.page() + 1);\n }\n }\n}\n","import { computed, Directive } from '@angular/core';\nimport { injectPaginationRootContext } from './pagination-context.token';\n\n// as Button\n@Directive({\n selector: '[rdxPaginationPrev]',\n host: {\n '[attr.aria-label]': '\"Previous Page\"',\n\n '[disabled]': 'disabled()',\n '(click)': 'onClick()'\n }\n})\nexport class RdxPaginationPrevDirective {\n private readonly rootContext = injectPaginationRootContext();\n\n readonly disabled = computed(() => this.rootContext.page() === 1 || this.rootContext.disabled());\n\n onClick() {\n if (!this.disabled()) {\n this.rootContext.onPageChange(this.rootContext.page() - 1);\n }\n }\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n computed,\n Directive,\n forwardRef,\n input,\n model,\n numberAttribute,\n output\n} from '@angular/core';\nimport { PAGINATION_ROOT_CONTEXT } from './pagination-context.token';\n\n@Directive({\n selector: '[rdxPaginationRoot]',\n exportAs: 'rdxPaginationRoot',\n providers: [\n { provide: PAGINATION_ROOT_CONTEXT, useExisting: forwardRef(() => RdxPaginationRootDirective) }]\n})\nexport class RdxPaginationRootDirective {\n readonly defaultPage = input<number, NumberInput>(1, { transform: numberAttribute });\n\n readonly page = model<number>(this.defaultPage());\n\n readonly itemsPerPage = input<number, NumberInput>(undefined, { transform: numberAttribute });\n\n readonly total = input<number, NumberInput>(0, { transform: numberAttribute });\n\n readonly siblingCount = input<number, NumberInput>(2, { transform: numberAttribute });\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n readonly showEdges = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n readonly updatePage = output<number>();\n\n /** @ignore */\n readonly pageCount = computed(() => Math.max(1, Math.ceil(this.total() / (this.itemsPerPage() || 1))));\n\n /** @ignore */\n onPageChange(value: number) {\n if (!this.disabled()) {\n this.page.set(value);\n this.updatePage.emit(value);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RdxPaginationEllipsisDirective } from './src/pagination-ellipsis.directive';\nimport { RdxPaginationFirstDirective } from './src/pagination-first.directive';\nimport { RdxPaginationLastDirective } from './src/pagination-last.directive';\nimport { RdxPaginationListItemDirective } from './src/pagination-list-item.directive';\nimport { RdxPaginationListDirective } from './src/pagination-list.directive';\nimport { RdxPaginationNextDirective } from './src/pagination-next.directive';\nimport { RdxPaginationPrevDirective } from './src/pagination-prev.directive';\nimport { RdxPaginationRootDirective } from './src/pagination-root.directive';\n\nexport * from './src/pagination-context.token';\nexport * from './src/pagination-ellipsis.directive';\nexport * from './src/pagination-first.directive';\nexport * from './src/pagination-last.directive';\nexport * from './src/pagination-list-item.directive';\nexport * from './src/pagination-list.directive';\nexport * from './src/pagination-next.directive';\nexport * from './src/pagination-prev.directive';\nexport * from './src/pagination-root.directive';\n\nconst paginationImports = [\n RdxPaginationRootDirective,\n RdxPaginationListDirective,\n RdxPaginationFirstDirective,\n RdxPaginationPrevDirective,\n RdxPaginationLastDirective,\n RdxPaginationNextDirective,\n RdxPaginationListItemDirective,\n RdxPaginationEllipsisDirective\n];\n\n@NgModule({\n imports: [...paginationImports],\n exports: [...paginationImports]\n})\nexport class RdxPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}