valtech-components 2.0.727 → 2.0.729

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.
@@ -43,7 +43,7 @@ export declare class RightsFooterComponent {
43
43
  /**
44
44
  * Computed helper for color prop in template.
45
45
  */
46
- propsColor: import("@angular/core").Signal<"medium" | "primary" | "secondary" | "tertiary" | "success" | "warning" | "danger" | "light" | "dark">;
46
+ propsColor: import("@angular/core").Signal<"primary" | "secondary" | "tertiary" | "success" | "warning" | "danger" | "light" | "medium" | "dark">;
47
47
  /**
48
48
  * Computed helper for withMargin prop in template.
49
49
  */
@@ -11,7 +11,7 @@ export declare class TextComponent {
11
11
  */
12
12
  displayContent: import("@angular/core").Signal<string>;
13
13
  propsColor: import("@angular/core").Signal<import("@ionic/core").Color>;
14
- propsSize: import("@angular/core").Signal<"small" | "medium" | "large" | "xlarge">;
14
+ propsSize: import("@angular/core").Signal<"medium" | "small" | "large" | "xlarge">;
15
15
  propsBold: import("@angular/core").Signal<boolean>;
16
16
  propsProcessLinks: import("@angular/core").Signal<boolean>;
17
17
  propsAllowPartialBold: import("@angular/core").Signal<boolean>;
@@ -48,7 +48,7 @@ export declare class FeaturesListComponent {
48
48
  iconColor: string;
49
49
  iconSize: number;
50
50
  mode: "horizontal" | "vertical";
51
- gap: "small" | "medium" | "large";
51
+ gap: "medium" | "small" | "large";
52
52
  alignment: "start" | "center";
53
53
  }>;
54
54
  /** Resolved icon color (handles Ionic colors and CSS colors) */
@@ -45,7 +45,7 @@ export declare class ArticleComponent implements OnInit {
45
45
  getVideoElement(element: ArticleElement): ArticleVideoElement;
46
46
  getCustomElement(element: ArticleElement): ArticleCustomElement;
47
47
  getQuoteTextProps(element: ArticleElement): {
48
- size: "small" | "medium" | "large" | "xlarge";
48
+ size: "medium" | "small" | "large" | "xlarge";
49
49
  color: import("@ionic/core").Color;
50
50
  content?: string;
51
51
  bold: boolean;
@@ -61,7 +61,7 @@ export declare class ArticleComponent implements OnInit {
61
61
  showQuoteMark?: boolean;
62
62
  };
63
63
  getHighlightTextProps(element: ArticleElement): {
64
- size: "small" | "medium" | "large" | "xlarge";
64
+ size: "medium" | "small" | "large" | "xlarge";
65
65
  color: import("@ionic/core").Color;
66
66
  content?: string;
67
67
  bold: boolean;
@@ -90,7 +90,7 @@ export declare class ArticleComponent implements OnInit {
90
90
  contentInterpolation?: Record<string, string | number>;
91
91
  icon?: import("valtech-components").IconMetada;
92
92
  shape?: "round";
93
- size?: "small" | "large" | "default";
93
+ size?: "small" | "default" | "large";
94
94
  fill?: "default" | "clear" | "outline" | "solid";
95
95
  type: "button" | "submit" | "reset";
96
96
  token?: string;
@@ -63,7 +63,8 @@ export declare class BottomNavComponent implements OnInit, OnDestroy {
63
63
  i18nNamespace?: string;
64
64
  hideLabels: boolean;
65
65
  safeArea: boolean;
66
- animation: "none" | "slide" | "fade" | "scale";
66
+ animation: "fade" | "scale" | "slide" | "none";
67
+ maxWidth: string;
67
68
  }>;
68
69
  /** Computed tabs with FAB inserted if present */
69
70
  displayTabs: import("@angular/core").Signal<BottomNavTab[]>;
@@ -75,6 +76,8 @@ export declare class BottomNavComponent implements OnInit, OnDestroy {
75
76
  getLabel(tab: BottomNavTab): string;
76
77
  /** Get CSS variables for theming */
77
78
  getThemeStyles(): Record<string, string>;
79
+ /** Resolve maxWidth token (sm|md|lg|xl|full) to CSS var or raw value */
80
+ resolveMaxWidth(v?: string): string;
78
81
  ngOnInit(): void;
79
82
  ngOnDestroy(): void;
80
83
  /** Handle tab click */
@@ -109,10 +109,12 @@ export interface BottomNavMetadata {
109
109
  safeArea?: boolean;
110
110
  /** Animation style */
111
111
  animation?: 'fade' | 'scale' | 'slide' | 'none';
112
+ /** Cap del ancho de la barra. Token sm|md|lg|xl|full o valor CSS crudo. Default: 'xl' (1100px) — alinea con `--val-container-xl` del repo */
113
+ maxWidth?: 'sm' | 'md' | 'lg' | 'xl' | 'full' | string;
112
114
  }
113
115
  /**
114
116
  * Default values for BottomNavMetadata
115
117
  */
116
- export declare const BOTTOM_NAV_DEFAULTS: Required<Pick<BottomNavMetadata, 'hideLabels' | 'safeArea' | 'animation'>> & {
118
+ export declare const BOTTOM_NAV_DEFAULTS: Required<Pick<BottomNavMetadata, 'hideLabels' | 'safeArea' | 'animation' | 'maxWidth'>> & {
117
119
  theme: Required<BottomNavTheme>;
118
120
  };
@@ -72,7 +72,7 @@ export declare class ToolbarComponent implements OnInit {
72
72
  };
73
73
  showFlags?: boolean;
74
74
  color: import("@ionic/core").Color;
75
- size?: "small" | "large" | "default";
75
+ size?: "small" | "default" | "large";
76
76
  fill?: "default" | "clear" | "outline" | "solid";
77
77
  shape?: "round";
78
78
  expand?: "full" | "block";
@@ -50,6 +50,16 @@ export interface HandoffCreateResponse {
50
50
  expiresAt: string;
51
51
  /** Echoed `route` from the request, when provided. */
52
52
  route?: string;
53
+ /**
54
+ * Absolute base URL of the target app (e.g. `"https://sigify.com"`).
55
+ *
56
+ * When present, callers should use this as the destination for the redirect.
57
+ * Backend resolves it from the `app-config` table (single source of truth).
58
+ *
59
+ * Optional for backward compatibility — when missing, callers may fall back
60
+ * to a client-side `appUrls` mapping.
61
+ */
62
+ targetBaseUrl?: string;
53
63
  }
54
64
  /**
55
65
  * Response body from `POST /v2/auth/handoff/exchange`.
@@ -0,0 +1,31 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ArticleMetadata } from '../../components/organisms/article/types';
3
+ import * as i0 from "@angular/core";
4
+ export type LegalSlug = 'terms' | 'privacy' | 'cookies' | 'data-usage' | 'legal-notice' | string;
5
+ export interface LegalLoadOptions {
6
+ /** Two-letter locale code (es, en, pt). Falls back to `es` on 404. */
7
+ locale?: string;
8
+ /** Override base path (default `/assets/legal`). */
9
+ basePath?: string;
10
+ /** Fallback locale tried when the requested one is missing. Set null to disable. */
11
+ fallbackLocale?: string | null;
12
+ }
13
+ /**
14
+ * Loads Markdown legal documents from `/assets/legal/{locale}/{slug}.md` and parses them
15
+ * into ArticleMetadata ready for `<val-article>`. Caches parsed results by `locale:slug`
16
+ * so multiple views consuming the same doc share one HTTP request.
17
+ */
18
+ export declare class LegalContentService {
19
+ private readonly http;
20
+ private readonly parser;
21
+ private readonly DEFAULT_BASE;
22
+ private readonly cache;
23
+ load(slug: LegalSlug, options?: LegalLoadOptions): Observable<ArticleMetadata>;
24
+ /** Returns the raw Markdown string without parsing. Useful for debugging. */
25
+ raw(slug: LegalSlug, options?: LegalLoadOptions): Observable<string>;
26
+ /** Clears the in-memory cache. Call when the user changes locale at runtime. */
27
+ invalidate(): void;
28
+ private fetchAndParse;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<LegalContentService, never>;
30
+ static ɵprov: i0.ɵɵInjectableDeclaration<LegalContentService>;
31
+ }
@@ -0,0 +1,31 @@
1
+ import { ArticleMetadata } from '../../components/organisms/article/types';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Converts Markdown documents into ArticleMetadata for the val-article organism.
5
+ *
6
+ * Supported syntax:
7
+ * - Headings (#, ##, ### …) → title / subtitle
8
+ * - Paragraphs → paragraph (with `processLinks` + `allowPartialBold`)
9
+ * - Lists (-, *, 1.) → unordered / ordered list (- [ ] / - [x] for checklist)
10
+ * - Blockquotes (>) → quote, with GitHub callouts `> [!NOTE|TIP|INFO|WARNING|CAUTION|IMPORTANT]` mapped to notes
11
+ * - Code fences (```lang) → code
12
+ * - Box-drawing ASCII art (┌┐└┘│─) auto-wrapped as code
13
+ * - Tables → flattened into paragraphs with bold keys
14
+ * - Horizontal rules (---, ***, ___) → separator
15
+ */
16
+ export declare class MarkdownArticleParserService {
17
+ parse(markdown: string, config?: Partial<ArticleMetadata>): ArticleMetadata;
18
+ private normalize;
19
+ private startsNewBlock;
20
+ private makeHeading;
21
+ private makeQuoteOrCallout;
22
+ private makeNote;
23
+ /**
24
+ * Tables are flattened into a header subtitle (if present) followed by one paragraph per
25
+ * data row using `**col[0]:** col[1] · **col[2]:** col[3] …` format. val-article has no
26
+ * native table element so this preserves the information without breaking the layout.
27
+ */
28
+ private makeTable;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownArticleParserService, never>;
30
+ static ɵprov: i0.ɵɵInjectableDeclaration<MarkdownArticleParserService>;
31
+ }
package/lib/version.d.ts CHANGED
@@ -2,4 +2,4 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export declare const VERSION = "2.0.727";
5
+ export declare const VERSION = "2.0.729";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "2.0.727",
3
+ "version": "2.0.729",
4
4
  "private": false,
5
5
  "bin": {
6
6
  "valtech-firebase-config": "./src/lib/services/firebase/scripts/generate-sw-config.js"
package/public-api.d.ts CHANGED
@@ -239,6 +239,8 @@ export * from './lib/services/qr-generator/types';
239
239
  export * from './lib/services/modal/modal.service';
240
240
  export * from './lib/services/modal/types';
241
241
  export * from './lib/services/meta';
242
+ export * from './lib/services/markdown-article/markdown-article-parser.service';
243
+ export * from './lib/services/markdown-article/legal-content.service';
242
244
  export * from './lib/services/firebase';
243
245
  export * from './lib/services/auth';
244
246
  export * from './lib/services/i18n';