valtech-components 2.0.613 → 2.0.615

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.
@@ -39,7 +39,7 @@ export declare class RightsFooterComponent {
39
39
  /**
40
40
  * Computed helper for align prop in template.
41
41
  */
42
- propsAlign: import("@angular/core").Signal<"left" | "center" | "right">;
42
+ propsAlign: import("@angular/core").Signal<"center" | "left" | "right">;
43
43
  /**
44
44
  * Computed helper for color prop in template.
45
45
  */
@@ -0,0 +1,66 @@
1
+ import { FeatureItem, FeaturesListMetadata } from './types';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * val-features-list
5
+ *
6
+ * A component to display a list of features with icons, titles, and descriptions.
7
+ * Supports i18n for all text content.
8
+ *
9
+ * @example
10
+ * ```html
11
+ * <val-features-list
12
+ * [props]="{
13
+ * features: [
14
+ * { icon: 'flash-outline', titleKey: 'feature1Title', descriptionKey: 'feature1Desc' },
15
+ * { icon: 'color-palette-outline', titleKey: 'feature2Title', descriptionKey: 'feature2Desc' }
16
+ * ],
17
+ * i18nNamespace: 'Features',
18
+ * iconColor: 'primary',
19
+ * mode: 'vertical'
20
+ * }"
21
+ * />
22
+ * ```
23
+ *
24
+ * @example With custom SVG icons
25
+ * ```html
26
+ * <val-features-list
27
+ * [props]="{
28
+ * features: [
29
+ * {
30
+ * icon: 'custom',
31
+ * svgPath: 'M13 2L3 14h9l-1 8 10-12h-9l1-8z',
32
+ * titleKey: 'Fast & Secure',
33
+ * descriptionKey: 'Modern authentication with OAuth and MFA'
34
+ * }
35
+ * ]
36
+ * }"
37
+ * />
38
+ * ```
39
+ */
40
+ export declare class FeaturesListComponent {
41
+ private i18n;
42
+ /** Component configuration */
43
+ readonly props: import("@angular/core").InputSignal<FeaturesListMetadata>;
44
+ /** Merged configuration with defaults */
45
+ config: import("@angular/core").Signal<{
46
+ features: FeatureItem[];
47
+ i18nNamespace?: string;
48
+ iconColor: string;
49
+ iconSize: number;
50
+ mode: "vertical" | "horizontal";
51
+ gap: "small" | "medium" | "large";
52
+ alignment: "start" | "center";
53
+ }>;
54
+ /** Resolved icon color (handles Ionic colors and CSS colors) */
55
+ iconColorStyle: import("@angular/core").Signal<string>;
56
+ /**
57
+ * Get translated title or return direct text
58
+ */
59
+ getTitle(feature: FeatureItem): string;
60
+ /**
61
+ * Get translated description or return direct text
62
+ */
63
+ getDescription(feature: FeatureItem): string;
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeaturesListComponent, never>;
65
+ static ɵcmp: i0.ɵɵComponentDeclaration<FeaturesListComponent, "val-features-list", never, { "props": { "alias": "props"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
66
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Feature item configuration
3
+ */
4
+ export interface FeatureItem {
5
+ /** Ionicon name or 'custom' for SVG path */
6
+ icon: string;
7
+ /** SVG path data (only used when icon is 'custom') */
8
+ svgPath?: string;
9
+ /** Title i18n key or direct text */
10
+ titleKey: string;
11
+ /** Description i18n key or direct text */
12
+ descriptionKey: string;
13
+ }
14
+ /**
15
+ * Features list component configuration
16
+ */
17
+ export interface FeaturesListMetadata {
18
+ /** Array of features to display */
19
+ features: FeatureItem[];
20
+ /** i18n namespace for translations (if using keys) */
21
+ i18nNamespace?: string;
22
+ /** Icon color (Ionic color or CSS color) */
23
+ iconColor?: string;
24
+ /** Icon size in pixels */
25
+ iconSize?: number;
26
+ /** Layout mode: 'vertical' stacks features, 'horizontal' displays them in a row */
27
+ mode?: 'vertical' | 'horizontal';
28
+ /** Gap between features */
29
+ gap?: 'small' | 'medium' | 'large';
30
+ /** Alignment of features */
31
+ alignment?: 'start' | 'center';
32
+ }
33
+ /**
34
+ * Default values for FeaturesListMetadata
35
+ */
36
+ export declare const FEATURES_LIST_DEFAULTS: Required<Omit<FeaturesListMetadata, 'features' | 'i18nNamespace'>>;
@@ -57,7 +57,7 @@ export declare class ArticleComponent implements OnInit {
57
57
  linkConfig?: import("valtech-components").LinkProcessorConfig;
58
58
  allowPartialBold?: boolean;
59
59
  authorColor?: import("@ionic/core").Color;
60
- alignment?: "left" | "center" | "right";
60
+ alignment?: "center" | "left" | "right";
61
61
  showQuoteMark?: boolean;
62
62
  };
63
63
  getHighlightTextProps(element: ArticleElement): {
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Shared Company Footer Configuration
3
+ *
4
+ * This configuration is shared across all Valtech products:
5
+ * - ui-docs
6
+ * - showcase
7
+ * - myvaltech (company website)
8
+ *
9
+ * When links or social profiles change, update here and publish a new version.
10
+ */
11
+ /**
12
+ * Social media links for Valtech
13
+ */
14
+ export declare const VALTECH_SOCIAL_LINKS: {
15
+ icon: string;
16
+ url: string;
17
+ name: string;
18
+ }[];
19
+ /**
20
+ * Footer logo configuration
21
+ * Uses CSS variables for theme-aware logo switching
22
+ */
23
+ export declare const VALTECH_FOOTER_LOGO: {
24
+ logo: string;
25
+ logoDark: string;
26
+ logoAlt: string;
27
+ logoRoute: string;
28
+ };
29
+ /**
30
+ * Company link definition
31
+ */
32
+ export interface CompanyLink {
33
+ /** i18n key for the link text */
34
+ key: string;
35
+ /** URL path or external URL */
36
+ url: string;
37
+ /** Whether the link opens in a new tab */
38
+ external?: boolean;
39
+ }
40
+ /**
41
+ * Company links organized by section
42
+ */
43
+ export declare const VALTECH_COMPANY_LINKS: {
44
+ legal: CompanyLink[];
45
+ support: CompanyLink[];
46
+ };
47
+ /**
48
+ * i18n keys for the footer (Layout namespace)
49
+ * These should be registered in each app's i18n config
50
+ */
51
+ export declare const VALTECH_FOOTER_I18N: {
52
+ es: {
53
+ footerLeftTitle: string;
54
+ footerRightTitle: string;
55
+ aboutUs: string;
56
+ privacyPolicy: string;
57
+ termsConditions: string;
58
+ contactSupport: string;
59
+ faq: string;
60
+ feedback: string;
61
+ };
62
+ en: {
63
+ footerLeftTitle: string;
64
+ footerRightTitle: string;
65
+ aboutUs: string;
66
+ privacyPolicy: string;
67
+ termsConditions: string;
68
+ contactSupport: string;
69
+ faq: string;
70
+ feedback: string;
71
+ };
72
+ };
73
+ /**
74
+ * Default language selector configuration for footer
75
+ */
76
+ export declare const VALTECH_LANGUAGE_SELECTOR: {
77
+ mode: "default";
78
+ showFlags: boolean;
79
+ showLabel: boolean;
80
+ fill: "outline";
81
+ size: "default";
82
+ };
83
+ /**
84
+ * Helper to build footer links from company links config
85
+ * @param links - Array of company links
86
+ * @param t - Translation function (key: string) => string
87
+ * @returns Array of link objects ready for FooterLinksMetadata
88
+ */
89
+ export declare function buildFooterLinks(links: CompanyLink[], t: (key: string) => string): Array<{
90
+ url: string;
91
+ text: string;
92
+ color: string;
93
+ token: string;
94
+ download: boolean;
95
+ hoverable: boolean;
96
+ target?: string;
97
+ }>;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Shared configuration exports
3
+ */
4
+ export * from './company-footer.config';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "2.0.613",
3
+ "version": "2.0.615",
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
@@ -153,6 +153,8 @@ export * from './lib/components/molecules/recap-card/recap-card.component';
153
153
  export * from './lib/components/molecules/recap-card/types';
154
154
  export * from './lib/components/molecules/testimonial-card/testimonial-card.component';
155
155
  export * from './lib/components/molecules/testimonial-card/types';
156
+ export * from './lib/components/molecules/features-list/features-list.component';
157
+ export * from './lib/components/molecules/features-list/types';
156
158
  export * from './lib/components/molecules/footer-links/footer-links.component';
157
159
  export * from './lib/components/molecules/footer-links/types';
158
160
  export * from './lib/components/molecules/links-accordion/links-accordion.component';
@@ -270,3 +272,4 @@ export * from './lib/shared/utils/dom';
270
272
  export * from './lib/shared/utils/form-defaults';
271
273
  export * from './lib/shared/utils/styles';
272
274
  export * from './lib/shared/utils/text';
275
+ export * from './lib/config';