@seamapi/react 1.63.1 → 1.65.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 (82) hide show
  1. package/README.md +61 -4
  2. package/dist/elements.js +6133 -6020
  3. package/dist/elements.js.map +1 -1
  4. package/dist/index.css +2 -4
  5. package/dist/index.css.map +1 -1
  6. package/dist/index.min.css +1 -1
  7. package/dist/index.min.css.map +1 -1
  8. package/lib/seam/SeamProvider.d.ts +2 -1
  9. package/lib/seam/SeamProvider.js +10 -4
  10. package/lib/seam/SeamProvider.js.map +1 -1
  11. package/lib/seam/components/AccessCodeDetails/AccessCodeDetails.d.ts +1 -1
  12. package/lib/seam/components/AccessCodeDetails/AccessCodeDetails.js +11 -13
  13. package/lib/seam/components/AccessCodeDetails/AccessCodeDetails.js.map +1 -1
  14. package/lib/seam/components/AccessCodeTable/AccessCodeHealthBar.d.ts +4 -1
  15. package/lib/seam/components/AccessCodeTable/AccessCodeHealthBar.js +3 -2
  16. package/lib/seam/components/AccessCodeTable/AccessCodeHealthBar.js.map +1 -1
  17. package/lib/seam/components/AccessCodeTable/AccessCodeTable.d.ts +1 -1
  18. package/lib/seam/components/AccessCodeTable/AccessCodeTable.js +15 -11
  19. package/lib/seam/components/AccessCodeTable/AccessCodeTable.js.map +1 -1
  20. package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDetails.d.ts +1 -1
  21. package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDetails.js +2 -2
  22. package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDetails.js.map +1 -1
  23. package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.d.ts +1 -1
  24. package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.js +12 -7
  25. package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.js.map +1 -1
  26. package/lib/seam/components/DeviceDetails/LockDeviceDetails.js +11 -4
  27. package/lib/seam/components/DeviceDetails/LockDeviceDetails.js.map +1 -1
  28. package/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.d.ts +1 -1
  29. package/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.js +2 -2
  30. package/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.js.map +1 -1
  31. package/lib/seam/components/DeviceTable/DeviceHealthBar.d.ts +3 -1
  32. package/lib/seam/components/DeviceTable/DeviceHealthBar.js +4 -3
  33. package/lib/seam/components/DeviceTable/DeviceHealthBar.js.map +1 -1
  34. package/lib/seam/components/DeviceTable/DeviceTable.d.ts +1 -1
  35. package/lib/seam/components/DeviceTable/DeviceTable.js +14 -9
  36. package/lib/seam/components/DeviceTable/DeviceTable.js.map +1 -1
  37. package/lib/seam/components/SupportedDeviceTable/use-device-model.d.ts +7 -0
  38. package/lib/seam/components/SupportedDeviceTable/use-device-model.js +18 -0
  39. package/lib/seam/components/SupportedDeviceTable/use-device-model.js.map +1 -0
  40. package/lib/seam/components/SupportedDeviceTable/use-device-models.d.ts +7 -0
  41. package/lib/seam/components/SupportedDeviceTable/use-device-models.js +17 -0
  42. package/lib/seam/components/SupportedDeviceTable/use-device-models.js.map +1 -0
  43. package/lib/seam/components/SupportedDeviceTable/use-manufacturer.d.ts +7 -0
  44. package/lib/seam/components/SupportedDeviceTable/use-manufacturer.js +18 -0
  45. package/lib/seam/components/SupportedDeviceTable/use-manufacturer.js.map +1 -0
  46. package/lib/seam/components/SupportedDeviceTable/use-manufacturers.d.ts +7 -0
  47. package/lib/seam/components/SupportedDeviceTable/use-manufacturers.js +17 -0
  48. package/lib/seam/components/SupportedDeviceTable/use-manufacturers.js.map +1 -0
  49. package/lib/seam/components/common-props.d.ts +3 -0
  50. package/lib/seam/components/common-props.js.map +1 -1
  51. package/lib/seam/filters.d.ts +8 -0
  52. package/lib/seam/filters.js +16 -0
  53. package/lib/seam/filters.js.map +1 -0
  54. package/lib/telemetry/client.js.map +1 -1
  55. package/lib/ui/Snackbar/Snackbar.d.ts +1 -1
  56. package/lib/ui/Snackbar/Snackbar.js +1 -1
  57. package/lib/ui/Snackbar/Snackbar.js.map +1 -1
  58. package/lib/version.d.ts +1 -1
  59. package/lib/version.js +1 -1
  60. package/package.json +15 -5
  61. package/src/lib/element.tsx +6 -1
  62. package/src/lib/seam/SeamProvider.tsx +17 -2
  63. package/src/lib/seam/components/AccessCodeDetails/AccessCodeDetails.tsx +24 -30
  64. package/src/lib/seam/components/AccessCodeTable/AccessCodeHealthBar.tsx +9 -1
  65. package/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +32 -5
  66. package/src/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDetails.tsx +4 -0
  67. package/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +21 -5
  68. package/src/lib/seam/components/DeviceDetails/LockDeviceDetails.tsx +19 -8
  69. package/src/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.tsx +4 -0
  70. package/src/lib/seam/components/DeviceTable/DeviceHealthBar.tsx +10 -2
  71. package/src/lib/seam/components/DeviceTable/DeviceTable.tsx +29 -7
  72. package/src/lib/seam/components/SupportedDeviceTable/use-device-model.ts +45 -0
  73. package/src/lib/seam/components/SupportedDeviceTable/use-device-models.ts +43 -0
  74. package/src/lib/seam/components/SupportedDeviceTable/use-manufacturer.ts +45 -0
  75. package/src/lib/seam/components/SupportedDeviceTable/use-manufacturers.ts +43 -0
  76. package/src/lib/seam/components/common-props.tsx +10 -0
  77. package/src/lib/seam/filters.ts +32 -0
  78. package/src/lib/telemetry/client.ts +3 -3
  79. package/src/lib/ui/Snackbar/Snackbar.tsx +2 -2
  80. package/src/lib/version.ts +1 -1
  81. package/src/styles/_device-details.scss +1 -2
  82. package/src/styles/_thermostat.scss +1 -2
