@nanahoshi/mona-ui 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/fesm2022/nanahoshi-mona-ui-auto-complete.mjs +11 -11
  2. package/fesm2022/nanahoshi-mona-ui-breadcrumb.mjs +17 -17
  3. package/fesm2022/nanahoshi-mona-ui-button-group.mjs +26 -26
  4. package/fesm2022/nanahoshi-mona-ui-button.mjs +109 -107
  5. package/fesm2022/nanahoshi-mona-ui-calendar.mjs +53 -53
  6. package/fesm2022/nanahoshi-mona-ui-check-box.mjs +80 -80
  7. package/fesm2022/nanahoshi-mona-ui-chip.mjs +98 -98
  8. package/fesm2022/nanahoshi-mona-ui-circular-progress-bar.mjs +2 -2
  9. package/fesm2022/nanahoshi-mona-ui-color-gradient.mjs +38 -38
  10. package/fesm2022/nanahoshi-mona-ui-color-palette.mjs +25 -25
  11. package/fesm2022/nanahoshi-mona-ui-color-picker.mjs +41 -37
  12. package/fesm2022/nanahoshi-mona-ui-combo-box.mjs +17 -19
  13. package/fesm2022/nanahoshi-mona-ui-date-input.mjs +6 -6
  14. package/fesm2022/nanahoshi-mona-ui-date-picker.mjs +11 -13
  15. package/fesm2022/nanahoshi-mona-ui-datetime-picker.mjs +18 -20
  16. package/fesm2022/nanahoshi-mona-ui-dialog.mjs +40 -40
  17. package/fesm2022/nanahoshi-mona-ui-dropdown-list.mjs +14 -16
  18. package/fesm2022/nanahoshi-mona-ui-dropdowns.mjs +52 -52
  19. package/fesm2022/nanahoshi-mona-ui-editor.mjs +462 -81
  20. package/fesm2022/nanahoshi-mona-ui-expansion-panel.mjs +26 -26
  21. package/fesm2022/nanahoshi-mona-ui-fieldset.mjs +8 -8
  22. package/fesm2022/nanahoshi-mona-ui-filter.mjs +14 -14
  23. package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-cell.component-B9SQH5N-.mjs → nanahoshi-mona-ui-grid-grid-footer-cell.component-B2ETh-uI.mjs} +14 -14
  24. package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-DlLwcCFT.mjs → nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-DZk18LJC.mjs} +2 -2
  25. package/fesm2022/nanahoshi-mona-ui-grid-grid-list.component-C7WKhhig.mjs +128 -0
  26. package/fesm2022/{nanahoshi-mona-ui-grid-grid-toggle.component-DIUutx9s.mjs → nanahoshi-mona-ui-grid-grid-toggle.component-BRiY0CDX.mjs} +13 -13
  27. package/fesm2022/nanahoshi-mona-ui-grid-grid-virtual-list.component-BrYpFMyF.mjs +240 -0
  28. package/fesm2022/{nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-C3eZIaJK.mjs → nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-T9Bj98kl.mjs} +120 -120
  29. package/fesm2022/nanahoshi-mona-ui-grid.mjs +1 -1
  30. package/fesm2022/nanahoshi-mona-ui-internal-list.mjs +81 -81
  31. package/fesm2022/nanahoshi-mona-ui-internal-tree.mjs +35 -35
  32. package/fesm2022/nanahoshi-mona-ui-list-box.mjs +8 -8
  33. package/fesm2022/nanahoshi-mona-ui-list-view.mjs +7 -7
  34. package/fesm2022/nanahoshi-mona-ui-menubar.mjs +50 -50
  35. package/fesm2022/nanahoshi-mona-ui-multi-select.mjs +12 -14
  36. package/fesm2022/nanahoshi-mona-ui-notification.mjs +24 -24
  37. package/fesm2022/nanahoshi-mona-ui-numeric-text-box.mjs +69 -69
  38. package/fesm2022/nanahoshi-mona-ui-pager.mjs +29 -29
  39. package/fesm2022/nanahoshi-mona-ui-placeholder.mjs +9 -9
  40. package/fesm2022/nanahoshi-mona-ui-popover.mjs +12 -12
  41. package/fesm2022/nanahoshi-mona-ui-popup-menu.mjs +26 -26
  42. package/fesm2022/nanahoshi-mona-ui-popup.mjs +4 -4
  43. package/fesm2022/nanahoshi-mona-ui-progress-bar.mjs +2 -2
  44. package/fesm2022/nanahoshi-mona-ui-radio-button.mjs +55 -55
  45. package/fesm2022/nanahoshi-mona-ui-scroll-view.mjs +49 -49
  46. package/fesm2022/nanahoshi-mona-ui-slider.mjs +96 -96
  47. package/fesm2022/nanahoshi-mona-ui-split-button.mjs +30 -30
  48. package/fesm2022/nanahoshi-mona-ui-splitter.mjs +24 -24
  49. package/fesm2022/nanahoshi-mona-ui-stepper.mjs +29 -29
  50. package/fesm2022/nanahoshi-mona-ui-switch.mjs +42 -42
  51. package/fesm2022/nanahoshi-mona-ui-tabs.mjs +35 -39
  52. package/fesm2022/nanahoshi-mona-ui-text-area.mjs +22 -22
  53. package/fesm2022/nanahoshi-mona-ui-text-box.mjs +54 -54
  54. package/fesm2022/nanahoshi-mona-ui-time-picker.mjs +11 -19
  55. package/fesm2022/nanahoshi-mona-ui-time-selector.mjs +29 -29
  56. package/fesm2022/nanahoshi-mona-ui-tooltip.mjs +51 -51
  57. package/fesm2022/nanahoshi-mona-ui-tree-view.mjs +2 -2
  58. package/fesm2022/nanahoshi-mona-ui-window.mjs +27 -28
  59. package/package.json +30 -5
  60. package/types/nanahoshi-mona-ui-button.d.ts +4 -3
  61. package/types/nanahoshi-mona-ui-color-picker.d.ts +0 -3
  62. package/types/nanahoshi-mona-ui-dialog.d.ts +2 -2
  63. package/types/nanahoshi-mona-ui-editor.d.ts +17 -17
  64. package/types/nanahoshi-mona-ui-fieldset.d.ts +1 -1
  65. package/types/nanahoshi-mona-ui-filter.d.ts +2 -2
  66. package/types/nanahoshi-mona-ui-grid.d.ts +3 -3
  67. package/types/nanahoshi-mona-ui-internal-tree.d.ts +16 -16
  68. package/types/nanahoshi-mona-ui-menubar.d.ts +2 -2
  69. package/types/nanahoshi-mona-ui-stepper.d.ts +2 -2
  70. package/types/nanahoshi-mona-ui-tabs.d.ts +2 -2
  71. package/fesm2022/nanahoshi-mona-ui-grid-grid-list.component-Dgea-O0X.mjs +0 -130
  72. package/fesm2022/nanahoshi-mona-ui-grid-grid-virtual-list.component-DRHycGIh.mjs +0 -240
@@ -12,10 +12,10 @@ import { tap, fromEvent } from 'rxjs';
12
12
  import { filter } from 'rxjs/operators';
13
13
  import { cva } from 'class-variance-authority';
14
14
 
