igniteui-angular 21.0.3 → 21.1.0-alpha.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.
- package/LICENSE +1 -0
- package/README.md +5 -6
- package/fesm2022/igniteui-angular-action-strip.mjs +39 -34
- package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
- package/fesm2022/igniteui-angular-banner.mjs +64 -59
- package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
- package/fesm2022/igniteui-angular-calendar.mjs +182 -161
- package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-carousel.mjs +7 -3
- package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-chips.mjs +140 -136
- package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
- package/fesm2022/igniteui-angular-combo.mjs +360 -356
- package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-core.mjs +420 -618
- package/fesm2022/igniteui-angular-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-date-picker.mjs +124 -32
- package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-directives.mjs +15 -10
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-core.mjs +75 -57
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +71 -62
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +51 -6
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +6 -1
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +8 -8
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-input-group.mjs +8 -4
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs +24 -19
- package/fesm2022/igniteui-angular-list.mjs.map +1 -1
- package/fesm2022/igniteui-angular-paginator.mjs +71 -66
- package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
- package/fesm2022/igniteui-angular-query-builder.mjs +51 -36
- package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
- package/fesm2022/igniteui-angular-time-picker.mjs +50 -8
- package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tree.mjs +64 -61
- package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
- package/lib/core/styles/components/calendar/_calendar-theme.scss +2 -0
- package/lib/core/styles/components/grid/_grid-theme.scss +2 -1
- package/lib/core/styles/components/slider/_slider-theme.scss +0 -1
- package/lib/core/styles/components/tabs/_tabs-theme.scss +2 -1
- package/package.json +3 -2
- package/schematics/tsconfig.tsbuildinfo +1 -1
- package/schematics/utils/dependency-handler.js +1 -0
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
- package/types/igniteui-angular-action-strip.d.ts +3 -0
- package/types/igniteui-angular-banner.d.ts +3 -0
- package/types/igniteui-angular-calendar.d.ts +37 -47
- package/types/igniteui-angular-carousel.d.ts +1 -0
- package/types/igniteui-angular-chips.d.ts +2 -0
- package/types/igniteui-angular-combo.d.ts +4 -2
- package/types/igniteui-angular-core.d.ts +152 -397
- package/types/igniteui-angular-date-picker.d.ts +22 -4
- package/types/igniteui-angular-directives.d.ts +8 -4
- package/types/igniteui-angular-grids-core.d.ts +18 -8
- package/types/igniteui-angular-grids-grid.d.ts +9 -7
- package/types/igniteui-angular-grids-hierarchical-grid.d.ts +20 -3
- package/types/igniteui-angular-input-group.d.ts +1 -0
- package/types/igniteui-angular-list.d.ts +3 -0
- package/types/igniteui-angular-paginator.d.ts +3 -0
- package/types/igniteui-angular-query-builder.d.ts +8 -0
- package/types/igniteui-angular-time-picker.d.ts +7 -2
- package/types/igniteui-angular-tree.d.ts +2 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, inject, HostListener, Input, Directive, InjectionToken, isDevMode, PLATFORM_ID, NgZone, DOCUMENT, EventEmitter, Output, Component, TemplateRef, ElementRef, ApplicationRef, ViewContainerRef, createComponent } from '@angular/core';
|
|
3
|
-
import { isPlatformBrowser,
|
|
2
|
+
import { Injectable, inject, HostListener, Input, Directive, InjectionToken, isDevMode, PLATFORM_ID, NgZone, DOCUMENT, EventEmitter, Output, Component, TemplateRef, LOCALE_ID, Pipe, ElementRef, ApplicationRef, ViewContainerRef, createComponent, DestroyRef, ɵR3Injector as _R3Injector } from '@angular/core';
|
|
3
|
+
import { isPlatformBrowser, CurrencyPipe, getLocaleFirstDayOfWeek, formatDate, formatNumber, formatPercent, getLocaleCurrencyCode, getCurrencySymbol } from '@angular/common';
|
|
4
4
|
import { mergeWith } from 'lodash-es';
|
|
5
5
|
import { Observable, NEVER, Subject, fromEvent, BehaviorSubject } from 'rxjs';
|
|
6
6
|
import { ɵgetDOM as _getDOM } from '@angular/platform-browser';
|
|
7
|
+
import { getDateFormatter, getCurrentI18n, getI18nManager, getNumberFormatter, prefixResource, IGX_PREFIX, ActionStripResourceStringsEN as ActionStripResourceStringsEN$1, BannerResourceStringsEN as BannerResourceStringsEN$1, CalendarResourceStringsEN as CalendarResourceStringsEN$1, CarouselResourceStringsEN as CarouselResourceStringsEN$1, ChipResourceStringsEN as ChipResourceStringsEN$1, ComboResourceStringsEN as ComboResourceStringsEN$1, DatePickerResourceStringsEN as DatePickerResourceStringsEN$1, DateRangePickerResourceStringsEN as DateRangePickerResourceStringsEN$1, GridResourceStringsEN as GridResourceStringsEN$1, FileInputResourceStringsEN, ListResourceStringsEN as ListResourceStringsEN$1, PaginatorResourceStringsEN as PaginatorResourceStringsEN$1, QueryBuilderResourceStringsEN as QueryBuilderResourceStringsEN$1, TimePickerResourceStringsEN as TimePickerResourceStringsEN$1, TreeResourceStringsEN as TreeResourceStringsEN$1 } from 'igniteui-i18n-core';
|
|
8
|
+
export { setCurrentI18n } from 'igniteui-i18n-core';
|
|
7
9
|
import { AnimationBuilder } from '@angular/animations';
|
|
8
10
|
import { takeUntil, filter } from 'rxjs/operators';
|
|
9
11
|
import { scaleOutVerTop, scaleInVerTop, AnimationUtil, fadeOut, fadeIn, slideOutTop, slideInTop, slideOutBottom, slideInBottom, scaleOutHorRight, scaleInHorRight, scaleOutHorLeft, scaleInHorLeft, scaleOutVerBottom, scaleInVerBottom } from 'igniteui-angular/animations';
|
|
@@ -724,17 +726,6 @@ const yieldingLoop = (count, chunkSize, callback, done) => {
|
|
|
724
726
|
chunk();
|
|
725
727
|
};
|
|
726
728
|
const isConstructor = (ref) => typeof ref === 'function' && Boolean(ref.prototype) && Boolean(ref.prototype.constructor);
|
|
727
|
-
/**
|
|
728
|
-
* Similar to Angular's formatDate. However it will not throw on `undefined | null | ''` instead
|
|
729
|
-
* coalescing to an empty string.
|
|
730
|
-
*/
|
|
731
|
-
const formatDate = (value, format, locale, timezone) => {
|
|
732
|
-
if (value === null || value === undefined || value === '') {
|
|
733
|
-
return '';
|
|
734
|
-
}
|
|
735
|
-
return formatDate$1(value, format, locale, timezone);
|
|
736
|
-
};
|
|
737
|
-
const formatCurrency = new CurrencyPipe(undefined).transform;
|
|
738
729
|
/** Converts pixel values to their rem counterparts for a base value */
|
|
739
730
|
const rem = (value) => {
|
|
740
731
|
const base = parseFloat(globalThis.window?.getComputedStyle(globalThis.document?.documentElement).getPropertyValue('--ig-base-font-size'));
|
|
@@ -1432,9 +1423,6 @@ const predefinedNonNumericFormats = new Set([
|
|
|
1432
1423
|
]);
|
|
1433
1424
|
/** @hidden */
|
|
1434
1425
|
class DateTimeUtil {
|
|
1435
|
-
static { this.DEFAULT_INPUT_FORMAT = 'MM/dd/yyyy'; }
|
|
1436
|
-
static { this.DEFAULT_TIME_INPUT_FORMAT = 'hh:mm tt'; }
|
|
1437
|
-
static { this.SEPARATOR = 'literal'; }
|
|
1438
1426
|
static { this.DEFAULT_LOCALE = 'en'; }
|
|
1439
1427
|
/**
|
|
1440
1428
|
* Parse a Date value from masked string input based on determined date parts
|
|
@@ -1479,8 +1467,8 @@ class DateTimeUtil {
|
|
|
1479
1467
|
return new Date(parts[DatePart.Year] || 2000, parts[DatePart.Month] || 0, parts[DatePart.Date] || 1, parts[DatePart.Hours] || 0, parts[DatePart.Minutes] || 0, parts[DatePart.Seconds] || 0, parts[DatePart.FractionalSeconds] || 0);
|
|
1480
1468
|
}
|
|
1481
1469
|
/** Parse the mask into date/time and literal parts */
|
|
1482
|
-
static parseDateTimeFormat(mask, locale) {
|
|
1483
|
-
const format = mask || DateTimeUtil.getDefaultInputFormat(locale);
|
|
1470
|
+
static parseDateTimeFormat(mask, formatter, locale) {
|
|
1471
|
+
const format = mask || DateTimeUtil.getDefaultInputFormat(locale, formatter);
|
|
1484
1472
|
const dateTimeParts = [];
|
|
1485
1473
|
const formatArray = Array.from(format);
|
|
1486
1474
|
let currentPart = null;
|
|
@@ -1600,54 +1588,14 @@ class DateTimeUtil {
|
|
|
1600
1588
|
return (value === "PM" /* AmPmValues.PM */.toLowerCase() || value === "p" /* AmPmValues.P */.toLowerCase());
|
|
1601
1589
|
}
|
|
1602
1590
|
/** Builds a date-time editor's default input format based on provided locale settings and data type. */
|
|
1603
|
-
static getDefaultInputFormat(locale, dataType = GridColumnDataType.Date) {
|
|
1591
|
+
static getDefaultInputFormat(locale, formatter, dataType = GridColumnDataType.Date) {
|
|
1604
1592
|
locale = locale || DateTimeUtil.DEFAULT_LOCALE;
|
|
1605
|
-
|
|
1606
|
-
// TODO: fallback with Intl.format for IE?
|
|
1607
|
-
return DateTimeUtil.DEFAULT_INPUT_FORMAT;
|
|
1608
|
-
}
|
|
1609
|
-
const parts = DateTimeUtil.getDefaultLocaleMask(locale, dataType);
|
|
1610
|
-
parts.forEach(p => {
|
|
1611
|
-
if (p.type !== DatePart.Year && p.type !== DateTimeUtil.SEPARATOR && p.type !== DatePart.AmPm) {
|
|
1612
|
-
p.formatType = "2-digit" /* FormatDesc.TwoDigits */;
|
|
1613
|
-
}
|
|
1614
|
-
});
|
|
1615
|
-
return DateTimeUtil.getMask(parts);
|
|
1616
|
-
}
|
|
1617
|
-
/** Tries to format a date using Angular's DatePipe. Fallbacks to `Intl` if no locale settings have been loaded. */
|
|
1618
|
-
static formatDate(value, format, locale, timezone) {
|
|
1619
|
-
let formattedDate;
|
|
1620
|
-
try {
|
|
1621
|
-
formattedDate = formatDate$1(value, format, locale, timezone).normalize("NFKD");
|
|
1622
|
-
}
|
|
1623
|
-
catch {
|
|
1624
|
-
DateTimeUtil.logMissingLocaleSettings(locale);
|
|
1625
|
-
const formatter = new Intl.DateTimeFormat(locale);
|
|
1626
|
-
formattedDate = formatter.format(value);
|
|
1627
|
-
}
|
|
1628
|
-
return formattedDate;
|
|
1593
|
+
return formatter.getLocaleDateTimeFormat(locale, true, DateTimeUtil.getFormatOptions(dataType, true));
|
|
1629
1594
|
}
|
|
1630
|
-
/**
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
static getLocaleDateFormat(locale, displayFormat) {
|
|
1635
|
-
const formatKeys = Object.keys(FormatWidth);
|
|
1636
|
-
const targetKey = formatKeys.find(k => k.toLowerCase() === displayFormat?.toLowerCase().replace('date', ''));
|
|
1637
|
-
if (!targetKey) {
|
|
1638
|
-
// if displayFormat is not shortDate, longDate, etc.
|
|
1639
|
-
// or if it is not set by the user
|
|
1640
|
-
return displayFormat;
|
|
1641
|
-
}
|
|
1642
|
-
let format;
|
|
1643
|
-
try {
|
|
1644
|
-
format = getLocaleDateFormat(locale, FormatWidth[targetKey]);
|
|
1645
|
-
}
|
|
1646
|
-
catch {
|
|
1647
|
-
DateTimeUtil.logMissingLocaleSettings(locale);
|
|
1648
|
-
format = DateTimeUtil.getDefaultInputFormat(locale);
|
|
1649
|
-
}
|
|
1650
|
-
return format;
|
|
1595
|
+
/** Builds a date-time editor's default display format based on provided locale settings and data type. */
|
|
1596
|
+
static getDefaultDisplayFormat(locale, formatter, dataType = GridColumnDataType.Date) {
|
|
1597
|
+
locale = locale || DateTimeUtil.DEFAULT_LOCALE;
|
|
1598
|
+
return formatter.getLocaleDateTimeFormat(locale, false, DateTimeUtil.getFormatOptions(dataType, false));
|
|
1651
1599
|
}
|
|
1652
1600
|
/** Determines if a given character is `d/M/y` or `h/m/s`. */
|
|
1653
1601
|
static isDateOrTimeChar(char) {
|
|
@@ -1852,8 +1800,8 @@ class DateTimeUtil {
|
|
|
1852
1800
|
}
|
|
1853
1801
|
return false;
|
|
1854
1802
|
}
|
|
1855
|
-
static isFormatNumeric(locale, inputFormat) {
|
|
1856
|
-
const dateParts = DateTimeUtil.parseDateTimeFormat(inputFormat);
|
|
1803
|
+
static isFormatNumeric(locale, inputFormat, formatter) {
|
|
1804
|
+
const dateParts = DateTimeUtil.parseDateTimeFormat(inputFormat, formatter);
|
|
1857
1805
|
if (predefinedNonNumericFormats.has(inputFormat) || dateParts.every(p => p.type === DatePart.Literal)) {
|
|
1858
1806
|
return false;
|
|
1859
1807
|
}
|
|
@@ -1861,7 +1809,7 @@ class DateTimeUtil {
|
|
|
1861
1809
|
if (dateParts[i].type === DatePart.AmPm || dateParts[i].type === DatePart.Literal) {
|
|
1862
1810
|
continue;
|
|
1863
1811
|
}
|
|
1864
|
-
const transformedValue = formatDate
|
|
1812
|
+
const transformedValue = formatter.formatDate(new Date(), dateParts[i].format, locale);
|
|
1865
1813
|
// check if the transformed date/time part contains any kind of letter from any language
|
|
1866
1814
|
if (/\p{L}+/gu.test(transformedValue)) {
|
|
1867
1815
|
return false;
|
|
@@ -1876,21 +1824,21 @@ class DateTimeUtil {
|
|
|
1876
1824
|
* for the corresponding numeric date parts
|
|
1877
1825
|
* - otherwise, return an empty string
|
|
1878
1826
|
*/
|
|
1879
|
-
static getNumericInputFormat(locale, format) {
|
|
1827
|
+
static getNumericInputFormat(locale, formatter, format) {
|
|
1880
1828
|
let resultFormat = '';
|
|
1881
1829
|
if (!format) {
|
|
1882
1830
|
return resultFormat;
|
|
1883
1831
|
}
|
|
1884
1832
|
if (predefinedNumericFormats.has(format)) {
|
|
1885
|
-
resultFormat = DateTimeUtil.getLocaleInputFormatFromParts(locale, predefinedNumericFormats.get(format));
|
|
1833
|
+
resultFormat = DateTimeUtil.getLocaleInputFormatFromParts(locale, formatter, predefinedNumericFormats.get(format));
|
|
1886
1834
|
}
|
|
1887
|
-
else if (DateTimeUtil.isFormatNumeric(locale, format)) {
|
|
1835
|
+
else if (DateTimeUtil.isFormatNumeric(locale, format, formatter)) {
|
|
1888
1836
|
resultFormat = format;
|
|
1889
1837
|
}
|
|
1890
1838
|
return resultFormat;
|
|
1891
1839
|
}
|
|
1892
1840
|
/** Gets the locale-based format from an array of date parts */
|
|
1893
|
-
static getLocaleInputFormatFromParts(locale, dateParts) {
|
|
1841
|
+
static getLocaleInputFormatFromParts(locale, formatter, dateParts) {
|
|
1894
1842
|
const options = {};
|
|
1895
1843
|
dateParts.forEach(p => {
|
|
1896
1844
|
if (p === "year" /* DateParts.Year */) {
|
|
@@ -1900,10 +1848,7 @@ class DateTimeUtil {
|
|
|
1900
1848
|
options[p] = "2-digit" /* FormatDesc.TwoDigits */;
|
|
1901
1849
|
}
|
|
1902
1850
|
});
|
|
1903
|
-
|
|
1904
|
-
const dateStruct = DateTimeUtil.getDateStructFromParts(formatter.formatToParts(new Date()), formatter);
|
|
1905
|
-
DateTimeUtil.fillDatePartsPositions(dateStruct);
|
|
1906
|
-
return DateTimeUtil.getMask(dateStruct);
|
|
1851
|
+
return formatter.getLocaleDateTimeFormat(locale, true, options);
|
|
1907
1852
|
}
|
|
1908
1853
|
static addCurrentPart(currentPart, dateTimeParts) {
|
|
1909
1854
|
DateTimeUtil.ensureLeadingZero(currentPart);
|
|
@@ -1917,66 +1862,6 @@ class DateTimeUtil {
|
|
|
1917
1862
|
const result = value.replace(new RegExp(promptChar || '_', 'g'), '');
|
|
1918
1863
|
return result;
|
|
1919
1864
|
}
|
|
1920
|
-
static getMask(dateStruct) {
|
|
1921
|
-
const mask = [];
|
|
1922
|
-
for (const part of dateStruct) {
|
|
1923
|
-
if (part.formatType === "numeric" /* FormatDesc.Numeric */) {
|
|
1924
|
-
switch (part.type) {
|
|
1925
|
-
case "day" /* DateParts.Day */:
|
|
1926
|
-
mask.push('d');
|
|
1927
|
-
break;
|
|
1928
|
-
case "month" /* DateParts.Month */:
|
|
1929
|
-
mask.push('M');
|
|
1930
|
-
break;
|
|
1931
|
-
case "year" /* DateParts.Year */:
|
|
1932
|
-
mask.push('yyyy');
|
|
1933
|
-
break;
|
|
1934
|
-
case "hour" /* DateParts.Hour */:
|
|
1935
|
-
mask.push(part.hour12 ? 'h' : 'H');
|
|
1936
|
-
break;
|
|
1937
|
-
case "minute" /* DateParts.Minute */:
|
|
1938
|
-
mask.push('m');
|
|
1939
|
-
break;
|
|
1940
|
-
case "second" /* DateParts.Second */:
|
|
1941
|
-
mask.push('s');
|
|
1942
|
-
break;
|
|
1943
|
-
}
|
|
1944
|
-
}
|
|
1945
|
-
else if (part.formatType === "2-digit" /* FormatDesc.TwoDigits */) {
|
|
1946
|
-
switch (part.type) {
|
|
1947
|
-
case "day" /* DateParts.Day */:
|
|
1948
|
-
mask.push('dd');
|
|
1949
|
-
break;
|
|
1950
|
-
case "month" /* DateParts.Month */:
|
|
1951
|
-
mask.push('MM');
|
|
1952
|
-
break;
|
|
1953
|
-
case "year" /* DateParts.Year */:
|
|
1954
|
-
mask.push('yy');
|
|
1955
|
-
break;
|
|
1956
|
-
case "hour" /* DateParts.Hour */:
|
|
1957
|
-
mask.push(part.hour12 ? 'hh' : 'HH');
|
|
1958
|
-
break;
|
|
1959
|
-
case "minute" /* DateParts.Minute */:
|
|
1960
|
-
mask.push('mm');
|
|
1961
|
-
break;
|
|
1962
|
-
case "second" /* DateParts.Second */:
|
|
1963
|
-
mask.push('ss');
|
|
1964
|
-
break;
|
|
1965
|
-
}
|
|
1966
|
-
}
|
|
1967
|
-
if (part.type === "dayPeriod" /* DateParts.AmPm */) {
|
|
1968
|
-
mask.push('tt');
|
|
1969
|
-
}
|
|
1970
|
-
if (part.type === DateTimeUtil.SEPARATOR) {
|
|
1971
|
-
mask.push(part.value);
|
|
1972
|
-
}
|
|
1973
|
-
}
|
|
1974
|
-
return mask.join('');
|
|
1975
|
-
}
|
|
1976
|
-
static logMissingLocaleSettings(locale) {
|
|
1977
|
-
console.warn(`Missing locale data for the locale ${locale}. Please refer to https://angular.io/guide/i18n#i18n-pipes`);
|
|
1978
|
-
console.warn('Using default browser locale settings.');
|
|
1979
|
-
}
|
|
1980
1865
|
static prependValue(value, partLength, prependChar) {
|
|
1981
1866
|
return (prependChar + value.toString()).slice(-partLength);
|
|
1982
1867
|
}
|
|
@@ -2036,15 +1921,16 @@ class DateTimeUtil {
|
|
|
2036
1921
|
return DatePart.Literal;
|
|
2037
1922
|
}
|
|
2038
1923
|
}
|
|
2039
|
-
static getFormatOptions(dataType) {
|
|
1924
|
+
static getFormatOptions(dataType, forceLeadingZero) {
|
|
1925
|
+
const resolvedFormat = forceLeadingZero ? "2-digit" /* FormatDesc.TwoDigits */ : "numeric" /* FormatDesc.Numeric */;
|
|
2040
1926
|
const dateOptions = {
|
|
2041
|
-
day:
|
|
2042
|
-
month:
|
|
1927
|
+
day: resolvedFormat,
|
|
1928
|
+
month: resolvedFormat,
|
|
2043
1929
|
year: "numeric" /* FormatDesc.Numeric */
|
|
2044
1930
|
};
|
|
2045
1931
|
const timeOptions = {
|
|
2046
|
-
hour:
|
|
2047
|
-
minute:
|
|
1932
|
+
hour: resolvedFormat,
|
|
1933
|
+
minute: resolvedFormat
|
|
2048
1934
|
};
|
|
2049
1935
|
switch (dataType) {
|
|
2050
1936
|
case GridColumnDataType.Date:
|
|
@@ -2055,108 +1941,12 @@ class DateTimeUtil {
|
|
|
2055
1941
|
return {
|
|
2056
1942
|
...dateOptions,
|
|
2057
1943
|
...timeOptions,
|
|
2058
|
-
second:
|
|
1944
|
+
second: resolvedFormat
|
|
2059
1945
|
};
|
|
2060
1946
|
default:
|
|
2061
1947
|
return {};
|
|
2062
1948
|
}
|
|
2063
1949
|
}
|
|
2064
|
-
static getDefaultLocaleMask(locale, dataType = GridColumnDataType.Date) {
|
|
2065
|
-
const options = DateTimeUtil.getFormatOptions(dataType);
|
|
2066
|
-
const formatter = new Intl.DateTimeFormat(locale, options);
|
|
2067
|
-
const formatToParts = formatter.formatToParts(new Date());
|
|
2068
|
-
const dateStruct = DateTimeUtil.getDateStructFromParts(formatToParts, formatter);
|
|
2069
|
-
DateTimeUtil.fillDatePartsPositions(dateStruct);
|
|
2070
|
-
return dateStruct;
|
|
2071
|
-
}
|
|
2072
|
-
static getDateStructFromParts(parts, formatter) {
|
|
2073
|
-
const dateStruct = [];
|
|
2074
|
-
for (const part of parts) {
|
|
2075
|
-
if (part.type === DateTimeUtil.SEPARATOR) {
|
|
2076
|
-
dateStruct.push({
|
|
2077
|
-
type: DateTimeUtil.SEPARATOR,
|
|
2078
|
-
value: part.value
|
|
2079
|
-
});
|
|
2080
|
-
}
|
|
2081
|
-
else {
|
|
2082
|
-
dateStruct.push({
|
|
2083
|
-
type: part.type
|
|
2084
|
-
});
|
|
2085
|
-
}
|
|
2086
|
-
}
|
|
2087
|
-
const formatterOptions = formatter.resolvedOptions();
|
|
2088
|
-
for (const part of dateStruct) {
|
|
2089
|
-
switch (part.type) {
|
|
2090
|
-
case "day" /* DateParts.Day */: {
|
|
2091
|
-
part.formatType = formatterOptions.day;
|
|
2092
|
-
break;
|
|
2093
|
-
}
|
|
2094
|
-
case "month" /* DateParts.Month */: {
|
|
2095
|
-
part.formatType = formatterOptions.month;
|
|
2096
|
-
break;
|
|
2097
|
-
}
|
|
2098
|
-
case "year" /* DateParts.Year */: {
|
|
2099
|
-
part.formatType = formatterOptions.year;
|
|
2100
|
-
break;
|
|
2101
|
-
}
|
|
2102
|
-
case "hour" /* DateParts.Hour */: {
|
|
2103
|
-
part.formatType = formatterOptions.hour;
|
|
2104
|
-
if (formatterOptions.hour12) {
|
|
2105
|
-
part.hour12 = true;
|
|
2106
|
-
}
|
|
2107
|
-
break;
|
|
2108
|
-
}
|
|
2109
|
-
case "minute" /* DateParts.Minute */: {
|
|
2110
|
-
part.formatType = formatterOptions.minute;
|
|
2111
|
-
break;
|
|
2112
|
-
}
|
|
2113
|
-
case "second" /* DateParts.Second */: {
|
|
2114
|
-
part.formatType = formatterOptions.second;
|
|
2115
|
-
break;
|
|
2116
|
-
}
|
|
2117
|
-
case "dayPeriod" /* DateParts.AmPm */: {
|
|
2118
|
-
part.formatType = formatterOptions.dayPeriod;
|
|
2119
|
-
break;
|
|
2120
|
-
}
|
|
2121
|
-
}
|
|
2122
|
-
}
|
|
2123
|
-
return dateStruct;
|
|
2124
|
-
}
|
|
2125
|
-
static fillDatePartsPositions(dateArray) {
|
|
2126
|
-
let currentPos = 0;
|
|
2127
|
-
for (const part of dateArray) {
|
|
2128
|
-
// Day|Month|Hour|Minute|Second|AmPm part positions
|
|
2129
|
-
if (part.type === "day" /* DateParts.Day */ || part.type === "month" /* DateParts.Month */ ||
|
|
2130
|
-
part.type === "hour" /* DateParts.Hour */ || part.type === "minute" /* DateParts.Minute */ || part.type === "second" /* DateParts.Second */ ||
|
|
2131
|
-
part.type === "dayPeriod" /* DateParts.AmPm */) {
|
|
2132
|
-
// Offset 2 positions for number
|
|
2133
|
-
part.position = [currentPos, currentPos + 2];
|
|
2134
|
-
currentPos += 2;
|
|
2135
|
-
}
|
|
2136
|
-
else if (part.type === "year" /* DateParts.Year */) {
|
|
2137
|
-
// Year part positions
|
|
2138
|
-
switch (part.formatType) {
|
|
2139
|
-
case "numeric" /* FormatDesc.Numeric */: {
|
|
2140
|
-
// Offset 4 positions for full year
|
|
2141
|
-
part.position = [currentPos, currentPos + 4];
|
|
2142
|
-
currentPos += 4;
|
|
2143
|
-
break;
|
|
2144
|
-
}
|
|
2145
|
-
case "2-digit" /* FormatDesc.TwoDigits */: {
|
|
2146
|
-
// Offset 2 positions for short year
|
|
2147
|
-
part.position = [currentPos, currentPos + 2];
|
|
2148
|
-
currentPos += 2;
|
|
2149
|
-
break;
|
|
2150
|
-
}
|
|
2151
|
-
}
|
|
2152
|
-
}
|
|
2153
|
-
else if (part.type === DateTimeUtil.SEPARATOR) {
|
|
2154
|
-
// Separator positions
|
|
2155
|
-
part.position = [currentPos, currentPos + 1];
|
|
2156
|
-
currentPos++;
|
|
2157
|
-
}
|
|
2158
|
-
}
|
|
2159
|
-
}
|
|
2160
1950
|
}
|
|
2161
1951
|
|
|
2162
1952
|
const daysInWeek = 7;
|
|
@@ -2472,7 +2262,7 @@ function isDateInRanges(date, ranges) {
|
|
|
2472
2262
|
});
|
|
2473
2263
|
}
|
|
2474
2264
|
function formatToParts(date, locale, options, parts) {
|
|
2475
|
-
const formatter =
|
|
2265
|
+
const formatter = getDateFormatter().getIntlFormatter(locale, options);
|
|
2476
2266
|
const result = {
|
|
2477
2267
|
date,
|
|
2478
2268
|
full: formatter.format(date),
|
|
@@ -4498,17 +4288,20 @@ class BaseFilteringStrategy {
|
|
|
4498
4288
|
}
|
|
4499
4289
|
const { display, format, digitsInfo, currencyCode, timezone } = column.pipeArgs;
|
|
4500
4290
|
const locale = column.grid.locale;
|
|
4291
|
+
const i18nFormatter = column.grid.i18nFormatter;
|
|
4501
4292
|
switch (column.dataType) {
|
|
4502
4293
|
case GridColumnDataType.Date:
|
|
4503
4294
|
case GridColumnDataType.DateTime:
|
|
4504
4295
|
case GridColumnDataType.Time:
|
|
4505
|
-
return formatDate(value, format, locale, timezone);
|
|
4506
|
-
case GridColumnDataType.Currency:
|
|
4507
|
-
|
|
4296
|
+
return i18nFormatter.formatDate(value, format, locale, timezone);
|
|
4297
|
+
case GridColumnDataType.Currency: {
|
|
4298
|
+
const currencyCodeFinal = i18nFormatter.getCurrencyCode(locale, currencyCode);
|
|
4299
|
+
return i18nFormatter.formatCurrency(value, locale, display, currencyCodeFinal, digitsInfo);
|
|
4300
|
+
}
|
|
4508
4301
|
case GridColumnDataType.Number:
|
|
4509
|
-
return formatNumber(value, locale, digitsInfo);
|
|
4302
|
+
return i18nFormatter.formatNumber(value, locale, digitsInfo);
|
|
4510
4303
|
case GridColumnDataType.Percent:
|
|
4511
|
-
return formatPercent(value, locale, digitsInfo);
|
|
4304
|
+
return i18nFormatter.formatPercent(value, locale, digitsInfo);
|
|
4512
4305
|
default:
|
|
4513
4306
|
return value;
|
|
4514
4307
|
}
|
|
@@ -4736,6 +4529,197 @@ class TreeGridMatchingRecordsOnlyFilteringStrategy extends TreeGridFilteringStra
|
|
|
4736
4529
|
class GroupedRecords extends Array {
|
|
4737
4530
|
}
|
|
4738
4531
|
|
|
4532
|
+
/**
|
|
4533
|
+
* Injection token that allows for retrieving the i18n formatter for the IgniteUI components.
|
|
4534
|
+
*/
|
|
4535
|
+
const I18N_FORMATTER = new InjectionToken('IgniteFormattingToken', {
|
|
4536
|
+
providedIn: 'root',
|
|
4537
|
+
factory: () => new BaseFormatter(),
|
|
4538
|
+
});
|
|
4539
|
+
class BaseFormatter {
|
|
4540
|
+
constructor() {
|
|
4541
|
+
this.IntlDateTimeStyleValues = {
|
|
4542
|
+
full: 'Full',
|
|
4543
|
+
long: 'Long',
|
|
4544
|
+
medium: 'Medium',
|
|
4545
|
+
short: 'Short'
|
|
4546
|
+
};
|
|
4547
|
+
this._currencyPipe = new CurrencyPipe('en-US', 'USD');
|
|
4548
|
+
}
|
|
4549
|
+
verifyLocale(locale) {
|
|
4550
|
+
try {
|
|
4551
|
+
// Any angular method should work.
|
|
4552
|
+
getLocaleFirstDayOfWeek(locale);
|
|
4553
|
+
}
|
|
4554
|
+
catch {
|
|
4555
|
+
return undefined;
|
|
4556
|
+
}
|
|
4557
|
+
return locale;
|
|
4558
|
+
}
|
|
4559
|
+
/**
|
|
4560
|
+
* Get Intl options based on format provided:
|
|
4561
|
+
*
|
|
4562
|
+
* date and time formats - short, medium, long, full
|
|
4563
|
+
*
|
|
4564
|
+
* date formats - shortDate, mediumDate, longDate, fullDate
|
|
4565
|
+
*
|
|
4566
|
+
* time formats - shortTime, mediumTime, longTime, fullTime
|
|
4567
|
+
*
|
|
4568
|
+
* @returns Return the resolved options or null if not matching any of the above.
|
|
4569
|
+
*/
|
|
4570
|
+
getFormatOptions(format) {
|
|
4571
|
+
let dateStyle = undefined, timeStyle = undefined;
|
|
4572
|
+
if (format === 'short' || format === 'medium' || format === 'long' || format === 'full') {
|
|
4573
|
+
dateStyle = format;
|
|
4574
|
+
timeStyle = format;
|
|
4575
|
+
}
|
|
4576
|
+
else if (format?.includes('Date')) {
|
|
4577
|
+
dateStyle = format.replace('Date', '');
|
|
4578
|
+
}
|
|
4579
|
+
else if (format?.includes('Time')) {
|
|
4580
|
+
timeStyle = format.replace('Time', '');
|
|
4581
|
+
}
|
|
4582
|
+
else {
|
|
4583
|
+
return null;
|
|
4584
|
+
}
|
|
4585
|
+
return {
|
|
4586
|
+
dateStyle,
|
|
4587
|
+
timeStyle
|
|
4588
|
+
};
|
|
4589
|
+
}
|
|
4590
|
+
/**
|
|
4591
|
+
* Returns the date and time format based on a provided locale and options.
|
|
4592
|
+
*/
|
|
4593
|
+
getLocaleDateTimeFormat(locale, forceLeadingZero = false, options) {
|
|
4594
|
+
return getDateFormatter().getLocaleDateTimeFormat(locale, forceLeadingZero, options);
|
|
4595
|
+
}
|
|
4596
|
+
/**
|
|
4597
|
+
* Format provided date to reflect locales format. Similar to Angular's formatDate.
|
|
4598
|
+
*/
|
|
4599
|
+
formatDate(value, format, locale, timezone) {
|
|
4600
|
+
return value != null ? formatDate(value, format, locale, timezone) : '';
|
|
4601
|
+
}
|
|
4602
|
+
/** Format number value based on locale */
|
|
4603
|
+
formatNumber(value, locale, digitsInfo) {
|
|
4604
|
+
if (typeof value === "string") {
|
|
4605
|
+
value = parseFloat(value);
|
|
4606
|
+
}
|
|
4607
|
+
return value != null ? formatNumber(value, locale, digitsInfo) : '';
|
|
4608
|
+
}
|
|
4609
|
+
/** Format number value as percent based on locale */
|
|
4610
|
+
formatPercent(value, locale, digitsInfo) {
|
|
4611
|
+
if (typeof value === "string") {
|
|
4612
|
+
value = parseFloat(value);
|
|
4613
|
+
}
|
|
4614
|
+
return value != null ? formatPercent(value, locale, digitsInfo) : '';
|
|
4615
|
+
}
|
|
4616
|
+
/** Format number as a currency based on locale */
|
|
4617
|
+
formatCurrency(value, locale, display, currencyCode, digitsInfo) {
|
|
4618
|
+
if (typeof value === "string") {
|
|
4619
|
+
value = parseFloat(value);
|
|
4620
|
+
}
|
|
4621
|
+
return value != null ? this._currencyPipe.transform(value, currencyCode, display, digitsInfo, locale ?? getCurrentI18n()) : '';
|
|
4622
|
+
}
|
|
4623
|
+
/**
|
|
4624
|
+
* Retrieve the currency code of the locale provided.
|
|
4625
|
+
* Angular provides locale data for them, if using that.
|
|
4626
|
+
* When using Intl, it should be user defined and defaults to USD.
|
|
4627
|
+
*/
|
|
4628
|
+
getCurrencyCode(locale, overrideCode) {
|
|
4629
|
+
if (overrideCode) {
|
|
4630
|
+
return overrideCode;
|
|
4631
|
+
}
|
|
4632
|
+
return getLocaleCurrencyCode(locale);
|
|
4633
|
+
}
|
|
4634
|
+
/** Get the currency symbol based on a currency code. */
|
|
4635
|
+
getCurrencySymbol(currencyCode, locale, currencyDisplay = "symbol") {
|
|
4636
|
+
let format = 'wide';
|
|
4637
|
+
if (currencyDisplay === 'narrowSymbol') {
|
|
4638
|
+
format = 'narrow';
|
|
4639
|
+
}
|
|
4640
|
+
return getCurrencySymbol(currencyCode, format, locale);
|
|
4641
|
+
}
|
|
4642
|
+
/**
|
|
4643
|
+
* Get first day of the week.
|
|
4644
|
+
* Angular's default: 0...6.
|
|
4645
|
+
* Intl default: 1...7.
|
|
4646
|
+
*/
|
|
4647
|
+
getLocaleFirstDayOfWeek(locale) {
|
|
4648
|
+
// Angular returns 0 for Sunday...
|
|
4649
|
+
return getLocaleFirstDayOfWeek(locale);
|
|
4650
|
+
}
|
|
4651
|
+
}
|
|
4652
|
+
|
|
4653
|
+
class IgxDateFormatterPipe {
|
|
4654
|
+
constructor() {
|
|
4655
|
+
this.i18nFormatter = inject(I18N_FORMATTER);
|
|
4656
|
+
this.locale_ID = inject(LOCALE_ID);
|
|
4657
|
+
}
|
|
4658
|
+
transform(value, format, timezone, locale) {
|
|
4659
|
+
return this.i18nFormatter.formatDate(value, format, locale ?? this.locale_ID, timezone);
|
|
4660
|
+
}
|
|
4661
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxDateFormatterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
4662
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.2", ngImport: i0, type: IgxDateFormatterPipe, isStandalone: true, name: "date" }); }
|
|
4663
|
+
}
|
|
4664
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxDateFormatterPipe, decorators: [{
|
|
4665
|
+
type: Pipe,
|
|
4666
|
+
args: [{
|
|
4667
|
+
name: 'date',
|
|
4668
|
+
standalone: true
|
|
4669
|
+
}]
|
|
4670
|
+
}] });
|
|
4671
|
+
class IgxNumberFormatterPipe {
|
|
4672
|
+
constructor() {
|
|
4673
|
+
this.i18nFormatter = inject(I18N_FORMATTER);
|
|
4674
|
+
}
|
|
4675
|
+
transform(value, digitsInfo, locale) {
|
|
4676
|
+
return this.i18nFormatter.formatNumber(value, locale, digitsInfo);
|
|
4677
|
+
}
|
|
4678
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxNumberFormatterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
4679
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.2", ngImport: i0, type: IgxNumberFormatterPipe, isStandalone: true, name: "number" }); }
|
|
4680
|
+
}
|
|
4681
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxNumberFormatterPipe, decorators: [{
|
|
4682
|
+
type: Pipe,
|
|
4683
|
+
args: [{
|
|
4684
|
+
name: 'number',
|
|
4685
|
+
standalone: true
|
|
4686
|
+
}]
|
|
4687
|
+
}] });
|
|
4688
|
+
class IgxPercentFormatterPipe {
|
|
4689
|
+
constructor() {
|
|
4690
|
+
this.i18nFormatter = inject(I18N_FORMATTER);
|
|
4691
|
+
}
|
|
4692
|
+
transform(value, digitsInfo, locale) {
|
|
4693
|
+
return this.i18nFormatter.formatPercent(value, locale, digitsInfo);
|
|
4694
|
+
}
|
|
4695
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxPercentFormatterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
4696
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.2", ngImport: i0, type: IgxPercentFormatterPipe, isStandalone: true, name: "percent" }); }
|
|
4697
|
+
}
|
|
4698
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxPercentFormatterPipe, decorators: [{
|
|
4699
|
+
type: Pipe,
|
|
4700
|
+
args: [{
|
|
4701
|
+
name: 'percent',
|
|
4702
|
+
standalone: true
|
|
4703
|
+
}]
|
|
4704
|
+
}] });
|
|
4705
|
+
class IgxCurrencyFormatterPipe {
|
|
4706
|
+
constructor() {
|
|
4707
|
+
this.i18nFormatter = inject(I18N_FORMATTER);
|
|
4708
|
+
}
|
|
4709
|
+
transform(value, currencyCode, display, digitsInfo, locale) {
|
|
4710
|
+
return this.i18nFormatter.formatCurrency(value, locale, display, currencyCode, digitsInfo);
|
|
4711
|
+
}
|
|
4712
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxCurrencyFormatterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
4713
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.2", ngImport: i0, type: IgxCurrencyFormatterPipe, isStandalone: true, name: "currency" }); }
|
|
4714
|
+
}
|
|
4715
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxCurrencyFormatterPipe, decorators: [{
|
|
4716
|
+
type: Pipe,
|
|
4717
|
+
args: [{
|
|
4718
|
+
name: 'currency',
|
|
4719
|
+
standalone: true
|
|
4720
|
+
}]
|
|
4721
|
+
}] });
|
|
4722
|
+
|
|
4739
4723
|
class IgxAngularAnimationPlayer {
|
|
4740
4724
|
get position() {
|
|
4741
4725
|
return this._innerPlayer.getPosition();
|
|
@@ -7464,396 +7448,214 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImpor
|
|
|
7464
7448
|
args: [{ providedIn: 'root' }]
|
|
7465
7449
|
}], ctorParameters: () => [] });
|
|
7466
7450
|
|
|
7467
|
-
const
|
|
7468
|
-
|
|
7469
|
-
|
|
7451
|
+
const DEFAULT_LOCALE = 'en-US';
|
|
7452
|
+
function igxRegisterI18n(resourceStrings, locale) {
|
|
7453
|
+
// Remove `igx_` prefix for compatibility with older versions.
|
|
7454
|
+
const genericResourceStrings = {};
|
|
7455
|
+
for (const key of Object.keys(resourceStrings)) {
|
|
7456
|
+
let stringKey = key;
|
|
7457
|
+
if (stringKey.startsWith("igx_")) {
|
|
7458
|
+
stringKey = stringKey.replace("igx_", "");
|
|
7459
|
+
}
|
|
7460
|
+
genericResourceStrings[stringKey] = resourceStrings[key];
|
|
7461
|
+
}
|
|
7462
|
+
getI18nManager().registerI18n(genericResourceStrings, locale);
|
|
7463
|
+
}
|
|
7464
|
+
/** Get current resource strings based on default. Result is truncated result, containing only relevant locale strings. */
|
|
7465
|
+
function getCurrentResourceStrings(defaultEN, init = true, locale) {
|
|
7466
|
+
const resourceStrings = getI18nManager().getCurrentResourceStrings(locale);
|
|
7467
|
+
const resourceStringsKeys = Object.keys(resourceStrings);
|
|
7468
|
+
const normalizedResourceStrings = {};
|
|
7469
|
+
const newResourceStrings = {};
|
|
7470
|
+
// Append back `igx_` prefix for compatibility with older versions.
|
|
7471
|
+
const igxResourceStringKeys = Object.keys(defaultEN);
|
|
7472
|
+
for (const igxKey of igxResourceStringKeys) {
|
|
7473
|
+
let coreKey = igxKey;
|
|
7474
|
+
if (coreKey.startsWith("igx_")) {
|
|
7475
|
+
coreKey = coreKey.replace("igx_", "");
|
|
7476
|
+
}
|
|
7477
|
+
if (resourceStringsKeys.includes(coreKey)) {
|
|
7478
|
+
normalizedResourceStrings[igxKey] = resourceStrings[coreKey];
|
|
7479
|
+
}
|
|
7480
|
+
else {
|
|
7481
|
+
normalizedResourceStrings[igxKey] = defaultEN[igxKey];
|
|
7482
|
+
newResourceStrings[coreKey] = defaultEN[igxKey];
|
|
7483
|
+
}
|
|
7484
|
+
}
|
|
7485
|
+
if (init) {
|
|
7486
|
+
// Register only new resources. We don't want to accidentally override any default set by user.
|
|
7487
|
+
getI18nManager().registerI18n(newResourceStrings, getI18nManager().defaultLocale);
|
|
7488
|
+
}
|
|
7489
|
+
return normalizedResourceStrings;
|
|
7490
|
+
}
|
|
7491
|
+
/**
|
|
7492
|
+
* Bind to the i18n manager's onResourceChange event
|
|
7493
|
+
* @param destroyObj Object responsible for signaling destruction of the handling object
|
|
7494
|
+
* @param context Reference to the object's this context
|
|
7495
|
+
*/
|
|
7496
|
+
function onResourceChangeHandle(destroyObj, callback, context) {
|
|
7497
|
+
const onResourceChangeHandler = callback.bind(context);
|
|
7498
|
+
getI18nManager().addEventListener("onResourceChange", onResourceChangeHandler);
|
|
7499
|
+
// Handle removal of listener on context destroy
|
|
7500
|
+
const removeHandler = () => {
|
|
7501
|
+
getI18nManager().removeEventListener("onResourceChange", onResourceChangeHandler);
|
|
7502
|
+
};
|
|
7503
|
+
if (destroyObj instanceof DestroyRef || destroyObj instanceof _R3Injector) {
|
|
7504
|
+
// R3Injector is for tests only
|
|
7505
|
+
destroyObj.onDestroy(() => removeHandler());
|
|
7506
|
+
}
|
|
7507
|
+
else if (destroyObj) {
|
|
7508
|
+
destroyObj.subscribe({
|
|
7509
|
+
complete: () => removeHandler()
|
|
7510
|
+
});
|
|
7511
|
+
}
|
|
7512
|
+
}
|
|
7513
|
+
/**
|
|
7514
|
+
* Change resource strings for all components globally. The locale is not taken into account and this method should be called when the locale is changed.
|
|
7515
|
+
* Note: Legacy method. We suggest using the new `registerI18n` and `setCurrentI18n` methods exposed.
|
|
7516
|
+
*/
|
|
7517
|
+
function changei18n(resourceStrings) {
|
|
7518
|
+
// Register to current locale, since the user might have already set `lang` tag on root html.
|
|
7519
|
+
igxRegisterI18n(resourceStrings, getI18nManager().currentLocale);
|
|
7520
|
+
}
|
|
7521
|
+
/**
|
|
7522
|
+
* Set the current locale of all Ignite UI components.
|
|
7523
|
+
* @param locale The name of the locale. A string based on the BCP 47 language tag, that Intl supports.
|
|
7524
|
+
*/
|
|
7525
|
+
function registerI18n(resourceStrings, locale) {
|
|
7526
|
+
igxRegisterI18n(resourceStrings, locale);
|
|
7527
|
+
}
|
|
7470
7528
|
|
|
7471
|
-
|
|
7472
|
-
|
|
7473
|
-
};
|
|
7529
|
+
/** Set up provider for Ignite UI components to use Intl formatting, replacing the default Angular's one. */
|
|
7530
|
+
function provideIgniteIntl() {
|
|
7531
|
+
const providers = [{ provide: I18N_FORMATTER, useValue: new IntlFormatter() }];
|
|
7532
|
+
return providers;
|
|
7533
|
+
}
|
|
7534
|
+
class IntlFormatter extends BaseFormatter {
|
|
7535
|
+
verifyLocale(locale) {
|
|
7536
|
+
try {
|
|
7537
|
+
// Any angular method should work.
|
|
7538
|
+
return Intl.getCanonicalLocales(locale)[0];
|
|
7539
|
+
}
|
|
7540
|
+
catch {
|
|
7541
|
+
return undefined;
|
|
7542
|
+
}
|
|
7543
|
+
}
|
|
7544
|
+
formatDate(value, format, locale, timezone) {
|
|
7545
|
+
if (value === null || value === undefined || value === '') {
|
|
7546
|
+
return '';
|
|
7547
|
+
}
|
|
7548
|
+
if (typeof value === "string" || typeof value === "number") {
|
|
7549
|
+
value = getDateFormatter().createDateFromValue(value);
|
|
7550
|
+
}
|
|
7551
|
+
const formatOptions = this.getFormatOptions(format);
|
|
7552
|
+
if (!formatOptions && format) {
|
|
7553
|
+
return getDateFormatter().formatDateCustomFormat(value, format, { locale, timezone });
|
|
7554
|
+
}
|
|
7555
|
+
const options = {
|
|
7556
|
+
...formatOptions,
|
|
7557
|
+
timeZone: timezone
|
|
7558
|
+
};
|
|
7559
|
+
return getDateFormatter().formatDateTime(value, locale, options);
|
|
7560
|
+
}
|
|
7561
|
+
formatNumber(value, locale, digitsInfo) {
|
|
7562
|
+
return this.formatNumberGeneric(value, "decimal", locale, digitsInfo);
|
|
7563
|
+
}
|
|
7564
|
+
formatPercent(value, locale, digitsInfo) {
|
|
7565
|
+
return this.formatNumberGeneric(value, "percent", locale, digitsInfo);
|
|
7566
|
+
}
|
|
7567
|
+
formatCurrency(value, locale, display, currencyCode, digitsInfo) {
|
|
7568
|
+
return this.formatNumberGeneric(value, "currency", locale, digitsInfo, currencyCode, display);
|
|
7569
|
+
}
|
|
7570
|
+
getCurrencyCode(_locale, overrideCode) {
|
|
7571
|
+
return overrideCode ?? 'USD';
|
|
7572
|
+
}
|
|
7573
|
+
getCurrencySymbol(currencyCode, locale, currencyDisplay = "symbol") {
|
|
7574
|
+
return getNumberFormatter().getCurrencySymbol(currencyCode, locale, currencyDisplay);
|
|
7575
|
+
}
|
|
7576
|
+
getLocaleFirstDayOfWeek(locale) {
|
|
7577
|
+
return getDateFormatter().getFirstDayOfWeek(locale);
|
|
7578
|
+
}
|
|
7579
|
+
parseDigitsInfo(value) {
|
|
7580
|
+
let minIntegerDigits = undefined, minFractionDigits = undefined, maxFractionDigits = undefined;
|
|
7581
|
+
if (value) {
|
|
7582
|
+
const parts = value.split("-");
|
|
7583
|
+
const innerParts = parts[0].split(".");
|
|
7584
|
+
if (innerParts.length > 0) {
|
|
7585
|
+
minIntegerDigits = parseInt(innerParts[0]);
|
|
7586
|
+
}
|
|
7587
|
+
if (innerParts.length == 2) {
|
|
7588
|
+
minFractionDigits = parseInt(innerParts[1]);
|
|
7589
|
+
}
|
|
7590
|
+
if (parts.length == 2) {
|
|
7591
|
+
maxFractionDigits = parseInt(parts[1]);
|
|
7592
|
+
}
|
|
7593
|
+
}
|
|
7594
|
+
return { minIntegerDigits, minFractionDigits, maxFractionDigits };
|
|
7595
|
+
}
|
|
7596
|
+
formatNumberGeneric(value, style, locale, digitsInfo, currencyCode, display) {
|
|
7597
|
+
if (value === null || value === undefined || value === '') {
|
|
7598
|
+
return '';
|
|
7599
|
+
}
|
|
7600
|
+
if (typeof value === "string") {
|
|
7601
|
+
value = parseFloat(value);
|
|
7602
|
+
}
|
|
7603
|
+
const parsedDigitsInfo = this.parseDigitsInfo(digitsInfo);
|
|
7604
|
+
let currencyDisplay;
|
|
7605
|
+
if (display !== 'code' && display !== 'symbol' && display !== 'symbol-narrow' && display !== 'narrowSymbol' && display !== "name") {
|
|
7606
|
+
currencyDisplay = 'symbol';
|
|
7607
|
+
}
|
|
7608
|
+
else if (display === 'symbol-narrow') {
|
|
7609
|
+
currencyDisplay = 'narrowSymbol';
|
|
7610
|
+
}
|
|
7611
|
+
else {
|
|
7612
|
+
currencyDisplay = display || undefined;
|
|
7613
|
+
}
|
|
7614
|
+
const options = {
|
|
7615
|
+
style: style,
|
|
7616
|
+
currency: currencyCode,
|
|
7617
|
+
currencyDisplay: currencyDisplay,
|
|
7618
|
+
minimumIntegerDigits: parsedDigitsInfo.minIntegerDigits,
|
|
7619
|
+
minimumFractionDigits: parsedDigitsInfo.minFractionDigits,
|
|
7620
|
+
maximumFractionDigits: parsedDigitsInfo.maxFractionDigits
|
|
7621
|
+
};
|
|
7622
|
+
return getNumberFormatter().formatNumber(value, locale, options);
|
|
7623
|
+
}
|
|
7624
|
+
}
|
|
7474
7625
|
|
|
7475
|
-
const
|
|
7476
|
-
igx_calendar_previous_month: 'Previous Month',
|
|
7477
|
-
igx_calendar_next_month: 'Next Month',
|
|
7478
|
-
igx_calendar_previous_year: 'Previous Year',
|
|
7479
|
-
igx_calendar_next_year: 'Next Year',
|
|
7480
|
-
igx_calendar_previous_years: 'Previous {0} Years',
|
|
7481
|
-
igx_calendar_next_years: 'Next {0} Years',
|
|
7482
|
-
igx_calendar_select_date: 'Select Date',
|
|
7483
|
-
igx_calendar_select_month: 'Select Month',
|
|
7484
|
-
igx_calendar_select_year: 'Select Year',
|
|
7485
|
-
igx_calendar_range_start: 'Range start',
|
|
7486
|
-
igx_calendar_range_end: 'Range end',
|
|
7487
|
-
igx_calendar_range_label_start: 'Start',
|
|
7488
|
-
igx_calendar_range_label_end: 'End',
|
|
7489
|
-
igx_calendar_range_placeholder: 'Select Range',
|
|
7490
|
-
igx_calendar_selected_month_is: 'Selected month is ',
|
|
7491
|
-
igx_calendar_first_picker_of: 'First picker of {0} starts from',
|
|
7492
|
-
igx_calendar_multi_selection: 'Multi selection calendar with {0} date pickers',
|
|
7493
|
-
igx_calendar_range_selection: 'Range selection calendar with {0} date pickers',
|
|
7494
|
-
igx_calendar_single_selection: 'Calendar with {0} date pickers',
|
|
7495
|
-
igx_calendar_singular_multi_selection: 'Multi selection calendar',
|
|
7496
|
-
igx_calendar_singular_range_selection: 'Range selection calendar',
|
|
7497
|
-
igx_calendar_singular_single_selection: 'Calendar',
|
|
7498
|
-
};
|
|
7626
|
+
const ActionStripResourceStringsEN = prefixResource(IGX_PREFIX, ActionStripResourceStringsEN$1);
|
|
7499
7627
|
|
|
7500
|
-
const
|
|
7501
|
-
igx_carousel_of: 'of',
|
|
7502
|
-
igx_carousel_slide: 'slide',
|
|
7503
|
-
igx_carousel_previous_slide: 'previous slide',
|
|
7504
|
-
igx_carousel_next_slide: 'next slide'
|
|
7505
|
-
};
|
|
7628
|
+
const BannerResourceStringsEN = prefixResource(IGX_PREFIX, BannerResourceStringsEN$1);
|
|
7506
7629
|
|
|
7507
|
-
const
|
|
7508
|
-
igx_chip_remove: 'remove chip',
|
|
7509
|
-
igx_chip_select: 'select chip'
|
|
7510
|
-
};
|
|
7630
|
+
const CalendarResourceStringsEN = prefixResource(IGX_PREFIX, CalendarResourceStringsEN$1);
|
|
7511
7631
|
|
|
7512
|
-
const
|
|
7513
|
-
igx_combo_empty_message: 'The list is empty',
|
|
7514
|
-
igx_combo_filter_search_placeholder: 'Enter a Search Term',
|
|
7515
|
-
igx_combo_addCustomValues_placeholder: 'Add Item',
|
|
7516
|
-
igx_combo_clearItems_placeholder: 'Clear Selection',
|
|
7517
|
-
igx_combo_aria_label_options: 'Selected options',
|
|
7518
|
-
igx_combo_aria_label_no_options: 'No options selected'
|
|
7519
|
-
};
|
|
7632
|
+
const CarouselResourceStringsEN = prefixResource(IGX_PREFIX, CarouselResourceStringsEN$1);
|
|
7520
7633
|
|
|
7521
|
-
const
|
|
7522
|
-
igx_date_picker_change_date: 'Change Date',
|
|
7523
|
-
igx_date_picker_choose_date: 'Choose Date'
|
|
7524
|
-
};
|
|
7634
|
+
const ChipResourceStringsEN = prefixResource(IGX_PREFIX, ChipResourceStringsEN$1);
|
|
7525
7635
|
|
|
7526
|
-
const
|
|
7527
|
-
igx_date_range_picker_date_separator: 'to',
|
|
7528
|
-
igx_date_range_picker_done_button: 'Done',
|
|
7529
|
-
igx_date_range_picker_cancel_button: 'Cancel',
|
|
7530
|
-
igx_date_range_picker_last7Days: 'Last 7 Days',
|
|
7531
|
-
igx_date_range_picker_currentMonth: 'Current Month',
|
|
7532
|
-
igx_date_range_picker_last30Days: 'Last 30 Days',
|
|
7533
|
-
igx_date_range_picker_yearToDate: 'Year to Date',
|
|
7534
|
-
};
|
|
7636
|
+
const ComboResourceStringsEN = prefixResource(IGX_PREFIX, ComboResourceStringsEN$1);
|
|
7535
7637
|
|
|
7536
|
-
const
|
|
7537
|
-
igx_grid_groupByArea_message: 'Drag a column header and drop it here to group by that column.',
|
|
7538
|
-
igx_grid_groupByArea_select_message: 'Select all rows in the group with field name {0} and value {1}.',
|
|
7539
|
-
igx_grid_groupByArea_deselect_message: 'Deselect all rows in the group with field name {0} and value {1}.',
|
|
7540
|
-
igx_grid_emptyFilteredGrid_message: 'No records found.',
|
|
7541
|
-
igx_grid_emptyGrid_message: 'Grid has no data.',
|
|
7542
|
-
igx_grid_filter: 'Filter',
|
|
7543
|
-
igx_grid_filter_row_close: 'Close',
|
|
7544
|
-
igx_grid_filter_row_reset: 'Reset',
|
|
7545
|
-
igx_grid_filter_row_placeholder: 'Add filter value',
|
|
7546
|
-
igx_grid_filter_row_boolean_placeholder: 'All',
|
|
7547
|
-
igx_grid_filter_row_date_placeholder: 'Pick up date',
|
|
7548
|
-
igx_grid_filter_row_time_placeholder: 'Pick up time',
|
|
7549
|
-
igx_grid_filter_operator_and: 'And',
|
|
7550
|
-
igx_grid_filter_operator_or: 'Or',
|
|
7551
|
-
igx_grid_complex_filter: 'Complex Filter',
|
|
7552
|
-
igx_grid_filter_contains: 'Contains',
|
|
7553
|
-
igx_grid_filter_doesNotContain: 'Does Not Contain',
|
|
7554
|
-
igx_grid_filter_startsWith: 'Starts With',
|
|
7555
|
-
igx_grid_filter_endsWith: 'Ends With',
|
|
7556
|
-
igx_grid_filter_equals: 'Equals',
|
|
7557
|
-
igx_grid_filter_doesNotEqual: 'Does Not Equal',
|
|
7558
|
-
igx_grid_filter_empty: 'Empty',
|
|
7559
|
-
igx_grid_filter_notEmpty: 'Not Empty',
|
|
7560
|
-
igx_grid_filter_null: 'Null',
|
|
7561
|
-
igx_grid_filter_notNull: 'Not Null',
|
|
7562
|
-
igx_grid_filter_before: 'Before',
|
|
7563
|
-
igx_grid_filter_after: 'After',
|
|
7564
|
-
igx_grid_filter_at: 'At',
|
|
7565
|
-
igx_grid_filter_not_at: 'Not At',
|
|
7566
|
-
igx_grid_filter_at_before: 'At or Before',
|
|
7567
|
-
igx_grid_filter_at_after: 'At or After',
|
|
7568
|
-
igx_grid_filter_today: 'Today',
|
|
7569
|
-
igx_grid_filter_yesterday: 'Yesterday',
|
|
7570
|
-
igx_grid_filter_thisMonth: 'This Month',
|
|
7571
|
-
igx_grid_filter_lastMonth: 'Last Month',
|
|
7572
|
-
igx_grid_filter_nextMonth: 'Next Month',
|
|
7573
|
-
igx_grid_filter_thisYear: 'This Year',
|
|
7574
|
-
igx_grid_filter_lastYear: 'Last Year',
|
|
7575
|
-
igx_grid_filter_nextYear: 'Next Year',
|
|
7576
|
-
igx_grid_filter_greaterThan: 'Greater Than',
|
|
7577
|
-
igx_grid_filter_lessThan: 'Less Than',
|
|
7578
|
-
igx_grid_filter_greaterThanOrEqualTo: 'Greater Than Or Equal To',
|
|
7579
|
-
igx_grid_filter_lessThanOrEqualTo: 'Less Than Or Equal To',
|
|
7580
|
-
igx_grid_filter_true: 'True',
|
|
7581
|
-
igx_grid_filter_false: 'False',
|
|
7582
|
-
igx_grid_filter_all: 'All',
|
|
7583
|
-
igx_grid_filter_condition_placeholder: 'Select filter',
|
|
7584
|
-
igx_grid_filter_in: 'In',
|
|
7585
|
-
igx_grid_filter_notIn: 'Not In',
|
|
7586
|
-
igx_grid_summary_count: 'Count',
|
|
7587
|
-
igx_grid_summary_min: 'Min',
|
|
7588
|
-
igx_grid_summary_max: 'Max',
|
|
7589
|
-
igx_grid_summary_sum: 'Sum',
|
|
7590
|
-
igx_grid_summary_average: 'Avg',
|
|
7591
|
-
igx_grid_summary_earliest: 'Earliest',
|
|
7592
|
-
igx_grid_summary_latest: 'Latest',
|
|
7593
|
-
igx_grid_excel_filter_moving_left: 'move left',
|
|
7594
|
-
igx_grid_excel_filter_moving_left_short: 'left',
|
|
7595
|
-
igx_grid_excel_filter_moving_right: 'move right',
|
|
7596
|
-
igx_grid_excel_filter_moving_right_short: 'right',
|
|
7597
|
-
igx_grid_excel_filter_moving_header: 'move',
|
|
7598
|
-
igx_grid_excel_filter_sorting_asc: 'ascending',
|
|
7599
|
-
igx_grid_excel_filter_sorting_asc_short: 'asc',
|
|
7600
|
-
igx_grid_excel_filter_sorting_desc: 'descending',
|
|
7601
|
-
igx_grid_excel_filter_sorting_desc_short: 'desc',
|
|
7602
|
-
igx_grid_excel_filter_sorting_header: 'sort',
|
|
7603
|
-
igx_grid_excel_filter_clear: 'Clear column filters',
|
|
7604
|
-
igx_grid_excel_custom_dialog_add: 'add filter',
|
|
7605
|
-
igx_grid_excel_custom_dialog_clear: 'Clear filter',
|
|
7606
|
-
igx_grid_excel_custom_dialog_header: 'Custom auto-filter on column: ',
|
|
7607
|
-
igx_grid_excel_cancel: 'Cancel',
|
|
7608
|
-
igx_grid_excel_apply: 'Apply',
|
|
7609
|
-
igx_grid_excel_search_placeholder: 'Search',
|
|
7610
|
-
igx_grid_excel_select_all: 'Select All',
|
|
7611
|
-
igx_grid_excel_select_all_search_results: 'Select all search results',
|
|
7612
|
-
igx_grid_excel_add_to_filter: 'Add current selection to filter',
|
|
7613
|
-
igx_grid_excel_blanks: '(Blanks)',
|
|
7614
|
-
igx_grid_excel_hide: 'Hide column',
|
|
7615
|
-
igx_grid_excel_show: 'Show column',
|
|
7616
|
-
igx_grid_excel_pin: 'Pin column',
|
|
7617
|
-
igx_grid_excel_unpin: 'Unpin column',
|
|
7618
|
-
igx_grid_excel_select: 'Select column',
|
|
7619
|
-
igx_grid_excel_deselect: 'Deselect column',
|
|
7620
|
-
igx_grid_excel_text_filter: 'Text filter',
|
|
7621
|
-
igx_grid_excel_number_filter: 'Number filter',
|
|
7622
|
-
igx_grid_excel_date_filter: 'Date filter',
|
|
7623
|
-
igx_grid_excel_boolean_filter: 'Boolean filter',
|
|
7624
|
-
igx_grid_excel_currency_filter: 'Currency filter',
|
|
7625
|
-
igx_grid_excel_custom_filter: 'Custom filter...',
|
|
7626
|
-
igx_grid_excel_no_matches: 'No matches',
|
|
7627
|
-
igx_grid_excel_matches_count: '{0} matches.',
|
|
7628
|
-
igx_grid_advanced_filter_title: 'Advanced Filtering',
|
|
7629
|
-
igx_grid_advanced_filter_from_label: 'From',
|
|
7630
|
-
igx_grid_advanced_filter_and_group: '"And" Group',
|
|
7631
|
-
igx_grid_advanced_filter_or_group: '"Or" Group',
|
|
7632
|
-
igx_grid_advanced_filter_end_group: 'End Group',
|
|
7633
|
-
igx_grid_advanced_filter_create_and_group: 'Create "And" Group',
|
|
7634
|
-
igx_grid_advanced_filter_create_or_group: 'Create "Or" Group',
|
|
7635
|
-
igx_grid_advanced_filter_and_label: 'and',
|
|
7636
|
-
igx_grid_advanced_filter_or_label: 'or',
|
|
7637
|
-
igx_grid_advanced_filter_switch_group: 'Switch to {0}',
|
|
7638
|
-
igx_grid_advanced_filter_add_condition: 'Add condition',
|
|
7639
|
-
igx_grid_advanced_filter_add_group: 'Add group',
|
|
7640
|
-
igx_grid_advanced_filter_add_condition_root: 'Condition',
|
|
7641
|
-
igx_grid_advanced_filter_add_group_root: 'Group',
|
|
7642
|
-
igx_grid_advanced_filter_ungroup: 'Ungroup',
|
|
7643
|
-
igx_grid_advanced_filter_delete: 'Delete',
|
|
7644
|
-
igx_grid_advanced_filter_delete_filters: 'Delete filters',
|
|
7645
|
-
igx_grid_advanced_filter_initial_text: 'Start with creating a group of conditions linked with "And" or "Or"',
|
|
7646
|
-
igx_grid_advanced_filter_column_placeholder: 'Select column',
|
|
7647
|
-
igx_grid_advanced_filter_value_placeholder: 'Value',
|
|
7648
|
-
igx_grid_advanced_filter_query_value_placeholder: 'Sub-query results',
|
|
7649
|
-
igx_grid_advanced_filter_select_entity: 'Select entity',
|
|
7650
|
-
igx_grid_advanced_filter_select_return_field_single: 'Select return field',
|
|
7651
|
-
igx_grid_advanced_filter_dialog_title: 'Confirmation',
|
|
7652
|
-
igx_grid_advanced_filter_dialog_message: 'By changing the entity, you will lose your current settings. Are you sure you want to do that?',
|
|
7653
|
-
igx_grid_advanced_filter_dialog_checkbox_text: 'Do not show this dialog again',
|
|
7654
|
-
igx_grid_advanced_filter_drop_ghost_text: 'Drop here to insert',
|
|
7655
|
-
igx_grid_pinned_row_indicator: 'Pinned',
|
|
7656
|
-
igx_grid_hiding_check_all_label: 'Show All',
|
|
7657
|
-
igx_grid_hiding_uncheck_all_label: 'Hide All',
|
|
7658
|
-
igx_grid_pinning_check_all_label: 'Pin All',
|
|
7659
|
-
igx_grid_pinning_uncheck_all_label: 'Unpin All',
|
|
7660
|
-
igx_grid_row_edit_btn_done: 'Done',
|
|
7661
|
-
igx_grid_row_edit_btn_cancel: 'Cancel',
|
|
7662
|
-
igx_grid_row_edit_text: 'You have {0} changes in this row and {1} hidden columns',
|
|
7663
|
-
igx_grid_toolbar_actions_filter_prompt: 'Filter columns list ...',
|
|
7664
|
-
igx_grid_toolbar_pinning_button_tooltip: 'Open column pinning dropdown',
|
|
7665
|
-
igx_grid_toolbar_hiding_button_tooltip: 'Open column hiding dropdown',
|
|
7666
|
-
igx_grid_toolbar_pinning_title: 'Pinned columns',
|
|
7667
|
-
igx_grid_toolbar_hiding_title: 'Visible columns',
|
|
7668
|
-
igx_grid_toolbar_advanced_filtering_button_tooltip: 'Open advanced filtering dialog',
|
|
7669
|
-
igx_grid_toolbar_advanced_filtering_button_label: 'Advanced filtering',
|
|
7670
|
-
igx_grid_toolbar_exporter_button_tooltip: 'Open exporter dropdown',
|
|
7671
|
-
igx_grid_toolbar_exporter_button_label: 'Export',
|
|
7672
|
-
igx_grid_toolbar_exporter_excel_entry_text: 'Export to Excel',
|
|
7673
|
-
igx_grid_toolbar_exporter_csv_entry_text: 'Export to CSV',
|
|
7674
|
-
igx_grid_toolbar_exporter_pdf_entry_text: 'Export to PDF',
|
|
7675
|
-
igx_grid_snackbar_addrow_label: 'Row added',
|
|
7676
|
-
igx_grid_snackbar_addrow_actiontext: 'SHOW',
|
|
7677
|
-
igx_grid_actions_edit_label: 'Edit',
|
|
7678
|
-
igx_grid_actions_add_label: 'Add',
|
|
7679
|
-
igx_grid_add_row_label: 'ADD ROW',
|
|
7680
|
-
igx_grid_actions_add_child_label: 'Add Child',
|
|
7681
|
-
igx_grid_actions_delete_label: 'Delete',
|
|
7682
|
-
igx_grid_actions_pin_label: 'Pin',
|
|
7683
|
-
igx_grid_actions_unpin_label: 'Unpin',
|
|
7684
|
-
igx_grid_actions_jumpUp_label: 'Jump up',
|
|
7685
|
-
igx_grid_actions_jumpDown_label: 'Jump down',
|
|
7686
|
-
igx_grid_pivot_date_dimension_total: 'All Periods',
|
|
7687
|
-
igx_grid_pivot_aggregate_count: 'Count',
|
|
7688
|
-
igx_grid_pivot_aggregate_min: 'Minimum',
|
|
7689
|
-
igx_grid_pivot_aggregate_max: 'Maximum',
|
|
7690
|
-
igx_grid_pivot_aggregate_sum: 'Sum',
|
|
7691
|
-
igx_grid_pivot_aggregate_avg: 'Average',
|
|
7692
|
-
igx_grid_pivot_aggregate_date_latest: 'Latest Date',
|
|
7693
|
-
igx_grid_pivot_aggregate_date_earliest: 'Earliest Date',
|
|
7694
|
-
igx_grid_pivot_aggregate_time_latest: 'Latest Time',
|
|
7695
|
-
igx_grid_pivot_aggregate_time_earliest: 'Earliest Time',
|
|
7696
|
-
igx_grid_pivot_empty_row_drop_area: 'Drop Row Fields here.',
|
|
7697
|
-
igx_grid_pivot_empty_column_drop_area: 'Drop Column Fields here.',
|
|
7698
|
-
igx_grid_pivot_empty_filter_drop_area: 'Drop Filter Fields here.',
|
|
7699
|
-
igx_grid_pivot_empty_value_drop_area: 'Drop Value Fields here.',
|
|
7700
|
-
igx_grid_pivot_row_drop_chip: 'Drop here to use as row',
|
|
7701
|
-
igx_grid_pivot_column_drop_chip: 'Drop here to use as column',
|
|
7702
|
-
igx_grid_pivot_filter_drop_chip: 'Drop here to use as filter',
|
|
7703
|
-
igx_grid_pivot_value_drop_chip: 'Drop here to use as value',
|
|
7704
|
-
igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.',
|
|
7705
|
-
igx_grid_pivot_selector_filters: 'Filters',
|
|
7706
|
-
igx_grid_pivot_selector_rows: 'Rows',
|
|
7707
|
-
igx_grid_pivot_selector_columns: 'Columns',
|
|
7708
|
-
igx_grid_pivot_selector_values: 'Values',
|
|
7709
|
-
igx_grid_pivot_selector_panel_empty: 'Drop Items Here',
|
|
7710
|
-
igx_grid_required_validation_error: 'This field is required',
|
|
7711
|
-
igx_grid_min_validation_error: 'A value of at least {0} should be entered',
|
|
7712
|
-
igx_grid_max_validation_error: 'A value no more than {0} should be entered',
|
|
7713
|
-
igx_grid_min_length_validation_error: 'Entry should be at least {0} character(s) long',
|
|
7714
|
-
igx_grid_max_length_validation_error: 'Entry should be no more than {0} character(s) long',
|
|
7715
|
-
igx_grid_email_validation_error: 'A valid email address should be entered',
|
|
7716
|
-
igx_grid_pattern_validation_error: 'Entry does not match the required pattern'
|
|
7717
|
-
};
|
|
7638
|
+
const DatePickerResourceStringsEN = prefixResource(IGX_PREFIX, DatePickerResourceStringsEN$1);
|
|
7718
7639
|
|
|
7719
|
-
const
|
|
7720
|
-
igx_input_upload_button: 'Browse',
|
|
7721
|
-
igx_input_file_placeholder: 'No file chosen',
|
|
7722
|
-
};
|
|
7640
|
+
const DateRangePickerResourceStringsEN = prefixResource(IGX_PREFIX, DateRangePickerResourceStringsEN$1);
|
|
7723
7641
|
|
|
7724
|
-
const
|
|
7725
|
-
igx_list_no_items: 'There are no items in the list.',
|
|
7726
|
-
igx_list_loading: 'Loading data from the server...'
|
|
7727
|
-
};
|
|
7642
|
+
const GridResourceStringsEN = prefixResource(IGX_PREFIX, GridResourceStringsEN$1);
|
|
7728
7643
|
|
|
7729
|
-
|
|
7730
|
-
|
|
7731
|
-
|
|
7732
|
-
|
|
7733
|
-
igx_paginator_previous_page_button_text: 'Previous page',
|
|
7734
|
-
igx_paginator_last_page_button_text: 'Go to last page',
|
|
7735
|
-
igx_paginator_next_page_button_text: 'Next page',
|
|
7644
|
+
;
|
|
7645
|
+
const InputResourceStringsEN = {
|
|
7646
|
+
igx_input_upload_button: FileInputResourceStringsEN.file_input_upload_button,
|
|
7647
|
+
igx_input_file_placeholder: FileInputResourceStringsEN.file_input_placeholder
|
|
7736
7648
|
};
|
|
7737
7649
|
|
|
7738
|
-
const
|
|
7739
|
-
igx_query_builder_date_placeholder: 'Select date',
|
|
7740
|
-
igx_query_builder_time_placeholder: 'Select time',
|
|
7741
|
-
igx_query_builder_datetime_placeholder: 'Select date & time',
|
|
7742
|
-
igx_query_builder_filter_operator_and: 'And',
|
|
7743
|
-
igx_query_builder_filter_operator_or: 'Or',
|
|
7744
|
-
igx_query_builder_filter_contains: 'Contains',
|
|
7745
|
-
igx_query_builder_filter_doesNotContain: 'Does Not Contain',
|
|
7746
|
-
igx_query_builder_filter_startsWith: 'Starts With',
|
|
7747
|
-
igx_query_builder_filter_endsWith: 'Ends With',
|
|
7748
|
-
igx_query_builder_filter_equals: 'Equals',
|
|
7749
|
-
igx_query_builder_filter_doesNotEqual: 'Does Not Equal',
|
|
7750
|
-
igx_query_builder_filter_empty: 'Empty',
|
|
7751
|
-
igx_query_builder_filter_notEmpty: 'Not Empty',
|
|
7752
|
-
igx_query_builder_filter_null: 'Null',
|
|
7753
|
-
igx_query_builder_filter_notNull: 'Not Null',
|
|
7754
|
-
igx_query_builder_filter_in: 'In',
|
|
7755
|
-
igx_query_builder_filter_notIn: 'Not In',
|
|
7756
|
-
igx_query_builder_filter_before: 'Before',
|
|
7757
|
-
igx_query_builder_filter_after: 'After',
|
|
7758
|
-
igx_query_builder_filter_at: 'At',
|
|
7759
|
-
igx_query_builder_filter_not_at: 'Not At',
|
|
7760
|
-
igx_query_builder_filter_at_before: 'At or Before',
|
|
7761
|
-
igx_query_builder_filter_at_after: 'At or After',
|
|
7762
|
-
igx_query_builder_filter_today: 'Today',
|
|
7763
|
-
igx_query_builder_filter_yesterday: 'Yesterday',
|
|
7764
|
-
igx_query_builder_filter_thisMonth: 'This Month',
|
|
7765
|
-
igx_query_builder_filter_lastMonth: 'Last Month',
|
|
7766
|
-
igx_query_builder_filter_nextMonth: 'Next Month',
|
|
7767
|
-
igx_query_builder_filter_thisYear: 'This Year',
|
|
7768
|
-
igx_query_builder_filter_lastYear: 'Last Year',
|
|
7769
|
-
igx_query_builder_filter_nextYear: 'Next Year',
|
|
7770
|
-
igx_query_builder_filter_greaterThan: 'Greater Than',
|
|
7771
|
-
igx_query_builder_filter_lessThan: 'Less Than',
|
|
7772
|
-
igx_query_builder_filter_greaterThanOrEqualTo: 'Greater Than Or Equal To',
|
|
7773
|
-
igx_query_builder_filter_lessThanOrEqualTo: 'Less Than Or Equal To',
|
|
7774
|
-
igx_query_builder_filter_true: 'True',
|
|
7775
|
-
igx_query_builder_filter_false: 'False',
|
|
7776
|
-
igx_query_builder_filter_all: 'All',
|
|
7777
|
-
igx_query_builder_from_label: 'From',
|
|
7778
|
-
igx_query_builder_select_label: 'Select',
|
|
7779
|
-
igx_query_builder_where_label: 'Where',
|
|
7780
|
-
igx_query_builder_and_group: '"And" Group',
|
|
7781
|
-
igx_query_builder_or_group: '"Or" Group',
|
|
7782
|
-
igx_query_builder_end_group: 'End Group',
|
|
7783
|
-
igx_query_builder_and_label: 'and',
|
|
7784
|
-
igx_query_builder_or_label: 'or',
|
|
7785
|
-
igx_query_builder_switch_group: 'Switch to {0}',
|
|
7786
|
-
igx_query_builder_add_condition: 'Add condition',
|
|
7787
|
-
igx_query_builder_add_group: 'Add group',
|
|
7788
|
-
igx_query_builder_add_condition_root: 'Condition',
|
|
7789
|
-
igx_query_builder_add_group_root: 'Group',
|
|
7790
|
-
igx_query_builder_ungroup: 'Ungroup',
|
|
7791
|
-
igx_query_builder_delete: 'Delete',
|
|
7792
|
-
igx_query_builder_delete_filters: 'Delete filters',
|
|
7793
|
-
igx_query_builder_initial_text: 'Start with creating a group of conditions linked with "And" or "Or"',
|
|
7794
|
-
igx_query_builder_column_placeholder: 'Select column',
|
|
7795
|
-
igx_query_builder_condition_placeholder: 'Select filter',
|
|
7796
|
-
igx_query_builder_value_placeholder: 'Value',
|
|
7797
|
-
igx_query_builder_query_value_placeholder: 'Sub-query results',
|
|
7798
|
-
igx_query_builder_all_fields: 'All fields',
|
|
7799
|
-
igx_query_builder_details: 'Details',
|
|
7800
|
-
igx_query_builder_search: 'Search',
|
|
7801
|
-
igx_query_builder_select_all: 'Select All',
|
|
7802
|
-
igx_query_builder_select_entity: 'Select entity',
|
|
7803
|
-
igx_query_builder_select_return_field_single: 'Select return field',
|
|
7804
|
-
igx_query_builder_select_return_fields: 'Select return fields',
|
|
7805
|
-
igx_query_builder_dialog_title: 'Confirmation',
|
|
7806
|
-
igx_query_builder_dialog_message: 'By changing the entity, you will lose your current settings. Are you sure you want to do that?',
|
|
7807
|
-
igx_query_builder_dialog_checkbox_text: 'Do not show this dialog again',
|
|
7808
|
-
igx_query_builder_dialog_cancel: 'Cancel',
|
|
7809
|
-
igx_query_builder_dialog_confirm: 'Confirm',
|
|
7810
|
-
igx_query_builder_drop_ghost_text: 'Drop here to insert'
|
|
7811
|
-
};
|
|
7650
|
+
const ListResourceStringsEN = prefixResource(IGX_PREFIX, ListResourceStringsEN$1);
|
|
7812
7651
|
|
|
7813
|
-
|
|
7814
|
-
constructor() {
|
|
7815
|
-
this._currentResourceStrings = {};
|
|
7816
|
-
}
|
|
7817
|
-
static instance() {
|
|
7818
|
-
return this._instance || (this._instance = new this());
|
|
7819
|
-
}
|
|
7820
|
-
/**
|
|
7821
|
-
* Changes the resource strings for all components in the application
|
|
7822
|
-
* ```
|
|
7823
|
-
* @param resourceStrings to be applied
|
|
7824
|
-
*/
|
|
7825
|
-
changei18n(resourceStrings) {
|
|
7826
|
-
for (const key of Object.keys(resourceStrings)) {
|
|
7827
|
-
this._currentResourceStrings[key] = resourceStrings[key];
|
|
7828
|
-
}
|
|
7829
|
-
}
|
|
7830
|
-
getCurrentResourceStrings(en) {
|
|
7831
|
-
for (const key of Object.keys(en)) {
|
|
7832
|
-
if (!this._currentResourceStrings[key]) {
|
|
7833
|
-
this._currentResourceStrings[key] = en[key];
|
|
7834
|
-
}
|
|
7835
|
-
}
|
|
7836
|
-
return this._currentResourceStrings;
|
|
7837
|
-
}
|
|
7838
|
-
}
|
|
7839
|
-
function getCurrentResourceStrings(en) {
|
|
7840
|
-
return igxI18N.instance().getCurrentResourceStrings(en);
|
|
7841
|
-
}
|
|
7842
|
-
function changei18n(resourceStrings) {
|
|
7843
|
-
igxI18N.instance().changei18n(resourceStrings);
|
|
7844
|
-
}
|
|
7652
|
+
const PaginatorResourceStringsEN = prefixResource(IGX_PREFIX, PaginatorResourceStringsEN$1);
|
|
7845
7653
|
|
|
7846
|
-
const
|
|
7847
|
-
igx_time_picker_ok: 'OK',
|
|
7848
|
-
igx_time_picker_cancel: 'Cancel',
|
|
7849
|
-
igx_time_picker_change_time: 'Change Time',
|
|
7850
|
-
igx_time_picker_choose_time: 'Choose Time'
|
|
7851
|
-
};
|
|
7654
|
+
const QueryBuilderResourceStringsEN = prefixResource(IGX_PREFIX, QueryBuilderResourceStringsEN$1);
|
|
7852
7655
|
|
|
7853
|
-
const
|
|
7854
|
-
|
|
7855
|
-
|
|
7856
|
-
};
|
|
7656
|
+
const TimePickerResourceStringsEN = prefixResource(IGX_PREFIX, TimePickerResourceStringsEN$1);
|
|
7657
|
+
|
|
7658
|
+
const TreeResourceStringsEN = prefixResource(IGX_PREFIX, TreeResourceStringsEN$1);
|
|
7857
7659
|
|
|
7858
7660
|
/**
|
|
7859
7661
|
* Global type augmentations for IgniteUI Angular
|
|
@@ -7865,5 +7667,5 @@ const TreeResourceStringsEN = {
|
|
|
7865
7667
|
* Generated bundle index. Do not edit.
|
|
7866
7668
|
*/
|
|
7867
7669
|
|
|
7868
|
-
export { ACCORDION_NAVIGATION_KEYS, AbsolutePosition, AbsoluteScrollStrategy, ActionStripResourceStringsEN, AutoPositionStrategy, BannerResourceStringsEN, BaseFilteringStrategy, BaseFitPositionStrategy, BlockScrollStrategy, ByLevelTreeGridMergeStrategy, CachedDataCloneStrategy, CalendarDay, CalendarResourceStringsEN, CarouselResourceStringsEN, ChipResourceStringsEN, CloseScrollStrategy, ColumnPinningPosition, ComboResourceStringsEN, ConnectedPositioningStrategy, ContainerPositionStrategy, DataUtil, DatePart, DatePickerResourceStringsEN, DateRangePickerResourceStringsEN, DateRangeType, DateTimeUtil, DefaultDataCloneStrategy, DefaultMergeStrategy, DefaultSortingStrategy, DefaultTreeGridMergeStrategy, EDITOR_PROVIDER, ELEMENTS_TOKEN, ElasticPositionStrategy, ExpressionsTreeUtil, FilterUtil, FilteringExpressionsTree, FilteringExpressionsTreeType, FilteringLogic, FilteringStrategy, FormattedValuesFilteringStrategy, FormattedValuesSortingStrategy, GlobalPositionStrategy, GridColumnDataType, GridResourceStringsEN, GridSummaryCalculationMode, GroupMemberCountSortingStrategy, GroupedRecords, HEADER_KEYS, HORIZONTAL_NAV_KEYS, HammerGesturesManager, HorizontalAlignment, IgxActionStripActionsToken, IgxActionStripToken, IgxAngularAnimationPlayer, IgxAngularAnimationService, IgxBaseTransactionService, IgxBooleanFilteringOperand, IgxDataRecordSorting, IgxDateFilteringOperand, IgxDateTimeFilteringOperand, IgxFilteringOperand, IgxFlatTransactionFactory, IgxGrouping, IgxHierarchicalTransactionFactory, IgxHierarchicalTransactionService, IgxNavigationCloseDirective, IgxNavigationService, IgxNavigationToggleDirective, IgxNumberFilteringOperand, IgxOverlayOutletDirective, IgxOverlayService, IgxPickerActionsDirective, IgxPickerClearComponent, IgxPickerToggleComponent, IgxSelectionAPIService, IgxSorting, IgxStringFilteringOperand, IgxTimeFilteringOperand, IgxTransactionService, InputResourceStringsEN, ListResourceStringsEN, NAVIGATION_KEYS, NoOpScrollStrategy, NoopFilteringStrategy, NoopSortingStrategy, OffsetMode, PaginatorResourceStringsEN, PagingError, PerformanceService, PickerCalendarOrientation, PickerHeaderOrientation, PickerInteractionMode, PlatformUtil, Point, QueryBuilderResourceStringsEN, ROW_ADD_KEYS, ROW_COLLAPSE_KEYS, ROW_EXPAND_KEYS, RelativePosition, RelativePositionStrategy, SUPPORTED_KEYS, ScrollStrategy, SortingDirection, THEME_TOKEN, ThemeToken, TimePickerResourceStringsEN, TransactionEventOrigin, TransactionType, TreeGridFilteringStrategy, TreeGridFormattedValuesFilteringStrategy, TreeGridMatchingRecordsOnlyFilteringStrategy, TreeResourceStringsEN, Util, VerticalAlignment, WEEKDAYS, areEqualArrays, areSameMonth, calendarRange, changei18n, clamp, clearAll, clearMeasures, cloneArray, cloneHierarchicalArray, cloneValue, cloneValueCached, columnFieldPath, compareMaps, copyDescriptors, daysInWeek, first, flatten,
|
|
7670
|
+
export { ACCORDION_NAVIGATION_KEYS, AbsolutePosition, AbsoluteScrollStrategy, ActionStripResourceStringsEN, AutoPositionStrategy, BannerResourceStringsEN, BaseFilteringStrategy, BaseFitPositionStrategy, BaseFormatter, BlockScrollStrategy, ByLevelTreeGridMergeStrategy, CachedDataCloneStrategy, CalendarDay, CalendarResourceStringsEN, CarouselResourceStringsEN, ChipResourceStringsEN, CloseScrollStrategy, ColumnPinningPosition, ComboResourceStringsEN, ConnectedPositioningStrategy, ContainerPositionStrategy, DEFAULT_LOCALE, DataUtil, DatePart, DatePickerResourceStringsEN, DateRangePickerResourceStringsEN, DateRangeType, DateTimeUtil, DefaultDataCloneStrategy, DefaultMergeStrategy, DefaultSortingStrategy, DefaultTreeGridMergeStrategy, EDITOR_PROVIDER, ELEMENTS_TOKEN, ElasticPositionStrategy, ExpressionsTreeUtil, FilterUtil, FilteringExpressionsTree, FilteringExpressionsTreeType, FilteringLogic, FilteringStrategy, FormattedValuesFilteringStrategy, FormattedValuesSortingStrategy, GlobalPositionStrategy, GridColumnDataType, GridResourceStringsEN, GridSummaryCalculationMode, GroupMemberCountSortingStrategy, GroupedRecords, HEADER_KEYS, HORIZONTAL_NAV_KEYS, HammerGesturesManager, HorizontalAlignment, I18N_FORMATTER, IgxActionStripActionsToken, IgxActionStripToken, IgxAngularAnimationPlayer, IgxAngularAnimationService, IgxBaseTransactionService, IgxBooleanFilteringOperand, IgxCurrencyFormatterPipe, IgxDataRecordSorting, IgxDateFilteringOperand, IgxDateFormatterPipe, IgxDateTimeFilteringOperand, IgxFilteringOperand, IgxFlatTransactionFactory, IgxGrouping, IgxHierarchicalTransactionFactory, IgxHierarchicalTransactionService, IgxNavigationCloseDirective, IgxNavigationService, IgxNavigationToggleDirective, IgxNumberFilteringOperand, IgxNumberFormatterPipe, IgxOverlayOutletDirective, IgxOverlayService, IgxPercentFormatterPipe, IgxPickerActionsDirective, IgxPickerClearComponent, IgxPickerToggleComponent, IgxSelectionAPIService, IgxSorting, IgxStringFilteringOperand, IgxTimeFilteringOperand, IgxTransactionService, InputResourceStringsEN, IntlFormatter, ListResourceStringsEN, NAVIGATION_KEYS, NoOpScrollStrategy, NoopFilteringStrategy, NoopSortingStrategy, OffsetMode, PaginatorResourceStringsEN, PagingError, PerformanceService, PickerCalendarOrientation, PickerHeaderOrientation, PickerInteractionMode, PlatformUtil, Point, QueryBuilderResourceStringsEN, ROW_ADD_KEYS, ROW_COLLAPSE_KEYS, ROW_EXPAND_KEYS, RelativePosition, RelativePositionStrategy, SUPPORTED_KEYS, ScrollStrategy, SortingDirection, THEME_TOKEN, ThemeToken, TimePickerResourceStringsEN, TransactionEventOrigin, TransactionType, TreeGridFilteringStrategy, TreeGridFormattedValuesFilteringStrategy, TreeGridMatchingRecordsOnlyFilteringStrategy, TreeResourceStringsEN, Util, VerticalAlignment, WEEKDAYS, areEqualArrays, areSameMonth, calendarRange, changei18n, clamp, clearAll, clearMeasures, cloneArray, cloneHierarchicalArray, cloneValue, cloneValueCached, columnFieldPath, compareMaps, copyDescriptors, daysInWeek, first, flatten, formatToParts, generateMonth, getClosestActiveDate, getComponentCssSizeVar, getComponentSize, getComponentTheme, getCurrentResourceStrings, getHierarchy, getMeasures, getNextActiveDate, getPreviousActiveDate, getResizeObserver, getYearRange, intoChunks, isConstructor, isDate, isDateInRanges, isEqual, isHierarchyMatch, isNextMonth, isObject, isPreviousMonth, isTree, last, mergeObjects, modulo, normalizeURI, onResourceChangeHandle, parseDate, provideIgniteIntl, recreateTree, recreateTreeFromFields, registerI18n, rem, resizeObservable, resolveNestedPath, reverseMapper, showMessage, startMeasure, toCalendarDay, trackByIdentity, uniqueDates, yieldingLoop, DIR_DOCUMENT as ɵDIR_DOCUMENT, IgxDirectionality as ɵIgxDirectionality, Size as ɵSize };
|
|
7869
7671
|
//# sourceMappingURL=igniteui-angular-core.mjs.map
|