@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
@@ -0,0 +1,633 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, Signal, ElementRef, EnvironmentProviders } from '@angular/core';
3
+ import * as _nanahoshi_mona_ui_i18n from '@nanahoshi/mona-ui/i18n';
4
+ import { Directionality } from '@angular/cdk/bidi';
5
+ import { DateTime } from 'luxon';
6
+
7
+ type DeepPartial<T> = T extends (...args: never[]) => unknown ? T : T extends readonly (infer U)[] ? readonly DeepPartial<U>[] : T extends object ? {
8
+ [K in keyof T]?: DeepPartial<T[K]>;
9
+ } : T;
10
+
11
+ type MonaTextDirection = "ltr" | "rtl";
12
+
13
+ interface MonaAutoCompleteMessages {
14
+ readonly clear: string;
15
+ }
16
+
17
+ interface MonaBreadcrumbMessages {
18
+ readonly breadcrumb: string;
19
+ }
20
+
21
+ interface MonaButtonGroupMessages {
22
+ readonly buttonGroup: string;
23
+ }
24
+
25
+ interface MonaCalendarMessages {
26
+ calendarLabel(formattedMonthAndYear: string): string;
27
+ decadeRange(start: number, end: number): string;
28
+ decadeViewLabel(start: number, end: number): string;
29
+ goToToday(formattedDate: string): string;
30
+ readonly nextDecade: string;
31
+ readonly nextMonth: string;
32
+ readonly nextYear: string;
33
+ readonly previousDecade: string;
34
+ readonly previousMonth: string;
35
+ readonly previousYear: string;
36
+ switchToDecadeView(currentYear: string): string;
37
+ switchToYearView(currentMonthAndYear: string): string;
38
+ readonly today: string;
39
+ yearCellLabel(year: number): string;
40
+ yearViewLabel(year: string): string;
41
+ }
42
+ type CalendarMessages = MonaCalendarMessages;
43
+
44
+ interface MonaCardMessages {
45
+ readonly actionsLabel: string;
46
+ }
47
+
48
+ interface MonaChartMessages {
49
+ readonly change: string;
50
+ readonly chart: string;
51
+ readonly chartLegend: string;
52
+ readonly close: string;
53
+ readonly closeAbbreviation: string;
54
+ readonly colorScale: string;
55
+ readonly conversion: string;
56
+ readonly divergingRangeDescription: (title: string, minimum: string, midpoint: string, maximum: string) => string;
57
+ readonly dropOff: string;
58
+ readonly falling: string;
59
+ readonly high: string;
60
+ readonly highAbbreviation: string;
61
+ readonly labelValueSeparator: string;
62
+ readonly low: string;
63
+ readonly lowAbbreviation: string;
64
+ readonly noData: string;
65
+ readonly open: string;
66
+ readonly openAbbreviation: string;
67
+ readonly overall: string;
68
+ readonly range: string;
69
+ readonly rangeDescription: (title: string, minimum: string, maximum: string) => string;
70
+ readonly rising: string;
71
+ readonly runningTotal: string;
72
+ readonly size: string;
73
+ readonly unchanged: string;
74
+ readonly value: string;
75
+ readonly visualIndicatorClamped: string;
76
+ }
77
+
78
+ interface MonaChipMessages {
79
+ removeLabel(label?: string): string;
80
+ }
81
+
82
+ interface MonaColorGradientMessages {
83
+ readonly apply: string;
84
+ readonly cancel: string;
85
+ readonly clearColor: string;
86
+ readonly copyAsHex: string;
87
+ readonly copyAsRgb: string;
88
+ readonly copyColor: string;
89
+ readonly currentColor: string;
90
+ readonly previousColor: string;
91
+ readonly saturationAndValue: string;
92
+ readonly saturationAndValueText: (saturation: number, value: number) => string;
93
+ readonly switchColorMode: string;
94
+ }
95
+
96
+ interface MonaColorPaletteMessages {
97
+ readonly color: (color: string) => string;
98
+ readonly colorPalette: string;
99
+ }
100
+
101
+ interface MonaColorPickerMessages {
102
+ readonly clearColor: string;
103
+ readonly colorGradientPicker: string;
104
+ readonly colorPalettePicker: string;
105
+ readonly colorPicker: string;
106
+ }
107
+
108
+ interface MonaComboBoxMessages {
109
+ readonly clear: string;
110
+ }
111
+
112
+ interface MonaDatePickerMessages {
113
+ readonly datePicker: string;
114
+ readonly openCalendar: string;
115
+ }
116
+ type DatePickerMessages = MonaDatePickerMessages;
117
+
118
+ interface MonaDateTimePickerMessages {
119
+ readonly calendar: string;
120
+ readonly cancel: string;
121
+ readonly date: string;
122
+ readonly dateTimePicker: string;
123
+ readonly openDateTimePicker: string;
124
+ readonly set: string;
125
+ readonly time: string;
126
+ readonly timePicker: string;
127
+ }
128
+ type DateTimePickerMessages = MonaDateTimePickerMessages;
129
+
130
+ interface MonaDialogMessages {
131
+ readonly cancel: string;
132
+ readonly closeDialog: string;
133
+ readonly ok: string;
134
+ }
135
+ type DialogMessages = MonaDialogMessages;
136
+
137
+ interface MonaDropdownListMessages {
138
+ readonly clear: string;
139
+ }
140
+
141
+ interface MonaDropdownsMessages {
142
+ readonly itemPosition: (text: string, position: number, total: number) => string;
143
+ readonly noResultsFound: string;
144
+ readonly resultsAvailable: (count: number) => string;
145
+ }
146
+
147
+ interface MonaEditorMessages {
148
+ readonly addColumnAfter: string;
149
+ readonly addColumnBefore: string;
150
+ readonly addHorizontalLine: string;
151
+ readonly addRowAfter: string;
152
+ readonly addRowBefore: string;
153
+ readonly alignCenter: string;
154
+ readonly alignLeft: string;
155
+ readonly alignRight: string;
156
+ readonly altText: string;
157
+ readonly backgroundColor: string;
158
+ readonly bold: string;
159
+ readonly cancel: string;
160
+ readonly codeBlock: string;
161
+ readonly color: string;
162
+ readonly deleteColumn: string;
163
+ readonly deleteRow: string;
164
+ readonly deleteTable: string;
165
+ readonly enterUrl: string;
166
+ readonly fontSize: string;
167
+ readonly format: string;
168
+ readonly heading: (level: number) => string;
169
+ readonly heightPx: string;
170
+ readonly imageUrl: string;
171
+ readonly indent: string;
172
+ readonly insert: string;
173
+ readonly insertImage: string;
174
+ readonly insertLink: string;
175
+ readonly insertOrderedList: string;
176
+ readonly insertTable: string;
177
+ readonly insertTaskList: string;
178
+ readonly insertUnorderedList: string;
179
+ readonly italic: string;
180
+ readonly justify: string;
181
+ readonly mergeCells: string;
182
+ readonly outdent: string;
183
+ readonly paragraph: string;
184
+ readonly quotation: string;
185
+ readonly redo: string;
186
+ readonly removeLink: string;
187
+ readonly selectFontFamily: string;
188
+ readonly selectFontSize: string;
189
+ readonly splitCell: string;
190
+ readonly strikethrough: string;
191
+ readonly subscript: string;
192
+ readonly superscript: string;
193
+ readonly toggleHeaderRow: string;
194
+ readonly underline: string;
195
+ readonly undo: string;
196
+ readonly widthPx: string;
197
+ }
198
+
199
+ interface MonaFilterMessages {
200
+ readonly and: string;
201
+ readonly apply: string;
202
+ readonly clear: string;
203
+ readonly contains: string;
204
+ readonly doesNotContain: string;
205
+ readonly endsWith: string;
206
+ readonly isAfter: string;
207
+ readonly isAfterOrEqualTo: string;
208
+ readonly isBefore: string;
209
+ readonly isBeforeOrEqualTo: string;
210
+ readonly isEmpty: string;
211
+ readonly isEqualTo: string;
212
+ readonly isFalse: string;
213
+ readonly isGreaterThan: string;
214
+ readonly isGreaterThanOrEqualTo: string;
215
+ readonly isLessThan: string;
216
+ readonly isLessThanOrEqualTo: string;
217
+ readonly isNotEmpty: string;
218
+ readonly isNotEqualTo: string;
219
+ readonly isNotNull: string;
220
+ readonly isNotNullOrEmpty: string;
221
+ readonly isNull: string;
222
+ readonly isNullOrEmpty: string;
223
+ readonly isTrue: string;
224
+ readonly or: string;
225
+ readonly startsWith: string;
226
+ }
227
+ type FilterMessages = MonaFilterMessages;
228
+
229
+ interface MonaGridMessages {
230
+ readonly all: string;
231
+ readonly apply: string;
232
+ readonly cancel: string;
233
+ readonly cancelRowEdit: string;
234
+ readonly columns: string;
235
+ columnsSelected(count: number): string;
236
+ readonly delete: string;
237
+ readonly deleteRowConfirmation: string;
238
+ readonly deleteRowTitle: string;
239
+ readonly dragColumnHeaderToGroup: string;
240
+ readonly edit: string;
241
+ readonly editRow: string;
242
+ readonly fieldValidationError?: string;
243
+ filterByColumn(column: string): string;
244
+ readonly filterPlaceholder: string;
245
+ readonly modified: string;
246
+ readonly moveAsNext: string;
247
+ readonly moveAsPrevious: string;
248
+ readonly moveRow: string;
249
+ readonly noData: string;
250
+ readonly remove: string;
251
+ readonly removeRow: string;
252
+ reorderRow(rowNumber: number): string;
253
+ readonly resizeColumn: string;
254
+ readonly rowReorder: string;
255
+ readonly rowReorderKeyboardHint: string;
256
+ readonly rowValidationError: string;
257
+ readonly save: string;
258
+ readonly saveRow: string;
259
+ readonly selectAllRows: string;
260
+ selectRow(rowNumber: number): string;
261
+ }
262
+
263
+ interface MonaListMessages {
264
+ readonly noData: string;
265
+ }
266
+
267
+ interface MonaListBoxMessages {
268
+ readonly clearSelection: string;
269
+ readonly moveDown: string;
270
+ readonly moveUp: string;
271
+ readonly remove: string;
272
+ readonly transferAllFrom: string;
273
+ readonly transferAllTo: string;
274
+ readonly transferFrom: string;
275
+ readonly transferTo: string;
276
+ }
277
+
278
+ interface MonaMultiSelectMessages {
279
+ readonly clear: string;
280
+ readonly itemsCount: (count: number) => string;
281
+ }
282
+
283
+ interface MonaNotificationMessages {
284
+ readonly close: string;
285
+ readonly error: string;
286
+ readonly info: string;
287
+ readonly success: string;
288
+ readonly warning: string;
289
+ }
290
+ type NotificationMessages = MonaNotificationMessages;
291
+
292
+ interface MonaNumericTextBoxMessages {
293
+ readonly decrease: string;
294
+ readonly increase: string;
295
+ }
296
+
297
+ interface MonaOtpInputMessages {
298
+ readonly verificationCode: string;
299
+ }
300
+
301
+ interface MonaPagerMessages {
302
+ readonly firstPageLabel: string;
303
+ jumpBackwardLabel(pages: number): string;
304
+ jumpForwardLabel(pages: number): string;
305
+ readonly lastPageLabel: string;
306
+ readonly nextPageLabel: string;
307
+ readonly ofText: string;
308
+ pageLabel(page: number): string;
309
+ pageSizeLabel(pageSize: number): string;
310
+ pageStatus(page: number, totalPages: number): string;
311
+ readonly pageText: string;
312
+ readonly previousPageLabel: string;
313
+ rangeStatus(start: number, end: number, total: number): string;
314
+ }
315
+
316
+ interface MonaRatingMessages {
317
+ readonly notRated: string;
318
+ valueText(value: number, max: number): string;
319
+ }
320
+
321
+ interface MonaScrollViewMessages {
322
+ readonly carousel: string;
323
+ readonly nextPage: string;
324
+ readonly page: (current: number) => string;
325
+ readonly pageOf: (current: number, total: number) => string;
326
+ readonly previousPage: string;
327
+ readonly scrollPagerPrevious: string;
328
+ readonly scrollPagerNext: string;
329
+ readonly slide: string;
330
+ }
331
+
332
+ interface MonaSheetMessages {
333
+ readonly closeSheet: string;
334
+ }
335
+ type SheetMessages = MonaSheetMessages;
336
+
337
+ interface MonaSliderMessages {
338
+ readonly maximumValue: string;
339
+ readonly minimumValue: string;
340
+ readonly sliderValue: string;
341
+ }
342
+
343
+ interface MonaSpinnerMessages {
344
+ readonly cancel: string;
345
+ readonly loading: string;
346
+ }
347
+
348
+ interface MonaSplitButtonMessages {
349
+ readonly menuButtonAriaLabel: string;
350
+ readonly splitButton: (text: string) => string;
351
+ }
352
+
353
+ interface MonaSplitterMessages {
354
+ readonly collapseDown: string;
355
+ readonly collapseNext: string;
356
+ readonly collapsePrevious: string;
357
+ readonly collapseUp: string;
358
+ readonly resizer: string;
359
+ }
360
+
361
+ interface MonaStepperMessages {
362
+ readonly stepProgress: string;
363
+ readonly stepper: string;
364
+ }
365
+
366
+ interface MonaTabsMessages {
367
+ readonly closeTab: string;
368
+ readonly scrollNext: string;
369
+ readonly scrollPrevious: string;
370
+ }
371
+
372
+ interface MonaTextBoxMessages {
373
+ readonly clear: string;
374
+ }
375
+
376
+ interface MonaTimePickerMessages {
377
+ readonly openTimePicker: string;
378
+ readonly timePicker: string;
379
+ }
380
+ type TimePickerMessages = MonaTimePickerMessages;
381
+
382
+ interface MonaTimeSelectorMessages {
383
+ readonly am: string;
384
+ readonly amPm: string;
385
+ readonly headerHours: string;
386
+ readonly headerMinutes: string;
387
+ readonly headerSeconds: string;
388
+ readonly hours: string;
389
+ readonly minutes: string;
390
+ readonly now: string;
391
+ readonly pm: string;
392
+ readonly seconds: string;
393
+ readonly set: string;
394
+ readonly timeSelector: string;
395
+ }
396
+ type TimeSelectorMessages = MonaTimeSelectorMessages;
397
+
398
+ interface MonaTreeViewMessages {
399
+ readonly collapse: string;
400
+ readonly expand: string;
401
+ readonly filter: string;
402
+ readonly filterTree: string;
403
+ }
404
+
405
+ interface MonaWindowMessages {
406
+ readonly close: string;
407
+ readonly closeWindow: string;
408
+ readonly maximize: string;
409
+ readonly minimize: string;
410
+ readonly moveWindow: string;
411
+ readonly resizeBottom: string;
412
+ readonly resizeBottomLeft: string;
413
+ readonly resizeBottomRight: string;
414
+ readonly resizeLeft: string;
415
+ readonly resizeRight: string;
416
+ readonly resizeTop: string;
417
+ readonly resizeTopLeft: string;
418
+ readonly resizeTopRight: string;
419
+ readonly restore: string;
420
+ }
421
+ type WindowMessages = MonaWindowMessages;
422
+
423
+ interface MonaLocaleMessages {
424
+ autoComplete: MonaAutoCompleteMessages;
425
+ breadcrumb: MonaBreadcrumbMessages;
426
+ buttonGroup: MonaButtonGroupMessages;
427
+ calendar: MonaCalendarMessages;
428
+ card: MonaCardMessages;
429
+ chart: MonaChartMessages;
430
+ chip: MonaChipMessages;
431
+ colorGradient: MonaColorGradientMessages;
432
+ colorPalette: MonaColorPaletteMessages;
433
+ colorPicker: MonaColorPickerMessages;
434
+ comboBox: MonaComboBoxMessages;
435
+ datePicker: MonaDatePickerMessages;
436
+ dateTimePicker: MonaDateTimePickerMessages;
437
+ dialog: MonaDialogMessages;
438
+ dropdownList: MonaDropdownListMessages;
439
+ dropdowns: MonaDropdownsMessages;
440
+ editor: MonaEditorMessages;
441
+ filter: MonaFilterMessages;
442
+ grid: MonaGridMessages;
443
+ list: MonaListMessages;
444
+ listBox: MonaListBoxMessages;
445
+ multiSelect: MonaMultiSelectMessages;
446
+ notification: MonaNotificationMessages;
447
+ numericTextBox: MonaNumericTextBoxMessages;
448
+ otpInput: MonaOtpInputMessages;
449
+ pager: MonaPagerMessages;
450
+ rating: MonaRatingMessages;
451
+ scrollView: MonaScrollViewMessages;
452
+ sheet: MonaSheetMessages;
453
+ slider: MonaSliderMessages;
454
+ spinner: MonaSpinnerMessages;
455
+ splitButton: MonaSplitButtonMessages;
456
+ splitter: MonaSplitterMessages;
457
+ stepper: MonaStepperMessages;
458
+ tabs: MonaTabsMessages;
459
+ textBox: MonaTextBoxMessages;
460
+ timePicker: MonaTimePickerMessages;
461
+ timeSelector: MonaTimeSelectorMessages;
462
+ treeView: MonaTreeViewMessages;
463
+ window: MonaWindowMessages;
464
+ }
465
+ type MonaMessageNamespace = keyof MonaLocaleMessages;
466
+
467
+ interface MonaLocale {
468
+ readonly direction: MonaTextDirection;
469
+ readonly id: string;
470
+ readonly messages: DeepPartial<MonaLocaleMessages>;
471
+ }
472
+ declare const MONA_DEFAULT_LOCALE: MonaLocale;
473
+
474
+ interface MonaI18nConfig {
475
+ readonly locale?: MonaLocale;
476
+ readonly messages?: DeepPartial<MonaLocaleMessages>;
477
+ }
478
+
479
+ declare const MONA_I18N_CONFIG: InjectionToken<MonaI18nConfig>;
480
+
481
+ declare class MonaI18nService {
482
+ #private;
483
+ readonly direction: Signal<_nanahoshi_mona_ui_i18n.MonaTextDirection>;
484
+ readonly locale: Signal<MonaLocale>;
485
+ readonly localeId: Signal<string>;
486
+ clearMessages(): void;
487
+ componentMessages<K extends keyof MonaLocaleMessages>(namespace: K, fallback: MonaLocaleMessages[K]): Signal<MonaLocaleMessages[K]>;
488
+ patchMessages(messages: DeepPartial<MonaLocaleMessages>): void;
489
+ setMessages(messages: DeepPartial<MonaLocaleMessages>): void;
490
+ use(locale: MonaLocale): void;
491
+ static ɵfac: i0.ɵɵFactoryDeclaration<MonaI18nService, never>;
492
+ static ɵprov: i0.ɵɵInjectableDeclaration<MonaI18nService>;
493
+ }
494
+
495
+ declare function resolveComponentDirection(hostElement?: ElementRef<HTMLElement> | HTMLElement | null, directionality?: Directionality | null): MonaTextDirection;
496
+ interface DirectionObserverHandle {
497
+ (): void;
498
+ check: () => void;
499
+ updateAutoObserver: () => void;
500
+ }
501
+ declare function observeComponentDirection(hostElement: ElementRef<HTMLElement> | HTMLElement | null | undefined, directionality: Directionality | null | undefined, onChange: (dir: MonaTextDirection) => void): DirectionObserverHandle;
502
+ declare function injectComponentDirection(hostElementRef?: ElementRef<HTMLElement>): Signal<MonaTextDirection>;
503
+ declare class MonaDirectionService {
504
+ #private;
505
+ getDirection(element?: ElementRef<HTMLElement> | HTMLElement | null): MonaTextDirection;
506
+ isRtl(element?: ElementRef<HTMLElement> | HTMLElement | null): boolean;
507
+ observeDirection(element: ElementRef<HTMLElement> | HTMLElement | null | undefined, onChange: (dir: MonaTextDirection) => void): () => void;
508
+ static ɵfac: i0.ɵɵFactoryDeclaration<MonaDirectionService, never>;
509
+ static ɵprov: i0.ɵɵInjectableDeclaration<MonaDirectionService>;
510
+ }
511
+
512
+ declare function provideMonaI18n(config?: MonaI18nConfig): EnvironmentProviders;
513
+
514
+ declare function mergeTwo<T extends object>(base: T, source?: DeepPartial<T>): T;
515
+ declare function mergeMessages<T extends object>(fallback: T, localeMessages?: DeepPartial<NoInfer<T>>, overrideMessages?: DeepPartial<NoInfer<T>>): T;
516
+
517
+ interface NumberSymbols {
518
+ readonly decimal: string;
519
+ readonly group: string;
520
+ readonly minus: string;
521
+ readonly digits: ReadonlyMap<string, string>;
522
+ }
523
+ interface NumberGroupingPattern {
524
+ readonly primaryGroupSize: number;
525
+ readonly secondaryGroupSize: number;
526
+ readonly groupSeparator: string;
527
+ readonly minimumGroupedIntegerDigits: number;
528
+ }
529
+ declare function getNumberGroupingPattern(localeId: string): NumberGroupingPattern;
530
+ declare function getNumberSymbols(localeId: string): NumberSymbols;
531
+ declare function getNumberFormatter(locale: string, options?: Intl.NumberFormatOptions): Intl.NumberFormat;
532
+ declare function formatNumber(value: number, locale: string, options?: Intl.NumberFormatOptions): string;
533
+ declare function normalizeLocalizedDigits(text: string, localeId?: string): string;
534
+ declare function normalizeLocalizedMinus(text: string, symbols?: NumberSymbols): string;
535
+ declare function normalizeLocalizedInput(text: string, localeId: string): string;
536
+ type LocalizedNumberParseMode = "edit" | "locale";
537
+ interface ParseLocalizedNumberOptions {
538
+ /**
539
+ * When "locale" (default), parses strictly according to canonical locale rules.
540
+ * Only the locale's canonical decimal separator is treated as decimal, and only
541
+ * canonical grouping separators are treated as grouping.
542
+ * When "edit", allows alternate decimal separators (such as '.' in comma-decimal locales)
543
+ * during interactive input entry.
544
+ */
545
+ mode?: LocalizedNumberParseMode;
546
+ /**
547
+ * Legacy convenience flag equivalent to `mode: "edit"`.
548
+ */
549
+ alternateDecimal?: boolean;
550
+ }
551
+ interface LocalizedNumberValidationResult {
552
+ value: number | null;
553
+ valid: boolean;
554
+ fractionDigits: number;
555
+ }
556
+ declare function parseLocalizedNumber(text: string | null | undefined, localeId: string, options?: ParseLocalizedNumberOptions): number | null;
557
+ declare function validateLocalizedNumber(text: string | null | undefined, localeId: string, options?: {
558
+ mode?: LocalizedNumberParseMode;
559
+ decimals?: number;
560
+ }): LocalizedNumberValidationResult;
561
+ interface LocalizedNumberEditValidationResult {
562
+ readonly valid: boolean;
563
+ readonly complete: boolean;
564
+ readonly value: number | null;
565
+ }
566
+ interface ValidateLocalizedNumberEditOptions {
567
+ readonly decimals?: number;
568
+ readonly allowSign?: boolean;
569
+ }
570
+ declare function validateLocalizedNumberEdit(text: string | null | undefined, localeId: string, options?: ValidateLocalizedNumberEditOptions): LocalizedNumberEditValidationResult;
571
+
572
+ /**
573
+ * Normalizes a locale string to ensure it uses the Gregorian calendar system
574
+ * and doesn't contain a conflicting -u-ca-* extension.
575
+ */
576
+ declare function normalizeGregorianLocale(localeId: string): string;
577
+ /**
578
+ * Creates a Luxon DateTime from a Date instance, reconfigured to the specified locale
579
+ * with an explicit Gregorian output calendar.
580
+ */
581
+ declare function gregorianDateTime(date: Date, localeId: string): DateTime;
582
+ /**
583
+ * Creates a Luxon DateTime from object components (year, month, etc.), reconfigured to the
584
+ * specified locale with an explicit Gregorian output calendar.
585
+ */
586
+ declare function gregorianDateTimeFromObject(obj: {
587
+ year: number;
588
+ month?: number;
589
+ day?: number;
590
+ hour?: number;
591
+ minute?: number;
592
+ second?: number;
593
+ }, localeId: string): DateTime;
594
+ /**
595
+ * Formats a date using locale-native token ordering and explicit Gregorian calendar.
596
+ */
597
+ declare function formatGregorianDateToLocaleString(date: Date, localeId: string, options: Intl.DateTimeFormatOptions): string;
598
+ /**
599
+ * Parses a date string using the specified format and locale, forcing Gregorian calendar.
600
+ * Localized digits are normalized first to support locales that use native numbering systems.
601
+ */
602
+ declare function parseGregorianDate(text: string, format: string, localeId: string): DateTime;
603
+
604
+ interface PseudoLocalizationOptions {
605
+ readonly prefix?: string;
606
+ readonly suffix?: string;
607
+ readonly expand?: boolean;
608
+ readonly expansionFactor?: number;
609
+ }
610
+ interface GeneratePseudoLocaleOptions {
611
+ readonly id?: string;
612
+ readonly direction?: MonaTextDirection;
613
+ readonly pseudoOptions?: PseudoLocalizationOptions;
614
+ }
615
+ /**
616
+ * Transforms a text string into pseudo-localized text (e.g. "Apply" -> "[!! Åþþļÿ~~ !!]").
617
+ * Tokens enclosed in single braces {placeholder}, double braces {{placeholder}}, or HTML tags <tag>
618
+ * are preserved verbatim so formatting / parameter substitution continues to function.
619
+ */
620
+ declare function pseudoLocalize(text: string, options?: PseudoLocalizationOptions): string;
621
+ /**
622
+ * Recursively pseudo-localizes a message catalog or nested object of message catalogs.
623
+ * Plain strings are pseudo-localized, and message functions (e.g. (page: number) => string)
624
+ * are wrapped so their string outputs are pseudo-localized when invoked.
625
+ */
626
+ declare function pseudoLocalizeCatalog<T extends object>(catalog: T, options?: PseudoLocalizationOptions): T;
627
+ /**
628
+ * Generates a full pseudo-localized MonaLocale (e.g. en-XA) from a dictionary of message catalogs.
629
+ */
630
+ declare function generatePseudoLocale(catalogs: DeepPartial<MonaLocaleMessages>, options?: GeneratePseudoLocaleOptions): MonaLocale;
631
+
632
+ export { MONA_DEFAULT_LOCALE, MONA_I18N_CONFIG, MonaDirectionService, MonaI18nService, formatGregorianDateToLocaleString, formatNumber, generatePseudoLocale, getNumberFormatter, getNumberGroupingPattern, getNumberSymbols, gregorianDateTime, gregorianDateTimeFromObject, injectComponentDirection, mergeMessages, mergeTwo, normalizeGregorianLocale, normalizeLocalizedDigits, normalizeLocalizedInput, normalizeLocalizedMinus, observeComponentDirection, parseGregorianDate, parseLocalizedNumber, provideMonaI18n, pseudoLocalize, pseudoLocalizeCatalog, resolveComponentDirection, validateLocalizedNumber, validateLocalizedNumberEdit };
633
+ export type { CalendarMessages, DatePickerMessages, DateTimePickerMessages, DeepPartial, DialogMessages, DirectionObserverHandle, FilterMessages, GeneratePseudoLocaleOptions, LocalizedNumberEditValidationResult, LocalizedNumberParseMode, LocalizedNumberValidationResult, MonaAutoCompleteMessages, MonaBreadcrumbMessages, MonaButtonGroupMessages, MonaCalendarMessages, MonaCardMessages, MonaChartMessages, MonaChipMessages, MonaColorGradientMessages, MonaColorPaletteMessages, MonaColorPickerMessages, MonaComboBoxMessages, MonaDatePickerMessages, MonaDateTimePickerMessages, MonaDialogMessages, MonaDropdownListMessages, MonaDropdownsMessages, MonaEditorMessages, MonaFilterMessages, MonaGridMessages, MonaI18nConfig, MonaListBoxMessages, MonaListMessages, MonaLocale, MonaLocaleMessages, MonaMessageNamespace, MonaMultiSelectMessages, MonaNotificationMessages, MonaNumericTextBoxMessages, MonaOtpInputMessages, MonaPagerMessages, MonaRatingMessages, MonaScrollViewMessages, MonaSheetMessages, MonaSliderMessages, MonaSpinnerMessages, MonaSplitButtonMessages, MonaSplitterMessages, MonaStepperMessages, MonaTabsMessages, MonaTextBoxMessages, MonaTextDirection, MonaTimePickerMessages, MonaTimeSelectorMessages, MonaTreeViewMessages, MonaWindowMessages, NotificationMessages, NumberGroupingPattern, NumberSymbols, ParseLocalizedNumberOptions, PseudoLocalizationOptions, SheetMessages, TimePickerMessages, TimeSelectorMessages, ValidateLocalizedNumberEditOptions, WindowMessages };
@@ -1,5 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { OnInit, Signal, TemplateRef } from '@angular/core';
3
+ import * as _nanahoshi_mona_ui_i18n from '@nanahoshi/mona-ui/i18n';
4
+ import { MonaListMessages } from '@nanahoshi/mona-ui/i18n';
3
5
  import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