15
- const timeSelectorBaseVariants = cva(`
16
- flex flex-col w-full h-full overflow-hidden
17
- data-[invalid='true']:border data-[invalid='true']:border-error
18
- data-[invalid='true']:ring-2 data-[invalid='true']:ring-error/40
15
+ const timeSelectorBaseVariants = cva(`
16
+ flex flex-col w-full h-full overflow-hidden
17
+ data-[invalid='true']:border data-[invalid='true']:border-error
18
+ data-[invalid='true']:ring-2 data-[invalid='true']:ring-error/40
19
19
  `, {
20
20
  variants: {
21
21
  disabled: {
@@ -29,32 +29,32 @@ const timeSelectorBaseVariants = cva(`
29
29
  }
30
30
  }
31
31
  });
32
- const timeSelectorFooterVariants = cva(`
33
- w-full flex items-center justify-end px-1 py-1 border-0 border-t border-input-border bg-accent
32
+ const timeSelectorFooterVariants = cva(`
33
+ w-full flex items-center justify-end px-1 py-1 border-0 border-t border-input-border bg-accent
34
34
  `);
35
- const timeSelectorHeaderVariants = cva(`
36
- flex bg-accent text-accent-foreground
37
- border-b border-input-border
38
- text-xs font-semibold uppercase
39
- [&>div]:flex-1 [&>div]:py-2 [&>div]:text-center
35
+ const timeSelectorHeaderVariants = cva(`
36
+ flex bg-accent text-accent-foreground
37
+ border-b border-input-border
38
+ text-xs font-semibold uppercase
39
+ [&>div]:flex-1 [&>div]:py-2 [&>div]:text-center
40
40
  `);
41
- const timeSelectorInfoContainerVariants = cva(`
42
- flex items-center justify-between
43
- px-2 py-1 border-b border-input-border/40
44
- [&>span]:text-xs [&>span]:font-medium [&>span]:select-none
41
+ const timeSelectorInfoContainerVariants = cva(`
42
+ flex items-center justify-between
43
+ px-2 py-1 border-b border-input-border/40
44
+ [&>span]:text-xs [&>span]:font-medium [&>span]:select-none
45
45
  `);
46
- const timeSelectorListContainerVariants = cva(`
47
- flex flex-row w-full relative overflow-hidden
46
+ const timeSelectorListContainerVariants = cva(`
47
+ flex flex-row w-full relative overflow-hidden
48
48
  `);
49
- const timeSelectorListVariants = cva(`
50
- flex-1 overflow-y-auto h-full
51
- scrollbar-hide scroll-smooth
52
- snap-y snap-mandatory
53
- scrollbar-width:none
54
- select-none outline-none
55
- [&::-webkit-scrollbar]:hidden
56
- focus-visible:bg-accent
57
- focus-within:bg-accent
49
+ const timeSelectorListVariants = cva(`
50
+ flex-1 overflow-y-auto h-full
51
+ scrollbar-hide scroll-smooth
52
+ snap-y snap-mandatory
53
+ scrollbar-width:none
54
+ select-none outline-none
55
+ [&::-webkit-scrollbar]:hidden
56
+ focus-visible:bg-accent
57
+ focus-within:bg-accent
58
58
  `, {
59
59
  variants: {
60
60
  size: {
@@ -64,9 +64,9 @@ const timeSelectorListVariants = cva(`
64
64
  }
65
65
  }
66
66
  });
67
- const timeSelectorListItemVariants = cva(`
68
- flex items-center justify-center cursor-pointer
69
- snap-center relative z-10
67
+ const timeSelectorListItemVariants = cva(`
68
+ flex items-center justify-center cursor-pointer
69
+ snap-center relative z-10
70
70
  `, {
71
71
  variants: {
72
72
  selected: {
@@ -9,10 +9,10 @@ import { take, takeUntil, Subscription, fromEvent, tap } from 'rxjs';
9
9
  import { cva } from 'class-variance-authority';
10
10
  import { twMerge } from 'tailwind-merge';
11
11
 
12
- const tooltipBaseVariants = cva(`
13
- flex items-center justify-center relative
14
- bg-background border border-border
15
- shadow-[0_2px_8px_rgba(0,0,0,0.12)] z-1
12
+ const tooltipBaseVariants = cva(`
13
+ flex items-center justify-center relative
14
+ bg-background text-foreground border border-border
15
+ shadow-[0_2px_8px_rgba(0,0,0,0.12)] z-1
16
16
  `, {
17
17
  variants: {
18
18
  rounded: {
@@ -24,33 +24,33 @@ const tooltipBaseVariants = cva(`
24
24
  }
25
25
  }
26
26
  });
27
- const tooltipArrowVariants = cva(`
28
- absolute w-3 h-3 box-border
29
- pointer-events-none
30
- transform-center rotate-45
31
- z-0 bg-background
32
-
33
- border border-border
34
-
35
- data-[position="top"]:-bottom-1.5
36
- data-[position="top"]:border-t-0
37
- data-[position="top"]:border-l-0
38
- data-[position="top"]:[clip-path:inset(1px_0_0_1px)]
39
-
40
- data-[position="bottom"]:-top-1.5
41
- data-[position="bottom"]:border-b-0
42
- data-[position="bottom"]:border-r-0
43
- data-[position="bottom"]:[clip-path:inset(0_1px_1px_0)]
44
-
45
- data-[position="left"]:-right-1.5
46
- data-[position="left"]:border-l-0
47
- data-[position="left"]:border-b-0
48
- data-[position="left"]:[clip-path:inset(0_0_1px_1px)]
49
-
50
- data-[position="right"]:-left-1.5
51
- data-[position="right"]:border-r-0
52
- data-[position="right"]:border-t-0
53
- data-[position="right"]:[clip-path:inset(1px_1px_0_0)]
27
+ const tooltipArrowVariants = cva(`
28
+ absolute w-3 h-3 box-border
29
+ pointer-events-none
30
+ transform-center rotate-45
31
+ z-0 bg-background text-foreground
32
+
33
+ border border-border
34
+
35
+ data-[position="top"]:-bottom-1.5
36
+ data-[position="top"]:border-t-0
37
+ data-[position="top"]:border-l-0
38
+ data-[position="top"]:[clip-path:inset(1px_0_0_1px)]
39
+
40
+ data-[position="bottom"]:-top-1.5
41
+ data-[position="bottom"]:border-b-0
42
+ data-[position="bottom"]:border-r-0
43
+ data-[position="bottom"]:[clip-path:inset(0_1px_1px_0)]
44
+
45
+ data-[position="left"]:-right-1.5
46
+ data-[position="left"]:border-l-0
47
+ data-[position="left"]:border-b-0
48
+ data-[position="left"]:[clip-path:inset(0_0_1px_1px)]
49
+
50
+ data-[position="right"]:-left-1.5
51
+ data-[position="right"]:border-r-0
52
+ data-[position="right"]:border-t-0
53
+ data-[position="right"]:[clip-path:inset(1px_1px_0_0)]
54
54
  `);
55
55
 
56
56
  const tooltipBaseThemeVariants = (theme) => {
@@ -367,11 +367,11 @@ class TooltipComponent {
367
367
  return composite;
368
368
  }
369
369
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
370
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.6", type: TooltipComponent, isStandalone: true, selector: "mona-tooltip", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "hideDelay", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, showDelay: { classPropertyName: "showDelay", publicName: "showDelay", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { hidden: "hidden", shown: "shown" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template>\r\n <div role=\"tooltip\" [id]=\"tooltipId\" [class]=\"baseClasses()\">\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n <div [class]=\"arrowClasses()\" [attr.data-position]=\"currentArrowPosition()\"></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:contents}\n"] }); }
370
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.6", type: TooltipComponent, isStandalone: true, selector: "mona-tooltip", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "hideDelay", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, showDelay: { classPropertyName: "showDelay", publicName: "showDelay", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { hidden: "hidden", shown: "shown" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template>\n <div role=\"tooltip\" [id]=\"tooltipId\" [class]=\"baseClasses()\">\n <div>\n <ng-content></ng-content>\n </div>\n <div [class]=\"arrowClasses()\" [attr.data-position]=\"currentArrowPosition()\"></div>\n </div>\n</ng-template>\n", styles: [":host{display:contents}\n"] }); }
371
371
  }
