@standhigher/besttrack-page-extension 0.5.10 → 0.5.12
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 +128 -108
- package/dist/index.js +979 -779
- package/dist/validation.js +6 -3
- package/package.json +2 -2
- package/dist/{chunk-KEW42Y26.js → chunk-KD7KFFFK.js} +28 -28
package/dist/index.d.ts
CHANGED
|
@@ -17,19 +17,19 @@ type SearchTab = 'order' | 'tracking';
|
|
|
17
17
|
type TrackingNode = {
|
|
18
18
|
node: string;
|
|
19
19
|
description: string;
|
|
20
|
-
time
|
|
20
|
+
time?: string | null;
|
|
21
21
|
location: string;
|
|
22
22
|
country: string;
|
|
23
23
|
state: string;
|
|
24
24
|
city: string;
|
|
25
25
|
street: string;
|
|
26
|
-
carrier
|
|
26
|
+
carrier?: string;
|
|
27
27
|
};
|
|
28
28
|
type RawEvent = {
|
|
29
29
|
stage: string;
|
|
30
30
|
sub_status: string;
|
|
31
31
|
description: string;
|
|
32
|
-
time
|
|
32
|
+
time?: string | null;
|
|
33
33
|
location: string;
|
|
34
34
|
country: string;
|
|
35
35
|
state: string;
|
|
@@ -274,55 +274,142 @@ declare function buildShopifyRecommendPayload(page?: number, pageSize?: number):
|
|
|
274
274
|
readonly page_size: number;
|
|
275
275
|
};
|
|
276
276
|
/**
|
|
277
|
-
*
|
|
278
|
-
*
|
|
279
|
-
* still throw so the template can keep them distinct from a missing order.
|
|
277
|
+
* 将旧 /track/query 响应映射为三套模板共用的结果模型,非零业务 code 转为 empty。
|
|
278
|
+
* 本函数只处理响应;网络重试和异常转 empty 的兼容行为由 createShopifyTrackQuery 负责。
|
|
280
279
|
*/
|
|
281
280
|
declare function mapShopifyTrackQueryResponse(response: ShopifyTrackApiResponse<TrackResponse | null | undefined>, request: TrackingPageQueryRequest, locale?: Locale): TrackingPageQueryResult;
|
|
282
281
|
declare function mapShopifyRecommendationsResponse(response: ShopifyTrackApiResponse<{
|
|
283
282
|
products?: ShopifyRecommendProduct[];
|
|
284
283
|
} | null | undefined>): TrackingPageRecommendation[];
|
|
285
284
|
/**
|
|
286
|
-
*
|
|
287
|
-
*
|
|
285
|
+
* 保留旧 /track/query 协议:snake_case 请求体、_t 防缓存、默认额外重试一次。
|
|
286
|
+
* 业务失败和重试耗尽均返回 empty;自定义宿主 query 若抛错,则由 Runtime 转为 error。
|
|
287
|
+
* 英文重查仍请求同一真实接口,不是退回 Mock;仅在显式开启且当前语言不是 EN 时启用。
|
|
288
288
|
*/
|
|
289
289
|
declare function createShopifyTrackQuery(transport: ShopifyTrackPageTransport): TrackingPageQuery;
|
|
290
|
+
/** 推荐独立请求;请求或映射抛错时返回空列表,不影响查单状态,也不回退到演示商品。 */
|
|
290
291
|
declare function createShopifyRecommendationsQuery(post: ShopifyTrackPagePost): TrackingPageRecommendationsQuery;
|
|
291
292
|
|
|
292
|
-
|
|
293
|
-
type
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
293
|
+
/** The JSON-only Shopify reference that may be persisted in PageDocument props. */
|
|
294
|
+
type ShopifyResourceReference = Readonly<{
|
|
295
|
+
id: string;
|
|
296
|
+
kind: "product" | "collection";
|
|
297
|
+
title: string;
|
|
298
|
+
handle?: string;
|
|
299
|
+
}>;
|
|
300
|
+
type ShopifyResourceKind = ShopifyResourceReference["kind"];
|
|
301
|
+
type ShopifyResourceSearchInput = Readonly<{
|
|
302
|
+
kinds: readonly ShopifyResourceKind[];
|
|
303
|
+
query: string;
|
|
304
|
+
cursor?: string;
|
|
305
|
+
limit: number;
|
|
306
|
+
}>;
|
|
307
|
+
type ShopifyResourceSearchPage = Readonly<{
|
|
308
|
+
items: readonly ShopifyResourceReference[];
|
|
309
|
+
nextCursor?: string;
|
|
310
|
+
}>;
|
|
311
|
+
/** Injected by the authenticated Admin host; it owns browse, search, pagination, and authorization. */
|
|
312
|
+
type ShopifyResourceBrowser = {
|
|
313
|
+
search(input: ShopifyResourceSearchInput): Promise<ShopifyResourceSearchPage>;
|
|
314
|
+
};
|
|
315
|
+
declare function isShopifyResourceReference(value: unknown, kind?: ShopifyResourceKind): value is ShopifyResourceReference;
|
|
316
|
+
type ShopifyResourceAvailability = "available" | "sold-out" | "unavailable" | "unknown";
|
|
317
|
+
/** A trusted Runtime may add these values transiently; they must never be saved back to PageDocument. */
|
|
318
|
+
type ShopifyResolvedResource = ShopifyResourceReference & Readonly<{
|
|
319
|
+
status: "resolved";
|
|
320
|
+
href?: string;
|
|
321
|
+
imageUrl?: string;
|
|
322
|
+
availability: ShopifyResourceAvailability;
|
|
323
|
+
}>;
|
|
324
|
+
type ShopifyResourceResolutionError = Readonly<{
|
|
325
|
+
code: "invalid-reference" | "missing" | "unavailable" | "resolution-failed";
|
|
326
|
+
}>;
|
|
327
|
+
type ShopifyResourceResolution = Readonly<{
|
|
328
|
+
resources: Readonly<Record<string, ShopifyResolvedResource>>;
|
|
329
|
+
errors: Readonly<Record<string, ShopifyResourceResolutionError>>;
|
|
330
|
+
}>;
|
|
331
|
+
/** Server-side host contract. The extension never contacts Shopify or supplies an implementation. */
|
|
332
|
+
type ShopifyResourceResolver = {
|
|
333
|
+
resolve(input: {
|
|
334
|
+
references: readonly ShopifyResourceReference[];
|
|
335
|
+
}): Promise<readonly ShopifyResolvedResource[]>;
|
|
336
|
+
};
|
|
337
|
+
/** Validates and normalizes a host response; a live resolution failure never becomes mock data. */
|
|
338
|
+
declare function resolveShopifyResources(references: readonly unknown[], resolver: ShopifyResourceResolver): Promise<ShopifyResourceResolution>;
|
|
339
|
+
declare function getResolvedShopifyResource(reference: unknown, resolution?: ShopifyResourceResolution): ShopifyResolvedResource | undefined;
|
|
340
|
+
declare function getShopifyResourceResolutionError(reference: unknown, resolution?: ShopifyResourceResolution): Readonly<{
|
|
341
|
+
code: "invalid-reference" | "missing" | "unavailable" | "resolution-failed";
|
|
342
|
+
}> | undefined;
|
|
343
|
+
|
|
344
|
+
/** 第一层历史项:保存提交的查询身份和完整结果,恢复时无需再次请求接口。 */
|
|
345
|
+
type TrackingRecentQuery = {
|
|
346
|
+
mode: "tracking" | "order";
|
|
347
|
+
value: string;
|
|
348
|
+
email?: string;
|
|
349
|
+
result: TrackingPageQueryResult;
|
|
350
|
+
};
|
|
351
|
+
/** empty 由结果显式标记;error 表示查询回调抛错,不能仅凭缺少物流节点判断未找到。 */
|
|
352
|
+
type TrackingRuntimeState = {
|
|
297
353
|
phase: "idle" | "loading" | "success" | "empty" | "error";
|
|
298
|
-
result?:
|
|
354
|
+
result?: TrackingPageQueryResult;
|
|
299
355
|
error?: string;
|
|
300
356
|
};
|
|
301
|
-
type
|
|
357
|
+
type TrackingRuntime = TrackingRuntimeState & {
|
|
358
|
+
query(request: TrackingPageQueryRequest): Promise<void>;
|
|
359
|
+
reset(): void;
|
|
360
|
+
resourceResolution?: ShopifyResourceResolution;
|
|
361
|
+
recentQueries: TrackingRecentQuery[];
|
|
362
|
+
selectedRecentIndex: number;
|
|
363
|
+
/** 仅显式点击历史记录时递增;与查询完成、包裹切换区分,供表单判断是否回填输入。 */
|
|
364
|
+
selectionRevision: number;
|
|
365
|
+
selectedShipmentIndex: number;
|
|
366
|
+
selectRecentQuery: (index: number) => void;
|
|
367
|
+
selectShipment: (index: number) => void;
|
|
368
|
+
recommendations: TrackingPageRecommendationsState;
|
|
369
|
+
autoQueryFromUrl: boolean;
|
|
370
|
+
/** 仅供宿主明确开启演示自动查询;普通页面默认等待提交或已启用的 URL 深链。 */
|
|
371
|
+
autoQueryDemo: boolean;
|
|
372
|
+
watermark?: TrackingPageWatermark;
|
|
373
|
+
/** 编辑态广告预览;正式页面的广告仍来自当前查询结果 result.ad。 */
|
|
374
|
+
adPreview?: TrackingPageAd | null;
|
|
375
|
+
};
|
|
376
|
+
type TrackingRuntimeProviderProps = {
|
|
302
377
|
children: ReactNode;
|
|
303
|
-
/**
|
|
378
|
+
/** 宿主已解析的 Shopify 商品/集合资源,直接供 Sales 等区块读取;Provider 不自动解析引用。 */
|
|
379
|
+
resourceResolution?: ShopifyResourceResolution;
|
|
380
|
+
/** 宿主负责鉴权的查询入口;mode 区分运单号查询与订单号加邮箱查询。 */
|
|
304
381
|
query?: TrackingPageQuery;
|
|
305
|
-
/**
|
|
382
|
+
/** 页面级推荐独立加载,不共用查单的 loading/error,也不因包裹切换而重新请求。 */
|
|
306
383
|
queryRecommendations?: TrackingPageRecommendationsQuery;
|
|
307
384
|
/**
|
|
308
|
-
*
|
|
309
|
-
*
|
|
310
|
-
*
|
|
385
|
+
* 未注入 query 时,通过该传输层执行原 /track/query 的请求体、防缓存、重试与结果映射。
|
|
386
|
+
* 推荐来源单独选择:未注入 queryRecommendations 时,即使已有 query,也会使用此处的
|
|
387
|
+
* post 在挂载时请求 /products/recommend;鉴权和请求地址前缀由宿主负责。
|
|
311
388
|
*/
|
|
312
389
|
transport?: ShopifyTrackPageTransport;
|
|
313
|
-
/**
|
|
390
|
+
/** 未显式指定时,仅 transport 存在且没有注入 query 的路径默认开启 URL 深链自动查询。 */
|
|
314
391
|
autoQueryFromUrl?: boolean;
|
|
315
392
|
/**
|
|
316
|
-
*
|
|
317
|
-
*
|
|
393
|
+
* 仅演示预览使用:挂载后查询表单初始演示运单号。
|
|
394
|
+
* 正式宿主不能依靠演示编号自动查询;真实深链自动查询由 autoQueryFromUrl 单独控制。
|
|
318
395
|
*/
|
|
319
396
|
autoQueryDemo?: boolean;
|
|
320
|
-
/**
|
|
397
|
+
/** 优先使用宿主决定的水印显隐;未提供时沿用原 powered-by 规则。 */
|
|
321
398
|
watermark?: TrackingPageWatermark;
|
|
322
|
-
/**
|
|
399
|
+
/** 编辑态广告预览;正式页面的广告仍来自当前查询结果 result.ad。 */
|
|
323
400
|
adPreview?: TrackingPageAd | null;
|
|
324
401
|
};
|
|
325
|
-
|
|
402
|
+
/**
|
|
403
|
+
* 三套模板共用的页面状态;历史与订单结果仅保存在本 Provider 内存中。
|
|
404
|
+
* 店铺、访客授权或 Mock/Live 上下文改变时,宿主需重新挂载或更换 key;替换 query 本身不清历史。
|
|
405
|
+
*/
|
|
406
|
+
declare function TrackingRuntimeProvider({ children, query: injectedQuery, queryRecommendations, transport, autoQueryFromUrl, autoQueryDemo, watermark, adPreview, resourceResolution }: TrackingRuntimeProviderProps): react.JSX.Element;
|
|
407
|
+
declare function useTrackingRuntime(): TrackingRuntime;
|
|
408
|
+
|
|
409
|
+
type ReadyToGoTrackingStep = TrackingPageTrackingStep;
|
|
410
|
+
type ReadyToGoTrackingEvent = TrackingPageTrackingEvent;
|
|
411
|
+
type ReadyToGoShipment = TrackingPageShipment;
|
|
412
|
+
type ReadyToGoTrackingResult = TrackingPageQueryResult;
|
|
326
413
|
|
|
327
414
|
/**
|
|
328
415
|
* Compatibility metadata for template-aware hosts.
|
|
@@ -364,20 +451,13 @@ declare const brandedTemplatePolicy: Readonly<{
|
|
|
364
451
|
declare function createBrandedTemplate(): TemplateDefinition;
|
|
365
452
|
declare const bestTrackBrandedExtension: PageBuilderExtension;
|
|
366
453
|
|
|
367
|
-
/**
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
children: ReactNode;
|
|
375
|
-
/** The discriminated, host-authorized request contract. */
|
|
376
|
-
query?: TrackingPageQuery;
|
|
377
|
-
/** Host-decided display state; no entitlement checks happen in this package. */
|
|
378
|
-
watermark?: TrackingPageWatermark;
|
|
379
|
-
};
|
|
380
|
-
declare function BrandedRuntimeProvider({ children, query: injectedQuery, watermark }: BrandedRuntimeProviderProps): react.JSX.Element;
|
|
454
|
+
/**
|
|
455
|
+
* 兼容旧宿主的 Branded 导入名称,实际复用 Ready-to-go 抽出的公共 Provider/Context。
|
|
456
|
+
* 不再维护 Branded 自己的查询结果、包裹选择或推荐状态;页面上的区块共享同一份状态。
|
|
457
|
+
*/
|
|
458
|
+
type BrandedRuntimeState = TrackingRuntimeState;
|
|
459
|
+
type BrandedRuntimeProviderProps = TrackingRuntimeProviderProps;
|
|
460
|
+
declare const BrandedRuntimeProvider: typeof TrackingRuntimeProvider;
|
|
381
461
|
|
|
382
462
|
declare const salesTemplatePolicy: Readonly<{
|
|
383
463
|
templateId: string;
|
|
@@ -390,73 +470,13 @@ declare const salesTemplatePolicy: Readonly<{
|
|
|
390
470
|
declare function createSalesTemplate(): TemplateDefinition;
|
|
391
471
|
declare const bestTrackSalesExtension: PageBuilderExtension;
|
|
392
472
|
|
|
393
|
-
/**
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
type ShopifyResourceKind = ShopifyResourceReference["kind"];
|
|
401
|
-
type ShopifyResourceSearchInput = Readonly<{
|
|
402
|
-
kinds: readonly ShopifyResourceKind[];
|
|
403
|
-
query: string;
|
|
404
|
-
cursor?: string;
|
|
405
|
-
limit: number;
|
|
406
|
-
}>;
|
|
407
|
-
type ShopifyResourceSearchPage = Readonly<{
|
|
408
|
-
items: readonly ShopifyResourceReference[];
|
|
409
|
-
nextCursor?: string;
|
|
410
|
-
}>;
|
|
411
|
-
/** Injected by the authenticated Admin host; it owns browse, search, pagination, and authorization. */
|
|
412
|
-
type ShopifyResourceBrowser = {
|
|
413
|
-
search(input: ShopifyResourceSearchInput): Promise<ShopifyResourceSearchPage>;
|
|
414
|
-
};
|
|
415
|
-
declare function isShopifyResourceReference(value: unknown, kind?: ShopifyResourceKind): value is ShopifyResourceReference;
|
|
416
|
-
type ShopifyResourceAvailability = "available" | "sold-out" | "unavailable" | "unknown";
|
|
417
|
-
/** A trusted Runtime may add these values transiently; they must never be saved back to PageDocument. */
|
|
418
|
-
type ShopifyResolvedResource = ShopifyResourceReference & Readonly<{
|
|
419
|
-
status: "resolved";
|
|
420
|
-
href?: string;
|
|
421
|
-
imageUrl?: string;
|
|
422
|
-
availability: ShopifyResourceAvailability;
|
|
423
|
-
}>;
|
|
424
|
-
type ShopifyResourceResolutionError = Readonly<{
|
|
425
|
-
code: "invalid-reference" | "missing" | "unavailable" | "resolution-failed";
|
|
426
|
-
}>;
|
|
427
|
-
type ShopifyResourceResolution = Readonly<{
|
|
428
|
-
resources: Readonly<Record<string, ShopifyResolvedResource>>;
|
|
429
|
-
errors: Readonly<Record<string, ShopifyResourceResolutionError>>;
|
|
430
|
-
}>;
|
|
431
|
-
/** Server-side host contract. The extension never contacts Shopify or supplies an implementation. */
|
|
432
|
-
type ShopifyResourceResolver = {
|
|
433
|
-
resolve(input: {
|
|
434
|
-
references: readonly ShopifyResourceReference[];
|
|
435
|
-
}): Promise<readonly ShopifyResolvedResource[]>;
|
|
436
|
-
};
|
|
437
|
-
/** Validates and normalizes a host response; a live resolution failure never becomes mock data. */
|
|
438
|
-
declare function resolveShopifyResources(references: readonly unknown[], resolver: ShopifyResourceResolver): Promise<ShopifyResourceResolution>;
|
|
439
|
-
declare function getResolvedShopifyResource(reference: unknown, resolution?: ShopifyResourceResolution): ShopifyResolvedResource | undefined;
|
|
440
|
-
declare function getShopifyResourceResolutionError(reference: unknown, resolution?: ShopifyResourceResolution): Readonly<{
|
|
441
|
-
code: "invalid-reference" | "missing" | "unavailable" | "resolution-failed";
|
|
442
|
-
}> | undefined;
|
|
443
|
-
|
|
444
|
-
/** Transient, consumer-safe state. The host error is deliberately never retained for display. */
|
|
445
|
-
type SalesRuntimeState = {
|
|
446
|
-
phase: TrackingPageRuntimePhase;
|
|
447
|
-
result?: TrackingPageQueryResult;
|
|
448
|
-
};
|
|
449
|
-
type SalesRuntimeProviderProps = {
|
|
450
|
-
children: ReactNode;
|
|
451
|
-
/** The discriminated, host-authorized request contract. */
|
|
452
|
-
query?: TrackingPageQuery;
|
|
453
|
-
/** Host-decided display state; no entitlement checks happen in this package. */
|
|
454
|
-
watermark?: TrackingPageWatermark;
|
|
455
|
-
/** Server-resolved and transient; this provider never resolves Shopify resources. */
|
|
456
|
-
resourceResolution?: ShopifyResourceResolution;
|
|
457
|
-
};
|
|
458
|
-
/** The host injects a validated query; Sales never calls a DataSource itself. */
|
|
459
|
-
declare function SalesRuntimeProvider({ children, query: injectedQuery, watermark, resourceResolution }: SalesRuntimeProviderProps): react.JSX.Element;
|
|
473
|
+
/**
|
|
474
|
+
* Sales 的旧公开名称映射到共用 Runtime,避免旧接入方改名或再包一层独立状态。
|
|
475
|
+
* 查询、历史记录、包裹选择和推荐沿用 Ready-to-go 规则;商品资源解析仍由宿主提供。
|
|
476
|
+
*/
|
|
477
|
+
type SalesRuntimeState = TrackingRuntimeState;
|
|
478
|
+
type SalesRuntimeProviderProps = TrackingRuntimeProviderProps;
|
|
479
|
+
declare const SalesRuntimeProvider: typeof TrackingRuntimeProvider;
|
|
460
480
|
|
|
461
481
|
type TrackingPageUrlOptions = Readonly<{
|
|
462
482
|
allowLocalhost?: boolean;
|
|
@@ -476,4 +496,4 @@ declare function ShopifyResourcePickerProvider({ browser, children }: {
|
|
|
476
496
|
declare function ShopifyProductResourceField(props: FieldProps<unknown>): react.JSX.Element;
|
|
477
497
|
declare function ShopifyCollectionResourceField(props: FieldProps<unknown>): react.JSX.Element;
|
|
478
498
|
|
|
479
|
-
export { BrandedRuntimeProvider, type BrandedRuntimeProviderProps, type BrandedRuntimeState, type Locale, ReadyToGoRuntimeProvider, type ReadyToGoRuntimeProviderProps, type ReadyToGoRuntimeState, type ReadyToGoShipment, type ReadyToGoTrackingEvent, type ReadyToGoTrackingResult, type ReadyToGoTrackingStep, SHOPIFY_RECOMMEND_PATH, SHOPIFY_TRACK_QUERY_PATH, SalesRuntimeProvider, type SalesRuntimeProviderProps, type SalesRuntimeState, ShopifyCollectionResourceField, ShopifyProductResourceField, type ShopifyResolvedResource, type ShopifyResourceAvailability, type ShopifyResourceBrowser, type ShopifyResourceKind, ShopifyResourcePickerProvider, type ShopifyResourceReference, type ShopifyResourceResolution, type ShopifyResourceResolutionError, type ShopifyResourceResolver, type ShopifyResourceSearchInput, type ShopifyResourceSearchPage, type ShopifyTrackPageTransport, type TemplateBlockPolicy, type TemplatePolicy, type TrackingPageAd, type TrackingPageCollectionReference, type TrackingPageMediaReference, type TrackingPageMoney, type TrackingPageOrderItem, type TrackingPageOrderQueryRequest, type TrackingPageProductReference, type TrackingPageQuery, type TrackingPageQueryRequest, type TrackingPageQueryResult, type TrackingPageRecommendation, type TrackingPageRecommendationsQuery, type TrackingPageRecommendationsState, type TrackingPageResourceReference, type TrackingPageRuntimePhase, type TrackingPageShipment, type TrackingPageTrackingEvent, type TrackingPageTrackingQueryRequest, type TrackingPageTrackingStep, type TrackingPageUrlOptions, type TrackingPageWatermark, bestTrackBrandedExtension, bestTrackPageExtension, bestTrackSalesExtension, brandedTemplatePolicy, buildShopifyRecommendPayload, buildShopifyTrackQueryPayload, createBrandedTemplate, createReadyToGoTemplate, createSalesTemplate, createShopifyRecommendationsQuery, createShopifyTrackQuery, formatTrackingPageMoney, getResolvedShopifyResource, getShopifyResourceResolutionError, isEmptyTrackingPageResult, isSafeTrackingPageUrl, isShopifyResourceReference, isTrackingPageResourceReference, isValidOrderEmail, isValidOrderNumber, isValidTrackingNumber, mapShopifyRecommendationsResponse, mapShopifyTrackQueryResponse, readTrackingQueryFromLocation, readTrackingQueryLocationState, readyToGoTemplatePolicy, resolveInitialLocale, resolveShopifyResources, resolveShopifyTrackQueryLocale, safeTrackingPageUrl, salesTemplatePolicy, shouldHidePoweredBy, syncTrackingQueryToUrl, withShopifyAppProxyPrefix, withShopifyTrackCacheBust };
|
|
499
|
+
export { BrandedRuntimeProvider, type BrandedRuntimeProviderProps, type BrandedRuntimeState, type Locale, TrackingRuntimeProvider as ReadyToGoRuntimeProvider, type TrackingRuntimeProviderProps as ReadyToGoRuntimeProviderProps, type TrackingRuntimeState as ReadyToGoRuntimeState, type ReadyToGoShipment, type ReadyToGoTrackingEvent, type ReadyToGoTrackingResult, type ReadyToGoTrackingStep, SHOPIFY_RECOMMEND_PATH, SHOPIFY_TRACK_QUERY_PATH, SalesRuntimeProvider, type SalesRuntimeProviderProps, type SalesRuntimeState, ShopifyCollectionResourceField, ShopifyProductResourceField, type ShopifyResolvedResource, type ShopifyResourceAvailability, type ShopifyResourceBrowser, type ShopifyResourceKind, ShopifyResourcePickerProvider, type ShopifyResourceReference, type ShopifyResourceResolution, type ShopifyResourceResolutionError, type ShopifyResourceResolver, type ShopifyResourceSearchInput, type ShopifyResourceSearchPage, type ShopifyTrackPageTransport, type TemplateBlockPolicy, type TemplatePolicy, type TrackingPageAd, type TrackingPageCollectionReference, type TrackingPageMediaReference, type TrackingPageMoney, type TrackingPageOrderItem, type TrackingPageOrderQueryRequest, type TrackingPageProductReference, type TrackingPageQuery, type TrackingPageQueryRequest, type TrackingPageQueryResult, type TrackingPageRecommendation, type TrackingPageRecommendationsQuery, type TrackingPageRecommendationsState, type TrackingPageResourceReference, type TrackingPageRuntimePhase, type TrackingPageShipment, type TrackingPageTrackingEvent, type TrackingPageTrackingQueryRequest, type TrackingPageTrackingStep, type TrackingPageUrlOptions, type TrackingPageWatermark, type TrackingRecentQuery, type TrackingRuntime, TrackingRuntimeProvider, type TrackingRuntimeProviderProps, type TrackingRuntimeState, bestTrackBrandedExtension, bestTrackPageExtension, bestTrackSalesExtension, brandedTemplatePolicy, buildShopifyRecommendPayload, buildShopifyTrackQueryPayload, createBrandedTemplate, createReadyToGoTemplate, createSalesTemplate, createShopifyRecommendationsQuery, createShopifyTrackQuery, formatTrackingPageMoney, getResolvedShopifyResource, getShopifyResourceResolutionError, isEmptyTrackingPageResult, isSafeTrackingPageUrl, isShopifyResourceReference, isTrackingPageResourceReference, isValidOrderEmail, isValidOrderNumber, isValidTrackingNumber, mapShopifyRecommendationsResponse, mapShopifyTrackQueryResponse, readTrackingQueryFromLocation, readTrackingQueryLocationState, readyToGoTemplatePolicy, resolveInitialLocale, resolveShopifyResources, resolveShopifyTrackQueryLocale, safeTrackingPageUrl, salesTemplatePolicy, shouldHidePoweredBy, syncTrackingQueryToUrl, useTrackingRuntime, withShopifyAppProxyPrefix, withShopifyTrackCacheBust };
|