@nanahoshi/mona-ui 0.23.3 → 0.24.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 (107) hide show
  1. package/fesm2022/nanahoshi-mona-ui-auto-complete.mjs +2 -0
  2. package/fesm2022/nanahoshi-mona-ui-breadcrumb.mjs +2 -0
  3. package/fesm2022/nanahoshi-mona-ui-button-group.mjs +2 -0
  4. package/fesm2022/nanahoshi-mona-ui-calendar.mjs +13 -11
  5. package/fesm2022/nanahoshi-mona-ui-card.mjs +2 -0
  6. package/fesm2022/nanahoshi-mona-ui-chart.mjs +4 -2
  7. package/fesm2022/nanahoshi-mona-ui-chip.mjs +2 -0
  8. package/fesm2022/nanahoshi-mona-ui-color-gradient.mjs +5 -3
  9. package/fesm2022/nanahoshi-mona-ui-color-palette.mjs +2 -0
  10. package/fesm2022/nanahoshi-mona-ui-color-picker.mjs +2 -0
  11. package/fesm2022/nanahoshi-mona-ui-combo-box.mjs +2 -0
  12. package/fesm2022/nanahoshi-mona-ui-date-picker.mjs +2 -0
  13. package/fesm2022/nanahoshi-mona-ui-datetime-picker.mjs +2 -0
  14. package/fesm2022/nanahoshi-mona-ui-dialog.mjs +2 -0
  15. package/fesm2022/nanahoshi-mona-ui-dropdown-list.mjs +2 -0
  16. package/fesm2022/nanahoshi-mona-ui-dropdowns.mjs +5 -3
  17. package/fesm2022/nanahoshi-mona-ui-editor.mjs +5 -3
  18. package/fesm2022/nanahoshi-mona-ui-filter.mjs +3 -1
  19. package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-row.component-BSVlcB9_.mjs → nanahoshi-mona-ui-grid-grid-footer-row.component-CnPhVIr4.mjs} +2 -2
  20. package/fesm2022/{nanahoshi-mona-ui-grid-grid-list.component-B2pBOuLa.mjs → nanahoshi-mona-ui-grid-grid-list.component-DxY6bfTX.mjs} +4 -4
  21. package/fesm2022/{nanahoshi-mona-ui-grid-grid-row.component-Buf4evf5.mjs → nanahoshi-mona-ui-grid-grid-row.component-CaO5Lae6.mjs} +3 -3
  22. package/fesm2022/{nanahoshi-mona-ui-grid-grid-virtual-list.component-1RdqLEa9.mjs → nanahoshi-mona-ui-grid-grid-virtual-list.component-jNYtqg5B.mjs} +4 -4
  23. package/fesm2022/{nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-DeRc_QcP.mjs → nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-9FtfCutf.mjs} +12 -10
  24. package/fesm2022/nanahoshi-mona-ui-grid.mjs +1 -1
  25. package/fesm2022/nanahoshi-mona-ui-i18n-icu.mjs +888 -0
  26. package/fesm2022/nanahoshi-mona-ui-i18n.mjs +337 -104
  27. package/fesm2022/nanahoshi-mona-ui-internal-list.mjs +2 -0
  28. package/fesm2022/nanahoshi-mona-ui-internal-tree.mjs +2 -0
  29. package/fesm2022/nanahoshi-mona-ui-list-box.mjs +2 -0
  30. package/fesm2022/nanahoshi-mona-ui-locales-ar-sa.mjs +401 -0
  31. package/fesm2022/nanahoshi-mona-ui-locales-de-de.mjs +399 -0
  32. package/fesm2022/nanahoshi-mona-ui-locales-es-es.mjs +399 -0
  33. package/fesm2022/nanahoshi-mona-ui-locales-fr-fr.mjs +399 -0
  34. package/fesm2022/nanahoshi-mona-ui-locales-id-id.mjs +397 -0
  35. package/fesm2022/nanahoshi-mona-ui-locales-it-it.mjs +399 -0
  36. package/fesm2022/nanahoshi-mona-ui-locales-ja-jp.mjs +397 -0
  37. package/fesm2022/nanahoshi-mona-ui-locales-ko-kr.mjs +397 -0
  38. package/fesm2022/nanahoshi-mona-ui-locales-pt-br.mjs +399 -0
  39. package/fesm2022/nanahoshi-mona-ui-locales-ru-ru.mjs +401 -0
  40. package/fesm2022/nanahoshi-mona-ui-locales-tr-tr.mjs +397 -0
  41. package/fesm2022/nanahoshi-mona-ui-locales-zh-cn.mjs +397 -0
  42. package/fesm2022/nanahoshi-mona-ui-locales-zh-tw.mjs +397 -0
  43. package/fesm2022/nanahoshi-mona-ui-locales.mjs +76 -5060
  44. package/fesm2022/nanahoshi-mona-ui-multi-select.mjs +5 -3
  45. package/fesm2022/nanahoshi-mona-ui-notification.mjs +2 -0
  46. package/fesm2022/nanahoshi-mona-ui-numeric-text-box.mjs +299 -167
  47. package/fesm2022/nanahoshi-mona-ui-otp-input.mjs +2 -0
  48. package/fesm2022/nanahoshi-mona-ui-pager.mjs +5 -3
  49. package/fesm2022/nanahoshi-mona-ui-rating.mjs +4 -2
  50. package/fesm2022/nanahoshi-mona-ui-scroll-view.mjs +5 -3
  51. package/fesm2022/nanahoshi-mona-ui-sheet.mjs +2 -0
  52. package/fesm2022/nanahoshi-mona-ui-slider.mjs +2 -0
  53. package/fesm2022/nanahoshi-mona-ui-spinner.mjs +2 -0
  54. package/fesm2022/nanahoshi-mona-ui-split-button.mjs +2 -0
  55. package/fesm2022/nanahoshi-mona-ui-splitter.mjs +2 -0
  56. package/fesm2022/nanahoshi-mona-ui-stepper.mjs +2 -0
  57. package/fesm2022/nanahoshi-mona-ui-tabs.mjs +2 -0
  58. package/fesm2022/nanahoshi-mona-ui-text-box.mjs +2 -0
  59. package/fesm2022/nanahoshi-mona-ui-time-picker.mjs +2 -0
  60. package/fesm2022/nanahoshi-mona-ui-time-selector.mjs +2 -0
  61. package/fesm2022/nanahoshi-mona-ui-window.mjs +2 -0
  62. package/i18n/catalogs/en-US.messages.json +373 -0
  63. package/i18n/icu/package.json +4 -0
  64. package/locales/ar-sa/ar-sa.messages.json +373 -0
  65. package/locales/ar-sa/package.json +4 -0
  66. package/locales/de-de/de-de.messages.json +373 -0
  67. package/locales/de-de/package.json +4 -0
  68. package/locales/es-es/es-es.messages.json +373 -0
  69. package/locales/es-es/package.json +4 -0
  70. package/locales/fr-fr/fr-fr.messages.json +373 -0
  71. package/locales/fr-fr/package.json +4 -0
  72. package/locales/id-id/id-id.messages.json +373 -0
  73. package/locales/id-id/package.json +4 -0
  74. package/locales/it-it/it-it.messages.json +373 -0
  75. package/locales/it-it/package.json +4 -0
  76. package/locales/ja-jp/ja-jp.messages.json +373 -0
  77. package/locales/ja-jp/package.json +4 -0
  78. package/locales/ko-kr/ko-kr.messages.json +373 -0
  79. package/locales/ko-kr/package.json +4 -0
  80. package/locales/pt-br/package.json +4 -0
  81. package/locales/pt-br/pt-br.messages.json +373 -0
  82. package/locales/ru-ru/package.json +4 -0
  83. package/locales/ru-ru/ru-ru.messages.json +373 -0
  84. package/locales/tr-tr/package.json +4 -0
  85. package/locales/tr-tr/tr-tr.messages.json +373 -0
  86. package/locales/zh-cn/package.json +4 -0
  87. package/locales/zh-cn/zh-cn.messages.json +373 -0
  88. package/locales/zh-tw/package.json +4 -0
  89. package/locales/zh-tw/zh-tw.messages.json +373 -0
  90. package/package.json +111 -53
  91. package/types/nanahoshi-mona-ui-i18n-icu.d.ts +74 -0
  92. package/types/nanahoshi-mona-ui-i18n.d.ts +108 -6
  93. package/types/nanahoshi-mona-ui-locales-ar-sa.d.ts +379 -0
  94. package/types/nanahoshi-mona-ui-locales-de-de.d.ts +379 -0
  95. package/types/nanahoshi-mona-ui-locales-es-es.d.ts +379 -0
  96. package/types/nanahoshi-mona-ui-locales-fr-fr.d.ts +379 -0
  97. package/types/nanahoshi-mona-ui-locales-id-id.d.ts +379 -0
  98. package/types/nanahoshi-mona-ui-locales-it-it.d.ts +379 -0
  99. package/types/nanahoshi-mona-ui-locales-ja-jp.d.ts +379 -0
  100. package/types/nanahoshi-mona-ui-locales-ko-kr.d.ts +379 -0
  101. package/types/nanahoshi-mona-ui-locales-pt-br.d.ts +379 -0
  102. package/types/nanahoshi-mona-ui-locales-ru-ru.d.ts +379 -0
  103. package/types/nanahoshi-mona-ui-locales-tr-tr.d.ts +379 -0
  104. package/types/nanahoshi-mona-ui-locales-zh-cn.d.ts +379 -0
  105. package/types/nanahoshi-mona-ui-locales-zh-tw.d.ts +379 -0
  106. package/types/nanahoshi-mona-ui-locales.d.ts +30 -4915
  107. package/types/nanahoshi-mona-ui-numeric-text-box.d.ts +113 -37
