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.
Files changed (93) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +5 -6
  3. package/fesm2022/igniteui-angular-action-strip.mjs +39 -34
  4. package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
  5. package/fesm2022/igniteui-angular-banner.mjs +64 -59
  6. package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
  7. package/fesm2022/igniteui-angular-calendar.mjs +182 -161
  8. package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
  9. package/fesm2022/igniteui-angular-carousel.mjs +7 -3
  10. package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
  11. package/fesm2022/igniteui-angular-chips.mjs +140 -136
  12. package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
  13. package/fesm2022/igniteui-angular-combo.mjs +360 -356
  14. package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
  15. package/fesm2022/igniteui-angular-core.mjs +420 -618
  16. package/fesm2022/igniteui-angular-core.mjs.map +1 -1
  17. package/fesm2022/igniteui-angular-date-picker.mjs +124 -32
  18. package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
  19. package/fesm2022/igniteui-angular-directives.mjs +15 -10
  20. package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
  21. package/fesm2022/igniteui-angular-grids-core.mjs +75 -57
  22. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  23. package/fesm2022/igniteui-angular-grids-grid.mjs +71 -62
  24. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  25. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +51 -6
  26. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
  27. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +6 -1
  28. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
  29. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +8 -8
  30. package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
  31. package/fesm2022/igniteui-angular-input-group.mjs +8 -4
  32. package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
  33. package/fesm2022/igniteui-angular-list.mjs +24 -19
  34. package/fesm2022/igniteui-angular-list.mjs.map +1 -1
  35. package/fesm2022/igniteui-angular-paginator.mjs +71 -66
  36. package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
  37. package/fesm2022/igniteui-angular-query-builder.mjs +51 -36
  38. package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
  39. package/fesm2022/igniteui-angular-time-picker.mjs +50 -8
  40. package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
  41. package/fesm2022/igniteui-angular-tree.mjs +64 -61
  42. package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
  43. package/lib/core/styles/components/calendar/_calendar-theme.scss +2 -0
  44. package/lib/core/styles/components/grid/_grid-theme.scss +2 -1
  45. package/lib/core/styles/components/slider/_slider-theme.scss +0 -1
  46. package/lib/core/styles/components/tabs/_tabs-theme.scss +2 -1
  47. package/package.json +3 -2
  48. package/schematics/tsconfig.tsbuildinfo +1 -1
  49. package/schematics/utils/dependency-handler.js +1 -0
  50. package/styles/igniteui-angular-dark.css +1 -1
  51. package/styles/igniteui-angular.css +1 -1
  52. package/styles/igniteui-bootstrap-dark.css +1 -1
  53. package/styles/igniteui-bootstrap-light.css +1 -1
  54. package/styles/igniteui-dark-green.css +1 -1
  55. package/styles/igniteui-fluent-dark-excel.css +1 -1
  56. package/styles/igniteui-fluent-dark-word.css +1 -1
  57. package/styles/igniteui-fluent-dark.css +1 -1
  58. package/styles/igniteui-fluent-light-excel.css +1 -1
  59. package/styles/igniteui-fluent-light-word.css +1 -1
  60. package/styles/igniteui-fluent-light.css +1 -1
  61. package/styles/igniteui-indigo-dark.css +1 -1
  62. package/styles/igniteui-indigo-light.css +1 -1
  63. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  64. package/styles/maps/igniteui-angular.css.map +1 -1
  65. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  66. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  67. package/styles/maps/igniteui-dark-green.css.map +1 -1
  68. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  69. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  70. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  71. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  72. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  73. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  74. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  75. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  76. package/types/igniteui-angular-action-strip.d.ts +3 -0
  77. package/types/igniteui-angular-banner.d.ts +3 -0
  78. package/types/igniteui-angular-calendar.d.ts +37 -47
  79. package/types/igniteui-angular-carousel.d.ts +1 -0
  80. package/types/igniteui-angular-chips.d.ts +2 -0
  81. package/types/igniteui-angular-combo.d.ts +4 -2
  82. package/types/igniteui-angular-core.d.ts +152 -397
  83. package/types/igniteui-angular-date-picker.d.ts +22 -4
  84. package/types/igniteui-angular-directives.d.ts +8 -4
  85. package/types/igniteui-angular-grids-core.d.ts +18 -8
  86. package/types/igniteui-angular-grids-grid.d.ts +9 -7
  87. package/types/igniteui-angular-grids-hierarchical-grid.d.ts +20 -3
  88. package/types/igniteui-angular-input-group.d.ts +1 -0
  89. package/types/igniteui-angular-list.d.ts +3 -0
  90. package/types/igniteui-angular-paginator.d.ts +3 -0
  91. package/types/igniteui-angular-query-builder.d.ts +8 -0
  92. package/types/igniteui-angular-time-picker.d.ts +7 -2
  93. 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, formatDate as formatDate$1, CurrencyPipe, FormatWidth, getLocaleDateFormat, formatPercent, formatNumber, getLocaleCurrencyCode } from '@angular/common';
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
- if (!Intl || !Intl.DateTimeFormat || !Intl.DateTimeFormat.prototype.formatToParts) {
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
- * Returns the date format based on a provided locale.
1632
- * Supports Angular's DatePipe format options such as `shortDate`, `longDate`.
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$1(new Date(), dateParts[i].format, locale);
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
- const formatter = new Intl.DateTimeFormat(locale, options);
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: "2-digit" /* FormatDesc.TwoDigits */,
2042
- month: "2-digit" /* FormatDesc.TwoDigits */,
1927
+ day: resolvedFormat,
1928
+ month: resolvedFormat,
2043
1929
  year: "numeric" /* FormatDesc.Numeric */
2044
1930
  };
