@besaitech/ng-design-system 0.0.61 → 0.0.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -596,14 +596,41 @@ type SdsLocalizedInputSize = 'sm' | 'md' | 'lg';
596
596
  * first accepted language — so the field "opens on the language you are working in". Empty translations are
597
597
  * pruned from the emitted value, keeping the stored map clean.
598
598
  *
599
+ * Mark a must-fill language (a store's main language) with `[requiredLanguages]`, show a per-language
600
+ * `[maxLength]` counter, and an `[error]` like `sds-input`.
601
+ *
599
602
  * Implements ControlValueAccessor over the map — use with reactive forms or `[(ngModel)]`:
600
603
  * `<sds-localized-input [languages]="['fr','nl','en']" [(ngModel)]="title" />`.
601
604
  */
602
605
  declare class SdsLocalizedInput implements ControlValueAccessor {
603
- readonly inputId: string;
606
+ private readonly autoId;
607
+ /** The native field's id; a generated one when empty (set it to pair an external `<label for>`). */
608
+ readonly inputId: _angular_core.InputSignal<string>;
609
+ /** The native field's id: {@link inputId} or the generated one. */
610
+ protected readonly fieldId: _angular_core.Signal<string>;
604
611
  readonly label: _angular_core.InputSignal<string>;
612
+ /** Accessible name when there is no visible {@link label} (a dense row in a table or list). */
613
+ readonly ariaLabel: _angular_core.InputSignal<string>;
605
614
  readonly hint: _angular_core.InputSignal<string>;
615
+ /** Error message under the field (danger frame + `aria-invalid`); replaces the hint. */
616
+ readonly error: _angular_core.InputSignal<string>;
617
+ /** Mark the field invalid (danger frame + `aria-invalid`) without showing an [error] message. */
618
+ readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
619
+ /**
620
+ * Mark the field required: an asterisk after the [label] and `aria-required`. It does not validate — keep your
621
+ * own validator (e.g. "the main language is filled").
622
+ */
623
+ readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
624
+ /**
625
+ * Languages that must be filled (e.g. a store's main language): while empty, their switcher dot shows in the
626
+ * danger colour and its title says {@link requiredLanguageLabel}. Display only — validate in the form.
627
+ */
628
+ readonly requiredLanguages: _angular_core.InputSignal<string[]>;
606
629
  readonly placeholder: _angular_core.InputSignal<string>;
630
+ /** Maximum characters per language (native `maxlength` on the field). 0 = no limit. */
631
+ readonly maxLength: _angular_core.InputSignalWithTransform<number, unknown>;
632
+ /** Show a character counter (of the language being edited) under the field; implied by {@link maxLength}. */
633
+ readonly showCount: _angular_core.InputSignalWithTransform<boolean, unknown>;
607
634
  /** The accepted language codes, in display order (e.g. `['fr','nl','en']`). */
608
635
  readonly languages: _angular_core.InputSignal<string[]>;
609
636
  /** Language to pre-select; used when it is one of {@link languages}, else the first accepted language. */
@@ -619,16 +646,22 @@ declare class SdsLocalizedInput implements ControlValueAccessor {
619
646
  */
620
647
  readonly languageSwitcherLabel: _angular_core.InputSignal<string>;
621
648
  readonly untranslatedLabel: _angular_core.InputSignal<string>;
649
+ /** Title suffix of a required language that is still empty (see {@link requiredLanguages}). */
650
+ readonly requiredLanguageLabel: _angular_core.InputSignal<string>;
622
651
  private readonly valueMap;
623
652
  /** Language chosen via the switcher; null means "follow currentLanguage / the first language". */
624
653
  private readonly manual;
625
654
  private readonly cvaDisabled;
626
655
  protected readonly isDisabled: _angular_core.Signal<boolean>;
627
656
  protected readonly wrapperClasses: _angular_core.Signal<string>;
657
+ protected readonly hasCounter: _angular_core.Signal<boolean>;
658
+ protected readonly describedBy: _angular_core.Signal<string | null>;
628
659
  /** The language currently being edited. */
629
660
  protected readonly activeLang: _angular_core.Signal<string>;
630
661
  protected readonly current: _angular_core.Signal<string>;
631
662
  protected filled(lang: string): boolean;
663
+ /** A required language (see {@link requiredLanguages}) that is still empty. */
664
+ protected mustFill(lang: string): boolean;
632
665
  protected fieldPlaceholder(): string;
633
666
  protected select(lang: string): void;
634
667
  protected write(event: Event): void;
@@ -639,7 +672,7 @@ declare class SdsLocalizedInput implements ControlValueAccessor {
639
672
  registerOnTouched(fn: () => void): void;
640
673
  setDisabledState(isDisabled: boolean): void;
641
674
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsLocalizedInput, never>;
642
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsLocalizedInput, "sds-localized-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "languages": { "alias": "languages"; "required": false; "isSignal": true; }; "currentLanguage": { "alias": "currentLanguage"; "required": false; "isSignal": true; }; "multiline": { "alias": "multiline"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "languageSwitcherLabel": { "alias": "languageSwitcherLabel"; "required": false; "isSignal": true; }; "untranslatedLabel": { "alias": "untranslatedLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
675
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsLocalizedInput, "sds-localized-input", never, { "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "requiredLanguages": { "alias": "requiredLanguages"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "showCount": { "alias": "showCount"; "required": false; "isSignal": true; }; "languages": { "alias": "languages"; "required": false; "isSignal": true; }; "currentLanguage": { "alias": "currentLanguage"; "required": false; "isSignal": true; }; "multiline": { "alias": "multiline"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "languageSwitcherLabel": { "alias": "languageSwitcherLabel"; "required": false; "isSignal": true; }; "untranslatedLabel": { "alias": "untranslatedLabel"; "required": false; "isSignal": true; }; "requiredLanguageLabel": { "alias": "requiredLanguageLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
643
676
  }
644
677
 
645
678
  type SdsOtpInputSize = 'md' | 'lg';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@besaitech/ng-design-system",
3
- "version": "0.0.61",
3
+ "version": "0.0.62",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"