@@ -11,6 +11,7 @@ import { DeviceRow } from '../../../../lib/seam/components/DeviceTable/DeviceRow
11
11
  import { useDevices, } from '../../../../lib/seam/devices/use-devices.js';
12
12
  import { ContentHeader } from '../../../../lib/ui/layout/ContentHeader.js';
13
13
  import { LoadingToast } from '../../../../lib/ui/LoadingToast/LoadingToast.js';
14
+ import { Snackbar } from '../../../../lib/ui/Snackbar/Snackbar.js';
14
15
  import { EmptyPlaceholder } from '../../../../lib/ui/Table/EmptyPlaceholder.js';
15
16
  import { TableBody } from '../../../../lib/ui/Table/TableBody.js';
16
17
  import { TableHeader } from '../../../../lib/ui/Table/TableHeader.js';
@@ -24,9 +25,9 @@ export const defaultDeviceFilter = (device, searchInputValue) => {
24
25
  return device.properties.name.toLowerCase().includes(value);
25
26
  };
26
27
  export const NestedDeviceTable = withRequiredCommonProps(DeviceTable);
27
- export function DeviceTable({ deviceIds, connectedAccountIds, disableSearch = false, onDeviceClick = () => { }, preventDefaultOnDeviceClick = false, deviceFilter = defaultDeviceFilter, deviceComparator = compareByCreatedAtDesc, heading = t.devices, title = t.devices, disableLockUnlock = false, disableCreateAccessCode = false, disableEditAccessCode = false, disableDeleteAccessCode = false, disableResourceIds = false, onBack, className, } = {}) {
28
+ export function DeviceTable({ deviceIds, connectedAccountIds, disableSearch = false, onDeviceClick = () => { }, preventDefaultOnDeviceClick = false, deviceFilter = defaultDeviceFilter, deviceComparator = compareByCreatedAtDesc, heading = t.devices, title = t.devices, errorFilter = () => true, warningFilter = () => true, disableLockUnlock = false, disableCreateAccessCode = false, disableEditAccessCode = false, disableDeleteAccessCode = false, disableResourceIds = false, onBack, className, } = {}) {
28
29
  useComponentTelemetry('DeviceTable');
29
- const { devices, isInitialLoading, isError, error } = useDevices({
30
+ const { devices, isInitialLoading, isError, refetch } = useDevices({
30
31
  device_ids: deviceIds,
31
32
  connected_account_ids: connectedAccountIds,
32
33
  });
@@ -43,17 +44,19 @@ export function DeviceTable({ deviceIds, connectedAccountIds, disableSearch = fa
43
44
  setSelectedDeviceId(deviceId);
44
45
  }, [onDeviceClick, preventDefaultOnDeviceClick, setSelectedDeviceId]);
45
46
  if (selectedDeviceId != null) {
46
- return (_jsx(NestedDeviceDetails, { deviceId: selectedDeviceId, disableLockUnlock: disableLockUnlock, disableCreateAccessCode: disableCreateAccessCode, disableEditAccessCode: disableEditAccessCode, disableDeleteAccessCode: disableDeleteAccessCode, disableResourceIds: disableResourceIds, onBack: () => {
47
+ return (_jsx(NestedDeviceDetails, { deviceId: selectedDeviceId, errorFilter: errorFilter, warningFilter: warningFilter, disableLockUnlock: disableLockUnlock, disableCreateAccessCode: disableCreateAccessCode, disableEditAccessCode: disableEditAccessCode, disableDeleteAccessCode: disableDeleteAccessCode, disableResourceIds: disableResourceIds, onBack: () => {
47
48
  setSelectedDeviceId(null);
48
49
  }, className: className }));
49
50
  }
50
- if (isError) {
51
- return _jsx("p", { className: className, children: error?.message });
52
- }
53
- return (_jsxs("div", { className: classNames('seam-device-table', className), children: [_jsx(ContentHeader, { onBack: onBack }), _jsxs(TableHeader, { children: [title != null ? (_jsxs(TableTitle, { children: [heading ?? title ?? t.devices, ' ', _jsxs(Caption, { children: ["(", filteredDevices.length, ")"] })] })) : (_jsx("div", { className: 'seam-fragment' })), _jsx("div", { className: 'seam-table-header-loading-wrap', children: _jsx(LoadingToast, { isLoading: isInitialLoading, label: t.loading, top: -20 }) }), !disableSearch && (_jsx(SearchTextField, { value: searchInputValue, onChange: setSearchInputValue, disabled: (devices?.length ?? 0) === 0 }))] }), _jsx(TableBody, { children: _jsx(Content, { devices: filteredDevices, onDeviceClick: handleDeviceClick }) })] }));
51
+ return (_jsxs("div", { className: classNames('seam-device-table', className), children: [_jsx(ContentHeader, { onBack: onBack }), _jsxs(TableHeader, { children: [title != null ? (_jsxs(TableTitle, { children: [heading ?? title ?? t.devices, ' ', _jsxs(Caption, { children: ["(", filteredDevices.length, ")"] })] })) : (_jsx("div", { className: 'seam-fragment' })), _jsx("div", { className: 'seam-table-header-loading-wrap', children: _jsx(LoadingToast, { isLoading: isInitialLoading, label: t.loading, top: -20 }) }), !disableSearch && (_jsx(SearchTextField, { value: searchInputValue, onChange: setSearchInputValue, disabled: (devices?.length ?? 0) === 0 }))] }), _jsx(TableBody, { children: _jsx(Content, { devices: filteredDevices, onDeviceClick: handleDeviceClick, errorFilter: errorFilter }) }), _jsx(Snackbar, { variant: 'error', visible: isError, message: t.fallbackErrorMessage, action: {
52
+ label: t.tryAgain,
53
+ onClick: () => {
54
+ void refetch();
55
+ },
56
+ }, disableCloseButton: true })] }));
54
57
  }
55
58
  function Content(props) {
56
- const { devices, onDeviceClick } = props;
59
+ const { devices, onDeviceClick, errorFilter } = props;
57
60
  const [filter, setFilter] = useState(null);
58
61
  if (devices.length === 0) {
59
62
  return _jsx(EmptyPlaceholder, { children: t.noDevicesMessage });
@@ -71,7 +74,7 @@ function Content(props) {
71
74
  }
72
75
  return true;
73
76
  });
74
- return (_jsxs(_Fragment, { children: [_jsx(DeviceHealthBar, { devices: devices, filter: filter, onFilterSelect: setFilter }), filteredDevices.map((device) => (_jsx(DeviceRow, { device: device, onClick: () => {
77
+ return (_jsxs(_Fragment, { children: [_jsx(DeviceHealthBar, { devices: devices, filter: filter, onFilterSelect: setFilter, errorFilter: errorFilter }), filteredDevices.map((device) => (_jsx(DeviceRow, { device: device, onClick: () => {
75
78
  onDeviceClick(device.device_id);
76
79
  } }, device.device_id)))] }));
77
80
  }
@@ -79,5 +82,7 @@ const t = {
79
82
  devices: 'Devices',
80
83
  noDevicesMessage: 'Sorry, no devices were found',
81
84
  loading: 'Loading devices',
85
+ tryAgain: 'Try again',
86
+ fallbackErrorMessage: 'Devices could not be loaded',
82
87
  };
83
88
  //# sourceMappingURL=DeviceTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceTable.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/DeviceTable/DeviceTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeviceTable.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/DeviceTable/DeviceTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { DeviceModelV1, RouteRequestParams } from '@seamapi/types/devicedb';
2
+ import type { UseSeamQueryResult } from '../../../../lib/seam/use-seam-query-result.js';
3
+ export type UseDeviceModelParams = DeviceModelsGetParams | string;
4
+ export type UseDeviceModelData = DeviceModelV1 | null;
5
+ export declare function useDeviceModel(params?: UseDeviceModelParams): UseSeamQueryResult<'deviceModel', UseDeviceModelData>;
6
+ type DeviceModelsGetParams = RouteRequestParams<'/v1/device_models/get'>;
7
+ export {};
@@ -0,0 +1,18 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { useSeamClient } from '../../../../lib/seam/use-seam-client.js';
3
+ export function useDeviceModel(params) {
4
+ const normalizedParams = typeof params === 'string' ? { device_model_id: params } : params;
5
+ const { client: seam } = useSeamClient();
6
+ const { data, ...rest } = useQuery({
7
+ enabled: seam != null,
8
+ queryKey: ['internal', 'device_models', 'get', normalizedParams],
9
+ queryFn: async () => {
10
+ if (seam == null)
11
+ return null;
12
+ const { data: { device_model: deviceModel }, } = await seam.client.get('/internal/devicedb/v1/device_models/get', { params: normalizedParams });
13
+ return deviceModel;
14
+ },
15
+ });
16
+ return { ...rest, deviceModel: data };
17
+ }
18
+ //# sourceMappingURL=use-device-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-device-model.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDeviceTable/use-device-model.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAM3D,MAAM,UAAU,cAAc,CAC5B,MAA6B;IAE7B,MAAM,gBAAgB,GACpB,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IAEnE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAA;IACxC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAGhC;QACA,OAAO,EAAE,IAAI,IAAI,IAAI;QACrB,QAAQ,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,CAAC;QAChE,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAA;YAC7B,MAAM,EACJ,IAAI,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,GACpC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACvB,yCAAyC,EACzC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAC7B,CAAA;YACD,OAAO,WAAW,CAAA;QACpB,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;AACvC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { DeviceModelV1, RouteRequestParams } from '@seamapi/types/devicedb';
2
+ import type { UseSeamQueryResult } from '../../../../lib/seam/use-seam-query-result.js';
3
+ export type UseDeviceModelsParams = DeviceModelsListParams;
4
+ export type UseDeviceModelsData = DeviceModelV1[];
5
+ export declare function useDeviceModels(params?: UseDeviceModelsParams): UseSeamQueryResult<'deviceModels', UseDeviceModelsData>;
6
+ type DeviceModelsListParams = RouteRequestParams<'/v1/device_models/list'>;
7
+ export {};
@@ -0,0 +1,17 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { useSeamClient } from '../../../../lib/seam/use-seam-client.js';
3
+ export function useDeviceModels(params) {
4
+ const { client: seam } = useSeamClient();
5
+ const { data, ...rest } = useQuery({
6
+ enabled: seam != null,
7
+ queryKey: ['internal', 'device_models', 'list', params],
8
+ queryFn: async () => {
9
+ if (seam == null)
10
+ return [];
11
+ const { data: { device_models: deviceModels }, } = await seam.client.get('/internal/devicedb/v1/device_models/list', { params });
12
+ return deviceModels;
13
+ },
14
+ });
15
+ return { ...rest, deviceModels: data };
16
+ }
17
+ //# sourceMappingURL=use-device-models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-device-models.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDeviceTable/use-device-models.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAM3D,MAAM,UAAU,eAAe,CAC7B,MAA8B;IAE9B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAA;IAExC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAGhC;QACA,OAAO,EAAE,IAAI,IAAI,IAAI;QACrB,QAAQ,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC;QACvD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAA;YAC3B,MAAM,EACJ,IAAI,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,GACtC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACvB,0CAA0C,EAC1C,EAAE,MAAM,EAAE,CACX,CAAA;YACD,OAAO,YAAY,CAAA;QACrB,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;AACxC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Manufacturer, RouteRequestParams } from '@seamapi/types/devicedb';
2
+ import type { UseSeamQueryResult } from '../../../../lib/seam/use-seam-query-result.js';
3
+ export type UseManufacturerParams = ManufacturersGetParams | string;
4
+ export type UseManufacturerData = Manufacturer | null;
5
+ export declare function useManufacturer(params?: UseManufacturerParams): UseSeamQueryResult<'manufacturer', UseManufacturerData>;
6
+ type ManufacturersGetParams = RouteRequestParams<'/v1/manufacturers/get'>;
7
+ export {};
@@ -0,0 +1,18 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { useSeamClient } from '../../../../lib/seam/use-seam-client.js';
3
+ export function useManufacturer(params) {
4
+ const normalizedParams = typeof params === 'string' ? { manufacturer_id: params } : params;
5
+ const { client: seam } = useSeamClient();
6
+ const { data, ...rest } = useQuery({
7
+ enabled: seam != null,
8
+ queryKey: ['internal', 'manufacturers', 'get', normalizedParams],
9
+ queryFn: async () => {
10
+ if (seam == null)
11
+ return null;
12
+ const { data: { manufacturer }, } = await seam.client.get('/internal/devicedb/v1/manufacturers/get', { params: normalizedParams });
13
+ return manufacturer;
14
+ },
15
+ });
16
+ return { ...rest, manufacturer: data };
17
+ }
18
+ //# sourceMappingURL=use-manufacturer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-manufacturer.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDeviceTable/use-manufacturer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAM3D,MAAM,UAAU,eAAe,CAC7B,MAA8B;IAE9B,MAAM,gBAAgB,GACpB,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IAEnE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAA;IACxC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAGhC;QACA,OAAO,EAAE,IAAI,IAAI,IAAI;QACrB,QAAQ,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,CAAC;QAChE,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAA;YAC7B,MAAM,EACJ,IAAI,EAAE,EAAE,YAAY,EAAE,GACvB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACvB,yCAAyC,EACzC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAC7B,CAAA;YACD,OAAO,YAAY,CAAA;QACrB,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;AACxC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Manufacturer, RouteRequestParams } from '@seamapi/types/devicedb';
2
+ import type { UseSeamQueryResult } from '../../../../lib/seam/use-seam-query-result.js';
3
+ export type UseManufacturersParams = ManufacturersListParams;
4
+ export type UseManufacturersData = Manufacturer[];
5
+ export declare function useManufacturers(params?: UseManufacturersParams): UseSeamQueryResult<'manufacturers', UseManufacturersData>;
6
+ type ManufacturersListParams = RouteRequestParams<'/v1/manufacturers/list'>;
7
+ export {};
@@ -0,0 +1,17 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { useSeamClient } from '../../../../lib/seam/use-seam-client.js';
3
+ export function useManufacturers(params) {
4
+ const { client: seam } = useSeamClient();
5
+ const { data, ...rest } = useQuery({
6
+ enabled: seam != null,
7
+ queryKey: ['internal', 'manufacturers', 'list', params],
8
+ queryFn: async () => {
9
+ if (seam == null)
10
+ return [];
11
+ const { data: { manufacturers }, } = await seam.client.get('/internal/devicedb/v1/manufacturers/list', { params });
12
+ return manufacturers;
13
+ },
14
+ });
15
+ return { ...rest, manufacturers: data };
16
+ }
17
+ //# sourceMappingURL=use-manufacturers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-manufacturers.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDeviceTable/use-manufacturers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAM3D,MAAM,UAAU,gBAAgB,CAC9B,MAA+B;IAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAA;IAExC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAGhC;QACA,OAAO,EAAE,IAAI,IAAI,IAAI;QACrB,QAAQ,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC;QACvD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAA;YAC3B,MAAM,EACJ,IAAI,EAAE,EAAE,aAAa,EAAE,GACxB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACvB,0CAA0C,EAC1C,EAAE,MAAM,EAAE,CACX,CAAA;YACD,OAAO,aAAa,CAAA;QACtB,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;AACzC,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import type { ComponentType } from 'react';
2
+ import type { AccessCodeError, ConnectedAccountError, DeviceError, SeamWarning } from 'seamapi';
2
3
  export interface RequiredCommonProps {
3
4
  className: string | undefined;
4
5
  onBack: (() => void) | undefined;
6
+ errorFilter: (error: ConnectedAccountError | DeviceError | AccessCodeError) => boolean;
7
+ warningFilter: (warning: SeamWarning) => boolean;
5
8
  disableDeleteAccessCode: boolean | undefined;
6
9
  disableCreateAccessCode: boolean | undefined;
7
10
  disableEditAccessCode: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"common-props.js","sourceRoot":"","sources":["../../../src/lib/seam/components/common-props.tsx"],"names":[],"mappings":";AAcA,MAAM,UAAU,uBAAuB,CAGrC,SAA2B;IAE3B,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,IAAI,WAAW,CAAA;IAEnE,SAAS,uBAAuB,CAC9B,KAA8B;QAE9B,OAAO,KAAC,SAAS,OAAK,KAAK,GAAI,CAAA;IACjC,CAAC;IAED,uBAAuB,CAAC,WAAW,GAAG,2BAA2B,IAAI,GAAG,CAAA;IAExE,OAAO,uBAAuB,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"common-props.js","sourceRoot":"","sources":["../../../src/lib/seam/components/common-props.tsx"],"names":[],"mappings":";AAwBA,MAAM,UAAU,uBAAuB,CAGrC,SAA2B;IAE3B,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,IAAI,WAAW,CAAA;IAEnE,SAAS,uBAAuB,CAC9B,KAA8B;QAE9B,OAAO,KAAC,SAAS,OAAK,KAAK,GAAI,CAAA;IACjC,CAAC;IAED,uBAAuB,CAAC,WAAW,GAAG,2BAA2B,IAAI,GAAG,CAAA;IAExE,OAAO,uBAAuB,CAAA;AAChC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { AccessCodeError, ConnectedAccountError, DeviceError, SeamWarning } from 'seamapi';
2
+ type SeamCompositeError = ConnectedAccountError | DeviceError | AccessCodeError;
3
+ export declare const accessCodeErrorFilter: (error: SeamCompositeError) => boolean;
4
+ export declare const accessCodeWarningFilter: (_: SeamWarning) => boolean;
5
+ export declare const deviceErrorFilter: (error: SeamCompositeError) => boolean;
6
+ export declare const deviceWarningFilter: (_: SeamWarning) => boolean;
7
+ export declare const connectedAccountErrorFilter: (error: SeamCompositeError) => boolean;
8
+ export {};
@@ -0,0 +1,16 @@
1
+ export const accessCodeErrorFilter = (error) => {
2
+ return 'is_access_code_error' in error && error.is_access_code_error;
3
+ };
4
+ export const accessCodeWarningFilter = (_) => {
5
+ return true;
6
+ };
7
+ export const deviceErrorFilter = (error) => {
8
+ return 'is_device_error' in error && error.is_device_error;
9
+ };
10
+ export const deviceWarningFilter = (_) => {
11
+ return true;
12
+ };
13
+ export const connectedAccountErrorFilter = (error) => {
14
+ return ('is_connected_account_error' in error && error.is_connected_account_error);
15
+ };
16
+ //# sourceMappingURL=filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/lib/seam/filters.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAyB,EAAW,EAAE;IAC1E,OAAO,sBAAsB,IAAI,KAAK,IAAI,KAAK,CAAC,oBAAoB,CAAA;AACtE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAc,EAAW,EAAE;IACjE,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAyB,EAAW,EAAE;IACtE,OAAO,iBAAiB,IAAI,KAAK,IAAI,KAAK,CAAC,eAAe,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAc,EAAW,EAAE;IAC7D,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAyB,EAChB,EAAE;IACX,OAAO,CACL,4BAA4B,IAAI,KAAK,IAAI,KAAK,CAAC,0BAA0B,CAC1E,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/telemetry/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/telemetry/client.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ interface SnackbarProps {
4
4
  message: string;
5
5
  variant: SnackbarVariant;
6
6
  visible: boolean;
7
- onClose: () => void;
7
+ onClose?: () => void;
8
8
  action?: {
9
9
  label: string;
10
10
  onClick: () => void;
@@ -4,7 +4,7 @@ import { useEffect } from 'react';
4
4
  import { CheckGreenIcon } from '../../../lib/icons/CheckGreen.js';
5
5
  import { CloseWhiteIcon } from '../../../lib/icons/CloseWhite.js';
6
6
  import { ExclamationCircleIcon } from '../../../lib/icons/ExclamationCircle.js';
7
- export function Snackbar({ message, variant, visible, action, autoDismiss = false, dismissAfterMs = 5000, disableCloseButton = false, onClose, }) {
7
+ export function Snackbar({ message, variant, visible, action, autoDismiss = false, dismissAfterMs = 5000, disableCloseButton = false, onClose = () => { }, }) {
8
8
  const { label: actionLabel, onClick: handleActionClick } = action ?? {};
9
9
  useEffect(() => {
10
10
  if (!autoDismiss) {
@@ -1 +1 @@
1
- {"version":3,"file":"Snackbar.js","sourceRoot":"","sources":["../../../src/lib/ui/Snackbar/Snackbar.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAkBtE,MAAM,UAAU,QAAQ,CAAC,EACvB,OAAO,EACP,OAAO,EACP,OAAO,EACP,MAAM,EACN,WAAW,GAAG,KAAK,EACnB,cAAc,GAAG,IAAI,EACrB,kBAAkB,GAAG,KAAK,EAC1B,OAAO,GACO;IACd,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAEvE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;SAChB;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE;YACzC,OAAO,EAAE,CAAA;QACX,CAAC,EAAE,cAAc,CAAC,CAAA;QAElB,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;IAE1C,OAAO,CACL,cAAK,SAAS,EAAC,oBAAoB,YACjC,eACE,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE;gBACrC,uBAAuB,EAAE,OAAO;aACjC,CAAC,aAEF,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,GAAI,EAClC,cAAK,SAAS,EAAC,4BAA4B,YACzC,YAAG,SAAS,EAAC,uBAAuB,YAAE,OAAO,GAAK,GAC9C,EACN,eAAK,SAAS,EAAC,4BAA4B,aACxC,MAAM,IAAI,IAAI,IAAI,CACjB,iBACE,SAAS,EAAC,sBAAsB,EAChC,OAAO,EAAE,iBAAiB,YAE1B,eAAM,SAAS,EAAC,4BAA4B,YAAE,WAAW,GAAQ,GAC1D,CACV,EACA,CAAC,kBAAkB,IAAI,CACtB,iBACE,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAE,GAAG,EAAE;gCACZ,OAAO,EAAE,CAAA;4BACX,CAAC,YAED,KAAC,cAAc,KAAG,GACX,CACV,IACG,IACF,GACF,CACP,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAmC;IACvD,QAAQ,KAAK,CAAC,OAAO,EAAE;QACrB,KAAK,SAAS;YACZ,OAAO,KAAC,cAAc,KAAG,CAAA;QAC3B,KAAK,OAAO;YACV,OAAO,KAAC,qBAAqB,KAAG,CAAA;KACnC;AACH,CAAC"}
1
+ {"version":3,"file":"Snackbar.js","sourceRoot":"","sources":["../../../src/lib/ui/Snackbar/Snackbar.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAkBtE,MAAM,UAAU,QAAQ,CAAC,EACvB,OAAO,EACP,OAAO,EACP,OAAO,EACP,MAAM,EACN,WAAW,GAAG,KAAK,EACnB,cAAc,GAAG,IAAI,EACrB,kBAAkB,GAAG,KAAK,EAC1B,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,GACJ;IACd,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAEvE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;SAChB;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE;YACzC,OAAO,EAAE,CAAA;QACX,CAAC,EAAE,cAAc,CAAC,CAAA;QAElB,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;IAE1C,OAAO,CACL,cAAK,SAAS,EAAC,oBAAoB,YACjC,eACE,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE;gBACrC,uBAAuB,EAAE,OAAO;aACjC,CAAC,aAEF,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,GAAI,EAClC,cAAK,SAAS,EAAC,4BAA4B,YACzC,YAAG,SAAS,EAAC,uBAAuB,YAAE,OAAO,GAAK,GAC9C,EACN,eAAK,SAAS,EAAC,4BAA4B,aACxC,MAAM,IAAI,IAAI,IAAI,CACjB,iBACE,SAAS,EAAC,sBAAsB,EAChC,OAAO,EAAE,iBAAiB,YAE1B,eAAM,SAAS,EAAC,4BAA4B,YAAE,WAAW,GAAQ,GAC1D,CACV,EACA,CAAC,kBAAkB,IAAI,CACtB,iBACE,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAE,GAAG,EAAE;gCACZ,OAAO,EAAE,CAAA;4BACX,CAAC,YAED,KAAC,cAAc,KAAG,GACX,CACV,IACG,IACF,GACF,CACP,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAmC;IACvD,QAAQ,KAAK,CAAC,OAAO,EAAE;QACrB,KAAK,SAAS;YACZ,OAAO,KAAC,cAAc,KAAG,CAAA;QAC3B,KAAK,OAAO;YACV,OAAO,KAAC,qBAAqB,KAAG,CAAA;KACnC;AACH,CAAC"}
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const seamapiReactVersion = "1.63.1";
1
+ declare const seamapiReactVersion = "1.65.0";
2
2
  export default seamapiReactVersion;
package/lib/version.js CHANGED
@@ -1,3 +1,3 @@
1
- const seamapiReactVersion = '1.63.1';
1
+ const seamapiReactVersion = '1.65.0';
2
2
  export default seamapiReactVersion;
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/react",
3
- "version": "1.63.1",
3
+ "version": "1.65.0",
4
4
  "description": "Seam Components.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -90,6 +90,8 @@
90
90
  "storybook:docs": "storybook dev --docs --port 6007",
91
91
  "storybook:build": "storybook build",
92
92
  "prestorybook:build": "vite build examples",
93
+ "storybook:update-devicedb-seed": "tsx .storybook/update-devicedb-seed.ts",
94
+ "poststorybook:update-devicedb-seed": "npm run format",
93
95
  "examples": "vite examples --host",
94
96
  "examples:build": "vite build examples",
95
97
  "examples:preview": "vite preview examples",
@@ -107,12 +109,16 @@
107
109
  "npm": ">= 8.1.0"
108
110
  },
109
111
  "peerDependencies": {
112
+ "@seamapi/types": "^1.26.2",
110
113
  "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
111
114
  "@types/react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
112
115
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
113
116
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
114
117
  },
115
118
  "peerDependenciesMeta": {
119
+ "@seamapi/types": {
120
+ "optional": true
121
+ },
116
122
  "@types/react": {
117
123
  "optional": true
118
124
  },
@@ -126,15 +132,18 @@
126
132
  "luxon": "^3.3.0",
127
133
  "queue": "^7.0.0",
128
134
  "react-hook-form": "^7.46.1",
129
- "seamapi": "^8.13.0",
135
+ "seamapi": "^8.13.1",
130
136
  "uuid": "^9.0.0"
131
137
  },
132
138
  "devDependencies": {
133
139
  "@emotion/styled": "^11.10.6",
134
140
  "@mui/icons-material": "^5.11.16",
135
141
  "@mui/material": "^5.12.2",
136
- "@rxfork/r2wc-react-to-web-component": "^2.3.0",
137
- "@seamapi/fake-seam-connect": "^1.17.0",
142
+ "@rxfork/r2wc-react-to-web-component": "^2.4.0",
143
+ "@seamapi/fake-devicedb": "^1.1.0",
144
+ "@seamapi/fake-seam-connect": "^1.32.0",
145
+ "@seamapi/http": "^0.2.1",
146
+ "@seamapi/types": "^1.28.0",
138
147
  "@storybook/addon-designs": "^7.0.1",
139
148
  "@storybook/addon-essentials": "^7.0.2",
140
149
  "@storybook/addon-links": "^7.0.2",
@@ -149,6 +158,7 @@
149
158
  "@types/react": "^18.0.33",
150
159
  "@types/react-dom": "^18.0.11",
151
160
  "@types/uuid": "^9.0.1",
161
+ "@vercel/node": "^3.0.7",
152
162
  "@vitejs/plugin-react": "^4.0.0",
153
163
  "@vitest/coverage-v8": "^0.34.4",
154
164
  "@vitest/ui": "^0.34.4",
@@ -181,7 +191,7 @@
181
191
  "tsconfig-paths-webpack-plugin": "^4.0.1",
182
192
  "tsx": "^3.12.7",
183
193
  "typedoc": "^0.25.1",
184
- "typescript": "~5.1.0",
194
+ "typescript": "^5.2.2",
185
195
  "vite": "^4.2.1",
186
196
  "vite-tsconfig-paths": "^4.0.8",
187
197
  "vitest": "^0.34.4",
@@ -30,7 +30,7 @@ export type ElementProps<T> = R2wcProps<Omit<T, keyof CommonProps>>
30
30
 
31
31
  type R2wcProps<T> = Record<
32
32
  keyof T,
33
- 'string' | 'number' | 'boolean' | 'array' | 'function' | 'json' | 'object'
33
+ 'string' | 'number' | 'boolean' | 'array' | 'object'
34
34
  >
35
35
 
36
36
  type ProviderProps = Omit<
@@ -39,6 +39,8 @@ type ProviderProps = Omit<
39
39
  >
40
40
 
41
41
  const commonProps: R2wcProps<CommonProps> = {
42
+ errorFilter: 'object',
43
+ warningFilter: 'object',
42
44
  disableLockUnlock: 'boolean',
43
45
  disableCreateAccessCode: 'boolean',
44
46
  disableEditAccessCode: 'boolean',
@@ -59,6 +61,7 @@ const providerProps: R2wcProps<ProviderProps> = {
59
61
  disableCssInjection: 'boolean',
60
62
  disableFontInjection: 'boolean',
61
63
  unminifiyCss: 'boolean',
64
+ onSessionUpdate: 'object',
62
65
  }
63
66
 
64
67
  export const defineCustomElement = ({
@@ -90,6 +93,7 @@ function withProvider<P extends JSX.IntrinsicAttributes>(
90
93
  disableCssInjection,
91
94
  disableFontInjection,
92
95
  unminifiyCss,
96
+ onSessionUpdate,
93
97
  container: _container,
94
98
  ...props
95
99
  }: ProviderProps & { container: Container } & P): JSX.Element | null {
@@ -107,6 +111,7 @@ function withProvider<P extends JSX.IntrinsicAttributes>(
107
111
  disableFontInjection ?? globalThis.disableSeamFontInjection
108
112
  }
109
113
  unminifiyCss={unminifiyCss ?? globalThis.unminifiySeamCss}
114
+ onSessionUpdate={onSessionUpdate}
110
115
  >
111
116
  <Component {...(props as P)} />
112
117
  </SeamProvider>
@@ -3,6 +3,7 @@ import {
3
3
  createContext,
4
4
  type PropsWithChildren,
5
5
  useContext,
6
+ useEffect,
6
7
  useMemo,
7
8
  } from 'react'
8
9
  import type { Seam, SeamClientOptions } from 'seamapi'
@@ -16,6 +17,8 @@ import {
16
17
  import { useSeamFont } from 'lib/seam/use-seam-font.js'
17
18
  import { useSeamStyles } from 'lib/seam/use-seam-styles.js'
18
19
 
20
+ import { useSeamClient } from './use-seam-client.js'
21
+
19
22
  declare global {
20
23
  // eslint-disable-next-line no-var
21
24
  var seam: SeamProviderProps | undefined
@@ -62,6 +65,7 @@ interface SeamProviderBaseProps extends PropsWithChildren {
62
65
  unminifiyCss?: boolean | undefined
63
66
  queryClient?: QueryClient | undefined
64
67
  telemetryClient?: TelemetryClient | undefined
68
+ onSessionUpdate?: (client: Seam) => void
65
69
  }
66
70
 
67
71
  export type SeamProviderClientOptions = Pick<SeamClientOptions, 'endpoint'>
@@ -76,6 +80,7 @@ export function SeamProvider({
76
80
  disableCssInjection = false,
77
81
  disableFontInjection = false,
78
82
  unminifiyCss = false,
83
+ onSessionUpdate = () => {},
79
84
  queryClient,
80
85
  telemetryClient,
81
86
  ...props
@@ -122,7 +127,7 @@ export function SeamProvider({
122
127
  }
123
128
  >
124
129
  <Provider value={value}>
125
- <Wrapper>{children}</Wrapper>
130
+ <Wrapper onSessionUpdate={onSessionUpdate}>{children}</Wrapper>
126
131
  </Provider>
127
132
  </QueryClientProvider>
128
133
  </TelemetryProvider>
@@ -130,8 +135,18 @@ export function SeamProvider({
130
135
  )
131
136
  }
132
137
 
133
- function Wrapper({ children }: PropsWithChildren): JSX.Element | null {
138
+ function Wrapper({
139
+ onSessionUpdate,
140
+ children,
141
+ }: Required<Pick<SeamProviderProps, 'onSessionUpdate'>> &
142
+ PropsWithChildren): JSX.Element | null {
134
143
  useUserTelemetry()
144
+
145
+ const { client } = useSeamClient()
146
+ useEffect(() => {
147
+ if (client != null) onSessionUpdate(client)
148
+ }, [onSessionUpdate, client])
149
+
135
150
  return <>{children}</>
136
151
  }
137
152
 
@@ -1,12 +1,7 @@
1
1
  import classNames from 'classnames'
2
2
  import { DateTime } from 'luxon'
3
3
  import { useState } from 'react'
4
- import type {
5
- AccessCode,
6
- AccessCodeError,
7
- ConnectedAccountError,
8
- DeviceError,
9
- } from 'seamapi'
4
+ import type { AccessCode } from 'seamapi'
10
5
 
11
6
  import { useComponentTelemetry } from 'lib/telemetry/index.js'
12
7
 
@@ -19,6 +14,10 @@ import {
19
14
  withRequiredCommonProps,
20
15
  } from 'lib/seam/components/common-props.js'
21
16
  import { NestedDeviceDetails } from 'lib/seam/components/DeviceDetails/DeviceDetails.js'
17
+ import {
18
+ accessCodeErrorFilter,
19
+ accessCodeWarningFilter,
20
+ } from 'lib/seam/filters.js'
22
21
  import { Alerts } from 'lib/ui/Alert/Alerts.js'
23
22
  import { Button } from 'lib/ui/Button.js'
24
23
  import { copyToClipboard } from 'lib/ui/clipboard.js'
@@ -37,6 +36,8 @@ export const NestedAccessCodeDetails =
37
36
  export function AccessCodeDetails({
38
37
  accessCodeId,
39
38
  onEdit,
39
+ errorFilter = () => true,
40
+ warningFilter = () => true,
40
41
  disableCreateAccessCode = false,
41
42
  disableEditAccessCode = false,
42
43
  disableLockUnlock = false,
@@ -61,6 +62,8 @@ export function AccessCodeDetails({
61
62
  return (
62
63
  <NestedDeviceDetails
63
64
  deviceId={selectedDeviceId}
65
+ errorFilter={errorFilter}
66
+ warningFilter={warningFilter}
64
67
  disableLockUnlock={disableLockUnlock}
65
68
  disableCreateAccessCode={disableCreateAccessCode}
66
69
  disableEditAccessCode={disableEditAccessCode}
@@ -75,14 +78,21 @@ export function AccessCodeDetails({
75
78
  }
76
79
 
77
80
  const alerts = [
78
- ...accessCode.errors.filter(errorFilter).map((error) => ({
79
- variant: 'error' as const,
80
- message: error.message,
81
- })),
82
- ...accessCode.warnings.map((warning) => ({
83
- variant: 'warning' as const,
84
- message: warning.message,
85
- })),
81
+ ...accessCode.errors
82
+ .filter(accessCodeErrorFilter)
83
+ .filter(errorFilter)
84
+ .map((error) => ({
85
+ variant: 'error' as const,
86
+ message: error.message,
87
+ })),
88
+
89
+ ...accessCode.warnings
90
+ .filter(accessCodeWarningFilter)
91
+ .filter(warningFilter)
92
+ .map((warning) => ({
93
+ variant: 'warning' as const,
94
+ message: warning.message,
95
+ })),
86
96
  ]
87
97
 
88
98
  return (
@@ -245,22 +255,6 @@ const formatDate = (date: string): string =>
245
255
  year: 'numeric',
246
256
  })
247
257
 
248
- const errorFilter = (
249
- error: AccessCodeError | DeviceError | ConnectedAccountError
250
- ): boolean => {
251
- if ('is_access_code_error' in error && !error.is_access_code_error)
252
- return true
253
-
254
- if (
255
- error.error_code === 'failed_to_set_on_device' ||
256
- error.error_code === 'failed_to_remove_on_device'
257
- ) {
258
- return true
259
- }
260
-
261
- return false
262
- }
263
-
264
258
  const t = {
265
259
  accessCode: 'Access code',
266
260
  fallbackName: 'Code',