@forgeroute/ui 0.4.63 → 0.4.65

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgeroute/ui",
3
- "version": "0.4.63",
3
+ "version": "0.4.65",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=22.0.0",
6
6
  "@angular/core": ">=22.0.0",
@@ -2682,7 +2682,7 @@ export declare class AudioPlayerComponent {
2682
2682
  /** Accessible name of the player. */
2683
2683
  readonly ariaLabel: import("@angular/core").InputSignal<string>;
2684
2684
  /** How much to load before play: 'metadata' (default), 'auto' or 'none'. */
2685
- readonly preload: import("@angular/core").InputSignal<"none" | "auto" | "metadata">;
2685
+ readonly preload: import("@angular/core").InputSignal<"metadata" | "none" | "auto">;
2686
2686
  /** Fires when the browser can't load or decode the source. */
2687
2687
  readonly playbackError: import("@angular/core").OutputEmitterRef<void>;
2688
2688
  protected readonly failed: import("@angular/core").WritableSignal<boolean>;
@@ -2936,7 +2936,7 @@ export declare class CheckboxComponent implements ControlValueAccessor, Validato
2936
2936
  * clicking it still toggles the box - e.g. a product name that is both the heading of its card and the label of its checkbox.
2937
2937
  * Default null: plain label text, exactly as before. Single mode only.
2938
2938
  */
2939
- readonly headingLevel: import("@angular/core").InputSignal<1 | 2 | 3 | 4 | 5 | 6 | null>;
2939
+ readonly headingLevel: import("@angular/core").InputSignal<6 | 1 | 2 | 3 | 4 | 5 | null>;
2940
2940
  readonly indeterminate: import("@angular/core").InputSignal<boolean>;
2941
2941
  readonly checked: import("@angular/core").ModelSignal<boolean>;
2942
2942
  /**
@@ -3963,7 +3963,7 @@ export declare class ButtonComponent {
3963
3963
  * `ghost-start`: a ghost button for list / section toggles - a full-width row with its content aligned to the start, transparent
3964
3964
  * background, hover tint and the normal focus ring. Pair it with `ariaExpanded` / `ariaPressed`; the label may contain a heading element.
3965
3965
  */
3966
- readonly variant: import("@angular/core").InputSignal<"primary" | "secondary" | "danger" | "warning" | "link" | "ghost" | "ghost-start" | "tab" | "icon" | "icon-danger">;
3966
+ readonly variant: import("@angular/core").InputSignal<"link" | "primary" | "secondary" | "danger" | "warning" | "ghost" | "ghost-start" | "tab" | "icon" | "icon-danger">;
3967
3967
  /** Renders an anchor to this route instead of a button (use with `variant="link"` for an inline text link). `['/settings']` or `'/settings'`. While `disabled` or `loading` it renders a non-clickable `<span role="link" aria-disabled>` with no href (like `href`). */
3968
3968
  readonly routerLink: import("@angular/core").InputSignal<string | readonly unknown[] | null>;
3969
3969
  /** Query params of the `routerLink` (e.g. `{ section: 'deal-defaults' }`). */
@@ -4009,7 +4009,7 @@ export declare class ButtonComponent {
4009
4009
  readonly color: import("@angular/core").InputSignal<string | undefined>;
4010
4010
  readonly active: import("@angular/core").InputSignal<boolean>;
4011
4011
  readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" | "xs">;
4012
- readonly type: import("@angular/core").InputSignal<"reset" | "submit" | "button">;
4012
+ readonly type: import("@angular/core").InputSignal<"button" | "reset" | "submit">;
4013
4013
  readonly disabled: import("@angular/core").InputSignal<boolean>;
4014
4014
  readonly loading: import("@angular/core").InputSignal<boolean>;
4015
4015
  readonly fullWidth: import("@angular/core").InputSignal<boolean>;
@@ -4957,7 +4957,7 @@ export declare class TextInputComponent implements ControlValueAccessor, Validat
4957
4957
  * `search`, `text`, `none`). Empty (default) = the browser's default for the field, except `type="tel"`, which keeps `tel`.
4958
4958
  * It only picks the keyboard; it does not restrict what can be typed or pasted.
4959
4959
  */
4960
- readonly inputmode: import("@angular/core").InputSignal<"" | "none" | "text" | "search" | "email" | "tel" | "url" | "decimal" | "numeric">;
4960
+ readonly inputmode: import("@angular/core").InputSignal<"" | "search" | "text" | "numeric" | "none" | "email" | "tel" | "url" | "decimal">;
4961
4961
  readonly readonly: import("@angular/core").InputSignal<boolean>;
4962
4962
  readonly hint: import("@angular/core").InputSignal<string>;
4963
4963
  /** Id(s) of an external element that also describes this control (e.g. one shared error text for a group of fields). Space separated; MERGED after the control's own hint / error id in `aria-describedby`, never replacing it. Empty = unchanged. */
@@ -5214,6 +5214,72 @@ export declare class TextInputComponent implements ControlValueAccessor, Validat
5214
5214
  "invalidChange": "invalidChange";
5215
5215
  }, never, ["[uiLabelEnd]"], true, never>;
5216
5216
  }
