@seamapi/react 5.1.0 → 5.1.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 +3 -3
- package/dist/ecosystem.js +2 -2
- package/dist/ecosystem.js.map +1 -1
- package/dist/elements.js +3 -2
- package/dist/elements.js.map +1 -1
- package/lib/seam/components/SupportedDevices/DeviceModelRow.d.ts +2 -2
- package/lib/seam/components/SupportedDevices/DeviceModelRow.js.map +1 -1
- package/lib/seam/components/SupportedDevices/SupportedDevices.js +2 -2
- package/lib/seam/components/SupportedDevices/SupportedDevices.js.map +1 -1
- package/lib/seam/components/SupportedDevices/device-models.d.ts +12 -12
- package/lib/seam/components/SupportedDevices/device-models.js.map +1 -1
- package/lib/seam/ecosystem/types.d.ts +65 -6
- package/lib/seam/ecosystem/types.js +1 -1
- package/lib/seam/ecosystem/use-ecosystem-device-model-summaries.d.ts +11 -0
- package/lib/seam/ecosystem/use-ecosystem-device-model-summaries.js +53 -0
- package/lib/seam/ecosystem/use-ecosystem-device-model-summaries.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
- package/src/lib/seam/components/SupportedDevices/DeviceModelRow.tsx +5 -2
- package/src/lib/seam/components/SupportedDevices/SupportedDevices.tsx +2 -2
- package/src/lib/seam/components/SupportedDevices/device-models.ts +18 -18
- package/src/lib/seam/ecosystem/types.ts +74 -6
- package/src/lib/seam/ecosystem/use-ecosystem-device-model-summaries.ts +89 -0
- package/src/lib/version.ts +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type {
|
|
2
|
+
import type { DeviceModelSummary, Manufacturer } from '../../../../lib/seam/ecosystem/types.js';
|
|
3
3
|
interface DeviceModelRowProps {
|
|
4
|
-
deviceModel:
|
|
4
|
+
deviceModel: DeviceModelSummary;
|
|
5
5
|
manufacturer: Manufacturer | null;
|
|
6
6
|
}
|
|
7
7
|
export declare function DeviceModelRow({ deviceModel, manufacturer, }: DeviceModelRowProps): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceModelRow.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDevices/DeviceModelRow.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,uDAAuD,CAAA;
|
|
1
|
+
{"version":3,"file":"DeviceModelRow.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDevices/DeviceModelRow.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,uDAAuD,CAAA;AAW9D,MAAM,UAAU,cAAc,CAAC,EAC7B,WAAW,EACX,YAAY,GACQ;IACpB,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG;QACf,GAAG,IAAI,GAAG,CACR,WAAW,CAAC,QAAQ;aACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;aACnC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAC7D;KACF,CAAA;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC;SACpC,IAAI,CAAC,IAAI,CAAC,CAAA;IACb,MAAM,YAAY,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC,MAAM,CAC/D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CACxC,CAAA;IAED,MAAM,IAAI,GAAG;QACX,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5D,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;KAC/C,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAA;IAEnD,OAAO,CACL,cAAI,SAAS,EAAC,4BAA4B,aACxC,cAAK,SAAS,EAAC,8BAA8B,YAC1C,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAClB,8CAAmB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAQ,CAC5C,CAAC,CAAC,CAAC,CACF,cAAK,OAAO,EAAC,MAAM,EAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAC,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CACpE,GACG,EACN,eAAK,SAAS,EAAC,6BAA6B,aACzC,WAAW,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CACjC,eAAM,SAAS,EAAC,6BAA6B,YAAE,IAAI,GAAQ,CAC5D,CAAC,CAAC,CAAC,CACF,YACE,SAAS,EAAC,6BAA6B,EACvC,IAAI,EAAE,WAAW,CAAC,WAAW,EAC7B,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,YAExB,IAAI,GACH,CACL,EACA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAClB,eAAM,SAAS,EAAC,6BAA6B,YAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GACZ,CACR,IACG,EACN,cAAI,SAAS,EAAC,+BAA+B,gBAAa,CAAC,CAAC,MAAM,aAC/D,WAAW,CAAC,WAAW,IAAI,IAAI,IAAI,CAClC,aAAI,SAAS,EAAC,gDAAgD,YAC3D,WAAW,CAAC,WAAW,CAAC,YAAY,GAClC,CACN,EACA,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAChC,cAEE,SAAS,EAAE,UAAU,CAAC,sBAAsB,EAAE;4BAC5C,kCAAkC,EAChC,UAAU,CAAC,SAAS,KAAK,eAAe;yBAC3C,CAAC,EACF,KAAK,EACH,UAAU,CAAC,SAAS,KAAK,eAAe;4BACtC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,WAAW,CAAC;4BACvC,CAAC,CAAC,SAAS,aAGd,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,EACnC,UAAU,CAAC,SAAS,KAAK,eAAe,IAAI,CAC3C,eAAM,SAAS,EAAC,gCAAgC,YAC7C,KAAK,CAAC,CAAC,WAAW,GAAG,GACjB,CACR,KAhBI,UAAU,CAAC,IAAI,CAiBjB,CACN,CAAC,IACC,IACF,CACN,CAAA;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,GAAG,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,OAAO,SAAS,EAAE;IAC9C,MAAM,EAAE,8BAA8B;IACtC,WAAW,EAAE,yBAAyB;CACvC,CAAA"}
|
|
@@ -5,7 +5,7 @@ import { applyEmbedExclusions, capabilityLabels, filterDeviceModels, getCapabili
|
|
|
5
5
|
import { FilterSelect } from '../../../../lib/seam/components/SupportedDevices/FilterSelect.js';
|
|
6
6
|
import { ManufacturerSection } from '../../../../lib/seam/components/SupportedDevices/ManufacturerSection.js';
|
|
7
7
|
import { useEcosystemContext } from '../../../../lib/seam/ecosystem/EcosystemProvider.js';
|
|
8
|
-
import {
|
|
8
|
+
import { useEcosystemDeviceModelSummaries } from '../../../../lib/seam/ecosystem/use-ecosystem-device-model-summaries.js';
|
|
9
9
|
import { useEcosystemManufacturers } from '../../../../lib/seam/ecosystem/use-ecosystem-manufacturers.js';
|
|
10
10
|
import { getEmbedKeyManufacturer, useEmbedKeyResolution, } from '../../../../lib/seam/ecosystem/use-embed-key-resolution.js';
|
|
11
11
|
import { getEcosystemErrorMessage } from '../../../../lib/ui/ecosystem/errors.js';
|
|
@@ -24,7 +24,7 @@ export function SupportedDevices({ manufacturer, deviceType, capability, hideSea
|
|
|
24
24
|
const { embedResolution, isError: isResolutionError, error: resolutionError, refetch: refetchResolution, } = useEmbedKeyResolution({ capability: fixedCapability ?? '' });
|
|
25
25
|
const isResolved = embedKey == null || embedResolution != null;
|
|
26
26
|
const scopeManufacturer = explicitManufacturer ?? getEmbedKeyManufacturer(embedResolution);
|
|
27
|
-
const { deviceModels, isError: isDeviceModelsError, error: deviceModelsError, refetch: refetchDeviceModels, } =
|
|
27
|
+
const { deviceModels, isError: isDeviceModelsError, error: deviceModelsError, refetch: refetchDeviceModels, } = useEcosystemDeviceModelSummaries({
|
|
28
28
|
manufacturer: scopeManufacturer ?? '',
|
|
29
29
|
deviceType: fixedDeviceType ?? '',
|
|
30
30
|
capability: fixedCapability != null && fixedCapability in capabilityLabels
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SupportedDevices.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDevices/SupportedDevices.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3D,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,uDAAuD,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,sDAAsD,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAA;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAE7E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SupportedDevices.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDevices/SupportedDevices.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CapabilityName,
|
|
1
|
+
import type { CapabilityName, DeviceModelSummary, EmbedExclusions, Manufacturer, ManufacturerRef } from '../../../../lib/seam/ecosystem/types.js';
|
|
2
2
|
export interface DeviceModelFilters {
|
|
3
3
|
manufacturer?: string | null;
|
|
4
4
|
deviceType?: string | null;
|
|
@@ -13,7 +13,7 @@ export interface SupportedCapability {
|
|
|
13
13
|
export interface ManufacturerGroup {
|
|
14
14
|
key: string;
|
|
15
15
|
manufacturer: ManufacturerRef | null;
|
|
16
|
-
deviceModels:
|
|
16
|
+
deviceModels: DeviceModelSummary[];
|
|
17
17
|
}
|
|
18
18
|
export interface FilterOption {
|
|
19
19
|
value: string;
|
|
@@ -28,19 +28,19 @@ export declare const getCapabilityLabel: (name: string) => string;
|
|
|
28
28
|
* unsupported providers, and the provider combinations excluded for the
|
|
29
29
|
* resolved capability. A model left with no provider is removed.
|
|
30
30
|
*/
|
|
31
|
-
export declare const applyEmbedExclusions: (deviceModels:
|
|
31
|
+
export declare const applyEmbedExclusions: (deviceModels: DeviceModelSummary[], exclusions: EmbedExclusions | null | undefined) => DeviceModelSummary[];
|
|
32
32
|
/** The best support for each capability across the model's providers. */
|
|
33
|
-
export declare const getSupportedCapabilities: (deviceModel:
|
|
34
|
-
export declare const supportsCapability: (deviceModel:
|
|
35
|
-
export declare const filterDeviceModels: (deviceModels:
|
|
36
|
-
export declare const groupDeviceModelsByManufacturer: (deviceModels:
|
|
37
|
-
export declare const getManufacturerOptions: (deviceModels:
|
|
38
|
-
export declare const getDeviceTypeOptions: (deviceModels:
|
|
39
|
-
export declare const getCapabilityOptions: (deviceModels:
|
|
40
|
-
export declare const getDeviceModelName: (deviceModel:
|
|
33
|
+
export declare const getSupportedCapabilities: (deviceModel: DeviceModelSummary) => SupportedCapability[];
|
|
34
|
+
export declare const supportsCapability: (deviceModel: DeviceModelSummary, capability: string) => boolean;
|
|
35
|
+
export declare const filterDeviceModels: (deviceModels: DeviceModelSummary[], { manufacturer, deviceType, capability, search }: DeviceModelFilters) => DeviceModelSummary[];
|
|
36
|
+
export declare const groupDeviceModelsByManufacturer: (deviceModels: DeviceModelSummary[]) => ManufacturerGroup[];
|
|
37
|
+
export declare const getManufacturerOptions: (deviceModels: DeviceModelSummary[]) => FilterOption[];
|
|
38
|
+
export declare const getDeviceTypeOptions: (deviceModels: DeviceModelSummary[]) => FilterOption[];
|
|
39
|
+
export declare const getCapabilityOptions: (deviceModels: DeviceModelSummary[]) => FilterOption[];
|
|
40
|
+
export declare const getDeviceModelName: (deviceModel: DeviceModelSummary) => string;
|
|
41
41
|
export declare const getManufacturerName: (manufacturer: ManufacturerRef | Manufacturer) => string;
|
|
42
42
|
/** The best available image URL for a device model. */
|
|
43
|
-
export declare const getDeviceModelImageUrl: (deviceModel:
|
|
43
|
+
export declare const getDeviceModelImageUrl: (deviceModel: DeviceModelSummary, manufacturer?: Manufacturer | null) => string | null;
|
|
44
44
|
/** The manufacturer's logo, preferring a square logo. */
|
|
45
45
|
export declare const getManufacturerLogoUrl: (manufacturer: Manufacturer | null | undefined, { mono }?: {
|
|
46
46
|
mono?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-models.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDevices/device-models.ts"],"names":[],"mappings":"AAiCA,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAA4C;IACvE,mBAAmB,EAAE,eAAe;IACpC,iBAAiB,EAAE,aAAa;IAChC,+BAA+B,EAAE,cAAc;IAC/C,gCAAgC,EAAE,sBAAsB;IACxD,yBAAyB,EAAE,aAAa;IACxC,yBAAyB,EAAE,aAAa;IACxC,wBAAwB,EAAE,WAAW;IACrC,aAAa,EAAE,MAAM;IACrB,aAAa,EAAE,MAAM;IACrB,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,KAAK;IACnB,sCAAsC,EAAE,iBAAiB;IACzD,WAAW,EAAE,YAAY;CAC1B,CAAA;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAU,EAAE,CACzD,gBAAgB,CAAC,IAAsB,CAAC;IACxC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,
|
|
1
|
+
{"version":3,"file":"device-models.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDevices/device-models.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Response types for the public Seam Ecosystem API (PartnerDB and DeviceDB).
|
|
3
3
|
*
|
|
4
4
|
* Hand-copied from the zod schemas in `seamapi/ecosystem` `public-types/`
|
|
5
|
-
* (origin/main
|
|
5
|
+
* (origin/main 055335c, 2026-10-17) to avoid a zod runtime dependency.
|
|
6
6
|
* Fields stored verbatim from the source as JSON are typed as `unknown`.
|
|
7
7
|
* Keep in sync with Ecosystem until it publishes its types as a package.
|
|
8
8
|
*/
|
|
@@ -84,17 +84,15 @@ export interface EmbedExclusions {
|
|
|
84
84
|
capability: string;
|
|
85
85
|
capability_exclusions: EmbedCapabilityExclusion[];
|
|
86
86
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Manufacturer context for manufacturer-owned keys.
|
|
89
|
-
* Not returned by Ecosystem yet (DEVDB-439); read when present.
|
|
90
|
-
*/
|
|
87
|
+
/** The manufacturer a manufacturer-owned key scopes DeviceDB widgets to (DEVDB-439). */
|
|
91
88
|
export interface EmbedManufacturerContext {
|
|
92
89
|
manufacturer_slug: string;
|
|
93
90
|
}
|
|
94
91
|
export interface EmbedResolution {
|
|
95
92
|
embed_key: EmbedKey;
|
|
96
|
-
|
|
93
|
+
/** Set for manufacturer-owned keys; null for partner and Seam keys. */
|
|
97
94
|
manufacturer_context?: EmbedManufacturerContext | null;
|
|
95
|
+
exclusions: EmbedExclusions;
|
|
98
96
|
}
|
|
99
97
|
export interface MediaFormat {
|
|
100
98
|
object_key: string;
|
|
@@ -200,6 +198,63 @@ export interface DeviceModel {
|
|
|
200
198
|
created_at: string;
|
|
201
199
|
updated_at: string;
|
|
202
200
|
}
|
|
201
|
+
export interface DeviceImageFormat {
|
|
202
|
+
url: string;
|
|
203
|
+
width: number | null;
|
|
204
|
+
height: number | null;
|
|
205
|
+
}
|
|
206
|
+
export interface DeviceImage {
|
|
207
|
+
url: string;
|
|
208
|
+
mime: string | null;
|
|
209
|
+
width: number | null;
|
|
210
|
+
height: number | null;
|
|
211
|
+
formats: Partial<Record<MediaFormatName, DeviceImageFormat>>;
|
|
212
|
+
}
|
|
213
|
+
export interface CapabilitySummary {
|
|
214
|
+
name: CapabilityName;
|
|
215
|
+
supported: CapabilitySupported;
|
|
216
|
+
integration_support_level: IntegrationSupportLevel | null;
|
|
217
|
+
report: CapabilityReport | null;
|
|
218
|
+
}
|
|
219
|
+
export interface DeviceModelSummaryVariant {
|
|
220
|
+
device_model_variant_id: string;
|
|
221
|
+
color_name: string | null;
|
|
222
|
+
style_name: string | null;
|
|
223
|
+
primary_color_hex: string | null;
|
|
224
|
+
manufacturer_model_id: string | null;
|
|
225
|
+
images: DeviceImage[];
|
|
226
|
+
/** Only with `include=commerce`. */
|
|
227
|
+
asin?: string | null;
|
|
228
|
+
/** Only with `include=commerce`. */
|
|
229
|
+
gtins?: unknown;
|
|
230
|
+
/** Only with `include=commerce`. */
|
|
231
|
+
marketplace_listings?: unknown;
|
|
232
|
+
}
|
|
233
|
+
export interface DeviceModelSummary {
|
|
234
|
+
device_model_id: string;
|
|
235
|
+
slug: string;
|
|
236
|
+
display_name: string | null;
|
|
237
|
+
description_md: string | null;
|
|
238
|
+
product_url: string | null;
|
|
239
|
+
no_longer_sold: boolean | null;
|
|
240
|
+
is_forbidden_to_3dparty: boolean | null;
|
|
241
|
+
manufacturer: ManufacturerRef | null;
|
|
242
|
+
device_type: DeviceTypeRef | null;
|
|
243
|
+
device_type_properties: unknown;
|
|
244
|
+
featured_image: DeviceImage | null;
|
|
245
|
+
variants: DeviceModelSummaryVariant[];
|
|
246
|
+
providers: ProviderRef[];
|
|
247
|
+
capabilities_by_provider: Array<{
|
|
248
|
+
provider: ProviderRef;
|
|
249
|
+
capabilities: CapabilitySummary[];
|
|
250
|
+
}>;
|
|
251
|
+
capabilities_stale: boolean;
|
|
252
|
+
/** Only with `include=commerce`. */
|
|
253
|
+
shop_listings?: unknown;
|
|
254
|
+
/** Only with `include=commerce`. */
|
|
255
|
+
last_commerce_search_at?: string | null;
|
|
256
|
+
updated_at: string;
|
|
257
|
+
}
|
|
203
258
|
export interface ManufacturerDefaultDeviceImage {
|
|
204
259
|
device_type: DeviceTypeRef;
|
|
205
260
|
asset: DeviceAsset;
|
|
@@ -238,6 +293,10 @@ export interface DeviceModelsListResponse {
|
|
|
238
293
|
device_models: DeviceModel[];
|
|
239
294
|
pagination: Pagination;
|
|
240
295
|
}
|
|
296
|
+
export interface DeviceModelSummariesListResponse {
|
|
297
|
+
device_models: DeviceModelSummary[];
|
|
298
|
+
pagination: Pagination;
|
|
299
|
+
}
|
|
241
300
|
export interface ManufacturersListResponse {
|
|
242
301
|
manufacturers: Manufacturer[];
|
|
243
302
|
pagination: Pagination;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Response types for the public Seam Ecosystem API (PartnerDB and DeviceDB).
|
|
3
3
|
*
|
|
4
4
|
* Hand-copied from the zod schemas in `seamapi/ecosystem` `public-types/`
|
|
5
|
-
* (origin/main
|
|
5
|
+
* (origin/main 055335c, 2026-10-17) to avoid a zod runtime dependency.
|
|
6
6
|
* Fields stored verbatim from the source as JSON are typed as `unknown`.
|
|
7
7
|
* Keep in sync with Ecosystem until it publishes its types as a package.
|
|
8
8
|
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DeviceModelSummary } from '../../../lib/seam/ecosystem/types.js';
|
|
2
|
+
import type { UseEcosystemDeviceModelsParams } from '../../../lib/seam/ecosystem/use-ecosystem-device-models.js';
|
|
3
|
+
import { type UseEcosystemQueryResult } from '../../../lib/seam/ecosystem/use-ecosystem-query-result.js';
|
|
4
|
+
export type UseEcosystemDeviceModelSummariesParams = UseEcosystemDeviceModelsParams;
|
|
5
|
+
export type UseEcosystemDeviceModelSummariesData = DeviceModelSummary[];
|
|
6
|
+
/**
|
|
7
|
+
* Published device models in the slim summary shape from Ecosystem
|
|
8
|
+
* `GET /v1/device_models/summaries/list` (no commerce data),
|
|
9
|
+
* following pagination to return every matching model.
|
|
10
|
+
*/
|
|
11
|
+
export declare function useEcosystemDeviceModelSummaries({ manufacturer, deviceType, provider, capability, enabled, }?: UseEcosystemDeviceModelSummariesParams): UseEcosystemQueryResult<'deviceModels', UseEcosystemDeviceModelSummariesData>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { useQuery } from '@tanstack/react-query';
|
|
2
|
+
import { fetchEcosystem, } from '../../../lib/seam/ecosystem/client.js';
|
|
3
|
+
import { useEcosystemContext } from '../../../lib/seam/ecosystem/EcosystemProvider.js';
|
|
4
|
+
import { retryEcosystemQuery, } from '../../../lib/seam/ecosystem/use-ecosystem-query-result.js';
|
|
5
|
+
const pageSize = 500;
|
|
6
|
+
const maxPages = 20;
|
|
7
|
+
/**
|
|
8
|
+
* Published device models in the slim summary shape from Ecosystem
|
|
9
|
+
* `GET /v1/device_models/summaries/list` (no commerce data),
|
|
10
|
+
* following pagination to return every matching model.
|
|
11
|
+
*/
|
|
12
|
+
export function useEcosystemDeviceModelSummaries({ manufacturer = '', deviceType = '', provider = '', capability = '', enabled = true, } = {}) {
|
|
13
|
+
const { embedKey, endpoint } = useEcosystemContext();
|
|
14
|
+
const params = {
|
|
15
|
+
manufacturer: manufacturer.trim(),
|
|
16
|
+
device_type: deviceType.trim(),
|
|
17
|
+
provider: provider.trim(),
|
|
18
|
+
capability: capability.trim(),
|
|
19
|
+
};
|
|
20
|
+
const { data, ...rest } = useQuery({
|
|
21
|
+
enabled,
|
|
22
|
+
queryKey: [
|
|
23
|
+
'ecosystem',
|
|
24
|
+
endpoint,
|
|
25
|
+
embedKey ?? null,
|
|
26
|
+
'device_models',
|
|
27
|
+
'summaries',
|
|
28
|
+
'list',
|
|
29
|
+
params,
|
|
30
|
+
],
|
|
31
|
+
queryFn: async ({ signal }) => {
|
|
32
|
+
const deviceModels = [];
|
|
33
|
+
let pageCursor;
|
|
34
|
+
for (let page = 0; page < maxPages; page++) {
|
|
35
|
+
const res = await fetchEcosystem('device_models/summaries/list', {
|
|
36
|
+
endpoint,
|
|
37
|
+
embedKey,
|
|
38
|
+
params: { ...params, limit: pageSize, page_cursor: pageCursor },
|
|
39
|
+
signal,
|
|
40
|
+
});
|
|
41
|
+
deviceModels.push(...res.device_models);
|
|
42
|
+
const { has_next_page: hasNextPage, next_page_cursor: nextPageCursor } = res.pagination;
|
|
43
|
+
if (!hasNextPage || nextPageCursor == null)
|
|
44
|
+
break;
|
|
45
|
+
pageCursor = nextPageCursor;
|
|
46
|
+
}
|
|
47
|
+
return deviceModels;
|
|
48
|
+
},
|
|
49
|
+
retry: retryEcosystemQuery,
|
|
50
|
+
});
|
|
51
|
+
return { ...rest, deviceModels: data };
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=use-ecosystem-device-model-summaries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-ecosystem-device-model-summaries.js","sourceRoot":"","sources":["../../../src/lib/seam/ecosystem/use-ecosystem-device-model-summaries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAEL,cAAc,GACf,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAM7E,OAAO,EACL,mBAAmB,GAEpB,MAAM,kDAAkD,CAAA;AAOzD,MAAM,QAAQ,GAAG,GAAG,CAAA;AACpB,MAAM,QAAQ,GAAG,EAAE,CAAA;AAEnB;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,EAC/C,YAAY,GAAG,EAAE,EACjB,UAAU,GAAG,EAAE,EACf,QAAQ,GAAG,EAAE,EACb,UAAU,GAAG,EAAE,EACf,OAAO,GAAG,IAAI,MAC4B,EAAE;IAI5C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAEpD,MAAM,MAAM,GAAG;QACb,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE;QACjC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE;QAC9B,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;QACzB,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE;KAC9B,CAAA;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAGhC;QACA,OAAO;QACP,QAAQ,EAAE;YACR,WAAW;YACX,QAAQ;YACR,QAAQ,IAAI,IAAI;YAChB,eAAe;YACf,WAAW;YACX,MAAM;YACN,MAAM;SACP;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAC5B,MAAM,YAAY,GAAyB,EAAE,CAAA;YAC7C,IAAI,UAA8B,CAAA;YAClC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,MAAM,cAAc,CAC9B,8BAA8B,EAC9B;oBACE,QAAQ;oBACR,QAAQ;oBACR,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;oBAC/D,MAAM;iBACP,CACF,CAAA;gBACD,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,CAAA;gBACvC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACpE,GAAG,CAAC,UAAU,CAAA;gBAChB,IAAI,CAAC,WAAW,IAAI,cAAc,IAAI,IAAI;oBAAE,MAAK;gBACjD,UAAU,GAAG,cAAc,CAAA;YAC7B,CAAC;YACD,OAAO,YAAY,CAAA;QACrB,CAAC;QACD,KAAK,EAAE,mBAAmB;KAC3B,CAAC,CAAA;IAEF,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;AACxC,CAAC"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const seamapiReactVersion = "5.1.
|
|
1
|
+
declare const seamapiReactVersion = "5.1.1";
|
|
2
2
|
export default seamapiReactVersion;
|
package/lib/version.js
CHANGED
package/package.json
CHANGED
|
@@ -6,10 +6,13 @@ import {
|
|
|
6
6
|
getDeviceModelName,
|
|
7
7
|
getSupportedCapabilities,
|
|
8
8
|
} from 'lib/seam/components/SupportedDevices/device-models.js'
|
|
9
|
-
import type {
|
|
9
|
+
import type {
|
|
10
|
+
DeviceModelSummary,
|
|
11
|
+
Manufacturer,
|
|
12
|
+
} from 'lib/seam/ecosystem/types.js'
|
|
10
13
|
|
|
11
14
|
interface DeviceModelRowProps {
|
|
12
|
-
deviceModel:
|
|
15
|
+
deviceModel: DeviceModelSummary
|
|
13
16
|
manufacturer: Manufacturer | null
|
|
14
17
|
}
|
|
15
18
|
|
|
@@ -15,7 +15,7 @@ import { FilterSelect } from 'lib/seam/components/SupportedDevices/FilterSelect.
|
|
|
15
15
|
import { ManufacturerSection } from 'lib/seam/components/SupportedDevices/ManufacturerSection.js'
|
|
16
16
|
import { useEcosystemContext } from 'lib/seam/ecosystem/EcosystemProvider.js'
|
|
17
17
|
import type { Manufacturer } from 'lib/seam/ecosystem/types.js'
|
|
18
|
-
import {
|
|
18
|
+
import { useEcosystemDeviceModelSummaries } from 'lib/seam/ecosystem/use-ecosystem-device-model-summaries.js'
|
|
19
19
|
import { useEcosystemManufacturers } from 'lib/seam/ecosystem/use-ecosystem-manufacturers.js'
|
|
20
20
|
import {
|
|
21
21
|
getEmbedKeyManufacturer,
|
|
@@ -82,7 +82,7 @@ export function SupportedDevices({
|
|
|
82
82
|
isError: isDeviceModelsError,
|
|
83
83
|
error: deviceModelsError,
|
|
84
84
|
refetch: refetchDeviceModels,
|
|
85
|
-
} =
|
|
85
|
+
} = useEcosystemDeviceModelSummaries({
|
|
86
86
|
manufacturer: scopeManufacturer ?? '',
|
|
87
87
|
deviceType: fixedDeviceType ?? '',
|
|
88
88
|
capability:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type {
|
|
2
|
-
CapabilityDetail,
|
|
3
2
|
CapabilityName,
|
|
4
|
-
|
|
3
|
+
CapabilitySummary,
|
|
4
|
+
DeviceModelSummary,
|
|
5
5
|
EmbedExclusions,
|
|
6
6
|
Manufacturer,
|
|
7
7
|
ManufacturerRef,
|
|
@@ -23,7 +23,7 @@ export interface SupportedCapability {
|
|
|
23
23
|
export interface ManufacturerGroup {
|
|
24
24
|
key: string
|
|
25
25
|
manufacturer: ManufacturerRef | null
|
|
26
|
-
deviceModels:
|
|
26
|
+
deviceModels: DeviceModelSummary[]
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
export interface FilterOption {
|
|
@@ -61,9 +61,9 @@ export const getCapabilityLabel = (name: string): string =>
|
|
|
61
61
|
* resolved capability. A model left with no provider is removed.
|
|
62
62
|
*/
|
|
63
63
|
export const applyEmbedExclusions = (
|
|
64
|
-
deviceModels:
|
|
64
|
+
deviceModels: DeviceModelSummary[],
|
|
65
65
|
exclusions: EmbedExclusions | null | undefined
|
|
66
|
-
):
|
|
66
|
+
): DeviceModelSummary[] => {
|
|
67
67
|
if (exclusions == null) return deviceModels
|
|
68
68
|
|
|
69
69
|
const excludedManufacturers = new Set(exclusions.excluded_manufacturers)
|
|
@@ -71,7 +71,7 @@ export const applyEmbedExclusions = (
|
|
|
71
71
|
const unsupportedProviders = new Set(exclusions.unsupported_providers)
|
|
72
72
|
const { capability } = exclusions
|
|
73
73
|
|
|
74
|
-
const result:
|
|
74
|
+
const result: DeviceModelSummary[] = []
|
|
75
75
|
for (const deviceModel of deviceModels) {
|
|
76
76
|
const manufacturerSlug = deviceModel.manufacturer?.slug ?? ''
|
|
77
77
|
const deviceTypeSlug = deviceModel.device_type?.slug ?? ''
|
|
@@ -123,7 +123,7 @@ export const applyEmbedExclusions = (
|
|
|
123
123
|
|
|
124
124
|
/** The best support for each capability across the model's providers. */
|
|
125
125
|
export const getSupportedCapabilities = (
|
|
126
|
-
deviceModel:
|
|
126
|
+
deviceModel: DeviceModelSummary
|
|
127
127
|
): SupportedCapability[] => {
|
|
128
128
|
const best = new Map<CapabilityName, SupportedCapability>()
|
|
129
129
|
for (const { capabilities } of deviceModel.capabilities_by_provider) {
|
|
@@ -145,15 +145,15 @@ export const getSupportedCapabilities = (
|
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
export const supportsCapability = (
|
|
148
|
-
deviceModel:
|
|
148
|
+
deviceModel: DeviceModelSummary,
|
|
149
149
|
capability: string
|
|
150
150
|
): boolean =>
|
|
151
151
|
getSupportedCapabilities(deviceModel).some((c) => c.name === capability)
|
|
152
152
|
|
|
153
153
|
export const filterDeviceModels = (
|
|
154
|
-
deviceModels:
|
|
154
|
+
deviceModels: DeviceModelSummary[],
|
|
155
155
|
{ manufacturer, deviceType, capability, search = '' }: DeviceModelFilters
|
|
156
|
-
):
|
|
156
|
+
): DeviceModelSummary[] => {
|
|
157
157
|
const terms = search.toLowerCase().trim().split(/\s+/).filter(Boolean)
|
|
158
158
|
return deviceModels.filter((deviceModel) => {
|
|
159
159
|
if (manufacturer != null && deviceModel.manufacturer?.slug !== manufacturer)
|
|
@@ -168,7 +168,7 @@ export const filterDeviceModels = (
|
|
|
168
168
|
})
|
|
169
169
|
}
|
|
170
170
|
|
|
171
|
-
const getSearchText = (deviceModel:
|
|
171
|
+
const getSearchText = (deviceModel: DeviceModelSummary): string =>
|
|
172
172
|
[
|
|
173
173
|
deviceModel.display_name,
|
|
174
174
|
deviceModel.slug,
|
|
@@ -182,7 +182,7 @@ const getSearchText = (deviceModel: DeviceModel): string =>
|
|
|
182
182
|
.toLowerCase()
|
|
183
183
|
|
|
184
184
|
export const groupDeviceModelsByManufacturer = (
|
|
185
|
-
deviceModels:
|
|
185
|
+
deviceModels: DeviceModelSummary[]
|
|
186
186
|
): ManufacturerGroup[] => {
|
|
187
187
|
const groups = new Map<string, ManufacturerGroup>()
|
|
188
188
|
for (const deviceModel of deviceModels) {
|
|
@@ -210,7 +210,7 @@ export const groupDeviceModelsByManufacturer = (
|
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
export const getManufacturerOptions = (
|
|
213
|
-
deviceModels:
|
|
213
|
+
deviceModels: DeviceModelSummary[]
|
|
214
214
|
): FilterOption[] =>
|
|
215
215
|
uniqueOptions(
|
|
216
216
|
deviceModels.map((m) =>
|
|
@@ -224,7 +224,7 @@ export const getManufacturerOptions = (
|
|
|
224
224
|
)
|
|
225
225
|
|
|
226
226
|
export const getDeviceTypeOptions = (
|
|
227
|
-
deviceModels:
|
|
227
|
+
deviceModels: DeviceModelSummary[]
|
|
228
228
|
): FilterOption[] =>
|
|
229
229
|
uniqueOptions(
|
|
230
230
|
deviceModels.map((m) =>
|
|
@@ -235,7 +235,7 @@ export const getDeviceTypeOptions = (
|
|
|
235
235
|
)
|
|
236
236
|
|
|
237
237
|
export const getCapabilityOptions = (
|
|
238
|
-
deviceModels:
|
|
238
|
+
deviceModels: DeviceModelSummary[]
|
|
239
239
|
): FilterOption[] => {
|
|
240
240
|
const names = new Set<CapabilityName>()
|
|
241
241
|
for (const deviceModel of deviceModels) {
|
|
@@ -248,7 +248,7 @@ export const getCapabilityOptions = (
|
|
|
248
248
|
.map((name) => ({ value: name, label: getCapabilityLabel(name) }))
|
|
249
249
|
}
|
|
250
250
|
|
|
251
|
-
export const getDeviceModelName = (deviceModel:
|
|
251
|
+
export const getDeviceModelName = (deviceModel: DeviceModelSummary): string =>
|
|
252
252
|
deviceModel.display_name ?? deviceModel.slug
|
|
253
253
|
|
|
254
254
|
export const getManufacturerName = (
|
|
@@ -257,7 +257,7 @@ export const getManufacturerName = (
|
|
|
257
257
|
|
|
258
258
|
/** The best available image URL for a device model. */
|
|
259
259
|
export const getDeviceModelImageUrl = (
|
|
260
|
-
deviceModel:
|
|
260
|
+
deviceModel: DeviceModelSummary,
|
|
261
261
|
manufacturer?: Manufacturer | null
|
|
262
262
|
): string | null => {
|
|
263
263
|
const image =
|
|
@@ -303,7 +303,7 @@ export const getManufacturerLogoUrl = (
|
|
|
303
303
|
}
|
|
304
304
|
|
|
305
305
|
const toSupported = (
|
|
306
|
-
capability:
|
|
306
|
+
capability: CapabilitySummary
|
|
307
307
|
): SupportedCapability['supported'] | null => {
|
|
308
308
|
if (capability.supported === 'yes') return 'yes'
|
|
309
309
|
if (capability.supported === 'conditionally') return 'conditionally'
|