@rededor/site-front-end-lib 0.0.31 → 0.0.33

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,36 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { AlgoliaConfig, AlgoliaSearchParams } from '../../models/algolia-search-api.model';
3
+ import { AlgoliaSearchApiService } from '../../services/algolia-search-api/algolia-search-api.service';
4
+ import { AlgoliaOption } from '../../models/algolia.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class AlgoliaComponent {
7
+ private readonly algoliaSearchApiService;
8
+ compAlgoliaConfig: AlgoliaConfig;
9
+ get algoliaConfig(): AlgoliaConfig;
10
+ set algoliaConfig(config: AlgoliaConfig);
11
+ label: string;
12
+ name: string;
13
+ required: boolean;
14
+ selected: boolean;
15
+ value: string;
16
+ placeholder: string;
17
+ deleteButton: boolean;
18
+ iconName: string;
19
+ status: 'default' | 'error';
20
+ startSearchAtCharLen: number;
21
+ hintTitle: string;
22
+ hints: AlgoliaOption[];
23
+ searchParams: AlgoliaSearchParams;
24
+ searchTerm: string;
25
+ isMultiple: boolean;
26
+ ready: boolean;
27
+ resetItem: EventEmitter<{}>;
28
+ algoliaResults: EventEmitter<{}>;
29
+ constructor(algoliaSearchApiService: AlgoliaSearchApiService);
30
+ resetValues(): void;
31
+ termChange(event: any): void;
32
+ setupAlgolia(config: AlgoliaConfig): boolean;
33
+ search(): void;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<AlgoliaComponent, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<AlgoliaComponent, "rdsite-algolia", never, { "algoliaConfig": { "alias": "algoliaConfig"; "required": false; }; "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "value": { "alias": "value"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "deleteButton": { "alias": "deleteButton"; "required": false; }; "iconName": { "alias": "iconName"; "required": false; }; "status": { "alias": "status"; "required": false; }; "startSearchAtCharLen": { "alias": "startSearchAtCharLen"; "required": false; }; "hintTitle": { "alias": "hintTitle"; "required": false; }; "hints": { "alias": "hints"; "required": false; }; "searchParams": { "alias": "searchParams"; "required": false; }; }, { "resetItem": "resetItem"; "algoliaResults": "algoliaResults"; }, never, ["*"], true, never>;
36
+ }
@@ -24,3 +24,4 @@ export * from './side-ctas/components/side-ctas-right-bottom/side-ctas-right-bot
24
24
  export * from './side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component';
25
25
  export * from './side-ctas/components/side-ctas-right-top/side-ctas-right-top.component';
26
26
  export * from './whatsapp/whatsapp.component';