4
6
  import { FilterChangeEvent, FilterableOptions, VirtualScrollOptions } from '@nanahoshi/mona-ui/common';
5
7
  import { Selector, Predicate, ImmutableSet } from '@mirei/ts-collections';
@@ -200,13 +202,14 @@ declare class ListComponent<TData> implements OnInit {
200
202
  protected readonly groupHeaderTemplate: Signal<TemplateRef<any> | undefined>;
201
203
  protected readonly headerTemplate: Signal<TemplateRef<any> | undefined>;
202
204
  protected readonly hostTabIndex: Signal<0 | -1>;
203
- protected readonly itemTemplate: Signal<TemplateRef<any> | undefined>;
204
205
  protected readonly innerListClasses: Signal<string>;
206
+ protected readonly itemTemplate: Signal<TemplateRef<any> | undefined>;
205
207
  protected readonly listHeight: Signal<string | undefined>;
206
208
  protected readonly listMaxHeight: Signal<string | undefined>;
207
209
  protected readonly listMaxWidth: Signal<string | undefined>;
208
210
  protected readonly listService: ListService<TData>;
209
211
  protected readonly listWidth: Signal<ListSizeType>;
212
+ protected readonly messages: Signal<_nanahoshi_mona_ui_i18n.MonaListMessages>;
210
213
  protected readonly noDataTemplate: Signal<TemplateRef<any> | undefined>;
211
214
  protected readonly viewportHeight: Signal<ListSizeType>;
212
215
  protected readonly virtualScrollViewport: Signal<CdkVirtualScrollViewport | undefined>;
@@ -275,5 +278,7 @@ declare class ListNoDataTemplateDirective {
275
278
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ListNoDataTemplateDirective, "ng-template[monaListNoDataTemplate]", never, {}, {}, never, never, true, never>;
276
279
  }
277
280
 
278
- export { ListComponent, ListFooterTemplateDirective, ListGroupHeaderTemplateDirective, ListHeaderTemplateDirective, ListItem, ListItemTemplateDirective, ListNoDataTemplateDirective, ListService };
281
+ declare const LIST_DEFAULT_MESSAGES: MonaListMessages;
282
+
283
+ export { LIST_DEFAULT_MESSAGES, ListComponent, ListFooterTemplateDirective, ListGroupHeaderTemplateDirective, ListHeaderTemplateDirective, ListItem, ListItemTemplateDirective, ListNoDataTemplateDirective, ListService };
279
284
  export type { GroupableOptions, ListKeySelector, ListSizeInputType, NavigableOptions, NavigationDirection, NavigationMode, PagerSettings, SelectableOptions, SelectionChangeEvent };