@@ -16,6 +16,8 @@ import { Subject, filter, debounceTime, identity, take, tap } from 'rxjs';
16
16
  import { twMerge } from 'tailwind-merge';
17
17
  import { cva } from 'class-variance-authority';
18
18
 
19
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
20
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
19
21
  const AUTO_COMPLETE_DEFAULT_MESSAGES = {
20
22
  clear: "Clear"
21
23
  };
@@ -97,6 +97,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
97
97
  }]
98
98
  }] });
99
99
 
100
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
101
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
100
102
  const BREADCRUMB_DEFAULT_MESSAGES = {
101
103
  breadcrumb: "Breadcrumb"
102
104
  };
@@ -7,6 +7,8 @@ import { map, pairwise } from 'rxjs';
7
7
  import { twMerge } from 'tailwind-merge';
8
8
  import { cva } from 'class-variance-authority';
9
9
 
10
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
11
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
10
12
  const BUTTON_GROUP_DEFAULT_MESSAGES = {
11
13
  buttonGroup: "Button group"
12
14
  };
@@ -14,25 +14,27 @@ import { twMerge } from 'tailwind-merge';
14
14
  import { formatNumber, MonaI18nService, injectComponentDirection, gregorianDateTime, formatGregorianDateToLocaleString, getLocaleFirstDayOfWeek, gregorianDateTimeFromObject } from '@nanahoshi/mona-ui/i18n';
15
15
  import { cva } from 'class-variance-authority';
16
16
 
17
- function localizeYear(year) {
18
- return formatNumber(year, "en-US", { useGrouping: false });
17
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
18
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
19
+ function localizeNumber(value, options) {
20
+ return formatNumber(value, "en-US", options);
19
21
  }
20
22
  const CALENDAR_DEFAULT_MESSAGES = {
21
23
  calendarLabel: (formattedMonthAndYear) => `Calendar, ${formattedMonthAndYear}`,
22
- yearViewLabel: (year) => `Year view, ${year}`,
23
- decadeViewLabel: (start, end) => `Decade view, ${localizeYear(start)} - ${localizeYear(end)}`,
24
+ decadeRange: (start, end) => `${localizeNumber(start, { useGrouping: false })} to ${localizeNumber(end, { useGrouping: false })}`,
25
+ decadeViewLabel: (start, end) => `Decade view, ${localizeNumber(start, { useGrouping: false })} - ${localizeNumber(end, { useGrouping: false })}`,
26
+ goToToday: (formattedDate) => `Go to today, ${formattedDate}`,
27
+ nextDecade: "Next decade",
24
28
  nextMonth: "Next month",
25
29
  nextYear: "Next year",
26
- nextDecade: "Next decade",
30
+ previousDecade: "Previous decade",
27
31
  previousMonth: "Previous month",
28
32
  previousYear: "Previous year",
29
- previousDecade: "Previous decade",
30
- today: "Today",
31
- goToToday: (formattedDate) => `Go to today, ${formattedDate}`,
32
- switchToYearView: (currentMonthAndYear) => `Switch to year view, currently ${currentMonthAndYear}`,
33
33
  switchToDecadeView: (currentYear) => `Switch to decade view, currently ${currentYear}`,
34
- decadeRange: (start, end) => `${localizeYear(start)} to ${localizeYear(end)}`,
35
- yearCellLabel: (year) => `Year ${localizeYear(year)}`
34
+ switchToYearView: (currentMonthAndYear) => `Switch to year view, currently ${currentMonthAndYear}`,
35
+ today: "Today",
36
+ yearCellLabel: (year) => `Year ${localizeNumber(year, { useGrouping: false })}`,
37
+ yearViewLabel: (year) => `Year view, ${year}`
36
38
  };
37
39
 
38
40
  class CalendarDecadeCellTemplateDirective {
@@ -21,6 +21,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
21
21
  }]
22
22
  }] });
23
23
 
24
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
25
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
24
26
  const CARD_DEFAULT_MESSAGES = {
25
27
  actionsLabel: "Card actions"
26
28
  };
@@ -53,6 +53,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
53
53
  }]
54
54
  }] });
55
55
 
