@radix-ng/primitives 0.7.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/alert-dialog/src/alert-dialog-content.directive.d.ts +2 -1
  2. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +11 -3
  3. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +6 -1
  4. package/esm2022/menu/index.mjs +45 -0
  5. package/esm2022/menu/radix-ng-primitives-menu.mjs +5 -0
  6. package/esm2022/menu/src/menu-content.directive.mjs +17 -0
  7. package/esm2022/menu/src/menu-directive.mjs +18 -0
  8. package/esm2022/menu/src/menu-group.directive.mjs +20 -0
  9. package/esm2022/menu/src/menu-item.directive.mjs +36 -0
  10. package/esm2022/menu/src/menu-label.directive.mjs +14 -0
  11. package/esm2022/menu/src/menu-separator.directive.mjs +21 -0
  12. package/esm2022/menubar/index.mjs +60 -0
  13. package/esm2022/menubar/radix-ng-primitives-menubar.mjs +5 -0
  14. package/esm2022/menubar/src/menubar-content.directive.mjs +17 -0
  15. package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +34 -0
  16. package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +17 -0
  17. package/esm2022/menubar/src/menubar-item-radio.directive.mjs +35 -0
  18. package/esm2022/menubar/src/menubar-item.directive.mjs +20 -0
  19. package/esm2022/menubar/src/menubar-radio-group.directive.mjs +17 -0
  20. package/esm2022/menubar/src/menubar-root.directive.mjs +24 -0
  21. package/esm2022/menubar/src/menubar-separator.directive.mjs +17 -0
  22. package/esm2022/menubar/src/menubar-trigger.directive.mjs +45 -0
  23. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +15 -2
  24. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  25. package/fesm2022/radix-ng-primitives-menu.mjs +148 -0
  26. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -0
  27. package/fesm2022/radix-ng-primitives-menubar.mjs +245 -0
  28. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -0
  29. package/menu/index.d.ts +18 -0
  30. package/menu/src/menu-content.directive.d.ts +6 -0
  31. package/menu/src/menu-directive.d.ts +6 -0
  32. package/menu/src/menu-group.directive.d.ts +6 -0
  33. package/menu/src/menu-item.directive.d.ts +11 -0
  34. package/menu/src/menu-label.directive.d.ts +5 -0
  35. package/menu/src/menu-separator.directive.d.ts +6 -0
  36. package/menubar/README.md +1 -0
  37. package/menubar/index.d.ts +24 -0
  38. package/menubar/src/menubar-content.directive.d.ts +6 -0
  39. package/menubar/src/menubar-item-checkbox.directive.d.ts +14 -0
  40. package/menubar/src/menubar-item-indicator.directive.d.ts +5 -0
  41. package/menubar/src/menubar-item-radio.directive.d.ts +14 -0
  42. package/menubar/src/menubar-item.directive.d.ts +8 -0
  43. package/menubar/src/menubar-radio-group.directive.d.ts +6 -0
  44. package/menubar/src/menubar-root.directive.d.ts +7 -0
  45. package/menubar/src/menubar-separator.directive.d.ts +6 -0
  46. package/menubar/src/menubar-trigger.directive.d.ts +11 -0
  47. package/package.json +13 -1
