@radix-ng/primitives 0.30.0 → 0.31.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.
- package/config/index.d.ts +2 -0
- package/config/src/config.d.ts +21 -0
- package/config/src/config.provider.d.ts +10 -0
- package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +2 -1
- package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +2 -2
- package/fesm2022/radix-ng-primitives-config.mjs +54 -0
- package/fesm2022/radix-ng-primitives-config.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +6 -11
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-pagination.mjs +326 -0
- package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -0
- package/hover-card/src/hover-card-root.directive.d.ts +4 -4
- package/package.json +139 -7
- package/pagination/README.md +1 -0
- package/pagination/index.d.ts +23 -0
- package/pagination/src/pagination-context.token.d.ts +11 -0
- package/pagination/src/pagination-ellipsis.directive.d.ts +5 -0
- package/pagination/src/pagination-first.directive.d.ts +8 -0
- package/pagination/src/pagination-last.directive.d.ts +8 -0
- package/pagination/src/pagination-list-item.directive.d.ts +10 -0
- package/pagination/src/pagination-list.directive.d.ts +12 -0
- package/pagination/src/pagination-next.directive.d.ts +8 -0
- package/pagination/src/pagination-prev.directive.d.ts +8 -0
- package/pagination/src/pagination-root.directive.d.ts +18 -0
- package/pagination/src/utils.d.ts +9 -0
- package/popover/src/popover-root.directive.d.ts +4 -4
- package/tooltip/src/tooltip-root.directive.d.ts +4 -4
- package/LICENSE +0 -21
@@ -0,0 +1,21 @@
|
|
1
|
+
import { Direction } from '@angular/cdk/bidi';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export type RadixNGConfig = {
|
4
|
+
/**
|
5
|
+
* The global reading direction of your application. This will be inherited by all primitives.
|
6
|
+
* @defaultValue 'ltr'
|
7
|
+
*/
|
8
|
+
dir?: Direction;
|
9
|
+
/**
|
10
|
+
* The global locale of your application. This will be inherited by all primitives.
|
11
|
+
* @defaultValue 'en'
|
12
|
+
*/
|
13
|
+
locale?: string;
|
14
|
+
};
|
15
|
+
export declare class RadixNG {
|
16
|
+
readonly dir: import("@angular/core").WritableSignal<Direction>;
|
17
|
+
readonly locale: import("@angular/core").WritableSignal<string>;
|
18
|
+
setConfig(config: RadixNGConfig): void;
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RadixNG, never>;
|
20
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RadixNG>;
|
21
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { EnvironmentProviders, InjectionToken } from '@angular/core';
|
2
|
+
import { type RadixNGConfig } from './config';
|
3
|
+
export declare const RADIX_NG_CONFIG: InjectionToken<RadixNGConfig>;
|
4
|
+
/**
|
5
|
+
* Provides RadixNG configuration as environment providers.
|
6
|
+
*
|
7
|
+
* @param features One or more RadixNG configuration objects.
|
8
|
+
* @returns A set of environment providers that register the RadixNG configs.
|
9
|
+
*/
|
10
|
+
export declare function provideRadixNG(...features: RadixNGConfig[]): EnvironmentProviders;
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "@radix-ng/primitives/menu";
|
2
3
|
export declare class RdxDropdownMenuLabelDirective {
|
3
4
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdxDropdownMenuLabelDirective, never>;
|
4
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDropdownMenuLabelDirective, "[rdxDropdownMenuLabel]", never, {}, {}, never, never, true,
|
5
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDropdownMenuLabelDirective, "[rdxDropdownMenuLabel]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxMenuLabelDirective; inputs: {}; outputs: {}; }]>;
|
5
6
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import * as i0 from "@angular/core";
|
2
|
-
import * as i1 from "@radix-ng/primitives/
|
2
|
+
import * as i1 from "@radix-ng/primitives/menu";
|
3
3
|
export declare class RdxDropdownMenuSeparatorDirective {
|
4
4
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdxDropdownMenuSeparatorDirective, never>;
|
5
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDropdownMenuSeparatorDirective, "[rdxDropdownMenuSeparator]", never, {}, {}, never, never, true, [{ directive: typeof i1.
|
5
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDropdownMenuSeparatorDirective, "[rdxDropdownMenuSeparator]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxMenuSeparatorDirective; inputs: {}; outputs: {}; }]>;
|
6
6
|
}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import * as i0 from '@angular/core';
|
2
|
+
import { signal, Injectable, InjectionToken, provideAppInitializer, inject, makeEnvironmentProviders } from '@angular/core';
|
3
|
+
|
4
|
+
class RadixNG {
|
5
|
+
constructor() {
|
6
|
+
this.dir = signal('ltr');
|
7
|
+
this.locale = signal('en');
|
8
|
+
}
|
9
|
+
setConfig(config) {
|
10
|
+
const { dir, locale } = config || {};
|
11
|
+
if (dir)
|
12
|
+
this.dir.set(dir);
|
13
|
+
if (locale)
|
14
|
+
this.locale.set(locale);
|
15
|
+
}
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RadixNG, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
17
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RadixNG, providedIn: 'root' }); }
|
18
|
+
}
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RadixNG, decorators: [{
|
20
|
+
type: Injectable,
|
21
|
+
args: [{ providedIn: 'root' }]
|
22
|
+
}] });
|
23
|
+
|
24
|
+
const RADIX_NG_CONFIG = new InjectionToken('RADIX_NG_CONFIG');
|
25
|
+
/**
|
26
|
+
* Provides RadixNG configuration as environment providers.
|
27
|
+
*
|
28
|
+
* @param features One or more RadixNG configuration objects.
|
29
|
+
* @returns A set of environment providers that register the RadixNG configs.
|
30
|
+
*/
|
31
|
+
function provideRadixNG(...features) {
|
32
|
+
const providers = features?.map((feature) => ({
|
33
|
+
provide: RADIX_NG_CONFIG,
|
34
|
+
useValue: feature,
|
35
|
+
multi: false
|
36
|
+
}));
|
37
|
+
/**
|
38
|
+
* Creates an AppInitializer to load and apply each RadixNG configuration
|
39
|
+
* to the global RadixNG service before the app starts.
|
40
|
+
*/
|
41
|
+
const initializer = provideAppInitializer(() => {
|
42
|
+
const config = inject(RadixNG);
|
43
|
+
features?.forEach((feature) => config.setConfig(feature));
|
44
|
+
return;
|
45
|
+
});
|
46
|
+
return makeEnvironmentProviders([...providers, initializer]);
|
47
|
+
}
|
48
|
+
|
49
|
+
/**
|
50
|
+
* Generated bundle index. Do not edit.
|
51
|
+
*/
|
52
|
+
|
53
|
+
export { RADIX_NG_CONFIG, RadixNG, provideRadixNG };
|
54
|
+
//# sourceMappingURL=radix-ng-primitives-config.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"radix-ng-primitives-config.mjs","sources":["../../../packages/primitives/config/src/config.ts","../../../packages/primitives/config/src/config.provider.ts","../../../packages/primitives/config/radix-ng-primitives-config.ts"],"sourcesContent":["import { Direction } from '@angular/cdk/bidi';\nimport { Injectable, signal } from '@angular/core';\n\nexport type RadixNGConfig = {\n /**\n * The global reading direction of your application. This will be inherited by all primitives.\n * @defaultValue 'ltr'\n */\n dir?: Direction;\n\n /**\n * The global locale of your application. This will be inherited by all primitives.\n * @defaultValue 'en'\n */\n locale?: string;\n};\n\n@Injectable({ providedIn: 'root' })\nexport class RadixNG {\n readonly dir = signal<Direction>('ltr');\n\n readonly locale = signal<string>('en');\n\n setConfig(config: RadixNGConfig): void {\n const { dir, locale } = config || {};\n\n if (dir) this.dir.set(dir);\n if (locale) this.locale.set(locale);\n }\n}\n","import {\n EnvironmentProviders,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n provideAppInitializer\n} from '@angular/core';\nimport { RadixNG, type RadixNGConfig } from './config';\n\nexport const RADIX_NG_CONFIG = new InjectionToken<RadixNGConfig>('RADIX_NG_CONFIG');\n\n/**\n * Provides RadixNG configuration as environment providers.\n *\n * @param features One or more RadixNG configuration objects.\n * @returns A set of environment providers that register the RadixNG configs.\n */\nexport function provideRadixNG(...features: RadixNGConfig[]): EnvironmentProviders {\n const providers = features?.map((feature) => ({\n provide: RADIX_NG_CONFIG,\n useValue: feature,\n multi: false\n }));\n\n /**\n * Creates an AppInitializer to load and apply each RadixNG configuration\n * to the global RadixNG service before the app starts.\n */\n const initializer = provideAppInitializer(() => {\n const config = inject(RadixNG);\n features?.forEach((feature) => config.setConfig(feature));\n return;\n });\n\n return makeEnvironmentProviders([...providers, initializer]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAkBa,OAAO,CAAA;AADpB,IAAA,WAAA,GAAA;AAEa,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAY,KAAK,CAAC;AAE9B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAS,IAAI,CAAC;AAQzC;AANG,IAAA,SAAS,CAAC,MAAqB,EAAA;QAC3B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE;AAEpC,QAAA,IAAI,GAAG;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAC1B,QAAA,IAAI,MAAM;AAAE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;;8GAT9B,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,OAAO,cADM,MAAM,EAAA,CAAA,CAAA;;2FACnB,OAAO,EAAA,UAAA,EAAA,CAAA;kBADnB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCRrB,eAAe,GAAG,IAAI,cAAc,CAAgB,iBAAiB;AAElF;;;;;AAKG;AACa,SAAA,cAAc,CAAC,GAAG,QAAyB,EAAA;IACvD,MAAM,SAAS,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,MAAM;AAC1C,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,KAAK,EAAE;AACV,KAAA,CAAC,CAAC;AAEH;;;AAGG;AACH,IAAA,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAK;AAC3C,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;AAC9B,QAAA,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzD;AACJ,KAAC,CAAC;IAEF,OAAO,wBAAwB,CAAC,CAAC,GAAG,SAAS,EAAE,WAAW,CAAC,CAAC;AAChE;;ACnCA;;AAEG;;;;"}
|
@@ -4,8 +4,8 @@ import { CdkMenuTrigger, MENU_TRIGGER, PARENT_OR_NEW_MENU_STACK_PROVIDER, CdkMen
|
|
4
4
|
import { Subject, startWith, pairwise } from 'rxjs';
|
5
5
|
import { outputFromObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
6
6
|
import { UniqueSelectionDispatcher } from '@angular/cdk/collections';
|
7
|
-
import * as i1 from '@radix-ng/primitives/
|
8
|
-
import {
|
7
|
+
import * as i1 from '@radix-ng/primitives/menu';
|
8
|
+
import { RdxMenuLabelDirective, RdxMenuSeparatorDirective } from '@radix-ng/primitives/menu';
|
9
9
|
|
10
10
|
var DropdownSide;
|
11
11
|
(function (DropdownSide) {
|
@@ -507,30 +507,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
|
|
507
507
|
|
508
508
|
class RdxDropdownMenuLabelDirective {
|
509
509
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxDropdownMenuLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
510
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxDropdownMenuLabelDirective, isStandalone: true, selector: "[rdxDropdownMenuLabel]", ngImport: i0 }); }
|
510
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxDropdownMenuLabelDirective, isStandalone: true, selector: "[rdxDropdownMenuLabel]", hostDirectives: [{ directive: i1.RdxMenuLabelDirective }], ngImport: i0 }); }
|
511
511
|
}
|
512
512
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxDropdownMenuLabelDirective, decorators: [{
|
513
513
|
type: Directive,
|
514
514
|
args: [{
|
515
515
|
selector: '[rdxDropdownMenuLabel]',
|
516
|
-
|
516
|
+
hostDirectives: [RdxMenuLabelDirective]
|
517
517
|
}]
|
518
518
|
}] });
|
519
519
|
|
520
520
|
class RdxDropdownMenuSeparatorDirective {
|
521
521
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxDropdownMenuSeparatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
522
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxDropdownMenuSeparatorDirective, isStandalone: true, selector: "[rdxDropdownMenuSeparator]",
|
522
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxDropdownMenuSeparatorDirective, isStandalone: true, selector: "[rdxDropdownMenuSeparator]", hostDirectives: [{ directive: i1.RdxMenuSeparatorDirective }], ngImport: i0 }); }
|
523
523
|
}
|
524
524
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxDropdownMenuSeparatorDirective, decorators: [{
|
525
525
|
type: Directive,
|
526
526
|
args: [{
|
527
527
|
selector: '[rdxDropdownMenuSeparator]',
|
528
|
-
|
529
|
-
hostDirectives: [RdxSeparatorRootDirective],
|
530
|
-
host: {
|
531
|
-
role: 'separator',
|
532
|
-
'[attr.aria-orientation]': "'horizontal'"
|
533
|
-
}
|
528
|
+
hostDirectives: [RdxMenuSeparatorDirective]
|
534
529
|
}]
|
535
530
|
}] });
|
536
531
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"radix-ng-primitives-dropdown-menu.mjs","sources":["../../../packages/primitives/dropdown-menu/src/dropdown-menu-trigger.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-content.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-item.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-item-selectable.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-item-checkbox.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-item-indicator.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-item-radio-group.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-item-radio.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-label.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-separator.directive.ts","../../../packages/primitives/dropdown-menu/index.ts","../../../packages/primitives/dropdown-menu/radix-ng-primitives-dropdown-menu.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuTrigger, MENU_TRIGGER, PARENT_OR_NEW_MENU_STACK_PROVIDER } from '@angular/cdk/menu';\nimport { ConnectedPosition, OverlayRef, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { booleanAttribute, Directive, Input, input, numberAttribute, TemplateRef } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\n\nexport enum DropdownSide {\n Top = 'top',\n Right = 'right',\n Bottom = 'bottom',\n Left = 'left'\n}\n\nexport enum DropdownAlign {\n Start = 'start',\n Center = 'center',\n End = 'end'\n}\n\nexport const mapRdxAlignToCdkPosition = {\n start: 'top',\n center: 'center',\n end: 'bottom'\n};\n\nconst dropdownPositions: Record<DropdownSide, ConnectedPosition> = {\n top: {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: 0,\n offsetY: 0\n },\n right: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 0\n },\n bottom: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 0\n },\n left: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 0\n }\n};\n\n/**\n * @group Components\n */\n@Directive({\n selector: '[rdxDropdownMenuTrigger]',\n standalone: true,\n host: {\n type: 'button',\n '[attr.aria-haspopup]': \"'menu'\",\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.data-state]': \"isOpen() ? 'open': 'closed'\",\n '[attr.data-disabled]': \"disabled() ? '' : undefined\",\n '[disabled]': 'disabled()',\n\n '(pointerdown)': 'onPointerDown($event)'\n },\n providers: [\n { provide: CdkMenuTrigger, useExisting: RdxDropdownMenuTriggerDirective },\n { provide: MENU_TRIGGER, useExisting: CdkMenuTrigger },\n PARENT_OR_NEW_MENU_STACK_PROVIDER\n ]\n})\nexport class RdxDropdownMenuTriggerDirective extends CdkMenuTrigger {\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute\n });\n\n @Input()\n set rdxDropdownMenuTrigger(value: TemplateRef<unknown> | null) {\n this.menuTemplateRef = value;\n }\n\n /**\n * The preferred side of the trigger to render against when open.\n * Will be reversed when collisions occur and `avoidCollisions` is enabled.\n *\n * @group Props\n * @defaultValue 'bottom'\n */\n @Input()\n set side(value: DropdownSide) {\n if (!Object.values(DropdownSide).includes(value)) {\n throw new Error(`Unknown side: ${value}`);\n }\n\n this._side = value;\n\n this.menuPosition[0] = dropdownPositions[value];\n }\n\n get side(): DropdownSide {\n return this._side;\n }\n\n private _side: DropdownSide = DropdownSide.Bottom;\n\n /**\n * The preferred alignment against the trigger. May change when collisions occur.\n *\n * @group Props\n * @defaultValue 'center'\n */\n @Input()\n set align(value: DropdownAlign) {\n if (!Object.values(DropdownAlign).includes(value)) {\n throw new Error(`Unknown align: ${value}`);\n }\n\n this._align = value;\n\n if (this.isVertical) {\n this.defaultPosition.overlayX = this.defaultPosition.originX = value;\n } else {\n this.defaultPosition.overlayY = this.defaultPosition.originY = mapRdxAlignToCdkPosition[\n value\n ] as VerticalConnectionPos;\n }\n }\n\n get align() {\n return this._align;\n }\n\n private _align: DropdownAlign = DropdownAlign.Start;\n\n /**\n * The distance in pixels from the trigger.\n * @group Props\n * @defaultValue 0\n */\n @Input({ transform: numberAttribute })\n set sideOffset(value: number) {\n // todo need invert value for top and left\n if (this.isVertical) {\n this.defaultPosition.offsetY = value;\n } else {\n this.defaultPosition.offsetX = value;\n }\n }\n\n get sideOffset() {\n return this._sideOffset;\n }\n\n private _sideOffset: number = 0;\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options.\n * @group Props\n * @defaultValue 0\n */\n @Input({ transform: numberAttribute })\n set alignOffset(value: number) {\n // todo need invert value for top and left\n if (this.isVertical) {\n this.defaultPosition.offsetX = value;\n } else {\n this.defaultPosition.offsetY = value;\n }\n }\n\n get alignOffset(): number {\n return this._alignOffset;\n }\n\n private _alignOffset: number = 0;\n\n onOpenChange = outputFromObservable(this.opened);\n\n get isVertical(): boolean {\n return this._side === DropdownSide.Top || this._side === DropdownSide.Bottom;\n }\n\n get defaultPosition(): ConnectedPosition {\n return this.menuPosition[0];\n }\n\n constructor() {\n super();\n // todo priority\n this.menuPosition = [{ ...dropdownPositions[DropdownSide.Bottom] }];\n }\n\n onPointerDown($event: MouseEvent) {\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (!this.disabled() && $event.button === 0 && !$event.ctrlKey) {\n /* empty */\n if (!this.isOpen()) {\n // prevent trigger focusing when opening\n // this allows the content to be given focus without competition\n $event.preventDefault();\n }\n }\n }\n\n getOverlayRef(): OverlayRef | null {\n return this.overlayRef;\n }\n}\n","import { CdkMenu, CdkMenuItem } from '@angular/cdk/menu';\nimport { Directive, inject, Input } from '@angular/core';\nimport { pairwise, startWith, Subject } from 'rxjs';\nimport { RdxDropdownMenuItemDirective } from './dropdown-menu-item.directive';\nimport { RdxDropdownMenuTriggerDirective } from './dropdown-menu-trigger.directive';\n\n@Directive({\n selector: '[rdxDropdownMenuContent]',\n standalone: true,\n host: {\n '[attr.data-state]': \"menuTrigger.isOpen() ? 'open': 'closed'\",\n '[attr.data-align]': 'menuTrigger!.align',\n '[attr.data-side]': 'menuTrigger!.side',\n '[attr.data-orientation]': 'orientation'\n },\n providers: [\n {\n provide: CdkMenu,\n useExisting: RdxDropdownMenuContentDirective\n }\n ]\n})\nexport class RdxDropdownMenuContentDirective extends CdkMenu {\n readonly highlighted = new Subject<RdxDropdownMenuItemDirective>();\n readonly menuTrigger = inject(RdxDropdownMenuTriggerDirective, { optional: true });\n\n @Input() onEscapeKeyDown: (event?: Event) => void = () => undefined;\n @Input() closeOnEscape: boolean = true;\n\n constructor() {\n super();\n\n this.highlighted.pipe(startWith(null), pairwise()).subscribe(([prev, item]) => {\n if (prev) {\n prev.highlighted = false;\n }\n\n if (item) {\n item.highlighted = true;\n }\n });\n }\n\n updateActiveItem(item: CdkMenuItem) {\n this.keyManager.updateActiveItem(item);\n }\n}\n","import { CDK_MENU, CdkMenuItem } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, ElementRef, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { RdxDropdownMenuContentDirective } from './dropdown-menu-content.directive';\n\n@Directive({\n selector: '[rdxDropdownMenuItem]',\n standalone: true,\n host: {\n type: 'button',\n // todo horizontal ?\n '[attr.data-orientation]': '\"vertical\"',\n '[attr.data-highlighted]': 'highlighted ? \"\" : null',\n '[attr.data-disabled]': 'disabled ? \"\" : null',\n '[attr.disabled]': 'disabled ? \"\" : null',\n '(pointermove)': 'onPointerMove()',\n '(focus)': 'menu.highlighted.next(this)',\n '(keydown)': 'onKeydown($event)'\n },\n providers: [\n { provide: CdkMenuItem, useExisting: RdxDropdownMenuItemDirective },\n { provide: CDK_MENU, useExisting: RdxDropdownMenuContentDirective }\n ]\n})\nexport class RdxDropdownMenuItemDirective extends CdkMenuItem {\n protected readonly menu = inject(RdxDropdownMenuContentDirective);\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n\n highlighted = false;\n\n @Input({ transform: booleanAttribute }) override disabled: boolean = false;\n\n @Output() readonly onSelect = new EventEmitter<void>();\n\n constructor() {\n super();\n\n this.menu.highlighted.pipe(takeUntilDestroyed()).subscribe((value) => {\n if (value !== this) {\n this.highlighted = false;\n }\n });\n\n this.triggered.subscribe(this.onSelect);\n }\n\n protected onPointerMove() {\n if (!this.highlighted) {\n this.nativeElement.focus({ preventScroll: true });\n this.menu.updateActiveItem(this);\n }\n }\n\n protected onKeydown(event: KeyboardEvent) {\n if (this.nativeElement.tagName !== 'BUTTON' && ['Enter', ' '].includes(event.key)) {\n event.preventDefault();\n }\n\n if (event.key === 'Escape') {\n if (!this.menu.closeOnEscape) {\n event.stopPropagation();\n } else {\n this.menu.onEscapeKeyDown(event);\n }\n }\n }\n}\n","import { booleanAttribute, Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { RdxDropdownMenuItemDirective } from './dropdown-menu-item.directive';\n\n/** Base class providing checked state for selectable DropdownMenuItems. */\n@Directive({\n standalone: true,\n host: {\n '[attr.aria-checked]': '!!checked',\n '[attr.aria-disabled]': 'disabled || null',\n '[attr.data-state]': 'checked ? \"checked\" : \"unchecked\"'\n }\n})\nexport class RdxDropdownMenuSelectable extends RdxDropdownMenuItemDirective {\n /** Whether the element is checked */\n @Input({ transform: booleanAttribute }) checked: boolean = false;\n\n @Output() readonly checkedChange = new EventEmitter<boolean>();\n}\n","import { CDK_MENU, CdkMenuItem } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\nimport { RdxDropdownMenuContentDirective } from './dropdown-menu-content.directive';\nimport { RdxDropdownMenuSelectable } from './dropdown-menu-item-selectable';\nimport { RdxDropdownMenuItemDirective } from './dropdown-menu-item.directive';\n\n@Directive({\n selector: '[rdxDropdownMenuItemCheckbox]',\n standalone: true,\n host: {\n role: 'menuitemcheckbox'\n },\n providers: [\n { provide: RdxDropdownMenuSelectable, useExisting: RdxDropdownMenuItemCheckboxDirective },\n { provide: RdxDropdownMenuItemDirective, useExisting: RdxDropdownMenuSelectable },\n { provide: CdkMenuItem, useExisting: RdxDropdownMenuItemDirective },\n { provide: CDK_MENU, useExisting: RdxDropdownMenuContentDirective }\n ]\n})\nexport class RdxDropdownMenuItemCheckboxDirective extends RdxDropdownMenuSelectable {\n override trigger(options?: { keepOpen: boolean }) {\n if (!this.disabled) {\n this.checked = !this.checked;\n\n this.checkedChange.emit(this.checked);\n }\n\n super.trigger(options);\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { RdxDropdownMenuSelectable } from './dropdown-menu-item-selectable';\n\n@Directive({\n selector: '[rdxDropdownMenuItemIndicator]',\n standalone: true,\n host: {\n '[style.display]': \"item.checked ? 'block' : 'none'\",\n '[attr.data-state]': \"item.checked ? 'checked' : 'unchecked'\"\n }\n})\nexport class RdxDropdownMenuItemIndicatorDirective {\n item = inject(RdxDropdownMenuSelectable);\n}\n","import { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport { AfterContentInit, Directive, EventEmitter, inject, Input, Output } from '@angular/core';\n\n@Directive({\n selector: '[rdxDropdownMenuItemRadioGroup]',\n standalone: true,\n host: {\n role: 'group'\n },\n providers: [{ provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }]\n})\nexport class RdxDropdownMenuItemRadioGroupDirective<T> implements AfterContentInit {\n private readonly selectionDispatcher = inject(UniqueSelectionDispatcher);\n\n @Input()\n set value(id: T | null) {\n this._value = id;\n }\n\n get value(): T | null {\n return this._value;\n }\n\n private _value: T | null = null;\n\n @Output() readonly valueChange = new EventEmitter();\n\n ngAfterContentInit(): void {\n this.selectionDispatcher.notify(this.value as string, '');\n }\n}\n","import { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport { CDK_MENU, CdkMenuItem } from '@angular/cdk/menu';\nimport { AfterContentInit, Directive, inject, Input, OnDestroy } from '@angular/core';\nimport { RdxDropdownMenuContentDirective } from './dropdown-menu-content.directive';\nimport { RdxDropdownMenuItemRadioGroupDirective } from './dropdown-menu-item-radio-group.directive';\nimport { RdxDropdownMenuSelectable } from './dropdown-menu-item-selectable';\nimport { RdxDropdownMenuItemDirective } from './dropdown-menu-item.directive';\n\n/** Counter used to set a unique id and name for a selectable item */\nlet nextId = 0;\n\n@Directive({\n selector: '[rdxDropdownMenuItemRadio]',\n standalone: true,\n host: {\n role: 'menuitemradio'\n },\n providers: [\n { provide: RdxDropdownMenuSelectable, useExisting: RdxDropdownMenuItemRadioDirective },\n { provide: RdxDropdownMenuItemDirective, useExisting: RdxDropdownMenuSelectable },\n { provide: CdkMenuItem, useExisting: RdxDropdownMenuItemDirective },\n { provide: CDK_MENU, useExisting: RdxDropdownMenuContentDirective }\n ]\n})\nexport class RdxDropdownMenuItemRadioDirective\n extends RdxDropdownMenuSelectable\n implements AfterContentInit, OnDestroy\n{\n /** The unique selection dispatcher for this radio's `RdxDropdownMenuItemRadioGroupDirective`. */\n private readonly selectionDispatcher = inject(UniqueSelectionDispatcher);\n\n private readonly group = inject(RdxDropdownMenuItemRadioGroupDirective);\n\n @Input()\n get value() {\n return this._value || this.id;\n }\n\n set value(value: string) {\n this._value = value;\n }\n\n private _value: string | undefined;\n\n /** An ID to identify this radio item to the `UniqueSelectionDispatcher`. */\n private id = `${nextId++}`;\n\n private removeDispatcherListener!: () => void;\n\n constructor() {\n super();\n\n this.triggered.subscribe(() => {\n if (!this.disabled) {\n this.selectionDispatcher.notify(this.value, '');\n\n this.group.valueChange.emit(this.value);\n }\n });\n }\n\n ngAfterContentInit() {\n this.removeDispatcherListener = this.selectionDispatcher.listen((id: string) => {\n this.checked = this.value === id;\n });\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n this.removeDispatcherListener();\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxDropdownMenuLabel]',\n standalone: true\n})\nexport class RdxDropdownMenuLabelDirective {}\n","import { Directive } from '@angular/core';\nimport { RdxSeparatorRootDirective } from '@radix-ng/primitives/separator';\n\n@Directive({\n selector: '[rdxDropdownMenuSeparator]',\n standalone: true,\n hostDirectives: [RdxSeparatorRootDirective],\n host: {\n role: 'separator',\n '[attr.aria-orientation]': \"'horizontal'\"\n }\n})\nexport class RdxDropdownMenuSeparatorDirective {}\n","import { NgModule } from '@angular/core';\nimport { RdxDropdownMenuContentDirective } from './src/dropdown-menu-content.directive';\nimport { RdxDropdownMenuItemCheckboxDirective } from './src/dropdown-menu-item-checkbox.directive';\nimport { RdxDropdownMenuItemIndicatorDirective } from './src/dropdown-menu-item-indicator.directive';\nimport { RdxDropdownMenuItemRadioGroupDirective } from './src/dropdown-menu-item-radio-group.directive';\nimport { RdxDropdownMenuItemRadioDirective } from './src/dropdown-menu-item-radio.directive';\nimport { RdxDropdownMenuSelectable } from './src/dropdown-menu-item-selectable';\nimport { RdxDropdownMenuItemDirective } from './src/dropdown-menu-item.directive';\nimport { RdxDropdownMenuLabelDirective } from './src/dropdown-menu-label.directive';\nimport { RdxDropdownMenuSeparatorDirective } from './src/dropdown-menu-separator.directive';\nimport { RdxDropdownMenuTriggerDirective } from './src/dropdown-menu-trigger.directive';\n\nexport * from './src/dropdown-menu-content.directive';\nexport * from './src/dropdown-menu-item-checkbox.directive';\nexport * from './src/dropdown-menu-item-indicator.directive';\nexport * from './src/dropdown-menu-item-radio-group.directive';\nexport * from './src/dropdown-menu-item-radio.directive';\nexport * from './src/dropdown-menu-item-selectable';\nexport * from './src/dropdown-menu-item.directive';\nexport * from './src/dropdown-menu-label.directive';\nexport * from './src/dropdown-menu-separator.directive';\nexport * from './src/dropdown-menu-trigger.directive';\n\nconst _imports = [\n RdxDropdownMenuTriggerDirective,\n RdxDropdownMenuContentDirective,\n RdxDropdownMenuItemCheckboxDirective,\n RdxDropdownMenuItemIndicatorDirective,\n RdxDropdownMenuItemRadioGroupDirective,\n RdxDropdownMenuItemRadioDirective,\n RdxDropdownMenuSelectable,\n RdxDropdownMenuItemDirective,\n RdxDropdownMenuLabelDirective,\n RdxDropdownMenuSeparatorDirective,\n RdxDropdownMenuTriggerDirective\n];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class Rdx {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IAMY;AAAZ,CAAA,UAAY,YAAY,EAAA;AACpB,IAAA,YAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACjB,CAAC,EALW,YAAY,KAAZ,YAAY,GAKvB,EAAA,CAAA,CAAA;IAEW;AAAZ,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,aAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACf,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA;AAEY,MAAA,wBAAwB,GAAG;AACpC,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,GAAG,EAAE;;AAGT,MAAM,iBAAiB,GAA4C;AAC/D,IAAA,GAAG,EAAE;AACD,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,OAAO,EAAE;AACZ,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,OAAO,EAAE;AACZ,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,OAAO,EAAE;AACZ,KAAA;AACD,IAAA,IAAI,EAAE;AACF,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,OAAO,EAAE;AACZ;CACJ;AAED;;AAEG;AAoBG,MAAO,+BAAgC,SAAQ,cAAc,CAAA;IAK/D,IACI,sBAAsB,CAAC,KAAkC,EAAA;AACzD,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;;AAGhC;;;;;;AAMG;IACH,IACI,IAAI,CAAC,KAAmB,EAAA;AACxB,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC9C,YAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAA,CAAE,CAAC;;AAG7C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;QAElB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC;;AAGnD,IAAA,IAAI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,KAAK;;AAKrB;;;;;AAKG;IACH,IACI,KAAK,CAAC,KAAoB,EAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC/C,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAA,CAAE,CAAC;;AAG9C,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AAEnB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,KAAK;;aACjE;AACH,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,wBAAwB,CACnF,KAAK,CACiB;;;AAIlC,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM;;AAKtB;;;;AAIG;IACH,IACI,UAAU,CAAC,KAAa,EAAA;;AAExB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,KAAK;;aACjC;AACH,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,KAAK;;;AAI5C,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW;;AAK3B;;;;AAIG;IACH,IACI,WAAW,CAAC,KAAa,EAAA;;AAEzB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,KAAK;;aACjC;AACH,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,KAAK;;;AAI5C,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,YAAY;;AAO5B,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,MAAM;;AAGhF,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;;AAG/B,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AAnHF,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAwB,KAAK,EAAE;AACpD,YAAA,SAAS,EAAE;AACd,SAAA,CAAC;AA6BM,QAAA,IAAA,CAAA,KAAK,GAAiB,YAAY,CAAC,MAAM;AA6BzC,QAAA,IAAA,CAAA,MAAM,GAAkB,aAAa,CAAC,KAAK;QAqB3C,IAAW,CAAA,WAAA,GAAW,CAAC;QAqBvB,IAAY,CAAA,YAAA,GAAW,CAAC;AAEhC,QAAA,IAAA,CAAA,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;;AAa5C,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;;AAGvE,IAAA,aAAa,CAAC,MAAkB,EAAA;;;AAG5B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;;AAE5D,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;;;gBAGhB,MAAM,CAAC,cAAc,EAAE;;;;IAKnC,aAAa,GAAA;QACT,OAAO,IAAI,CAAC,UAAU;;8GAvIjB,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,EAoEpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,sBAAA,EAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,eAAe,EAqBf,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,eAAe,EA/FxB,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,6BAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,+BAA+B,EAAE;AACzE,YAAA,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE;YACtD;AACH,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAEQ,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAnB3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,sBAAsB,EAAE,QAAQ;AAChC,wBAAA,sBAAsB,EAAE,UAAU;AAClC,wBAAA,mBAAmB,EAAE,6BAA6B;AAClD,wBAAA,sBAAsB,EAAE,6BAA6B;AACrD,wBAAA,YAAY,EAAE,YAAY;AAE1B,wBAAA,eAAe,EAAE;AACpB,qBAAA;AACD,oBAAA,SAAS,EAAE;AACP,wBAAA,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,iCAAiC,EAAE;AACzE,wBAAA,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE;wBACtD;AACH;AACJ,iBAAA;wDAOO,sBAAsB,EAAA,CAAA;sBADzB;gBAaG,IAAI,EAAA,CAAA;sBADP;gBAwBG,KAAK,EAAA,CAAA;sBADR;gBA6BG,UAAU,EAAA,CAAA;sBADb,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAsBjC,WAAW,EAAA,CAAA;sBADd,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;;;ACrJnC,MAAO,+BAAgC,SAAQ,OAAO,CAAA;AAOxD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AAPF,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAgC;QACzD,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEzE,QAAA,IAAA,CAAA,eAAe,GAA4B,MAAM,SAAS;QAC1D,IAAa,CAAA,aAAA,GAAY,IAAI;QAKlC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI;YAC1E,IAAI,IAAI,EAAE;AACN,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;;YAG5B,IAAI,IAAI,EAAE;AACN,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI;;AAE/B,SAAC,CAAC;;AAGN,IAAA,gBAAgB,CAAC,IAAiB,EAAA;AAC9B,QAAA,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC;;8GAtBjC,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,EAP7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,yCAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,WAAW,EAAE;AAChB;AACJ,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAEQ,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAhB3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,mBAAmB,EAAE,yCAAyC;AAC9D,wBAAA,mBAAmB,EAAE,oBAAoB;AACzC,wBAAA,kBAAkB,EAAE,mBAAmB;AACvC,wBAAA,yBAAyB,EAAE;AAC9B,qBAAA;AACD,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,OAAO;AAChB,4BAAA,WAAW,EAAiC;AAC/C;AACJ;AACJ,iBAAA;wDAKY,eAAe,EAAA,CAAA;sBAAvB;gBACQ,aAAa,EAAA,CAAA;sBAArB;;;ACFC,MAAO,4BAA6B,SAAQ,WAAW,CAAA;AAUzD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AAVQ,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,+BAA+B,CAAC;AAC9C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa;QAEnE,IAAW,CAAA,WAAA,GAAG,KAAK;QAE8B,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEvD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAQ;AAKlD,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACjE,YAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAChB,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;;AAEhC,SAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;;IAGjC,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,YAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;;;AAI9B,IAAA,SAAS,CAAC,KAAoB,EAAA;QACpC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC/E,KAAK,CAAC,cAAc,EAAE;;AAG1B,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AACxB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC1B,KAAK,CAAC,eAAe,EAAE;;iBACpB;AACH,gBAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;;;;8GAtCnC,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAMjB,gBAAgB,CAXzB,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,6BAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,oBAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,4BAA4B,EAAE;AACnE,YAAA,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B;AACpE,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAEQ,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAnBxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,QAAQ;;AAEd,wBAAA,yBAAyB,EAAE,YAAY;AACvC,wBAAA,yBAAyB,EAAE,yBAAyB;AACpD,wBAAA,sBAAsB,EAAE,sBAAsB;AAC9C,wBAAA,iBAAiB,EAAE,sBAAsB;AACzC,wBAAA,eAAe,EAAE,iBAAiB;AAClC,wBAAA,SAAS,EAAE,6BAA6B;AACxC,wBAAA,WAAW,EAAE;AAChB,qBAAA;AACD,oBAAA,SAAS,EAAE;AACP,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,8BAA8B,EAAE;AACnE,wBAAA,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B;AACpE;AACJ,iBAAA;wDAOoD,QAAQ,EAAA,CAAA;sBAAxD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAEnB,QAAQ,EAAA,CAAA;sBAA1B;;;AC9BL;AASM,MAAO,yBAA0B,SAAQ,4BAA4B,CAAA;AAR3E,IAAA,WAAA,GAAA;;;QAU4C,IAAO,CAAA,OAAA,GAAY,KAAK;AAE7C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAW;AACjE;8GALY,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,gEAEd,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,uCAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAF3B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBARrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,qBAAqB,EAAE,WAAW;AAClC,wBAAA,sBAAsB,EAAE,kBAAkB;AAC1C,wBAAA,mBAAmB,EAAE;AACxB;AACJ,iBAAA;8BAG2C,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAEnB,aAAa,EAAA,CAAA;sBAA/B;;;ACGC,MAAO,oCAAqC,SAAQ,yBAAyB,CAAA;AACtE,IAAA,OAAO,CAAC,OAA+B,EAAA;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;YAE5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;;AAGzC,QAAA,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;;8GARjB,oCAAoC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oCAAoC,EAPlC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,oCAAoC,EAAE;AACzF,YAAA,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,yBAAyB,EAAE;AACjF,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,4BAA4B,EAAE;AACnE,YAAA,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B;AACpE,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAEQ,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAbhD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE;AACT,qBAAA;AACD,oBAAA,SAAS,EAAE;AACP,wBAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,sCAAsC,EAAE;AACzF,wBAAA,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,yBAAyB,EAAE;AACjF,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,4BAA4B,EAAE;AACnE,wBAAA,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B;AACpE;AACJ,iBAAA;;;MCPY,qCAAqC,CAAA;AARlD,IAAA,WAAA,GAAA;AASI,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAC3C;8GAFY,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArC,qCAAqC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,iCAAA,EAAA,iBAAA,EAAA,wCAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArC,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBARjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,iBAAiB,EAAE,iCAAiC;AACpD,wBAAA,mBAAmB,EAAE;AACxB;AACJ,iBAAA;;;MCCY,sCAAsC,CAAA;AARnD,IAAA,WAAA,GAAA;AASqB,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,yBAAyB,CAAC;QAWhE,IAAM,CAAA,MAAA,GAAa,IAAI;AAEZ,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAE;AAKtD;IAhBG,IACI,KAAK,CAAC,EAAY,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;;AAGpB,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM;;IAOtB,kBAAkB,GAAA;QACd,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAe,EAAE,EAAE,CAAC;;8GAjBpD,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtC,sCAAsC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,OAAA,EAAA,EAAA,EAAA,SAAA,EAFpC,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAE/E,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBARlD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE;AACT,qBAAA;oBACD,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,yBAAyB,EAAE;AAC1F,iBAAA;8BAKO,KAAK,EAAA,CAAA;sBADR;gBAWkB,WAAW,EAAA,CAAA;sBAA7B;;;ACjBL;AACA,IAAI,MAAM,GAAG,CAAC;AAeR,MAAO,iCACT,SAAQ,yBAAyB,CAAA;AAQjC,IAAA,IACI,KAAK,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;;IAGjC,IAAI,KAAK,CAAC,KAAa,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;;AAUvB,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;;AArBM,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAEvD,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,sCAAsC,CAAC;;AAc/D,QAAA,IAAA,CAAA,EAAE,GAAG,CAAA,EAAG,MAAM,EAAE,EAAE;AAOtB,QAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAK;AAC1B,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBAE/C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;AAE/C,SAAC,CAAC;;IAGN,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAU,KAAI;YAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE;AACpC,SAAC,CAAC;;IAGG,WAAW,GAAA;QAChB,KAAK,CAAC,WAAW,EAAE;QACnB,IAAI,CAAC,wBAAwB,EAAE;;8GA7C1B,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,EAP/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,iCAAiC,EAAE;AACtF,YAAA,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,yBAAyB,EAAE;AACjF,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,4BAA4B,EAAE;AACnE,YAAA,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B;AACpE,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAEQ,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAb7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE;AACT,qBAAA;AACD,oBAAA,SAAS,EAAE;AACP,wBAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,mCAAmC,EAAE;AACtF,wBAAA,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,yBAAyB,EAAE;AACjF,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,4BAA4B,EAAE;AACnE,wBAAA,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B;AACpE;AACJ,iBAAA;wDAWO,KAAK,EAAA,CAAA;sBADR;;;MC3BQ,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCOY,iCAAiC,CAAA;8GAAjC,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,WAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAT7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,yBAAyB,CAAC;AAC3C,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,yBAAyB,EAAE;AAC9B;AACJ,iBAAA;;;ACYD,MAAM,QAAQ,GAAG;IACb,+BAA+B;IAC/B,+BAA+B;IAC/B,oCAAoC;IACpC,qCAAqC;IACrC,sCAAsC;IACtC,iCAAiC;IACjC,yBAAyB;IACzB,4BAA4B;IAC5B,6BAA6B;IAC7B,iCAAiC;IACjC;CACH;MAMY,GAAG,CAAA;8GAAH,GAAG,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAH,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,GAAG,YAjBZ,+BAA+B;YAC/B,+BAA+B;YAC/B,oCAAoC;YACpC,qCAAqC;YACrC,sCAAsC;YACtC,iCAAiC;YACjC,yBAAyB;YACzB,4BAA4B;YAC5B,6BAA6B;YAC7B,iCAAiC;AACjC,YAAA,+BAA+B,aAV/B,+BAA+B;YAC/B,+BAA+B;YAC/B,oCAAoC;YACpC,qCAAqC;YACrC,sCAAsC;YACtC,iCAAiC;YACjC,yBAAyB;YACzB,4BAA4B;YAC5B,6BAA6B;YAC7B,iCAAiC;YACjC,+BAA+B,CAAA,EAAA,CAAA,CAAA;+GAOtB,GAAG,EAAA,CAAA,CAAA;;2FAAH,GAAG,EAAA,UAAA,EAAA,CAAA;kBAJf,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC;AACtB,oBAAA,OAAO,EAAE,CAAC,GAAG,QAAQ;AACxB,iBAAA;;;ACxCD;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"radix-ng-primitives-dropdown-menu.mjs","sources":["../../../packages/primitives/dropdown-menu/src/dropdown-menu-trigger.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-content.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-item.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-item-selectable.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-item-checkbox.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-item-indicator.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-item-radio-group.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-item-radio.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-label.directive.ts","../../../packages/primitives/dropdown-menu/src/dropdown-menu-separator.directive.ts","../../../packages/primitives/dropdown-menu/index.ts","../../../packages/primitives/dropdown-menu/radix-ng-primitives-dropdown-menu.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuTrigger, MENU_TRIGGER, PARENT_OR_NEW_MENU_STACK_PROVIDER } from '@angular/cdk/menu';\nimport { ConnectedPosition, OverlayRef, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { booleanAttribute, Directive, Input, input, numberAttribute, TemplateRef } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\n\nexport enum DropdownSide {\n Top = 'top',\n Right = 'right',\n Bottom = 'bottom',\n Left = 'left'\n}\n\nexport enum DropdownAlign {\n Start = 'start',\n Center = 'center',\n End = 'end'\n}\n\nexport const mapRdxAlignToCdkPosition = {\n start: 'top',\n center: 'center',\n end: 'bottom'\n};\n\nconst dropdownPositions: Record<DropdownSide, ConnectedPosition> = {\n top: {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: 0,\n offsetY: 0\n },\n right: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 0\n },\n bottom: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 0\n },\n left: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 0\n }\n};\n\n/**\n * @group Components\n */\n@Directive({\n selector: '[rdxDropdownMenuTrigger]',\n standalone: true,\n host: {\n type: 'button',\n '[attr.aria-haspopup]': \"'menu'\",\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.data-state]': \"isOpen() ? 'open': 'closed'\",\n '[attr.data-disabled]': \"disabled() ? '' : undefined\",\n '[disabled]': 'disabled()',\n\n '(pointerdown)': 'onPointerDown($event)'\n },\n providers: [\n { provide: CdkMenuTrigger, useExisting: RdxDropdownMenuTriggerDirective },\n { provide: MENU_TRIGGER, useExisting: CdkMenuTrigger },\n PARENT_OR_NEW_MENU_STACK_PROVIDER\n ]\n})\nexport class RdxDropdownMenuTriggerDirective extends CdkMenuTrigger {\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute\n });\n\n @Input()\n set rdxDropdownMenuTrigger(value: TemplateRef<unknown> | null) {\n this.menuTemplateRef = value;\n }\n\n /**\n * The preferred side of the trigger to render against when open.\n * Will be reversed when collisions occur and `avoidCollisions` is enabled.\n *\n * @group Props\n * @defaultValue 'bottom'\n */\n @Input()\n set side(value: DropdownSide) {\n if (!Object.values(DropdownSide).includes(value)) {\n throw new Error(`Unknown side: ${value}`);\n }\n\n this._side = value;\n\n this.menuPosition[0] = dropdownPositions[value];\n }\n\n get side(): DropdownSide {\n return this._side;\n }\n\n private _side: DropdownSide = DropdownSide.Bottom;\n\n /**\n * The preferred alignment against the trigger. May change when collisions occur.\n *\n * @group Props\n * @defaultValue 'center'\n */\n @Input()\n set align(value: DropdownAlign) {\n if (!Object.values(DropdownAlign).includes(value)) {\n throw new Error(`Unknown align: ${value}`);\n }\n\n this._align = value;\n\n if (this.isVertical) {\n this.defaultPosition.overlayX = this.defaultPosition.originX = value;\n } else {\n this.defaultPosition.overlayY = this.defaultPosition.originY = mapRdxAlignToCdkPosition[\n value\n ] as VerticalConnectionPos;\n }\n }\n\n get align() {\n return this._align;\n }\n\n private _align: DropdownAlign = DropdownAlign.Start;\n\n /**\n * The distance in pixels from the trigger.\n * @group Props\n * @defaultValue 0\n */\n @Input({ transform: numberAttribute })\n set sideOffset(value: number) {\n // todo need invert value for top and left\n if (this.isVertical) {\n this.defaultPosition.offsetY = value;\n } else {\n this.defaultPosition.offsetX = value;\n }\n }\n\n get sideOffset() {\n return this._sideOffset;\n }\n\n private _sideOffset: number = 0;\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options.\n * @group Props\n * @defaultValue 0\n */\n @Input({ transform: numberAttribute })\n set alignOffset(value: number) {\n // todo need invert value for top and left\n if (this.isVertical) {\n this.defaultPosition.offsetX = value;\n } else {\n this.defaultPosition.offsetY = value;\n }\n }\n\n get alignOffset(): number {\n return this._alignOffset;\n }\n\n private _alignOffset: number = 0;\n\n onOpenChange = outputFromObservable(this.opened);\n\n get isVertical(): boolean {\n return this._side === DropdownSide.Top || this._side === DropdownSide.Bottom;\n }\n\n get defaultPosition(): ConnectedPosition {\n return this.menuPosition[0];\n }\n\n constructor() {\n super();\n // todo priority\n this.menuPosition = [{ ...dropdownPositions[DropdownSide.Bottom] }];\n }\n\n onPointerDown($event: MouseEvent) {\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (!this.disabled() && $event.button === 0 && !$event.ctrlKey) {\n /* empty */\n if (!this.isOpen()) {\n // prevent trigger focusing when opening\n // this allows the content to be given focus without competition\n $event.preventDefault();\n }\n }\n }\n\n getOverlayRef(): OverlayRef | null {\n return this.overlayRef;\n }\n}\n","import { CdkMenu, CdkMenuItem } from '@angular/cdk/menu';\nimport { Directive, inject, Input } from '@angular/core';\nimport { pairwise, startWith, Subject } from 'rxjs';\nimport { RdxDropdownMenuItemDirective } from './dropdown-menu-item.directive';\nimport { RdxDropdownMenuTriggerDirective } from './dropdown-menu-trigger.directive';\n\n@Directive({\n selector: '[rdxDropdownMenuContent]',\n standalone: true,\n host: {\n '[attr.data-state]': \"menuTrigger.isOpen() ? 'open': 'closed'\",\n '[attr.data-align]': 'menuTrigger!.align',\n '[attr.data-side]': 'menuTrigger!.side',\n '[attr.data-orientation]': 'orientation'\n },\n providers: [\n {\n provide: CdkMenu,\n useExisting: RdxDropdownMenuContentDirective\n }\n ]\n})\nexport class RdxDropdownMenuContentDirective extends CdkMenu {\n readonly highlighted = new Subject<RdxDropdownMenuItemDirective>();\n readonly menuTrigger = inject(RdxDropdownMenuTriggerDirective, { optional: true });\n\n @Input() onEscapeKeyDown: (event?: Event) => void = () => undefined;\n @Input() closeOnEscape: boolean = true;\n\n constructor() {\n super();\n\n this.highlighted.pipe(startWith(null), pairwise()).subscribe(([prev, item]) => {\n if (prev) {\n prev.highlighted = false;\n }\n\n if (item) {\n item.highlighted = true;\n }\n });\n }\n\n updateActiveItem(item: CdkMenuItem) {\n this.keyManager.updateActiveItem(item);\n }\n}\n","import { CDK_MENU, CdkMenuItem } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, ElementRef, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { RdxDropdownMenuContentDirective } from './dropdown-menu-content.directive';\n\n@Directive({\n selector: '[rdxDropdownMenuItem]',\n standalone: true,\n host: {\n type: 'button',\n // todo horizontal ?\n '[attr.data-orientation]': '\"vertical\"',\n '[attr.data-highlighted]': 'highlighted ? \"\" : null',\n '[attr.data-disabled]': 'disabled ? \"\" : null',\n '[attr.disabled]': 'disabled ? \"\" : null',\n '(pointermove)': 'onPointerMove()',\n '(focus)': 'menu.highlighted.next(this)',\n '(keydown)': 'onKeydown($event)'\n },\n providers: [\n { provide: CdkMenuItem, useExisting: RdxDropdownMenuItemDirective },\n { provide: CDK_MENU, useExisting: RdxDropdownMenuContentDirective }\n ]\n})\nexport class RdxDropdownMenuItemDirective extends CdkMenuItem {\n protected readonly menu = inject(RdxDropdownMenuContentDirective);\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n\n highlighted = false;\n\n @Input({ transform: booleanAttribute }) override disabled: boolean = false;\n\n @Output() readonly onSelect = new EventEmitter<void>();\n\n constructor() {\n super();\n\n this.menu.highlighted.pipe(takeUntilDestroyed()).subscribe((value) => {\n if (value !== this) {\n this.highlighted = false;\n }\n });\n\n this.triggered.subscribe(this.onSelect);\n }\n\n protected onPointerMove() {\n if (!this.highlighted) {\n this.nativeElement.focus({ preventScroll: true });\n this.menu.updateActiveItem(this);\n }\n }\n\n protected onKeydown(event: KeyboardEvent) {\n if (this.nativeElement.tagName !== 'BUTTON' && ['Enter', ' '].includes(event.key)) {\n event.preventDefault();\n }\n\n if (event.key === 'Escape') {\n if (!this.menu.closeOnEscape) {\n event.stopPropagation();\n } else {\n this.menu.onEscapeKeyDown(event);\n }\n }\n }\n}\n","import { booleanAttribute, Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { RdxDropdownMenuItemDirective } from './dropdown-menu-item.directive';\n\n/** Base class providing checked state for selectable DropdownMenuItems. */\n@Directive({\n standalone: true,\n host: {\n '[attr.aria-checked]': '!!checked',\n '[attr.aria-disabled]': 'disabled || null',\n '[attr.data-state]': 'checked ? \"checked\" : \"unchecked\"'\n }\n})\nexport class RdxDropdownMenuSelectable extends RdxDropdownMenuItemDirective {\n /** Whether the element is checked */\n @Input({ transform: booleanAttribute }) checked: boolean = false;\n\n @Output() readonly checkedChange = new EventEmitter<boolean>();\n}\n","import { CDK_MENU, CdkMenuItem } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\nimport { RdxDropdownMenuContentDirective } from './dropdown-menu-content.directive';\nimport { RdxDropdownMenuSelectable } from './dropdown-menu-item-selectable';\nimport { RdxDropdownMenuItemDirective } from './dropdown-menu-item.directive';\n\n@Directive({\n selector: '[rdxDropdownMenuItemCheckbox]',\n standalone: true,\n host: {\n role: 'menuitemcheckbox'\n },\n providers: [\n { provide: RdxDropdownMenuSelectable, useExisting: RdxDropdownMenuItemCheckboxDirective },\n { provide: RdxDropdownMenuItemDirective, useExisting: RdxDropdownMenuSelectable },\n { provide: CdkMenuItem, useExisting: RdxDropdownMenuItemDirective },\n { provide: CDK_MENU, useExisting: RdxDropdownMenuContentDirective }\n ]\n})\nexport class RdxDropdownMenuItemCheckboxDirective extends RdxDropdownMenuSelectable {\n override trigger(options?: { keepOpen: boolean }) {\n if (!this.disabled) {\n this.checked = !this.checked;\n\n this.checkedChange.emit(this.checked);\n }\n\n super.trigger(options);\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { RdxDropdownMenuSelectable } from './dropdown-menu-item-selectable';\n\n@Directive({\n selector: '[rdxDropdownMenuItemIndicator]',\n standalone: true,\n host: {\n '[style.display]': \"item.checked ? 'block' : 'none'\",\n '[attr.data-state]': \"item.checked ? 'checked' : 'unchecked'\"\n }\n})\nexport class RdxDropdownMenuItemIndicatorDirective {\n item = inject(RdxDropdownMenuSelectable);\n}\n","import { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport { AfterContentInit, Directive, EventEmitter, inject, Input, Output } from '@angular/core';\n\n@Directive({\n selector: '[rdxDropdownMenuItemRadioGroup]',\n standalone: true,\n host: {\n role: 'group'\n },\n providers: [{ provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }]\n})\nexport class RdxDropdownMenuItemRadioGroupDirective<T> implements AfterContentInit {\n private readonly selectionDispatcher = inject(UniqueSelectionDispatcher);\n\n @Input()\n set value(id: T | null) {\n this._value = id;\n }\n\n get value(): T | null {\n return this._value;\n }\n\n private _value: T | null = null;\n\n @Output() readonly valueChange = new EventEmitter();\n\n ngAfterContentInit(): void {\n this.selectionDispatcher.notify(this.value as string, '');\n }\n}\n","import { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport { CDK_MENU, CdkMenuItem } from '@angular/cdk/menu';\nimport { AfterContentInit, Directive, inject, Input, OnDestroy } from '@angular/core';\nimport { RdxDropdownMenuContentDirective } from './dropdown-menu-content.directive';\nimport { RdxDropdownMenuItemRadioGroupDirective } from './dropdown-menu-item-radio-group.directive';\nimport { RdxDropdownMenuSelectable } from './dropdown-menu-item-selectable';\nimport { RdxDropdownMenuItemDirective } from './dropdown-menu-item.directive';\n\n/** Counter used to set a unique id and name for a selectable item */\nlet nextId = 0;\n\n@Directive({\n selector: '[rdxDropdownMenuItemRadio]',\n standalone: true,\n host: {\n role: 'menuitemradio'\n },\n providers: [\n { provide: RdxDropdownMenuSelectable, useExisting: RdxDropdownMenuItemRadioDirective },\n { provide: RdxDropdownMenuItemDirective, useExisting: RdxDropdownMenuSelectable },\n { provide: CdkMenuItem, useExisting: RdxDropdownMenuItemDirective },\n { provide: CDK_MENU, useExisting: RdxDropdownMenuContentDirective }\n ]\n})\nexport class RdxDropdownMenuItemRadioDirective\n extends RdxDropdownMenuSelectable\n implements AfterContentInit, OnDestroy\n{\n /** The unique selection dispatcher for this radio's `RdxDropdownMenuItemRadioGroupDirective`. */\n private readonly selectionDispatcher = inject(UniqueSelectionDispatcher);\n\n private readonly group = inject(RdxDropdownMenuItemRadioGroupDirective);\n\n @Input()\n get value() {\n return this._value || this.id;\n }\n\n set value(value: string) {\n this._value = value;\n }\n\n private _value: string | undefined;\n\n /** An ID to identify this radio item to the `UniqueSelectionDispatcher`. */\n private id = `${nextId++}`;\n\n private removeDispatcherListener!: () => void;\n\n constructor() {\n super();\n\n this.triggered.subscribe(() => {\n if (!this.disabled) {\n this.selectionDispatcher.notify(this.value, '');\n\n this.group.valueChange.emit(this.value);\n }\n });\n }\n\n ngAfterContentInit() {\n this.removeDispatcherListener = this.selectionDispatcher.listen((id: string) => {\n this.checked = this.value === id;\n });\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n this.removeDispatcherListener();\n }\n}\n","import { Directive } from '@angular/core';\nimport { RdxMenuLabelDirective } from '@radix-ng/primitives/menu';\n\n@Directive({\n selector: '[rdxDropdownMenuLabel]',\n hostDirectives: [RdxMenuLabelDirective]\n})\nexport class RdxDropdownMenuLabelDirective {}\n","import { Directive } from '@angular/core';\nimport { RdxMenuSeparatorDirective } from '@radix-ng/primitives/menu';\n\n@Directive({\n selector: '[rdxDropdownMenuSeparator]',\n hostDirectives: [RdxMenuSeparatorDirective]\n})\nexport class RdxDropdownMenuSeparatorDirective {}\n","import { NgModule } from '@angular/core';\nimport { RdxDropdownMenuContentDirective } from './src/dropdown-menu-content.directive';\nimport { RdxDropdownMenuItemCheckboxDirective } from './src/dropdown-menu-item-checkbox.directive';\nimport { RdxDropdownMenuItemIndicatorDirective } from './src/dropdown-menu-item-indicator.directive';\nimport { RdxDropdownMenuItemRadioGroupDirective } from './src/dropdown-menu-item-radio-group.directive';\nimport { RdxDropdownMenuItemRadioDirective } from './src/dropdown-menu-item-radio.directive';\nimport { RdxDropdownMenuSelectable } from './src/dropdown-menu-item-selectable';\nimport { RdxDropdownMenuItemDirective } from './src/dropdown-menu-item.directive';\nimport { RdxDropdownMenuLabelDirective } from './src/dropdown-menu-label.directive';\nimport { RdxDropdownMenuSeparatorDirective } from './src/dropdown-menu-separator.directive';\nimport { RdxDropdownMenuTriggerDirective } from './src/dropdown-menu-trigger.directive';\n\nexport * from './src/dropdown-menu-content.directive';\nexport * from './src/dropdown-menu-item-checkbox.directive';\nexport * from './src/dropdown-menu-item-indicator.directive';\nexport * from './src/dropdown-menu-item-radio-group.directive';\nexport * from './src/dropdown-menu-item-radio.directive';\nexport * from './src/dropdown-menu-item-selectable';\nexport * from './src/dropdown-menu-item.directive';\nexport * from './src/dropdown-menu-label.directive';\nexport * from './src/dropdown-menu-separator.directive';\nexport * from './src/dropdown-menu-trigger.directive';\n\nconst _imports = [\n RdxDropdownMenuTriggerDirective,\n RdxDropdownMenuContentDirective,\n RdxDropdownMenuItemCheckboxDirective,\n RdxDropdownMenuItemIndicatorDirective,\n RdxDropdownMenuItemRadioGroupDirective,\n RdxDropdownMenuItemRadioDirective,\n RdxDropdownMenuSelectable,\n RdxDropdownMenuItemDirective,\n RdxDropdownMenuLabelDirective,\n RdxDropdownMenuSeparatorDirective,\n RdxDropdownMenuTriggerDirective\n];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class Rdx {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,326 @@
|
|
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.4", ngImport: i0, type: RdxPaginationEllipsisDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
6
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", 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.4", 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.4", ngImport: i0, type: RdxPaginationFirstDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
35
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", 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.4", 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.4", ngImport: i0, type: RdxPaginationLastDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
61
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", 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.4", 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.4", ngImport: i0, type: RdxPaginationListItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
90
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.4", 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.4", 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.4", ngImport: i0, type: RdxPaginationListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
187
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: RdxPaginationListDirective, isStandalone: true, selector: "[rdxPaginationList]", exportAs: ["rdxPaginationList"], ngImport: i0 }); }
|
188
|
+
}
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", 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.4", ngImport: i0, type: RdxPaginationNextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
209
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", 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.4", 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.4", ngImport: i0, type: RdxPaginationPrevDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
235
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", 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.4", 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.4", ngImport: i0, type: RdxPaginationRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
270
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.4", 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
|
+
], ngImport: i0 }); }
|
273
|
+
}
|
274
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxPaginationRootDirective, decorators: [{
|
275
|
+
type: Directive,
|
276
|
+
args: [{
|
277
|
+
selector: '[rdxPaginationRoot]',
|
278
|
+
providers: [
|
279
|
+
{ provide: PAGINATION_ROOT_CONTEXT, useExisting: forwardRef(() => RdxPaginationRootDirective) }
|
280
|
+
]
|
281
|
+
}]
|
282
|
+
}] });
|
283
|
+
|
284
|
+
const paginationImports = [
|
285
|
+
RdxPaginationRootDirective,
|
286
|
+
RdxPaginationListDirective,
|
287
|
+
RdxPaginationFirstDirective,
|
288
|
+
RdxPaginationPrevDirective,
|
289
|
+
RdxPaginationLastDirective,
|
290
|
+
RdxPaginationNextDirective,
|
291
|
+
RdxPaginationListItemDirective,
|
292
|
+
RdxPaginationEllipsisDirective
|
293
|
+
];
|
294
|
+
class RdxPaginationModule {
|
295
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
296
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.4", ngImport: i0, type: RdxPaginationModule, imports: [RdxPaginationRootDirective,
|
297
|
+
RdxPaginationListDirective,
|
298
|
+
RdxPaginationFirstDirective,
|
299
|
+
RdxPaginationPrevDirective,
|
300
|
+
RdxPaginationLastDirective,
|
301
|
+
RdxPaginationNextDirective,
|
302
|
+
RdxPaginationListItemDirective,
|
303
|
+
RdxPaginationEllipsisDirective], exports: [RdxPaginationRootDirective,
|
304
|
+
RdxPaginationListDirective,
|
305
|
+
RdxPaginationFirstDirective,
|
306
|
+
RdxPaginationPrevDirective,
|
307
|
+
RdxPaginationLastDirective,
|
308
|
+
RdxPaginationNextDirective,
|
309
|
+
RdxPaginationListItemDirective,
|
310
|
+
RdxPaginationEllipsisDirective] }); }
|
311
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxPaginationModule }); }
|
312
|
+
}
|
313
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RdxPaginationModule, decorators: [{
|
314
|
+
type: NgModule,
|
315
|
+
args: [{
|
316
|
+
imports: [...paginationImports],
|
317
|
+
exports: [...paginationImports]
|
318
|
+
}]
|
319
|
+
}] });
|
320
|
+
|
321
|
+
/**
|
322
|
+
* Generated bundle index. Do not edit.
|
323
|
+
*/
|
324
|
+
|
325
|
+
export { PAGINATION_ROOT_CONTEXT, RdxPaginationEllipsisDirective, RdxPaginationFirstDirective, RdxPaginationLastDirective, RdxPaginationListDirective, RdxPaginationListItemDirective, RdxPaginationModule, RdxPaginationNextDirective, RdxPaginationPrevDirective, RdxPaginationRootDirective, injectPaginationRootContext };
|
326
|
+
//# 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((): boolean => 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 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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"}
|
@@ -79,7 +79,7 @@ export declare class RdxHoverCardRootDirective {
|
|
79
79
|
window: Window & typeof globalThis;
|
80
80
|
primitiveConfigs?: import("./utils/types").PrimitiveConfigs;
|
81
81
|
onDestroyCallbacks: Set<() => void>;
|
82
|
-
"__#
|
82
|
+
"__#6088@#clickDomRootEventCallbacks": Set<(event: MouseEvent) => void>;
|
83
83
|
registerPrimitive<T extends object>(primitiveInstance: T): void;
|
84
84
|
deregisterPrimitive<T extends object>(primitiveInstance: T): void;
|
85
85
|
preventPrimitiveFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): void;
|
@@ -90,9 +90,9 @@ export declare class RdxHoverCardRootDirective {
|
|
90
90
|
primitivePreventedFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): boolean | undefined;
|
91
91
|
addClickDomRootEventCallback(callback: (event: MouseEvent) => void): void;
|
92
92
|
removeClickDomRootEventCallback(callback: (event: MouseEvent) => void): boolean;
|
93
|
-
"__#
|
94
|
-
"__#
|
95
|
-
"__#
|
93
|
+
"__#6088@#setPreventPrimitiveFromCdkEvent"<T extends object, R extends import("./utils/types").EventType, K extends import("./utils/types").PrimitiveConfig[`prevent${Capitalize<R>}`]>(primitiveInstance: T, eventType: R, value: K): void;
|
94
|
+
"__#6088@#registerOnDestroyCallbacks"(): void;
|
95
|
+
"__#6088@#listenToClickDomRootEvent"(): void;
|
96
96
|
} | null;
|
97
97
|
/** @ignore */
|
98
98
|
readonly destroyRef: DestroyRef;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@radix-ng/primitives",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.31.0",
|
4
4
|
"license": "MIT",
|
5
5
|
"publishConfig": {
|
6
6
|
"access": "public"
|
@@ -21,12 +21,144 @@
|
|
21
21
|
"@angular/core": "^19.1.0",
|
22
22
|
"@angular/cdk": "^19.1.0"
|
23
23
|
},
|
24
|
-
"devDependencies": {
|
25
|
-
"@angular-devkit/schematics": "^19.1.0"
|
26
|
-
},
|
27
24
|
"schematics": "./schematics/collection.json",
|
28
25
|
"sideEffects": false,
|
29
|
-
"
|
30
|
-
"
|
31
|
-
"
|
26
|
+
"module": "fesm2022/radix-ng-primitives.mjs",
|
27
|
+
"typings": "index.d.ts",
|
28
|
+
"exports": {
|
29
|
+
"./package.json": {
|
30
|
+
"default": "./package.json"
|
31
|
+
},
|
32
|
+
".": {
|
33
|
+
"types": "./index.d.ts",
|
34
|
+
"default": "./fesm2022/radix-ng-primitives.mjs"
|
35
|
+
},
|
36
|
+
"./accordion": {
|
37
|
+
"types": "./accordion/index.d.ts",
|
38
|
+
"default": "./fesm2022/radix-ng-primitives-accordion.mjs"
|
39
|
+
},
|
40
|
+
"./alert-dialog": {
|
41
|
+
"types": "./alert-dialog/index.d.ts",
|
42
|
+
"default": "./fesm2022/radix-ng-primitives-alert-dialog.mjs"
|
43
|
+
},
|
44
|
+
"./aspect-ratio": {
|
45
|
+
"types": "./aspect-ratio/index.d.ts",
|
46
|
+
"default": "./fesm2022/radix-ng-primitives-aspect-ratio.mjs"
|
47
|
+
},
|
48
|
+
"./avatar": {
|
49
|
+
"types": "./avatar/index.d.ts",
|
50
|
+
"default": "./fesm2022/radix-ng-primitives-avatar.mjs"
|
51
|
+
},
|
52
|
+
"./collapsible": {
|
53
|
+
"types": "./collapsible/index.d.ts",
|
54
|
+
"default": "./fesm2022/radix-ng-primitives-collapsible.mjs"
|
55
|
+
},
|
56
|
+
"./config": {
|
57
|
+
"types": "./config/index.d.ts",
|
58
|
+
"default": "./fesm2022/radix-ng-primitives-config.mjs"
|
59
|
+
},
|
60
|
+
"./checkbox": {
|
61
|
+
"types": "./checkbox/index.d.ts",
|
62
|
+
"default": "./fesm2022/radix-ng-primitives-checkbox.mjs"
|
63
|
+
},
|
64
|
+
"./context-menu": {
|
65
|
+
"types": "./context-menu/index.d.ts",
|
66
|
+
"default": "./fesm2022/radix-ng-primitives-context-menu.mjs"
|
67
|
+
},
|
68
|
+
"./core": {
|
69
|
+
"types": "./core/index.d.ts",
|
70
|
+
"default": "./fesm2022/radix-ng-primitives-core.mjs"
|
71
|
+
},
|
72
|
+
"./dialog": {
|
73
|
+
"types": "./dialog/index.d.ts",
|
74
|
+
"default": "./fesm2022/radix-ng-primitives-dialog.mjs"
|
75
|
+
},
|
76
|
+
"./dropdown-menu": {
|
77
|
+
"types": "./dropdown-menu/index.d.ts",
|
78
|
+
"default": "./fesm2022/radix-ng-primitives-dropdown-menu.mjs"
|
79
|
+
},
|
80
|
+
"./hover-card": {
|
81
|
+
"types": "./hover-card/index.d.ts",
|
82
|
+
"default": "./fesm2022/radix-ng-primitives-hover-card.mjs"
|
83
|
+
},
|
84
|
+
"./label": {
|
85
|
+
"types": "./label/index.d.ts",
|
86
|
+
"default": "./fesm2022/radix-ng-primitives-label.mjs"
|
87
|
+
},
|
88
|
+
"./menu": {
|
89
|
+
"types": "./menu/index.d.ts",
|
90
|
+
"default": "./fesm2022/radix-ng-primitives-menu.mjs"
|
91
|
+
},
|
92
|
+
"./menubar": {
|
93
|
+
"types": "./menubar/index.d.ts",
|
94
|
+
"default": "./fesm2022/radix-ng-primitives-menubar.mjs"
|
95
|
+
},
|
96
|
+
"./pagination": {
|
97
|
+
"types": "./pagination/index.d.ts",
|
98
|
+
"default": "./fesm2022/radix-ng-primitives-pagination.mjs"
|
99
|
+
},
|
100
|
+
"./popover": {
|
101
|
+
"types": "./popover/index.d.ts",
|
102
|
+
"default": "./fesm2022/radix-ng-primitives-popover.mjs"
|
103
|
+
},
|
104
|
+
"./presence": {
|
105
|
+
"types": "./presence/index.d.ts",
|
106
|
+
"default": "./fesm2022/radix-ng-primitives-presence.mjs"
|
107
|
+
},
|
108
|
+
"./progress": {
|
109
|
+
"types": "./progress/index.d.ts",
|
110
|
+
"default": "./fesm2022/radix-ng-primitives-progress.mjs"
|
111
|
+
},
|
112
|
+
"./radio": {
|
113
|
+
"types": "./radio/index.d.ts",
|
114
|
+
"default": "./fesm2022/radix-ng-primitives-radio.mjs"
|
115
|
+
},
|
116
|
+
"./roving-focus": {
|
117
|
+
"types": "./roving-focus/index.d.ts",
|
118
|
+
"default": "./fesm2022/radix-ng-primitives-roving-focus.mjs"
|
119
|
+
},
|
120
|
+
"./select": {
|
121
|
+
"types": "./select/index.d.ts",
|
122
|
+
"default": "./fesm2022/radix-ng-primitives-select.mjs"
|
123
|
+
},
|
124
|
+
"./separator": {
|
125
|
+
"types": "./separator/index.d.ts",
|
126
|
+
"default": "./fesm2022/radix-ng-primitives-separator.mjs"
|
127
|
+
},
|
128
|
+
"./slider": {
|
129
|
+
"types": "./slider/index.d.ts",
|
130
|
+
"default": "./fesm2022/radix-ng-primitives-slider.mjs"
|
131
|
+
},
|
132
|
+
"./switch": {
|
133
|
+
"types": "./switch/index.d.ts",
|
134
|
+
"default": "./fesm2022/radix-ng-primitives-switch.mjs"
|
135
|
+
},
|
136
|
+
"./tabs": {
|
137
|
+
"types": "./tabs/index.d.ts",
|
138
|
+
"default": "./fesm2022/radix-ng-primitives-tabs.mjs"
|
139
|
+
},
|
140
|
+
"./toggle": {
|
141
|
+
"types": "./toggle/index.d.ts",
|
142
|
+
"default": "./fesm2022/radix-ng-primitives-toggle.mjs"
|
143
|
+
},
|
144
|
+
"./toggle-group": {
|
145
|
+
"types": "./toggle-group/index.d.ts",
|
146
|
+
"default": "./fesm2022/radix-ng-primitives-toggle-group.mjs"
|
147
|
+
},
|
148
|
+
"./toolbar": {
|
149
|
+
"types": "./toolbar/index.d.ts",
|
150
|
+
"default": "./fesm2022/radix-ng-primitives-toolbar.mjs"
|
151
|
+
},
|
152
|
+
"./tooltip": {
|
153
|
+
"types": "./tooltip/index.d.ts",
|
154
|
+
"default": "./fesm2022/radix-ng-primitives-tooltip.mjs"
|
155
|
+
},
|
156
|
+
"./visually-hidden": {
|
157
|
+
"types": "./visually-hidden/index.d.ts",
|
158
|
+
"default": "./fesm2022/radix-ng-primitives-visually-hidden.mjs"
|
159
|
+
}
|
160
|
+
},
|
161
|
+
"dependencies": {
|
162
|
+
"tslib": "^2.3.0"
|
163
|
+
}
|
32
164
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
# @radix-ng/primitives/pagination
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "./src/pagination-root.directive";
|
3
|
+
import * as i2 from "./src/pagination-list.directive";
|
4
|
+
import * as i3 from "./src/pagination-first.directive";
|
5
|
+
import * as i4 from "./src/pagination-prev.directive";
|
6
|
+
import * as i5 from "./src/pagination-last.directive";
|
7
|
+
import * as i6 from "./src/pagination-next.directive";
|
8
|
+
import * as i7 from "./src/pagination-list-item.directive";
|
9
|
+
import * as i8 from "./src/pagination-ellipsis.directive";
|
10
|
+
export * from './src/pagination-context.token';
|
11
|
+
export * from './src/pagination-ellipsis.directive';
|
12
|
+
export * from './src/pagination-first.directive';
|
13
|
+
export * from './src/pagination-last.directive';
|
14
|
+
export * from './src/pagination-list-item.directive';
|
15
|
+
export * from './src/pagination-list.directive';
|
16
|
+
export * from './src/pagination-next.directive';
|
17
|
+
export * from './src/pagination-prev.directive';
|
18
|
+
export * from './src/pagination-root.directive';
|
19
|
+
export declare class RdxPaginationModule {
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxPaginationModule, never>;
|
21
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<RdxPaginationModule, never, [typeof i1.RdxPaginationRootDirective, typeof i2.RdxPaginationListDirective, typeof i3.RdxPaginationFirstDirective, typeof i4.RdxPaginationPrevDirective, typeof i5.RdxPaginationLastDirective, typeof i6.RdxPaginationNextDirective, typeof i7.RdxPaginationListItemDirective, typeof i8.RdxPaginationEllipsisDirective], [typeof i1.RdxPaginationRootDirective, typeof i2.RdxPaginationListDirective, typeof i3.RdxPaginationFirstDirective, typeof i4.RdxPaginationPrevDirective, typeof i5.RdxPaginationLastDirective, typeof i6.RdxPaginationNextDirective, typeof i7.RdxPaginationListItemDirective, typeof i8.RdxPaginationEllipsisDirective]>;
|
22
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<RdxPaginationModule>;
|
23
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { computed, InjectionToken, model } from '@angular/core';
|
2
|
+
export interface PaginationRootContext {
|
3
|
+
page: ReturnType<typeof model<number>>;
|
4
|
+
onPageChange: (value: number) => void;
|
5
|
+
pageCount: ReturnType<typeof computed<number>>;
|
6
|
+
siblingCount: ReturnType<typeof computed<number>>;
|
7
|
+
disabled: ReturnType<typeof computed<boolean>>;
|
8
|
+
showEdges: ReturnType<typeof computed<boolean>>;
|
9
|
+
}
|
10
|
+
export declare const PAGINATION_ROOT_CONTEXT: InjectionToken<PaginationRootContext>;
|
11
|
+
export declare function injectPaginationRootContext(): PaginationRootContext;
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class RdxPaginationEllipsisDirective {
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxPaginationEllipsisDirective, never>;
|
4
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxPaginationEllipsisDirective, "[rdxPaginationEllipsis]", never, {}, {}, never, never, true, never>;
|
5
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class RdxPaginationFirstDirective {
|
3
|
+
private readonly rootContext;
|
4
|
+
readonly disabled: import("@angular/core").Signal<boolean>;
|
5
|
+
onClick(): void;
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxPaginationFirstDirective, never>;
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxPaginationFirstDirective, "[rdxPaginationFirst]", never, {}, {}, never, never, true, never>;
|
8
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class RdxPaginationLastDirective {
|
3
|
+
private readonly rootContext;
|
4
|
+
readonly disabled: import("@angular/core").Signal<boolean>;
|
5
|
+
onClick(): void;
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxPaginationLastDirective, never>;
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxPaginationLastDirective, "[rdxPaginationLast]", never, {}, {}, never, never, true, never>;
|
8
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class RdxPaginationListItemDirective {
|
3
|
+
private readonly rootContext;
|
4
|
+
readonly value: import("@angular/core").InputSignal<number | undefined>;
|
5
|
+
readonly disabled: import("@angular/core").Signal<boolean>;
|
6
|
+
readonly isSelected: import("@angular/core").Signal<boolean>;
|
7
|
+
onClick(): void;
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxPaginationListItemDirective, never>;
|
9
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxPaginationListItemDirective, "[rdxPaginationListItem]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
10
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class RdxPaginationListDirective {
|
3
|
+
private readonly rootContext;
|
4
|
+
readonly transformedRange: import("@angular/core").Signal<({
|
5
|
+
type: "ellipsis";
|
6
|
+
} | {
|
7
|
+
type: "page";
|
8
|
+
value: number;
|
9
|
+
})[]>;
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxPaginationListDirective, never>;
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxPaginationListDirective, "[rdxPaginationList]", ["rdxPaginationList"], {}, {}, never, never, true, never>;
|
12
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class RdxPaginationNextDirective {
|
3
|
+
private readonly rootContext;
|
4
|
+
readonly disabled: import("@angular/core").Signal<boolean>;
|
5
|
+
onClick(): void;
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxPaginationNextDirective, never>;
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxPaginationNextDirective, "[rdxPaginationNext]", never, {}, {}, never, never, true, never>;
|
8
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class RdxPaginationPrevDirective {
|
3
|
+
private readonly rootContext;
|
4
|
+
readonly disabled: import("@angular/core").Signal<boolean>;
|
5
|
+
onClick(): void;
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxPaginationPrevDirective, never>;
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxPaginationPrevDirective, "[rdxPaginationPrev]", never, {}, {}, never, never, true, never>;
|
8
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class RdxPaginationRootDirective {
|
4
|
+
readonly defaultPage: import("@angular/core").InputSignalWithTransform<number, NumberInput>;
|
5
|
+
readonly page: import("@angular/core").ModelSignal<number>;
|
6
|
+
readonly itemsPerPage: import("@angular/core").InputSignalWithTransform<number | undefined, NumberInput>;
|
7
|
+
readonly total: import("@angular/core").InputSignalWithTransform<number, NumberInput>;
|
8
|
+
readonly siblingCount: import("@angular/core").InputSignalWithTransform<number, NumberInput>;
|
9
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
|
10
|
+
readonly showEdges: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
|
11
|
+
readonly updatePage: import("@angular/core").OutputEmitterRef<number>;
|
12
|
+
/** @ignore */
|
13
|
+
readonly pageCount: import("@angular/core").Signal<number>;
|
14
|
+
/** @ignore */
|
15
|
+
onPageChange(value: number): void;
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxPaginationRootDirective, never>;
|
17
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxPaginationRootDirective, "[rdxPaginationRoot]", never, { "defaultPage": { "alias": "defaultPage"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "itemsPerPage": { "alias": "itemsPerPage"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": false; "isSignal": true; }; "siblingCount": { "alias": "siblingCount"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showEdges": { "alias": "showEdges"; "required": false; "isSignal": true; }; }, { "page": "pageChange"; "updatePage": "updatePage"; }, never, never, true, never>;
|
18
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
type Pages = Array<{
|
2
|
+
type: 'ellipsis';
|
3
|
+
} | {
|
4
|
+
type: 'page';
|
5
|
+
value: number;
|
6
|
+
}>;
|
7
|
+
export declare function transform(items: (string | number)[]): Pages;
|
8
|
+
export declare function getRange(currentPage: number, pageCount: number, siblingCount: number, showEdges: boolean): (string | number)[];
|
9
|
+
export {};
|
@@ -70,7 +70,7 @@ export declare class RdxPopoverRootDirective {
|
|
70
70
|
window: Window & typeof globalThis;
|
71
71
|
primitiveConfigs?: import("./utils/types").PrimitiveConfigs;
|
72
72
|
onDestroyCallbacks: Set<() => void>;
|
73
|
-
"__#
|
73
|
+
"__#7794@#clickDomRootEventCallbacks": Set<(event: MouseEvent) => void>;
|
74
74
|
registerPrimitive<T extends object>(primitiveInstance: T): void;
|
75
75
|
deregisterPrimitive<T extends object>(primitiveInstance: T): void;
|
76
76
|
preventPrimitiveFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): void;
|
@@ -81,9 +81,9 @@ export declare class RdxPopoverRootDirective {
|
|
81
81
|
primitivePreventedFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): boolean | undefined;
|
82
82
|
addClickDomRootEventCallback(callback: (event: MouseEvent) => void): void;
|
83
83
|
removeClickDomRootEventCallback(callback: (event: MouseEvent) => void): boolean;
|
84
|
-
"__#
|
85
|
-
"__#
|
86
|
-
"__#
|
84
|
+
"__#7794@#setPreventPrimitiveFromCdkEvent"<T extends object, R extends import("./utils/types").EventType, K extends import("./utils/types").PrimitiveConfig[`prevent${Capitalize<R>}`]>(primitiveInstance: T, eventType: R, value: K): void;
|
85
|
+
"__#7794@#registerOnDestroyCallbacks"(): void;
|
86
|
+
"__#7794@#listenToClickDomRootEvent"(): void;
|
87
87
|
} | null;
|
88
88
|
/** @ignore */
|
89
89
|
readonly destroyRef: DestroyRef;
|
@@ -79,7 +79,7 @@ export declare class RdxTooltipRootDirective {
|
|
79
79
|
window: Window & typeof globalThis;
|
80
80
|
primitiveConfigs?: import("./utils/types").PrimitiveConfigs;
|
81
81
|
onDestroyCallbacks: Set<() => void>;
|
82
|
-
"__#
|
82
|
+
"__#11559@#clickDomRootEventCallbacks": Set<(event: MouseEvent) => void>;
|
83
83
|
registerPrimitive<T extends object>(primitiveInstance: T): void;
|
84
84
|
deregisterPrimitive<T extends object>(primitiveInstance: T): void;
|
85
85
|
preventPrimitiveFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): void;
|
@@ -90,9 +90,9 @@ export declare class RdxTooltipRootDirective {
|
|
90
90
|
primitivePreventedFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): boolean | undefined;
|
91
91
|
addClickDomRootEventCallback(callback: (event: MouseEvent) => void): void;
|
92
92
|
removeClickDomRootEventCallback(callback: (event: MouseEvent) => void): boolean;
|
93
|
-
"__#
|
94
|
-
"__#
|
95
|
-
"__#
|
93
|
+
"__#11559@#setPreventPrimitiveFromCdkEvent"<T extends object, R extends import("./utils/types").EventType, K extends import("./utils/types").PrimitiveConfig[`prevent${Capitalize<R>}`]>(primitiveInstance: T, eventType: R, value: K): void;
|
94
|
+
"__#11559@#registerOnDestroyCallbacks"(): void;
|
95
|
+
"__#11559@#listenToClickDomRootEvent"(): void;
|
96
96
|
} | null;
|
97
97
|
/** @ignore */
|
98
98
|
readonly destroyRef: DestroyRef;
|
package/LICENSE
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
MIT License
|
2
|
-
|
3
|
-
Copyright (c) 2024 radix-ng
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
13
|
-
copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
-
SOFTWARE.
|