@getspot/spot-widget 4.6.0 → 4.8.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [4.8.0](https://gitlab.com/getspot/spot-widget/compare/@getspot/spot-widget@4.7.0...@getspot/spot-widget@4.8.0) (2026-10-29)
2
+
3
+
4
+ ### Features
5
+
6
+ * **core:** add isUSResident residency signal and re-fetch on dropdown change (ST-5408) ([4ba1587](https://gitlab.com/getspot/spot-widget/commit/4ba1587ebba7ebb12a900ab1a8b1bc8758ef4346))
7
+
8
+ # [4.7.0](https://gitlab.com/getspot/spot-widget/compare/@getspot/spot-widget@4.6.0...@getspot/spot-widget@4.7.0) (2026-09-18)
9
+
10
+
11
+ ### Features
12
+
13
+ * **core:** expose theme variables for widget spacing (ST-5451) ([db0179b](https://gitlab.com/getspot/spot-widget/commit/db0179b824c8add61d4ae754090401eefe6a2871))
14
+
1
15
  # [4.6.0](https://gitlab.com/getspot/spot-widget/compare/@getspot/spot-widget@4.5.0...@getspot/spot-widget@4.6.0) (2026-08-11)
2
16
 
3
17
 
package/README.md CHANGED
@@ -579,6 +579,16 @@ export interface SpotWidgetOptions {
579
579
  isPartialPayment?: boolean;
580
580
  useMockData?: boolean;
581
581
  mockData?: ApiResponse;
582
+ // Response the widget should return from the residency re-fetch when useMockData is true.
583
+ // Pass a function to vary the response by residency (e.g. return NO_MATCHING_QUOTE only when
584
+ // isUSResident === false). Used by Storybook to exercise ST-5408 flows without a backend.
585
+ // When omitted, re-fetch reuses `mockData`.
586
+ // Accepts a Promise or an async function so Storybook can simulate a slow backend and show
587
+ // the radios locking the instant the re-fetch starts (independent of when it resolves).
588
+ mockRefetchData?:
589
+ | ApiResponse
590
+ | Promise<ApiResponse>
591
+ | ((isUSResident: boolean | undefined) => ApiResponse | Promise<ApiResponse>);
582
592
  state?: string;
583
593
  }
584
594
  ```
package/dist/api.d.ts CHANGED
@@ -1,13 +1,14 @@
1
1
  import type { ApiResponse, QuoteRequestData, BatchQuoteRequest } from './types.js';
2
2
  /**
3
3
  * Retrieve quote from Spot API
4
- * @param endpoint – Spot API URL
5
- * @param partnerId – partner UUID
6
- * @param payload – quoteRequestData
7
- * @param state – customer's US state code (e.g. "TX"); included in request body when provided for state-aware quoting
4
+ * @param endpoint – Spot API URL
5
+ * @param partnerId – partner UUID
6
+ * @param payload – quoteRequestData
7
+ * @param state – customer's US state code (e.g. "TX"); included in request body when provided for state-aware quoting
8
+ * @param isUSResident – residency signal from the "Are you a US Resident?" selector; forwarded to the API when defined so offer matching can gate international-only / US-only offers
8
9
  * @returns Promise resolving to API response
9
10
  */
10
- export declare function fetchQuote(endpoint: string, partnerId: string, payload: QuoteRequestData, state?: string): Promise<ApiResponse>;
11
+ export declare function fetchQuote(endpoint: string, partnerId: string, payload: QuoteRequestData, state?: string, isUSResident?: boolean): Promise<ApiResponse>;
11
12
  /**
12
13
  * Retrieve batch quote from Spot API
13
14
  * @param endpoint – Spot API URL
@@ -18,11 +19,12 @@ export declare function fetchQuote(endpoint: string, partnerId: string, payload:
18
19
  export declare function fetchBatchQuote(endpoint: string, partnerId: string, batchPayload: BatchQuoteRequest): Promise<ApiResponse>;
19
20
  /**
20
21
  * Retrieve multiple quotes in parallel from Spot API
21
- * @param endpoint – Spot API URL
22
- * @param partnerId – partner UUID
23
- * @param batchData – batch quote data with cart metadata and items
24
- * @param state – customer's US state code (e.g. "TX"); included in request body when provided for state-aware quoting
22
+ * @param endpoint – Spot API URL
23
+ * @param partnerId – partner UUID
24
+ * @param batchData – batch quote data with cart metadata and items
25
+ * @param state – customer's US state code (e.g. "TX"); included in request body when provided for state-aware quoting
26
+ * @param isUSResident – residency signal from the "Are you a US Resident?" selector; forwarded to the API when defined so offer matching can gate international-only / US-only offers
25
27
  * @returns Promise resolving to formatted API response
26
28
  */
27
- export declare function fetchMultipleQuotes(endpoint: string, partnerId: string, batchData: BatchQuoteRequest, state?: string): Promise<ApiResponse>;
29
+ export declare function fetchMultipleQuotes(endpoint: string, partnerId: string, batchData: BatchQuoteRequest, state?: string, isUSResident?: boolean): Promise<ApiResponse>;
28
30
  //# sourceMappingURL=api.d.ts.map
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAY,gBAAgB,EAAE,iBAAiB,EAAkB,MAAM,YAAY,CAAC;AAE7G;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,EACzB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAyBtB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,iBAAiB,GAC9B,OAAO,CAAC,WAAW,CAAC,CAyBtB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,iBAAiB,EAC5B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAuEtB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAY,gBAAgB,EAAE,iBAAiB,EAAkB,MAAM,YAAY,CAAC;AAE7G;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,WAAW,CAAC,CAiCtB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,iBAAiB,GAC9B,OAAO,CAAC,WAAW,CAAC,CAyBtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,iBAAiB,EAC5B,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,WAAW,CAAC,CAwEtB"}
package/dist/index.d.ts CHANGED
@@ -12,6 +12,9 @@ declare class SpotWidget {
12
12
  private _onResize;
13
13
  private _resizeObserver?;
14
14
  private _destroyed;
15
+ private _internationalBlocked;
16
+ private _residencyRequestId;
17
+ private _residencyFetchPending;
15
18
  constructor(options?: Partial<SpotWidgetOptions>);
16
19
  private _init;
17
20
  private _renderWidget;
@@ -22,10 +25,13 @@ declare class SpotWidget {
22
25
  private _applyQuoteUpdates;
23
26
  private _isPassOrTrip;
24
27
  private _validState;
28
+ private _computeIsUSResident;
25
29
  private _isQuotingAvailable;
30
+ private _shouldShowNonUsError;
26
31
  private _setRadiosDisabled;
27
32
  private _setNonUsResidentError;
28
33
  private _setupStateDropdownListener;
34
+ private _refetchForResidencyChange;
29
35
  private _setupOptionListeners;
30
36
  showSelectionError(): void;
31
37
  hideSelectionError(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,aAAa,EAKnB,MAAM,YAAY,CAAC;AAkBpB,cAAM,UAAU;IACd,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,cAAc,CAAC,CAAc;IACrC,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,cAAc,CAAC,CAAoB;IAC3C,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM;YAuBtC,KAAK;IA4GnB,OAAO,CAAC,aAAa;IA0ErB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,cAAc,CAAC,CAAS;IAEhC,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,qBAAqB;IA6F7B,kBAAkB,IAAI,IAAI;IAgB1B,kBAAkB,IAAI,IAAI;IAM1B,iBAAiB,IAAI,OAAO;IAgBtB,WAAW,CACf,mBAAmB,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,GACzD,OAAO,CAAC,OAAO,CAAC;IA8EnB,YAAY,IAAI,aAAa,GAAG,IAAI;IAgCpC,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,YAAY;CAarB;AAED,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,KAAK,EACL,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,KAAK,GACN,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,aAAa,EAKnB,MAAM,YAAY,CAAC;AAkBpB,cAAM,UAAU;IACd,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,cAAc,CAAC,CAAc;IACrC,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,cAAc,CAAC,CAAoB;IAC3C,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,UAAU,CAAS;IAI3B,OAAO,CAAC,qBAAqB,CAAS;IAGtC,OAAO,CAAC,mBAAmB,CAAK;IAIhC,OAAO,CAAC,sBAAsB,CAAS;gBAE3B,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM;YAuBtC,KAAK;IA8GnB,OAAO,CAAC,aAAa;IA2ErB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,cAAc,CAAC,CAAS;IAEhC,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,2BAA2B;YA+BrB,0BAA0B;IAgGxC,OAAO,CAAC,qBAAqB;IA6F7B,kBAAkB,IAAI,IAAI;IAgB1B,kBAAkB,IAAI,IAAI;IAM1B,iBAAiB,IAAI,OAAO;IAgBtB,WAAW,CACf,mBAAmB,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,GACzD,OAAO,CAAC,OAAO,CAAC;IA8GnB,YAAY,IAAI,aAAa,GAAG,IAAI;IAgCpC,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,YAAY;CAarB;AAED,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,KAAK,EACL,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,KAAK,GACN,MAAM,YAAY,CAAC"}