diff --git a/projects/demo/src/app/components-example/message/message-error-example/message-error-example.component.html b/projects/demo/src/app/components-example/message/message-error-example/message-error-example.component.html
new file mode 100644
index 00000000..9ba2d2bf
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-error-example/message-error-example.component.html
@@ -0,0 +1 @@
+{{ "EXAMPLES.MESSAGE.COMMON.ERROR" | translate }}
diff --git a/projects/demo/src/app/components-example/message/message-error-example/message-error-example.component.ts b/projects/demo/src/app/components-example/message/message-error-example/message-error-example.component.ts
new file mode 100644
index 00000000..49ad84bb
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-error-example/message-error-example.component.ts
@@ -0,0 +1,13 @@
+import { Component } from '@angular/core';
+import { IdsErrorMessageComponent } from '@i-cell/ids-angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+
+@Component({
+ selector: 'app-message-error-example',
+ imports: [
+ IdsErrorMessageComponent,
+ TranslateModule,
+ ],
+ templateUrl: './message-error-example.component.html',
+})
+export class MessageErrorExampleComponent {}
diff --git a/projects/demo/src/app/components-example/message/message-examples.ts b/projects/demo/src/app/components-example/message/message-examples.ts
new file mode 100644
index 00000000..040befaf
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-examples.ts
@@ -0,0 +1,96 @@
+import { MessageErrorExampleComponent } from './message-error-example/message-error-example.component';
+import { MessageHintExampleComponent } from './message-hint-example/message-hint-example.component';
+import { MessageSizesExampleComponent } from './message-sizes-example/message-sizes-example.component';
+import { MessageSuccessExampleComponent } from './message-success-example/message-success-example.component';
+import { MessageSuffixExampleComponent } from './message-suffix-example/message-suffix-example.component';
+import { MessageValidationExampleComponent } from './message-validation-example/message-validation-example.component';
+import { MessageVariantsExampleComponent } from './message-variants-example/message-variants-example.component';
+
+import { IdsExampleDef } from '../../shared/ids-example-viewer/ids-example.model';
+
+export const MESSAGE_EXAMPLES: IdsExampleDef[] = [
+ {
+ id: 'message-hint',
+ title: 'EXAMPLES.MESSAGE.HINT.TITLE',
+ description: 'EXAMPLES.MESSAGE.HINT.DESCRIPTION',
+ component: MessageHintExampleComponent,
+ files: [
+ {
+ HTMLpath: 'assets/examples/message/message-hint-example/message-hint-example.component.html',
+ TSpath: 'assets/examples/message/message-hint-example/message-hint-example.component.ts',
+ },
+ ],
+ },
+ {
+ id: 'message-success',
+ title: 'EXAMPLES.MESSAGE.SUCCESS.TITLE',
+ description: 'EXAMPLES.MESSAGE.SUCCESS.DESCRIPTION',
+ component: MessageSuccessExampleComponent,
+ files: [
+ {
+ HTMLpath: 'assets/examples/message/message-success-example/message-success-example.component.html',
+ TSpath: 'assets/examples/message/message-success-example/message-success-example.component.ts',
+ },
+ ],
+ },
+ {
+ id: 'message-error',
+ title: 'EXAMPLES.MESSAGE.ERROR.TITLE',
+ description: 'EXAMPLES.MESSAGE.ERROR.DESCRIPTION',
+ component: MessageErrorExampleComponent,
+ files: [
+ {
+ HTMLpath: 'assets/examples/message/message-error-example/message-error-example.component.html',
+ TSpath: 'assets/examples/message/message-error-example/message-error-example.component.ts',
+ },
+ ],
+ },
+ {
+ id: 'message-suffix',
+ title: 'EXAMPLES.MESSAGE.SUFFIX.TITLE',
+ description: 'EXAMPLES.MESSAGE.SUFFIX.DESCRIPTION',
+ component: MessageSuffixExampleComponent,
+ files: [
+ {
+ HTMLpath: 'assets/examples/message/message-suffix-example/message-suffix-example.component.html',
+ TSpath: 'assets/examples/message/message-suffix-example/message-suffix-example.component.ts',
+ },
+ ],
+ },
+ {
+ id: 'message-sizes',
+ title: 'EXAMPLES.MESSAGE.SIZES.TITLE',
+ description: 'EXAMPLES.MESSAGE.SIZES.DESCRIPTION',
+ component: MessageSizesExampleComponent,
+ files: [
+ {
+ HTMLpath: 'assets/examples/message/message-sizes-example/message-sizes-example.component.html',
+ TSpath: 'assets/examples/message/message-sizes-example/message-sizes-example.component.ts',
+ },
+ ],
+ },
+ {
+ id: 'message-variants',
+ title: 'EXAMPLES.MESSAGE.VARIANTS.TITLE',
+ description: 'EXAMPLES.MESSAGE.VARIANTS.DESCRIPTION',
+ component: MessageVariantsExampleComponent,
+ files: [
+ {
+ HTMLpath: 'assets/examples/message/message-variants-example/message-variants-example.component.html',
+ TSpath: 'assets/examples/message/message-variants-example/message-variants-example.component.ts',
+ },
+ ],
+ },
+ {
+ id: 'message-validation',
+ title: 'EXAMPLES.MESSAGE.VALIDATION.TITLE',
+ description: 'EXAMPLES.MESSAGE.VALIDATION.DESCRIPTION',
+ component: MessageValidationExampleComponent,
+ files: [
+ {
+ HTMLpath: 'assets/examples/message/message-validation-example/message-validation-example.component.html',
+ TSpath: 'assets/examples/message/message-validation-example/message-validation-example.component.ts',
+ },
+ ],
+ },
+];
diff --git a/projects/demo/src/app/components-example/message/message-hint-example/message-hint-example.component.html b/projects/demo/src/app/components-example/message/message-hint-example/message-hint-example.component.html
new file mode 100644
index 00000000..73703dfe
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-hint-example/message-hint-example.component.html
@@ -0,0 +1,10 @@
+
+
+ {{ "EXAMPLES.MESSAGE.HINT.DEFAULT" | translate }}
+ {{ "EXAMPLES.MESSAGE.COMMON.HINT" | translate }}
+
+
+ {{ "EXAMPLES.MESSAGE.HINT.DISABLED" | translate }}
+ {{ "EXAMPLES.MESSAGE.COMMON.HINT" | translate }}
+
+
diff --git a/projects/demo/src/app/components-example/message/message-hint-example/message-hint-example.component.ts b/projects/demo/src/app/components-example/message/message-hint-example/message-hint-example.component.ts
new file mode 100644
index 00000000..3f68dbb1
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-hint-example/message-hint-example.component.ts
@@ -0,0 +1,13 @@
+import { Component } from '@angular/core';
+import { IdsHintMessageComponent } from '@i-cell/ids-angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+
+@Component({
+ selector: 'app-message-hint-example',
+ imports: [
+ IdsHintMessageComponent,
+ TranslateModule,
+ ],
+ templateUrl: './message-hint-example.component.html',
+})
+export class MessageHintExampleComponent {}
diff --git a/projects/demo/src/app/components-example/message/message-sizes-example/message-sizes-example.component.html b/projects/demo/src/app/components-example/message/message-sizes-example/message-sizes-example.component.html
new file mode 100644
index 00000000..6660a569
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-sizes-example/message-sizes-example.component.html
@@ -0,0 +1,18 @@
+
+
+ dense
+ {{ "EXAMPLES.MESSAGE.COMMON.HINT" | translate }}
+
+
+ compact
+ {{ "EXAMPLES.MESSAGE.COMMON.HINT" | translate }}
+
+
+ comfortable
+ {{ "EXAMPLES.MESSAGE.COMMON.HINT" | translate }}
+
+
+ spacious
+ {{ "EXAMPLES.MESSAGE.COMMON.HINT" | translate }}
+
+
diff --git a/projects/demo/src/app/components-example/message/message-sizes-example/message-sizes-example.component.ts b/projects/demo/src/app/components-example/message/message-sizes-example/message-sizes-example.component.ts
new file mode 100644
index 00000000..e61d0481
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-sizes-example/message-sizes-example.component.ts
@@ -0,0 +1,13 @@
+import { Component } from '@angular/core';
+import { IdsHintMessageComponent } from '@i-cell/ids-angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+
+@Component({
+ selector: 'app-message-sizes-example',
+ imports: [
+ IdsHintMessageComponent,
+ TranslateModule,
+ ],
+ templateUrl: './message-sizes-example.component.html',
+})
+export class MessageSizesExampleComponent {}
diff --git a/projects/demo/src/app/components-example/message/message-success-example/message-success-example.component.html b/projects/demo/src/app/components-example/message/message-success-example/message-success-example.component.html
new file mode 100644
index 00000000..916964d2
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-success-example/message-success-example.component.html
@@ -0,0 +1 @@
+{{ "EXAMPLES.MESSAGE.COMMON.SUCCESS" | translate }}
diff --git a/projects/demo/src/app/components-example/message/message-success-example/message-success-example.component.ts b/projects/demo/src/app/components-example/message/message-success-example/message-success-example.component.ts
new file mode 100644
index 00000000..dc21f301
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-success-example/message-success-example.component.ts
@@ -0,0 +1,13 @@
+import { Component } from '@angular/core';
+import { IdsSuccessMessageComponent } from '@i-cell/ids-angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+
+@Component({
+ selector: 'app-message-success-example',
+ imports: [
+ IdsSuccessMessageComponent,
+ TranslateModule,
+ ],
+ templateUrl: './message-success-example.component.html',
+})
+export class MessageSuccessExampleComponent {}
diff --git a/projects/demo/src/app/components-example/message/message-suffix-example/message-suffix-example.component.html b/projects/demo/src/app/components-example/message/message-suffix-example/message-suffix-example.component.html
new file mode 100644
index 00000000..b54655e8
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-suffix-example/message-suffix-example.component.html
@@ -0,0 +1,14 @@
+
+
+ {{ "EXAMPLES.MESSAGE.COMMON.HINT" | translate }}
+ {{ "EXAMPLES.MESSAGE.COMMON.SUFFIX" | translate }}
+
+
+ {{ "EXAMPLES.MESSAGE.COMMON.SUCCESS" | translate }}
+ {{ "EXAMPLES.MESSAGE.COMMON.SUFFIX" | translate }}
+
+
+ {{ "EXAMPLES.MESSAGE.COMMON.ERROR" | translate }}
+ {{ "EXAMPLES.MESSAGE.COMMON.SUFFIX" | translate }}
+
+
diff --git a/projects/demo/src/app/components-example/message/message-suffix-example/message-suffix-example.component.ts b/projects/demo/src/app/components-example/message/message-suffix-example/message-suffix-example.component.ts
new file mode 100644
index 00000000..c0de31cc
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-suffix-example/message-suffix-example.component.ts
@@ -0,0 +1,21 @@
+import { Component } from '@angular/core';
+import {
+ IdsErrorMessageComponent,
+ IdsHintMessageComponent,
+ IdsMessageSuffixDirective,
+ IdsSuccessMessageComponent,
+} from '@i-cell/ids-angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+
+@Component({
+ selector: 'app-message-suffix-example',
+ imports: [
+ IdsErrorMessageComponent,
+ IdsHintMessageComponent,
+ IdsMessageSuffixDirective,
+ IdsSuccessMessageComponent,
+ TranslateModule,
+ ],
+ templateUrl: './message-suffix-example.component.html',
+})
+export class MessageSuffixExampleComponent {}
diff --git a/projects/demo/src/app/components-example/message/message-validation-example/message-validation-example.component.html b/projects/demo/src/app/components-example/message/message-validation-example/message-validation-example.component.html
new file mode 100644
index 00000000..4d79ce07
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-validation-example/message-validation-example.component.html
@@ -0,0 +1,22 @@
+@let fieldName = "EXAMPLES.MESSAGE.VALIDATION.CONTENT.LABEL" | translate;
+
+
diff --git a/projects/demo/src/app/components-example/message/message-validation-example/message-validation-example.component.ts b/projects/demo/src/app/components-example/message/message-validation-example/message-validation-example.component.ts
new file mode 100644
index 00000000..a1c9bf45
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-validation-example/message-validation-example.component.ts
@@ -0,0 +1,35 @@
+import { Component } from '@angular/core';
+import { FormsModule, NgModel } from '@angular/forms';
+import { IdsButtonComponent } from '@i-cell/ids-angular/button';
+import {
+ IdsErrorDefinitionDirective,
+ IdsErrorMessageComponent,
+ IdsFormFieldComponent,
+ IdsHintMessageComponent,
+ IdsInputDirective,
+ IdsLabelDirective,
+} from '@i-cell/ids-angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+
+@Component({
+ selector: 'app-message-validation-example',
+ imports: [
+ FormsModule,
+ IdsButtonComponent,
+ IdsErrorDefinitionDirective,
+ IdsErrorMessageComponent,
+ IdsFormFieldComponent,
+ IdsHintMessageComponent,
+ IdsInputDirective,
+ IdsLabelDirective,
+ TranslateModule,
+ ],
+ templateUrl: './message-validation-example.component.html',
+})
+export class MessageValidationExampleComponent {
+ protected _email = '';
+
+ protected _onSubmit(field: NgModel): void {
+ field.control.markAllAsTouched();
+ }
+}
diff --git a/projects/demo/src/app/components-example/message/message-variants-example/message-variants-example.component.html b/projects/demo/src/app/components-example/message/message-variants-example/message-variants-example.component.html
new file mode 100644
index 00000000..5ab973ca
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-variants-example/message-variants-example.component.html
@@ -0,0 +1,14 @@
+
+
+ {{ "EXAMPLES.MESSAGE.VARIANTS.CONTENT.SURFACE" | translate }}
+ {{ "EXAMPLES.MESSAGE.COMMON.HINT" | translate }}
+
+
+ {{ "EXAMPLES.MESSAGE.VARIANTS.CONTENT.LIGHT" | translate }}
+ {{ "EXAMPLES.MESSAGE.COMMON.HINT" | translate }}
+
+
+ {{ "EXAMPLES.MESSAGE.VARIANTS.CONTENT.DARK" | translate }}
+ {{ "EXAMPLES.MESSAGE.COMMON.HINT" | translate }}
+
+
diff --git a/projects/demo/src/app/components-example/message/message-variants-example/message-variants-example.component.scss b/projects/demo/src/app/components-example/message/message-variants-example/message-variants-example.component.scss
new file mode 100644
index 00000000..24d70105
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-variants-example/message-variants-example.component.scss
@@ -0,0 +1,9 @@
+.message-variants-example__panel {
+ padding: 0.75rem;
+ border-radius: 0.5rem;
+}
+
+.message-variants-example__panel--light {
+ background-color: #1a1a1a;
+ color: #fff;
+}
diff --git a/projects/demo/src/app/components-example/message/message-variants-example/message-variants-example.component.ts b/projects/demo/src/app/components-example/message/message-variants-example/message-variants-example.component.ts
new file mode 100644
index 00000000..dbdd0128
--- /dev/null
+++ b/projects/demo/src/app/components-example/message/message-variants-example/message-variants-example.component.ts
@@ -0,0 +1,14 @@
+import { Component } from '@angular/core';
+import { IdsHintMessageComponent } from '@i-cell/ids-angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+
+@Component({
+ selector: 'app-message-variants-example',
+ imports: [
+ IdsHintMessageComponent,
+ TranslateModule,
+ ],
+ templateUrl: './message-variants-example.component.html',
+ styleUrl: './message-variants-example.component.scss',
+})
+export class MessageVariantsExampleComponent {}
diff --git a/projects/demo/src/app/pages/message/message-demo-tryout.component.html b/projects/demo/src/app/pages/message/message-demo-tryout.component.html
new file mode 100644
index 00000000..2dc5e1b7
--- /dev/null
+++ b/projects/demo/src/app/pages/message/message-demo-tryout.component.html
@@ -0,0 +1,26 @@
+@if (_messageDemoService.helperModel.isError) {
+
+ {{ _messageDemoService.helperModel.message }}
+ @if (_messageDemoService.helperModel.hasSuffix) {
+ {{ _messageDemoService.helperModel.suffix }}
+ }
+
+}
+
+@if (_messageDemoService.helperModel.isSuccess) {
+
+ {{ _messageDemoService.helperModel.message }}
+ @if (_messageDemoService.helperModel.hasSuffix) {
+ {{ _messageDemoService.helperModel.suffix }}
+ }
+
+}
+
+@if (!_messageDemoService.helperModel.isError && !_messageDemoService.helperModel.isSuccess) {
+
+ {{ _messageDemoService.helperModel.message }}
+ @if (_messageDemoService.helperModel.hasSuffix) {
+ {{ _messageDemoService.helperModel.suffix }}
+ }
+
+}
diff --git a/projects/demo/src/app/pages/message/message-demo-tryout.component.ts b/projects/demo/src/app/pages/message/message-demo-tryout.component.ts
new file mode 100644
index 00000000..2b0955a1
--- /dev/null
+++ b/projects/demo/src/app/pages/message/message-demo-tryout.component.ts
@@ -0,0 +1,50 @@
+import { MessageDemoService } from './message-demo.service';
+
+import { Component, DoCheck, inject, Injectable, signal } from '@angular/core';
+import { IdsSizeType } from '@i-cell/ids-angular/core';
+import {
+ IdsErrorMessageComponent,
+ IdsFormFieldVariantType,
+ IdsHintMessageComponent,
+ IdsMessageSuffixDirective,
+ IdsSuccessMessageComponent,
+} from '@i-cell/ids-angular/forms';
+import {
+ IDS_MESSAGE_PARENT_FORM_FIELD,
+ IdsMessageParentFormField,
+} from '@i-cell/ids-angular/forms/components/message/types/message-parent-form-field';
+
+@Injectable()
+class DemoMessageState implements IdsMessageParentFormField {
+ public size = signal('compact');
+ public variant = signal('surface');
+ public disabled = signal(false);
+}
+
+@Component({
+ selector: 'app-message-demo-tryout',
+ imports: [
+ IdsErrorMessageComponent,
+ IdsHintMessageComponent,
+ IdsMessageSuffixDirective,
+ IdsSuccessMessageComponent,
+ ],
+ templateUrl: './message-demo-tryout.component.html',
+ providers: [
+ DemoMessageState,
+ {
+ provide: IDS_MESSAGE_PARENT_FORM_FIELD,
+ useExisting: DemoMessageState,
+ },
+ ],
+})
+export class MessageDemoTryoutComponent implements DoCheck {
+ protected readonly _messageDemoService = inject(MessageDemoService);
+ private readonly _demoMessageState = inject(DemoMessageState);
+
+ public ngDoCheck(): void {
+ this._demoMessageState.size.set(this._messageDemoService.model.size);
+ this._demoMessageState.variant.set(this._messageDemoService.model.variant);
+ this._demoMessageState.disabled.set(this._messageDemoService.inputModel.disabled);
+ }
+}
diff --git a/projects/demo/src/app/pages/message/message-demo.component.html b/projects/demo/src/app/pages/message/message-demo.component.html
index 6de00a26..87edcaeb 100644
--- a/projects/demo/src/app/pages/message/message-demo.component.html
+++ b/projects/demo/src/app/pages/message/message-demo.component.html
@@ -6,33 +6,7 @@
(resetted)="_messageDemoService.reset();"
>
-
- @if (_messageDemoService.helperModel.isError) {
-
- {{ _messageDemoService.helperModel.message }}
- @if (_messageDemoService.helperModel.hasSuffix) {
- {{ _messageDemoService.helperModel.suffix }}
- }
-
- }
-
- @if (_messageDemoService.helperModel.isSuccess) {
-
- {{ _messageDemoService.helperModel.message }}
- @if (_messageDemoService.helperModel.hasSuffix) {
- {{ _messageDemoService.helperModel.suffix }}
- }
-
- }
-
- @if (!_messageDemoService.helperModel.isError && !_messageDemoService.helperModel.isSuccess) {
-
- {{ _messageDemoService.helperModel.message }}
- @if (_messageDemoService.helperModel.hasSuffix) {
- {{ _messageDemoService.helperModel.suffix }}
- }
-
- }
+
@@ -66,3 +40,9 @@
+
+
+ @for (example of messageExamples; track example.id) {
+
+ }
+
diff --git a/projects/demo/src/app/pages/message/message-demo.component.ts b/projects/demo/src/app/pages/message/message-demo.component.ts
index 7aa12be5..f8831f4f 100644
--- a/projects/demo/src/app/pages/message/message-demo.component.ts
+++ b/projects/demo/src/app/pages/message/message-demo.component.ts
@@ -1,34 +1,17 @@
+import { MessageDemoTryoutComponent } from './message-demo-tryout.component';
import { MessageDemoService } from './message-demo.service';
import { ControlTableComponent } from '../../components/control-table/control-table.component';
import { DemoAndCodeComponent } from '../../components/tabs/demo-and-code/demo-and-code.component';
import { TryoutControlComponent } from '../../components/tryout/tryout-controls.component';
import { TryoutComponent } from '../../components/tryout/tryout.component';
+import { MESSAGE_EXAMPLES } from '../../components-example/message/message-examples';
+import { IdsExampleViewerComponent } from '../../shared/ids-example-viewer/ids-example-viewer.component';
-import { Component, inject, Injectable, signal, DoCheck } from '@angular/core';
+import { Component, inject } from '@angular/core';
import { FormsModule } from '@angular/forms';
-import { IdsSizeType } from '@i-cell/ids-angular/core';
-import {
- IdsHintMessageComponent,
- IdsErrorMessageComponent,
- IdsSuccessMessageComponent,
- IdsFormFieldVariantType,
- IdsMessageSuffixDirective,
- IdsMessageDirective,
-} from '@i-cell/ids-angular/forms';
-import {
- IDS_MESSAGE_PARENT_FORM_FIELD,
- IdsMessageParentFormField,
-} from '@i-cell/ids-angular/forms/components/message/types/message-parent-form-field';
import { TranslateModule } from '@ngx-translate/core';
-@Injectable()
-class DemoMessageState implements IdsMessageParentFormField {
- public size = signal('compact');
- public variant = signal('surface');
- public disabled = signal(false);
-}
-
@Component({
selector: 'app-message-demo',
imports: [
@@ -36,32 +19,17 @@ class DemoMessageState implements IdsMessageParentFormField {
TryoutComponent,
TranslateModule,
FormsModule,
- IdsHintMessageComponent,
- IdsErrorMessageComponent,
- IdsSuccessMessageComponent,
TryoutControlComponent,
ControlTableComponent,
- IdsMessageSuffixDirective,
- IdsMessageDirective,
- ],
- providers: [
- MessageDemoService,
- DemoMessageState,
- {
- provide: IDS_MESSAGE_PARENT_FORM_FIELD,
- useExisting: DemoMessageState,
- },
+ IdsExampleViewerComponent,
+ MessageDemoTryoutComponent,
],
+ providers: [MessageDemoService],
templateUrl: './message-demo.component.html',
styleUrl: './message-demo.component.scss',
})
-export class MessageDemoComponent implements DoCheck {
- protected _messageDemoService = inject(MessageDemoService);
- protected _demoMessageState = inject(DemoMessageState);
+export class MessageDemoComponent {
+ public readonly messageExamples = MESSAGE_EXAMPLES;
- public ngDoCheck(): void {
- this._demoMessageState.size.set(this._messageDemoService.model.size);
- this._demoMessageState.variant.set(this._messageDemoService.model.variant);
- this._demoMessageState.disabled.set(this._messageDemoService.inputModel.disabled);
- }
+ protected _messageDemoService = inject(MessageDemoService);
}
diff --git a/projects/demo/src/assets/i18n/en.json b/projects/demo/src/assets/i18n/en.json
index c9775d35..f961f893 100644
--- a/projects/demo/src/assets/i18n/en.json
+++ b/projects/demo/src/assets/i18n/en.json
@@ -1729,6 +1729,56 @@
}
}
},
+ "MESSAGE": {
+ "COMMON": {
+ "HINT": "Use at least 8 characters with letters and numbers.",
+ "SUCCESS": "Your changes were saved successfully.",
+ "ERROR": "Something went wrong. Please try again.",
+ "SUFFIX": "Optional"
+ },
+ "HINT": {
+ "DEFAULT": "Default",
+ "DISABLED": "Disabled",
+ "TITLE": "Hint message",
+ "DESCRIPTION": "Use ids-hint-message for helper text below form fields or as standalone guidance."
+ },
+ "SUCCESS": {
+ "TITLE": "Success message",
+ "DESCRIPTION": "Use ids-success-message to confirm successful validation or completed actions."
+ },
+ "ERROR": {
+ "TITLE": "Error message",
+ "DESCRIPTION": "Use ids-error-message for error text. Project plain content for standalone messages, or ids-error-def mappings for form validation."
+ },
+ "SUFFIX": {
+ "TITLE": "Message suffix",
+ "DESCRIPTION": "Add optional trailing content with idsMessageSuffix on hint, success, and error messages."
+ },
+ "SIZES": {
+ "TITLE": "Message sizes",
+ "DESCRIPTION": "Messages support size: dense, compact (default), comfortable, and spacious."
+ },
+ "VARIANTS": {
+ "TITLE": "Message variants",
+ "DESCRIPTION": "Messages support variant: surface (default), light, and dark. Choose a background that matches the variant.",
+ "CONTENT": {
+ "SURFACE": "Surface",
+ "LIGHT": "Light",
+ "DARK": "Dark"
+ }
+ },
+ "VALIDATION": {
+ "TITLE": "Validation messages",
+ "DESCRIPTION": "Inside ids-form-field, ids-error-message with ids-error-def entries shows the first matching validation error when the control is touched or dirty.",
+ "CONTENT": {
+ "LABEL": "Email",
+ "PLACEHOLDER": "name@example.com",
+ "HINT": "We will never share your email.",
+ "INVALID_EMAIL": "Enter a valid email address.",
+ "SUBMIT": "Submit"
+ }
+ }
+ },
"TOOLTIP": {
"COMMON": {
"TRIGGER": "Hover me",
diff --git a/projects/demo/src/assets/i18n/hu.json b/projects/demo/src/assets/i18n/hu.json
index e9ed9e4f..b79b5a2c 100644
--- a/projects/demo/src/assets/i18n/hu.json
+++ b/projects/demo/src/assets/i18n/hu.json
@@ -1725,6 +1725,56 @@
}
}
},
+ "MESSAGE": {
+ "COMMON": {
+ "HINT": "Használj legalább 8 karaktert betűkkel és számokkal.",
+ "SUCCESS": "A módosítások sikeresen mentve.",
+ "ERROR": "Valami hiba történt. Próbáld újra.",
+ "SUFFIX": "Opcionális"
+ },
+ "HINT": {
+ "DEFAULT": "Alapértelmezett",
+ "DISABLED": "Letiltva",
+ "TITLE": "Hint üzenet",
+ "DESCRIPTION": "Az ids-hint-message segítő szöveg mezők alatt vagy önálló útmutatóként."
+ },
+ "SUCCESS": {
+ "TITLE": "Success üzenet",
+ "DESCRIPTION": "Az ids-success-message sikeres validációt vagy befejezett műveletet jelez."
+ },
+ "ERROR": {
+ "TITLE": "Error üzenet",
+ "DESCRIPTION": "Az ids-error-message hibaszöveghez használható. Önálló üzenethez sima tartalom, validációhoz ids-error-def bejegyzések."
+ },
+ "SUFFIX": {
+ "TITLE": "Message suffix",
+ "DESCRIPTION": "Opcionális záró tartalom idsMessageSuffix attribútummal hint, success és error üzeneteknél."
+ },
+ "SIZES": {
+ "TITLE": "Message méretek",
+ "DESCRIPTION": "Az üzenetek méretei: dense, compact (alapértelmezett), comfortable és spacious."
+ },
+ "VARIANTS": {
+ "TITLE": "Message változatok",
+ "DESCRIPTION": "Az üzenetek változatai: surface (alapértelmezett), light és dark. A háttér illeszkedjen a változathoz.",
+ "CONTENT": {
+ "SURFACE": "Surface",
+ "LIGHT": "Light",
+ "DARK": "Dark"
+ }
+ },
+ "VALIDATION": {
+ "TITLE": "Validációs üzenetek",
+ "DESCRIPTION": "ids-form-field-en belül az ids-error-message ids-error-def bejegyzésekkel mutatja az első illeszkedő hibát, ha a mező touched vagy dirty.",
+ "CONTENT": {
+ "LABEL": "E-mail",
+ "PLACEHOLDER": "nev@pelda.hu",
+ "HINT": "Az e-mail címedet nem osztjuk meg.",
+ "INVALID_EMAIL": "Adj meg érvényes e-mail címet.",
+ "SUBMIT": "Küldés"
+ }
+ }
+ },
"TOOLTIP": {
"COMMON": {
"TRIGGER": "Vidd fölé az egeret",