@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
@@ -1,2 +1,2 @@
1
- export { C as CellEditEvent, w as GridAddCommandDirective, x as GridAddEvent, y as GridCancelCommandDirective, z as GridCancelEvent, A as GridCellTemplateDirective, B as GridColumnComponent, D as GridColumnTitleTemplateDirective, E as GridCommandColumnComponent, F as GridComponent, H as GridContextMenuDirective, I as GridDetailTemplateDirective, J as GridEditCommandDirective, K as GridEditEvent, L as GridEditTemplateDirective, M as GridEditableDirective, N as GridExportDirective, O as GridFilterableDirective, P as GridFooterTemplateDirective, Q as GridGroupFooterTemplateDirective, R as GridGroupableDirective, S as GridHeaderTemplateDirective, T as GridNoDataTemplateDirective, U as GridRemoveCommandDirective, V as GridRemoveEvent, W as GridReorderableDirective, X as GridResizableDirective, Y as GridSaveCommandDirective, Z as GridSaveEvent, _ as GridSelectableDirective, $ as GridSortableDirective, a0 as GridStatePersistenceDirective, a1 as GridToolbarTemplateDirective, a2 as GridVirtualScrollDirective, a3 as RowEditEvent } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-C3eZIaJK.mjs';
1
+ export { C as CellEditEvent, w as GridAddCommandDirective, x as GridAddEvent, y as GridCancelCommandDirective, z as GridCancelEvent, A as GridCellTemplateDirective, B as GridColumnComponent, D as GridColumnTitleTemplateDirective, E as GridCommandColumnComponent, F as GridComponent, H as GridContextMenuDirective, I as GridDetailTemplateDirective, J as GridEditCommandDirective, K as GridEditEvent, L as GridEditTemplateDirective, M as GridEditableDirective, N as GridExportDirective, O as GridFilterableDirective, P as GridFooterTemplateDirective, Q as GridGroupFooterTemplateDirective, R as GridGroupableDirective, S as GridHeaderTemplateDirective, T as GridNoDataTemplateDirective, U as GridRemoveCommandDirective, V as GridRemoveEvent, W as GridReorderableDirective, X as GridResizableDirective, Y as GridSaveCommandDirective, Z as GridSaveEvent, _ as GridSelectableDirective, $ as GridSortableDirective, a0 as GridStatePersistenceDirective, a1 as GridToolbarTemplateDirective, a2 as GridVirtualScrollDirective, a3 as RowEditEvent } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-T9Bj98kl.mjs';
2
2
  //# sourceMappingURL=nanahoshi-mona-ui-grid.mjs.map
@@ -8,9 +8,9 @@ import { FilterInputComponent } from '@nanahoshi/mona-ui/internal/filter-input';
8
8
  import { PlaceholderComponent } from '@nanahoshi/mona-ui/placeholder';
9
9
  import { Subject, ReplaySubject, fromEvent, asyncScheduler, filter, tap } from 'rxjs';
10
10
  import { twMerge } from 'tailwind-merge';
11
- import { cva } from 'class-variance-authority';
12
11
  import { ImmutableList, from, ImmutableSet, toImmutableSet } from '@mirei/ts-collections';
13
12
  import { v4 } from 'uuid';
13
+ import { cva } from 'class-variance-authority';
14
14
  import * as i1 from '@angular/forms';
15
15
  import { FormsModule } from '@angular/forms';
16
16
  import { CheckboxDirective } from '@nanahoshi/mona-ui/check-box';
@@ -63,86 +63,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
63
63
  }]
64
64
  }] });
65
65
 
66
- const listVariants = cva(`
67
- h-full flex flex-col overflow-hidden outline-none
68
- `);
69
- const listInnerListVariants = cva(`
70
- list-none p-0 m-0 overflow-x-hidden overflow-y-auto
71
- h-full outline-none
72
- `);
73
- const listGroupHeaderVariants = cva(``, {
74
- variants: {
75
- hasTemplate: {
76
- true: "",
77
- false: "py-1 font-bold"
78
- }
79
- }
80
- });
81
- const listGroupHeaderTextVariants = cva(`select-none`, {
82
- variants: {
83
- hasTemplate: {
84
- true: "",
85
- false: "font-bold w-full px-3 py-1"
86
- }
87
- }
88
- });
89
- const listItemBaseVariants = cva(`
90
- w-full h-full flex gap-2 items-center
91
- `);
92
- const listItemContentVariants = cva(`
93
- relative flex cursor-default select-none items-center
94
- outline-none px-3 py-1
95
- hover:bg-accent hover:text-accent-foreground
96
- focus:bg-accent focus:text-accent-foreground
97
- `, {
98
- variants: {
99
- checkboxes: {
100
- true: "gap-2",
101
- false: ""
102
- },
103
- highlighted: {
104
- true: "bg-accent text-accent-foreground rounded-none inset-ring-1 inset-ring-gray-400/70",
105
- false: ""
106
- },
107
- selected: {
108
- true: "bg-primary text-primary-foreground inset-ring-1 inset-ring-primary-foreground/40",
109
- false: ""
110
- },
111
- disabled: {
112
- true: "pointer-events-none opacity-50 cursor-default",
113
- false: "cursor-pointer"
114
- }
115
- },
116
- compoundVariants: [
117
- {
118
- selected: true,
119
- checkboxes: false,
120
- class: `
121
- bg-primary text-primary-foreground rounded-none
122
- inset-ring-1 inset-ring-primary-foreground/40
123
- hover:bg-primary hover:text-primary-foreground
124
- focus:bg-primary focus:text-primary-foreground
125
- `
126
- },
127
- {
128
- highlighted: true,
129
- selected: true,
130
- checkboxes: false,
131
- class: `
132
- bg-primary text-primary-foreground rounded-none
133
- inset-ring-1 inset-ring-primary-foreground/40
134
- hover:bg-primary hover:text-primary-foreground
135
- focus:bg-primary focus:text-primary-foreground
136
- `
137
- },
138
- {
139
- selected: true,
140
- checkboxes: true,
141
- class: `bg-transparent text-foreground`
142
- }
143
- ]
144
- });
145
-
146
66
  class ListItem {
147
67
  constructor(options) {
148
68
  this.header = "";
@@ -794,6 +714,86 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
794
714
  type: Injectable
795
715
  }] });
796
716
 
717
+ const listVariants = cva(`
718
+ h-full flex flex-col overflow-hidden outline-none
719
+ `);
720
+ const listInnerListVariants = cva(`
721
+ list-none p-0 m-0 overflow-x-hidden overflow-y-auto
722
+ h-full outline-none
723
+ `);
724
+ const listGroupHeaderVariants = cva(``, {
725
+ variants: {
726
+ hasTemplate: {
727
+ true: "",
728
+ false: "py-1 font-bold"
729
+ }
730
+ }
731
+ });
732
+ const listGroupHeaderTextVariants = cva(`select-none`, {
733
+ variants: {
734
+ hasTemplate: {
735
+ true: "",
736
+ false: "font-bold w-full px-3 py-1"
737
+ }
738
+ }
739
+ });
740
+ const listItemBaseVariants = cva(`
741
+ w-full h-full flex gap-2 items-center
742
+ `);
743
+ const listItemContentVariants = cva(`
744
+ relative flex cursor-default select-none items-center
745
+ outline-none px-3 py-1
746
+ hover:bg-accent hover:text-accent-foreground
747
+ focus:bg-accent focus:text-accent-foreground
748
+ `, {
749
+ variants: {
750
+ checkboxes: {
751
+ true: "gap-2",
752
+ false: ""
753
+ },
754
+ highlighted: {
755
+ true: "bg-accent text-accent-foreground rounded-none inset-ring-1 inset-ring-gray-400/70",
756
+ false: ""
757
+ },
758
+ selected: {
759
+ true: "bg-primary text-primary-foreground inset-ring-1 inset-ring-primary-foreground/40",
760
+ false: ""
761
+ },
762
+ disabled: {
763
+ true: "pointer-events-none opacity-50 cursor-default",
764
+ false: "cursor-pointer"
765
+ }
766
+ },
767
+ compoundVariants: [
768
+ {
769
+ selected: true,
770
+ checkboxes: false,
771
+ class: `
772
+ bg-primary text-primary-foreground rounded-none
773
+ inset-ring-1 inset-ring-primary-foreground/40
774
+ hover:bg-primary hover:text-primary-foreground
775
+ focus:bg-primary focus:text-primary-foreground
776
+ `
777
+ },
778
+ {
779
+ highlighted: true,
780
+ selected: true,
781
+ checkboxes: false,
782
+ class: `
783
+ bg-primary text-primary-foreground rounded-none
784
+ inset-ring-1 inset-ring-primary-foreground/40
785
+ hover:bg-primary hover:text-primary-foreground
786
+ focus:bg-primary focus:text-primary-foreground
787
+ `
788
+ },
789
+ {
790
+ selected: true,
791
+ checkboxes: true,
792
+ class: `bg-transparent text-foreground`
793
+ }
794
+ ]
795
+ });
796
+
797
797
  class ListItemDirective {
798
798
  #listService;
799
799
  constructor() {
@@ -1180,28 +1180,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
1180
1180
  type: Injectable
1181
1181
  }], ctorParameters: () => [] });
