@nanahoshi/mona-ui 0.18.5 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +71 -13
  2. package/fesm2022/nanahoshi-mona-ui-auto-complete.mjs +11 -3
  3. package/fesm2022/nanahoshi-mona-ui-breadcrumb.mjs +17 -9
  4. package/fesm2022/nanahoshi-mona-ui-button-group.mjs +16 -7
  5. package/fesm2022/nanahoshi-mona-ui-calendar.mjs +122 -48
  6. package/fesm2022/nanahoshi-mona-ui-card.mjs +22 -14
  7. package/fesm2022/nanahoshi-mona-ui-chart.mjs +78 -18
  8. package/fesm2022/nanahoshi-mona-ui-check-box.mjs +1 -1
  9. package/fesm2022/nanahoshi-mona-ui-chip.mjs +199 -77
  10. package/fesm2022/nanahoshi-mona-ui-circular-progress-bar.mjs +1 -2
  11. package/fesm2022/nanahoshi-mona-ui-color-gradient.mjs +23 -5
  12. package/fesm2022/nanahoshi-mona-ui-color-palette.mjs +49 -28
  13. package/fesm2022/nanahoshi-mona-ui-color-picker.mjs +42 -26
  14. package/fesm2022/nanahoshi-mona-ui-combo-box.mjs +11 -3
  15. package/fesm2022/nanahoshi-mona-ui-date-picker.mjs +28 -16
  16. package/fesm2022/nanahoshi-mona-ui-datetime-picker.mjs +74 -51
  17. package/fesm2022/nanahoshi-mona-ui-dialog.mjs +57 -25
  18. package/fesm2022/nanahoshi-mona-ui-dropdown-list.mjs +13 -5
  19. package/fesm2022/nanahoshi-mona-ui-dropdowns.mjs +17 -6
  20. package/fesm2022/nanahoshi-mona-ui-editor.mjs +178 -59
  21. package/fesm2022/nanahoshi-mona-ui-filter.mjs +137 -54
  22. package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-cell.component-WEDbZ5vy.mjs → nanahoshi-mona-ui-grid-grid-footer-cell.component-Bg7rckst.mjs} +2 -2
  23. package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-ibH5osCg.mjs → nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-BSSpaCLL.mjs} +2 -2
  24. package/fesm2022/nanahoshi-mona-ui-grid-grid-list.component-D9AwQFDV.mjs +145 -0
  25. package/fesm2022/{nanahoshi-mona-ui-grid-grid-toggle.component-hc-LeIb0.mjs → nanahoshi-mona-ui-grid-grid-toggle.component-Byb9iTes.mjs} +21 -17
  26. package/fesm2022/{nanahoshi-mona-ui-grid-grid-virtual-list.component-DYajpOb9.mjs → nanahoshi-mona-ui-grid-grid-virtual-list.component-CBmdtrXm.mjs} +5 -5
  27. package/fesm2022/{nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-Pm8Fbp6M.mjs → nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-DPmJmCap.mjs} +90 -42
  28. package/fesm2022/nanahoshi-mona-ui-grid.mjs +1 -1
  29. package/fesm2022/nanahoshi-mona-ui-i18n.mjs +1168 -0
  30. package/fesm2022/nanahoshi-mona-ui-internal-list.mjs +12 -4
  31. package/fesm2022/nanahoshi-mona-ui-internal-tree.mjs +48 -21
  32. package/fesm2022/nanahoshi-mona-ui-list-box.mjs +33 -18
  33. package/fesm2022/nanahoshi-mona-ui-list-view.mjs +10 -10
  34. package/fesm2022/nanahoshi-mona-ui-list.mjs +2 -0
  35. package/fesm2022/nanahoshi-mona-ui-menubar.mjs +29 -16
  36. package/fesm2022/nanahoshi-mona-ui-multi-select.mjs +12 -3
  37. package/fesm2022/nanahoshi-mona-ui-notification.mjs +23 -18
  38. package/fesm2022/nanahoshi-mona-ui-numeric-text-box.mjs +211 -106
  39. package/fesm2022/nanahoshi-mona-ui-otp-input.mjs +14 -6
  40. package/fesm2022/nanahoshi-mona-ui-pager.mjs +46 -19
  41. package/fesm2022/nanahoshi-mona-ui-popup-menu.mjs +57 -46
  42. package/fesm2022/nanahoshi-mona-ui-popup.mjs +35 -15
  43. package/fesm2022/nanahoshi-mona-ui-progress-bar.mjs +38 -17
  44. package/fesm2022/nanahoshi-mona-ui-rating.mjs +25 -7
  45. package/fesm2022/nanahoshi-mona-ui-scroll-view.mjs +431 -101
  46. package/fesm2022/nanahoshi-mona-ui-segmented.mjs +1 -1
  47. package/fesm2022/nanahoshi-mona-ui-sheet.mjs +26 -8
  48. package/fesm2022/nanahoshi-mona-ui-sidebar.mjs +222 -28
  49. package/fesm2022/nanahoshi-mona-ui-slider.mjs +91 -36
  50. package/fesm2022/nanahoshi-mona-ui-spinner.mjs +34 -15
  51. package/fesm2022/nanahoshi-mona-ui-split-button.mjs +39 -23
  52. package/fesm2022/nanahoshi-mona-ui-splitter.mjs +50 -25
  53. package/fesm2022/nanahoshi-mona-ui-stepper.mjs +32 -14
  54. package/fesm2022/nanahoshi-mona-ui-switch.mjs +9 -9
  55. package/fesm2022/nanahoshi-mona-ui-tabs.mjs +74 -56
  56. package/fesm2022/nanahoshi-mona-ui-text-box.mjs +16 -8
  57. package/fesm2022/nanahoshi-mona-ui-time-picker.mjs +33 -19
  58. package/fesm2022/nanahoshi-mona-ui-time-selector.mjs +66 -27
  59. package/fesm2022/nanahoshi-mona-ui-tree-view.mjs +23 -15
  60. package/fesm2022/nanahoshi-mona-ui-window.mjs +71 -40
  61. package/i18n/package.json +4 -0
  62. package/package.json +5 -1
  63. package/types/nanahoshi-mona-ui-auto-complete.d.ts +6 -1
  64. package/types/nanahoshi-mona-ui-breadcrumb.d.ts +9 -3
  65. package/types/nanahoshi-mona-ui-button-group.d.ts +9 -3
  66. package/types/nanahoshi-mona-ui-calendar.d.ts +13 -3
  67. package/types/nanahoshi-mona-ui-card.d.ts +8 -2
  68. package/types/nanahoshi-mona-ui-chart.d.ts +10 -1
  69. package/types/nanahoshi-mona-ui-chip.d.ts +14 -5
  70. package/types/nanahoshi-mona-ui-color-gradient.d.ts +6 -1
  71. package/types/nanahoshi-mona-ui-color-palette.d.ts +21 -10
  72. package/types/nanahoshi-mona-ui-color-picker.d.ts +30 -20
  73. package/types/nanahoshi-mona-ui-combo-box.d.ts +6 -1
  74. package/types/nanahoshi-mona-ui-date-picker.d.ts +7 -2
  75. package/types/nanahoshi-mona-ui-datetime-picker.d.ts +33 -8
  76. package/types/nanahoshi-mona-ui-dialog.d.ts +16 -7
  77. package/types/nanahoshi-mona-ui-dropdown-list.d.ts +6 -1
  78. package/types/nanahoshi-mona-ui-dropdowns.d.ts +4 -1
  79. package/types/nanahoshi-mona-ui-editor.d.ts +6 -1
  80. package/types/nanahoshi-mona-ui-filter.d.ts +16 -10
  81. package/types/nanahoshi-mona-ui-grid.d.ts +38 -1
  82. package/types/nanahoshi-mona-ui-i18n.d.ts +633 -0
  83. package/types/nanahoshi-mona-ui-internal-list.d.ts +7 -2
  84. package/types/nanahoshi-mona-ui-internal-tree.d.ts +7 -3
  85. package/types/nanahoshi-mona-ui-list-box.d.ts +9 -4
  86. package/types/nanahoshi-mona-ui-list-view.d.ts +6 -6
  87. package/types/nanahoshi-mona-ui-list.d.ts +1 -1
  88. package/types/nanahoshi-mona-ui-menubar.d.ts +59 -58
  89. package/types/nanahoshi-mona-ui-multi-select.d.ts +6 -1
  90. package/types/nanahoshi-mona-ui-notification.d.ts +11 -5
  91. package/types/nanahoshi-mona-ui-numeric-text-box.d.ts +24 -15
  92. package/types/nanahoshi-mona-ui-otp-input.d.ts +9 -3
  93. package/types/nanahoshi-mona-ui-pager.d.ts +19 -6
  94. package/types/nanahoshi-mona-ui-popup.d.ts +2 -1
  95. package/types/nanahoshi-mona-ui-progress-bar.d.ts +9 -7
  96. package/types/nanahoshi-mona-ui-rating.d.ts +19 -12
  97. package/types/nanahoshi-mona-ui-scroll-view.d.ts +34 -28
  98. package/types/nanahoshi-mona-ui-sheet.d.ts +8 -2
  99. package/types/nanahoshi-mona-ui-sidebar.d.ts +3 -0
  100. package/types/nanahoshi-mona-ui-slider.d.ts +44 -26
  101. package/types/nanahoshi-mona-ui-spinner.d.ts +13 -4
  102. package/types/nanahoshi-mona-ui-split-button.d.ts +62 -56
  103. package/types/nanahoshi-mona-ui-splitter.d.ts +9 -6
  104. package/types/nanahoshi-mona-ui-stepper.d.ts +9 -3
  105. package/types/nanahoshi-mona-ui-switch.d.ts +1 -1
  106. package/types/nanahoshi-mona-ui-tabs.d.ts +96 -35
  107. package/types/nanahoshi-mona-ui-text-box.d.ts +11 -5
  108. package/types/nanahoshi-mona-ui-time-picker.d.ts +7 -2
  109. package/types/nanahoshi-mona-ui-time-selector.d.ts +16 -5
  110. package/types/nanahoshi-mona-ui-tree-view.d.ts +15 -10
  111. package/types/nanahoshi-mona-ui-window.d.ts +26 -20
  112. package/fesm2022/nanahoshi-mona-ui-grid-grid-list.component-ZM3CneJ0.mjs +0 -145
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Pipe, Injectable, inject, computed, signal, output, input, model, effect, untracked, Component } from '@angular/core';
2
+ import { Pipe, inject, Injectable, computed, signal, output, input, model, effect, untracked, Component } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { FormsModule } from '@angular/forms';
5
5
  import { ButtonDirective } from '@nanahoshi/mona-ui/button';
