diff --git a/projects/angular-intl-demo/src/app/app.config.ts b/projects/angular-intl-demo/src/app/app.config.ts
index fe83d83b..0c049e3f 100644
--- a/projects/angular-intl-demo/src/app/app.config.ts
+++ b/projects/angular-intl-demo/src/app/app.config.ts
@@ -1,6 +1,9 @@
import { provideHttpClient } from '@angular/common/http';
import { ApplicationConfig } from '@angular/core';
-import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
+import {
+ MAT_FORM_FIELD_DEFAULT_OPTIONS,
+ MatFormFieldDefaultOptions,
+} from '@angular/material/form-field';
import { provideAnimations } from '@angular/platform-browser/animations';
import { provideRouter, withHashLocation } from '@angular/router';
import { provideMarkdown } from 'ngx-markdown';
@@ -13,7 +16,7 @@ export const appConfig: ApplicationConfig = {
provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,
useValue: {
subscriptSizing: 'dynamic',
- },
+ } satisfies MatFormFieldDefaultOptions,
},
provideAnimations(),
provideHttpClient(),
diff --git a/projects/angular-intl-demo/src/app/getting-started/getting-started.component.ts b/projects/angular-intl-demo/src/app/getting-started/getting-started.component.ts
index 0894ee01..37eb0941 100644
--- a/projects/angular-intl-demo/src/app/getting-started/getting-started.component.ts
+++ b/projects/angular-intl-demo/src/app/getting-started/getting-started.component.ts
@@ -1,10 +1,10 @@
import { Component } from '@angular/core';
-import { MarkdownModule } from 'ngx-markdown';
+import { MarkdownComponent } from 'ngx-markdown';
@Component({
selector: 'app-getting-started',
templateUrl: './getting-started.component.html',
styleUrls: ['./getting-started.component.scss'],
- imports: [MarkdownModule],
+ imports: [MarkdownComponent],
})
export class GettingStartedComponent {}
diff --git a/projects/angular-intl-demo/src/app/pipes/country/country.component.html b/projects/angular-intl-demo/src/app/pipes/country/country.component.html
index 3dc01732..955a1e36 100644
--- a/projects/angular-intl-demo/src/app/pipes/country/country.component.html
+++ b/projects/angular-intl-demo/src/app/pipes/country/country.component.html
@@ -2,7 +2,7 @@
{{ selectedCountry | intlCountry: { locale } }}
+{{ selectedCountry() | intlCountry: options() }}
diff --git a/projects/angular-intl-demo/src/app/pipes/country/country.component.ts b/projects/angular-intl-demo/src/app/pipes/country/country.component.ts index 6da96724..a9baf40a 100644 --- a/projects/angular-intl-demo/src/app/pipes/country/country.component.ts +++ b/projects/angular-intl-demo/src/app/pipes/country/country.component.ts @@ -1,9 +1,12 @@ -import { Component } from '@angular/core'; +import { Component, computed, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { MatOptionModule } from '@angular/material/core'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatSelectModule } from '@angular/material/select'; -import { IntlCountryPipe } from '../../../../../angular-ecmascript-intl/src/lib/country/intl-country.pipe'; +import { + IntlCountryPipe, + IntlCountryPipeOptions, +} from 'angular-ecmascript-intl'; import { languages } from '../../languages'; import { countries } from './countries'; @@ -22,6 +25,7 @@ import { countries } from './countries'; export class CountryComponent { languages = languages; countries = countries; - selectedCountry = 'DE'; - locale?: string; + selectedCountry = signal('DE'); + locale = signal- {{ - enteredNumber - | intlCurrency - : currency - : { - locale, - currencyDisplay, - currencySign, - notation, - signDisplay, - minimumIntegerDigits: minimumIntegerDigits ?? undefined, - minimumFractionDigits: minimumFractionDigits ?? undefined, - maximumFractionDigits: maximumFractionDigits ?? undefined, - minimumSignificantDigits: minimumSignificantDigits ?? undefined, - maximumSignificantDigits: maximumSignificantDigits ?? undefined, - } - }} + {{ enteredNumber() | intlCurrency: currency() : options() }}
diff --git a/projects/angular-intl-demo/src/app/pipes/currency/currency.component.ts b/projects/angular-intl-demo/src/app/pipes/currency/currency.component.ts index d44234fb..623c0c60 100644 --- a/projects/angular-intl-demo/src/app/pipes/currency/currency.component.ts +++ b/projects/angular-intl-demo/src/app/pipes/currency/currency.component.ts @@ -1,10 +1,13 @@ -import { Component } from '@angular/core'; +import { Component, computed, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { MatOptionModule } from '@angular/material/core'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; -import { IntlCurrencyPipe } from '../../../../../angular-ecmascript-intl/src/lib/currency/intl-currency.pipe'; +import { + IntlCurrencyPipe, + IntlCurrencyPipeOptions, +} from 'angular-ecmascript-intl'; import { languages } from '../../languages'; import { currencies } from './currencies'; @@ -22,28 +25,41 @@ import { currencies } from './currencies'; ], }) export class CurrencyComponent { - enteredNumber = '0.24'; - currency = 'USD'; + enteredNumber = signal('0.24'); + currency = signal('USD'); languages = languages; currencies = currencies; - locale?: string; - notation?: Intl.NumberFormatOptions['notation']; - signDisplay?: Intl.NumberFormatOptions['signDisplay']; - currencyDisplay?: Intl.NumberFormatOptions['currencyDisplay']; - currencySign?: Intl.NumberFormatOptions['currencySign']; - minimumIntegerDigits?: - | Intl.NumberFormatOptions['minimumIntegerDigits'] - | null; - minimumFractionDigits?: - | Intl.NumberFormatOptions['minimumFractionDigits'] - | null; - maximumFractionDigits?: - | Intl.NumberFormatOptions['maximumFractionDigits'] - | null; - minimumSignificantDigits?: - | Intl.NumberFormatOptions['minimumSignificantDigits'] - | null; - maximumSignificantDigits?: - | Intl.NumberFormatOptions['maximumSignificantDigits'] - | null; + locale = signal{{ selectedDate | intlDate: { dateStyle, timeStyle, hour12, locale } }}
+{{ selectedDate() | intlDate: options() }}
diff --git a/projects/angular-intl-demo/src/app/pipes/date/date.component.ts b/projects/angular-intl-demo/src/app/pipes/date/date.component.ts index 120a5d0d..77a74677 100644 --- a/projects/angular-intl-demo/src/app/pipes/date/date.component.ts +++ b/projects/angular-intl-demo/src/app/pipes/date/date.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { Component, computed, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatOptionModule } from '@angular/material/core'; @@ -6,7 +6,7 @@ import { MatFormFieldModule } from '@angular/material/form-field'; import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; -import { IntlDatePipe } from '../../../../../angular-ecmascript-intl/src/lib/date/intl-date.pipe'; +import { IntlDatePipe, IntlDatePipeOptions } from 'angular-ecmascript-intl'; import { languages } from '../../languages'; import { getDateString } from '../date-utils'; @@ -27,10 +27,15 @@ import { getDateString } from '../date-utils'; }) export class DateComponent { languages = languages; - selectedDate = getDateString(); - dateStyle: Intl.DateTimeFormatOptions['dateStyle']; - timeStyle: Intl.DateTimeFormatOptions['timeStyle']; - hour12: Intl.DateTimeFormatOptions['hour12']; - dayPeriod: Intl.DateTimeFormatOptions['dayPeriod']; - locale?: string; + selectedDate = signal(getDateString()); + dateStyle = signal- {{ - enteredNumber - | intlDecimal - : { - locale, - notation, - signDisplay, - minimumIntegerDigits: minimumIntegerDigits ?? undefined, - minimumFractionDigits: minimumFractionDigits ?? undefined, - maximumFractionDigits: maximumFractionDigits ?? undefined, - minimumSignificantDigits: minimumSignificantDigits ?? undefined, - maximumSignificantDigits: maximumSignificantDigits ?? undefined, - } - }} + {{ enteredNumber() | intlDecimal: options() }}
diff --git a/projects/angular-intl-demo/src/app/pipes/decimal/decimal.component.ts b/projects/angular-intl-demo/src/app/pipes/decimal/decimal.component.ts index 18fe191f..77b0c437 100644 --- a/projects/angular-intl-demo/src/app/pipes/decimal/decimal.component.ts +++ b/projects/angular-intl-demo/src/app/pipes/decimal/decimal.component.ts @@ -1,10 +1,13 @@ -import { Component } from '@angular/core'; +import { Component, computed, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { MatOptionModule } from '@angular/material/core'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; -import { IntlDecimalPipe } from '../../../../../angular-ecmascript-intl/src/lib/decimal/intl-decimal.pipe'; +import { + IntlDecimalPipe, + IntlDecimalPipeOptions, +} from 'angular-ecmascript-intl'; import { languages } from '../../languages'; @Component({ @@ -21,24 +24,34 @@ import { languages } from '../../languages'; ], }) export class DecimalComponent { - enteredNumber = '1024.4539'; + enteredNumber = signal('1024.4539'); languages = languages; - locale?: string; - notation?: Intl.NumberFormatOptions['notation']; - signDisplay?: Intl.NumberFormatOptions['signDisplay']; - minimumIntegerDigits?: - | Intl.NumberFormatOptions['minimumIntegerDigits'] - | null; - minimumFractionDigits?: - | Intl.NumberFormatOptions['minimumFractionDigits'] - | null; - maximumFractionDigits?: - | Intl.NumberFormatOptions['maximumFractionDigits'] - | null; - minimumSignificantDigits?: - | Intl.NumberFormatOptions['minimumSignificantDigits'] - | null; - maximumSignificantDigits?: - | Intl.NumberFormatOptions['maximumSignificantDigits'] - | null; + locale = signal{{ selectedLanguage | intlLanguage: { languageDisplay, locale } }}
+{{ selectedLanguage() | intlLanguage: options() }}
diff --git a/projects/angular-intl-demo/src/app/pipes/language/language.component.ts b/projects/angular-intl-demo/src/app/pipes/language/language.component.ts index b1e3159c..bfa6b548 100644 --- a/projects/angular-intl-demo/src/app/pipes/language/language.component.ts +++ b/projects/angular-intl-demo/src/app/pipes/language/language.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { Component, computed, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { MatOptionModule } from '@angular/material/core'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -6,7 +6,7 @@ import { MatSelectModule } from '@angular/material/select'; import { IntlLanguagePipe, IntlLanguagePipeOptions, -} from '../../../../../angular-ecmascript-intl/src/lib/language/intl-language.pipe'; +} from 'angular-ecmascript-intl'; import { languages } from '../../languages'; @Component({ @@ -23,7 +23,12 @@ import { languages } from '../../languages'; }) export class LanguageComponent { languages = languages; - selectedLanguage = 'de-DE'; - languageDisplay?: IntlLanguagePipeOptions['languageDisplay']; - locale?: string; + selectedLanguage = signal('de-DE'); + languageDisplay = + signal{{ selectedItems | intlList: { locale, type, style } }}
+{{ selectedItems() | intlList: options() }}
diff --git a/projects/angular-intl-demo/src/app/pipes/list/list.component.ts b/projects/angular-intl-demo/src/app/pipes/list/list.component.ts index 27611648..07e54832 100644 --- a/projects/angular-intl-demo/src/app/pipes/list/list.component.ts +++ b/projects/angular-intl-demo/src/app/pipes/list/list.component.ts @@ -1,10 +1,9 @@ -import { Component } from '@angular/core'; +import { Component, computed, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { MatOptionModule } from '@angular/material/core'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatSelectModule } from '@angular/material/select'; -import { IntlListPipeOptions } from 'projects/angular-ecmascript-intl/src/lib/list/intl-list.pipe'; -import { IntlListPipe } from '../../../../../angular-ecmascript-intl/src/lib/list/intl-list.pipe'; +import { IntlListPipe, IntlListPipeOptions } from 'angular-ecmascript-intl'; import { languages } from '../../languages'; import { list } from './list'; @@ -23,8 +22,13 @@ import { list } from './list'; export class ListComponent { languages = languages; list = list; - selectedItems: string[] = [list[0], list[2], list[3]]; - locale?: string; - type?: IntlListPipeOptions['type']; - style?: IntlListPipeOptions['style']; + selectedItems = signal([list[0], list[2], list[3]]); + locale = signal- {{ - enteredNumber - | intlPercent - : { - locale, - notation, - signDisplay, - minimumIntegerDigits: minimumIntegerDigits ?? undefined, - minimumFractionDigits: minimumFractionDigits ?? undefined, - maximumFractionDigits: maximumFractionDigits ?? undefined, - minimumSignificantDigits: minimumSignificantDigits ?? undefined, - maximumSignificantDigits: maximumSignificantDigits ?? undefined, - } - }} + {{ enteredNumber() | intlPercent: options() }}
diff --git a/projects/angular-intl-demo/src/app/pipes/percent/percent.component.ts b/projects/angular-intl-demo/src/app/pipes/percent/percent.component.ts index 82d75e08..e6b9c201 100644 --- a/projects/angular-intl-demo/src/app/pipes/percent/percent.component.ts +++ b/projects/angular-intl-demo/src/app/pipes/percent/percent.component.ts @@ -1,10 +1,13 @@ -import { Component } from '@angular/core'; +import { Component, computed, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { MatOptionModule } from '@angular/material/core'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; -import { IntlPercentPipe } from '../../../../../angular-ecmascript-intl/src/lib/percent/intl-percent.pipe'; +import { + IntlPercentPipe, + IntlPercentPipeOptions, +} from 'angular-ecmascript-intl'; import { languages } from '../../languages'; @Component({ @@ -21,24 +24,34 @@ import { languages } from '../../languages'; ], }) export class PercentComponent { - enteredNumber = '0.24'; + enteredNumber = signal('0.24'); languages = languages; - locale?: string; - notation?: Intl.NumberFormatOptions['notation']; - signDisplay?: Intl.NumberFormatOptions['signDisplay']; - minimumIntegerDigits?: - | Intl.NumberFormatOptions['minimumIntegerDigits'] - | null; - minimumFractionDigits?: - | Intl.NumberFormatOptions['minimumFractionDigits'] - | null; - maximumFractionDigits?: - | Intl.NumberFormatOptions['maximumFractionDigits'] - | null; - minimumSignificantDigits?: - | Intl.NumberFormatOptions['minimumSignificantDigits'] - | null; - maximumSignificantDigits?: - | Intl.NumberFormatOptions['maximumSignificantDigits'] - | null; + locale = signal{{ selectedDate | intlRelativeTime: { locale, numeric, style } }}
+{{ selectedDate() | intlRelativeTime: options() }}
diff --git a/projects/angular-intl-demo/src/app/pipes/relative-time/relative-time.component.ts b/projects/angular-intl-demo/src/app/pipes/relative-time/relative-time.component.ts index 03800d6d..e4a3d394 100644 --- a/projects/angular-intl-demo/src/app/pipes/relative-time/relative-time.component.ts +++ b/projects/angular-intl-demo/src/app/pipes/relative-time/relative-time.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { Component, computed, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatOptionModule } from '@angular/material/core'; @@ -6,8 +6,10 @@ import { MatFormFieldModule } from '@angular/material/form-field'; import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; -import { IntlRelativeTimePipeOptions } from 'projects/angular-ecmascript-intl/src/lib/relative-time/relative-time.pipe'; -import { IntlRelativeTimePipe } from '../../../../../angular-ecmascript-intl/src/lib/relative-time/relative-time.pipe'; +import { + IntlRelativeTimePipe, + IntlRelativeTimePipeOptions, +} from 'angular-ecmascript-intl'; import { languages } from '../../languages'; import { getDateString } from '../date-utils'; @@ -27,9 +29,14 @@ import { getDateString } from '../date-utils'; ], }) export class RelativeTimeComponent { - selectedDate = getDateString(new Date(new Date().getTime() - 60000)); + selectedDate = signal(getDateString(new Date(new Date().getTime() - 60000))); languages = languages; - numeric?: IntlRelativeTimePipeOptions['numeric']; - style?: IntlRelativeTimePipeOptions['style']; - locale?: IntlRelativeTimePipeOptions['locale']; + numeric = signal- {{ - enteredNumber - | intlUnit - : selectedUnit - : { - locale, - unitDisplay: unitDisplay, - notation, - signDisplay, - minimumIntegerDigits: minimumIntegerDigits ?? undefined, - minimumFractionDigits: minimumFractionDigits ?? undefined, - maximumFractionDigits: maximumFractionDigits ?? undefined, - minimumSignificantDigits: minimumSignificantDigits ?? undefined, - maximumSignificantDigits: maximumSignificantDigits ?? undefined, - } - }} + {{ enteredNumber() | intlUnit: selectedUnit() : options() }}
diff --git a/projects/angular-intl-demo/src/app/pipes/unit/unit.component.ts b/projects/angular-intl-demo/src/app/pipes/unit/unit.component.ts index a362cd2c..d375b4b2 100644 --- a/projects/angular-intl-demo/src/app/pipes/unit/unit.component.ts +++ b/projects/angular-intl-demo/src/app/pipes/unit/unit.component.ts @@ -1,10 +1,10 @@ -import { Component } from '@angular/core'; +import { Component, computed, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { MatOptionModule } from '@angular/material/core'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; -import { IntlUnitPipe } from '../../../../../angular-ecmascript-intl/src/lib/unit/intl-unit.pipe'; +import { IntlUnitPipe, IntlUnitPipeOptions } from 'angular-ecmascript-intl'; import { languages } from '../../languages'; import { units } from './units'; @@ -22,27 +22,38 @@ import { units } from './units'; ], }) export class UnitComponent { - enteredNumber = '1'; - selectedUnit = 'hour'; + enteredNumber = signal('1'); + selectedUnit = signal('hour'); languages = languages; units = units; - locale?: string; - notation?: Intl.NumberFormatOptions['notation']; - signDisplay?: Intl.NumberFormatOptions['signDisplay']; - unitDisplay?: Intl.NumberFormatOptions['unitDisplay']; - minimumIntegerDigits?: - | Intl.NumberFormatOptions['minimumIntegerDigits'] - | null; - minimumFractionDigits?: - | Intl.NumberFormatOptions['minimumFractionDigits'] - | null; - maximumFractionDigits?: - | Intl.NumberFormatOptions['maximumFractionDigits'] - | null; - minimumSignificantDigits?: - | Intl.NumberFormatOptions['minimumSignificantDigits'] - | null; - maximumSignificantDigits?: - | Intl.NumberFormatOptions['maximumSignificantDigits'] - | null; + locale = signal