1182
1182
 
1183
- const subTreeListVariants = cva(`
1184
- list-none flex flex-col
1183
+ const subTreeListVariants = cva(`
1184
+ list-none flex flex-col
1185
1185
  `);
1186
- const subTreeListItemVariants = cva(`
1187
- relative overflow-hidden outline-none
1188
- ps-6
1186
+ const subTreeListItemVariants = cva(`
1187
+ relative overflow-hidden outline-none
1188
+ ps-6
1189
1189
  `);
1190
- const treeBaseVariants = cva(`
1191
- relative outline-none select-none
1192
- text-md
1190
+ const treeBaseVariants = cva(`
1191
+ relative outline-none select-none
1192
+ text-md
1193
1193
  `);
1194
- const treeDropHintBaseVariants = cva(`
1195
- fixed z-1 w-10 h-0.5
1196
- bg-primary opacity-80
1197
- pointer-events-none
1194
+ const treeDropHintBaseVariants = cva(`
1195
+ fixed z-1 w-10 h-0.5
1196
+ bg-primary opacity-80
1197
+ pointer-events-none
1198
1198
  `);
1199
- const treeDropHintIconVariants = cva(`
1200
- absolute flex items-center justify-center
1201
- -top-3.25 -left-3.5 text-xl
1199
+ const treeDropHintIconVariants = cva(`
1200
+ absolute flex items-center justify-center
1201
+ -top-3.25 -left-3.5 text-xl
1202
1202
  `);
1203
- const treeNodeBaseVariants = cva(`
1204
- px-2 py-1 cursor-default
1203
+ const treeNodeBaseVariants = cva(`
1204
+ px-2 py-1 cursor-default
1205
1205
  `, {
1206
1206
  variants: {
1207
1207
  disabled: {
@@ -1230,20 +1230,20 @@ const treeNodeBaseVariants = cva(`
1230
1230
  }
1231
1231
  ]
1232
1232
  });
1233
- const treeNodeContainerVariants = cva(`
1234
- flex items-center
1233
+ const treeNodeContainerVariants = cva(`
1234
+ flex items-center
1235
1235
  `);
1236
- const treeNodeDraggingVariants = cva(`
1237
- flex items-center justify-center
1238
- px-2! py-1! top-3!
1239
- bg-background! text-foreground!
1240
- border! border-border!
1241
- shadow-md
1236
+ const treeNodeDraggingVariants = cva(`
1237
+ flex items-center justify-center
1238
+ px-2! py-1! top-3!
1239
+ bg-background! text-foreground!
1240
+ border! border-border!
1241
+ shadow-md
1242
1242
  `);
1243
- const treeNodeExpanderVariants = cva(`
1244
- min-w-6 h-full -ms-6
1245
- flex items-center justify-center
1246
- cursor-pointer text-sm text-foreground
1243
+ const treeNodeExpanderVariants = cva(`
1244
+ min-w-6 h-full -ms-6
1245
+ flex items-center justify-center
1246
+ cursor-pointer text-sm text-foreground
1247
1247
  `);
1248
1248
 
1249
1249
  const subTreeListThemeVariants = (theme) => {
@@ -1635,11 +1635,11 @@ class TreeNodeComponent {
1635
1635
  });
1636
1636
  }
1637
1637
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1638
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: TreeNodeComponent, isStandalone: true, selector: "mona-tree-node", inputs: { depth: { classPropertyName: "depth", publicName: "depth", isSignal: true, isRequired: false, transformFunction: null }, node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div [class]=\"baseClass()\" (click)=\"onNodeClick($event)\" (contextmenu)=\"onNodeContextMenu($event)\" #element>\r\n @if (treeService.nodeTemplate()) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"treeService.nodeTemplate()\"\r\n [ngTemplateOutletContext]=\"{\r\n $implicit: node()?.data,\r\n element: element.parentElement\r\n }\"></ng-container>\r\n } @else {\r\n <span class=\"truncate\">{{ nodeText() }}</span>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1638
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: TreeNodeComponent, isStandalone: true, selector: "mona-tree-node", inputs: { depth: { classPropertyName: "depth", publicName: "depth", isSignal: true, isRequired: false, transformFunction: null }, node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div [class]=\"baseClass()\" (click)=\"onNodeClick($event)\" (contextmenu)=\"onNodeContextMenu($event)\" #element>\n @if (treeService.nodeTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"treeService.nodeTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: node()?.data,\n element: element.parentElement\n }\"></ng-container>\n } @else {\n <span class=\"truncate\">{{ nodeText() }}</span>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1639
1639
  }
1640
1640
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TreeNodeComponent, decorators: [{
1641
1641
  type: Component,
1642
- args: [{ selector: "mona-tree-node", changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet], template: "<div [class]=\"baseClass()\" (click)=\"onNodeClick($event)\" (contextmenu)=\"onNodeContextMenu($event)\" #element>\r\n @if (treeService.nodeTemplate()) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"treeService.nodeTemplate()\"\r\n [ngTemplateOutletContext]=\"{\r\n $implicit: node()?.data,\r\n element: element.parentElement\r\n }\"></ng-container>\r\n } @else {\r\n <span class=\"truncate\">{{ nodeText() }}</span>\r\n }\r\n</div>\r\n" }]
1642
+ args: [{ selector: "mona-tree-node", changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet], template: "<div [class]=\"baseClass()\" (click)=\"onNodeClick($event)\" (contextmenu)=\"onNodeContextMenu($event)\" #element>\n @if (treeService.nodeTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"treeService.nodeTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: node()?.data,\n element: element.parentElement\n }\"></ng-container>\n } @else {\n <span class=\"truncate\">{{ nodeText() }}</span>\n }\n</div>\n" }]
1643
1643
  }], ctorParameters: () => [], propDecorators: { depth: [{ type: i0.Input, args: [{ isSignal: true, alias: "depth", required: false }] }], node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required: false }] }] } });
1644
1644
 
