@usereactify/search 5.51.0 → 5.53.0-beta.0

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/package.json +1 -1
  3. package/dist/src/components/Example/ExampleResultCardCallout.js +1 -1
  4. package/dist/src/components/Example/ExampleResultCardCallout.js.map +1 -1
  5. package/dist/src/components/Filter/Filter.d.ts +5 -5
  6. package/dist/src/components/Filter/Filter.js.map +1 -1
  7. package/dist/src/components/Filter/Filters.d.ts +4 -4
  8. package/dist/src/components/Filter/Filters.js.map +1 -1
  9. package/dist/src/components/Result/Results.d.ts +2 -2
  10. package/dist/src/components/Result/Results.js +42 -1
  11. package/dist/src/components/Result/Results.js.map +1 -1
  12. package/dist/src/hooks/react-slider/useReactSliderProps.d.ts +2 -2
  13. package/dist/src/hooks/react-slider/useReactSliderProps.js.map +1 -1
  14. package/dist/src/hooks/useFilterCollapsedState.d.ts +2 -2
  15. package/dist/src/hooks/useFilterCollapsedState.js.map +1 -1
  16. package/dist/src/hooks/useFilterListProps.d.ts +3 -3
  17. package/dist/src/hooks/useFilterListProps.js.map +1 -1
  18. package/dist/src/hooks/useFilterRangeProps.d.ts +3 -3
  19. package/dist/src/hooks/useFilterRangeProps.js.map +1 -1
  20. package/dist/src/hooks/useFilterSliderProps.d.ts +3 -3
  21. package/dist/src/hooks/useFilterSliderProps.js.map +1 -1
  22. package/dist/src/hooks/useFilters.d.ts +2 -2
  23. package/dist/src/hooks/useFilters.js.map +1 -1
  24. package/dist/src/hooks/useSearch.d.ts +3 -1
  25. package/dist/src/hooks/useSearch.js +31 -0
  26. package/dist/src/hooks/useSearch.js.map +1 -1
  27. package/dist/src/types/config.d.ts +20 -18
  28. package/dist/src/types/config.js.map +1 -1
  29. package/dist/src/types/elastic.d.ts +1 -1
  30. package/dist/src/types/elastic.js.map +1 -1
  31. package/dist/src/types/firestore.d.ts +441 -103
  32. package/dist/src/types/firestore.js +114 -1
  33. package/dist/src/types/firestore.js.map +1 -1
  34. package/dist/src/types/graphql.d.ts +36337 -11312
  35. package/dist/src/types/graphql.js +5475 -562
  36. package/dist/src/types/graphql.js.map +1 -1
  37. package/dist/src/types/shopify.d.ts +21 -5
  38. package/dist/src/types/shopify.js +7 -5
  39. package/dist/src/types/shopify.js.map +1 -1
  40. package/dist/src/utility/props.d.ts +7 -7
  41. package/dist/src/utility/props.js.map +1 -1
  42. package/package.json +1 -1
@@ -1,111 +1,315 @@
1
- declare type Timestamp = string;
2
- import { ShopifyProduct } from "./shopify";
1
+ import { ShopifyAppPurchaseOneTime, ShopifyAppSubscription, ShopifyProduct, ShopifyProductImage } from "./shopify";
3
2
  import { ElasticDataType } from "./elastic";