@@ -8,6 +8,7 @@ import { DatePickerComponent } from '@nanahoshi/mona-ui/date-picker';
8
8
  import { DropdownListComponent } from '@nanahoshi/mona-ui/dropdown-list';
9
9
  import { NumericTextBoxComponent } from '@nanahoshi/mona-ui/numeric-text-box';
10
10
  import { TextBoxComponent } from '@nanahoshi/mona-ui/text-box';
11
+ import { MonaI18nService } from '@nanahoshi/mona-ui/i18n';
11
12
  import { cva } from 'class-variance-authority';
12
13
  import { themeOverlaySurfaceClasses } from '@nanahoshi/mona-ui/internal';
13
14
 
@@ -55,48 +56,89 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
55
56
  }]
56
57
  }] });
57
58
 
59
+ const FILTER_DEFAULT_MESSAGES = {
60
+ and: "AND",
61
+ apply: "Apply",
62
+ clear: "Clear",
63
+ contains: "Contains",
64
+ doesNotContain: "Does not contain",
65
+ endsWith: "Ends with",
66
+ isAfter: "Is after",
67
+ isAfterOrEqualTo: "Is after or equal to",
68
+ isBefore: "Is before",
69
+ isBeforeOrEqualTo: "Is before or equal to",
70
+ isEmpty: "Is empty",
71
+ isEqualTo: "Is equal to",
72
+ isFalse: "Is false",
73
+ isGreaterThan: "Is greater than",
74
+ isGreaterThanOrEqualTo: "Is greater than or equal to",
75
+ isLessThan: "Is less than",
76
+ isLessThanOrEqualTo: "Is less than or equal to",
77
+ isNotEmpty: "Is not empty",
78
+ isNotEqualTo: "Is not equal to",
79
+ isNotNull: "Is not null",
80
+ isNotNullOrEmpty: "Is not null or empty",
81
+ isNull: "Is null",
82
+ isNullOrEmpty: "Is null or empty",
83
+ isTrue: "Is true",
84
+ or: "OR",
85
+ startsWith: "Starts with"
86
+ };
87
+
58
88
  class FilterService {
59
- constructor() {
60
- this.booleanFilterMenuItems = [
61
- { text: "Is true", value: "istrue" },
62
- { text: "Is false", value: "isfalse" },
63
- { text: "Is null", value: "isnull" },
64
- { text: "Is not null", value: "isnotnull" }
89
+ #i18n = inject(MonaI18nService);
90
+ #messages = this.#i18n.componentMessages("filter", FILTER_DEFAULT_MESSAGES);
91
+ get booleanFilterMenuItems() {
92
+ const m = this.#messages();
93
+ return [
94
+ { text: m.isTrue, value: "istrue" },
95
+ { text: m.isFalse, value: "isfalse" },
96
+ { text: m.isNull, value: "isnull" },
97
+ { text: m.isNotNull, value: "isnotnull" }
65
98
  ];
66
- this.dateFilterMenuItems = [
67
- { text: "Is equal to", value: "eq" },
68
- { text: "Is not equal to", value: "neq" },
69
- { text: "Is after", value: "gt" },
70
- { text: "Is after or equal to", value: "gte" },
71
- { text: "Is before", value: "lt" },
72
- { text: "Is before or equal to", value: "lte" },
73
- { text: "Is null", value: "isnull" },
74
- { text: "Is not null", value: "isnotnull" }
99
+ }
100
+ get dateFilterMenuItems() {
101
+ const m = this.#messages();
102
+ return [
103
+ { text: m.isEqualTo, value: "eq" },
104
+ { text: m.isNotEqualTo, value: "neq" },
105
+ { text: m.isAfter, value: "gt" },
106
+ { text: m.isAfterOrEqualTo, value: "gte" },
107
+ { text: m.isBefore, value: "lt" },
108
+ { text: m.isBeforeOrEqualTo, value: "lte" },
109
+ { text: m.isNull, value: "isnull" },
110
+ { text: m.isNotNull, value: "isnotnull" }
75
111
  ];
76
- // TODO: Add null and empty filter operators
77
- this.numericFilterMenuItems = [
78
- { text: "Is equal to", value: "eq" },
79
- { text: "Is not equal to", value: "neq" },
80
- { text: "Is greater than", value: "gt" },
81
- { text: "Is greater than or equal to", value: "gte" },
82
- { text: "Is less than", value: "lt" },
83
- { text: "Is less than or equal to", value: "lte" },
84
- { text: "Is null", value: "isnull" },
85
- { text: "Is not null", value: "isnotnull" }
112
+ }
113
+ // TODO: Add null and empty filter operators
114
+ get numericFilterMenuItems() {
115
+ const m = this.#messages();
116
+ return [
117
+ { text: m.isEqualTo, value: "eq" },
118
+ { text: m.isNotEqualTo, value: "neq" },
119
+ { text: m.isGreaterThan, value: "gt" },
120
+ { text: m.isGreaterThanOrEqualTo, value: "gte" },
121
+ { text: m.isLessThan, value: "lt" },
122
+ { text: m.isLessThanOrEqualTo, value: "lte" },
123
+ { text: m.isNull, value: "isnull" },
124
+ { text: m.isNotNull, value: "isnotnull" }
86
125
  ];
87
- this.stringFilterMenuItems = [
88
- { text: "Contains", value: "contains" },
89
- { text: "Does not contain", value: "doesnotcontain" },
90
- { text: "Ends with", value: "endswith" },
91
- { text: "Starts with", value: "startswith" },
92
- { text: "Is equal to", value: "eq" },
93
- { text: "Is not equal to", value: "neq" },
94
- { text: "Is empty", value: "isempty" },
95
- { text: "Is not empty", value: "isnotempty" },
96
- { text: "Is null", value: "isnull" },
97
- { text: "Is not null", value: "isnotnull" },
98
- { text: "Is null or empty", value: "isnullorempty" },
99
- { text: "Is not null or empty", value: "isnotnullorempty" }
126
+ }
127
+ get stringFilterMenuItems() {
128
+ const m = this.#messages();
129
+ return [
130
+ { text: m.contains, value: "contains" },
131
+ { text: m.doesNotContain, value: "doesnotcontain" },
132
+ { text: m.endsWith, value: "endswith" },
133
+ { text: m.startsWith, value: "startswith" },
134
+ { text: m.isEqualTo, value: "eq" },
135
+ { text: m.isNotEqualTo, value: "neq" },
136
+ { text: m.isEmpty, value: "isempty" },
137
+ { text: m.isNotEmpty, value: "isnotempty" },
138
+ { text: m.isNull, value: "isnull" },
139
+ { text: m.isNotNull, value: "isnotnull" },
140
+ { text: m.isNullOrEmpty, value: "isnullorempty" },
141
+ { text: m.isNotNullOrEmpty, value: "isnotnullorempty" }
100
142
  ];
101
143
  }
102
144
  buildBooleanFilterDescriptor(args) {
@@ -252,9 +294,12 @@ const filterMenuActionsThemeVariants = cva(`
252
294
  class FilterMenuComponent {
253
295
  #booleanFilterValues;
254
296
  #filterService;
297
+ #i18n;
255
298
  constructor() {
256
299
  this.#booleanFilterValues = [null, null];
257
300
  this.#filterService = inject(FilterService);
301
+ this.#i18n = inject(MonaI18nService);
302
+ this.messages = this.#i18n.componentMessages("filter", FILTER_DEFAULT_MESSAGES);
258
303
  this.applyDisabled = computed(() => {
259
304
  if (!this.firstFilterValid()) {
260
305
  return true;
@@ -266,12 +311,15 @@ class FilterMenuComponent {
266
311
  return filterMenuBaseThemeVariants();
267
312
  }, /* @ts-ignore */
268
313
  ...(ngDevMode ? [{ debugName: "baseClass" }] : /* istanbul ignore next */ []));
269
- this.booleanFilterMenuDataItems = this.#filterService.booleanFilterMenuItems;
270
- this.connectorDataItems = [
271
- { text: "AND", value: "and" },
272
- { text: "OR", value: "or" }
273
- ];
274
- this.dateFilterMenuDataItems = this.#filterService.dateFilterMenuItems;
314
+ this.booleanFilterMenuDataItems = computed(() => this.#filterService.booleanFilterMenuItems, /* @ts-ignore */
315
+ ...(ngDevMode ? [{ debugName: "booleanFilterMenuDataItems" }] : /* istanbul ignore next */ []));
316
+ this.connectorDataItems = computed(() => [
317
+ { text: this.messages().and, value: "and" },
318
+ { text: this.messages().or, value: "or" }
319
+ ], /* @ts-ignore */
320
+ ...(ngDevMode ? [{ debugName: "connectorDataItems" }] : /* istanbul ignore next */ []));
321
+ this.dateFilterMenuDataItems = computed(() => this.#filterService.dateFilterMenuItems, /* @ts-ignore */
322
+ ...(ngDevMode ? [{ debugName: "dateFilterMenuDataItems" }] : /* istanbul ignore next */ []));
275
323
  this.dateFilterValues = signal([null, null], /* @ts-ignore */
276
324
  ...(ngDevMode ? [{ debugName: "dateFilterValues" }] : /* istanbul ignore next */ []));
277
325
  this.effectiveDateOptions = computed(() => {
@@ -331,7 +379,8 @@ class FilterMenuComponent {
331
379
  ...(ngDevMode ? [{ debugName: "firstFilterValid" }] : /* istanbul ignore next */ []));
332
380
  this.numberFilterValues = signal([null, null], /* @ts-ignore */
333
381
  ...(ngDevMode ? [{ debugName: "numberFilterValues" }] : /* istanbul ignore next */ []));
334
- this.numericFilterMenuDataItems = this.#filterService.numericFilterMenuItems;
382
+ this.numericFilterMenuDataItems = computed(() => this.#filterService.numericFilterMenuItems, /* @ts-ignore */
383
+ ...(ngDevMode ? [{ debugName: "numericFilterMenuDataItems" }] : /* istanbul ignore next */ []));
335
384
  this.secondFilterValid = computed(() => {
336
385
  const operator = this.selectedFilterMenuDataItemList()[1]?.value;
337
386
  const type = this.type();
@@ -371,7 +420,8 @@ class FilterMenuComponent {
371
420
  undefined
372
421
  ], /* @ts-ignore */
373
422
  ...(ngDevMode ? [{ debugName: "selectedFilterMenuDataItemList" }] : /* istanbul ignore next */ []));
374
- this.stringFilterMenuDataItems = this.#filterService.stringFilterMenuItems;
423
+ this.stringFilterMenuDataItems = computed(() => this.#filterService.stringFilterMenuItems, /* @ts-ignore */
424
+ ...(ngDevMode ? [{ debugName: "stringFilterMenuDataItems" }] : /* istanbul ignore next */ []));
375
425
  this.stringFilterValues = signal(["", ""], /* @ts-ignore */
376
426
  ...(ngDevMode ? [{ debugName: "stringFilterValues" }] : /* istanbul ignore next */ []));
377
427
  this.apply = output();
@@ -400,6 +450,39 @@ class FilterMenuComponent {
400
450
  });
401
451
  }
402
452
  });
453
+ effect(() => {
454
+ this.messages();
455
+ untracked(() => {
456
+ const current = this.selectedFilterMenuDataItemList();
457
+ let items = [];
458
+ switch (this.type()) {
459
+ case "string":
460
+ items = this.stringFilterMenuDataItems();
461
+ break;
462
+ case "number":
463
+ items = this.numericFilterMenuDataItems();
464
+ break;
465
+ case "date":
466
+ items = this.dateFilterMenuDataItems();
467
+ break;
468
+ case "boolean":
469
+ items = this.booleanFilterMenuDataItems();
470
+ break;
471
+ }
472
+ const newFirst = current[0] ? items.find(i => i.value === current[0].value) : undefined;
473
+ const newSecond = current[1] ? items.find(i => i.value === current[1].value) : undefined;
474
+ if (newFirst !== current[0] || newSecond !== current[1]) {
475
+ this.selectedFilterMenuDataItemList.set([newFirst, newSecond]);
476
+ }
477
+ const currentConnector = this.selectedConnectorItem();
478
+ if (currentConnector) {
479
+ const newConnector = this.connectorDataItems().find(c => c.value === currentConnector.value) ?? null;
480
+ if (newConnector && newConnector.text !== currentConnector.text) {
481
+ this.selectedConnectorItem.set(newConnector);
482
+ }
483
+ }
484
+ });
485
+ });
403
486
  }
404
487
  onConnectorChange(item, selected) {
405
488
  if (selected) {
@@ -563,17 +646,17 @@ class FilterMenuComponent {
563
646
  let filterValues;
564
647
  switch (this.type()) {
565
648
  case "string":
566
- filterMenuDataItems = this.stringFilterMenuDataItems;
649
+ filterMenuDataItems = this.stringFilterMenuDataItems();
567
650
  filterValues = [values.value1 ?? "", values.value2 ?? ""];
568
651
  break;
569
652
  case "number":
570
- filterMenuDataItems = this.numericFilterMenuDataItems;
653
+ filterMenuDataItems = this.numericFilterMenuDataItems();
571
654
  filterValues = [values.value1 ?? null, values.value2 ?? null];
572
655
  break;
573
656
  case "date":
574
657
  case "boolean":
575
658
  filterMenuDataItems =
576
- this.type() !== "boolean" ? this.dateFilterMenuDataItems : this.booleanFilterMenuDataItems;
659
+ this.type() !== "boolean" ? this.dateFilterMenuDataItems() : this.booleanFilterMenuDataItems();
577
660
  filterValues = [values.value1 ?? null, values.value2 ?? null];
578
661
  break;
579
662
  default:
@@ -602,7 +685,7 @@ class FilterMenuComponent {
602
685
  break;
603
686
  }
604
687
  const selectedConnectorItem = values.operator2 && values.logic
605
- ? (this.connectorDataItems.find(c => c.value === values.logic) ?? null)
688
+ ? (this.connectorDataItems().find(c => c.value === values.logic) ?? null)
606
689
  : null;
607
690
  this.selectedConnectorItem.set(selectedConnectorItem);
608
691
  }
@@ -619,7 +702,7 @@ class FilterMenuComponent {
619
702
  }
620
703
  }
621
704
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FilterMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
622
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: FilterMenuComponent, isStandalone: true, selector: "mona-filter-menu", inputs: { dateOptions: { classPropertyName: "dateOptions", publicName: "dateOptions", isSignal: true, isRequired: false, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null }, operators: { classPropertyName: "operators", publicName: "operators", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { apply: "apply", field: "fieldChange", operators: "operatorsChange", type: "typeChange", value: "valueChange" }, host: { properties: { "class": "baseClass()" } }, ngImport: i0, template: "<div [class]=\"filterMenuItemClass()\">\n @if (type() === \"string\") {\n <mona-dropdown-list\n [data]=\"stringFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n <mona-text-box\n [ngModel]=\"stringFilterValues()[0]\"\n (ngModelChange)=\"stringFilterValues.set([$event, stringFilterValues()[1]])\"\n [size]=\"size()\"\n [disabled]=\"selectedFilterMenuDataItemList()[0]?.value | valuelessOperator\"></mona-text-box>\n }\n\n @if (type() === \"number\") {\n <mona-dropdown-list\n [data]=\"numericFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n <mona-numeric-text-box\n [ngModel]=\"numberFilterValues()[0]\"\n (ngModelChange)=\"numberFilterValues.set([$event, numberFilterValues()[1]])\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"selectedFilterMenuDataItemList()[0]?.value | valuelessOperator\"></mona-numeric-text-box>\n }\n\n @if (type() === \"date\") {\n <mona-dropdown-list\n [data]=\"dateFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n\n @if (type() === \"date\") {\n <mona-date-picker\n [ngModel]=\"dateFilterValues()[0]\"\n (ngModelChange)=\"dateFilterValues.set([$event, dateFilterValues()[1]])\"\n [format]=\"effectiveDateOptions().format\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"selectedFilterMenuDataItemList()[0]?.value | valuelessOperator\"></mona-date-picker>\n }\n }\n\n @if (type() === \"boolean\") {\n <mona-dropdown-list\n [data]=\"booleanFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n }\n</div>\n@if (firstFilterValid()) {\n <div [class]=\"filterMenuItemClass()\">\n <mona-button-group selection=\"single\" [size]=\"size()\" [rounded]=\"rounded()\" [disabled]=\"!firstFilterValid()\">\n @for (item of connectorDataItems; track item) {\n <button\n monaButton\n [selected]=\"item.value === selectedConnectorItem()?.value\"\n (selectedChange)=\"onConnectorChange(item, $event)\">\n {{ item.text }}\n </button>\n }\n </mona-button-group>\n </div>\n}\n@if (!!selectedConnectorItem()) {\n <div [class]=\"filterMenuItemClass()\">\n @if (type() === \"string\") {\n <mona-dropdown-list\n [data]=\"stringFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n <mona-text-box\n [ngModel]=\"stringFilterValues()[1]\"\n (ngModelChange)=\"stringFilterValues.set([stringFilterValues()[0], $event])\"\n [disabled]=\"selectedFilterMenuDataItemList()[1]?.value | valuelessOperator\"></mona-text-box>\n }\n\n @if (type() === \"number\") {\n <mona-dropdown-list\n [data]=\"numericFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n\n <mona-numeric-text-box\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"numberFilterValues()[1]\"\n (ngModelChange)=\"numberFilterValues.set([numberFilterValues()[0], $event])\"\n [disabled]=\"selectedFilterMenuDataItemList()[1]?.value | valuelessOperator\"></mona-numeric-text-box>\n }\n\n @if (type() === \"date\") {\n <mona-dropdown-list\n [data]=\"dateFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n\n @if (type() === \"date\") {\n <mona-date-picker\n [ngModel]=\"dateFilterValues()[1]\"\n (ngModelChange)=\"dateFilterValues.set([dateFilterValues()[0], $event])\"\n [format]=\"effectiveDateOptions().format\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"selectedFilterMenuDataItemList()[1]?.value | valuelessOperator\"></mona-date-picker>\n }\n }\n\n @if (type() === \"boolean\") {\n <mona-dropdown-list\n [data]=\"booleanFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n }\n </div>\n}\n<div [class]=\"`${filterMenuItemClass()} ${filterMenuActionsClass()}`\">\n <button\n monaButton\n (click)=\"onFilterApply()\"\n [look]=\"'primary'\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"applyDisabled()\">\n Apply\n </button>\n <button monaButton (click)=\"onFilterClear()\" [look]=\"'default'\" [size]=\"size()\" [rounded]=\"rounded()\">Clear</button>\n</div>\n", dependencies: [{ kind: "component", type: DropdownListComponent, selector: "mona-dropdown-list", inputs: ["aria-label", "aria-labelledby", "data", "disabled", "itemDisabled", "invalid", "loading", "placeholder", "popupClass", "popupHeight", "popupWidth", "readonly", "required", "rounded", "showClearButton", "size", "textField", "touched", "class", "valueField", "valuePrimitive", "value"], outputs: ["close", "closed", "disabledChange", "open", "opened", "touch", "valueChange"] }, { 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: "component", type: TextBoxComponent, selector: "mona-text-box", inputs: ["clearButton", "disabled", "inputAttributes", "inputClass", "inputStyle", "invalid", "placeholder", "readonly", "required", "rounded", "size", "touched", "type", "class", "value"], outputs: ["inputBlur", "inputFocus", "touch", "valueChange"] }, { kind: "component", type: NumericTextBoxComponent, selector: "mona-numeric-text-box", inputs: ["aria-label", "decimals", "disabled", "formatter", "maxValue", "minValue", "nullable", "readonly", "required", "invalid", "rounded", "size", "spinners", "step", "tabindex", "touched", "class", "value"], outputs: ["inputBlur", "inputFocus", "inputFocusOut", "touch", "valueChange"] }, { kind: "component", type: DatePickerComponent, selector: "mona-date-picker", inputs: ["disabled", "disabledDates", "firstDay", "format", "invalid", "max", "min", "placeholder", "popupClass", "popupHeight", "popupWidth", "readonly", "readonlyInput", "required", "rounded", "showClearButton", "size", "touched", "class", "value", "weekNumber"], outputs: ["close", "closed", "open", "opened", "touch", "valueChange"] }, { kind: "component", type: ButtonGroupComponent, selector: "mona-button-group", inputs: ["allowEmpty", "aria-label", "disabled", "look", "rounded", "selection", "size", "class"], outputs: ["buttonClick", "disabledChange", "selectionChange"] }, { kind: "directive", type: ButtonDirective, selector: "button[monaButton]", inputs: ["aria-haspopup", "disabled", "iconOnly", "loading", "look", "rounded", "selected", "size", "tabindex", "type", "toggleable", "class"], outputs: ["disabledChange", "loadingChange", "lookChange", "selectedChange"] }, { kind: "pipe", type: ValuelessOperatorPipe, name: "valuelessOperator" }, { kind: "pipe", type: OperatorFilterPipe, name: "operatorFilter" }] }); }
705
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: FilterMenuComponent, isStandalone: true, selector: "mona-filter-menu", inputs: { dateOptions: { classPropertyName: "dateOptions", publicName: "dateOptions", isSignal: true, isRequired: false, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null }, operators: { classPropertyName: "operators", publicName: "operators", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { apply: "apply", field: "fieldChange", operators: "operatorsChange", type: "typeChange", value: "valueChange" }, host: { properties: { "class": "baseClass()" } }, ngImport: i0, template: "<div [class]=\"filterMenuItemClass()\">\n @if (type() === \"string\") {\n <mona-dropdown-list\n [data]=\"stringFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n <mona-text-box\n [ngModel]=\"stringFilterValues()[0]\"\n (ngModelChange)=\"stringFilterValues.set([$event, stringFilterValues()[1]])\"\n [size]=\"size()\"\n [disabled]=\"selectedFilterMenuDataItemList()[0]?.value | valuelessOperator\"></mona-text-box>\n }\n\n @if (type() === \"number\") {\n <mona-dropdown-list\n [data]=\"numericFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n <mona-numeric-text-box\n [ngModel]=\"numberFilterValues()[0]\"\n (ngModelChange)=\"numberFilterValues.set([$event, numberFilterValues()[1]])\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"selectedFilterMenuDataItemList()[0]?.value | valuelessOperator\"></mona-numeric-text-box>\n }\n\n @if (type() === \"date\") {\n <mona-dropdown-list\n [data]=\"dateFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n\n @if (type() === \"date\") {\n <mona-date-picker\n [ngModel]=\"dateFilterValues()[0]\"\n (ngModelChange)=\"dateFilterValues.set([$event, dateFilterValues()[1]])\"\n [format]=\"effectiveDateOptions().format\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"selectedFilterMenuDataItemList()[0]?.value | valuelessOperator\"></mona-date-picker>\n }\n }\n\n @if (type() === \"boolean\") {\n <mona-dropdown-list\n [data]=\"booleanFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n }\n</div>\n@if (firstFilterValid()) {\n <div [class]=\"filterMenuItemClass()\">\n <mona-button-group selection=\"single\" [size]=\"size()\" [rounded]=\"rounded()\" [disabled]=\"!firstFilterValid()\">\n @for (item of connectorDataItems(); track item.value) {\n <button\n monaButton\n [selected]=\"item.value === selectedConnectorItem()?.value\"\n (selectedChange)=\"onConnectorChange(item, $event)\">\n {{ item.text }}\n </button>\n }\n </mona-button-group>\n </div>\n}\n@if (!!selectedConnectorItem()) {\n <div [class]=\"filterMenuItemClass()\">\n @if (type() === \"string\") {\n <mona-dropdown-list\n [data]=\"stringFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n <mona-text-box\n [ngModel]=\"stringFilterValues()[1]\"\n (ngModelChange)=\"stringFilterValues.set([stringFilterValues()[0], $event])\"\n [disabled]=\"selectedFilterMenuDataItemList()[1]?.value | valuelessOperator\"></mona-text-box>\n }\n\n @if (type() === \"number\") {\n <mona-dropdown-list\n [data]=\"numericFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n\n <mona-numeric-text-box\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"numberFilterValues()[1]\"\n (ngModelChange)=\"numberFilterValues.set([numberFilterValues()[0], $event])\"\n [disabled]=\"selectedFilterMenuDataItemList()[1]?.value | valuelessOperator\"></mona-numeric-text-box>\n }\n\n @if (type() === \"date\") {\n <mona-dropdown-list\n [data]=\"dateFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n\n @if (type() === \"date\") {\n <mona-date-picker\n [ngModel]=\"dateFilterValues()[1]\"\n (ngModelChange)=\"dateFilterValues.set([dateFilterValues()[0], $event])\"\n [format]=\"effectiveDateOptions().format\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"selectedFilterMenuDataItemList()[1]?.value | valuelessOperator\"></mona-date-picker>\n }\n }\n\n @if (type() === \"boolean\") {\n <mona-dropdown-list\n [data]=\"booleanFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n }\n </div>\n}\n<div [class]=\"`${filterMenuItemClass()} ${filterMenuActionsClass()}`\">\n <button\n monaButton\n (click)=\"onFilterApply()\"\n [look]=\"'primary'\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"applyDisabled()\">\n {{ messages().apply }}\n </button>\n <button monaButton (click)=\"onFilterClear()\" [look]=\"'default'\" [size]=\"size()\" [rounded]=\"rounded()\">{{ messages().clear }}</button>\n</div>\n", dependencies: [{ kind: "component", type: DropdownListComponent, selector: "mona-dropdown-list", inputs: ["aria-label", "aria-labelledby", "data", "disabled", "itemDisabled", "invalid", "loading", "placeholder", "popupClass", "popupHeight", "popupWidth", "readonly", "required", "rounded", "showClearButton", "size", "textField", "touched", "class", "valueField", "valuePrimitive", "value"], outputs: ["close", "closed", "disabledChange", "open", "opened", "touch", "valueChange"] }, { 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: "component", type: TextBoxComponent, selector: "mona-text-box", inputs: ["clearButton", "disabled", "inputAttributes", "inputClass", "inputStyle", "invalid", "placeholder", "readonly", "required", "rounded", "size", "touched", "type", "class", "value"], outputs: ["inputBlur", "inputFocus", "touch", "valueChange"] }, { kind: "component", type: NumericTextBoxComponent, selector: "mona-numeric-text-box", inputs: ["aria-label", "decimals", "disabled", "formatter", "invalid", "maxValue", "minValue", "nullable", "readonly", "required", "rounded", "size", "spinners", "step", "tabindex", "touched", "class", "value"], outputs: ["inputBlur", "inputFocus", "inputFocusOut", "touch", "valueChange"] }, { kind: "component", type: DatePickerComponent, selector: "mona-date-picker", inputs: ["disabled", "disabledDates", "firstDay", "format", "invalid", "max", "min", "placeholder", "popupClass", "popupHeight", "popupWidth", "readonly", "readonlyInput", "required", "rounded", "showClearButton", "size", "touched", "class", "value", "weekNumber"], outputs: ["close", "closed", "open", "opened", "touch", "valueChange"] }, { kind: "component", type: ButtonGroupComponent, selector: "mona-button-group", inputs: ["allowEmpty", "aria-label", "disabled", "look", "rounded", "selection", "size", "class"], outputs: ["buttonClick", "disabledChange", "selectionChange"] }, { kind: "directive", type: ButtonDirective, selector: "button[monaButton]", inputs: ["aria-haspopup", "disabled", "iconOnly", "loading", "look", "rounded", "selected", "size", "tabindex", "type", "toggleable", "class"], outputs: ["disabledChange", "loadingChange", "lookChange", "selectedChange"] }, { kind: "pipe", type: ValuelessOperatorPipe, name: "valuelessOperator" }, { kind: "pipe", type: OperatorFilterPipe, name: "operatorFilter" }] }); }
623
706
  }
624
707
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FilterMenuComponent, decorators: [{
625
708
  type: Component,
@@ -635,7 +718,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
635
718
  OperatorFilterPipe
636
719
  ], host: {
637
720
  "[class]": "baseClass()"
638
- }, template: "<div [class]=\"filterMenuItemClass()\">\n @if (type() === \"string\") {\n <mona-dropdown-list\n [data]=\"stringFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n <mona-text-box\n [ngModel]=\"stringFilterValues()[0]\"\n (ngModelChange)=\"stringFilterValues.set([$event, stringFilterValues()[1]])\"\n [size]=\"size()\"\n [disabled]=\"selectedFilterMenuDataItemList()[0]?.value | valuelessOperator\"></mona-text-box>\n }\n\n @if (type() === \"number\") {\n <mona-dropdown-list\n [data]=\"numericFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n <mona-numeric-text-box\n [ngModel]=\"numberFilterValues()[0]\"\n (ngModelChange)=\"numberFilterValues.set([$event, numberFilterValues()[1]])\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"selectedFilterMenuDataItemList()[0]?.value | valuelessOperator\"></mona-numeric-text-box>\n }\n\n @if (type() === \"date\") {\n <mona-dropdown-list\n [data]=\"dateFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n\n @if (type() === \"date\") {\n <mona-date-picker\n [ngModel]=\"dateFilterValues()[0]\"\n (ngModelChange)=\"dateFilterValues.set([$event, dateFilterValues()[1]])\"\n [format]=\"effectiveDateOptions().format\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"selectedFilterMenuDataItemList()[0]?.value | valuelessOperator\"></mona-date-picker>\n }\n }\n\n @if (type() === \"boolean\") {\n <mona-dropdown-list\n [data]=\"booleanFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n }\n</div>\n@if (firstFilterValid()) {\n <div [class]=\"filterMenuItemClass()\">\n <mona-button-group selection=\"single\" [size]=\"size()\" [rounded]=\"rounded()\" [disabled]=\"!firstFilterValid()\">\n @for (item of connectorDataItems; track item) {\n <button\n monaButton\n [selected]=\"item.value === selectedConnectorItem()?.value\"\n (selectedChange)=\"onConnectorChange(item, $event)\">\n {{ item.text }}\n </button>\n }\n </mona-button-group>\n </div>\n}\n@if (!!selectedConnectorItem()) {\n <div [class]=\"filterMenuItemClass()\">\n @if (type() === \"string\") {\n <mona-dropdown-list\n [data]=\"stringFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n <mona-text-box\n [ngModel]=\"stringFilterValues()[1]\"\n (ngModelChange)=\"stringFilterValues.set([stringFilterValues()[0], $event])\"\n [disabled]=\"selectedFilterMenuDataItemList()[1]?.value | valuelessOperator\"></mona-text-box>\n }\n\n @if (type() === \"number\") {\n <mona-dropdown-list\n [data]=\"numericFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n\n <mona-numeric-text-box\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"numberFilterValues()[1]\"\n (ngModelChange)=\"numberFilterValues.set([numberFilterValues()[0], $event])\"\n [disabled]=\"selectedFilterMenuDataItemList()[1]?.value | valuelessOperator\"></mona-numeric-text-box>\n }\n\n @if (type() === \"date\") {\n <mona-dropdown-list\n [data]=\"dateFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n\n @if (type() === \"date\") {\n <mona-date-picker\n [ngModel]=\"dateFilterValues()[1]\"\n (ngModelChange)=\"dateFilterValues.set([dateFilterValues()[0], $event])\"\n [format]=\"effectiveDateOptions().format\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"selectedFilterMenuDataItemList()[1]?.value | valuelessOperator\"></mona-date-picker>\n }\n }\n\n @if (type() === \"boolean\") {\n <mona-dropdown-list\n [data]=\"booleanFilterMenuDataItems | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n }\n </div>\n}\n<div [class]=\"`${filterMenuItemClass()} ${filterMenuActionsClass()}`\">\n <button\n monaButton\n (click)=\"onFilterApply()\"\n [look]=\"'primary'\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"applyDisabled()\">\n Apply\n </button>\n <button monaButton (click)=\"onFilterClear()\" [look]=\"'default'\" [size]=\"size()\" [rounded]=\"rounded()\">Clear</button>\n</div>\n" }]
721
+ }, template: "<div [class]=\"filterMenuItemClass()\">\n @if (type() === \"string\") {\n <mona-dropdown-list\n [data]=\"stringFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n <mona-text-box\n [ngModel]=\"stringFilterValues()[0]\"\n (ngModelChange)=\"stringFilterValues.set([$event, stringFilterValues()[1]])\"\n [size]=\"size()\"\n [disabled]=\"selectedFilterMenuDataItemList()[0]?.value | valuelessOperator\"></mona-text-box>\n }\n\n @if (type() === \"number\") {\n <mona-dropdown-list\n [data]=\"numericFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n <mona-numeric-text-box\n [ngModel]=\"numberFilterValues()[0]\"\n (ngModelChange)=\"numberFilterValues.set([$event, numberFilterValues()[1]])\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"selectedFilterMenuDataItemList()[0]?.value | valuelessOperator\"></mona-numeric-text-box>\n }\n\n @if (type() === \"date\") {\n <mona-dropdown-list\n [data]=\"dateFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n\n @if (type() === \"date\") {\n <mona-date-picker\n [ngModel]=\"dateFilterValues()[0]\"\n (ngModelChange)=\"dateFilterValues.set([$event, dateFilterValues()[1]])\"\n [format]=\"effectiveDateOptions().format\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"selectedFilterMenuDataItemList()[0]?.value | valuelessOperator\"></mona-date-picker>\n }\n }\n\n @if (type() === \"boolean\") {\n <mona-dropdown-list\n [data]=\"booleanFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [ngModel]=\"selectedFilterMenuDataItemList()[0]\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n (ngModelChange)=\"onFilterOperatorChange(0, $event)\"></mona-dropdown-list>\n }\n</div>\n@if (firstFilterValid()) {\n <div [class]=\"filterMenuItemClass()\">\n <mona-button-group selection=\"single\" [size]=\"size()\" [rounded]=\"rounded()\" [disabled]=\"!firstFilterValid()\">\n @for (item of connectorDataItems(); track item.value) {\n <button\n monaButton\n [selected]=\"item.value === selectedConnectorItem()?.value\"\n (selectedChange)=\"onConnectorChange(item, $event)\">\n {{ item.text }}\n </button>\n }\n </mona-button-group>\n </div>\n}\n@if (!!selectedConnectorItem()) {\n <div [class]=\"filterMenuItemClass()\">\n @if (type() === \"string\") {\n <mona-dropdown-list\n [data]=\"stringFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n <mona-text-box\n [ngModel]=\"stringFilterValues()[1]\"\n (ngModelChange)=\"stringFilterValues.set([stringFilterValues()[0], $event])\"\n [disabled]=\"selectedFilterMenuDataItemList()[1]?.value | valuelessOperator\"></mona-text-box>\n }\n\n @if (type() === \"number\") {\n <mona-dropdown-list\n [data]=\"numericFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n\n <mona-numeric-text-box\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"numberFilterValues()[1]\"\n (ngModelChange)=\"numberFilterValues.set([numberFilterValues()[0], $event])\"\n [disabled]=\"selectedFilterMenuDataItemList()[1]?.value | valuelessOperator\"></mona-numeric-text-box>\n }\n\n @if (type() === \"date\") {\n <mona-dropdown-list\n [data]=\"dateFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n\n @if (type() === \"date\") {\n <mona-date-picker\n [ngModel]=\"dateFilterValues()[1]\"\n (ngModelChange)=\"dateFilterValues.set([dateFilterValues()[0], $event])\"\n [format]=\"effectiveDateOptions().format\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"selectedFilterMenuDataItemList()[1]?.value | valuelessOperator\"></mona-date-picker>\n }\n }\n\n @if (type() === \"boolean\") {\n <mona-dropdown-list\n [data]=\"booleanFilterMenuDataItems() | operatorFilter: operators()\"\n textField=\"text\"\n valueField=\"value\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [ngModel]=\"selectedFilterMenuDataItemList()[1]\"\n (ngModelChange)=\"onFilterOperatorChange(1, $event)\"></mona-dropdown-list>\n }\n </div>\n}\n<div [class]=\"`${filterMenuItemClass()} ${filterMenuActionsClass()}`\">\n <button\n monaButton\n (click)=\"onFilterApply()\"\n [look]=\"'primary'\"\n [size]=\"size()\"\n [rounded]=\"rounded()\"\n [disabled]=\"applyDisabled()\">\n {{ messages().apply }}\n </button>\n <button monaButton (click)=\"onFilterClear()\" [look]=\"'default'\" [size]=\"size()\" [rounded]=\"rounded()\">{{ messages().clear }}</button>\n</div>\n" }]
639
722
  }], ctorParameters: () => [], propDecorators: { apply: [{ type: i0.Output, args: ["apply"] }], dateOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateOptions", required: false }] }], field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: false }] }, { type: i0.Output, args: ["fieldChange"] }], operators: [{ type: i0.Input, args: [{ isSignal: true, alias: "operators", required: false }] }, { type: i0.Output, args: ["operatorsChange"] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }, { type: i0.Output, args: ["typeChange"] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
640
723
 
641
724
  /*
@@ -646,5 +729,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
646
729
  * Generated bundle index. Do not edit.
647
730
  */
648
731
 
649
- export { FilterMenuComponent, FilterService };
732
+ export { FILTER_DEFAULT_MESSAGES, FilterMenuComponent, FilterService };
650
733
  //# sourceMappingURL=nanahoshi-mona-ui-filter.mjs.map
@@ -2,7 +2,7 @@ import { NgTemplateOutlet } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { inject, computed, input, ChangeDetectionStrategy, Component } from '@angular/core';
4
4
  import { ImmutableDictionary } from '@mirei/ts-collections';
5
- import { c as GridService } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-Pm8Fbp6M.mjs';
5
+ import { c as GridService } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-DPmJmCap.mjs';
6
6
 
7
7
  class GridFooterCellComponent {
8
8
  constructor() {
@@ -102,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
102
102
  }], propDecorators: { column: [{ type: i0.Input, args: [{ isSignal: true, alias: "column", required: true }] }], columnIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnIndex", required: true }] }], groupKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupKey", required: false }] }] } });
103
103
 
104
104
  export { GridFooterCellComponent };
105
- //# sourceMappingURL=nanahoshi-mona-ui-grid-grid-footer-cell.component-WEDbZ5vy.mjs.map
105
+ //# sourceMappingURL=nanahoshi-mona-ui-grid-grid-footer-cell.component-Bg7rckst.mjs.map
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { computed, input, Directive } from '@angular/core';
3
- import { z as gridFooterTableCellThemeVariants } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-Pm8Fbp6M.mjs';
3
+ import { z as gridFooterTableCellThemeVariants } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-DPmJmCap.mjs';
4
4
 
5
5
  class GridFooterTableCellDirective {
6
6
  constructor() {
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
35
35
  }], propDecorators: { footerCellMinWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerCellMinWidth", required: false }] }], footerCellWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerCellWidth", required: false }] }], footerColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerColumn", required: false }] }] } });
36
36
 
37
37
  export { GridFooterTableCellDirective };
38
- //# sourceMappingURL=nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-ibH5osCg.mjs.map
38
+ //# sourceMappingURL=nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-BSSpaCLL.mjs.map