5217
+ /**
5218
+ * Number pad for short numeric codes such as a PIN. Shows one dot per allowed digit (filled as digits are entered) above a 3x4 grid of
5219
+ * 44px+ touch targets. The value is the digit string (`''` = nothing entered); it works with `[(value)]` and with `ngModel` / `FormControl`.
5220
+ * Physical digit keys and Backspace work while the pad has focus. The dots are decorative: the live count is exposed as an accessible
5221
+ * label ("PIN: 3 of 6 digits entered") and the digits themselves are never put in the DOM.
5222
+ */
5223
+ export declare class KeypadComponent implements ControlValueAccessor {
5224
+ private static _next;
5225
+ /** The digits entered so far. */
5226
+ readonly value: import("@angular/core").ModelSignal<string>;
5227
+ /** Most digits allowed (also the number of dots). */
5228
+ readonly maxLength: import("@angular/core").InputSignal<number>;
5229
+ readonly label: import("@angular/core").InputSignal<string>;
5230
+ readonly required: import("@angular/core").InputSignal<boolean>;
5231
+ /** Host error message, shown under the dots. */
5232
+ readonly error: import("@angular/core").InputSignal<string>;
5233
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
5234
+ protected readonly _labelId: string;
5235
+ protected readonly _keys: readonly ["1", "2", "3", "4", "5", "6", "7", "8", "9", "", "0", "del"];
5236
+ protected readonly _dots: import("@angular/core").Signal<unknown[]>;
5237
+ private readonly _formDisabled;
5238
+ protected readonly _isDisabled: import("@angular/core").Signal<boolean>;
5239
+ private _onChange;
5240
+ private _onTouched;
5241
+ press(key: string): void;
5242
+ protected onKeydown(e: KeyboardEvent): void;
5243
+ writeValue(v: string | null): void;
5244
+ registerOnChange(fn: (v: string) => void): void;
5245
+ registerOnTouched(fn: () => void): void;
5246
+ setDisabledState(d: boolean): void;
5247
+ static ɵfac: i0.ɵɵFactoryDeclaration<KeypadComponent, never>;
5248
+ static ɵcmp: i0.ɵɵComponentDeclaration<KeypadComponent, "ui-keypad", never, {
5249
+ "value": {
5250
+ "alias": "value";
5251
+ "required": false;
5252
+ "isSignal": true;
5253
+ };
5254
+ "maxLength": {
5255
+ "alias": "maxLength";
5256
+ "required": false;
5257
+ "isSignal": true;
5258
+ };
5259
+ "label": {
5260
+ "alias": "label";
5261
+ "required": false;
5262
+ "isSignal": true;
5263
+ };
5264
+ "required": {
5265
+ "alias": "required";
5266
+ "required": false;
5267
+ "isSignal": true;
5268
+ };
5269
+ "error": {
5270
+ "alias": "error";
5271
+ "required": false;
5272
+ "isSignal": true;
5273
+ };
5274
+ "disabled": {
5275
+ "alias": "disabled";
5276
+ "required": false;
5277
+ "isSignal": true;
5278
+ };
5279
+ }, {
5280
+ "value": "valueChange";
5281
+ }, never, never, true, never>;
5282
+ }
5217
5283
  export declare class TextareaInputComponent implements ControlValueAccessor, Validator, UiFieldValidity {
5218
5284
  readonly label: import("@angular/core").InputSignal<string>;
5219
5285
  /** Accessible name for a field with no visible label. */
@@ -6424,7 +6490,7 @@ export declare class DropdownComponent {
6424
6490
  readonly loader: import("@angular/core").InputSignal<(() => Promise<DropdownItem[]>) | null>;
6425
6491
  readonly active: import("@angular/core").InputSignal<boolean>;
6426
6492
  readonly activeValue: import("@angular/core").InputSignal<string>;
6427
- readonly variant: import("@angular/core").InputSignal<"badge" | "button">;
6493
+ readonly variant: import("@angular/core").InputSignal<"button" | "badge">;
6428
6494
  readonly menuWidth: import("@angular/core").InputSignal<string>;
6429
6495
  /**
6430
6496
  * Fixed width of the trigger as a CSS length (e.g. `'280px'`). Empty (default) = the trigger is as wide as its label. When set, the trigger keeps that
@@ -9810,7 +9876,7 @@ export declare class DetailCardComponent {
9810
9876
  /** true (default) = the title is displayed in capitals (CSS only); false = shown as written. The text, aria-label and heading name are never changed. */
9811
9877
  readonly uppercaseTitle: import("@angular/core").InputSignal<boolean>;
9812
9878
  /** 1-6 makes the title a real heading for screen readers (role=heading, aria-level); null keeps it plain text. */
9813
- readonly headingLevel: import("@angular/core").InputSignal<1 | 2 | 3 | 4 | 5 | 6 | null>;
9879
+ readonly headingLevel: import("@angular/core").InputSignal<6 | 1 | 2 | 3 | 4 | 5 | null>;
9814
9880
  /** Optional id for the title text; the card is then labelled by it. Without it the title is the card's aria-label. */
9815
9881
  readonly titleId: import("@angular/core").InputSignal<string>;
9816
9882
  /** Accessible name of the card when the header gives none (no header, or no title). A visible title wins; blank = no name. */
@@ -13221,7 +13287,7 @@ export interface ConversationMessage {
13221
13287
  /** Outbound only: `sent` (✓), `delivered` (✓✓), `failed`, `scheduled`. Other values show nothing. */
13222
13288
  status?: string | null;
13223
13289
  media?: ConversationMedia | null;
13224
- /** Outbound only: who wrote it (e.g. the agent's name), shown before the time. Omit when the sender is always "You". */
13290
+ /** Who wrote it (e.g. the agent's name on a reply the customer reads, or on a message the office sent), shown before the time. Omit when the sender is not worth naming (always "You", or one known person). */
13225
13291
  sender?: string | null;
13226
13292
  /** A link-style button under the text, e.g. "View transaction"; clicking it emits `(messageAction)` with this message. */
13227
13293
  action?: ConversationMessageAction | null;