3
+ import { AppPurchaseStatus } from "./graphql";
4
+ export interface ResourceDocument {
5
+ id: string;
6
+ keywords: Array<string>;
7
+ version?: string;
8
+ createdAt?: string;
9
+ updatedAt?: string;
10
+ }
11
+ export declare enum ResourceType {
12
+ ActivityLog = "activity_log",
13
+ Product = "product",
14
+ Collection = "collection",
15
+ Curation = "curation",
16
+ Callout = "callout",
17
+ SettingsAccount = "account_settings",
18
+ SettingsAutomation = "automation_settings",
19
+ SettingsProduct = "product_settings",
20
+ FilterGroup = "filter_group",
21
+ FilterFacet = "filter_facet",
22
+ MergedValue = "merged_value",
23
+ Redirect = "redirect",
24
+ Relevancy = "relevancy",
25
+ Sort = "sort",
26
+ Antonym = "antonym",
27
+ Synonym = "synonym",
28
+ Task = "task"
29
+ }
30
+ export declare const ResourceTypeLabel: Record<ResourceType, string>;
4
31
  export interface Log {
5
32
  id: string;
6
- keywords: string[];
33
+ keywords: Array<string>;
7
34
  message: string;
8
- platform: "reactify" | "shopify" | "elastic";
35
+ platform: "reactify" | "shopify" | "google" | "elastic";
9
36
  percentCompleted: number;
10
37
  action?: {
11
38
  type: "retry";
12
39
  label: string;
13
40
  task: Task["taskId"];
14
41
  };
15
- step: "download" | "transform" | "merge" | "upload" | "cleanup" | "complete" | "sync";
42
+ step: "syncMainDownload" | "syncBulkStart" | "syncBulkDownload" | "syncBulkTransform" | "syncBulkMerge" | "syncBulkUpload" | "syncBulkCleanup" | "syncBulkCleanupCurations" | "analyticsDownload" | "analyticsTransform" | "analyticsUpload" | "complete" | "analyticsStart";
16
43
  title: string;
17
- type: "bulk";
44
+ type: "bulk" | "analytics";
18
45
  data?: string;
19
46
  progress: "new" | "error" | "complete" | "partiallyComplete";
20
47
  status: "success" | "info" | "warning" | "critical";
21
- createdAt: Timestamp;
22
- updatedAt?: Timestamp;
23
- finishedAt?: Timestamp;
48
+ createdAt: string;
49
+ updatedAt?: string;
50
+ finishedAt?: string;
24
51
  }
25
52
  export interface Task {
26
53
  logId: string;
27
- taskId: "download" | "transform" | "merge" | "upload" | "cleanup" | "refreshDefinedFields" | "install";
28
- firstRun: boolean;
29
- createdAt: Timestamp;
30
- updatedAt?: Timestamp;
31
- }
32
- export interface TaskDownload extends Task {
33
- taskId: "download";
34
- type: "collection" | "product";
54
+ taskId: "setupInstall" | "setupWebhook" | "syncCollectionId" | "syncProductId" | "syncMainDownload" | "syncBulkReset" | "syncBulkStart" | "syncBulkDownload" | "syncBulkTransform" | "syncBulkMerge" | "syncBulkUpload" | "syncBulkCleanup" | "syncBulkCleanupCurations" | "cleanCuration" | "cleanCurationId" | "plantSeeds" | "refreshMappings" | "refreshDefinedFields" | "refreshCurations" | "analyticsStart" | "analyticsDownload" | "analyticsTransform" | "analyticsUpload" | "indexCleanup" | "cacheClear" | "syncMarkets" | "syncConfig" | "syncShop";
55
+ firstRun?: boolean;
56
+ createdAt: string;
57
+ updatedAt?: string;
58
+ }
59
+ export interface TaskSub extends Task {
60
+ taskSubId: string;
61
+ }
62
+ export interface TaskSubSyncCollectionId extends TaskSub {
63
+ taskId: "syncCollectionId";
64
+ collectionGid: string;
65
+ }
66
+ export interface TaskSubSyncProductId extends TaskSub {
67
+ taskId: "syncProductId";
68
+ productGid: string;
69
+ }
70
+ export interface TaskSyncShop extends Task {
71
+ taskId: "syncShop";
72
+ manual?: boolean;
73
+ }
74
+ export interface TaskSyncMainDownload extends Task {
75
+ taskId: "syncMainDownload";
76
+ type: "product_download" | "product_polling" | "collection_download" | "collection_polling";
77
+ productUrl?: string;
78
+ collectionUrl?: string;
79
+ manual?: boolean;
80
+ }
81
+ export interface TaskSyncBulkReset extends Task {
82
+ taskId: "syncBulkReset";
83
+ manual?: boolean;
84
+ }
85
+ export interface TaskSyncBulkStart extends Task {
86
+ taskId: "syncBulkStart";
87
+ manual?: boolean;
88
+ }
89
+ export interface TaskSyncBulkDownload extends Task {
90
+ taskId: "syncBulkDownload";
91
+ type: "collection" | "product" | "product_market";
35
92
  productUrl?: string;
93
+ productMarketUrl?: string;
36
94
  collectionUrl?: string;
95
+ syncAt: string;
37
96
  }