@@ -0,0 +1,45 @@
1
+ import { CdkMenuTrigger } from '@angular/cdk/menu';
2
+ import { booleanAttribute, Directive, inject, input } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/cdk/menu";
5
+ export class RdxMenuBarTriggerDirective {
6
+ constructor() {
7
+ this.cdkTrigger = inject(CdkMenuTrigger, { host: true });
8
+ this.disabled = input(false, {
9
+ transform: booleanAttribute
10
+ });
11
+ }
12
+ onPointerDown($event) {
13
+ // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)
14
+ // but not when the control key is pressed (avoiding MacOS right click)
15
+ if (!this.disabled() && $event.button === 0 && !$event.ctrlKey) {
16
+ /* empty */
17
+ if (!this.cdkTrigger.isOpen()) {
18
+ // prevent trigger focusing when opening
19
+ // this allows the content to be given focus without competition
20
+ $event.preventDefault();
21
+ }
22
+ }
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuBarTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
25
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", type: RdxMenuBarTriggerDirective, isStandalone: true, selector: "[MenuBarTrigger]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "menuitem" }, listeners: { "pointerdown": "onPointerDown($event)" }, properties: { "attr.aria-haspopup": "'menu'", "attr.aria-expanded": "cdkTrigger.isOpen()", "attr.data-state": "cdkTrigger.isOpen() ? 'open': 'close'", "attr.data-disabled": "disabled() ? '' : undefined", "disabled": "disabled()" } }, hostDirectives: [{ directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "MenuBarTrigger"] }], ngImport: i0 }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuBarTriggerDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{
30
+ selector: '[MenuBarTrigger]',
31
+ standalone: true,
32
+ hostDirectives: [{ directive: CdkMenuTrigger, inputs: ['cdkMenuTriggerFor: MenuBarTrigger'] }],
33
+ host: {
34
+ type: 'button',
35
+ role: 'menuitem',
36
+ '[attr.aria-haspopup]': "'menu'",
37
+ '[attr.aria-expanded]': 'cdkTrigger.isOpen()',
38
+ '[attr.data-state]': "cdkTrigger.isOpen() ? 'open': 'close'",
39
+ '[attr.data-disabled]': "disabled() ? '' : undefined",
40
+ '[disabled]': 'disabled()',
41
+ '(pointerdown)': 'onPointerDown($event)'
42
+ }
43
+ }]
44
+ }] });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWJhci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvbWVudWJhci9zcmMvbWVudWJhci10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7QUFrQmxGLE1BQU0sT0FBTywwQkFBMEI7SUFoQnZDO1FBaUJ1QixlQUFVLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTlELGFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtZQUNwRCxTQUFTLEVBQUUsZ0JBQWdCO1NBQzlCLENBQUMsQ0FBQztLQWNOO0lBWkcsYUFBYSxDQUFDLE1BQWtCO1FBQzVCLDRGQUE0RjtRQUM1Rix1RUFBdUU7UUFDdkUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3RCxXQUFXO1lBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztnQkFDNUIsd0NBQXdDO2dCQUN4QyxnRUFBZ0U7Z0JBQ2hFLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7OEdBbEJRLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQWhCdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDLG1DQUFtQyxDQUFDLEVBQUUsQ0FBQztvQkFDOUYsSUFBSSxFQUFFO3dCQUNGLElBQUksRUFBRSxRQUFRO3dCQUNkLElBQUksRUFBRSxVQUFVO3dCQUNoQixzQkFBc0IsRUFBRSxRQUFRO3dCQUNoQyxzQkFBc0IsRUFBRSxxQkFBcUI7d0JBQzdDLG1CQUFtQixFQUFFLHVDQUF1Qzt3QkFDNUQsc0JBQXNCLEVBQUUsNkJBQTZCO3dCQUNyRCxZQUFZLEVBQUUsWUFBWTt3QkFFMUIsZUFBZSxFQUFFLHVCQUF1QjtxQkFDM0M7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ2RrTWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbWVudSc7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIGluamVjdCwgaW5wdXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW01lbnVCYXJUcmlnZ2VyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0RGlyZWN0aXZlczogW3sgZGlyZWN0aXZlOiBDZGtNZW51VHJpZ2dlciwgaW5wdXRzOiBbJ2Nka01lbnVUcmlnZ2VyRm9yOiBNZW51QmFyVHJpZ2dlciddIH1dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgIHJvbGU6ICdtZW51aXRlbScsXG4gICAgICAgICdbYXR0ci5hcmlhLWhhc3BvcHVwXSc6IFwiJ21lbnUnXCIsXG4gICAgICAgICdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6ICdjZGtUcmlnZ2VyLmlzT3BlbigpJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogXCJjZGtUcmlnZ2VyLmlzT3BlbigpID8gJ29wZW4nOiAnY2xvc2UnXCIsXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6IFwiZGlzYWJsZWQoKSA/ICcnIDogdW5kZWZpbmVkXCIsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuXG4gICAgICAgICcocG9pbnRlcmRvd24pJzogJ29uUG9pbnRlckRvd24oJGV2ZW50KSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeE1lbnVCYXJUcmlnZ2VyRGlyZWN0aXZlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2RrVHJpZ2dlciA9IGluamVjdChDZGtNZW51VHJpZ2dlciwgeyBob3N0OiB0cnVlIH0pO1xuXG4gICAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG4gICAgICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZVxuICAgIH0pO1xuXG4gICAgb25Qb2ludGVyRG93bigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgLy8gb25seSBjYWxsIGhhbmRsZXIgaWYgaXQncyB0aGUgbGVmdCBidXR0b24gKG1vdXNlZG93biBnZXRzIHRyaWdnZXJlZCBieSBhbGwgbW91c2UgYnV0dG9ucylcbiAgICAgICAgLy8gYnV0IG5vdCB3aGVuIHRoZSBjb250cm9sIGtleSBpcyBwcmVzc2VkIChhdm9pZGluZyBNYWNPUyByaWdodCBjbGljaylcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKCkgJiYgJGV2ZW50LmJ1dHRvbiA9PT0gMCAmJiAhJGV2ZW50LmN0cmxLZXkpIHtcbiAgICAgICAgICAgIC8qIGVtcHR5ICovXG4gICAgICAgICAgICBpZiAoIXRoaXMuY2RrVHJpZ2dlci5pc09wZW4oKSkge1xuICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgdHJpZ2dlciBmb2N1c2luZyB3aGVuIG9wZW5pbmdcbiAgICAgICAgICAgICAgICAvLyB0aGlzIGFsbG93cyB0aGUgY29udGVudCB0byBiZSBnaXZlbiBmb2N1cyB3aXRob3V0IGNvbXBldGl0aW9uXG4gICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -2,6 +2,8 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, inject, ViewContainerRef, Directive, Input, Renderer2, ElementRef } from '@angular/core';
3
3
  import * as i1 from '@angular/cdk/overlay';
4
4
  import { TemplatePortal } from '@angular/cdk/portal';
5
+ import * as i1$1 from '@angular/cdk/a11y';
6
+ import { CdkTrapFocus } from '@angular/cdk/a11y';
5
7
 
6
8
  class AlertDialogService {
7
9
  constructor(overlay) {
@@ -25,6 +27,11 @@ class AlertDialogService {
25
27
  });
26
28
  const templatePortal = new TemplatePortal(this.dialogContent.template, this.dialogContent.viewContainerRef);
27
29
  this.overlayRef.attach(templatePortal);
30
+ this.overlayRef.keydownEvents().subscribe((event) => {
31
+ if (event.key === 'Escape' || event.code === 'Escape') {
32
+ this.close();
33
+ }
34
+ });
28
35
  this.overlayRef.backdropClick().subscribe(() => this.close());
29
36
  }
30
37
  close() {
@@ -94,15 +101,21 @@ class AlertDialogContentDirective {
94
101
  this.renderer.setStyle(this.elementRef.nativeElement, 'maxWidth', value);
95
102
  }
96
103
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AlertDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
97
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: AlertDialogContentDirective, isStandalone: true, selector: "[rdxAlertDialogContent]", inputs: { maxWidth: "maxWidth" }, host: { properties: { "attr.data-state": "open" } }, ngImport: i0 }); }
104
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: AlertDialogContentDirective, isStandalone: true, selector: "[rdxAlertDialogContent]", inputs: { maxWidth: "maxWidth" }, host: { properties: { "attr.data-state": "open", "attr.cdkTrapFocusAutoCapture": "true" } }, hostDirectives: [{ directive: i1$1.CdkTrapFocus }], ngImport: i0 }); }
98
105
  }
