@forgeroute/ui 0.3.3 → 0.3.5

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.3.3",
3
+ "version": "0.3.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=22.0.0",
6
6
  "@angular/core": ">=22.0.0",
@@ -834,7 +834,7 @@ export declare class SelectComponent implements ControlValueAccessor, Validator,
834
834
  readonly error: import("@angular/core").InputSignal<string>;
835
835
  /** Reveal the built-in error messages now (e.g. after a failed Save click), without waiting for blur. */
836
836
  readonly showErrors: import("@angular/core").InputSignal<boolean>;
837
- readonly size: import("@angular/core").InputSignal<"default" | "sm">;
837
+ readonly size: import("@angular/core").InputSignal<"sm" | "default">;
838
838
  readonly _disabledInput: import("@angular/core").InputSignal<boolean>;
839
839
  private readonly _cvaDisabled;
840
840
  protected readonly disabled: import("@angular/core").Signal<boolean>;
@@ -1767,7 +1767,8 @@ export declare class ToastComponent {
1767
1767
  export type ProgressBarVariant = 'blue' | 'green' | 'amber' | 'red' | 'slate';
1768
1768
  /**
1769
1769
  * Horizontal progress bar with an optional trailing label (e.g. "3/5").
1770
- * Pass `value` and `max`; the fill width is clamped to 0–100%.
1770
+ * Pass `value` and `max`; the fill width is clamped to 0–100%, rounded to whole percents, and a value above 0 is never drawn narrower
1771
+ * than 2% (so 1 of 300 is a visible sliver, not an empty bar). A value of 0 draws no fill.
1771
1772
  *
1772
1773
  * The fill color is built in and follows completion, in four bands: red up to 25%, amber up to 50%, blue up to 75%,
1773
1774
  * green above 75% (full = green). Nothing needs to be passed. `variant` is an optional override for a bar whose
@@ -1786,6 +1787,7 @@ export declare class ProgressBarComponent {
1786
1787
  readonly tooltip: import("@angular/core").InputSignal<string>;
1787
1788
  readonly ariaLabel: import("@angular/core").InputSignal<string>;
1788
1789
  protected readonly clampedValue: import("@angular/core").Signal<number>;
1790
+ /** Fill width in %: the rounded share, but never less than MIN_VISIBLE_PERCENT while the value is above 0 (1 of 300 would round to 0% and look empty). */
1789
1791
  protected readonly percent: import("@angular/core").Signal<number>;
1790
1792
  /** The override when given, else the completion band: up to 25% red, up to 50% amber, up to 75% blue, above 75% green. */
1791
1793
  protected readonly effectiveVariant: import("@angular/core").Signal<ProgressBarVariant>;
@@ -1831,7 +1833,8 @@ export declare class ProgressBarComponent {
1831
1833
  *
1832
1834
  * - Bars show their value above them (`showValues`, a 0 bar shows nothing), the y axis starts at 0 and counts whole numbers.
1833
1835
  * - The tooltip reads "<value> <unit>" (`unitSingular` for 1, `unitPlural` otherwise; no unit = just the number).
1834
- * - The canvas is an image for assistive tech (`role="img"` + `ariaLabel`); render the same figures as text next to it
1836
+ * - With an `ariaLabel` the chart is an image for assistive tech (`role="img"` + that label; without a label no role is set, as an
1837
+ * unnamed image is an accessibility error); render the same figures as text next to it
1835
1838
  * (e.g. a visually hidden list) when the exact values matter.
1836
1839
  * - Height is `height` px (shorter on phones: 200px up to 768px wide, 160px up to 480px wide, when the default 240 is used);
1837
1840
  * the width follows the container. Needs the optional peer dependency `chart.js` (>= 4).
@@ -1954,7 +1957,7 @@ export declare class TooltipDirective {
1954
1957
  /** Tooltip text; empty or null disables the tooltip. */
1955
1958
  readonly uiTooltip: import("@angular/core").InputSignal<string | null | undefined>;
1956
1959
  /** Preferred side; flips to the other side when there is no room. */
1957
- readonly tooltipPosition: import("@angular/core").InputSignal<"top" | "bottom">;
1960
+ readonly tooltipPosition: import("@angular/core").InputSignal<"bottom" | "top">;
1958
1961
  private readonly host;
1959
1962
  private readonly doc;
1960
1963
  private bubble;
@@ -2150,6 +2153,10 @@ export declare class CheckboxComponent implements ControlValueAccessor, Validato
2150
2153
  }
2151
2154
  export declare class ButtonComponent {
2152
2155
  readonly variant: import("@angular/core").InputSignal<"primary" | "secondary" | "danger" | "warning" | "link" | "ghost" | "tab" | "icon" | "icon-danger">;
2156
+ /** Renders an anchor to this route instead of a button (use with `variant="link"` for an inline text link). `['/settings']` or `'/settings'`. */
2157
+ readonly routerLink: import("@angular/core").InputSignal<string | readonly unknown[] | null>;
2158
+ /** Query params of the `routerLink` (e.g. `{ section: 'deal-defaults' }`). */
2159
+ readonly queryParams: import("@angular/core").InputSignal<Record<string, unknown> | null>;
2153
2160
  readonly color: import("@angular/core").InputSignal<string | undefined>;
2154
2161
  readonly active: import("@angular/core").InputSignal<boolean>;
2155
2162
  readonly size: import("@angular/core").InputSignal<"sm" | "md" | "xs" | "lg">;
@@ -2171,6 +2178,16 @@ export declare class ButtonComponent {
2171
2178
  "required": false;
2172
2179
  "isSignal": true;
2173
2180
  };
2181
+ "routerLink": {
2182
+ "alias": "routerLink";
2183
+ "required": false;
2184
+ "isSignal": true;
2185
+ };
2186
+ "queryParams": {
2187
+ "alias": "queryParams";
2188
+ "required": false;
2189
+ "isSignal": true;
2190
+ };
2174
2191
  "color": {
2175
2192
  "alias": "color";
2176
2193
  "required": false;
@@ -5632,6 +5649,8 @@ export declare class DateRangePickerComponent {
5632
5649
  readonly activePreset: import("@angular/core").InputSignal<DatePreset>;
5633
5650
  readonly showPresets: import("@angular/core").InputSignal<boolean>;
5634
5651
  readonly includeAllTime: import("@angular/core").InputSignal<boolean>;
5652
+ /** Accessible name of the preset tab list (screen readers announce it when the tabs get focus). */
5653
+ readonly ariaLabel: import("@angular/core").InputSignal<string>;
5635
5654
  readonly rangeChange: import("@angular/core").OutputEmitterRef<DateRange>;
5636
5655
  /** Follows `activePreset` from the host, and the user's own picks in between. */
5637
5656
  protected readonly selectedPreset: import("@angular/core").WritableSignal<DatePreset>;
@@ -5657,6 +5676,11 @@ export declare class DateRangePickerComponent {
5657
5676
  "required": false;
5658
5677
  "isSignal": true;
5659
5678
  };
5679
+ "ariaLabel": {
5680
+ "alias": "ariaLabel";
5681
+ "required": false;
5682
+ "isSignal": true;
5683
+ };
5660
5684
  }, {
5661
5685
  "rangeChange": "rangeChange";
5662
5686
  }, never, never, true, never>;
@@ -6171,7 +6195,7 @@ export declare class DetailCardComponent {
6171
6195
  /** Bold uppercase title. Empty = no title text. */
6172
6196
  readonly title: import("@angular/core").InputSignal<string>;
6173
6197
  /** 1-6 makes the title a real heading for screen readers (role=heading, aria-level); null keeps it plain text. */
6174
- readonly headingLevel: import("@angular/core").InputSignal<1 | 2 | 3 | 4 | 5 | 6 | null>;
6198
+ readonly headingLevel: import("@angular/core").InputSignal<1 | 2 | 5 | 3 | 6 | 4 | null>;
6175
6199
  /** Optional id for the title text; the card is then labelled by it. Without it the title is the card's aria-label. */
6176
6200
  readonly titleId: import("@angular/core").InputSignal<string>;
6177
6201
  /** Grey line under the title. */