56
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
57
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
56
58
  const CHART_DEFAULT_MESSAGES = {
57
59
  change: "Change",
58
60
  chart: "Chart",
@@ -61,7 +63,7 @@ const CHART_DEFAULT_MESSAGES = {
61
63
  closeAbbreviation: "C",
62
64
  colorScale: "Color scale",
63
65
  conversion: "Conversion",
64
- divergingRangeDescription: (title, min, mid, max) => `${title}, ${min} to ${mid} to ${max}`,
66
+ divergingRangeDescription: (title, minimum, midpoint, maximum) => `${title}, ${minimum} to ${midpoint} to ${maximum}`,
65
67
  dropOff: "Drop-off",
66
68
  falling: "Falling",
67
69
  high: "High",
@@ -74,7 +76,7 @@ const CHART_DEFAULT_MESSAGES = {
74
76
  openAbbreviation: "O",
75
77
  overall: "Overall",
76
78
  range: "Range",
77
- rangeDescription: (title, min, max) => `${title}, ${min} to ${max}`,
79
+ rangeDescription: (title, minimum, maximum) => `${title}, ${minimum} to ${maximum}`,
78
80
  rising: "Rising",
79
81
  runningTotal: "Running Total",
80
82
  size: "size",
@@ -11,6 +11,8 @@ import { twMerge } from 'tailwind-merge';
11
11
  import { cva } from 'class-variance-authority';
12
12
  import { themeRaisedSurfaceClasses } from '@nanahoshi/mona-ui/internal';
13
13
 
14
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
15
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
14
16
  const CHIP_DEFAULT_MESSAGES = {
15
17
  removeLabel: (label) => (label ? `Remove, ${label}` : "Remove, item")
16
18
  };
@@ -14,8 +14,10 @@ import { formatNumber, MonaI18nService } from '@nanahoshi/mona-ui/i18n';
14
14
  import { Subject, fromEvent, switchMap, takeUntil, distinctUntilChanged } from 'rxjs';
15
15
  import { cva } from 'class-variance-authority';
16
16
 
17
- function localizeNumber(value) {
18
- return formatNumber(value, "en-US");
17
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
18
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
19
+ function localizeNumber(value, options) {
20
+ return formatNumber(value, "en-US", options);
19
21
  }
20
22
  const COLOR_GRADIENT_DEFAULT_MESSAGES = {
21
23
  apply: "Apply",
@@ -787,7 +789,7 @@ class ColorGradientComponent {
787
789
  }
788
790
  }
789
791
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ColorGradientComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
790
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: ColorGradientComponent, isStandalone: true, selector: "mona-color-gradient", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, opacity: { classPropertyName: "opacity", publicName: "opacity", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, showButtons: { classPropertyName: "showButtons", publicName: "showButtons", isSignal: true, isRequired: false, transformFunction: null }, showHexInput: { classPropertyName: "showHexInput", publicName: "showHexInput", isSignal: true, isRequired: false, transformFunction: null }, showColorInputs: { classPropertyName: "showColorInputs", publicName: "showColorInputs", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { apply: "apply", cancel: "cancel", touch: "touch", value: "valueChange" }, host: { properties: { "class": "baseClasses()", "attr.data-disabled": "disabled()", "attr.data-invalid": "invalidState() || null", "attr.aria-invalid": "invalidState() ? 'true' : null" } }, viewQueries: [{ propertyName: "hsvHandle", first: true, predicate: ["hsvPointer"], descendants: true, isSignal: true }, { propertyName: "hsvRectangle", first: true, predicate: ["hsvRectangle"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [class]=\"hsvRectangleClasses()\" [style.background-color]=\"hsvRectangleBackground()\" #hsvRectangle>\n <div\n [class]=\"hsvRectangleHandleClasses()\"\n [style.left.px]=\"hsvHandleLeft()\"\n [style.top.px]=\"hsvHandleTop()\"\n [attr.tabindex]=\"disabled() ? -1 : 0\"\n [attr.role]=\"'slider'\"\n [attr.aria-label]=\"messages().saturationAndValue\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-valuenow]=\"hsv().s\"\n [attr.aria-valuetext]=\"messages().saturationAndValueText(hsv().s ?? 0, hsv().v ?? 0)\"\n [attr.aria-disabled]=\"disabled() || null\"\n (keydown)=\"onHsvHandleKeyDown($event)\"\n (blur)=\"onHsvHandleBlur()\"\n #hsvPointer></div>\n</div>\n<div class=\"flex items-center gap-2\">\n <div class=\"flex flex-1 flex-col gap-1 me-2\">\n <mona-slider\n [minValue]=\"0\"\n [maxValue]=\"360\"\n [trackBackground]=\"'linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)'\"\n [selectionBackground]=\"'transparent'\"\n [handleClasses]=\"sliderHandleClasses()\"\n [trackSize]=\"sliderHeight\"\n [rounded]=\"rounded()\"\n [value]=\"hsv().h ?? 0\"\n (valueChange)=\"hueValue$.next($event)\"\n (touch)=\"onSliderBlur()\"></mona-slider>\n @if (opacity()) {\n <mona-slider\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [trackBackground]=\"alphaSliderBackground()\"\n [selectionBackground]=\"'transparent'\"\n [handleClasses]=\"sliderHandleClasses()\"\n [trackSize]=\"sliderHeight\"\n [rounded]=\"rounded()\"\n [value]=\"alpha()\"\n (valueChange)=\"onAlphaChange($event)\"\n (touch)=\"onSliderBlur()\"></mona-slider>\n }\n </div>\n @for (preview of colorPreviews(); track preview.type) {\n <div\n [class]=\"colorPreviewClasses()\"\n [class.cursor-pointer]=\"$index === 1\"\n [style.background-color]=\"preview.color\"\n [attr.title]=\"$index === 1 ? preview.title : null\"\n [attr.aria-label]=\"$index === 1 ? preview.title : null\"\n [attr.aria-hidden]=\"$index === 0 ? 'true' : null\"\n [attr.role]=\"$index === 1 ? 'button' : null\"\n [attr.tabindex]=\"$index === 1 ? 0 : null\"\n (click)=\"preview.onClick?.()\"\n (keydown)=\"onPreviousColorKeyDown($event, preview.onClick)\"></div>\n }\n <button monaButton look=\"ghost\" size=\"small\" [attr.aria-label]=\"messages().clearColor\" (click)=\"onClearClick()\">\n <svg lucideDropletOff [size]=\"16\" aria-hidden=\"true\"></svg>\n </button>\n</div>\n<div class=\"flex flex-col gap-2\">\n @if (showColorInputs()) {\n <div class=\"flex gap-2\">\n <div class=\"flex gap-1\">\n @for (input of colorInputs(); track input.key) {\n <mona-numeric-text-box\n [value]=\"input.value\"\n [minValue]=\"input.min\"\n [maxValue]=\"input.max\"\n [decimals]=\"0\"\n [spinners]=\"false\"\n [nullable]=\"false\"\n [rounded]=\"rounded()\"\n [size]=\"'small'\"\n class=\"w-18\"\n (valueChange)=\"input.change($event)\"\n (inputBlur)=\"onNumericInputBlur()\">\n <ng-template monaNumericTextBoxPrefixTemplate>\n <ng-container\n [ngTemplateOutlet]=\"numericInputPrefixTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: input.label }\"></ng-container>\n </ng-template>\n </mona-numeric-text-box>\n }\n </div>\n <div class=\"flex flex-1 items-center justify-end\">\n <button\n monaButton\n look=\"ghost\"\n [rounded]=\"rounded()\"\n size=\"small\"\n [attr.aria-label]=\"messages().switchColorMode\"\n (click)=\"onSwitchColorModeClick()\">\n <svg lucideChevronsUpDown [size]=\"16\" aria-hidden=\"true\"></svg>\n </button>\n </div>\n </div>\n }\n @if (showHexInput()) {\n <mona-text-box\n [rounded]=\"rounded()\"\n [value]=\"hex()\"\n (valueChange)=\"onHexChange($event)\"\n (inputBlur)=\"onHexInputBlur()\"\n (inputFocus)=\"onHexInputFocus()\"\n class=\"w-full\">\n <ng-template monaTextBoxPrefixTemplate>\n <ng-container\n [ngTemplateOutlet]=\"numericInputPrefixTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: 'HEX', classes: 'w-auto px-2' }\"></ng-container>\n </ng-template>\n <ng-template monaTextBoxSuffixTemplate>\n <mona-dropdown-button look=\"ghost\" [attr.aria-label]=\"messages().copyColor\" class=\"h-full\">\n <svg lucideCopy [size]=\"12\"></svg>\n <mona-dropdown-button-item\n [label]=\"messages().copyAsHex\"\n (menuClick)=\"onCopyColorSelect('hex')\"></mona-dropdown-button-item>\n <mona-dropdown-button-item\n [label]=\"messages().copyAsRgb\"\n (menuClick)=\"onCopyColorSelect('rgb')\"></mona-dropdown-button-item>\n </mona-dropdown-button>\n </ng-template>\n </mona-text-box>\n }\n @if (showButtons()) {\n <div class=\"flex items-center justify-end gap-2\">\n <button monaButton [rounded]=\"rounded()\" look=\"primary\" (click)=\"onApply()\">{{ messages().apply }}</button>\n <button monaButton [rounded]=\"rounded()\" (click)=\"onCancel()\">{{ messages().cancel }}</button>\n </div>\n }\n</div>\n\n<ng-template #numericInputPrefixTemplate let-text let-classes=\"classes\">\n <span\n [class]=\"classes\"\n class=\"inline-flex items-center justify-center select-none w-7.5 [background-color:var(--mona-input-addon-background,var(--color-secondary))] h-full text-foreground text-xs font-semibold border-e border-e-input-border\"\n >{{ text }}</span\n >\n</ng-template>\n", dependencies: [{ kind: "component", type: LucideDropletOff, selector: "svg[lucideDropletOff]" }, { kind: "component", type: LucideChevronsUpDown, selector: "svg[lucideChevronsUpDown]" }, { 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: "directive", type: NumericTextBoxPrefixTemplateDirective, selector: "ng-template[monaNumericTextBoxPrefixTemplate]" }, { 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: "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: "directive", type: TextBoxPrefixTemplateDirective, selector: "ng-template[monaTextBoxPrefixTemplate]" }, { kind: "directive", type: TextBoxSuffixTemplateDirective, selector: "ng-template[monaTextBoxSuffixTemplate]" }, { kind: "component", type: SliderComponent, selector: "mona-slider", inputs: ["aria-label", "aria-labelledby", "value"], outputs: ["valueChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DropdownButtonComponent, selector: "mona-dropdown-button", inputs: ["aria-label", "aria-labelledby", "iconOnly", "disabled", "loading", "look", "rounded", "size", "text", "class"], outputs: ["menuItemClick"] }, { kind: "component", type: DropdownButtonItemComponent, selector: "mona-dropdown-button-item" }, { kind: "component", type: LucideCopy, selector: "svg[lucideCopy]" }] }); }
792
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: ColorGradientComponent, isStandalone: true, selector: "mona-color-gradient", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, opacity: { classPropertyName: "opacity", publicName: "opacity", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, showButtons: { classPropertyName: "showButtons", publicName: "showButtons", isSignal: true, isRequired: false, transformFunction: null }, showHexInput: { classPropertyName: "showHexInput", publicName: "showHexInput", isSignal: true, isRequired: false, transformFunction: null }, showColorInputs: { classPropertyName: "showColorInputs", publicName: "showColorInputs", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { apply: "apply", cancel: "cancel", touch: "touch", value: "valueChange" }, host: { properties: { "class": "baseClasses()", "attr.data-disabled": "disabled()", "attr.data-invalid": "invalidState() || null", "attr.aria-invalid": "invalidState() ? 'true' : null" } }, viewQueries: [{ propertyName: "hsvHandle", first: true, predicate: ["hsvPointer"], descendants: true, isSignal: true }, { propertyName: "hsvRectangle", first: true, predicate: ["hsvRectangle"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [class]=\"hsvRectangleClasses()\" [style.background-color]=\"hsvRectangleBackground()\" #hsvRectangle>\n <div\n [class]=\"hsvRectangleHandleClasses()\"\n [style.left.px]=\"hsvHandleLeft()\"\n [style.top.px]=\"hsvHandleTop()\"\n [attr.tabindex]=\"disabled() ? -1 : 0\"\n [attr.role]=\"'slider'\"\n [attr.aria-label]=\"messages().saturationAndValue\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-valuenow]=\"hsv().s\"\n [attr.aria-valuetext]=\"messages().saturationAndValueText(hsv().s ?? 0, hsv().v ?? 0)\"\n [attr.aria-disabled]=\"disabled() || null\"\n (keydown)=\"onHsvHandleKeyDown($event)\"\n (blur)=\"onHsvHandleBlur()\"\n #hsvPointer></div>\n</div>\n<div class=\"flex items-center gap-2\">\n <div class=\"flex flex-1 flex-col gap-1 me-2\">\n <mona-slider\n [minValue]=\"0\"\n [maxValue]=\"360\"\n [trackBackground]=\"'linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)'\"\n [selectionBackground]=\"'transparent'\"\n [handleClasses]=\"sliderHandleClasses()\"\n [trackSize]=\"sliderHeight\"\n [rounded]=\"rounded()\"\n [value]=\"hsv().h ?? 0\"\n (valueChange)=\"hueValue$.next($event)\"\n (touch)=\"onSliderBlur()\"></mona-slider>\n @if (opacity()) {\n <mona-slider\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [trackBackground]=\"alphaSliderBackground()\"\n [selectionBackground]=\"'transparent'\"\n [handleClasses]=\"sliderHandleClasses()\"\n [trackSize]=\"sliderHeight\"\n [rounded]=\"rounded()\"\n [value]=\"alpha()\"\n (valueChange)=\"onAlphaChange($event)\"\n (touch)=\"onSliderBlur()\"></mona-slider>\n }\n </div>\n @for (preview of colorPreviews(); track preview.type) {\n <div\n [class]=\"colorPreviewClasses()\"\n [class.cursor-pointer]=\"$index === 1\"\n [style.background-color]=\"preview.color\"\n [attr.title]=\"$index === 1 ? preview.title : null\"\n [attr.aria-label]=\"$index === 1 ? preview.title : null\"\n [attr.aria-hidden]=\"$index === 0 ? 'true' : null\"\n [attr.role]=\"$index === 1 ? 'button' : null\"\n [attr.tabindex]=\"$index === 1 ? 0 : null\"\n (click)=\"preview.onClick?.()\"\n (keydown)=\"onPreviousColorKeyDown($event, preview.onClick)\"></div>\n }\n <button monaButton look=\"ghost\" size=\"small\" [attr.aria-label]=\"messages().clearColor\" (click)=\"onClearClick()\">\n <svg lucideDropletOff [size]=\"16\" aria-hidden=\"true\"></svg>\n </button>\n</div>\n<div class=\"flex flex-col gap-2\">\n @if (showColorInputs()) {\n <div class=\"flex gap-2\">\n <div class=\"flex gap-1\">\n @for (input of colorInputs(); track input.key) {\n <mona-numeric-text-box\n [value]=\"input.value\"\n [minValue]=\"input.min\"\n [maxValue]=\"input.max\"\n [decimals]=\"0\"\n [spinners]=\"false\"\n [nullable]=\"false\"\n [rounded]=\"rounded()\"\n [size]=\"'small'\"\n class=\"w-18\"\n (valueChange)=\"input.change($event)\"\n (inputBlur)=\"onNumericInputBlur()\">\n <ng-template monaNumericTextBoxPrefixTemplate>\n <ng-container\n [ngTemplateOutlet]=\"numericInputPrefixTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: input.label }\"></ng-container>\n </ng-template>\n </mona-numeric-text-box>\n }\n </div>\n <div class=\"flex flex-1 items-center justify-end\">\n <button\n monaButton\n look=\"ghost\"\n [rounded]=\"rounded()\"\n size=\"small\"\n [attr.aria-label]=\"messages().switchColorMode\"\n (click)=\"onSwitchColorModeClick()\">\n <svg lucideChevronsUpDown [size]=\"16\" aria-hidden=\"true\"></svg>\n </button>\n </div>\n </div>\n }\n @if (showHexInput()) {\n <mona-text-box\n [rounded]=\"rounded()\"\n [value]=\"hex()\"\n (valueChange)=\"onHexChange($event)\"\n (inputBlur)=\"onHexInputBlur()\"\n (inputFocus)=\"onHexInputFocus()\"\n class=\"w-full\">\n <ng-template monaTextBoxPrefixTemplate>\n <ng-container\n [ngTemplateOutlet]=\"numericInputPrefixTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: 'HEX', classes: 'w-auto px-2' }\"></ng-container>\n </ng-template>\n <ng-template monaTextBoxSuffixTemplate>\n <mona-dropdown-button look=\"ghost\" [attr.aria-label]=\"messages().copyColor\" class=\"h-full\">\n <svg lucideCopy [size]=\"12\"></svg>\n <mona-dropdown-button-item\n [label]=\"messages().copyAsHex\"\n (menuClick)=\"onCopyColorSelect('hex')\"></mona-dropdown-button-item>\n <mona-dropdown-button-item\n [label]=\"messages().copyAsRgb\"\n (menuClick)=\"onCopyColorSelect('rgb')\"></mona-dropdown-button-item>\n </mona-dropdown-button>\n </ng-template>\n </mona-text-box>\n }\n @if (showButtons()) {\n <div class=\"flex items-center justify-end gap-2\">\n <button monaButton [rounded]=\"rounded()\" look=\"primary\" (click)=\"onApply()\">{{ messages().apply }}</button>\n <button monaButton [rounded]=\"rounded()\" (click)=\"onCancel()\">{{ messages().cancel }}</button>\n </div>\n }\n</div>\n\n<ng-template #numericInputPrefixTemplate let-text let-classes=\"classes\">\n <span\n [class]=\"classes\"\n class=\"inline-flex items-center justify-center select-none w-7.5 [background-color:var(--mona-input-addon-background,var(--color-secondary))] h-full text-foreground text-xs font-semibold border-e border-e-input-border\"\n >{{ text }}</span\n >\n</ng-template>\n", dependencies: [{ kind: "component", type: LucideDropletOff, selector: "svg[lucideDropletOff]" }, { kind: "component", type: LucideChevronsUpDown, selector: "svg[lucideChevronsUpDown]" }, { kind: "component", type: NumericTextBoxComponent, selector: "mona-numeric-text-box", inputs: ["formatter", "maxValue", "minValue", "step", "value"], outputs: ["valueChange"] }, { kind: "directive", type: NumericTextBoxPrefixTemplateDirective, selector: "ng-template[monaNumericTextBoxPrefixTemplate]" }, { 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: "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: "directive", type: TextBoxPrefixTemplateDirective, selector: "ng-template[monaTextBoxPrefixTemplate]" }, { kind: "directive", type: TextBoxSuffixTemplateDirective, selector: "ng-template[monaTextBoxSuffixTemplate]" }, { kind: "component", type: SliderComponent, selector: "mona-slider", inputs: ["aria-label", "aria-labelledby", "value"], outputs: ["valueChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DropdownButtonComponent, selector: "mona-dropdown-button", inputs: ["aria-label", "aria-labelledby", "iconOnly", "disabled", "loading", "look", "rounded", "size", "text", "class"], outputs: ["menuItemClick"] }, { kind: "component", type: DropdownButtonItemComponent, selector: "mona-dropdown-button-item" }, { kind: "component", type: LucideCopy, selector: "svg[lucideCopy]" }] }); }
791
793
  }
792
794
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ColorGradientComponent, decorators: [{
793
795
  type: Component,
@@ -42,6 +42,8 @@ const colorPaletteItemThemeVariants = cva(`
42
42
  }
43
43
  });
44
44
 
45
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
46
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
45
47
  const COLOR_PALETTE_DEFAULT_MESSAGES = {
46
48
  color: (color) => `Color ${color}`,
47
49
  colorPalette: "Color palette"
@@ -25,6 +25,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
25
25
  }]
26
26
  }] });
27
27
 
28
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
29
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
28
30
  const COLOR_PICKER_DEFAULT_MESSAGES = {
29
31
  clearColor: "Clear color",
30
32
  colorGradientPicker: "Color gradient picker",
@@ -16,6 +16,8 @@ import { Subject, fromEvent, filter, debounceTime, take, tap } from 'rxjs';
16
16
  import { twMerge } from 'tailwind-merge';
17
17
  import { cva } from 'class-variance-authority';
18
18
 
19
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
20
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
19
21
  const COMBO_BOX_DEFAULT_MESSAGES = {
20
22
  clear: "Clear"
21
23
  };
@@ -17,6 +17,8 @@ import { fromEvent } from 'rxjs';
17
17
  import { twMerge } from 'tailwind-merge';
18
18
  import { cva } from 'class-variance-authority';
19
19
 
20
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
21
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
20
22
  const DATE_PICKER_DEFAULT_MESSAGES = {
21
23
  datePicker: "Date picker",
22
24
  openCalendar: "Open calendar"
@@ -20,6 +20,8 @@ import { fromEvent, mergeWith } from 'rxjs';
20
20
  import { twMerge } from 'tailwind-merge';
21
21
  import { cva } from 'class-variance-authority';
22
22
 
23
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
24
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
23
25
  const DATETIME_PICKER_DEFAULT_MESSAGES = {
24
26
  calendar: "Calendar",
25
27
  cancel: "Cancel",
@@ -85,6 +85,8 @@ class DialogActionEvent extends PreventableEvent {
85
85
  }
86
86
  }
87
87
 
88
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
89
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
88
90
  const DIALOG_DEFAULT_MESSAGES = {
89
91
  cancel: "Cancel",
90
92
  closeDialog: "Close dialog",
@@ -23,6 +23,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
23
23
  }]
24
24
  }] });
25
25
 
26
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
27
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
26
28
  const DROPDOWN_LIST_DEFAULT_MESSAGES = {
27
29
  clear: "Clear"
28
30
  };
@@ -593,13 +593,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
593
593
  }]
594
594
  }], ctorParameters: () => [] });
595
595
 
596
- function localizeNumber(value) {
597
- return formatNumber(value, "en-US");
596
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
597
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
598
+ function localizeNumber(value, options) {
599
+ return formatNumber(value, "en-US", options);
598
600
  }
599
601
  const DROPDOWNS_DEFAULT_MESSAGES = {
600
602
  itemPosition: (text, position, total) => `${text}, ${localizeNumber(position)} of ${localizeNumber(total)}`,
601
603
  noResultsFound: "No results found",
602
- resultsAvailable: (count) => `${localizeNumber(count)} result${count === 1 ? "" : "s"} available`
604
+ resultsAvailable: (count) => count === 1 ? `${localizeNumber(count)} result available` : `${localizeNumber(count)} results available`
603
605
  };
604
606
 
605
607
  class DropdownLiveRegionDirective {
@@ -256,8 +256,10 @@ const Indent = Extension.create({
256
256
  }
257
257
  });
258
258
 
259
- function localizeNumber(value) {
260
- return formatNumber(value, "en-US");
259
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
260
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
261
+ function localizeNumber(value, options) {
262
+ return formatNumber(value, "en-US", options);
261
263
  }
262
264
  const EDITOR_DEFAULT_MESSAGES = {
263
265
  addColumnAfter: "Add column after",
@@ -1172,7 +1174,7 @@ class EditorImageInserterComponent {
1172
1174
  });
1173
1175
  }
1174
1176
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: EditorImageInserterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1175
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.6", type: EditorImageInserterComponent, isStandalone: true, selector: "mona-editor-image-inserter", outputs: { cancel: "cancel", insert: "insert" }, ngImport: i0, template: "<form [formRoot]=\"iForm\" [class]=\"formClass()\">\n <div [class]=\"rowClass()\">\n <div [class]=\"rowLabelClass()\">{{ messages().imageUrl }}</div>\n <mona-text-box [size]=\"'small'\" [formField]=\"iForm.link\"></mona-text-box>\n </div>\n <div [class]=\"rowClass()\">\n <div [class]=\"rowLabelClass()\">{{ messages().altText }}</div>\n <mona-text-box [size]=\"'small'\" [formField]=\"iForm.alt\"></mona-text-box>\n </div>\n <div class=\"flex gap-2\">\n <div [class]=\"rowClass()\">\n <div [class]=\"rowLabelClass()\">{{ messages().widthPx }}</div>\n <mona-numeric-text-box [size]=\"'small'\" [formField]=\"iForm.width\"></mona-numeric-text-box>\n </div>\n <div [class]=\"rowClass()\">\n <div [class]=\"rowLabelClass()\">{{ messages().heightPx }}</div>\n <mona-numeric-text-box [size]=\"'small'\" [formField]=\"iForm.height\"></mona-numeric-text-box>\n </div>\n </div>\n <div [class]=\"actionsClass()\">\n <button monaButton [size]=\"'small'\" [disabled]=\"!iForm().valid()\" look=\"primary\" (click)=\"onImageInsert()\">\n {{ messages().insert }}\n </button>\n <button monaButton [size]=\"'small'\" [look]=\"'secondary'\" (click)=\"onCancel()\">{{ messages().cancel }}</button>\n </div>\n</form>\n", dependencies: [{ 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: "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: "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: "directive", type: FormRoot, selector: "form[formRoot]", inputs: ["formRoot"] }, { kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }] }); }
1177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.6", type: EditorImageInserterComponent, isStandalone: true, selector: "mona-editor-image-inserter", outputs: { cancel: "cancel", insert: "insert" }, ngImport: i0, template: "<form [formRoot]=\"iForm\" [class]=\"formClass()\">\n <div [class]=\"rowClass()\">\n <div [class]=\"rowLabelClass()\">{{ messages().imageUrl }}</div>\n <mona-text-box [size]=\"'small'\" [formField]=\"iForm.link\"></mona-text-box>\n </div>\n <div [class]=\"rowClass()\">\n <div [class]=\"rowLabelClass()\">{{ messages().altText }}</div>\n <mona-text-box [size]=\"'small'\" [formField]=\"iForm.alt\"></mona-text-box>\n </div>\n <div class=\"flex gap-2\">\n <div [class]=\"rowClass()\">\n <div [class]=\"rowLabelClass()\">{{ messages().widthPx }}</div>\n <mona-numeric-text-box [size]=\"'small'\" [formField]=\"iForm.width\"></mona-numeric-text-box>\n </div>\n <div [class]=\"rowClass()\">\n <div [class]=\"rowLabelClass()\">{{ messages().heightPx }}</div>\n <mona-numeric-text-box [size]=\"'small'\" [formField]=\"iForm.height\"></mona-numeric-text-box>\n </div>\n </div>\n <div [class]=\"actionsClass()\">\n <button monaButton [size]=\"'small'\" [disabled]=\"!iForm().valid()\" look=\"primary\" (click)=\"onImageInsert()\">\n {{ messages().insert }}\n </button>\n <button monaButton [size]=\"'small'\" [look]=\"'secondary'\" (click)=\"onCancel()\">{{ messages().cancel }}</button>\n </div>\n</form>\n", dependencies: [{ 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: "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: "component", type: NumericTextBoxComponent, selector: "mona-numeric-text-box", inputs: ["formatter", "maxValue", "minValue", "step", "value"], outputs: ["valueChange"] }, { kind: "directive", type: FormRoot, selector: "form[formRoot]", inputs: ["formRoot"] }, { kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }] }); }
1176
1178
  }
1177
1179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: EditorImageInserterComponent, decorators: [{
1178
1180
  type: Component,
@@ -56,6 +56,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
56
56
  }]
57
57
  }] });
58
58
 
59
+ // Generated from i18n/catalogs/en-US.messages.json by scripts/generate-locale-catalogs.ts. Do not edit.
60
+ // Edit the JSON file and run `npm run generate:locale-catalogs`.
59
61
  const FILTER_DEFAULT_MESSAGES = {
60
62
  and: "AND",
61
63
  apply: "Apply",
@@ -702,7 +704,7 @@ class FilterMenuComponent {
702
704
  }
703
705
  }
704
706
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FilterMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
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", "invalid", "itemDisabled", "loading", "placeholder", "popupClass", "popupHeight", "popupWidth", "readonly", "required", "rounded", "showClearButton", "size", "textField", "touched", "class", "value", "valueField", "valuePrimitive"], 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" }] }); }
707
+ 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", "invalid", "itemDisabled", "loading", "placeholder", "popupClass", "popupHeight", "popupWidth", "readonly", "required", "rounded", "showClearButton", "size", "textField", "touched", "class", "value", "valueField", "valuePrimitive"], 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: ["formatter", "maxValue", "minValue", "step", "value"], outputs: ["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" }] }); }
706
708
  }
707
709
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FilterMenuComponent, decorators: [{
708
710
  type: Component,
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, computed, input, Directive, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { a as GridService, v as gridFooterTableCellThemeVariants, w as gridFooterTableRowThemeVariants, m as GridLockedCellDirective } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-DeRc_QcP.mjs';
3
+ import { a as GridService, v as gridFooterTableCellThemeVariants, w as gridFooterTableRowThemeVariants, m as GridLockedCellDirective } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-9FtfCutf.mjs';
4
4
  import { NgTemplateOutlet } from '@angular/common';
5
5
  import { ImmutableDictionary } from '@mirei/ts-collections';
6
6
 
@@ -166,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
166
166
  }], propDecorators: { groupKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupKey", required: false }] }] } });
167
167
 
168
168
  export { GridFooterRowComponent };
169
- //# sourceMappingURL=nanahoshi-mona-ui-grid-grid-footer-row.component-BSVlcB9_.mjs.map
169
+ //# sourceMappingURL=nanahoshi-mona-ui-grid-grid-footer-row.component-CnPhVIr4.mjs.map
@@ -5,9 +5,9 @@ import { inject, DestroyRef, ElementRef, viewChild, computed, input, afterNextRe
5
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
6
  import { ImmutableList } from '@mirei/ts-collections';
7
7
  import { fromEvent } from 'rxjs';
8
- import { G as GridNavigationService, g as gridListBaseThemeVariants, a as GridService, b as gridRowDragPreviewThemeVariants, c as gridListTableThemeVariants, d as GridColgroupComponent } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-DeRc_QcP.mjs';
9
- import { G as GridAddRowComponent, a as GridDetailRowComponent, b as GridGroupRowComponent, c as GridRowComponent } from './nanahoshi-mona-ui-grid-grid-row.component-Buf4evf5.mjs';
10
- import { GridFooterRowComponent } from './nanahoshi-mona-ui-grid-grid-footer-row.component-BSVlcB9_.mjs';
8
+ import { G as GridNavigationService, g as gridListBaseThemeVariants, a as GridService, b as gridRowDragPreviewThemeVariants, c as gridListTableThemeVariants, d as GridColgroupComponent } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-9FtfCutf.mjs';
9
+ import { G as GridAddRowComponent, a as GridDetailRowComponent, b as GridGroupRowComponent, c as GridRowComponent } from './nanahoshi-mona-ui-grid-grid-row.component-CaO5Lae6.mjs';
10
+ import { GridFooterRowComponent } from './nanahoshi-mona-ui-grid-grid-footer-row.component-CnPhVIr4.mjs';
11
11
 
12
12
  const ROW_MOVE_DURATION = 200;
13
13
  const ROW_MOVE_EASING = "cubic-bezier(0.2, 0, 0, 1)";
@@ -173,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
173
173
  }], ctorParameters: () => [], propDecorators: { bodyTableElementRef: [{ type: i0.ViewChild, args: ["bodyTable", { isSignal: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }] } });
174
174
 
175
175
  export { GridListComponent };
176
- //# sourceMappingURL=nanahoshi-mona-ui-grid-grid-list.component-B2pBOuLa.mjs.map
176
+ //# sourceMappingURL=nanahoshi-mona-ui-grid-grid-list.component-DxY6bfTX.mjs.map
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, computed, input, Directive, Component, signal, ElementRef, viewChild, output, effect, untracked, afterNextRender, ChangeDetectionStrategy, model, Injector, LOCALE_ID } from '@angular/core';
3
- import { a as GridService, i as gridListTableCellThemeVariants, j as gridCellEditorBaseThemeVariants, k as gridCellEditorInputThemeVariants, l as gridListTableRowThemeVariants, m as GridLockedCellDirective, n as GridLogicalCellDirective, o as gridGroupRowThemeVariants, G as GridNavigationService, p as gridCellBaseThemeVariants, q as gridCellContainerThemeVariants, r as gridCellDirtyIndicatorThemeVariants, s as gridCellTextThemeVariants, t as gridRowReorderHandleThemeVariants, u as gridSelectionCellThemeVariants } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-DeRc_QcP.mjs';
3
+ import { a as GridService, i as gridListTableCellThemeVariants, j as gridCellEditorBaseThemeVariants, k as gridCellEditorInputThemeVariants, l as gridListTableRowThemeVariants, m as GridLockedCellDirective, n as GridLogicalCellDirective, o as gridGroupRowThemeVariants, G as GridNavigationService, p as gridCellBaseThemeVariants, q as gridCellContainerThemeVariants, r as gridCellDirtyIndicatorThemeVariants, s as gridCellTextThemeVariants, t as gridRowReorderHandleThemeVariants, u as gridSelectionCellThemeVariants } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-9FtfCutf.mjs';
4
4
  import { NgTemplateOutlet, formatDate } from '@angular/common';
5
5
  import { ContextMenuComponent } from '@nanahoshi/mona-ui/contextmenu';
6
6
  import { twMerge } from 'tailwind-merge';
@@ -380,7 +380,7 @@ class GridEditorComponent {
380
380
  this.formField()().value.set(value);
381
381
  }
382
382
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: GridEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
383
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: GridEditorComponent, isStandalone: true, selector: "mona-grid-editor", inputs: { autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null }, column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: true, transformFunction: null }, isNew: { classPropertyName: "isNew", publicName: "isNew", isSignal: true, isRequired: false, transformFunction: null }, session: { classPropertyName: "session", publicName: "session", isSignal: true, isRequired: true, transformFunction: null }, tabNavigationEnabled: { classPropertyName: "tabNavigationEnabled", publicName: "tabNavigationEnabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { cancelEdit: "cancelEdit", commit: "commit", tabNavigate: "tabNavigate" }, host: { listeners: { "keydown": "onHostKeydown($event)" }, properties: { "class": "baseClass()" } }, viewQueries: [{ propertyName: "numericTextBoxRef", first: true, predicate: NumericTextBoxComponent, descendants: true, isSignal: true }, { propertyName: "textBoxRef", first: true, predicate: TextBoxComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (column().editTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"column().editTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: editTemplateContext() }\"></ng-container>\n} @else {\n <div class=\"relative flex items-center w-full min-h-8\">\n @switch (column().dataType) {\n @case (\"string\") {\n <mona-text-box\n [class]=\"editorInputClass()\"\n [inputAttributes]=\"{ autocomplete: 'off' }\"\n [rounded]=\"'none'\"\n [formField]=\"$any(formField())\"\n (keydown.enter)=\"commit.emit()\"\n (keydown.escape)=\"onEditCancel()\"\n (inputBlur)=\"commit.emit()\"\n [size]=\"'small'\"></mona-text-box>\n }\n @case (\"number\") {\n <mona-numeric-text-box\n [class]=\"editorInputClass()\"\n [rounded]=\"'none'\"\n [formField]=\"$any(formField())\"\n (keydown.enter)=\"commit.emit()\"\n (keydown.escape)=\"onEditCancel()\"\n (inputBlur)=\"commit.emit()\"\n [size]=\"'small'\"></mona-numeric-text-box>\n }\n @case (\"boolean\") {\n <mona-check-box\n class=\"{{ editorInputClass() }} ms-2\"\n [rounded]=\"'none'\"\n [formField]=\"$any(formField())\"\n (click)=\"onBooleanEditorClick()\"\n (focusout)=\"onBooleanEditorFocusOut($event)\"\n (pointerdown)=\"onBooleanEditorPointerDown()\"\n (keydown.escape)=\"onEditCancel()\"\n (keydown.enter)=\"commit.emit()\"></mona-check-box>\n }\n @case (\"date\") {\n <mona-date-picker\n [class]=\"editorInputClass()\"\n [rounded]=\"'none'\"\n [formField]=\"$any(formField())\"\n (keydown.enter)=\"onDatePickerEnter($event)\"\n (keydown.escape)=\"onEditCancel()\"\n (focusout)=\"onDatePickerFocusOut($event)\"\n (opened)=\"onDatePickerOpen()\"\n (closed)=\"onDatePickerClose()\"\n size=\"small\"></mona-date-picker>\n }\n }\n @if (hasFieldError()) {\n <span class=\"shrink-0 px-1 text-error\" #fieldErrorIcon>\n <svg lucideOctagonAlert [size]=\"12\"></svg>\n </span>\n <mona-tooltip [target]=\"fieldErrorIcon\">\n <span class=\"p-1\">{{ fieldErrorMessage() }}</span>\n </mona-tooltip>\n }\n </div>\n}\n", dependencies: [{ 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: "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: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: LucideOctagonAlert, selector: "svg[lucideOctagonAlert], svg[lucideAlertOctagon]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: 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: TooltipComponent, selector: "mona-tooltip", inputs: ["disabled", "hideDelay", "position", "rounded", "showDelay", "target"], outputs: ["hidden", "shown"] }] }); }
383
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: GridEditorComponent, isStandalone: true, selector: "mona-grid-editor", inputs: { autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null }, column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: true, transformFunction: null }, isNew: { classPropertyName: "isNew", publicName: "isNew", isSignal: true, isRequired: false, transformFunction: null }, session: { classPropertyName: "session", publicName: "session", isSignal: true, isRequired: true, transformFunction: null }, tabNavigationEnabled: { classPropertyName: "tabNavigationEnabled", publicName: "tabNavigationEnabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { cancelEdit: "cancelEdit", commit: "commit", tabNavigate: "tabNavigate" }, host: { listeners: { "keydown": "onHostKeydown($event)" }, properties: { "class": "baseClass()" } }, viewQueries: [{ propertyName: "numericTextBoxRef", first: true, predicate: NumericTextBoxComponent, descendants: true, isSignal: true }, { propertyName: "textBoxRef", first: true, predicate: TextBoxComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (column().editTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"column().editTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: editTemplateContext() }\"></ng-container>\n} @else {\n <div class=\"relative flex items-center w-full min-h-8\">\n @switch (column().dataType) {\n @case (\"string\") {\n <mona-text-box\n [class]=\"editorInputClass()\"\n [inputAttributes]=\"{ autocomplete: 'off' }\"\n [rounded]=\"'none'\"\n [formField]=\"$any(formField())\"\n (keydown.enter)=\"commit.emit()\"\n (keydown.escape)=\"onEditCancel()\"\n (inputBlur)=\"commit.emit()\"\n [size]=\"'small'\"></mona-text-box>\n }\n @case (\"number\") {\n <mona-numeric-text-box\n [class]=\"editorInputClass()\"\n [rounded]=\"'none'\"\n [formField]=\"$any(formField())\"\n (keydown.enter)=\"commit.emit()\"\n (keydown.escape)=\"onEditCancel()\"\n (inputBlur)=\"commit.emit()\"\n [size]=\"'small'\"></mona-numeric-text-box>\n }\n @case (\"boolean\") {\n <mona-check-box\n class=\"{{ editorInputClass() }} ms-2\"\n [rounded]=\"'none'\"\n [formField]=\"$any(formField())\"\n (click)=\"onBooleanEditorClick()\"\n (focusout)=\"onBooleanEditorFocusOut($event)\"\n (pointerdown)=\"onBooleanEditorPointerDown()\"\n (keydown.escape)=\"onEditCancel()\"\n (keydown.enter)=\"commit.emit()\"></mona-check-box>\n }\n @case (\"date\") {\n <mona-date-picker\n [class]=\"editorInputClass()\"\n [rounded]=\"'none'\"\n [formField]=\"$any(formField())\"\n (keydown.enter)=\"onDatePickerEnter($event)\"\n (keydown.escape)=\"onEditCancel()\"\n (focusout)=\"onDatePickerFocusOut($event)\"\n (opened)=\"onDatePickerOpen()\"\n (closed)=\"onDatePickerClose()\"\n size=\"small\"></mona-date-picker>\n }\n }\n @if (hasFieldError()) {\n <span class=\"shrink-0 px-1 text-error\" #fieldErrorIcon>\n <svg lucideOctagonAlert [size]=\"12\"></svg>\n </span>\n <mona-tooltip [target]=\"fieldErrorIcon\">\n <span class=\"p-1\">{{ fieldErrorMessage() }}</span>\n </mona-tooltip>\n }\n </div>\n}\n", dependencies: [{ 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: "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: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: LucideOctagonAlert, selector: "svg[lucideOctagonAlert], svg[lucideAlertOctagon]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NumericTextBoxComponent, selector: "mona-numeric-text-box", inputs: ["formatter", "maxValue", "minValue", "step", "value"], outputs: ["valueChange"] }, { 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: TooltipComponent, selector: "mona-tooltip", inputs: ["disabled", "hideDelay", "position", "rounded", "showDelay", "target"], outputs: ["hidden", "shown"] }] }); }
384
384
  }
385
385
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: GridEditorComponent, decorators: [{
386
386
  type: Component,
@@ -943,4 +943,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
943
943
  }], propDecorators: { index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: true }] }], row: [{ type: i0.Input, args: [{ isSignal: true, alias: "row", required: true }] }] } });
944
944
 
945
945
  export { GridAddRowComponent as G, GridDetailRowComponent as a, GridGroupRowComponent as b, GridRowComponent as c };
946
- //# sourceMappingURL=nanahoshi-mona-ui-grid-grid-row.component-Buf4evf5.mjs.map
946
+ //# sourceMappingURL=nanahoshi-mona-ui-grid-grid-row.component-CaO5Lae6.mjs.map
@@ -1,4 +1,4 @@
1
- import { G as GridNavigationService, a as GridService, g as gridListBaseThemeVariants, e as gridFooterThemeVariants, f as gridFooterTableThemeVariants, c as gridListTableThemeVariants, h as GRID_DEFAULT_VIRTUAL_ROW_HEIGHT, d as GridColgroupComponent } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-DeRc_QcP.mjs';
1
+ import { G as GridNavigationService, a as GridService, g as gridListBaseThemeVariants, e as gridFooterThemeVariants, f as gridFooterTableThemeVariants, c as gridListTableThemeVariants, h as GRID_DEFAULT_VIRTUAL_ROW_HEIGHT, d as GridColgroupComponent } from './nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-9FtfCutf.mjs';
2
2
  import { CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf } from '@angular/cdk/scrolling';
3
3
  import * as i0 from '@angular/core';
4
4
  import { inject, DestroyRef, ElementRef, Injector, viewChild, computed, input, effect, untracked, afterNextRender, ChangeDetectionStrategy, Component } from '@angular/core';
@@ -6,8 +6,8 @@ import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
6
  import { ImmutableList } from '@mirei/ts-collections';
7
7
  import { rxTimeout } from '@nanahoshi/mona-ui/internal';
8
8
  import { fromEvent } from 'rxjs';
9
- import { G as GridAddRowComponent, a as GridDetailRowComponent, b as GridGroupRowComponent, c as GridRowComponent } from './nanahoshi-mona-ui-grid-grid-row.component-Buf4evf5.mjs';
10
- import { GridFooterRowComponent } from './nanahoshi-mona-ui-grid-grid-footer-row.component-BSVlcB9_.mjs';
9
+ import { G as GridAddRowComponent, a as GridDetailRowComponent, b as GridGroupRowComponent, c as GridRowComponent } from './nanahoshi-mona-ui-grid-grid-row.component-CaO5Lae6.mjs';
10
+ import { GridFooterRowComponent } from './nanahoshi-mona-ui-grid-grid-footer-row.component-CnPhVIr4.mjs';
11
11
 
12
12
  class GridVirtualListComponent {
13
13
  #destroyRef;
@@ -170,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
170
170
  }], ctorParameters: () => [], propDecorators: { addRowScrollElementRef: [{ type: i0.ViewChild, args: ["addRowScrollElement", { isSignal: true }] }], bodyTableElementRef: [{ type: i0.ViewChild, args: ["bodyTable", { isSignal: true }] }], footerScrollElementRef: [{ type: i0.ViewChild, args: ["footerScrollElement", { isSignal: true }] }], viewport: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkVirtualScrollViewport), { isSignal: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }] } });
171
171
 
172
172
  export { GridVirtualListComponent };
173
- //# sourceMappingURL=nanahoshi-mona-ui-grid-grid-virtual-list.component-1RdqLEa9.mjs.map
173
+ //# sourceMappingURL=nanahoshi-mona-ui-grid-grid-virtual-list.component-jNYtqg5B.mjs.map