99
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AlertDialogContentDirective, decorators: [{
100
107
  type: Directive,
101
108
  args: [{
102
109
  selector: '[rdxAlertDialogContent]',
110
+ hostDirectives: [
111
+ {
112
+ directive: CdkTrapFocus
113
+ }
114
+ ],
103
115
  standalone: true,
104
116
  host: {
105
- '[attr.data-state]': 'open'
117
+ '[attr.data-state]': 'open',
118
+ '[attr.cdkTrapFocusAutoCapture]': 'true'
106
119
  }
107
120
  }]
108
121
  }], propDecorators: { maxWidth: [{
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-alert-dialog.mjs","sources":["../../../packages/primitives/alert-dialog/src/alert-dialog.service.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-root.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-cancel.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-content.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-trigger.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-title.directive.ts","../../../packages/primitives/alert-dialog/radix-ng-primitives-alert-dialog.ts"],"sourcesContent":["import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Injectable, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertDialogService {\n private overlayRef: OverlayRef | null | undefined;\n private dialogContent:\n | {\n viewContainerRef: ViewContainerRef;\n template: TemplateRef<any>;\n }\n | undefined;\n\n constructor(private overlay: Overlay) {}\n\n setDialogContent(viewContainerRef: ViewContainerRef, template: TemplateRef<any>) {\n this.dialogContent = { viewContainerRef, template };\n }\n\n open() {\n if (!this.dialogContent) {\n throw new Error('Dialog content is not set');\n }\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-dark-backdrop',\n positionStrategy: this.overlay\n .position()\n .global()\n .centerHorizontally()\n .centerVertically()\n });\n\n const templatePortal = new TemplatePortal(\n this.dialogContent.template,\n this.dialogContent.viewContainerRef\n );\n this.overlayRef.attach(templatePortal);\n\n this.overlayRef.backdropClick().subscribe(() => this.close());\n }\n\n close() {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n}\n","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport { AlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogRoot]',\n standalone: true\n})\nexport class AlertDialogRootDirective {\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly alertDialogService = inject(AlertDialogService);\n\n @Input() set content(template: TemplateRef<any>) {\n this.alertDialogService.setDialogContent(this.viewContainerRef, template);\n }\n}\n","import { Directive, inject } from '@angular/core';\n\nimport { AlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogCancel]',\n standalone: true,\n host: {\n '(click)': 'onClick()'\n }\n})\nexport class AlertDialogCancelDirective {\n private readonly alertDialogService = inject(AlertDialogService);\n\n onClick() {\n this.alertDialogService.close();\n }\n}\n","import { Directive, ElementRef, inject, Input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[rdxAlertDialogContent]',\n standalone: true,\n host: {\n '[attr.data-state]': 'open'\n }\n})\nexport class AlertDialogContentDirective {\n private readonly renderer = inject(Renderer2);\n private readonly elementRef = inject(ElementRef);\n\n @Input() set maxWidth(value: string) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'maxWidth', value);\n }\n}\n","import { Directive, inject } from '@angular/core';\n\nimport { AlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogTrigger]',\n standalone: true,\n host: {\n '(click)': 'handleClick()'\n }\n})\nexport class AlertDialogTriggerDirective {\n private readonly alertDialogService = inject(AlertDialogService);\n\n handleClick() {\n this.alertDialogService.open();\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxAlertDialogTitle]',\n standalone: true\n})\nexport class AlertDialogTitleDirective {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radix-ng-primitives-alert-dialog.mjs","sources":["../../../packages/primitives/alert-dialog/src/alert-dialog.service.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-root.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-cancel.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-content.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-trigger.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-title.directive.ts","../../../packages/primitives/alert-dialog/radix-ng-primitives-alert-dialog.ts"],"sourcesContent":["import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Injectable, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertDialogService {\n private overlayRef: OverlayRef | null | undefined;\n private dialogContent:\n | {\n viewContainerRef: ViewContainerRef;\n template: TemplateRef<any>;\n }\n | undefined;\n\n constructor(private overlay: Overlay) {}\n\n setDialogContent(viewContainerRef: ViewContainerRef, template: TemplateRef<any>) {\n this.dialogContent = { viewContainerRef, template };\n }\n\n open() {\n if (!this.dialogContent) {\n throw new Error('Dialog content is not set');\n }\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-dark-backdrop',\n positionStrategy: this.overlay\n .position()\n .global()\n .centerHorizontally()\n .centerVertically()\n });\n\n const templatePortal = new TemplatePortal(\n this.dialogContent.template,\n this.dialogContent.viewContainerRef\n );\n this.overlayRef.attach(templatePortal);\n\n this.overlayRef.keydownEvents().subscribe((event) => {\n if (event.key === 'Escape' || event.code === 'Escape') {\n this.close();\n }\n });\n this.overlayRef.backdropClick().subscribe(() => this.close());\n }\n\n close() {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n}\n","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport { AlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogRoot]',\n standalone: true\n})\nexport class AlertDialogRootDirective {\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly alertDialogService = inject(AlertDialogService);\n\n @Input() set content(template: TemplateRef<any>) {\n this.alertDialogService.setDialogContent(this.viewContainerRef, template);\n }\n}\n","import { Directive, inject } from '@angular/core';\n\nimport { AlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogCancel]',\n standalone: true,\n host: {\n '(click)': 'onClick()'\n }\n})\nexport class AlertDialogCancelDirective {\n private readonly alertDialogService = inject(AlertDialogService);\n\n onClick() {\n this.alertDialogService.close();\n }\n}\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { Directive, ElementRef, inject, Input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[rdxAlertDialogContent]',\n hostDirectives: [\n {\n directive: CdkTrapFocus\n }\n ],\n standalone: true,\n host: {\n '[attr.data-state]': 'open',\n '[attr.cdkTrapFocusAutoCapture]': 'true'\n }\n})\nexport class AlertDialogContentDirective {\n private readonly renderer = inject(Renderer2);\n private readonly elementRef = inject(ElementRef);\n\n @Input() set maxWidth(value: string) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'maxWidth', value);\n }\n}\n","import { Directive, inject } from '@angular/core';\n\nimport { AlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogTrigger]',\n standalone: true,\n host: {\n '(click)': 'handleClick()'\n }\n})\nexport class AlertDialogTriggerDirective {\n private readonly alertDialogService = inject(AlertDialogService);\n\n handleClick() {\n this.alertDialogService.open();\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxAlertDialogTitle]',\n standalone: true\n})\nexport class AlertDialogTitleDirective {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, inject, input, booleanAttribute, computed, effect, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/menu';
4
+ import { CdkMenu, CdkMenuGroup, CdkMenuItem } from '@angular/cdk/menu';
5
+ import * as i1$1 from '@radix-ng/primitives/separator';
6
+ import { RdxSeparatorRootDirective } from '@radix-ng/primitives/separator';
7
+
8
+ class RdxMenuContentDirective {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxMenuContentDirective, isStandalone: true, selector: "[MenuContent]", hostDirectives: [{ directive: i1.CdkMenu }], ngImport: i0 }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuContentDirective, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: '[MenuContent]',
16
+ standalone: true,
17
+ hostDirectives: [CdkMenu]
18
+ }]
19
+ }] });
20
+
21
+ class RdxMenuDirective {
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxMenuDirective, isStandalone: true, selector: "[Menu],[MenuSub]", hostDirectives: [{ directive: i1.CdkMenu }], ngImport: i0 }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{
28
+ selector: '[Menu],[MenuSub]',
29
+ standalone: true,
30
+ host: {},
31
+ hostDirectives: [CdkMenu]
32
+ }]
33
+ }] });
34
+
35
+ class RdxMenuGroupDirective {
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
37
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxMenuGroupDirective, isStandalone: true, selector: "[MenuGroup]", host: { attributes: { "role": "group" } }, hostDirectives: [{ directive: i1.CdkMenuGroup }], ngImport: i0 }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuGroupDirective, decorators: [{
40
+ type: Directive,
41
+ args: [{
42
+ selector: '[MenuGroup]',
43
+ standalone: true,
44
+ hostDirectives: [CdkMenuGroup],
45
+ host: {
46
+ role: 'group'
47
+ }
48
+ }]
49
+ }] });
50
+
51
+ class RdxMenuItemDirective {
52
+ constructor() {
53
+ this.cdkMenuItem = inject(CdkMenuItem, { host: true });
54
+ this.disabled = input(false, {
55
+ transform: booleanAttribute,
56
+ alias: 'rdxDisabled'
57
+ });
58
+ this.disabledState = computed(() => this.disabled());
59
+ effect(() => {
60
+ this.cdkMenuItem.disabled = this.disabled();
61
+ });
62
+ }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
64
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", type: RdxMenuItemDirective, isStandalone: true, selector: "[MenuItem]", inputs: { disabled: { classPropertyName: "disabled", publicName: "rdxDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "menuitem", "type": "button", "tabindex": "0" }, properties: { "attr.data-orientation": "'horizontal'", "attr.data-disabled": "disabledState() ? '' : undefined", "disabled": "disabledState()" } }, hostDirectives: [{ directive: i1.CdkMenuItem }], ngImport: i0 }); }
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuItemDirective, decorators: [{
67
+ type: Directive,
68
+ args: [{
69
+ selector: '[MenuItem]',
70
+ standalone: true,
71
+ hostDirectives: [CdkMenuItem],
72
+ host: {
73
+ role: 'menuitem',
74
+ type: 'button',
75
+ tabindex: '0',
76
+ '[attr.data-orientation]': "'horizontal'",
77
+ '[attr.data-disabled]': "disabledState() ? '' : undefined",
78
+ '[disabled]': 'disabledState()'
79
+ }
80
+ }]
81
+ }], ctorParameters: () => [] });
82
+
83
+ class RdxMenuLabelDirective {
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
85
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxMenuLabelDirective, isStandalone: true, selector: "div[MenuLabel]", ngImport: i0 }); }
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuLabelDirective, decorators: [{
88
+ type: Directive,
89
+ args: [{
90
+ selector: 'div[MenuLabel]',
91
+ standalone: true
92
+ }]
93
+ }] });
94
+
95
+ class RdxMenuSeparatorDirective {
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuSeparatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
97
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxMenuSeparatorDirective, isStandalone: true, selector: "[MenuSeparator]", host: { attributes: { "role": "separator" }, properties: { "attr.aria-orientation": "'horizontal'" } }, hostDirectives: [{ directive: i1$1.RdxSeparatorRootDirective }], ngImport: i0 }); }
98
+ }
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuSeparatorDirective, decorators: [{
100
+ type: Directive,
101
+ args: [{
102
+ selector: '[MenuSeparator]',
103
+ standalone: true,
104
+ hostDirectives: [RdxSeparatorRootDirective],
105
+ host: {
106
+ role: 'separator',
107
+ '[attr.aria-orientation]': "'horizontal'"
108
+ }
109
+ }]
110
+ }] });
111
+
112
+ const menuImports = [
113
+ RdxMenuDirective,
114
+ RdxMenuGroupDirective,
115
+ RdxMenuItemDirective,
116
+ RdxMenuSeparatorDirective,
117
+ RdxMenuContentDirective,
118
+ RdxMenuLabelDirective
119
+ ];
120
+ class MenuModule {
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
122
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.4", ngImport: i0, type: MenuModule, imports: [RdxMenuDirective,
123
+ RdxMenuGroupDirective,
124
+ RdxMenuItemDirective,
125
+ RdxMenuSeparatorDirective,
126
+ RdxMenuContentDirective,
127
+ RdxMenuLabelDirective], exports: [RdxMenuDirective,
128
+ RdxMenuGroupDirective,
129
+ RdxMenuItemDirective,
130
+ RdxMenuSeparatorDirective,
131
+ RdxMenuContentDirective,
132
+ RdxMenuLabelDirective] }); }
133
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MenuModule }); }
134
+ }
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MenuModule, decorators: [{
136
+ type: NgModule,
137
+ args: [{
138
+ imports: [...menuImports],
139
+ exports: [...menuImports]
140
+ }]
141
+ }] });
142
+
143
+ /**
144
+ * Generated bundle index. Do not edit.
145
+ */
146
+
147
+ export { MenuModule, RdxMenuContentDirective, RdxMenuDirective, RdxMenuGroupDirective, RdxMenuItemDirective, RdxMenuLabelDirective, RdxMenuSeparatorDirective };
148
+ //# sourceMappingURL=radix-ng-primitives-menu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radix-ng-primitives-menu.mjs","sources":["../../../packages/primitives/menu/src/menu-content.directive.ts","../../../packages/primitives/menu/src/menu-directive.ts","../../../packages/primitives/menu/src/menu-group.directive.ts","../../../packages/primitives/menu/src/menu-item.directive.ts","../../../packages/primitives/menu/src/menu-label.directive.ts","../../../packages/primitives/menu/src/menu-separator.directive.ts","../../../packages/primitives/menu/index.ts","../../../packages/primitives/menu/radix-ng-primitives-menu.ts"],"sourcesContent":["import { CdkMenu } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[MenuContent]',\n standalone: true,\n hostDirectives: [CdkMenu]\n})\nexport class RdxMenuContentDirective {}\n","import { CdkMenu } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[Menu],[MenuSub]',\n standalone: true,\n host: {},\n hostDirectives: [CdkMenu]\n})\nexport class RdxMenuDirective {}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[MenuGroup]',\n standalone: true,\n hostDirectives: [CdkMenuGroup],\n host: {\n role: 'group'\n }\n})\nexport class RdxMenuGroupDirective {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItem } from '@angular/cdk/menu';\nimport { booleanAttribute, computed, Directive, effect, inject, input } from '@angular/core';\n\n@Directive({\n selector: '[MenuItem]',\n standalone: true,\n hostDirectives: [CdkMenuItem],\n host: {\n role: 'menuitem',\n type: 'button',\n tabindex: '0',\n '[attr.data-orientation]': \"'horizontal'\",\n '[attr.data-disabled]': \"disabledState() ? '' : undefined\",\n '[disabled]': 'disabledState()'\n }\n})\nexport class RdxMenuItemDirective {\n private readonly cdkMenuItem = inject(CdkMenuItem, { host: true });\n\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n alias: 'rdxDisabled'\n });\n\n protected readonly disabledState = computed(() => this.disabled());\n\n constructor() {\n effect(() => {\n this.cdkMenuItem.disabled = this.disabled();\n });\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'div[MenuLabel]',\n standalone: true\n})\nexport class RdxMenuLabelDirective {}\n","import { Directive } from '@angular/core';\n\nimport { RdxSeparatorRootDirective } from '@radix-ng/primitives/separator';\n\n@Directive({\n selector: '[MenuSeparator]',\n standalone: true,\n hostDirectives: [RdxSeparatorRootDirective],\n host: {\n role: 'separator',\n '[attr.aria-orientation]': \"'horizontal'\"\n }\n})\nexport class RdxMenuSeparatorDirective {}\n","import { NgModule } from '@angular/core';\n\nimport { RdxMenuContentDirective } from './src/menu-content.directive';\nimport { RdxMenuDirective } from './src/menu-directive';\nimport { RdxMenuGroupDirective } from './src/menu-group.directive';\nimport { RdxMenuItemDirective } from './src/menu-item.directive';\nimport { RdxMenuLabelDirective } from './src/menu-label.directive';\nimport { RdxMenuSeparatorDirective } from './src/menu-separator.directive';\n\nexport * from './src/menu-directive';\nexport * from './src/menu-group.directive';\nexport * from './src/menu-item.directive';\nexport * from './src/menu-separator.directive';\nexport * from './src/menu-content.directive';\nexport * from './src/menu-label.directive';\n\nconst menuImports = [\n RdxMenuDirective,\n RdxMenuGroupDirective,\n RdxMenuItemDirective,\n RdxMenuSeparatorDirective,\n RdxMenuContentDirective,\n RdxMenuLabelDirective\n];\n\n@NgModule({\n imports: [...menuImports],\n exports: [...menuImports]\n})\nexport class MenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -0,0 +1,245 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, inject, input, booleanAttribute, computed, signal, effect, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/menu';
4
+ import { CdkMenu, CdkMenuItemCheckbox, CdkMenuItemRadio, CdkMenuGroup, CdkMenuBar, CdkMenuTrigger } from '@angular/cdk/menu';
5
+ import * as i1$1 from '@radix-ng/primitives/menu';
6
+ import { RdxMenuItemDirective, RdxMenuSeparatorDirective } from '@radix-ng/primitives/menu';
7
+
8
+ class RdxMenuBarContentDirective {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuBarContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxMenuBarContentDirective, isStandalone: true, selector: "[MenuBarContent]", hostDirectives: [{ directive: i1.CdkMenu }], ngImport: i0 }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuBarContentDirective, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: '[MenuBarContent]',
16
+ standalone: true,
17
+ hostDirectives: [CdkMenu]
18
+ }]
19
+ }] });
20
+
21
+ class RdxMenubarItemCheckboxDirective {
22
+ constructor() {
23
+ this.cdkMenuItemCheckbox = inject(CdkMenuItemCheckbox, { host: true });
24
+ this.disabled = input(false, { transform: booleanAttribute });
25
+ this.checked = input(false, { transform: booleanAttribute });
26
+ this.disabledState = computed(() => this.disabled || this.disabled$());
27
+ this.checked$ = signal(this.cdkMenuItemCheckbox.checked);
28
+ this.disabled$ = signal(this.cdkMenuItemCheckbox.disabled);
29
+ effect(() => {
30
+ this.cdkMenuItemCheckbox.checked = this.checked();
31
+ this.cdkMenuItemCheckbox.disabled = this.disabled();
32
+ });
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenubarItemCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", type: RdxMenubarItemCheckboxDirective, isStandalone: true, selector: "[MenubarCheckboxItem]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "menuitemcheckbox" }, properties: { "attr.data-state": "checked() ? \"checked\": \"unchecked\"", "disabled": "disabledState()" } }, hostDirectives: [{ directive: i1.CdkMenuItemCheckbox }], ngImport: i0 }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenubarItemCheckboxDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: '[MenubarCheckboxItem]',
41
+ standalone: true,
42
+ hostDirectives: [CdkMenuItemCheckbox],
43
+ host: {
44
+ role: 'menuitemcheckbox',
45
+ '[attr.data-state]': 'checked() ? "checked": "unchecked"',
46
+ '[disabled]': 'disabledState()'
47
+ }
48
+ }]
49
+ }], ctorParameters: () => [] });
50
+
51
+ class RdxMenubarItemIndicatorDirective {
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenubarItemIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxMenubarItemIndicatorDirective, isStandalone: true, selector: "[MenubarItemIndicator]", host: { properties: { "attr.data-state": "true" } }, ngImport: i0 }); }
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenubarItemIndicatorDirective, decorators: [{
56
+ type: Directive,
57
+ args: [{
58
+ selector: '[MenubarItemIndicator]',
59
+ standalone: true,
60
+ host: {
61
+ '[attr.data-state]': 'true'
62
+ }
63
+ }]
64
+ }] });
65
+
66
+ class RdxMenubarItemRadioDirective {
67
+ constructor() {
68
+ this.cdkMenuItemRadio = inject(CdkMenuItemRadio, { host: true });
69
+ this.disabled = input(false, { transform: booleanAttribute });
70
+ this.checked = input(false, { transform: booleanAttribute });
71
+ this.disabledState = computed(() => this.disabled || this.disabled$());
72
+ this.checked$ = signal(this.cdkMenuItemRadio.checked);
73
+ this.disabled$ = signal(this.cdkMenuItemRadio.disabled);
74
+ effect(() => {
75
+ this.cdkMenuItemRadio.checked = this.checked();
76
+ this.cdkMenuItemRadio.disabled = this.disabled();
77
+ });
78
+ }
79
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenubarItemRadioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
80
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", type: RdxMenubarItemRadioDirective, isStandalone: true, selector: "[MenubarItemRadio]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "menuitemradio" }, properties: { "attr.aria-checked": "checked()", "attr.data-state": "checked() ? \"checked\": \"unchecked\"", "disabled": "disabledState()" } }, hostDirectives: [{ directive: i1.CdkMenuItemRadio }], ngImport: i0 }); }
81
+ }
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenubarItemRadioDirective, decorators: [{
83
+ type: Directive,
84
+ args: [{
85
+ selector: '[MenubarItemRadio]',
86
+ standalone: true,
87
+ hostDirectives: [CdkMenuItemRadio],
88
+ host: {
89
+ role: 'menuitemradio',
90
+ '[attr.aria-checked]': 'checked()',
91
+ '[attr.data-state]': 'checked() ? "checked": "unchecked"',
92
+ '[disabled]': 'disabledState()'
93
+ }
94
+ }]
95
+ }], ctorParameters: () => [] });
96
+
97
+ class RdxMenuBarItemDirective {
98
+ constructor() {
99
+ this.disabled = input(false, { transform: booleanAttribute });
100
+ }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuBarItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
102
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", type: RdxMenuBarItemDirective, isStandalone: true, selector: "[MenuBarItem]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1$1.RdxMenuItemDirective, inputs: ["rdxDisabled", "disabled"] }], ngImport: i0 }); }
103
+ }
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuBarItemDirective, decorators: [{
105
+ type: Directive,
106
+ args: [{
107
+ selector: '[MenuBarItem]',
108
+ standalone: true,
109
+ hostDirectives: [{ directive: RdxMenuItemDirective, inputs: ['rdxDisabled: disabled '] }]
110
+ }]
111
+ }] });
112
+
113
+ class RdxMenubarRadioGroupDirective {
114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenubarRadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
115
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxMenubarRadioGroupDirective, isStandalone: true, selector: "[MenubarRadioGroup]", hostDirectives: [{ directive: i1.CdkMenuGroup }], ngImport: i0 }); }
116
+ }
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenubarRadioGroupDirective, decorators: [{
118
+ type: Directive,
119
+ args: [{
120
+ selector: '[MenubarRadioGroup]',
121
+ standalone: true,
122
+ hostDirectives: [CdkMenuGroup]
123
+ }]
124
+ }] });
125
+
126
+ class RdxMenuBarDirective {
127
+ constructor() {
128
+ this.orientation = input('horizontal');
129
+ }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuBarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
131
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", type: RdxMenuBarDirective, isStandalone: true, selector: "[MenuBarRoot]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0" }, properties: { "attr.data-orientation": "orientation()" } }, hostDirectives: [{ directive: i1.CdkMenuBar }], ngImport: i0 }); }
132
+ }
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuBarDirective, decorators: [{
134
+ type: Directive,
135
+ args: [{
136
+ selector: '[MenuBarRoot]',
137
+ standalone: true,
138
+ hostDirectives: [CdkMenuBar],
139
+ host: {
140
+ tabindex: '0',
141
+ '[attr.data-orientation]': 'orientation()'
142
+ }
143
+ }]
144
+ }] });
145
+
146
+ class RdxMenubarSeparatorDirective {
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenubarSeparatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
148
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxMenubarSeparatorDirective, isStandalone: true, selector: "[MenubarSeparator]", hostDirectives: [{ directive: i1$1.RdxMenuSeparatorDirective }], ngImport: i0 }); }
149
+ }
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenubarSeparatorDirective, decorators: [{
151
+ type: Directive,
152
+ args: [{
153
+ selector: '[MenubarSeparator]',
154
+ standalone: true,
155
+ hostDirectives: [RdxMenuSeparatorDirective]
156
+ }]
157
+ }] });
158
+
159
+ class RdxMenuBarTriggerDirective {
160
+ constructor() {
161
+ this.cdkTrigger = inject(CdkMenuTrigger, { host: true });
162
+ this.disabled = input(false, {
163
+ transform: booleanAttribute
164
+ });
165
+ }
166
+ onPointerDown($event) {
167
+ // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)
168
+ // but not when the control key is pressed (avoiding MacOS right click)
169
+ if (!this.disabled() && $event.button === 0 && !$event.ctrlKey) {
170
+ /* empty */
171
+ if (!this.cdkTrigger.isOpen()) {
172
+ // prevent trigger focusing when opening
173
+ // this allows the content to be given focus without competition
174
+ $event.preventDefault();
175
+ }
176
+ }
177
+ }
178
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuBarTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
179
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", type: RdxMenuBarTriggerDirective, isStandalone: true, selector: "[MenuBarTrigger]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "menuitem" }, listeners: { "pointerdown": "onPointerDown($event)" }, properties: { "attr.aria-haspopup": "'menu'", "attr.aria-expanded": "cdkTrigger.isOpen()", "attr.data-state": "cdkTrigger.isOpen() ? 'open': 'close'", "attr.data-disabled": "disabled() ? '' : undefined", "disabled": "disabled()" } }, hostDirectives: [{ directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "MenuBarTrigger"] }], ngImport: i0 }); }
180
+ }
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxMenuBarTriggerDirective, decorators: [{
182
+ type: Directive,
183
+ args: [{
184
+ selector: '[MenuBarTrigger]',
185
+ standalone: true,
186
+ hostDirectives: [{ directive: CdkMenuTrigger, inputs: ['cdkMenuTriggerFor: MenuBarTrigger'] }],
187
+ host: {
188
+ type: 'button',
189
+ role: 'menuitem',
190
+ '[attr.aria-haspopup]': "'menu'",
191
+ '[attr.aria-expanded]': 'cdkTrigger.isOpen()',
192
+ '[attr.data-state]': "cdkTrigger.isOpen() ? 'open': 'close'",
193
+ '[attr.data-disabled]': "disabled() ? '' : undefined",
194
+ '[disabled]': 'disabled()',
195
+ '(pointerdown)': 'onPointerDown($event)'
196
+ }
197
+ }]
198
+ }] });
199
+
200
+ const menubarImports = [
201
+ RdxMenuBarContentDirective,
202
+ RdxMenuBarTriggerDirective,
203
+ RdxMenubarSeparatorDirective,
204
+ RdxMenubarItemCheckboxDirective,
205
+ RdxMenuBarDirective,
206
+ RdxMenuBarItemDirective,
207
+ RdxMenubarItemIndicatorDirective,
208
+ RdxMenubarItemRadioDirective,
209
+ RdxMenubarRadioGroupDirective
210
+ ];
211
+ class MenubarModule {
212
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MenubarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
213
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.4", ngImport: i0, type: MenubarModule, imports: [RdxMenuBarContentDirective,
214
+ RdxMenuBarTriggerDirective,
215
+ RdxMenubarSeparatorDirective,
216
+ RdxMenubarItemCheckboxDirective,
217
+ RdxMenuBarDirective,
218
+ RdxMenuBarItemDirective,
219
+ RdxMenubarItemIndicatorDirective,
220
+ RdxMenubarItemRadioDirective,
221
+ RdxMenubarRadioGroupDirective], exports: [RdxMenuBarContentDirective,
222
+ RdxMenuBarTriggerDirective,
223
+ RdxMenubarSeparatorDirective,
224
+ RdxMenubarItemCheckboxDirective,
225
+ RdxMenuBarDirective,
226
+ RdxMenuBarItemDirective,
227
+ RdxMenubarItemIndicatorDirective,
228
+ RdxMenubarItemRadioDirective,
229
+ RdxMenubarRadioGroupDirective] }); }
230
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MenubarModule }); }
231
+ }
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MenubarModule, decorators: [{
233
+ type: NgModule,
234
+ args: [{
235
+ imports: [...menubarImports],
236
+ exports: [...menubarImports]
237
+ }]
238
+ }] });
239
+
240
+ /**
241
+ * Generated bundle index. Do not edit.
242
+ */
243
+
244
+ export { MenubarModule, RdxMenuBarContentDirective, RdxMenuBarDirective, RdxMenuBarItemDirective, RdxMenuBarTriggerDirective, RdxMenubarItemCheckboxDirective, RdxMenubarItemIndicatorDirective, RdxMenubarItemRadioDirective, RdxMenubarRadioGroupDirective, RdxMenubarSeparatorDirective };
245
+ //# sourceMappingURL=radix-ng-primitives-menubar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radix-ng-primitives-menubar.mjs","sources":["../../../packages/primitives/menubar/src/menubar-content.directive.ts","../../../packages/primitives/menubar/src/menubar-item-checkbox.directive.ts","../../../packages/primitives/menubar/src/menubar-item-indicator.directive.ts","../../../packages/primitives/menubar/src/menubar-item-radio.directive.ts","../../../packages/primitives/menubar/src/menubar-item.directive.ts","../../../packages/primitives/menubar/src/menubar-radio-group.directive.ts","../../../packages/primitives/menubar/src/menubar-root.directive.ts","../../../packages/primitives/menubar/src/menubar-separator.directive.ts","../../../packages/primitives/menubar/src/menubar-trigger.directive.ts","../../../packages/primitives/menubar/index.ts","../../../packages/primitives/menubar/radix-ng-primitives-menubar.ts"],"sourcesContent":["import { CdkMenu } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[MenuBarContent]',\n standalone: true,\n hostDirectives: [CdkMenu]\n})\nexport class RdxMenuBarContentDirective {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItemCheckbox } from '@angular/cdk/menu';\nimport {\n booleanAttribute,\n computed,\n Directive,\n effect,\n inject,\n input,\n signal\n} from '@angular/core';\n\n@Directive({\n selector: '[MenubarCheckboxItem]',\n standalone: true,\n hostDirectives: [CdkMenuItemCheckbox],\n host: {\n role: 'menuitemcheckbox',\n '[attr.data-state]': 'checked() ? \"checked\": \"unchecked\"',\n '[disabled]': 'disabledState()'\n }\n})\nexport class RdxMenubarItemCheckboxDirective {\n private readonly cdkMenuItemCheckbox = inject(CdkMenuItemCheckbox, { host: true });\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n readonly checked = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly disabledState = computed(() => this.disabled || this.disabled$());\n\n protected readonly checked$ = signal(this.cdkMenuItemCheckbox.checked);\n protected readonly disabled$ = signal(this.cdkMenuItemCheckbox.disabled);\n\n constructor() {\n effect(() => {\n this.cdkMenuItemCheckbox.checked = this.checked();\n this.cdkMenuItemCheckbox.disabled = this.disabled();\n });\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[MenubarItemIndicator]',\n standalone: true,\n host: {\n '[attr.data-state]': 'true'\n }\n})\nexport class RdxMenubarItemIndicatorDirective {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItemRadio } from '@angular/cdk/menu';\nimport {\n booleanAttribute,\n computed,\n Directive,\n effect,\n inject,\n input,\n signal\n} from '@angular/core';\n\n@Directive({\n selector: '[MenubarItemRadio]',\n standalone: true,\n hostDirectives: [CdkMenuItemRadio],\n host: {\n role: 'menuitemradio',\n '[attr.aria-checked]': 'checked()',\n '[attr.data-state]': 'checked() ? \"checked\": \"unchecked\"',\n '[disabled]': 'disabledState()'\n }\n})\nexport class RdxMenubarItemRadioDirective {\n private readonly cdkMenuItemRadio = inject(CdkMenuItemRadio, { host: true });\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n readonly checked = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly disabledState = computed(() => this.disabled || this.disabled$());\n\n protected readonly checked$ = signal(this.cdkMenuItemRadio.checked);\n protected readonly disabled$ = signal(this.cdkMenuItemRadio.disabled);\n\n constructor() {\n effect(() => {\n this.cdkMenuItemRadio.checked = this.checked();\n this.cdkMenuItemRadio.disabled = this.disabled();\n });\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\n\nimport { RdxMenuItemDirective } from '@radix-ng/primitives/menu';\n\n@Directive({\n selector: '[MenuBarItem]',\n standalone: true,\n hostDirectives: [{ directive: RdxMenuItemDirective, inputs: ['rdxDisabled: disabled '] }]\n})\nexport class RdxMenuBarItemDirective {\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[MenubarRadioGroup]',\n standalone: true,\n hostDirectives: [CdkMenuGroup]\n})\nexport class RdxMenubarRadioGroupDirective {}\n","import { CdkMenuBar } from '@angular/cdk/menu';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[MenuBarRoot]',\n standalone: true,\n hostDirectives: [CdkMenuBar],\n host: {\n tabindex: '0',\n '[attr.data-orientation]': 'orientation()'\n }\n})\nexport class RdxMenuBarDirective {\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n}\n","import { Directive } from '@angular/core';\n\nimport { RdxMenuSeparatorDirective } from '@radix-ng/primitives/menu';\n\n@Directive({\n selector: '[MenubarSeparator]',\n standalone: true,\n hostDirectives: [RdxMenuSeparatorDirective]\n})\nexport class RdxMenubarSeparatorDirective {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, inject, input, Input } from '@angular/core';\n\n@Directive({\n selector: '[MenuBarTrigger]',\n standalone: true,\n hostDirectives: [{ directive: CdkMenuTrigger, inputs: ['cdkMenuTriggerFor: MenuBarTrigger'] }],\n host: {\n type: 'button',\n role: 'menuitem',\n '[attr.aria-haspopup]': \"'menu'\",\n '[attr.aria-expanded]': 'cdkTrigger.isOpen()',\n '[attr.data-state]': \"cdkTrigger.isOpen() ? 'open': 'close'\",\n '[attr.data-disabled]': \"disabled() ? '' : undefined\",\n '[disabled]': 'disabled()',\n\n '(pointerdown)': 'onPointerDown($event)'\n }\n})\nexport class RdxMenuBarTriggerDirective {\n protected readonly cdkTrigger = inject(CdkMenuTrigger, { host: true });\n\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute\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.cdkTrigger.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","import { NgModule } from '@angular/core';\n\nimport { RdxMenuBarContentDirective } from './src/menubar-content.directive';\nimport { RdxMenubarItemCheckboxDirective } from './src/menubar-item-checkbox.directive';\nimport { RdxMenubarItemIndicatorDirective } from './src/menubar-item-indicator.directive';\nimport { RdxMenubarItemRadioDirective } from './src/menubar-item-radio.directive';\nimport { RdxMenuBarItemDirective } from './src/menubar-item.directive';\nimport { RdxMenubarRadioGroupDirective } from './src/menubar-radio-group.directive';\nimport { RdxMenuBarDirective } from './src/menubar-root.directive';\nimport { RdxMenubarSeparatorDirective } from './src/menubar-separator.directive';\nimport { RdxMenuBarTriggerDirective } from './src/menubar-trigger.directive';\n\nexport * from './src/menubar-content.directive';\nexport * from './src/menubar-item.directive';\nexport * from './src/menubar-item-checkbox.directive';\nexport * from './src/menubar-item-radio.directive';\nexport * from './src/menubar-radio-group.directive';\nexport * from './src/menubar-item-indicator.directive';\nexport * from './src/menubar-root.directive';\nexport * from './src/menubar-separator.directive';\nexport * from './src/menubar-trigger.directive';\n\nconst menubarImports = [\n RdxMenuBarContentDirective,\n RdxMenuBarTriggerDirective,\n RdxMenubarSeparatorDirective,\n RdxMenubarItemCheckboxDirective,\n RdxMenuBarDirective,\n RdxMenuBarItemDirective,\n RdxMenubarItemIndicatorDirective,\n RdxMenubarItemRadioDirective,\n RdxMenubarRadioGroupDirective\n];\n\n@NgModule({\n imports: [...menubarImports],\n exports: [...menubarImports]\n})\nexport class MenubarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;MAQa,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,OAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,OAAO,CAAC;AAC5B,iBAAA,CAAA;;;MCeY,+BAA+B,CAAA;AAWxC,IAAA,WAAA,GAAA;QAViB,IAAmB,CAAA,mBAAA,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1E,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAwB,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAChF,IAAO,CAAA,OAAA,GAAG,KAAK,CAAwB,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAErE,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAElE,IAAQ,CAAA,QAAA,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAS,CAAA,SAAA,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAGrE,MAAM,CAAC,MAAK;YACR,IAAI,CAAC,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAClD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACxD,SAAC,CAAC,CAAC;KACN;8GAhBQ,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,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,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,wCAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAV3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,mBAAmB,CAAC;AACrC,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,kBAAkB;AACxB,wBAAA,mBAAmB,EAAE,oCAAoC;AACzD,wBAAA,YAAY,EAAE,iBAAiB;AAClC,qBAAA;AACJ,iBAAA,CAAA;;;MCZY,gCAAgC,CAAA;8GAAhC,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAP5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,mBAAmB,EAAE,MAAM;AAC9B,qBAAA;AACJ,iBAAA,CAAA;;;MCeY,4BAA4B,CAAA;AAWrC,IAAA,WAAA,GAAA;QAViB,IAAgB,CAAA,gBAAA,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAwB,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAChF,IAAO,CAAA,OAAA,GAAG,KAAK,CAAwB,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAErE,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAElE,IAAQ,CAAA,QAAA,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAS,CAAA,SAAA,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAGlE,MAAM,CAAC,MAAK;YACR,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACrD,SAAC,CAAC,CAAC;KACN;8GAhBQ,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,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,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,wCAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAXxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,gBAAgB,CAAC;AAClC,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,eAAe;AACrB,wBAAA,qBAAqB,EAAE,WAAW;AAClC,wBAAA,mBAAmB,EAAE,oCAAoC;AACzD,wBAAA,YAAY,EAAE,iBAAiB;AAClC,qBAAA;AACJ,iBAAA,CAAA;;;MCZY,uBAAuB,CAAA;AALpC,IAAA,WAAA,GAAA;QAMa,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAwB,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAC5F,KAAA;8GAFY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC;AAC5F,iBAAA,CAAA;;;MCDY,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,YAAY,CAAC;AACjC,iBAAA,CAAA;;;MCKY,mBAAmB,CAAA;AAThC,IAAA,WAAA,GAAA;AAUa,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAA4B,YAAY,CAAC,CAAC;AACzE,KAAA;8GAFY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,GAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAT/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,oBAAA,IAAI,EAAE;AACF,wBAAA,QAAQ,EAAE,GAAG;AACb,wBAAA,yBAAyB,EAAE,eAAe;AAC7C,qBAAA;AACJ,iBAAA,CAAA;;;MCFY,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,yBAAyB,CAAC;AAC9C,iBAAA,CAAA;;;MCYY,0BAA0B,CAAA;AAhBvC,IAAA,WAAA,GAAA;QAiBuB,IAAU,CAAA,UAAA,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAE9D,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAwB,KAAK,EAAE;AACpD,YAAA,SAAS,EAAE,gBAAgB;AAC9B,SAAA,CAAC,CAAC;AAcN,KAAA;AAZG,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;;YAE5D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;;;gBAG3B,MAAM,CAAC,cAAc,EAAE,CAAC;aAC3B;SACJ;KACJ;8GAlBQ,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,uCAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,cAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAhBtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,mCAAmC,CAAC,EAAE,CAAC;AAC9F,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,sBAAsB,EAAE,QAAQ;AAChC,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,mBAAmB,EAAE,uCAAuC;AAC5D,wBAAA,sBAAsB,EAAE,6BAA6B;AACrD,wBAAA,YAAY,EAAE,YAAY;AAE1B,wBAAA,eAAe,EAAE,uBAAuB;AAC3C,qBAAA;AACJ,iBAAA,CAAA;;;ACGD,MAAM,cAAc,GAAG;IACnB,0BAA0B;IAC1B,0BAA0B;IAC1B,4BAA4B;IAC5B,+BAA+B;IAC/B,mBAAmB;IACnB,uBAAuB;IACvB,gCAAgC;IAChC,4BAA4B;IAC5B,6BAA6B;CAChC,CAAC;MAMW,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,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,aAAa,YAftB,0BAA0B;YAC1B,0BAA0B;YAC1B,4BAA4B;YAC5B,+BAA+B;YAC/B,mBAAmB;YACnB,uBAAuB;YACvB,gCAAgC;YAChC,4BAA4B;AAC5B,YAAA,6BAA6B,aAR7B,0BAA0B;YAC1B,0BAA0B;YAC1B,4BAA4B;YAC5B,+BAA+B;YAC/B,mBAAmB;YACnB,uBAAuB;YACvB,gCAAgC;YAChC,4BAA4B;YAC5B,6BAA6B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAOpB,aAAa,EAAA,CAAA,CAAA,EAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC;AAC5B,oBAAA,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC;AAC/B,iBAAA,CAAA;;;ACrCD;;AAEG;;;;"}