The Talenra Inbox library for Angular offers the possibility to create customizable inbox components with different requirements.
Make sure you have node >= 24 and npm >= 11 installed.
Example :# Check node version
node --version
# Check npm version
npm --version@talenra/components is served via the Talenra artifactory. Access to the artifactory requires the TC user provided in the Talenra onboarding process.Add the @talenra registry to your npm configuration and login.
npm config set @talenra:registry=https://registry.npmjs.org/
npm login --scope=@talenra@talenra/components which we will use for the layout (<talenra-app-frame>).npm add @talenra/components @talenra/inbox// src/styles.scss
@use '@talenra/icons/styles';
@use '@angular/material/prebuilt-themes/indigo-pink';// src/angular.json
"styles": [
...
+ "node_modules/angular2-draggable/css/resizable.min.css"
]// src/app/app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { WorkspaceSimpleComponent } from '@talenra/components/workspace-simple'; // <-- required
import { InboxComponent } from '@talenra/inbox'; // <-- required
@NgModule({
declarations: [AppComponent],
imports: [
AppRoutingModule,
BrowserModule,
BrowserAnimationsModule, // <-- required
WorkspaceSimpleComponent, // <-- required
InboxComponent, // <-- required
],
providers: [],
bootstrap: [AppComponent],
})
export class AppModule {}The Talenra libraries support internationalization with translations for German (de-CH), French (fr-CH), and Italian (it-CH). You can configure translations in two ways:
Configure translations in your app.config.ts using the provider functions:
import { provideTalenraBaseConfig } from '@talenra/components/config';
import { provideTalenraInboxConfig } from '@talenra/inbox';
import { TalenraBaseTranslations } from '@talenra/components/locales';
import { TalenraInboxTranslations } from '@talenra/inbox';
export const appConfig: ApplicationConfig = {
providers: [
// Configure Base library translations
provideTalenraBaseConfig({
translation: TalenraBaseTranslations.deCH.translations, // or frCH, itCH
}),
// Configure Inbox library translations
provideTalenraInboxConfig({
translation: TalenraInboxTranslations.deCH.translations, // or frCH, itCH
}),
// ... other providers
],
};You can also provide partial translations to override specific strings:
Example :provideTalenraBaseConfig({
translation: {
...TalenraBaseTranslations.deCH.translations,
paginatorItemsPerPage: 'Custom items per page text',
},
})For applications that depend on Angular's LOCALE_ID, inject the configuration services into your root component (commonly app.component.ts):
import { Component, inject, LOCALE_ID } from '@angular/core';
import { TalenraBaseConfig } from '@talenra/components/config';
import { TalenraInboxConfig } from '@talenra/inbox';
import { TalenraBaseTranslations } from '@talenra/components/locales';
import { TalenraInboxTranslations } from '@talenra/inbox';
@Component({
// ...component configuration
})
export class AppComponent {
private localeId = inject(LOCALE_ID);
private talenraBaseConfig = inject(TalenraBaseConfig);
private talenraInboxConfig = inject(TalenraInboxConfig);
constructor() {
// Set the translations based on LOCALE_ID
let baseTranslation = TalenraBaseTranslations.deCH;
let inboxTranslation = TalenraInboxTranslations.deCH;
if (this.localeId === 'fr-CH') {
baseTranslation = TalenraBaseTranslations.frCH;
inboxTranslation = TalenraInboxTranslations.frCH;
}
if (this.localeId === 'it-CH') {
baseTranslation = TalenraBaseTranslations.itCH;
inboxTranslation = TalenraInboxTranslations.itCH;
}
this.talenraBaseConfig.setTranslation(baseTranslation.translations);
this.talenraInboxConfig.setTranslation(inboxTranslation.translations);
}
}Base Library: TalenraBaseTranslations from @talenra/components/locales
TalenraBaseTranslations.deCHTalenraBaseTranslations.frCHTalenraBaseTranslations.itCHInbox Library: TalenraInboxTranslations from @talenra/inbox
TalenraInboxTranslations.deCHTalenraInboxTranslations.frCHTalenraInboxTranslations.itCHThe tutorial "build a inbox" is a good starting point if you're using the library for the first time.
The API documentation is available in the documentation of the library.
Please open a new issue to report bugs. The better your report, the faster we can solve the issue. Information required to address the issue include:
Lead Talenra
workspace@talenra.com