@depict-ai/ui 0.0.53 → 0.0.54
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/dist/index.d.ts +56 -1
- package/dist/main.js +2 -2
- package/dist/module.js +2 -2
- package/dist/typescript_schema/BaseSearchRequest.d.ts +197 -0
- package/dist/typescript_schema/ProductListingQueriesRequest.d.ts +14 -0
- package/dist/typescript_schema/ProductListingQueriesResponse.d.ts +10 -0
- package/dist/typescript_schema/ProductListingRequest.d.ts +221 -0
- package/dist/typescript_schema/ProductListingResponse.d.ts +232 -0
- package/dist/typescript_schema/RecommendResponse.d.ts +15 -0
- package/dist/typescript_schema/SearchRequest.d.ts +213 -0
- package/dist/typescript_schema/SearchResponse.d.ts +192 -0
- package/dist/typescript_schema/SearchSuggestionsRequest.d.ts +18 -0
- package/dist/typescript_schema/SearchSuggestionsResponse.d.ts +182 -0
- package/dist/typescript_schema/TrackV2Request.d.ts +115 -0
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { SearchSuggestionsRequest } from "@depict-ai/types/api/SearchSuggestions
|
|
|
9
9
|
import { ProductListingRequest } from "@depict-ai/types/api/ProductListingRequest";
|
|
10
10
|
import { ProductListingResponse, BaseCategoryDisplay } from "@depict-ai/types/api/ProductListingResponse";
|
|
11
11
|
import { JSX as _JSX1 } from "solid-js/types/jsx";
|
|
12
|
-
export const version = "0.0.
|
|
12
|
+
export const version = "0.0.54";
|
|
13
13
|
type ExclusiveId = {
|
|
14
14
|
categoryId: string;
|
|
15
15
|
productId?: undefined;
|
|
@@ -349,6 +349,61 @@ interface SearchFieldParams {
|
|
|
349
349
|
aligner_ref?: HTMLElement | null;
|
|
350
350
|
}
|
|
351
351
|
export function SearchField({ depict_search, modal_dispose_handler, click_handler, aligner_ref, }: SearchFieldParams): Node_Array;
|
|
352
|
+
export type DepictBaseConfig = {
|
|
353
|
+
/**
|
|
354
|
+
* The merchant to use for the search.
|
|
355
|
+
* @example "YOUR_MERCHANT", "stronger"
|
|
356
|
+
*/
|
|
357
|
+
merchant: string;
|
|
358
|
+
/**
|
|
359
|
+
* The market to use for the search.
|
|
360
|
+
* @example "YOUR_MARKET", "no", "en-de"
|
|
361
|
+
*/
|
|
362
|
+
market: string;
|
|
363
|
+
};
|
|
364
|
+
export type DepictSearchConfig = {
|
|
365
|
+
/**
|
|
366
|
+
* The path to the search page.
|
|
367
|
+
* @example "/search", "/sok"
|
|
368
|
+
*/
|
|
369
|
+
searchPagePath: string;
|
|
370
|
+
/**
|
|
371
|
+
* The name of the url parameter that will be used for the search query.
|
|
372
|
+
* @example "q", "search_query"
|
|
373
|
+
* @default "search_query"
|
|
374
|
+
*/
|
|
375
|
+
urlParamName?: string;
|
|
376
|
+
/**
|
|
377
|
+
* Whether to enable category suggestions in the search modal and search page.
|
|
378
|
+
* @default false
|
|
379
|
+
*/
|
|
380
|
+
enableCategorySuggestions?: boolean;
|
|
381
|
+
};
|
|
382
|
+
export interface BaseSearchPageConfig extends BasePLPConfig {
|
|
383
|
+
/**
|
|
384
|
+
* Whether to show the search input field in the search page.
|
|
385
|
+
* @default true
|
|
386
|
+
*/
|
|
387
|
+
includeInputField?: boolean;
|
|
388
|
+
}
|
|
389
|
+
export interface BasePLPConfig {
|
|
390
|
+
/**
|
|
391
|
+
* How many columns to show at each media size.
|
|
392
|
+
* @default
|
|
393
|
+
* [[2, 901], [3, 1024], [4]]
|
|
394
|
+
* @example
|
|
395
|
+
* [[2, 901], [3, 1024], [4]]
|
|
396
|
+
* means 2 columns at sizes up to 901px, 3 columns at sizes up to 1024px and after that 4 columns at any viewport size.
|
|
397
|
+
*/
|
|
398
|
+
columnsAtSize?: SDKColsAtSize;
|
|
399
|
+
/**
|
|
400
|
+
* The spacing between products.
|
|
401
|
+
* @default "2%"
|
|
402
|
+
* @example
|
|
403
|
+
* "2%", "10px", "1rem", {horizontal: "1%", vertical: "5px"}
|
|
404
|
+
*/
|
|
405
|
+
gridSpacing?: SDKGridSpacing;
|
|
406
|
+
}
|
|
352
407
|
type CenteredLocation = {
|
|
353
408
|
location?: "centered";
|
|
354
409
|
};
|
package/dist/main.js
CHANGED
|
@@ -33,7 +33,7 @@ $parcel$export(module.exports, "solid_format_price", () => $5fc9fc23df1591db$exp
|
|
|
33
33
|
$parcel$export(module.exports, "connect_search_field_height_to_aligner_height", () => $246e3e89a097f014$export$828dcdd425fd3231);
|
|
34
34
|
$parcel$export(module.exports, "PageReplacer", () => $37e96a5ebc768cc7$export$3ccaa27d81dd8556);
|
|
35
35
|
$parcel$export(module.exports, "version", () => $ae93561d5649a847$export$83d89fbfd8236492);
|
|
36
|
-
/*! Depict.ai search and product listing SDK */ const $ae93561d5649a847$export$83d89fbfd8236492 = "0.0.
|
|
36
|
+
/*! Depict.ai search and product listing SDK */ const $ae93561d5649a847$export$83d89fbfd8236492 = "0.0.54";
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
|
|
@@ -5074,7 +5074,7 @@ function $068a627cc18f7bb6$var$get_shared_properties(depict_category) {
|
|
|
5074
5074
|
|
|
5075
5075
|
|
|
5076
5076
|
|
|
5077
|
-
const $853f821e60bd06ea$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$46MJV$solidjsweb.template)(`<div class="category-title"><
|
|
5077
|
+
const $853f821e60bd06ea$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$46MJV$solidjsweb.template)(`<div class="category-title"><h1 class="title"></h1><span class="explanation"> — </span></div>`, 6);
|
|
5078
5078
|
const $853f821e60bd06ea$export$b91cec6bdc6b32a1 = /*@__PURE__*/ (()=>{
|
|
5079
5079
|
const actual_function = ({ category_title_: category_title_ , product_count_: product_count_ })=>{
|
|
5080
5080
|
return (()=>{
|
package/dist/module.js
CHANGED
|
@@ -2,7 +2,7 @@ import {add_to_version_info as $g9l4l$add_to_version_info, fetch_recs as $g9l4l$
|
|
|
2
2
|
import {template as $g9l4l$template, insert as $g9l4l$insert, effect as $g9l4l$effect, setAttribute as $g9l4l$setAttribute, createComponent as $g9l4l$createComponent, use as $g9l4l$use, addEventListener as $g9l4l$addEventListener, delegateEvents as $g9l4l$delegateEvents, spread as $g9l4l$spread, memo as $g9l4l$memo, style as $g9l4l$style, mergeProps as $g9l4l$mergeProps, classList as $g9l4l$classList, className as $g9l4l$className} from "solid-js/web";
|
|
3
3
|
import {createSignal as $g9l4l$createSignal, onCleanup as $g9l4l$onCleanup, createComputed as $g9l4l$createComputed, createEffect as $g9l4l$createEffect, untrack as $g9l4l$untrack, batch as $g9l4l$batch, createResource as $g9l4l$createResource, createMemo as $g9l4l$createMemo, Show as $g9l4l$Show, createRenderEffect as $g9l4l$createRenderEffect, runWithOwner as $g9l4l$runWithOwner, createRoot as $g9l4l$createRoot, getOwner as $g9l4l$getOwner, on as $g9l4l$on, Index as $g9l4l$Index, For as $g9l4l$For, ErrorBoundary as $g9l4l$ErrorBoundary} from "solid-js";
|
|
4
4
|
|
|
5
|
-
/*! Depict.ai search and product listing SDK */ const $18bf1d29fb889cca$export$83d89fbfd8236492 = "0.0.
|
|
5
|
+
/*! Depict.ai search and product listing SDK */ const $18bf1d29fb889cca$export$83d89fbfd8236492 = "0.0.54";
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -5043,7 +5043,7 @@ function $ec52ef1e6c117813$var$get_shared_properties(depict_category) {
|
|
|
5043
5043
|
|
|
5044
5044
|
|
|
5045
5045
|
|
|
5046
|
-
const $6340962f8bafd049$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$g9l4l$template)(`<div class="category-title"><
|
|
5046
|
+
const $6340962f8bafd049$var$_tmpl$ = /*@__PURE__*/ (0, /*@__PURE__*/$g9l4l$template)(`<div class="category-title"><h1 class="title"></h1><span class="explanation"> — </span></div>`, 6);
|
|
5047
5047
|
const $6340962f8bafd049$export$b91cec6bdc6b32a1 = /*@__PURE__*/ (()=>{
|
|
5048
5048
|
const actual_function = ({ category_title_: category_title_ , product_count_: product_count_ })=>{
|
|
5049
5049
|
return (()=>{
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/**
|
|
3
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
4
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
5
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* An enumeration.
|
|
10
|
+
*/
|
|
11
|
+
export type SortingOrder = "asc" | "desc";
|
|
12
|
+
|
|
13
|
+
export interface BaseSearchRequest {
|
|
14
|
+
tenant: string;
|
|
15
|
+
market: string;
|
|
16
|
+
/**
|
|
17
|
+
* List of filters to apply to the results.
|
|
18
|
+
*/
|
|
19
|
+
filters?: SearchFilter[];
|
|
20
|
+
/**
|
|
21
|
+
* Specifies the sorting method. By default, the results are ordered by relevance. To find the possible values for this field, query the endpoint and look at the `sorts` field.
|
|
22
|
+
*/
|
|
23
|
+
sort?: SortModel;
|
|
24
|
+
/**
|
|
25
|
+
* User identifier
|
|
26
|
+
*/
|
|
27
|
+
user_id?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Session identifier
|
|
30
|
+
*/
|
|
31
|
+
session_id?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Populated for integrations performed by Depict.ai only. Depict.ai Session Id
|
|
34
|
+
*/
|
|
35
|
+
dsid?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Metadata that can be used to modify the behaviour of the search.
|
|
38
|
+
*/
|
|
39
|
+
metadata?: {
|
|
40
|
+
[k: string]: string;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* The search query.
|
|
44
|
+
*/
|
|
45
|
+
query?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface SearchFilter {
|
|
48
|
+
/**
|
|
49
|
+
* The field to filter by.
|
|
50
|
+
*/
|
|
51
|
+
field: string;
|
|
52
|
+
/**
|
|
53
|
+
* The operation used for filtering. The filtering should be read as `field op data`, for example `brand in ["Nike", "Adidas"]`.
|
|
54
|
+
*/
|
|
55
|
+
op: "eq" | "neq" | "in" | "nin" | "leq" | "geq" | "inrange";
|
|
56
|
+
/**
|
|
57
|
+
* Data for the filter.
|
|
58
|
+
*/
|
|
59
|
+
data?:
|
|
60
|
+
| ("true" | "false")
|
|
61
|
+
| number
|
|
62
|
+
| number
|
|
63
|
+
| string
|
|
64
|
+
| [number, number]
|
|
65
|
+
| [number, number]
|
|
66
|
+
| [number, number]
|
|
67
|
+
| [number, number]
|
|
68
|
+
| (
|
|
69
|
+
| ("true" | "false")
|
|
70
|
+
| number
|
|
71
|
+
| number
|
|
72
|
+
| string
|
|
73
|
+
| [number, number]
|
|
74
|
+
| [number, number]
|
|
75
|
+
| [number, number]
|
|
76
|
+
| [number, number]
|
|
77
|
+
)[]
|
|
78
|
+
| (("true" | "false") | number | number | string)[][];
|
|
79
|
+
/**
|
|
80
|
+
* Metadata about the filter that can be used for rendering. For example, this could contain the possible values to filter by and their counts in the results.
|
|
81
|
+
*/
|
|
82
|
+
meta?: RangeFilterMeta | ValuesFilterMeta | HierarchicalValuesFilterMeta;
|
|
83
|
+
/**
|
|
84
|
+
* ID of the filter. If multiple filters share the same ID, they should be grouped together in the UI.
|
|
85
|
+
*/
|
|
86
|
+
id?: string;
|
|
87
|
+
}
|
|
88
|
+
export interface RangeFilterMeta {
|
|
89
|
+
/**
|
|
90
|
+
* Title of the group, where a group consists of all the filters that share an ID.
|
|
91
|
+
*/
|
|
92
|
+
group_title?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Whether the filter group should be expanded by default or not.
|
|
95
|
+
*/
|
|
96
|
+
group_expanded?: boolean;
|
|
97
|
+
type?: "range";
|
|
98
|
+
/**
|
|
99
|
+
* The minimum value that can be selected in the range.
|
|
100
|
+
*/
|
|
101
|
+
min: number;
|
|
102
|
+
/**
|
|
103
|
+
* The maximum value that can be selected in the range.
|
|
104
|
+
*/
|
|
105
|
+
max: number;
|
|
106
|
+
/**
|
|
107
|
+
* The unit of the range values.
|
|
108
|
+
*/
|
|
109
|
+
unit?: string;
|
|
110
|
+
/**
|
|
111
|
+
* The currency of the range values.
|
|
112
|
+
*/
|
|
113
|
+
currency?: string;
|
|
114
|
+
}
|
|
115
|
+
export interface ValuesFilterMeta {
|
|
116
|
+
/**
|
|
117
|
+
* Title of the group, where a group consists of all the filters that share an ID.
|
|
118
|
+
*/
|
|
119
|
+
group_title?: string;
|
|
120
|
+
/**
|
|
121
|
+
* Whether the filter group should be expanded by default or not.
|
|
122
|
+
*/
|
|
123
|
+
group_expanded?: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Type of filter.
|
|
126
|
+
*/
|
|
127
|
+
type?: "radio" | "checkbox" | "checkbox-grid";
|
|
128
|
+
/**
|
|
129
|
+
* Selectable values
|
|
130
|
+
*/
|
|
131
|
+
values: (
|
|
132
|
+
| ("true" | "false")
|
|
133
|
+
| number
|
|
134
|
+
| number
|
|
135
|
+
| string
|
|
136
|
+
| [number, number]
|
|
137
|
+
| [number, number]
|
|
138
|
+
| [number, number]
|
|
139
|
+
| [number, number]
|
|
140
|
+
)[];
|
|
141
|
+
/**
|
|
142
|
+
* Counts for values
|
|
143
|
+
*/
|
|
144
|
+
counts?: number[];
|
|
145
|
+
/**
|
|
146
|
+
* Names for values
|
|
147
|
+
*/
|
|
148
|
+
names?: string[];
|
|
149
|
+
}
|
|
150
|
+
export interface HierarchicalValuesFilterMeta {
|
|
151
|
+
/**
|
|
152
|
+
* Title of the group, where a group consists of all the filters that share an ID.
|
|
153
|
+
*/
|
|
154
|
+
group_title?: string;
|
|
155
|
+
/**
|
|
156
|
+
* Whether the filter group should be expanded by default or not.
|
|
157
|
+
*/
|
|
158
|
+
group_expanded?: boolean;
|
|
159
|
+
type?: "checkbox-hierarchical";
|
|
160
|
+
/**
|
|
161
|
+
* Selectable hierarchical values
|
|
162
|
+
*/
|
|
163
|
+
values: (("true" | "false") | number | number | string)[][];
|
|
164
|
+
/**
|
|
165
|
+
* Counts for values
|
|
166
|
+
*/
|
|
167
|
+
counts?: number[];
|
|
168
|
+
/**
|
|
169
|
+
* Names for hierarchical values
|
|
170
|
+
*/
|
|
171
|
+
names?: string[];
|
|
172
|
+
}
|
|
173
|
+
export interface SortModel {
|
|
174
|
+
/**
|
|
175
|
+
* The field to sort by.
|
|
176
|
+
*/
|
|
177
|
+
field: string;
|
|
178
|
+
/**
|
|
179
|
+
* The order to sort by.
|
|
180
|
+
*/
|
|
181
|
+
order: SortingOrder;
|
|
182
|
+
/**
|
|
183
|
+
* Metadata about the sort that can be used for rendering.
|
|
184
|
+
*/
|
|
185
|
+
meta?: SortMeta;
|
|
186
|
+
}
|
|
187
|
+
export interface SortMeta {
|
|
188
|
+
title: string;
|
|
189
|
+
/**
|
|
190
|
+
* Selectable values
|
|
191
|
+
*/
|
|
192
|
+
values?: SortingOrder[];
|
|
193
|
+
/**
|
|
194
|
+
* Names for orders
|
|
195
|
+
*/
|
|
196
|
+
names?: string[];
|
|
197
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/**
|
|
3
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
4
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
5
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export interface ProductListingQueriesRequest {
|
|
9
|
+
tenant: string;
|
|
10
|
+
market: string;
|
|
11
|
+
metadata?: {
|
|
12
|
+
[k: string]: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/**
|
|
3
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
4
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
5
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export interface ProductListingQueriesResponse {
|
|
9
|
+
query_ids?: string[];
|
|
10
|
+
}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/**
|
|
3
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
4
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
5
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* An enumeration.
|
|
10
|
+
*/
|
|
11
|
+
export type SortingOrder = "asc" | "desc";
|
|
12
|
+
|
|
13
|
+
export interface ProductListingRequest {
|
|
14
|
+
/**
|
|
15
|
+
* Deprecated, do not use. Will be removed.
|
|
16
|
+
*/
|
|
17
|
+
page?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Deprecated, do not use. Will be removed.
|
|
20
|
+
*/
|
|
21
|
+
hits_per_page?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Used for cursor-based pagination. Set it to the cursor from the last response. If not set, will return the first results.
|
|
24
|
+
*/
|
|
25
|
+
cursor?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Maximum number of results per response.
|
|
28
|
+
*/
|
|
29
|
+
limit?: number;
|
|
30
|
+
tenant: string;
|
|
31
|
+
market: string;
|
|
32
|
+
/**
|
|
33
|
+
* List of filters to apply to the results.
|
|
34
|
+
*/
|
|
35
|
+
filters?: SearchFilter[];
|
|
36
|
+
/**
|
|
37
|
+
* Specifies the sorting method. By default, the results are ordered by relevance. To find the possible values for this field, query the endpoint and look at the `sorts` field.
|
|
38
|
+
*/
|
|
39
|
+
sort?: SortModel;
|
|
40
|
+
/**
|
|
41
|
+
* User identifier
|
|
42
|
+
*/
|
|
43
|
+
user_id?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Session identifier
|
|
46
|
+
*/
|
|
47
|
+
session_id?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Populated for integrations performed by Depict.ai only. Depict.ai Session Id
|
|
50
|
+
*/
|
|
51
|
+
dsid?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Metadata that can be used to modify the behaviour of the search.
|
|
54
|
+
*/
|
|
55
|
+
metadata?: {
|
|
56
|
+
[k: string]: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* ID of the page to get products for. This is typically the slug, for example `hoodies-and-sweaters`.
|
|
60
|
+
*/
|
|
61
|
+
query_id: string;
|
|
62
|
+
/**
|
|
63
|
+
* Disables rules to hide products.
|
|
64
|
+
*/
|
|
65
|
+
show_hidden_products?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Whether to return grouping IDs or not.
|
|
68
|
+
*/
|
|
69
|
+
return_grouping_ids?: boolean;
|
|
70
|
+
}
|
|
71
|
+
export interface SearchFilter {
|
|
72
|
+
/**
|
|
73
|
+
* The field to filter by.
|
|
74
|
+
*/
|
|
75
|
+
field: string;
|
|
76
|
+
/**
|
|
77
|
+
* The operation used for filtering. The filtering should be read as `field op data`, for example `brand in ["Nike", "Adidas"]`.
|
|
78
|
+
*/
|
|
79
|
+
op: "eq" | "neq" | "in" | "nin" | "leq" | "geq" | "inrange";
|
|
80
|
+
/**
|
|
81
|
+
* Data for the filter.
|
|
82
|
+
*/
|
|
83
|
+
data?:
|
|
84
|
+
| ("true" | "false")
|
|
85
|
+
| number
|
|
86
|
+
| number
|
|
87
|
+
| string
|
|
88
|
+
| [number, number]
|
|
89
|
+
| [number, number]
|
|
90
|
+
| [number, number]
|
|
91
|
+
| [number, number]
|
|
92
|
+
| (
|
|
93
|
+
| ("true" | "false")
|
|
94
|
+
| number
|
|
95
|
+
| number
|
|
96
|
+
| string
|
|
97
|
+
| [number, number]
|
|
98
|
+
| [number, number]
|
|
99
|
+
| [number, number]
|
|
100
|
+
| [number, number]
|
|
101
|
+
)[]
|
|
102
|
+
| (("true" | "false") | number | number | string)[][];
|
|
103
|
+
/**
|
|
104
|
+
* Metadata about the filter that can be used for rendering. For example, this could contain the possible values to filter by and their counts in the results.
|
|
105
|
+
*/
|
|
106
|
+
meta?: RangeFilterMeta | ValuesFilterMeta | HierarchicalValuesFilterMeta;
|
|
107
|
+
/**
|
|
108
|
+
* ID of the filter. If multiple filters share the same ID, they should be grouped together in the UI.
|
|
109
|
+
*/
|
|
110
|
+
id?: string;
|
|
111
|
+
}
|
|
112
|
+
export interface RangeFilterMeta {
|
|
113
|
+
/**
|
|
114
|
+
* Title of the group, where a group consists of all the filters that share an ID.
|
|
115
|
+
*/
|
|
116
|
+
group_title?: string;
|
|
117
|
+
/**
|
|
118
|
+
* Whether the filter group should be expanded by default or not.
|
|
119
|
+
*/
|
|
120
|
+
group_expanded?: boolean;
|
|
121
|
+
type?: "range";
|
|
122
|
+
/**
|
|
123
|
+
* The minimum value that can be selected in the range.
|
|
124
|
+
*/
|
|
125
|
+
min: number;
|
|
126
|
+
/**
|
|
127
|
+
* The maximum value that can be selected in the range.
|
|
128
|
+
*/
|
|
129
|
+
max: number;
|
|
130
|
+
/**
|
|
131
|
+
* The unit of the range values.
|
|
132
|
+
*/
|
|
133
|
+
unit?: string;
|
|
134
|
+
/**
|
|
135
|
+
* The currency of the range values.
|
|
136
|
+
*/
|
|
137
|
+
currency?: string;
|
|
138
|
+
}
|
|
139
|
+
export interface ValuesFilterMeta {
|
|
140
|
+
/**
|
|
141
|
+
* Title of the group, where a group consists of all the filters that share an ID.
|
|
142
|
+
*/
|
|
143
|
+
group_title?: string;
|
|
144
|
+
/**
|
|
145
|
+
* Whether the filter group should be expanded by default or not.
|
|
146
|
+
*/
|
|
147
|
+
group_expanded?: boolean;
|
|
148
|
+
/**
|
|
149
|
+
* Type of filter.
|
|
150
|
+
*/
|
|
151
|
+
type?: "radio" | "checkbox" | "checkbox-grid";
|
|
152
|
+
/**
|
|
153
|
+
* Selectable values
|
|
154
|
+
*/
|
|
155
|
+
values: (
|
|
156
|
+
| ("true" | "false")
|
|
157
|
+
| number
|
|
158
|
+
| number
|
|
159
|
+
| string
|
|
160
|
+
| [number, number]
|
|
161
|
+
| [number, number]
|
|
162
|
+
| [number, number]
|
|
163
|
+
| [number, number]
|
|
164
|
+
)[];
|
|
165
|
+
/**
|
|
166
|
+
* Counts for values
|
|
167
|
+
*/
|
|
168
|
+
counts?: number[];
|
|
169
|
+
/**
|
|
170
|
+
* Names for values
|
|
171
|
+
*/
|
|
172
|
+
names?: string[];
|
|
173
|
+
}
|
|
174
|
+
export interface HierarchicalValuesFilterMeta {
|
|
175
|
+
/**
|
|
176
|
+
* Title of the group, where a group consists of all the filters that share an ID.
|
|
177
|
+
*/
|
|
178
|
+
group_title?: string;
|
|
179
|
+
/**
|
|
180
|
+
* Whether the filter group should be expanded by default or not.
|
|
181
|
+
*/
|
|
182
|
+
group_expanded?: boolean;
|
|
183
|
+
type?: "checkbox-hierarchical";
|
|
184
|
+
/**
|
|
185
|
+
* Selectable hierarchical values
|
|
186
|
+
*/
|
|
187
|
+
values: (("true" | "false") | number | number | string)[][];
|
|
188
|
+
/**
|
|
189
|
+
* Counts for values
|
|
190
|
+
*/
|
|
191
|
+
counts?: number[];
|
|
192
|
+
/**
|
|
193
|
+
* Names for hierarchical values
|
|
194
|
+
*/
|
|
195
|
+
names?: string[];
|
|
196
|
+
}
|
|
197
|
+
export interface SortModel {
|
|
198
|
+
/**
|
|
199
|
+
* The field to sort by.
|
|
200
|
+
*/
|
|
201
|
+
field: string;
|
|
202
|
+
/**
|
|
203
|
+
* The order to sort by.
|
|
204
|
+
*/
|
|
205
|
+
order: SortingOrder;
|
|
206
|
+
/**
|
|
207
|
+
* Metadata about the sort that can be used for rendering.
|
|
208
|
+
*/
|
|
209
|
+
meta?: SortMeta;
|
|
210
|
+
}
|
|
211
|
+
export interface SortMeta {
|
|
212
|
+
title: string;
|
|
213
|
+
/**
|
|
214
|
+
* Selectable values
|
|
215
|
+
*/
|
|
216
|
+
values?: SortingOrder[];
|
|
217
|
+
/**
|
|
218
|
+
* Names for orders
|
|
219
|
+
*/
|
|
220
|
+
names?: string[];
|
|
221
|
+
}
|