1645
1645
  class SubTreeComponent {
@@ -1783,7 +1783,7 @@ class SubTreeComponent {
1783
1783
  element.focus();
1784
1784
  }
1785
1785
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SubTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1786
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: SubTreeComponent, isStandalone: true, selector: "mona-sub-tree", inputs: { depth: { classPropertyName: "depth", publicName: "depth", isSignal: true, isRequired: true, transformFunction: null }, nodes: { classPropertyName: "nodes", publicName: "nodes", isSignal: true, isRequired: true, transformFunction: null }, parent: { classPropertyName: "parent", publicName: "parent", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ul\r\n [class]=\"listClass()\"\r\n [attr.role]=\"parent() ? 'group' : null\"\r\n cdkDropList\r\n [cdkDropListSortingDisabled]=\"true\"\r\n (cdkDropListDropped)=\"onNodeDrop($event)\">\r\n @for (node of visibleNodes(); track node.uid) {\r\n <li\r\n [attr.id]=\"node.uid | treeNodeElementId\"\r\n [attr.data-uid]=\"node.uid\"\r\n [class]=\"listItemClass()\"\r\n [tabindex]=\"-1\"\r\n role=\"treeitem\"\r\n [attr.aria-level]=\"depth() + 1\"\r\n [attr.aria-setsize]=\"visibleNodes().length\"\r\n [attr.aria-posinset]=\"$index + 1\"\r\n [attr.aria-expanded]=\"nodeComponent.expandable() ? nodeComponent.expanded() : null\"\r\n [attr.aria-selected]=\"treeService.selectableOptions().enabled ? nodeComponent.selected() : null\"\r\n [attr.aria-disabled]=\"nodeComponent.disabled() ? true : null\"\r\n [attr.aria-checked]=\"\r\n nodeComponent.checkable() ? (nodeComponent.indeterminate() ? 'mixed' : nodeComponent.checked()) : null\r\n \"\r\n (focus)=\"treeService.navigatedNode.set(node)\"\r\n cdkDrag\r\n [cdkDragData]=\"node\"\r\n [cdkDragDisabled]=\"!treeService.draggableOptions().enabled\"\r\n (cdkDragStarted)=\"onNodeDragStart($event)\"\r\n (cdkDragEnded)=\"onNodeDragEnd($event)\"\r\n (cdkDragMoved)=\"onNodeDragMove($event, node)\">\r\n <div [class]=\"nodeContainerClass()\">\r\n @if (treeService.expandableOptions().enabled && nodeComponent.expandable()) {\r\n <button\r\n type=\"button\"\r\n tabindex=\"-1\"\r\n [class]=\"nodeExpanderClass()\"\r\n [class.mona-disabled]=\"nodeComponent.disabled()\"\r\n [attr.aria-label]=\"\r\n (nodeComponent.expanded() ? 'Collapse' : 'Expand') + ' ' + nodeComponent.nodeText()\r\n \"\r\n (click)=\"onExpandStateChange(node)\">\r\n @if (node.loading()) {\r\n <i class=\"ri-loader-2-line\"></i>\r\n } @else if (nodeComponent.expanded()) {\r\n <i class=\"ri-arrow-down-s-fill\"></i>\r\n } @else {\r\n <i class=\"ri-arrow-right-s-fill\"></i>\r\n }\r\n </button>\r\n }\r\n @if (nodeComponent.checkable()) {\r\n <mona-check-box\r\n aria-hidden=\"true\"\r\n [tabIndex]=\"-1\"\r\n [disabled]=\"nodeComponent.disabled()\"\r\n [indeterminate]=\"nodeComponent.indeterminate()\"\r\n [ngModel]=\"nodeComponent.checked()\"\r\n (click)=\"nodeComponent.checkboxClick$.next($event)\"\r\n (ngModelChange)=\"nodeComponent.checkboxCheck$.next($event)\"></mona-check-box>\r\n }\r\n <mona-tree-node [node]=\"node\" [depth]=\"depth()\" #nodeComponent></mona-tree-node>\r\n </div>\r\n @if (node.children().length > 0 && nodeComponent.expanded()) {\r\n <div\r\n class=\"grid overflow-hidden\"\r\n [animate.enter]=\"nodeExpandEnterClass()\"\r\n [animate.leave]=\"nodeExpandLeaveClass()\">\r\n <div class=\"min-h-0 overflow-hidden\">\r\n <mona-sub-tree [nodes]=\"node.children()\" [depth]=\"depth() + 1\" [parent]=\"node\"></mona-sub-tree>\r\n </div>\r\n </div>\r\n }\r\n @if (!nodeComponent.disabled()) {\r\n <div *cdkDragPreview [class]=\"nodeDraggingClass()\">\r\n <span>\r\n @switch (treeService.dropPositionSignal()?.position) {\r\n @case (\"before\") {\r\n @if (treeService.dropAllowed()) {\r\n <i class=\"ri-arrow-up-line\"></i>\r\n } @else {\r\n <i class=\"ri-prohibited-2-line\"></i>\r\n }\r\n }\r\n @case (\"after\") {\r\n @if (treeService.dropAllowed()) {\r\n <i class=\"ri-arrow-down-line\"></i>\r\n } @else {\r\n <i class=\"ri-prohibited-2-line\"></i>\r\n }\r\n }\r\n @case (\"inside\") {\r\n <i class=\"ri-add-line\"></i>\r\n }\r\n @default {\r\n <i class=\"ri-prohibited-2-line\"></i>\r\n }\r\n }\r\n </span>\r\n <span>{{ nodeComponent.nodeText() }}</span>\r\n </div>\r\n } @else {\r\n <div *cdkDragPreview [class]=\"nodeDraggingClass()\"></div>\r\n }\r\n </li>\r\n }\r\n</ul>\r\n", styles: [".mona-tree-node-expand-enter{animation:mona-tree-node-expand-in .15s ease-out}.mona-tree-node-expand-leave{animation:mona-tree-node-expand-out .15s ease-out}@keyframes mona-tree-node-expand-in{0%{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}@keyframes mona-tree-node-expand-out{0%{grid-template-rows:1fr;opacity:1}to{grid-template-rows:0fr;opacity:0}}@media(prefers-reduced-motion:reduce){.mona-tree-node-expand-enter,.mona-tree-node-expand-leave{animation-duration:1ms}}\n"], dependencies: [{ kind: "component", type: SubTreeComponent, selector: "mona-sub-tree", inputs: ["depth", "nodes", "parent"] }, { kind: "component", type: TreeNodeComponent, selector: "mona-tree-node", inputs: ["depth", "node"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "component", type: CheckBoxComponent, selector: "mona-check-box", inputs: ["checked", "disabled", "indeterminate", "invalid", "label", "labelPosition", "labelSize", "required", "rounded", "tabIndex", "touched", "class"], outputs: ["checkedChange", "inputBlur", "inputChange", "inputFocus", "touch"] }, { kind: "pipe", type: TreeNodeElementIdPipe, name: "treeNodeElementId" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1786
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: SubTreeComponent, isStandalone: true, selector: "mona-sub-tree", inputs: { depth: { classPropertyName: "depth", publicName: "depth", isSignal: true, isRequired: true, transformFunction: null }, nodes: { classPropertyName: "nodes", publicName: "nodes", isSignal: true, isRequired: true, transformFunction: null }, parent: { classPropertyName: "parent", publicName: "parent", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ul\n [class]=\"listClass()\"\n [attr.role]=\"parent() ? 'group' : null\"\n cdkDropList\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onNodeDrop($event)\">\n @for (node of visibleNodes(); track node.uid) {\n <li\n [attr.id]=\"node.uid | treeNodeElementId\"\n [attr.data-uid]=\"node.uid\"\n [class]=\"listItemClass()\"\n [tabindex]=\"-1\"\n role=\"treeitem\"\n [attr.aria-level]=\"depth() + 1\"\n [attr.aria-setsize]=\"visibleNodes().length\"\n [attr.aria-posinset]=\"$index + 1\"\n [attr.aria-expanded]=\"nodeComponent.expandable() ? nodeComponent.expanded() : null\"\n [attr.aria-selected]=\"treeService.selectableOptions().enabled ? nodeComponent.selected() : null\"\n [attr.aria-disabled]=\"nodeComponent.disabled() ? true : null\"\n [attr.aria-checked]=\"\n nodeComponent.checkable() ? (nodeComponent.indeterminate() ? 'mixed' : nodeComponent.checked()) : null\n \"\n (focus)=\"treeService.navigatedNode.set(node)\"\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!treeService.draggableOptions().enabled\"\n (cdkDragStarted)=\"onNodeDragStart($event)\"\n (cdkDragEnded)=\"onNodeDragEnd($event)\"\n (cdkDragMoved)=\"onNodeDragMove($event, node)\">\n <div [class]=\"nodeContainerClass()\">\n @if (treeService.expandableOptions().enabled && nodeComponent.expandable()) {\n <button\n type=\"button\"\n tabindex=\"-1\"\n [class]=\"nodeExpanderClass()\"\n [class.mona-disabled]=\"nodeComponent.disabled()\"\n [attr.aria-label]=\"\n (nodeComponent.expanded() ? 'Collapse' : 'Expand') + ' ' + nodeComponent.nodeText()\n \"\n (click)=\"onExpandStateChange(node)\">\n @if (node.loading()) {\n <i class=\"ri-loader-2-line\"></i>\n } @else if (nodeComponent.expanded()) {\n <i class=\"ri-arrow-down-s-fill\"></i>\n } @else {\n <i class=\"ri-arrow-right-s-fill\"></i>\n }\n </button>\n }\n @if (nodeComponent.checkable()) {\n <mona-check-box\n aria-hidden=\"true\"\n [tabIndex]=\"-1\"\n [disabled]=\"nodeComponent.disabled()\"\n [indeterminate]=\"nodeComponent.indeterminate()\"\n [ngModel]=\"nodeComponent.checked()\"\n (click)=\"nodeComponent.checkboxClick$.next($event)\"\n (ngModelChange)=\"nodeComponent.checkboxCheck$.next($event)\"></mona-check-box>\n }\n <mona-tree-node [node]=\"node\" [depth]=\"depth()\" #nodeComponent></mona-tree-node>\n </div>\n @if (node.children().length > 0 && nodeComponent.expanded()) {\n <div\n class=\"grid overflow-hidden\"\n [animate.enter]=\"nodeExpandEnterClass()\"\n [animate.leave]=\"nodeExpandLeaveClass()\">\n <div class=\"min-h-0 overflow-hidden\">\n <mona-sub-tree [nodes]=\"node.children()\" [depth]=\"depth() + 1\" [parent]=\"node\"></mona-sub-tree>\n </div>\n </div>\n }\n @if (!nodeComponent.disabled()) {\n <div *cdkDragPreview [class]=\"nodeDraggingClass()\">\n <span>\n @switch (treeService.dropPositionSignal()?.position) {\n @case (\"before\") {\n @if (treeService.dropAllowed()) {\n <i class=\"ri-arrow-up-line\"></i>\n } @else {\n <i class=\"ri-prohibited-2-line\"></i>\n }\n }\n @case (\"after\") {\n @if (treeService.dropAllowed()) {\n <i class=\"ri-arrow-down-line\"></i>\n } @else {\n <i class=\"ri-prohibited-2-line\"></i>\n }\n }\n @case (\"inside\") {\n <i class=\"ri-add-line\"></i>\n }\n @default {\n <i class=\"ri-prohibited-2-line\"></i>\n }\n }\n </span>\n <span>{{ nodeComponent.nodeText() }}</span>\n </div>\n } @else {\n <div *cdkDragPreview [class]=\"nodeDraggingClass()\"></div>\n }\n </li>\n }\n</ul>\n", styles: [".mona-tree-node-expand-enter{animation:mona-tree-node-expand-in .15s ease-out}.mona-tree-node-expand-leave{animation:mona-tree-node-expand-out .15s ease-out}@keyframes mona-tree-node-expand-in{0%{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}@keyframes mona-tree-node-expand-out{0%{grid-template-rows:1fr;opacity:1}to{grid-template-rows:0fr;opacity:0}}@media(prefers-reduced-motion:reduce){.mona-tree-node-expand-enter,.mona-tree-node-expand-leave{animation-duration:1ms}}\n"], dependencies: [{ kind: "component", type: SubTreeComponent, selector: "mona-sub-tree", inputs: ["depth", "nodes", "parent"] }, { kind: "component", type: TreeNodeComponent, selector: "mona-tree-node", inputs: ["depth", "node"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "component", type: CheckBoxComponent, selector: "mona-check-box", inputs: ["checked", "disabled", "indeterminate", "invalid", "label", "labelPosition", "labelSize", "required", "rounded", "tabIndex", "touched", "class"], outputs: ["checkedChange", "inputBlur", "inputChange", "inputFocus", "touch"] }, { kind: "pipe", type: TreeNodeElementIdPipe, name: "treeNodeElementId" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1787
1787
  }
1788
1788
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: SubTreeComponent, decorators: [{
1789
1789
  type: Component,
@@ -1795,7 +1795,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
1795
1795
  CdkDragPreview,
1796
1796
  CheckBoxComponent,
1797
1797
  TreeNodeElementIdPipe
1798
- ], template: "<ul\r\n [class]=\"listClass()\"\r\n [attr.role]=\"parent() ? 'group' : null\"\r\n cdkDropList\r\n [cdkDropListSortingDisabled]=\"true\"\r\n (cdkDropListDropped)=\"onNodeDrop($event)\">\r\n @for (node of visibleNodes(); track node.uid) {\r\n <li\r\n [attr.id]=\"node.uid | treeNodeElementId\"\r\n [attr.data-uid]=\"node.uid\"\r\n [class]=\"listItemClass()\"\r\n [tabindex]=\"-1\"\r\n role=\"treeitem\"\r\n [attr.aria-level]=\"depth() + 1\"\r\n [attr.aria-setsize]=\"visibleNodes().length\"\r\n [attr.aria-posinset]=\"$index + 1\"\r\n [attr.aria-expanded]=\"nodeComponent.expandable() ? nodeComponent.expanded() : null\"\r\n [attr.aria-selected]=\"treeService.selectableOptions().enabled ? nodeComponent.selected() : null\"\r\n [attr.aria-disabled]=\"nodeComponent.disabled() ? true : null\"\r\n [attr.aria-checked]=\"\r\n nodeComponent.checkable() ? (nodeComponent.indeterminate() ? 'mixed' : nodeComponent.checked()) : null\r\n \"\r\n (focus)=\"treeService.navigatedNode.set(node)\"\r\n cdkDrag\r\n [cdkDragData]=\"node\"\r\n [cdkDragDisabled]=\"!treeService.draggableOptions().enabled\"\r\n (cdkDragStarted)=\"onNodeDragStart($event)\"\r\n (cdkDragEnded)=\"onNodeDragEnd($event)\"\r\n (cdkDragMoved)=\"onNodeDragMove($event, node)\">\r\n <div [class]=\"nodeContainerClass()\">\r\n @if (treeService.expandableOptions().enabled && nodeComponent.expandable()) {\r\n <button\r\n type=\"button\"\r\n tabindex=\"-1\"\r\n [class]=\"nodeExpanderClass()\"\r\n [class.mona-disabled]=\"nodeComponent.disabled()\"\r\n [attr.aria-label]=\"\r\n (nodeComponent.expanded() ? 'Collapse' : 'Expand') + ' ' + nodeComponent.nodeText()\r\n \"\r\n (click)=\"onExpandStateChange(node)\">\r\n @if (node.loading()) {\r\n <i class=\"ri-loader-2-line\"></i>\r\n } @else if (nodeComponent.expanded()) {\r\n <i class=\"ri-arrow-down-s-fill\"></i>\r\n } @else {\r\n <i class=\"ri-arrow-right-s-fill\"></i>\r\n }\r\n </button>\r\n }\r\n @if (nodeComponent.checkable()) {\r\n <mona-check-box\r\n aria-hidden=\"true\"\r\n [tabIndex]=\"-1\"\r\n [disabled]=\"nodeComponent.disabled()\"\r\n [indeterminate]=\"nodeComponent.indeterminate()\"\r\n [ngModel]=\"nodeComponent.checked()\"\r\n (click)=\"nodeComponent.checkboxClick$.next($event)\"\r\n (ngModelChange)=\"nodeComponent.checkboxCheck$.next($event)\"></mona-check-box>\r\n }\r\n <mona-tree-node [node]=\"node\" [depth]=\"depth()\" #nodeComponent></mona-tree-node>\r\n </div>\r\n @if (node.children().length > 0 && nodeComponent.expanded()) {\r\n <div\r\n class=\"grid overflow-hidden\"\r\n [animate.enter]=\"nodeExpandEnterClass()\"\r\n [animate.leave]=\"nodeExpandLeaveClass()\">\r\n <div class=\"min-h-0 overflow-hidden\">\r\n <mona-sub-tree [nodes]=\"node.children()\" [depth]=\"depth() + 1\" [parent]=\"node\"></mona-sub-tree>\r\n </div>\r\n </div>\r\n }\r\n @if (!nodeComponent.disabled()) {\r\n <div *cdkDragPreview [class]=\"nodeDraggingClass()\">\r\n <span>\r\n @switch (treeService.dropPositionSignal()?.position) {\r\n @case (\"before\") {\r\n @if (treeService.dropAllowed()) {\r\n <i class=\"ri-arrow-up-line\"></i>\r\n } @else {\r\n <i class=\"ri-prohibited-2-line\"></i>\r\n }\r\n }\r\n @case (\"after\") {\r\n @if (treeService.dropAllowed()) {\r\n <i class=\"ri-arrow-down-line\"></i>\r\n } @else {\r\n <i class=\"ri-prohibited-2-line\"></i>\r\n }\r\n }\r\n @case (\"inside\") {\r\n <i class=\"ri-add-line\"></i>\r\n }\r\n @default {\r\n <i class=\"ri-prohibited-2-line\"></i>\r\n }\r\n }\r\n </span>\r\n <span>{{ nodeComponent.nodeText() }}</span>\r\n </div>\r\n } @else {\r\n <div *cdkDragPreview [class]=\"nodeDraggingClass()\"></div>\r\n }\r\n </li>\r\n }\r\n</ul>\r\n", styles: [".mona-tree-node-expand-enter{animation:mona-tree-node-expand-in .15s ease-out}.mona-tree-node-expand-leave{animation:mona-tree-node-expand-out .15s ease-out}@keyframes mona-tree-node-expand-in{0%{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}@keyframes mona-tree-node-expand-out{0%{grid-template-rows:1fr;opacity:1}to{grid-template-rows:0fr;opacity:0}}@media(prefers-reduced-motion:reduce){.mona-tree-node-expand-enter,.mona-tree-node-expand-leave{animation-duration:1ms}}\n"] }]
1798
+ ], template: "<ul\n [class]=\"listClass()\"\n [attr.role]=\"parent() ? 'group' : null\"\n cdkDropList\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onNodeDrop($event)\">\n @for (node of visibleNodes(); track node.uid) {\n <li\n [attr.id]=\"node.uid | treeNodeElementId\"\n [attr.data-uid]=\"node.uid\"\n [class]=\"listItemClass()\"\n [tabindex]=\"-1\"\n role=\"treeitem\"\n [attr.aria-level]=\"depth() + 1\"\n [attr.aria-setsize]=\"visibleNodes().length\"\n [attr.aria-posinset]=\"$index + 1\"\n [attr.aria-expanded]=\"nodeComponent.expandable() ? nodeComponent.expanded() : null\"\n [attr.aria-selected]=\"treeService.selectableOptions().enabled ? nodeComponent.selected() : null\"\n [attr.aria-disabled]=\"nodeComponent.disabled() ? true : null\"\n [attr.aria-checked]=\"\n nodeComponent.checkable() ? (nodeComponent.indeterminate() ? 'mixed' : nodeComponent.checked()) : null\n \"\n (focus)=\"treeService.navigatedNode.set(node)\"\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!treeService.draggableOptions().enabled\"\n (cdkDragStarted)=\"onNodeDragStart($event)\"\n (cdkDragEnded)=\"onNodeDragEnd($event)\"\n (cdkDragMoved)=\"onNodeDragMove($event, node)\">\n <div [class]=\"nodeContainerClass()\">\n @if (treeService.expandableOptions().enabled && nodeComponent.expandable()) {\n <button\n type=\"button\"\n tabindex=\"-1\"\n [class]=\"nodeExpanderClass()\"\n [class.mona-disabled]=\"nodeComponent.disabled()\"\n [attr.aria-label]=\"\n (nodeComponent.expanded() ? 'Collapse' : 'Expand') + ' ' + nodeComponent.nodeText()\n \"\n (click)=\"onExpandStateChange(node)\">\n @if (node.loading()) {\n <i class=\"ri-loader-2-line\"></i>\n } @else if (nodeComponent.expanded()) {\n <i class=\"ri-arrow-down-s-fill\"></i>\n } @else {\n <i class=\"ri-arrow-right-s-fill\"></i>\n }\n </button>\n }\n @if (nodeComponent.checkable()) {\n <mona-check-box\n aria-hidden=\"true\"\n [tabIndex]=\"-1\"\n [disabled]=\"nodeComponent.disabled()\"\n [indeterminate]=\"nodeComponent.indeterminate()\"\n [ngModel]=\"nodeComponent.checked()\"\n (click)=\"nodeComponent.checkboxClick$.next($event)\"\n (ngModelChange)=\"nodeComponent.checkboxCheck$.next($event)\"></mona-check-box>\n }\n <mona-tree-node [node]=\"node\" [depth]=\"depth()\" #nodeComponent></mona-tree-node>\n </div>\n @if (node.children().length > 0 && nodeComponent.expanded()) {\n <div\n class=\"grid overflow-hidden\"\n [animate.enter]=\"nodeExpandEnterClass()\"\n [animate.leave]=\"nodeExpandLeaveClass()\">\n <div class=\"min-h-0 overflow-hidden\">\n <mona-sub-tree [nodes]=\"node.children()\" [depth]=\"depth() + 1\" [parent]=\"node\"></mona-sub-tree>\n </div>\n </div>\n }\n @if (!nodeComponent.disabled()) {\n <div *cdkDragPreview [class]=\"nodeDraggingClass()\">\n <span>\n @switch (treeService.dropPositionSignal()?.position) {\n @case (\"before\") {\n @if (treeService.dropAllowed()) {\n <i class=\"ri-arrow-up-line\"></i>\n } @else {\n <i class=\"ri-prohibited-2-line\"></i>\n }\n }\n @case (\"after\") {\n @if (treeService.dropAllowed()) {\n <i class=\"ri-arrow-down-line\"></i>\n } @else {\n <i class=\"ri-prohibited-2-line\"></i>\n }\n }\n @case (\"inside\") {\n <i class=\"ri-add-line\"></i>\n }\n @default {\n <i class=\"ri-prohibited-2-line\"></i>\n }\n }\n </span>\n <span>{{ nodeComponent.nodeText() }}</span>\n </div>\n } @else {\n <div *cdkDragPreview [class]=\"nodeDraggingClass()\"></div>\n }\n </li>\n }\n</ul>\n", styles: [".mona-tree-node-expand-enter{animation:mona-tree-node-expand-in .15s ease-out}.mona-tree-node-expand-leave{animation:mona-tree-node-expand-out .15s ease-out}@keyframes mona-tree-node-expand-in{0%{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}@keyframes mona-tree-node-expand-out{0%{grid-template-rows:1fr;opacity:1}to{grid-template-rows:0fr;opacity:0}}@media(prefers-reduced-motion:reduce){.mona-tree-node-expand-enter,.mona-tree-node-expand-leave{animation-duration:1ms}}\n"] }]
1799
1799
  }], propDecorators: { depth: [{ type: i0.Input, args: [{ isSignal: true, alias: "depth", required: true }] }], nodes: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodes", required: true }] }], parent: [{ type: i0.Input, args: [{ isSignal: true, alias: "parent", required: true }] }] } });
1800
1800
 
1801
1801
  class TreeDropHintComponent {
@@ -1863,13 +1863,13 @@ class TreeDropHintComponent {
1863
1863
  });
1864
1864
  }
1865
1865
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TreeDropHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1866
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.6", type: TreeDropHintComponent, isStandalone: true, selector: "mona-tree-drop-hint", host: { properties: { "class": "baseClass()" } }, ngImport: i0, template: "<i [class]=\"iconClass()\"></i>\r\n", changeDetection: i0.ChangeDetectionStrategy.Eager }); }
1866
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.6", type: TreeDropHintComponent, isStandalone: true, selector: "mona-tree-drop-hint", host: { properties: { "class": "baseClass()" } }, ngImport: i0, template: "<i [class]=\"iconClass()\"></i>\n", changeDetection: i0.ChangeDetectionStrategy.Eager }); }
1867
1867
  }
