@standhigher/besttrack-page-extension 0.1.0 → 0.2.1

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/README.md CHANGED
@@ -6,4 +6,9 @@ host-injected tracking query contract as Ready-to-go. Logo and content are
6
6
  JSON-only block props; brand colour, font and radius use the template Theme
7
7
  Tokens and may be overridden through PageDocument.theme.
8
8
 
9
- V0.7.0 provides the Ready-to-go built-in template: order query, shipment progress, delivery information and recommendations. Live tracking is injected by the host Runtime; this package never stores credentials or network endpoints in a `PageDocument`.
9
+ V0.7.0 provides the Ready-to-go built-in template: order query, shipment
10
+ progress, delivery information and recommendations. The consumer surface follows
11
+ the Shopify Track Page layout (query card, five-step progress, shipping
12
+ timeline, package contents and product cards) using inline styles and `--pb-*`
13
+ Theme Tokens. Live tracking is injected by the host Runtime; this package never
14
+ stores credentials or network endpoints in a `PageDocument`.
package/dist/index.d.ts CHANGED
@@ -2,6 +2,51 @@ import * as react from 'react';
2
2
  import { ReactNode } from 'react';
3
3
  import { PageBuilderExtension, TemplateDefinition } from '@standhigher/puck-page-builder/runtime';
4
4
 
5
+ type ReadyToGoOrderItem = {
6
+ id: string;
7
+ title: string;
8
+ quantity: number;
9
+ imageUrl?: string;
10
+ description?: string;
11
+ href?: string;
12
+ };
13
+ type ReadyToGoRecommendation = {
14
+ id: string;
15
+ title: string;
16
+ description: string;
17
+ imageUrl?: string;
18
+ href?: string;
19
+ price?: string;
20
+ };
21
+ type ReadyToGoTrackingStep = {
22
+ id: string;
23
+ label: string;
24
+ state: "complete" | "current" | "upcoming";
25
+ date?: string;
26
+ icon?: "check" | "bag" | "truck" | "box";
27
+ };
28
+ type ReadyToGoTrackingEvent = {
29
+ id: string;
30
+ title: string;
31
+ at?: string;
32
+ detail?: string;
33
+ state?: "complete" | "current" | "upcoming";
34
+ };
35
+ type ReadyToGoShipment = {
36
+ id: string;
37
+ label: string;
38
+ trackingNumber?: string;
39
+ status?: string;
40
+ carrier?: string;
41
+ latestEvent?: string;
42
+ updatedAt?: string;
43
+ deliveryAddress?: string;
44
+ estimatedDelivery?: string;
45
+ progress?: ReadyToGoTrackingStep[];
46
+ events?: ReadyToGoTrackingEvent[];
47
+ orderItems?: ReadyToGoOrderItem[];
48
+ recommendations?: ReadyToGoRecommendation[];
49
+ };
5
50
  type ReadyToGoTrackingResult = {
6
51
  trackingNumber: string;
7
52
  status: string;
@@ -9,17 +54,12 @@ type ReadyToGoTrackingResult = {
9
54
  latestEvent?: string;
10
55
  updatedAt?: string;
11
56
  deliveryAddress?: string;
12
- orderItems?: Array<{
13
- id: string;
14
- title: string;
15
- quantity: number;
16
- imageUrl?: string;
17
- }>;
18
- recommendations?: Array<{
19
- id: string;
20
- title: string;
21
- description: string;
22
- }>;
57
+ estimatedDelivery?: string;
58
+ progress?: ReadyToGoTrackingStep[];
59
+ events?: ReadyToGoTrackingEvent[];
60
+ orderItems?: ReadyToGoOrderItem[];
61
+ recommendations?: ReadyToGoRecommendation[];
62
+ shipments?: ReadyToGoShipment[];
23
63
  };
24
64
  type ReadyToGoTrackingQuery = (trackingNumber: string) => Promise<ReadyToGoTrackingResult>;
25
65
  type ReadyToGoRuntimeState = {
@@ -48,7 +88,6 @@ type BrandedRuntimeProviderProps = {
48
88
  children: ReactNode;
49
89
  queryTracking: ReadyToGoTrackingQuery;
50
90
  };
51
- /** Keeps one standard tracking result available to every Branded result block. */
52
91
  declare function BrandedRuntimeProvider({ children, queryTracking }: BrandedRuntimeProviderProps): react.JSX.Element;
53
92
 
54
93
  declare function createSalesTemplate(): TemplateDefinition;
@@ -67,4 +106,4 @@ type SalesRuntimeProviderProps = {
67
106
  /** The host injects a validated query; Sales never calls a DataSource itself. */
68
107
  declare function SalesRuntimeProvider({ children, queryTracking }: SalesRuntimeProviderProps): react.JSX.Element;
69
108
 
70
- export { BrandedRuntimeProvider, type BrandedRuntimeProviderProps, type BrandedRuntimeState, ReadyToGoRuntimeProvider, type ReadyToGoRuntimeProviderProps, type ReadyToGoRuntimeState, type ReadyToGoTrackingQuery, type ReadyToGoTrackingResult, SalesRuntimeProvider, type SalesRuntimeProviderProps, type SalesRuntimeState, bestTrackBrandedExtension, bestTrackPageExtension, bestTrackSalesExtension, createBrandedTemplate, createReadyToGoTemplate, createSalesTemplate };
109
+ export { BrandedRuntimeProvider, type BrandedRuntimeProviderProps, type BrandedRuntimeState, ReadyToGoRuntimeProvider, type ReadyToGoRuntimeProviderProps, type ReadyToGoRuntimeState, type ReadyToGoShipment, type ReadyToGoTrackingEvent, type ReadyToGoTrackingQuery, type ReadyToGoTrackingResult, type ReadyToGoTrackingStep, SalesRuntimeProvider, type SalesRuntimeProviderProps, type SalesRuntimeState, bestTrackBrandedExtension, bestTrackPageExtension, bestTrackSalesExtension, createBrandedTemplate, createReadyToGoTemplate, createSalesTemplate };