valtech-components 2.0.809 → 2.0.810

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.
@@ -0,0 +1,38 @@
1
+ import { AccordionMetadata } from '../../molecules/accordion/types';
2
+ import { FaqCategory, FaqMetadata } from './types';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * `val-faq`
6
+ *
7
+ * Organism de preguntas frecuentes. Q&A categorizado con accordion colapsable
8
+ * y buscador en vivo. Pensado para vistas FAQ públicas — el caller puede
9
+ * reusar la misma data (`FaqMetadata.categories`) para emitir el structured
10
+ * data `FAQPage` (JSON-LD) y ganar rich results en buscadores.
11
+ *
12
+ * Compone `val-accordion` (una por categoría) + `val-searchbar`.
13
+ *
14
+ * @example
15
+ * ```html
16
+ * <val-faq [props]="{ categories: faqCategories, searchable: true }" />
17
+ * ```
18
+ */
19
+ export declare class FaqComponent {
20
+ private readonly props_;
21
+ set props(value: FaqMetadata | undefined);
22
+ get props(): FaqMetadata;
23
+ /** Término de búsqueda actual (lowercase). */
24
+ private readonly query;
25
+ /**
26
+ * Categorías visibles tras aplicar el filtro de búsqueda. Una categoría
27
+ * desaparece si ninguna de sus preguntas matchea. El match es sobre
28
+ * pregunta + respuesta, case-insensitive.
29
+ */
30
+ readonly visibleCategories: import("@angular/core").Signal<FaqCategory[]>;
31
+ /** `true` si se debe mostrar el label de cada categoría. */
32
+ readonly showCategoryLabel: import("@angular/core").Signal<boolean>;
33
+ /** Mapea una categoría a `AccordionMetadata` para `val-accordion`. */
34
+ accordionFor(cat: FaqCategory): AccordionMetadata;
35
+ onSearch(term: string): void;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<FaqComponent, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<FaqComponent, "val-faq", never, { "props": { "alias": "props"; "required": false; }; }, {}, never, never, true, never>;
38
+ }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Tipos del organism `val-faq`.
3
+ *
4
+ * Modelo Q&A categorizado. Pensado para vistas FAQ públicas (sitio corporativo)
5
+ * — el caller también puede usar la misma data para emitir structured data
6
+ * `FAQPage` (JSON-LD) y ganar rich results en buscadores.
7
+ */
8
+ /** Una pregunta-respuesta. */
9
+ export interface FaqItem {
10
+ /** Identificador único dentro de la FAQ — usado como track + accordion value. */
11
+ id: string;
12
+ /** La pregunta. */
13
+ question: string;
14
+ /** La respuesta. Texto plano (los saltos de línea se respetan). */
15
+ answer: string;
16
+ }
17
+ /** Grupo de preguntas bajo un tema. */
18
+ export interface FaqCategory {
19
+ /** Identificador único de la categoría. */
20
+ id: string;
21
+ /** Etiqueta visible del grupo. */
22
+ label: string;
23
+ /** Preguntas del grupo. */
24
+ items: FaqItem[];
25
+ }
26
+ /**
27
+ * Configuración del organism `val-faq`.
28
+ *
29
+ * @example
30
+ * ```html
31
+ * <val-faq
32
+ * [props]="{
33
+ * categories: faqCategories,
34
+ * searchable: true,
35
+ * searchPlaceholder: 'Buscar...',
36
+ * }"
37
+ * />
38
+ * ```
39
+ */
40
+ export interface FaqMetadata {
41
+ /** Categorías con sus preguntas, en orden de aparición. */
42
+ categories: FaqCategory[];
43
+ /** Muestra el buscador que filtra preguntas en vivo. Default `true`. */
44
+ searchable?: boolean;
45
+ /** Placeholder del buscador. */
46
+ searchPlaceholder?: string;
47
+ /** Permite varias preguntas abiertas a la vez. Default `false`. */
48
+ multiple?: boolean;
49
+ /** Texto cuando la búsqueda no arroja resultados. */
50
+ noResultsText?: string;
51
+ /** Oculta el label de categoría cuando solo hay una. Default `true`. */
52
+ hideSingleCategoryLabel?: boolean;
53
+ }
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.809";
5
+ export declare const VERSION = "2.0.810";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "2.0.809",
3
+ "version": "2.0.810",
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
@@ -226,6 +226,8 @@ export * from './lib/components/organisms/avatar-upload/avatar-upload.component'
226
226
  export * from './lib/components/organisms/avatar-upload/types';
227
227
  export * from './lib/components/organisms/skeleton-layout/skeleton-layout.component';
228
228
  export * from './lib/components/organisms/skeleton-layout/types';
229
+ export * from './lib/components/organisms/faq/faq.component';
230
+ export * from './lib/components/organisms/faq/types';
229
231
  export * from './lib/components/templates/simple/simple.component';
230
232
  export * from './lib/components/templates/simple/types';
231
233
  export * from './lib/components/templates/page-template/page-template.component';