2045
1931
  const timeOptions = {
2046
- hour: "2-digit" /* FormatDesc.TwoDigits */,
2047
- minute: "2-digit" /* FormatDesc.TwoDigits */
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: "2-digit" /* FormatDesc.TwoDigits */
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 = new Intl.DateTimeFormat(locale, options);
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
- return formatCurrency(value, currencyCode || getLocaleCurrencyCode(locale), display, digitsInfo, locale);
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 ActionStripResourceStringsEN = {
7468
- igx_action_strip_button_more_title: 'More'
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
- const BannerResourceStringsEN = {
7472
- igx_banner_button_dismiss: 'Dismiss'
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 CalendarResourceStringsEN = {
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 CarouselResourceStringsEN = {
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 ChipResourceStringsEN = {
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 ComboResourceStringsEN = {
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 DatePickerResourceStringsEN = {
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 DateRangePickerResourceStringsEN = {
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 GridResourceStringsEN = {
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 InputResourceStringsEN = {
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 ListResourceStringsEN = {
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
- const PaginatorResourceStringsEN = {
7730
- igx_paginator_label: 'Items per page',
7731
- igx_paginator_pager_text: 'of',
7732
- igx_paginator_first_page_button_text: 'Go to first page',
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 QueryBuilderResourceStringsEN = {
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
- class igxI18N {
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 TimePickerResourceStringsEN = {
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 TreeResourceStringsEN = {
7854
- igx_expand: 'Expand',
7855
- igx_collapse: 'Collapse',
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, formatCurrency, formatDate, formatToParts, generateMonth, getClosestActiveDate, getComponentCssSizeVar, getComponentSize, getComponentTheme, getCurrentResourceStrings, getHierarchy, getMeasures, getNextActiveDate, getPreviousActiveDate, getResizeObserver, getYearRange, igxI18N, intoChunks, isConstructor, isDate, isDateInRanges, isEqual, isHierarchyMatch, isNextMonth, isObject, isPreviousMonth, isTree, last, mergeObjects, modulo, normalizeURI, parseDate, recreateTree, recreateTreeFromFields, rem, resizeObservable, resolveNestedPath, reverseMapper, showMessage, startMeasure, toCalendarDay, trackByIdentity, uniqueDates, yieldingLoop, DIR_DOCUMENT as ɵDIR_DOCUMENT, IgxDirectionality as ɵIgxDirectionality, Size as ɵSize };
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