27
+ export * from './algolia/algolia.component';
@@ -0,0 +1,167 @@
1
+ export interface AlgoliaResult<T> {
2
+ exhaustiveNbHits: boolean;
3
+ exhaustiveTypo: boolean;
4
+ hits: T[];
5
+ hitsPerPage: number;
6
+ indexUsed: string;
7
+ nbHits: number;
8
+ nbPages: number;
9
+ page: number;
10
+ params: string;
11
+ parsedQuery: string;
12
+ processingTimeMS: number;
13
+ query: string;
14
+ renderingContent: any;
15
+ }
16
+ export interface AlgoliaMultipleResults {
17
+ results: AlgoliaResult<any>[];
18
+ }
19
+ export interface RdslAlgoliaMultipleIndex {
20
+ indexName: string;
21
+ params?: RdslAlgoliaSearchParams;
22
+ query?: string;
23
+ }
24
+ export interface RdslAlgoliaSearchParams {
25
+ query?: string;
26
+ similarQuery?: string;
27
+ attributesToRetrieve?: string[];
28
+ restrictSearchableAttributes?: string[];
29
+ filters?: string;
30
+ facetFilters?: any[];
31
+ optionalFilters?: any[];
32
+ numericFilters?: string[];
33
+ tagFilters?: any[];
34
+ sumOrFiltersScores?: boolean;
35
+ facets?: string[];
36
+ maxValuesPerFacet?: number;
37
+ facetingAfterDistinct?: boolean;
38
+ sortFacetValuesBy?: 'count' | 'alpha';
39
+ attributesToHighlight?: string[];
40
+ attributesToSnippet?: string[];
41
+ highlightPreTag?: string;
42
+ highlightPostTag?: string;
43
+ snippetEllipsisText?: string;
44
+ restrictHighlightAndSnippetArrays?: boolean;
45
+ page?: number;
46
+ hitsPerPage?: number;
47
+ offset?: number;
48
+ length?: number;
49
+ minWordSizefor1Typo?: number;
50
+ minWordSizefor2Typos?: number;
51
+ typoTolerance?: boolean | 'min' | 'strict';
52
+ allowTyposOnNumericTokens?: boolean;
53
+ disableTypoToleranceOnAttributes?: string[];
54
+ aroundLatLng?: string;
55
+ aroundLatLngViaIP?: boolean;
56
+ aroundRadius?: number | 'all';
57
+ aroundPrecision?: number | any[];
58
+ minimumAroundRadius?: number;
59
+ insideBoundingBox?: any[];
60
+ insidePolygon?: any[];
61
+ ignorePlurals?: boolean | string[];
62
+ removeStopWords?: boolean | string[];
63
+ queryLanguages?: string[];
64
+ naturalLanguages?: string[];
65
+ enableRules?: boolean;
66
+ ruleContexts?: string[];
67
+ enablePersonalization?: boolean;
68
+ personalizationImpact?: number;
69
+ userToken?: string;
70
+ queryType?: 'prefixLast' | 'prefixAll' | 'prefixNone';
71
+ removeWordsIfNoResults?: 'none' | 'lastWords' | 'firstWords' | 'allOptional';
72
+ advancedSyntax?: boolean;
73
+ optionalWords?: string[];
74
+ disableExactOnAttributes?: string[];
75
+ exactOnSingleWordQuery?: 'attribute' | 'none' | 'word';
76
+ alternativesAsExact?: string[];
77
+ advancedSyntaxFeatures?: string[];
78
+ distinct?: 0 | 1 | 2 | 3;
79
+ getRankingInfo?: boolean;
80
+ clickAnalytics?: boolean;
81
+ analytics?: boolean;
82
+ analyticsTags?: string[];
83
+ synonyms?: boolean;
84
+ replaceSynonymsInHighlight?: boolean;
85
+ minProximity?: number;
86
+ responseFields?: string[];
87
+ maxFacetHits?: number;
88
+ percentileComputation?: boolean;
89
+ attributeCriteriaComputedByMinProximity?: boolean;
90
+ enableABTest?: boolean;
91
+ [propName: string]: any;
92
+ }
93
+ export interface AlgoliaSearchParams {
94
+ query?: string;
95
+ similarQuery?: string;
96
+ attributesToRetrieve?: string[];
97
+ restrictSearchableAttributes?: string[];
98
+ filters?: string;
99
+ facetFilters?: string[];
100
+ optionalFilters?: any[];
101
+ numericFilters?: string[];
102
+ tagFilters?: any[];
103
+ sumOrFiltersScores?: boolean;
104
+ facets?: string[];
105
+ maxValuesPerFacet?: number;
106
+ facetingAfterDistinct?: boolean;
107
+ sortFacetValuesBy?: 'count' | 'alpha';
108
+ attributesToHighlight?: string[];
109
+ attributesToSnippet?: string[];
110
+ highlightPreTag?: string;
111
+ highlightPostTag?: string;
112
+ snippetEllipsisText?: string;
113
+ restrictHighlightAndSnippetArrays?: boolean;
114
+ page?: number;
115
+ hitsPerPage?: number;
116
+ offset?: number;
117
+ length?: number;
118
+ minWordSizefor1Typo?: number;
119
+ minWordSizefor2Typos?: number;
120
+ typoTolerance?: boolean | 'min' | 'strict';
121
+ allowTyposOnNumericTokens?: boolean;
122
+ disableTypoToleranceOnAttributes?: string[];
123
+ aroundLatLng?: string;
124
+ aroundLatLngViaIP?: boolean;
125
+ aroundRadius?: number | string;
126
+ aroundPrecision?: number | any[];
127
+ minimumAroundRadius?: number;
128
+ insideBoundingBox?: any[];
129
+ insidePolygon?: any[];
130
+ ignorePlurals?: boolean | string[];
131
+ removeStopWords?: boolean | string[];
132
+ queryLanguages?: string[];
133
+ naturalLanguages?: string[];
134
+ enableRules?: boolean;
135
+ ruleContexts?: string[];
136
+ enablePersonalization?: boolean;
137
+ personalizationImpact?: number;
138
+ userToken?: string;
139
+ queryType?: 'prefixLast' | 'prefixAll' | 'prefixNone';
140
+ removeWordsIfNoResults?: 'none' | 'lastWords' | 'firstWords' | 'allOptional';
141
+ advancedSyntax?: boolean;
142
+ optionalWords?: string[];
143
+ disableExactOnAttributes?: string[];
144
+ exactOnSingleWordQuery?: 'attribute' | 'none' | 'word';
145
+ alternativesAsExact?: string[];
146
+ advancedSyntaxFeatures?: string[];
147
+ distinct?: 0 | 1 | 2 | 3;
148
+ getRankingInfo?: boolean;
149
+ clickAnalytics?: boolean;
150
+ analytics?: boolean;
151
+ analyticsTags?: string[];
152
+ synonyms?: boolean;
153
+ replaceSynonymsInHighlight?: boolean;
154
+ minProximity?: number;
155
+ responseFields?: string[];
156
+ maxFacetHits?: number;
157
+ percentileComputation?: boolean;
158
+ attributeCriteriaComputedByMinProximity?: boolean;
159
+ enableABTest?: boolean;
160
+ [propName: string]: any;
161
+ }
162
+ export interface AlgoliaConfig {
163
+ id: string;
164
+ key: string;
165
+ index?: string;
166
+ multipleIndex?: RdslAlgoliaMultipleIndex[];
167
+ }
@@ -0,0 +1,12 @@
1
+ export interface AlgoliaOption {
2
+ hit?: any;
3
+ value: string;
4
+ subtitle?: string | null;
5
+ icon?: string | null;
6
+ imageSrc?: string | null;
7
+ distance?: string | null;
8
+ avatar?: boolean;
9
+ deleteButton?: false;
10
+ type: string;
11
+ title: boolean;
12
+ }
@@ -0,0 +1,18 @@
1
+ import { RdslAlgoliaMultipleIndex } from '../../models/algolia-search-api.model';
2
+ import { AlgoliaMultipleResults, AlgoliaResult } from '../../models/algolia-search-api.model';
3
+ import { AlgoliaSearchParams } from '../../models/algolia-search-api.model';
4
+ import { Observable, Subscriber } from 'rxjs';
5
+ import { LibConfig } from '../../tokens/LibConfig';
6
+ import * as i0 from "@angular/core";
7
+ export declare class AlgoliaSearchApiService {
8
+ private libConfig;
9
+ constructor(libConfig: LibConfig);
10
+ searchAPI: any;
11
+ search(query: string, indexName: string, params?: AlgoliaSearchParams): Observable<AlgoliaResult<any>>;
12
+ searchMultipleIndexes(indexes: RdslAlgoliaMultipleIndex[]): Observable<AlgoliaMultipleResults>;
13
+ initAPI(): void;
14
+ subscriberNext(subscriber: Subscriber<any>, value: any): void;
15
+ subscriberError(subscriber: Subscriber<any>, message: any): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<AlgoliaSearchApiService, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<AlgoliaSearchApiService>;
18
+ }
@@ -1,12 +1,15 @@
1
1
  import { ElementRef, InjectionToken } from '@angular/core';
2
2
  export interface LibConfig {
3
3
  production: boolean;
4
+ environmentName: string;
5
+ siteProject: string;
4
6
  server: boolean;
5
7
  siteName: string;
6
8
  siteUrl: string;
7
9
  siteSufix?: string;
8
10
  client_id: string;
9
11
  xOriginApplication: string;
12
+ searchApiEnv: string;
10
13
  iconsetDefaultList: string[];
11
14
  siteApi: {
12
15
  auth: {
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@rededor/site-front-end-lib",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0",
7
7
  "@ngu/carousel": "^9.0.0",
8
- "@rededor/cura": ">=0.5.1 <=2.0.0 || ^1.0.0-alpha",
8
+ "@rededor/cura": ">=0.5.1 <2.0.0 || ^1.0.0",
9
9
  "algoliasearch": "^4.16.0",
10
10
  "express": "^4.18.2",
11
11
  "he": "^1.2.0",
12
12
  "ngx-device-detector": "^7.0.0",
13
- "crypto-js": "^4.2.0"
13
+ "crypto-js": "^4.2.0",
14
+ "@rededor/search-api-sdk": "^1.0.1"
14
15
  },
15
16
  "publishConfig": {
16
17
  "access": "public"