372
372
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TooltipComponent, decorators: [{
373
373
  type: Component,
374
- args: [{ selector: "mona-tooltip", template: "<ng-template>\r\n <div role=\"tooltip\" [id]=\"tooltipId\" [class]=\"baseClasses()\">\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n <div [class]=\"arrowClasses()\" [attr.data-position]=\"currentArrowPosition()\"></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:contents}\n"] }]
374
+ args: [{ selector: "mona-tooltip", template: "<ng-template>\n <div role=\"tooltip\" [id]=\"tooltipId\" [class]=\"baseClasses()\">\n <div>\n <ng-content></ng-content>\n </div>\n <div [class]=\"arrowClasses()\" [attr.data-position]=\"currentArrowPosition()\"></div>\n </div>\n</ng-template>\n", styles: [":host{display:contents}\n"] }]
375
375
  }], ctorParameters: () => [], propDecorators: { templateRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], hidden: [{ type: i0.Output, args: ["hidden"] }], hideDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideDelay", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], showDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "showDelay", required: false }] }], shown: [{ type: i0.Output, args: ["shown"] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", required: true }] }] } });
376
376
 
377
377
  class TooltipDirective {
@@ -676,30 +676,30 @@ class TooltipTemplateComponent {
676
676
  }
677
677
  #themeService;
678
678
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TooltipTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
679
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.6", type: TooltipTemplateComponent, isStandalone: true, selector: "ng-component", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, tooltipId: { classPropertyName: "tooltipId", publicName: "tooltipId", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
680
- <ng-template>
681
- <div role="tooltip" [id]="tooltipId()" [class]="baseClasses()">
682
- <div>
683
- {{ content() }}
684
- </div>
685
- <div [class]="arrowClasses()" [attr.data-position]="currentArrowPosition()"></div>
686
- </div>
687
- </ng-template>
679
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.6", type: TooltipTemplateComponent, isStandalone: true, selector: "ng-component", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, tooltipId: { classPropertyName: "tooltipId", publicName: "tooltipId", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
680
+ <ng-template>
681
+ <div role="tooltip" [id]="tooltipId()" [class]="baseClasses()">
682
+ <div>
683
+ {{ content() }}
684
+ </div>
685
+ <div [class]="arrowClasses()" [attr.data-position]="currentArrowPosition()"></div>
686
+ </div>
687
+ </ng-template>
688
688
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.Eager }); }
689
689
  }