38
- export interface TaskTransform extends Task {
39
- taskId: "transform";
97
+ export declare const TaskSyncBulkDownloadTypeLabel: Record<"collection" | "product" | "product_market", string>;
98
+ export interface TaskSyncBulkTransform extends Task {
99
+ taskId: "syncBulkTransform";
40
100
  productUrl: string;
101
+ productMarketUrl?: string;
41
102
  collectionUrl: string;
103
+ collectionCount?: number;
104
+ lastCollectionCursor?: string;
105
+ syncAt: string;
42
106
  }
43
- export interface TaskMerge extends Task {
44
- taskId: "merge";
107
+ export interface TaskSyncBulkMerge extends Task {
108
+ taskId: "syncBulkMerge";
45
109
  productCount: number;
46
110
  collectionCount: number;
111
+ productCompletedCount?: number;
47
112
  startAfterId?: string;
113
+ syncAt: string;
48
114
  }
49
- export interface TaskUpload extends Task {
50
- taskId: "upload";
115
+ export interface TaskSyncBulkUpload extends Task {
116
+ taskId: "syncBulkUpload";
51
117
  productCount: number;
52
118
  collectionCount: number;
119
+ productCompletedCount?: number;
53
120
  startAfterId?: string;
121
+ syncAt: string;
54
122
  }
55
- export interface TaskCleanup extends Task {
56
- taskId: "cleanup";
123
+ export interface TaskSyncBulkCleanup extends Task {
124
+ taskId: "syncBulkCleanup";
125
+ syncAt: string;
126
+ }
127
+ export interface TaskSyncBulkCleanupCurations extends Task {
128
+ taskId: "syncBulkCleanupCurations";
129
+ }
130
+ export interface TaskCleanCuration extends Task {
131
+ taskId: "cleanCuration";
132
+ startAfterId?: string;
133
+ manual?: boolean;
134
+ }
135
+ export interface TaskSubCleanCurationId extends TaskSub {
136
+ taskId: "cleanCurationId";
137
+ curationId: string;
138
+ manual?: boolean;
139
+ }
140
+ export interface TaskSetupInstall extends Task {
141
+ taskId: "setupInstall";
142
+ }
143
+ export interface TaskSetupWebhook extends Task {
144
+ taskId: "setupWebhook";
145
+ }
146
+ export interface TaskPlantSeeds extends Task {
147
+ taskId: "plantSeeds";
148
+ }
149
+ export interface TaskRefreshMappings extends Task {
150
+ taskId: "refreshMappings";
151
+ manual?: boolean;
57
152
  }
58
153
  export interface TaskRefreshDefinedFields extends Task {
59
154
  taskId: "refreshDefinedFields";
155
+ manual?: boolean;
156
+ }
157
+ export interface TaskRefreshCurations extends Task {
158
+ taskId: "refreshCurations";
159
+ manual?: boolean;
160
+ }
161
+ export interface TaskAnalyticsStart extends Task {
162
+ taskId: "analyticsStart";
163
+ manual?: boolean;
60
164
  }
61
- export interface TaskInstall extends Task {
62
- taskId: "install";
165
+ export interface TaskAnalyticsDownload extends Task {
166
+ taskId: "analyticsDownload";
167
+ reports: AnalyticsReports[];
168
+ manual?: boolean;
169
+ }
170
+ export interface TaskAnalyticsTransform extends Task {
171
+ taskId: "analyticsTransform";
172
+ startAfterId?: string;
173
+ manual?: boolean;
174
+ }
175
+ export interface TaskAnalyticsUpload extends Task {
176
+ taskId: "analyticsUpload";
177
+ startAfterId?: string;
178
+ manual?: boolean;
179
+ }
180
+ export interface TaskIndexCleanup extends Task {
181
+ taskId: "indexCleanup";
182
+ manual?: boolean;
183
+ }
184
+ export interface TaskCacheClear extends Task {
185
+ taskId: "cacheClear";
186
+ manual?: boolean;
187
+ }
188
+ export interface TaskSyncMarkets extends Task {
189
+ taskId: "syncMarkets";
190
+ manual?: boolean;
191
+ }
192
+ export interface TaskSyncConfig extends Task {
193
+ taskId: "syncConfig";
194
+ manual?: boolean;
63
195
  }
64
196
  export interface Lock {
65
197
  logId: string;
66
- taskType: "sync";
67
- createdAt: Timestamp;
68
- }
69
- export interface SettingsInstance {
70
- index: string;
71
- cloudId: string;
198
+ taskType: "sync" | "syncConfig" | "syncCollectionId" | "syncProductId" | "analytics";
199
+ createdAt: string;
200
+ expiresAt: string;
201
+ }
202
+ export declare enum ManageAdminFlag {
203
+ Example = "example"
204
+ }
205
+ export interface ManageAdmin {
206
+ installed: boolean;
207
+ indexRead: string;
208
+ indexWrite: string;
209
+ indexAlias: string;
210
+ indexAutomatic: boolean;
211
+ indexRollback: Array<{
212
+ indexName: string;
213
+ documentCount: number;
214
+ createdAt: number;
215
+ }>;
216
+ indexRefreshInterval: string;
72
217
  endpoint: string;
73
- password: string;
74
- username: string;
75
- syncFrequency: string;
76
- syncThreshold: number;
77
- provider: "elastic" | "aws";
78
- storefrontAccessToken: string;
218
+ cluster: string;
79
219
  customMappings: string;
80
- }
81
- export interface SettingsProduct {
220
+ customFilters: string;
221
+ timezone: string;
222
+ cacheEnabled: boolean;
223
+ cacheSeconds: number;
224
+ flags?: Array<ManageAdminFlag>;
225
+ production: boolean;
226
+ }
227
+ export interface ManageProduct {
82
228
  tagChild?: string;
83
- tagKeys?: string[];
229
+ tagKeys?: Array<string>;
84
230
  tagParent?: string;
85
- syncObjects: string[];
86
- tagExclude?: string[];
231
+ tagRelated?: string;
232
+ syncObjects?: Array<string>;
233
+ tagExclude?: Array<string>;
234
+ tagExcludeSearch?: Array<string>;
235
+ tagExcludeCollection?: Array<string>;
87
236
  tagSeparator?: string;
88
- metafieldWhitelist?: string[];
237
+ metafieldWhitelist?: Array<string>;
238
+ externalAppReactifyImageAI: boolean;
239
+ suggestionsExclude?: Array<string>;
240
+ automaticCleanCurations?: boolean;
241
+ }
242
+ export interface ManageAutomation {
243
+ sync: boolean;
244
+ webhooks: boolean;
245
+ mappings: boolean;
246
+ curations: boolean;
247
+ analytics: boolean;
248
+ syncFrequency: string;
249
+ syncThreshold: number;
250
+ notificationEnabled?: boolean;
251
+ notificationEmail?: string;
252
+ syncCatalogueCompletedAt?: number;
253
+ syncAnalyticsCompletedAt?: number;
254
+ syncConfigCompletedAt?: number;
255
+ syncSpecialResourcePendingAt?: number | null;
256
+ syncConfigHash?: string;
257
+ }
258
+ export interface ManageAccount {
259
+ shopifyPlanCustomCost?: number;
260
+ shopifyPlanType?: "general" | "partner" | "custom";
261
+ shopifyPlanStore?: "primary" | "addon";
262
+ shopifyPlan?: "non-plus" | "plus" | "development";
263
+ shopifyPlanSubscriptionShareCode?: string;
264
+ stripeCustomerId?: string;
265
+ googleAnalyticsId?: string;
266
+ googleEmail?: string;
267
+ googleAccessToken?: string;
268
+ googleRefreshToken?: string;
269
+ googleAccessTokenExpiryDate?: number;
270
+ googleAnalyticsType?: "UA" | "GA4";
271
+ googleIdField?: "shopify_code" | "product_id" | "variant_id" | "variant_sku" | "variant_barcode";
272
+ }
273
+ export declare enum SettingsCurationsImageOption {
274
+ Index = "index",
275
+ Suffix = "suffix"
89
276
  }
90
277
  export interface SettingsCurations {
91
- moreInfo?: boolean;
92
278
  pageSize?: number;
93
279
  gridColumns?: number;
94
- }
95
- export interface Field {
96
- id: string;
280
+ imageOption: SettingsCurationsImageOption;
281
+ imagePosition: number;
282
+ imageSuffix: string;
283
+ imageSize?: "small" | "medium" | "large";
284
+ imageSizePx: number;
285
+ showCardDetailTitle?: boolean;
286
+ showCardDetailContent?: boolean;
287
+ showCardDetailPrice?: boolean;
288
+ showCardDetailVendor?: boolean;
289
+ showCardDetailPreorder?: boolean;
290
+ showCardDetailDiscount?: boolean;
291
+ showCardDetailInventory?: boolean;
292
+ showCardDetailAvailability?: boolean;
293
+ showCardDetailProfitMargin?: boolean;
294
+ showCardDetailPublishedDays?: boolean;
295
+ showCardDetailAnalyticsSales7Days?: boolean;
296
+ showCardDetailAnalyticsSales30Days?: boolean;
297
+ showCardDetailAnalyticsRevenue7Days?: boolean;
298
+ showCardDetailAnalyticsRevenue30Days?: boolean;
299
+ }
300
+ export interface Relevance extends ResourceDocument {
97
301
  field: string;
98
302
  enabled: boolean;
99
303
  importance: number;
100
304
  searchType: "always_search" | "search_page" | "instant_search";
305
+ hidden?: boolean;
101
306
  }
102
307
  export interface DefinedField {
103
308
  label: string;
104
309
  value: string;
105
- type: ElasticDataType;
310
+ type: ElasticDataType | string;
106
311
  }
107
- export interface Sort {
108
- id: string;
312
+ export interface Sort extends ResourceDocument {
109
313
  name: string;
110
314
  handle: string;
111
315
  field: string;
@@ -113,91 +317,109 @@ export interface Sort {
113
317
  enabled: boolean;
114
318
  direction: "desc" | "asc";
115
319
  visibility: "all" | "search" | "collection";
320
+ hidden?: boolean;
116
321
  }
117
- export interface Filter {
118
- id: string;
322
+ export interface FilterGroup extends ResourceDocument {
119
323
  name: string;
120
324
  handle: string;
121
325
  enabled: boolean;
122
326
  pageSize: number;
123
- keywords: string[];
124
- defaultSort: string;
125
- collections: string[];
327
+ keywords: Array<string>;
328
+ collections: Array<string>;
126
329
  type: "search" | "collection";
127
330
  paginationType: "pagination" | "load_more" | "next_prev" | "infinite_scroll";
128
331
  inventoryVisibility: "show_all" | "hide_products" | "hide_variants" | "hide_all";
129
332
  }
130
- export interface FilterOption {
131
- customSortOrder?: string;
132
- displaySize: string;
133
- displaySliderInterval: string;
134
- displaySliderStep: string;
135
- displaySliderPrefix?: string;
136
- displaySliderSuffix?: string;
137
- displayRangeOptions?: Array<string>;
138
- displayType: "multi" | "single" | "range" | "slider";
139
- displayView: "list" | "check" | "swatch" | "range" | "box";
140
- enabled: boolean;
141
- field: string;
142
- id: string;
333
+ export interface FilterFacet extends ResourceDocument {
143
334
  name: string;
335
+ field: string;
144
336
  handle: string;
145
337
  position: number;
146
- settingsCollapsedDesktop: boolean;
147
- settingsCollapsedMobile: boolean;
148
- settingsShowFilter: boolean;
338
+ enabled: boolean;
339
+ keywords: Array<string>;
340
+ customSortOrder?: string;
341
+ displayType: "multi" | "single" | "slider";
342
+ displayView: "list" | "check" | "swatch" | "range" | "box";
343
+ displaySize: string;
344
+ displaySliderStep: string;
345
+ displaySliderPrefix: string;
346
+ displaySliderSuffix: string;
347
+ displayRangeOptions: Array<string>;
149
348
  settingsShowMore: boolean;
349
+ settingsUppercase: boolean;
150
350
  settingsShowSearch: boolean;
351
+ settingsShowFilter: boolean;
151
352
  settingsShowEmptyValues: boolean;
152
- settingsUppercase: boolean;
153
353
  settingsHideUnavailable: boolean;
354
+ settingsCollapsedMobile: boolean;
355
+ settingsCollapsedDesktop: boolean;
154
356
  settingsFilterLogic: "and" | "or";
155
- valuesExclude: Array<string>;
156
- valuesManual: Array<string>;
157
357
  valuesShow: "all" | "manual";
358
+ valuesManual: Array<string>;
359
+ valuesExclude: Array<string>;
158
360
  }
159
- export interface Redirect {
160
- id: string;
361
+ export interface Redirect extends ResourceDocument {
161
362
  url: string;
162
363
  query: string;
163
364
  enabled: boolean;
164
- keywords: string[];
365
+ keywords: Array<string>;
366
+ hidden?: boolean;
165
367
  }
166
- export interface Curation {
167
- id: string;
368
+ export interface Curation extends ResourceDocument {
168
369
  title: string;
169
370
  status: CurationStatus;
170
- markets?: Array<string>;
171
371
  published: boolean;
172
- keywords: string[];
372
+ keywords: Array<string>;
173
373
  searchTerm?: string;
174
374
  longRunningTask?: boolean;
175
375
  collectionHandle?: string;
176
- type: "collection" | "search";
376
+ collectionId?: string;
377
+ type: CurationType;
177
378
  boosting?: {
178
379
  groupings?: BoostGrouping[];
179
380
  sortings?: BoostSorting[];
180
381
  };
181
382
  sort?: CurationSort;
383
+ schedule?: CurationSchedule;
384
+ hidden?: boolean;
385
+ markets?: Array<string>;
182
386
  }
387
+ export declare enum CurationType {
388
+ Search = "search",
389
+ Collection = "collection"
390
+ }
391
+ export declare const CurationTypeLabel: Record<CurationType, string>;
183
392
  export interface CurationSort {
184
393
  sortTag?: string;
185
394
  sortOption: string;
186
395
  sortDirection: "asc" | "desc";
187
396
  sortVariantOption?: "option1" | "option2" | "option3";
188
397
  }
398
+ export interface CurationSchedule {
399
+ schedulePublish: string;
400
+ schedulePublishEnabled: boolean;
401
+ scheduleUnpublish: string;
402
+ scheduleUnpublishEnabled: boolean;
403
+ }
189
404
  export declare enum CurationStatus {
190
405
  Draft = "draft",
191
406
  Publishing = "publishing",
192
407
  Published = "published",
408
+ Error = "error",
193
409
  Unpublishing = "unpublishing",
194
410
  Resetting = "resetting",
195
411
  Pinning = "pinning",
196
412
  Sorting = "sorting"
197
413
  }
414
+ export declare const CurationStatusLabel: Record<CurationStatus, string>;
198
415
  export interface CurationHiding {
199
416
  productId: number;
200
- productHandle: string;
417
+ }
418
+ export interface Market {
419
+ id: string;
420
+ label: string;
421
+ enabled: boolean;
422
+ publicationId: string;
201
423
  }
202
424
  export interface BoostGrouping {
203
425
  key: string;
@@ -214,31 +436,46 @@ export interface BoostSorting {
214
436
  direction: "asc" | "desc";
215
437
  }
216
438
  export declare type Pin = PinProduct | PinCallout;
439
+ export declare enum PinSource {
440
+ Manual = "manual",
441
+ Automatic = "automatic"
442
+ }
217
443
  export declare enum PinType {
218
444
  Product = "product",
219
445
  Callout = "callout"
220
446
  }
447
+ export declare type PinTypeOnly = Pick<Pin, "type">;
448
+ export declare function isPinProduct(pin: PinTypeOnly): pin is PinProduct;
449
+ export declare function isPinCallout(pin: PinTypeOnly): pin is PinCallout;
221
450
  export interface PinProduct {
222
451
  key: string;
223
452
  type: PinType.Product;
224
453
  position: number;
225
454
  productId: number;
226
- productHandle: string;
455
+ source?: PinSource;
227
456
  }
228
457
  export interface PinCallout {
229
458
  key: string;
230
459
  type: PinType.Callout;
231
460
  position: number;
232
461
  calloutId: string;
462
+ source?: PinSource;
233
463
  }
234
- export interface Callout {
464
+ export interface Link {
465
+ content: string;
466
+ url: string;
467
+ key: string;
468
+ }
469
+ export interface Callout extends ResourceDocument {
235
470
  id: string;
471
+ type: CalloutType;
236
472
  link: string;
473
+ links: Array<Link>;
237
474
  title: string;
238
475
  content: string;
239
476
  enabled: boolean;
240
477
  textColor: string;
241
- keywords: string[];
478
+ keywords: Array<string>;
242
479
  mobileImage: string;
243
480
  mobileVideo: string;
244
481
  desktopVideo: string;
@@ -248,40 +485,141 @@ export interface Callout {
248
485
  displayColumns: string;
249
486
  displayRows: string;
250
487
  selectedDates?: {
251
- end: Timestamp;
252
- start: Timestamp;
488
+ end: string;
489
+ start: string;
253
490
  };
491
+ hidden?: boolean;
492
+ }
493
+ export declare enum CalloutType {
494
+ Standard = "standard",
495
+ Filler = "filler"
496
+ }
497
+ export declare enum SynonymType {
498
+ Group = "group",
499
+ Oneway = "oneway"
254
500
  }
255
- export interface Synonym {
501
+ export interface Synonym extends ResourceDocument {
256
502
  id: string;
257
503
  name: string;
258
504
  enabled: boolean;
259
- keywords: string[];
260
- synonyms: string[];
261
- type: "group" | "oneway";
505
+ keywords: Array<string>;
506
+ synonyms: Array<string>;
507
+ type: SynonymType;
508
+ hidden?: boolean;
262
509
  }
263
- export interface MergedValue {
510
+ export interface Antonym extends ResourceDocument {
511
+ id: string;
512
+ name: string;
513
+ enabled: boolean;
514
+ keywords: Array<string>;
515
+ antonyms: Array<string>;
516
+ hidden?: boolean;
517
+ }
518
+ export interface MergedValue extends ResourceDocument {
264
519
  id: string;
265
520
  name: string;
266
521
  field: string;
267
- keywords: string[];
268
- values: string[];
522
+ enabled: boolean;
523
+ keywords: Array<string>;
524
+ values: Array<string>;
525
+ hidden?: boolean;
269
526
  }
270
- export interface Collection {
527
+ export interface Collection extends ResourceDocument {
271
528
  title: string;
272
529
  handle: string;
273
530
  shopifyId: string;
274
- productIds: string[];
531
+ productIds: Array<string>;
275
532
  storefrontId: string;
276
533
  legacyResourceId: number;
534
+ syncStatus?: "error" | "complete" | "partiallyComplete";
535
+ syncAt?: string;
277
536
  }
278
- export declare type Product = Omit<ShopifyProduct, "variants" | "images" | "media" | "metafields"> & {
537
+ export declare type Product = ResourceDocument & Omit<ShopifyProduct, "variants" | "images" | "media" | "metafields" | "category" | "unpublishedPublications"> & {
538
+ category: string;
539
+ unpublishedPublications: ShopifyProduct["unpublishedPublications"]["edges"][0]["node"][];
279
540
  variants: (Omit<ShopifyProduct["variants"]["edges"][0]["node"], "presentmentPrices"> & {
280
- images?: ShopifyProduct["images"]["edges"][0]["node"][];
541
+ images?: Array<ShopifyProductImage>;
281
542
  presentmentPrices: ShopifyProduct["variants"]["edges"][0]["node"]["presentmentPrices"]["edges"][0]["node"][];
543
+ productId?: string;
282
544
  })[];
283
- images: ShopifyProduct["images"]["edges"][0]["node"][];
545
+ related?: Array<string>;
546
+ images: Array<ShopifyProductImage>;
284
547
  media: ShopifyProduct["media"]["edges"][0]["node"][];
285
548
  metafields: ShopifyProduct["metafields"]["edges"][0]["node"][];
549
+ keywords: Array<string>;
550
+ syncStatus?: "error" | "complete" | "partiallyComplete";
551
+ syncAt?: string;
552
+ markets?: Array<string>;
553
+ };
554
+ export interface Analytics {
555
+ query: AnalyticsQueryDoc & {
556
+ items: AnalyticsDownloadItem[];
557
+ };
558
+ }
559
+ export interface AnalyticsQueryDoc {
560
+ tableId: string;
561
+ accountId: string;
562
+ profileId: string;
563
+ profileName: string;
564
+ webPropertyId: string;
565
+ internalWebPropertyId: string;
566
+ }
567
+ export interface AnalyticsDownloadItem {
568
+ id: string;
569
+ name: string;
570
+ value: number;
571
+ externalId: string;
572
+ type: AnalyticsReports;
573
+ }
574
+ export interface AnalyticsUploadItems {
575
+ id: string;
576
+ [AnalyticsReports.Sales7Days]: number;
577
+ [AnalyticsReports.Sales30Days]: number;
578
+ [AnalyticsReports.Revenue7Days]: number;
579
+ [AnalyticsReports.Revenue30Days]: number;
580
+ }
581
+ export declare enum AnalyticsReports {
582
+ Sales7Days = "sales_7days",
583
+ Sales30Days = "sales_30days",
584
+ Revenue7Days = "revenue_7days",
585
+ Revenue30Days = "revenue_30days"
586
+ }
587
+ export declare enum ActivityLogAction {
588
+ Create = "create",
589
+ Delete = "delete",
590
+ Duplicate = "duplicate",
591
+ Sync = "sync",
592
+ Trigger = "trigger",
593
+ Update = "update"
594
+ }
595
+ export interface ShopifyUser {
596
+ account_owner: boolean;
597
+ bio: string;
598
+ email: string;
599
+ first_name: string;
600
+ id: string;
601
+ im: string;
602
+ last_name: string;
603
+ permissions: Array<string>;
604
+ phone: string;
605
+ receive_announcements: number;
606
+ screen_name: string;
607
+ url: string;
608
+ locale: string;
609
+ user_type: string;
610
+ }
611
+ export interface ActivityLog extends ResourceDocument {
612
+ action: ActivityLogAction;
613
+ resourceDisplayName: string;
614
+ resourceId: string;
615
+ resourceType: ResourceType;
616
+ shopifyStaffMemberId: string | undefined;
617
+ }
618
+ export declare type BillingAppSubscription = ShopifyAppSubscription;
619
+ export declare type BillingAppPurchaseOneTime = ShopifyAppPurchaseOneTime;
620
+ export declare type BillingAppPurchaseCredit = {
621
+ id: string;
622
+ name: string;
623
+ status: AppPurchaseStatus;
624
+ amount: string;
286
625
  };
287
- export {};