1868
1868
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: TreeDropHintComponent, decorators: [{
1869
1869
  type: Component,
1870
1870
  args: [{ selector: "mona-tree-drop-hint", changeDetection: ChangeDetectionStrategy.Eager, host: {
1871
1871
  "[class]": "baseClass()"
1872
- }, template: "<i [class]=\"iconClass()\"></i>\r\n" }]
1872
+ }, template: "<i [class]=\"iconClass()\"></i>\n" }]
1873
1873
  }], ctorParameters: () => [] });
1874
1874
 
1875
1875
  class TreeComponent {
@@ -133,9 +133,9 @@ class ListBoxTransferEvent extends PreventableEvent {
133
133
  }
134
134
  }
135
135
 
136
- const listBoxBaseVariants = cva(`
137
- flex gap-1
138
- [&_mona-list-view]:w-full
136
+ const listBoxBaseVariants = cva(`
137
+ flex gap-1
138
+ [&_mona-list-view]:w-full
139
139
  `, {
140
140
  variants: {
141
141
  direction: {
@@ -171,9 +171,9 @@ const listBoxBaseVariants = cva(`
171
171
  }
172
172
  ]
173
173
  });
174
- const listBoxToolbarVariants = cva(`
175
- flex gap-1
176
- items-center justify-center
174
+ const listBoxToolbarVariants = cva(`
175
+ flex gap-1
176
+ items-center justify-center
177
177
  `, {
178
178
  variants: {
179
179
  direction: {
@@ -588,7 +588,7 @@ class ListBoxComponent {
588
588
  return { actions, position };
589
589
  }
590
590
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ListBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
591
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: ListBoxComponent, isStandalone: true, selector: "mona-list-box", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, connectedList: { classPropertyName: "connectedList", publicName: "connectedList", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, selectBy: { classPropertyName: "selectBy", publicName: "selectBy", isSignal: true, isRequired: false, transformFunction: null }, selectedKeys: { classPropertyName: "selectedKeys", publicName: "selectedKeys", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, singleSelectionToggleable: { classPropertyName: "singleSelectionToggleable", publicName: "singleSelectionToggleable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, toolbar: { classPropertyName: "toolbar", publicName: "toolbar", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick", selectedKeysChange: "selectedKeysChange", selectionChange: "selectionChange" }, host: { properties: { "class": "baseClasses()", "style.height": "listHeight()", "style.width": "listWidth()" } }, providers: [ListService], queries: [{ propertyName: "footerTemplate", first: true, predicate: ListBoxFooterTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ListBoxHeaderTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ListBoxItemTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "noDataTemplate", first: true, predicate: ListBoxNoDataTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "<mona-list-view\r\n [ariaLabel]=\"ariaLabel()\"\r\n [items]=\"listBoxItems()\"\r\n [height]=\"'100%'\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n [textField]=\"textField()\"\r\n [width]=\"'100%'\"\r\n [monaListViewNavigable]=\"{ enabled: true, mode: 'select' }\"\r\n [monaListViewSelectable]=\"selectableOptions()\"\r\n [selectBy]=\"selectBy()\"\r\n [selectedKeys]=\"selectedKeys()\"\r\n (selectedKeysChange)=\"onSelectedKeysChange($event)\">\r\n @if (footerTemplate()) {\r\n <ng-template monaListViewFooterTemplate>\r\n <ng-container [ngTemplateOutlet]=\"footerTemplate()\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (headerTemplate()) {\r\n <ng-template monaListViewHeaderTemplate>\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate()\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (itemTemplate()) {\r\n <ng-template monaListViewItemTemplate let-dataItem>\r\n <ng-container\r\n [ngTemplateOutlet]=\"itemTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: dataItem }\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (noDataTemplate()) {\r\n <ng-template monaListViewNoDataTemplate>\r\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()\"></ng-container>\r\n </ng-template>\r\n }\r\n</mona-list-view>\r\n\r\n@let options = toolbarOptions() ?? null;\r\n@let connectedListBox = connectedList();\r\n@let hasSelectedItems = selectedItems().length > 0;\r\n@let connectedListHasSelectedItems = connectedListBox && connectedListBox.selectedItems().length > 0;\r\n@let connectedListItems = connectedListBox?.listBoxItems() ?? [];\r\n@if (options !== null && connectedListBox !== null) {\r\n <div [class]=\"toolbarClasses()\">\r\n @if (options.actions | monaContains: \"moveUp\") {\r\n <button\r\n monaButton\r\n (click)=\"onMoveClick('moveUp', $event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Move Up\"\r\n aria-label=\"Move Up\"\r\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\r\n <svg lucideChevronUp [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"moveDown\") {\r\n <button\r\n monaButton\r\n (click)=\"onMoveClick('moveDown', $event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Move Down\"\r\n aria-label=\"Move Down\"\r\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\r\n <svg lucideChevronDown [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"transferFrom\") {\r\n <button\r\n monaButton\r\n (click)=\"onTransferClick('transferFrom', $event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Transfer From\"\r\n aria-label=\"Transfer From\"\r\n [disabled]=\"!connectedListHasSelectedItems\">\r\n <svg lucideChevronLeft [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"transferTo\") {\r\n <button\r\n monaButton\r\n (click)=\"onTransferClick('transferTo', $event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Transfer To\"\r\n aria-label=\"Transfer To\"\r\n [disabled]=\"!hasSelectedItems\">\r\n <svg lucideChevronRight [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"transferAllFrom\") {\r\n <button\r\n monaButton\r\n (click)=\"onTransferClick('transferAllFrom', $event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Transfer All From\"\r\n aria-label=\"Transfer All From\"\r\n [disabled]=\"!connectedListBox || connectedListItems.length === 0\">\r\n <svg lucideChevronsLeft [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"transferAllTo\") {\r\n <button\r\n monaButton\r\n (click)=\"onTransferClick('transferAllTo', $event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Transfer All To\"\r\n aria-label=\"Transfer All To\"\r\n [disabled]=\"listBoxItems().length === 0\">\r\n <svg lucideChevronsRight [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"clear\") {\r\n <button\r\n monaButton\r\n (click)=\"onClearClick($event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Clear Selection\"\r\n aria-label=\"Clear Selection\"\r\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\r\n <svg lucideX [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"remove\") {\r\n <button\r\n monaButton\r\n (click)=\"onRemoveClick($event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Remove\"\r\n aria-label=\"Remove\"\r\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\r\n <svg lucideTrash2 [size]=\"14\"></svg>\r\n </button>\r\n }\r\n </div>\r\n}\r\n", dependencies: [{ kind: "component", type: ListViewComponent, selector: "mona-list-view", inputs: ["aria-label", "height", "listClass", "listItemClass", "listItemStyle", "listStyle", "items", "maxHeight", "maxWidth", "rounded", "size", "textField", "class", "width"], outputs: ["scrollBottom"] }, { kind: "directive", type: ListViewSelectableDirective, selector: "mona-list-view[monaListViewSelectable]", inputs: ["monaListViewSelectable", "selectBy", "selectedKeys"], outputs: ["selectedKeysChange"] }, { kind: "directive", type: ListViewItemTemplateDirective, selector: "ng-template[monaListViewItemTemplate]" }, { 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: ListViewNavigableDirective, selector: "mona-list-view[monaListViewNavigable]", inputs: ["monaListViewNavigable"] }, { kind: "directive", type: ListViewNoDataTemplateDirective, selector: "ng-template[monaListViewNoDataTemplate]" }, { kind: "directive", type: ListViewFooterTemplateDirective, selector: "ng-template[monaListViewFooterTemplate]" }, { kind: "directive", type: ListViewHeaderTemplateDirective, selector: "ng-template[monaListViewHeaderTemplate]" }, { kind: "component", type: LucideChevronUp, selector: "svg[lucideChevronUp]" }, { kind: "component", type: LucideChevronDown, selector: "svg[lucideChevronDown]" }, { kind: "component", type: LucideChevronLeft, selector: "svg[lucideChevronLeft]" }, { kind: "component", type: LucideChevronRight, selector: "svg[lucideChevronRight]" }, { kind: "component", type: LucideChevronsLeft, selector: "svg[lucideChevronsLeft]" }, { kind: "component", type: LucideChevronsRight, selector: "svg[lucideChevronsRight]" }, { kind: "component", type: LucideX, selector: "svg[lucideX]" }, { kind: "component", type: LucideTrash2, selector: "svg[lucideTrash2]" }, { kind: "pipe", type: ContainsPipe, name: "monaContains" }] }); }
591
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: ListBoxComponent, isStandalone: true, selector: "mona-list-box", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, connectedList: { classPropertyName: "connectedList", publicName: "connectedList", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, selectBy: { classPropertyName: "selectBy", publicName: "selectBy", isSignal: true, isRequired: false, transformFunction: null }, selectedKeys: { classPropertyName: "selectedKeys", publicName: "selectedKeys", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, singleSelectionToggleable: { classPropertyName: "singleSelectionToggleable", publicName: "singleSelectionToggleable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, toolbar: { classPropertyName: "toolbar", publicName: "toolbar", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick", selectedKeysChange: "selectedKeysChange", selectionChange: "selectionChange" }, host: { properties: { "class": "baseClasses()", "style.height": "listHeight()", "style.width": "listWidth()" } }, providers: [ListService], queries: [{ propertyName: "footerTemplate", first: true, predicate: ListBoxFooterTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ListBoxHeaderTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ListBoxItemTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "noDataTemplate", first: true, predicate: ListBoxNoDataTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "<mona-list-view\n [ariaLabel]=\"ariaLabel()\"\n [items]=\"listBoxItems()\"\n [height]=\"'100%'\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n [textField]=\"textField()\"\n [width]=\"'100%'\"\n [monaListViewNavigable]=\"{ enabled: true, mode: 'select' }\"\n [monaListViewSelectable]=\"selectableOptions()\"\n [selectBy]=\"selectBy()\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"onSelectedKeysChange($event)\">\n @if (footerTemplate()) {\n <ng-template monaListViewFooterTemplate>\n <ng-container [ngTemplateOutlet]=\"footerTemplate()\"></ng-container>\n </ng-template>\n }\n @if (headerTemplate()) {\n <ng-template monaListViewHeaderTemplate>\n <ng-container [ngTemplateOutlet]=\"headerTemplate()\"></ng-container>\n </ng-template>\n }\n @if (itemTemplate()) {\n <ng-template monaListViewItemTemplate let-dataItem>\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: dataItem }\"></ng-container>\n </ng-template>\n }\n @if (noDataTemplate()) {\n <ng-template monaListViewNoDataTemplate>\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()\"></ng-container>\n </ng-template>\n }\n</mona-list-view>\n\n@let options = toolbarOptions() ?? null;\n@let connectedListBox = connectedList();\n@let hasSelectedItems = selectedItems().length > 0;\n@let connectedListHasSelectedItems = connectedListBox && connectedListBox.selectedItems().length > 0;\n@let connectedListItems = connectedListBox?.listBoxItems() ?? [];\n@if (options !== null && connectedListBox !== null) {\n <div [class]=\"toolbarClasses()\">\n @if (options.actions | monaContains: \"moveUp\") {\n <button\n monaButton\n (click)=\"onMoveClick('moveUp', $event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Move Up\"\n aria-label=\"Move Up\"\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\n <svg lucideChevronUp [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"moveDown\") {\n <button\n monaButton\n (click)=\"onMoveClick('moveDown', $event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Move Down\"\n aria-label=\"Move Down\"\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\n <svg lucideChevronDown [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"transferFrom\") {\n <button\n monaButton\n (click)=\"onTransferClick('transferFrom', $event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Transfer From\"\n aria-label=\"Transfer From\"\n [disabled]=\"!connectedListHasSelectedItems\">\n <svg lucideChevronLeft [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"transferTo\") {\n <button\n monaButton\n (click)=\"onTransferClick('transferTo', $event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Transfer To\"\n aria-label=\"Transfer To\"\n [disabled]=\"!hasSelectedItems\">\n <svg lucideChevronRight [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"transferAllFrom\") {\n <button\n monaButton\n (click)=\"onTransferClick('transferAllFrom', $event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Transfer All From\"\n aria-label=\"Transfer All From\"\n [disabled]=\"!connectedListBox || connectedListItems.length === 0\">\n <svg lucideChevronsLeft [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"transferAllTo\") {\n <button\n monaButton\n (click)=\"onTransferClick('transferAllTo', $event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Transfer All To\"\n aria-label=\"Transfer All To\"\n [disabled]=\"listBoxItems().length === 0\">\n <svg lucideChevronsRight [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"clear\") {\n <button\n monaButton\n (click)=\"onClearClick($event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Clear Selection\"\n aria-label=\"Clear Selection\"\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\n <svg lucideX [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"remove\") {\n <button\n monaButton\n (click)=\"onRemoveClick($event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Remove\"\n aria-label=\"Remove\"\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\n <svg lucideTrash2 [size]=\"14\"></svg>\n </button>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: ListViewComponent, selector: "mona-list-view", inputs: ["aria-label", "height", "listClass", "listItemClass", "listItemStyle", "listStyle", "items", "maxHeight", "maxWidth", "rounded", "size", "textField", "class", "width"], outputs: ["scrollBottom"] }, { kind: "directive", type: ListViewSelectableDirective, selector: "mona-list-view[monaListViewSelectable]", inputs: ["monaListViewSelectable", "selectBy", "selectedKeys"], outputs: ["selectedKeysChange"] }, { kind: "directive", type: ListViewItemTemplateDirective, selector: "ng-template[monaListViewItemTemplate]" }, { 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: ListViewNavigableDirective, selector: "mona-list-view[monaListViewNavigable]", inputs: ["monaListViewNavigable"] }, { kind: "directive", type: ListViewNoDataTemplateDirective, selector: "ng-template[monaListViewNoDataTemplate]" }, { kind: "directive", type: ListViewFooterTemplateDirective, selector: "ng-template[monaListViewFooterTemplate]" }, { kind: "directive", type: ListViewHeaderTemplateDirective, selector: "ng-template[monaListViewHeaderTemplate]" }, { kind: "component", type: LucideChevronUp, selector: "svg[lucideChevronUp]" }, { kind: "component", type: LucideChevronDown, selector: "svg[lucideChevronDown]" }, { kind: "component", type: LucideChevronLeft, selector: "svg[lucideChevronLeft]" }, { kind: "component", type: LucideChevronRight, selector: "svg[lucideChevronRight]" }, { kind: "component", type: LucideChevronsLeft, selector: "svg[lucideChevronsLeft]" }, { kind: "component", type: LucideChevronsRight, selector: "svg[lucideChevronsRight]" }, { kind: "component", type: LucideX, selector: "svg[lucideX]" }, { kind: "component", type: LucideTrash2, selector: "svg[lucideTrash2]" }, { kind: "pipe", type: ContainsPipe, name: "monaContains" }] }); }
592
592
  }
593
593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ListBoxComponent, decorators: [{
594
594
  type: Component,
@@ -615,7 +615,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
615
615
  "[class]": "baseClasses()",
616
616
  "[style.height]": "listHeight()",
617
617
  "[style.width]": "listWidth()"
618
- }, template: "<mona-list-view\r\n [ariaLabel]=\"ariaLabel()\"\r\n [items]=\"listBoxItems()\"\r\n [height]=\"'100%'\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n [textField]=\"textField()\"\r\n [width]=\"'100%'\"\r\n [monaListViewNavigable]=\"{ enabled: true, mode: 'select' }\"\r\n [monaListViewSelectable]=\"selectableOptions()\"\r\n [selectBy]=\"selectBy()\"\r\n [selectedKeys]=\"selectedKeys()\"\r\n (selectedKeysChange)=\"onSelectedKeysChange($event)\">\r\n @if (footerTemplate()) {\r\n <ng-template monaListViewFooterTemplate>\r\n <ng-container [ngTemplateOutlet]=\"footerTemplate()\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (headerTemplate()) {\r\n <ng-template monaListViewHeaderTemplate>\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate()\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (itemTemplate()) {\r\n <ng-template monaListViewItemTemplate let-dataItem>\r\n <ng-container\r\n [ngTemplateOutlet]=\"itemTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: dataItem }\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (noDataTemplate()) {\r\n <ng-template monaListViewNoDataTemplate>\r\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()\"></ng-container>\r\n </ng-template>\r\n }\r\n</mona-list-view>\r\n\r\n@let options = toolbarOptions() ?? null;\r\n@let connectedListBox = connectedList();\r\n@let hasSelectedItems = selectedItems().length > 0;\r\n@let connectedListHasSelectedItems = connectedListBox && connectedListBox.selectedItems().length > 0;\r\n@let connectedListItems = connectedListBox?.listBoxItems() ?? [];\r\n@if (options !== null && connectedListBox !== null) {\r\n <div [class]=\"toolbarClasses()\">\r\n @if (options.actions | monaContains: \"moveUp\") {\r\n <button\r\n monaButton\r\n (click)=\"onMoveClick('moveUp', $event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Move Up\"\r\n aria-label=\"Move Up\"\r\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\r\n <svg lucideChevronUp [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"moveDown\") {\r\n <button\r\n monaButton\r\n (click)=\"onMoveClick('moveDown', $event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Move Down\"\r\n aria-label=\"Move Down\"\r\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\r\n <svg lucideChevronDown [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"transferFrom\") {\r\n <button\r\n monaButton\r\n (click)=\"onTransferClick('transferFrom', $event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Transfer From\"\r\n aria-label=\"Transfer From\"\r\n [disabled]=\"!connectedListHasSelectedItems\">\r\n <svg lucideChevronLeft [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"transferTo\") {\r\n <button\r\n monaButton\r\n (click)=\"onTransferClick('transferTo', $event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Transfer To\"\r\n aria-label=\"Transfer To\"\r\n [disabled]=\"!hasSelectedItems\">\r\n <svg lucideChevronRight [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"transferAllFrom\") {\r\n <button\r\n monaButton\r\n (click)=\"onTransferClick('transferAllFrom', $event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Transfer All From\"\r\n aria-label=\"Transfer All From\"\r\n [disabled]=\"!connectedListBox || connectedListItems.length === 0\">\r\n <svg lucideChevronsLeft [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"transferAllTo\") {\r\n <button\r\n monaButton\r\n (click)=\"onTransferClick('transferAllTo', $event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Transfer All To\"\r\n aria-label=\"Transfer All To\"\r\n [disabled]=\"listBoxItems().length === 0\">\r\n <svg lucideChevronsRight [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"clear\") {\r\n <button\r\n monaButton\r\n (click)=\"onClearClick($event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Clear Selection\"\r\n aria-label=\"Clear Selection\"\r\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\r\n <svg lucideX [size]=\"16\"></svg>\r\n </button>\r\n }\r\n @if (options.actions | monaContains: \"remove\") {\r\n <button\r\n monaButton\r\n (click)=\"onRemoveClick($event)\"\r\n [iconOnly]=\"true\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"size()\"\r\n title=\"Remove\"\r\n aria-label=\"Remove\"\r\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\r\n <svg lucideTrash2 [size]=\"14\"></svg>\r\n </button>\r\n }\r\n </div>\r\n}\r\n" }]
618
+ }, template: "<mona-list-view\n [ariaLabel]=\"ariaLabel()\"\n [items]=\"listBoxItems()\"\n [height]=\"'100%'\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n [textField]=\"textField()\"\n [width]=\"'100%'\"\n [monaListViewNavigable]=\"{ enabled: true, mode: 'select' }\"\n [monaListViewSelectable]=\"selectableOptions()\"\n [selectBy]=\"selectBy()\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"onSelectedKeysChange($event)\">\n @if (footerTemplate()) {\n <ng-template monaListViewFooterTemplate>\n <ng-container [ngTemplateOutlet]=\"footerTemplate()\"></ng-container>\n </ng-template>\n }\n @if (headerTemplate()) {\n <ng-template monaListViewHeaderTemplate>\n <ng-container [ngTemplateOutlet]=\"headerTemplate()\"></ng-container>\n </ng-template>\n }\n @if (itemTemplate()) {\n <ng-template monaListViewItemTemplate let-dataItem>\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: dataItem }\"></ng-container>\n </ng-template>\n }\n @if (noDataTemplate()) {\n <ng-template monaListViewNoDataTemplate>\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()\"></ng-container>\n </ng-template>\n }\n</mona-list-view>\n\n@let options = toolbarOptions() ?? null;\n@let connectedListBox = connectedList();\n@let hasSelectedItems = selectedItems().length > 0;\n@let connectedListHasSelectedItems = connectedListBox && connectedListBox.selectedItems().length > 0;\n@let connectedListItems = connectedListBox?.listBoxItems() ?? [];\n@if (options !== null && connectedListBox !== null) {\n <div [class]=\"toolbarClasses()\">\n @if (options.actions | monaContains: \"moveUp\") {\n <button\n monaButton\n (click)=\"onMoveClick('moveUp', $event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Move Up\"\n aria-label=\"Move Up\"\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\n <svg lucideChevronUp [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"moveDown\") {\n <button\n monaButton\n (click)=\"onMoveClick('moveDown', $event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Move Down\"\n aria-label=\"Move Down\"\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\n <svg lucideChevronDown [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"transferFrom\") {\n <button\n monaButton\n (click)=\"onTransferClick('transferFrom', $event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Transfer From\"\n aria-label=\"Transfer From\"\n [disabled]=\"!connectedListHasSelectedItems\">\n <svg lucideChevronLeft [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"transferTo\") {\n <button\n monaButton\n (click)=\"onTransferClick('transferTo', $event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Transfer To\"\n aria-label=\"Transfer To\"\n [disabled]=\"!hasSelectedItems\">\n <svg lucideChevronRight [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"transferAllFrom\") {\n <button\n monaButton\n (click)=\"onTransferClick('transferAllFrom', $event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Transfer All From\"\n aria-label=\"Transfer All From\"\n [disabled]=\"!connectedListBox || connectedListItems.length === 0\">\n <svg lucideChevronsLeft [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"transferAllTo\") {\n <button\n monaButton\n (click)=\"onTransferClick('transferAllTo', $event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Transfer All To\"\n aria-label=\"Transfer All To\"\n [disabled]=\"listBoxItems().length === 0\">\n <svg lucideChevronsRight [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"clear\") {\n <button\n monaButton\n (click)=\"onClearClick($event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Clear Selection\"\n aria-label=\"Clear Selection\"\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\n <svg lucideX [size]=\"16\"></svg>\n </button>\n }\n @if (options.actions | monaContains: \"remove\") {\n <button\n monaButton\n (click)=\"onRemoveClick($event)\"\n [iconOnly]=\"true\"\n [rounded]=\"rounded()\"\n [size]=\"size()\"\n title=\"Remove\"\n aria-label=\"Remove\"\n [disabled]=\"!hasSelectedItems && !connectedListHasSelectedItems\">\n <svg lucideTrash2 [size]=\"14\"></svg>\n </button>\n }\n </div>\n}\n" }]
619
619
  }], ctorParameters: () => [], propDecorators: { footerTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ListBoxFooterTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], headerTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ListBoxHeaderTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ListBoxItemTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], noDataTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ListBoxNoDataTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], actionClick: [{ type: i0.Output, args: ["actionClick"] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], connectedList: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectedList", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], selectBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectBy", required: false }] }], selectedKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedKeys", required: false }] }], selectedKeysChange: [{ type: i0.Output, args: ["selectedKeysChange"] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMode", required: false }] }], singleSelectionToggleable: [{ type: i0.Input, args: [{ isSignal: true, alias: "singleSelectionToggleable", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], textField: [{ type: i0.Input, args: [{ isSignal: true, alias: "textField", required: false }] }], toolbar: [{ type: i0.Input, args: [{ isSignal: true, alias: "toolbar", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }] } });
620
620
 
621
621
  /*