690
690
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TooltipTemplateComponent, decorators: [{
691
691
  type: Component,
692
692
  args: [{
693
693
  changeDetection: ChangeDetectionStrategy.Eager,
694
- template: `
695
- <ng-template>
696
- <div role="tooltip" [id]="tooltipId()" [class]="baseClasses()">
697
- <div>
698
- {{ content() }}
699
- </div>
700
- <div [class]="arrowClasses()" [attr.data-position]="currentArrowPosition()"></div>
701
- </div>
702
- </ng-template>
694
+ template: `
695
+ <ng-template>
696
+ <div role="tooltip" [id]="tooltipId()" [class]="baseClasses()">
697
+ <div>
698
+ {{ content() }}
699
+ </div>
700
+ <div [class]="arrowClasses()" [attr.data-position]="currentArrowPosition()"></div>
701
+ </div>
702
+ </ng-template>
703
703
  `
704
704
  }]
705
705
  }], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], tooltipId: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipId", required: false }] }], templateRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
@@ -188,11 +188,11 @@ class TreeViewComponent {
188
188
  this.treeService.blur$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(e => this.blur.emit(e));
189
189
  }
190
190
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TreeViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
191
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: TreeViewComponent, isStandalone: true, selector: "mona-tree-view", inputs: { animate: { classPropertyName: "animate", publicName: "animate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, children: { classPropertyName: "children", publicName: "children", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, hasChildren: { classPropertyName: "hasChildren", publicName: "hasChildren", isSignal: true, isRequired: false, transformFunction: null }, idField: { classPropertyName: "idField", publicName: "idField", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, parentIdField: { classPropertyName: "parentIdField", publicName: "parentIdField", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { blur: "blur", focus: "focus", nodeClick: "nodeClick" }, providers: [TreeService], queries: [{ propertyName: "nodeTemplate", first: true, predicate: TreeViewNodeTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "@if (treeService.filterableOptions().enabled) {\r\n <div role=\"search\" [attr.aria-label]=\"filterAriaLabel()\">\r\n <mona-filter-input\r\n [filter]=\"treeService.filterText()\"\r\n [debounce]=\"treeService.filterableOptions().debounce\"\r\n [placeholder]=\"treeService.filterPlaceholder()\"\r\n (filterChange)=\"onFilterChange($event)\"></mona-filter-input>\r\n </div>\r\n}\r\n<div class=\"flex-1 overflow-auto\">\r\n <mona-tree [ariaLabel]=\"ariaLabel()\">\r\n @if (nodeTemplate()) {\r\n <ng-template monaTreeNodeTemplate let-dataItem let-element=\"element\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"nodeTemplate() ?? null\"\r\n [ngTemplateOutletContext]=\"{ $implicit: dataItem, element }\"></ng-container>\r\n </ng-template>\r\n }\r\n </mona-tree>\r\n</div>\r\n", dependencies: [{ kind: "component", type: FilterInputComponent, selector: "mona-filter-input", inputs: ["debounce", "filter", "placeholder", "size"], outputs: ["filterChange", "inputBlur", "inputFocus"] }, { kind: "component", type: TreeComponent, selector: "mona-tree", inputs: ["ariaLabel", "data"] }, { kind: "directive", type: TreeNodeTemplateDirective, selector: "ng-template[monaTreeNodeTemplate]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
191
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: TreeViewComponent, isStandalone: true, selector: "mona-tree-view", inputs: { animate: { classPropertyName: "animate", publicName: "animate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, children: { classPropertyName: "children", publicName: "children", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, hasChildren: { classPropertyName: "hasChildren", publicName: "hasChildren", isSignal: true, isRequired: false, transformFunction: null }, idField: { classPropertyName: "idField", publicName: "idField", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, parentIdField: { classPropertyName: "parentIdField", publicName: "parentIdField", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { blur: "blur", focus: "focus", nodeClick: "nodeClick" }, providers: [TreeService], queries: [{ propertyName: "nodeTemplate", first: true, predicate: TreeViewNodeTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "@if (treeService.filterableOptions().enabled) {\n <div role=\"search\" [attr.aria-label]=\"filterAriaLabel()\">\n <mona-filter-input\n [filter]=\"treeService.filterText()\"\n [debounce]=\"treeService.filterableOptions().debounce\"\n [placeholder]=\"treeService.filterPlaceholder()\"\n (filterChange)=\"onFilterChange($event)\"></mona-filter-input>\n </div>\n}\n<div class=\"flex-1 overflow-auto\">\n <mona-tree [ariaLabel]=\"ariaLabel()\">\n @if (nodeTemplate()) {\n <ng-template monaTreeNodeTemplate let-dataItem let-element=\"element\">\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate() ?? null\"\n [ngTemplateOutletContext]=\"{ $implicit: dataItem, element }\"></ng-container>\n </ng-template>\n }\n </mona-tree>\n</div>\n", dependencies: [{ kind: "component", type: FilterInputComponent, selector: "mona-filter-input", inputs: ["debounce", "filter", "placeholder", "size"], outputs: ["filterChange", "inputBlur", "inputFocus"] }, { kind: "component", type: TreeComponent, selector: "mona-tree", inputs: ["ariaLabel", "data"] }, { kind: "directive", type: TreeNodeTemplateDirective, selector: "ng-template[monaTreeNodeTemplate]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
192
192
  }
193
193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TreeViewComponent, decorators: [{
194
194
  type: Component,
195
- args: [{ selector: "mona-tree-view", imports: [FilterInputComponent, TreeComponent, TreeNodeTemplateDirective, NgTemplateOutlet], providers: [TreeService], template: "@if (treeService.filterableOptions().enabled) {\r\n <div role=\"search\" [attr.aria-label]=\"filterAriaLabel()\">\r\n <mona-filter-input\r\n [filter]=\"treeService.filterText()\"\r\n [debounce]=\"treeService.filterableOptions().debounce\"\r\n [placeholder]=\"treeService.filterPlaceholder()\"\r\n (filterChange)=\"onFilterChange($event)\"></mona-filter-input>\r\n </div>\r\n}\r\n<div class=\"flex-1 overflow-auto\">\r\n <mona-tree [ariaLabel]=\"ariaLabel()\">\r\n @if (nodeTemplate()) {\r\n <ng-template monaTreeNodeTemplate let-dataItem let-element=\"element\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"nodeTemplate() ?? null\"\r\n [ngTemplateOutletContext]=\"{ $implicit: dataItem, element }\"></ng-container>\r\n </ng-template>\r\n }\r\n </mona-tree>\r\n</div>\r\n" }]
195
+ args: [{ selector: "mona-tree-view", imports: [FilterInputComponent, TreeComponent, TreeNodeTemplateDirective, NgTemplateOutlet], providers: [TreeService], template: "@if (treeService.filterableOptions().enabled) {\n <div role=\"search\" [attr.aria-label]=\"filterAriaLabel()\">\n <mona-filter-input\n [filter]=\"treeService.filterText()\"\n [debounce]=\"treeService.filterableOptions().debounce\"\n [placeholder]=\"treeService.filterPlaceholder()\"\n (filterChange)=\"onFilterChange($event)\"></mona-filter-input>\n </div>\n}\n<div class=\"flex-1 overflow-auto\">\n <mona-tree [ariaLabel]=\"ariaLabel()\">\n @if (nodeTemplate()) {\n <ng-template monaTreeNodeTemplate let-dataItem let-element=\"element\">\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate() ?? null\"\n [ngTemplateOutletContext]=\"{ $implicit: dataItem, element }\"></ng-container>\n </ng-template>\n }\n </mona-tree>\n</div>\n" }]
196
196
  }], ctorParameters: () => [], propDecorators: { nodeTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TreeViewNodeTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], animate: [{ type: i0.Input, args: [{ isSignal: true, alias: "animate", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], children: [{ type: i0.Input, args: [{ isSignal: true, alias: "children", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], hasChildren: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasChildren", required: false }] }], idField: [{ type: i0.Input, args: [{ isSignal: true, alias: "idField", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], blur: [{ type: i0.Output, args: ["blur"] }], focus: [{ type: i0.Output, args: ["focus"] }], nodeClick: [{ type: i0.Output, args: ["nodeClick"] }], parentIdField: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentIdField", required: false }] }], textField: [{ type: i0.Input, args: [{ isSignal: true, alias: "textField", required: false }] }] } });
197
197
 
198
198
  class TreeViewCheckableDirective {
@@ -432,10 +432,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
432
432
  }]
433
433
  }], ctorParameters: () => [], propDecorators: { direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: true }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], minHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "minHeight", required: false }] }], minWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minWidth", required: false }] }], windowRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "windowRef", required: true }] }] } });
434
434
 
435
- const windowBaseVariants = cva(`
436
- flex flex-col
437
- bg-background
438
- w-full h-full
435
+ const windowBaseVariants = cva(`
436
+ flex flex-col w-full h-full
437
+ bg-background text-foreground
439
438
  `, {
440
439
  variants: {
441
440
  rounded: {
@@ -449,11 +448,11 @@ const windowBaseVariants = cva(`
449
448
  rounded: "medium"
450
449
  }
451
450
  });
452
- const windowContentContainerVariants = cva(`
453
- flex flex-col
454
- relative w-full h-full
455
- border border-border
456
- shadow-sm
451
+ const windowContentContainerVariants = cva(`
452
+ flex flex-col
453
+ relative w-full h-full
454
+ border border-border
455
+ shadow-sm
457
456
  `, {
458
457
  variants: {
459
458
  rounded: {
@@ -464,11 +463,11 @@ const windowContentContainerVariants = cva(`
464
463
  }
465
464
  }
466
465
  });
467
- const windowContentVariants = cva(`
468
- flex-1 overflow-auto
466
+ const windowContentVariants = cva(`
467
+ flex-1 overflow-auto
469
468
  `);
470
- const windowResizerVariants = cva(`
471
- absolute flex
469
+ const windowResizerVariants = cva(`
470
+ absolute flex
472
471
  `, {
473
472
  variants: {
474
473
  position: {
@@ -483,13 +482,13 @@ const windowResizerVariants = cva(`
483
482
  }
484
483
  }
485
484
  });
486
- const windowTitleBarActionVariants = cva(`
487
- flex items-center space-evenly
485
+ const windowTitleBarActionVariants = cva(`
486
+ flex items-center space-evenly
488
487
  `);
489
- const windowTitleBarVariants = cva(`
490
- flex items-center justify-start
491
- px-2 py-1 text-sm overflow-hidden
492
- border-b border-border
488
+ const windowTitleBarVariants = cva(`
489
+ flex items-center justify-start
490
+ px-2 py-1 text-sm overflow-hidden
491
+ border-b border-border
493
492
  `, {
494
493
  variants: {
495
494
  look: {
@@ -504,14 +503,14 @@ const windowTitleBarVariants = cva(`
504
503
  }
505
504
  }
506
505
  });
507
- const windowTitleContainerVariants = cva(`
508
- flex items-center flex-1
509
- h-full cursor-default select-none
510
- overflow-hidden text-ellipsis
506
+ const windowTitleContainerVariants = cva(`
507
+ flex items-center flex-1
508
+ h-full cursor-default select-none
509
+ overflow-hidden text-ellipsis
511
510
  `);
512
- const windowTitleVariants = cva(`
513
- font-semibold
514
- overflow-hidden text-ellipsis whitespace-nowrap
511
+ const windowTitleVariants = cva(`
512
+ font-semibold
513
+ overflow-hidden text-ellipsis whitespace-nowrap
515
514
  `, {
516
515
  variants: {
517
516
  look: {
@@ -789,7 +788,7 @@ class WindowContentComponent {
789
788
  }
790
789
  }
791
790
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: WindowContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
792
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: WindowContentComponent, isStandalone: true, selector: "mona-window-content", host: { attributes: { "role": "dialog" }, properties: { "class": "baseClass()", "attr.aria-labelledby": "headerId", "attr.aria-modal": "windowData.modal ?? false" } }, viewQueries: [{ propertyName: "componentAnchor", first: true, predicate: ["componentAnchor"], descendants: true, read: ViewContainerRef, isSignal: true }], hostDirectives: [{ directive: i1.CdkTrapFocus }], ngImport: i0, template: "<div [class]=\"contentContainerClass()\">\r\n <div\r\n [class]=\"titleBarClass()\"\r\n monaWindowDragHandler\r\n (dblclick)=\"onMaximizeClick()\"\r\n [draggable]=\"windowData.draggable\"\r\n [windowRef]=\"windowData.windowReference\"\r\n [attr.tabindex]=\"windowData.draggable ? 0 : null\"\r\n [attr.aria-label]=\"windowData.draggable ? 'Move window. Use arrow keys to move.' : null\">\r\n <div [id]=\"headerId\" [class]=\"titleContainerClass()\">\r\n @if (windowData.titleTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"windowData.titleTemplate\"></ng-container>\r\n } @else {\r\n <span [class]=\"titleClass()\">{{ windowData.title ?? \"\" }}</span>\r\n }\r\n </div>\r\n <div [class]=\"titleBarActionClass()\">\r\n @if (windowData.actionTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"windowData.actionTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: windowData.windowReference.windowRef }\">\r\n </ng-container>\r\n }\r\n @let maximizeTitle = maximized() || minimized() ? \"Restore\" : \"Maximize\";\r\n @if (windowData.minimizable && !minimized()) {\r\n <button\r\n monaButton\r\n look=\"ghost\"\r\n size=\"small\"\r\n type=\"button\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"windowData.rounded\"\r\n [title]=\"'Minimize'\"\r\n aria-label=\"Minimize\"\r\n (dblclick)=\"$event.stopPropagation()\"\r\n (click)=\"onMinimizeClick()\">\r\n <svg lucideMinus [size]=\"16\" aria-hidden=\"true\"></svg>\r\n </button>\r\n }\r\n @if (windowData.maximizable) {\r\n <button\r\n monaButton\r\n look=\"ghost\"\r\n size=\"small\"\r\n type=\"button\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"windowData.rounded\"\r\n [title]=\"maximizeTitle\"\r\n [attr.aria-label]=\"maximizeTitle\"\r\n (dblclick)=\"$event.stopPropagation()\"\r\n (click)=\"onMaximizeClick()\">\r\n <svg [lucideIcon]=\"maximizeIcon()\" [size]=\"16\" aria-hidden=\"true\"></svg>\r\n </button>\r\n }\r\n @if (windowData.closable) {\r\n <button\r\n monaButton\r\n look=\"ghost\"\r\n size=\"small\"\r\n type=\"button\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"windowData.rounded\"\r\n title=\"Close\"\r\n aria-label=\"Close window\"\r\n (dblclick)=\"$event.stopPropagation()\"\r\n (click)=\"onCloseClick($event)\">\r\n <svg lucideX [size]=\"16\" aria-hidden=\"true\"></svg>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n @if (!minimized()) {\r\n <div [class]=\"contentClass()\">\r\n @switch (contentType()) {\r\n @case (\"template\") {\r\n <ng-container [ngTemplateOutlet]=\"contentTemplate()!\"></ng-container>\r\n }\r\n @case (\"component\") {\r\n <ng-container #componentAnchor></ng-container>\r\n }\r\n }\r\n </div>\r\n @if (windowData.footerTemplate) {\r\n <div>\r\n <ng-container [ngTemplateOutlet]=\"windowData.footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n }\r\n @if (windowData.resizable && !maximized()) {\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"north\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the top. Use arrow keys to resize.\"\r\n [class]=\"'north' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"south\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the bottom. Use arrow keys to resize.\"\r\n [class]=\"'south' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"east\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the right. Use arrow keys to resize.\"\r\n [class]=\"'east' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"west\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the left. Use arrow keys to resize.\"\r\n [class]=\"'west' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"northeast\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the top-right corner. Use arrow keys to resize.\"\r\n [class]=\"'northeast' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"northwest\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the top-left corner. Use arrow keys to resize.\"\r\n [class]=\"'northwest' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"southeast\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the bottom-right corner. Use arrow keys to resize.\"\r\n [class]=\"'southeast' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"southwest\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the bottom-left corner. Use arrow keys to resize.\"\r\n [class]=\"'southwest' | monaResizePosition\"></div>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "directive", type: WindowDragHandlerDirective, selector: "div[monaWindowDragHandler]", inputs: ["draggable", "windowRef"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ButtonDirective, selector: "button[monaButton]", inputs: ["aria-haspopup", "disabled", "iconOnly", "loading", "look", "rounded", "selected", "size", "tabindex", "toggleable", "class"], outputs: ["disabledChange", "loadingChange", "lookChange", "selectedChange"] }, { kind: "directive", type: WindowResizeHandlerDirective, selector: "div[monaWindowResizeHandler]", inputs: ["direction", "maxHeight", "maxWidth", "minHeight", "minWidth", "windowRef"] }, { kind: "component", type: LucideMinus, selector: "svg[lucideMinus]" }, { kind: "component", type: LucideDynamicIcon, selector: "svg[lucideIcon]", inputs: ["lucideIcon"] }, { kind: "component", type: LucideX, selector: "svg[lucideX]" }, { kind: "pipe", type: ResizePositionPipe, name: "monaResizePosition" }] }); }
791
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: WindowContentComponent, isStandalone: true, selector: "mona-window-content", host: { attributes: { "role": "dialog" }, properties: { "class": "baseClass()", "attr.aria-labelledby": "headerId", "attr.aria-modal": "windowData.modal ?? false" } }, viewQueries: [{ propertyName: "componentAnchor", first: true, predicate: ["componentAnchor"], descendants: true, read: ViewContainerRef, isSignal: true }], hostDirectives: [{ directive: i1.CdkTrapFocus }], ngImport: i0, template: "<div [class]=\"contentContainerClass()\">\n <div\n [class]=\"titleBarClass()\"\n monaWindowDragHandler\n (dblclick)=\"onMaximizeClick()\"\n [draggable]=\"windowData.draggable\"\n [windowRef]=\"windowData.windowReference\"\n [attr.tabindex]=\"windowData.draggable ? 0 : null\"\n [attr.aria-label]=\"windowData.draggable ? 'Move window. Use arrow keys to move.' : null\">\n <div [id]=\"headerId\" [class]=\"titleContainerClass()\">\n @if (windowData.titleTemplate) {\n <ng-container [ngTemplateOutlet]=\"windowData.titleTemplate\"></ng-container>\n } @else {\n <span [class]=\"titleClass()\">{{ windowData.title ?? \"\" }}</span>\n }\n </div>\n <div [class]=\"titleBarActionClass()\">\n @if (windowData.actionTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"windowData.actionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: windowData.windowReference.windowRef }\">\n </ng-container>\n }\n @let maximizeTitle = maximized() || minimized() ? \"Restore\" : \"Maximize\";\n @if (windowData.minimizable && !minimized()) {\n <button\n monaButton\n look=\"ghost\"\n size=\"small\"\n type=\"button\"\n [iconOnly]=\"true\"\n [rounded]=\"windowData.rounded\"\n [title]=\"'Minimize'\"\n aria-label=\"Minimize\"\n (dblclick)=\"$event.stopPropagation()\"\n (click)=\"onMinimizeClick()\">\n <svg lucideMinus [size]=\"16\" aria-hidden=\"true\"></svg>\n </button>\n }\n @if (windowData.maximizable) {\n <button\n monaButton\n look=\"ghost\"\n size=\"small\"\n type=\"button\"\n [iconOnly]=\"true\"\n [rounded]=\"windowData.rounded\"\n [title]=\"maximizeTitle\"\n [attr.aria-label]=\"maximizeTitle\"\n (dblclick)=\"$event.stopPropagation()\"\n (click)=\"onMaximizeClick()\">\n <svg [lucideIcon]=\"maximizeIcon()\" [size]=\"16\" aria-hidden=\"true\"></svg>\n </button>\n }\n @if (windowData.closable) {\n <button\n monaButton\n look=\"ghost\"\n size=\"small\"\n type=\"button\"\n [iconOnly]=\"true\"\n [rounded]=\"windowData.rounded\"\n title=\"Close\"\n aria-label=\"Close window\"\n (dblclick)=\"$event.stopPropagation()\"\n (click)=\"onCloseClick($event)\">\n <svg lucideX [size]=\"16\" aria-hidden=\"true\"></svg>\n </button>\n }\n </div>\n </div>\n @if (!minimized()) {\n <div [class]=\"contentClass()\">\n @switch (contentType()) {\n @case (\"template\") {\n <ng-container [ngTemplateOutlet]=\"contentTemplate()!\"></ng-container>\n }\n @case (\"component\") {\n <ng-container #componentAnchor></ng-container>\n }\n }\n </div>\n @if (windowData.footerTemplate) {\n <div>\n <ng-container [ngTemplateOutlet]=\"windowData.footerTemplate\"></ng-container>\n </div>\n }\n }\n @if (windowData.resizable && !maximized()) {\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"north\"\n tabindex=\"0\"\n aria-label=\"Resize window from the top. Use arrow keys to resize.\"\n [class]=\"'north' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"south\"\n tabindex=\"0\"\n aria-label=\"Resize window from the bottom. Use arrow keys to resize.\"\n [class]=\"'south' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"east\"\n tabindex=\"0\"\n aria-label=\"Resize window from the right. Use arrow keys to resize.\"\n [class]=\"'east' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"west\"\n tabindex=\"0\"\n aria-label=\"Resize window from the left. Use arrow keys to resize.\"\n [class]=\"'west' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"northeast\"\n tabindex=\"0\"\n aria-label=\"Resize window from the top-right corner. Use arrow keys to resize.\"\n [class]=\"'northeast' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"northwest\"\n tabindex=\"0\"\n aria-label=\"Resize window from the top-left corner. Use arrow keys to resize.\"\n [class]=\"'northwest' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"southeast\"\n tabindex=\"0\"\n aria-label=\"Resize window from the bottom-right corner. Use arrow keys to resize.\"\n [class]=\"'southeast' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"southwest\"\n tabindex=\"0\"\n aria-label=\"Resize window from the bottom-left corner. Use arrow keys to resize.\"\n [class]=\"'southwest' | monaResizePosition\"></div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: WindowDragHandlerDirective, selector: "div[monaWindowDragHandler]", inputs: ["draggable", "windowRef"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ButtonDirective, selector: "button[monaButton]", inputs: ["aria-haspopup", "disabled", "iconOnly", "loading", "look", "rounded", "selected", "size", "tabindex", "toggleable", "class"], outputs: ["disabledChange", "loadingChange", "lookChange", "selectedChange"] }, { kind: "directive", type: WindowResizeHandlerDirective, selector: "div[monaWindowResizeHandler]", inputs: ["direction", "maxHeight", "maxWidth", "minHeight", "minWidth", "windowRef"] }, { kind: "component", type: LucideMinus, selector: "svg[lucideMinus]" }, { kind: "component", type: LucideDynamicIcon, selector: "svg[lucideIcon]", inputs: ["lucideIcon"] }, { kind: "component", type: LucideX, selector: "svg[lucideX]" }, { kind: "pipe", type: ResizePositionPipe, name: "monaResizePosition" }] }); }
793
792
  }
794
793
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: WindowContentComponent, decorators: [{
795
794
  type: Component,
@@ -807,7 +806,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
807
806
  "[attr.aria-labelledby]": "headerId",
808
807
  "[attr.aria-modal]": "windowData.modal ?? false",
809
808
  role: "dialog"
810
- }, hostDirectives: [CdkTrapFocus], template: "<div [class]=\"contentContainerClass()\">\r\n <div\r\n [class]=\"titleBarClass()\"\r\n monaWindowDragHandler\r\n (dblclick)=\"onMaximizeClick()\"\r\n [draggable]=\"windowData.draggable\"\r\n [windowRef]=\"windowData.windowReference\"\r\n [attr.tabindex]=\"windowData.draggable ? 0 : null\"\r\n [attr.aria-label]=\"windowData.draggable ? 'Move window. Use arrow keys to move.' : null\">\r\n <div [id]=\"headerId\" [class]=\"titleContainerClass()\">\r\n @if (windowData.titleTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"windowData.titleTemplate\"></ng-container>\r\n } @else {\r\n <span [class]=\"titleClass()\">{{ windowData.title ?? \"\" }}</span>\r\n }\r\n </div>\r\n <div [class]=\"titleBarActionClass()\">\r\n @if (windowData.actionTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"windowData.actionTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: windowData.windowReference.windowRef }\">\r\n </ng-container>\r\n }\r\n @let maximizeTitle = maximized() || minimized() ? \"Restore\" : \"Maximize\";\r\n @if (windowData.minimizable && !minimized()) {\r\n <button\r\n monaButton\r\n look=\"ghost\"\r\n size=\"small\"\r\n type=\"button\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"windowData.rounded\"\r\n [title]=\"'Minimize'\"\r\n aria-label=\"Minimize\"\r\n (dblclick)=\"$event.stopPropagation()\"\r\n (click)=\"onMinimizeClick()\">\r\n <svg lucideMinus [size]=\"16\" aria-hidden=\"true\"></svg>\r\n </button>\r\n }\r\n @if (windowData.maximizable) {\r\n <button\r\n monaButton\r\n look=\"ghost\"\r\n size=\"small\"\r\n type=\"button\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"windowData.rounded\"\r\n [title]=\"maximizeTitle\"\r\n [attr.aria-label]=\"maximizeTitle\"\r\n (dblclick)=\"$event.stopPropagation()\"\r\n (click)=\"onMaximizeClick()\">\r\n <svg [lucideIcon]=\"maximizeIcon()\" [size]=\"16\" aria-hidden=\"true\"></svg>\r\n </button>\r\n }\r\n @if (windowData.closable) {\r\n <button\r\n monaButton\r\n look=\"ghost\"\r\n size=\"small\"\r\n type=\"button\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"windowData.rounded\"\r\n title=\"Close\"\r\n aria-label=\"Close window\"\r\n (dblclick)=\"$event.stopPropagation()\"\r\n (click)=\"onCloseClick($event)\">\r\n <svg lucideX [size]=\"16\" aria-hidden=\"true\"></svg>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n @if (!minimized()) {\r\n <div [class]=\"contentClass()\">\r\n @switch (contentType()) {\r\n @case (\"template\") {\r\n <ng-container [ngTemplateOutlet]=\"contentTemplate()!\"></ng-container>\r\n }\r\n @case (\"component\") {\r\n <ng-container #componentAnchor></ng-container>\r\n }\r\n }\r\n </div>\r\n @if (windowData.footerTemplate) {\r\n <div>\r\n <ng-container [ngTemplateOutlet]=\"windowData.footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n }\r\n @if (windowData.resizable && !maximized()) {\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"north\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the top. Use arrow keys to resize.\"\r\n [class]=\"'north' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"south\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the bottom. Use arrow keys to resize.\"\r\n [class]=\"'south' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"east\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the right. Use arrow keys to resize.\"\r\n [class]=\"'east' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"west\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the left. Use arrow keys to resize.\"\r\n [class]=\"'west' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"northeast\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the top-right corner. Use arrow keys to resize.\"\r\n [class]=\"'northeast' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"northwest\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the top-left corner. Use arrow keys to resize.\"\r\n [class]=\"'northwest' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"southeast\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the bottom-right corner. Use arrow keys to resize.\"\r\n [class]=\"'southeast' | monaResizePosition\"></div>\r\n <div\r\n monaWindowResizeHandler\r\n [minWidth]=\"windowData.minWidth\"\r\n [minHeight]=\"windowData.minHeight\"\r\n [maxWidth]=\"windowData.maxWidth\"\r\n [maxHeight]=\"windowData.maxHeight\"\r\n [windowRef]=\"windowData.windowReference\"\r\n direction=\"southwest\"\r\n tabindex=\"0\"\r\n aria-label=\"Resize window from the bottom-left corner. Use arrow keys to resize.\"\r\n [class]=\"'southwest' | monaResizePosition\"></div>\r\n }\r\n</div>\r\n" }]
809
+ }, hostDirectives: [CdkTrapFocus], template: "<div [class]=\"contentContainerClass()\">\n <div\n [class]=\"titleBarClass()\"\n monaWindowDragHandler\n (dblclick)=\"onMaximizeClick()\"\n [draggable]=\"windowData.draggable\"\n [windowRef]=\"windowData.windowReference\"\n [attr.tabindex]=\"windowData.draggable ? 0 : null\"\n [attr.aria-label]=\"windowData.draggable ? 'Move window. Use arrow keys to move.' : null\">\n <div [id]=\"headerId\" [class]=\"titleContainerClass()\">\n @if (windowData.titleTemplate) {\n <ng-container [ngTemplateOutlet]=\"windowData.titleTemplate\"></ng-container>\n } @else {\n <span [class]=\"titleClass()\">{{ windowData.title ?? \"\" }}</span>\n }\n </div>\n <div [class]=\"titleBarActionClass()\">\n @if (windowData.actionTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"windowData.actionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: windowData.windowReference.windowRef }\">\n </ng-container>\n }\n @let maximizeTitle = maximized() || minimized() ? \"Restore\" : \"Maximize\";\n @if (windowData.minimizable && !minimized()) {\n <button\n monaButton\n look=\"ghost\"\n size=\"small\"\n type=\"button\"\n [iconOnly]=\"true\"\n [rounded]=\"windowData.rounded\"\n [title]=\"'Minimize'\"\n aria-label=\"Minimize\"\n (dblclick)=\"$event.stopPropagation()\"\n (click)=\"onMinimizeClick()\">\n <svg lucideMinus [size]=\"16\" aria-hidden=\"true\"></svg>\n </button>\n }\n @if (windowData.maximizable) {\n <button\n monaButton\n look=\"ghost\"\n size=\"small\"\n type=\"button\"\n [iconOnly]=\"true\"\n [rounded]=\"windowData.rounded\"\n [title]=\"maximizeTitle\"\n [attr.aria-label]=\"maximizeTitle\"\n (dblclick)=\"$event.stopPropagation()\"\n (click)=\"onMaximizeClick()\">\n <svg [lucideIcon]=\"maximizeIcon()\" [size]=\"16\" aria-hidden=\"true\"></svg>\n </button>\n }\n @if (windowData.closable) {\n <button\n monaButton\n look=\"ghost\"\n size=\"small\"\n type=\"button\"\n [iconOnly]=\"true\"\n [rounded]=\"windowData.rounded\"\n title=\"Close\"\n aria-label=\"Close window\"\n (dblclick)=\"$event.stopPropagation()\"\n (click)=\"onCloseClick($event)\">\n <svg lucideX [size]=\"16\" aria-hidden=\"true\"></svg>\n </button>\n }\n </div>\n </div>\n @if (!minimized()) {\n <div [class]=\"contentClass()\">\n @switch (contentType()) {\n @case (\"template\") {\n <ng-container [ngTemplateOutlet]=\"contentTemplate()!\"></ng-container>\n }\n @case (\"component\") {\n <ng-container #componentAnchor></ng-container>\n }\n }\n </div>\n @if (windowData.footerTemplate) {\n <div>\n <ng-container [ngTemplateOutlet]=\"windowData.footerTemplate\"></ng-container>\n </div>\n }\n }\n @if (windowData.resizable && !maximized()) {\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"north\"\n tabindex=\"0\"\n aria-label=\"Resize window from the top. Use arrow keys to resize.\"\n [class]=\"'north' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"south\"\n tabindex=\"0\"\n aria-label=\"Resize window from the bottom. Use arrow keys to resize.\"\n [class]=\"'south' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"east\"\n tabindex=\"0\"\n aria-label=\"Resize window from the right. Use arrow keys to resize.\"\n [class]=\"'east' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"west\"\n tabindex=\"0\"\n aria-label=\"Resize window from the left. Use arrow keys to resize.\"\n [class]=\"'west' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"northeast\"\n tabindex=\"0\"\n aria-label=\"Resize window from the top-right corner. Use arrow keys to resize.\"\n [class]=\"'northeast' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"northwest\"\n tabindex=\"0\"\n aria-label=\"Resize window from the top-left corner. Use arrow keys to resize.\"\n [class]=\"'northwest' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"southeast\"\n tabindex=\"0\"\n aria-label=\"Resize window from the bottom-right corner. Use arrow keys to resize.\"\n [class]=\"'southeast' | monaResizePosition\"></div>\n <div\n monaWindowResizeHandler\n [minWidth]=\"windowData.minWidth\"\n [minHeight]=\"windowData.minHeight\"\n [maxWidth]=\"windowData.maxWidth\"\n [maxHeight]=\"windowData.maxHeight\"\n [windowRef]=\"windowData.windowReference\"\n direction=\"southwest\"\n tabindex=\"0\"\n aria-label=\"Resize window from the bottom-left corner. Use arrow keys to resize.\"\n [class]=\"'southwest' | monaResizePosition\"></div>\n }\n</div>\n" }]
811
810
  }], ctorParameters: () => [], propDecorators: { componentAnchor: [{ type: i0.ViewChild, args: ["componentAnchor", { ...{
812
811
  read: ViewContainerRef
813
812
  }, isSignal: true }] }] } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nanahoshi/mona-ui",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "A very light Angular UI framework",
5
5
  "author": "Nanahoshi",
6
6
  "repository": {
@@ -19,7 +19,6 @@
19
19
  "@angular/platform-browser": ">=22.0.0 <24.0.0",
20
20
  "@angular/platform-browser-dynamic": ">=22.0.0 <24.0.0",
21
21
  "@angular/router": ">=22.0.0 <24.0.0",
22
- "@fortawesome/angular-fontawesome": "^5.0.0",
23
22
  "@tiptap/core": "^3.26.1",
24
23
  "@tiptap/extension-color": "^3.26.1",
25
24
  "@tiptap/extension-font-family": "^3.26.1",
@@ -42,8 +41,6 @@
42
41
  "rxjs": "^7.8.2"
43
42
  },
44
43
  "dependencies": {
45
- "@fortawesome/fontawesome-svg-core": "^7.2.0",
46
- "@fortawesome/free-solid-svg-icons": "^7.2.0",
47
44
  "@lucide/angular": "^1.21.0",
48
45
  "@mirei/ts-collections": "^17.5.6",
49
46
  "class-variance-authority": "^0.7.1",
@@ -123,6 +120,10 @@
123
120
  "types": "./types/nanahoshi-mona-ui-contextmenu.d.ts",
124
121
  "default": "./fesm2022/nanahoshi-mona-ui-contextmenu.mjs"
125
122
  },
123
+ "./date-input": {
124
+ "types": "./types/nanahoshi-mona-ui-date-input.d.ts",
125
+ "default": "./fesm2022/nanahoshi-mona-ui-date-input.mjs"
126
+ },
126
127
  "./date-picker": {
127
128
  "types": "./types/nanahoshi-mona-ui-date-picker.d.ts",
128
129
  "default": "./fesm2022/nanahoshi-mona-ui-date-picker.mjs"
@@ -167,6 +168,26 @@
167
168
  "types": "./types/nanahoshi-mona-ui-grid.d.ts",
168
169
  "default": "./fesm2022/nanahoshi-mona-ui-grid.mjs"
169
170
  },
171
+ "./internal": {
172
+ "types": "./types/nanahoshi-mona-ui-internal.d.ts",
173
+ "default": "./fesm2022/nanahoshi-mona-ui-internal.mjs"
174
+ },
175
+ "./internal/filter-input": {
176
+ "types": "./types/nanahoshi-mona-ui-internal-filter-input.d.ts",
177
+ "default": "./fesm2022/nanahoshi-mona-ui-internal-filter-input.mjs"
178
+ },
179
+ "./internal/indicator-icon": {
180
+ "types": "./types/nanahoshi-mona-ui-internal-indicator-icon.d.ts",
181
+ "default": "./fesm2022/nanahoshi-mona-ui-internal-indicator-icon.mjs"
182
+ },
183
+ "./internal/list": {
184
+ "types": "./types/nanahoshi-mona-ui-internal-list.d.ts",
185
+ "default": "./fesm2022/nanahoshi-mona-ui-internal-list.mjs"
186
+ },
187
+ "./internal/tree": {
188
+ "types": "./types/nanahoshi-mona-ui-internal-tree.d.ts",
189
+ "default": "./fesm2022/nanahoshi-mona-ui-internal-tree.mjs"
190
+ },
170
191
  "./list": {
171
192
  "types": "./types/nanahoshi-mona-ui-list.d.ts",
172
193
  "default": "./fesm2022/nanahoshi-mona-ui-list.mjs"
@@ -219,6 +240,10 @@
219
240
  "types": "./types/nanahoshi-mona-ui-progress-bar.d.ts",
220
241
  "default": "./fesm2022/nanahoshi-mona-ui-progress-bar.mjs"
221
242
  },
243
+ "./query": {
244
+ "types": "./types/nanahoshi-mona-ui-query.d.ts",
245
+ "default": "./fesm2022/nanahoshi-mona-ui-query.mjs"
246
+ },
222
247
  "./radio-button": {
223
248
  "types": "./types/nanahoshi-mona-ui-radio-button.d.ts",
224
249
  "default": "./fesm2022/nanahoshi-mona-ui-radio-button.mjs"
@@ -286,4 +311,4 @@
286
311
  },
287
312
  "sideEffects": false,
288
313
  "type": "module"
289
- }
314
+ }
@@ -1,8 +1,8 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import * as class_variance_authority_types from 'class-variance-authority/types';
3
- import { VariantProps } from 'class-variance-authority';
4
3
  import { VariantInputs } from '@nanahoshi/mona-ui/internal';
5
4
  import { ThemeStyle } from '@nanahoshi/mona-ui/theme';
5
+ import { VariantProps } from 'class-variance-authority';
6
6
  import { Subject } from 'rxjs';
7
7
 
8
8
  declare const buttonThemeVariants: (theme: ThemeStyle) => (props?: ({
@@ -19,6 +19,7 @@ type ButtonVariantsInput = VariantInputs<ButtonVariantProps>;
19
19
 
20
20
  declare class ButtonDirective implements ButtonVariantsInput {
21
21
  #private;
22
+ protected readonly displaysPressedState: _angular_core.Signal<boolean>;
22
23
  protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
23
24
  protected readonly effectiveLook: _angular_core.Signal<"default" | "primary" | "success" | "error" | "warning" | "info" | "outline" | "secondary" | "ghost" | "link" | "clear" | null | undefined>;
24
25
  protected readonly effectiveRounded: _angular_core.Signal<"full" | "large" | "medium" | "none" | "small" | null | undefined>;
@@ -83,9 +84,9 @@ declare class ButtonDirective implements ButtonVariantsInput {
83
84
  /**
84
85
  * @description Enables toggle behavior — each click flips the `selected` state and `aria-pressed` is managed.
85
86
  * Must use `[toggleable]="true"` binding syntax, not bare attribute form.
86
- * @default false
87
+ * @default undefined
87
88
  */
88
- readonly toggleable: _angular_core.InputSignal<boolean>;
89
+ readonly toggleable: _angular_core.InputSignal<boolean | undefined>;
89
90
  /**
90
91
  * @description Additional CSS classes merged onto the host element via `tailwind-merge`.
91
92
  * @default ""
@@ -1,6 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { OnInit, Signal, TemplateRef } from '@angular/core';
3
- import * as _fortawesome_fontawesome_common_types from '@fortawesome/fontawesome-common-types';
4
3
  import { FormValueControl } from '@angular/forms/signals';
5
4
  import { PaletteType } from '@nanahoshi/mona-ui/common';
6
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
@@ -32,8 +31,6 @@ declare class ColorPickerComponent implements OnInit, ColorPickerVariantInput, F
32
31
  protected readonly colorClasses: Signal<string>;
33
32
  protected readonly expanded: Signal<boolean>;
34
33
  protected readonly invalidState: Signal<boolean>;
35
- protected readonly noColorIcon: _fortawesome_fontawesome_common_types.IconDefinition;
36
- protected readonly dropdownIcon: _fortawesome_fontawesome_common_types.IconDefinition;
37
34
  protected readonly popupId: string;
38
35
  protected readonly popupTemplate: Signal<TemplateRef<any>>;
39
36
  protected readonly valueTemplate: Signal<TemplateRef<any> | undefined>;
@@ -4,9 +4,9 @@ import { PopupCloseEvent, PopupRef } from '@nanahoshi/mona-ui/popup';
4
4
  import { ButtonVariantProps } from '@nanahoshi/mona-ui/button';
5
5
  import { PreventableEvent } from '@nanahoshi/mona-ui/common';
6
6
  import * as class_variance_authority_types from 'class-variance-authority/types';
7
- import { VariantProps } from 'class-variance-authority';
8
- import { ThemeStyle } from '@nanahoshi/mona-ui/theme';
9
7
  import { VariantInputs } from '@nanahoshi/mona-ui/internal';
8
+ import { ThemeStyle } from '@nanahoshi/mona-ui/theme';
9
+ import { VariantProps } from 'class-variance-authority';
10
10
  import { Observable } from 'rxjs';
11
11
 
12
12
  type ActionsLayout = "end" | "center" | "start" | "stretched";