@seamapi/react 2.6.0 → 2.7.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.
@@ -1,5 +1,5 @@
1
1
  import type { Dispatch, SetStateAction } from 'react';
2
- import type { DeviceModelFilters } from '../../../../lib/seam/components/SupportedDeviceTable/use-filtered-device-models.js';
2
+ import { type DeviceModelFilters } from '../../../../lib/seam/components/SupportedDeviceTable/use-filtered-device-models.js';
3
3
  interface SupportedDeviceFilterAreaProps {
4
4
  filterValue: string;
5
5
  setFilterValue: (filter: string) => void;
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { FilterCategoryMenu } from '../../../../lib/seam/components/SupportedDeviceTable/FilterCategoryMenu.js';
3
+ import { supportedIntegrationSupportLevels, } from '../../../../lib/seam/components/SupportedDeviceTable/use-filtered-device-models.js';
3
4
  import { Button } from '../../../../lib/ui/Button.js';
4
5
  import { Menu } from '../../../../lib/ui/Menu/Menu.js';
5
6
  import { SearchTextField } from '../../../../lib/ui/TextField/SearchTextField.js';
@@ -7,6 +8,9 @@ import { useFilteredManufacturers } from './use-filtered-manufacturers.js';
7
8
  export function SupportedDeviceFilterArea({ filterValue, setFilterValue, filters, setFilters, manufacturers, excludedManufacturers, }) {
8
9
  const appliedFiltersCount = getAppliedFilterCount(filters);
9
10
  const { manufacturers: manufacturersData } = useFilteredManufacturers({
11
+ integrationSupportLevels: filters.supportedOnly
12
+ ? supportedIntegrationSupportLevels
13
+ : null,
10
14
  manufacturers,
11
15
  excludedManufacturers,
12
16
  });
@@ -18,17 +22,9 @@ export function SupportedDeviceFilterArea({ filterValue, setFilterValue, filters
18
22
  };
19
23
  const filterButtonLabel = appliedFiltersCount > 0 ? `${t.filters} (${appliedFiltersCount})` : t.filter;
20
24
  const allLabel = t.all;
21
- const options = manufacturersData
22
- ?.filter((manufacturer) => {
23
- if (filters.supportedOnly) {
24
- return ['stable', 'beta'].includes(manufacturer.integration);
25
- }
26
- return true;
27
- })
28
- ?.map((manufacturer) => manufacturer.display_name) ?? [];
29
25
  return (_jsxs("div", { className: 'seam-supported-device-table-filter-area', children: [_jsx("div", { className: 'seam-deliberate-block' }), _jsxs("div", { className: 'seam-filters-wrap', children: [_jsx(Menu, { renderButton: ({ onOpen }) => (_jsx(Button, { variant: 'outline', className: 'seam-filters-button', onClick: onOpen, children: filterButtonLabel })), children: _jsxs("div", { className: 'seam-supported-device-table-filter-menu', onClick: (event) => {
30
26
  event.stopPropagation();
31
- }, children: [_jsx("div", { className: 'seam-filter-menu-row', children: _jsx(FilterCategoryMenu, { label: t.manufacturer, allLabel: allLabel, options: options, onSelect: (manufacturer) => {
27
+ }, children: [_jsx("div", { className: 'seam-filter-menu-row', children: _jsx(FilterCategoryMenu, { label: t.manufacturer, allLabel: allLabel, options: manufacturersData?.map((manufacturer) => manufacturer.display_name) ?? [], onSelect: (manufacturer) => {
32
28
  setFilters((filters) => ({
33
29
  ...filters,
34
30
  manufacturer,
@@ -1 +1 @@
1
- {"version":3,"file":"SupportedDeviceFilterArea.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterArea.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SupportedDeviceFilterArea.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterArea.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
+ import type { ManufacturerIntegrationSupportLevel } from '@seamapi/types/devicedb';
1
2
  import { useDeviceModels } from '../../../../lib/seam/components/SupportedDeviceTable/use-device-models.js';
2
3
  export interface DeviceModelFilters {
3
4
  supportedOnly: boolean;
4
5
  manufacturer: string | null;
5
6
  }
7
+ export declare const supportedIntegrationSupportLevels: ManufacturerIntegrationSupportLevel[];
6
8
  export declare const useFilteredDeviceModels: ({ filterValue, filters, includeIf, excludeIf, ...manufacturersParams }: {
7
9
  filterValue: string;
8
10
  filters: DeviceModelFilters;
@@ -1,7 +1,13 @@
1
1
  import { useDeviceModels, } from '../../../../lib/seam/components/SupportedDeviceTable/use-device-models.js';
2
2
  import { useFilteredManufacturers } from './use-filtered-manufacturers.js';
3
+ export const supportedIntegrationSupportLevels = ['stable', 'beta'];
3
4
  export const useFilteredDeviceModels = ({ filterValue, filters, includeIf, excludeIf, ...manufacturersParams }) => {
4
- const { manufacturers } = useFilteredManufacturers(manufacturersParams);
5
+ const { manufacturers } = useFilteredManufacturers({
6
+ ...manufacturersParams,
7
+ integrationSupportLevels: filters.supportedOnly
8
+ ? supportedIntegrationSupportLevels
9
+ : null,
10
+ });
5
11
  const params = {};
6
12
  if (excludeIf.length > 0) {
7
13
  params.exclude_if = excludeIf;
@@ -14,7 +20,7 @@ export const useFilteredDeviceModels = ({ filterValue, filters, includeIf, exclu
14
20
  params.text_search = filterValue.trim();
15
21
  }
16
22
  if (filters.supportedOnly) {
17
- params.integration_status = 'stable';
23
+ params.integration_support_levels = supportedIntegrationSupportLevels;
18
24
  }
19
25
  if (filters.manufacturer !== null) {
20
26
  const manufacturer = manufacturers?.find((manufacturer) => manufacturer.display_name === filters.manufacturer);
@@ -1 +1 @@
1
- {"version":3,"file":"use-filtered-device-models.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDeviceTable/use-filtered-device-models.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAEhB,MAAM,+DAA+D,CAAA;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAO1E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,WAAW,EACX,OAAO,EACP,SAAS,EACT,SAAS,EACT,GAAG,mBAAmB,EAQvB,EAAsC,EAAE;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,wBAAwB,CAAC,mBAAmB,CAAC,CAAA;IAEvE,MAAM,MAAM,GAA0B,EAAE,CAAA;IAExC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,UAAU,GAAG,SAAS,CAAA;IAC/B,CAAC;IAED,6DAA6D;IAC7D,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,SAAS,CAAA;IAC/B,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9B,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;IACzC,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,CAAC,kBAAkB,GAAG,QAAQ,CAAA;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,aAAa,EAAE,IAAI,CACtC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,CACrE,CAAA;QAED,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAAA;QACvD,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1D,MAAM,CAAC,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IACvE,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAEzD,OAAO;QACL,GAAG,IAAI;QACP,YAAY;QACV,6DAA6D;QAC7D,SAAS,EAAE,MAAM,KAAK,CAAC;YACrB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,YAAY,EAAE,MAAM,CAClB,CAAC,WAAW,EAAE,EAAE,CACd,aAAa,EAAE,IAAI,CACjB,CAAC,YAAY,EAAE,EAAE,CACf,WAAW,CAAC,YAAY,CAAC,eAAe;gBACxC,YAAY,CAAC,eAAe,CAC/B,CACJ;KACR,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"use-filtered-device-models.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDeviceTable/use-filtered-device-models.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,GAEhB,MAAM,+DAA+D,CAAA;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAO1E,MAAM,CAAC,MAAM,iCAAiC,GAC5C,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AAEpB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,WAAW,EACX,OAAO,EACP,SAAS,EACT,SAAS,EACT,GAAG,mBAAmB,EAQvB,EAAsC,EAAE;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,wBAAwB,CAAC;QACjD,GAAG,mBAAmB;QACtB,wBAAwB,EAAE,OAAO,CAAC,aAAa;YAC7C,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,IAAI;KACT,CAAC,CAAA;IAEF,MAAM,MAAM,GAA0B,EAAE,CAAA;IAExC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,UAAU,GAAG,SAAS,CAAA;IAC/B,CAAC;IAED,6DAA6D;IAC7D,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,SAAS,CAAA;IAC/B,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9B,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;IACzC,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,CAAC,0BAA0B,GAAG,iCAAiC,CAAA;IACvE,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,aAAa,EAAE,IAAI,CACtC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,CACrE,CAAA;QAED,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAAA;QACvD,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1D,MAAM,CAAC,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IACvE,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAEzD,OAAO;QACL,GAAG,IAAI;QACP,YAAY;QACV,6DAA6D;QAC7D,SAAS,EAAE,MAAM,KAAK,CAAC;YACrB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,YAAY,EAAE,MAAM,CAClB,CAAC,WAAW,EAAE,EAAE,CACd,aAAa,EAAE,IAAI,CACjB,CAAC,YAAY,EAAE,EAAE,CACf,WAAW,CAAC,YAAY,CAAC,eAAe;gBACxC,YAAY,CAAC,eAAe,CAC/B,CACJ;KACR,CAAA;AACH,CAAC,CAAA"}
@@ -1,8 +1,10 @@
1
+ import type { ManufacturerIntegrationSupportLevel } from '@seamapi/types/devicedb';
1
2
  import { useManufacturers } from '../../../../lib/seam/components/SupportedDeviceTable/use-manufacturers.js';
2
3
  interface Params {
3
4
  manufacturers: string[] | null;
4
5
  excludedManufacturers: string[];
6
+ integrationSupportLevels: ManufacturerIntegrationSupportLevel[] | null;
5
7
  }
6
- export declare const useFilteredManufacturers: (params: Params) => ReturnType<typeof useManufacturers>;
7
- export declare const createLiqeQuery: ({ manufacturers, excludedManufacturers, }: Params) => string | undefined;
8
+ export declare const useFilteredManufacturers: ({ integrationSupportLevels, ...params }: Params) => ReturnType<typeof useManufacturers>;
9
+ export declare const createLiqeQuery: ({ manufacturers, excludedManufacturers, }: Pick<Params, 'manufacturers' | 'excludedManufacturers'>) => string | undefined;
8
10
  export {};
@@ -1,6 +1,7 @@
1
1
  import { useManufacturers } from '../../../../lib/seam/components/SupportedDeviceTable/use-manufacturers.js';
2
- export const useFilteredManufacturers = (params) => {
2
+ export const useFilteredManufacturers = ({ integrationSupportLevels, ...params }) => {
3
3
  const { manufacturers, ...rest } = useManufacturers({
4
+ integration_support_levels: integrationSupportLevels ?? undefined,
4
5
  liqe_query: createLiqeQuery(params),
5
6
  });
6
7
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"use-filtered-manufacturers.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDeviceTable/use-filtered-manufacturers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+DAA+D,CAAA;AAMhG,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,MAAc,EACuB,EAAE;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,gBAAgB,CAAC;QAClD,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC;KACpC,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,IAAI;QACP,aAAa,EAAE,aAAa,EAAE,MAAM,CAClC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,kBAAkB,GAAG,CAAC,CACtD;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,aAAa,EACb,qBAAqB,GACd,EAAsB,EAAE;IAC/B,IACE,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC;QAC9C,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,EAC1C,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,2BAA2B,GAAG,QAAQ,qBAAqB;SAC9D,GAAG,CAAC,qBAAqB,CAAC;SAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;IAElB,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QACxD,OAAO,2BAA2B,CAAA;IACpC,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,sBAAsB,CAAA;IAC/B,CAAC;IAED,MAAM,2BAA2B,GAAG,IAAI,aAAa;SAClD,GAAG,CAAC,qBAAqB,CAAC;SAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;IAElB,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,2BAA2B,CAAA;IAE1E,OAAO,GAAG,2BAA2B,QAAQ,2BAA2B,EAAE,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAU,EAAE;IACtD,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7C,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,oBAAoB,IAAI,GAAG,CAAA;IACpD,OAAO,iBAAiB,YAAY,GAAG,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"use-filtered-manufacturers.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDeviceTable/use-filtered-manufacturers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+DAA+D,CAAA;AAQhG,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,wBAAwB,EACxB,GAAG,MAAM,EACF,EAAuC,EAAE;IAChD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,gBAAgB,CAAC;QAClD,0BAA0B,EAAE,wBAAwB,IAAI,SAAS;QACjE,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC;KACpC,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,IAAI;QACP,aAAa,EAAE,aAAa,EAAE,MAAM,CAClC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,kBAAkB,GAAG,CAAC,CACtD;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,aAAa,EACb,qBAAqB,GACmC,EAE5C,EAAE;IACd,IACE,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC;QAC9C,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,EAC1C,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,2BAA2B,GAAG,QAAQ,qBAAqB;SAC9D,GAAG,CAAC,qBAAqB,CAAC;SAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;IAElB,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QACxD,OAAO,2BAA2B,CAAA;IACpC,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,sBAAsB,CAAA;IAC/B,CAAC;IAED,MAAM,2BAA2B,GAAG,IAAI,aAAa;SAClD,GAAG,CAAC,qBAAqB,CAAC;SAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;IAElB,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,2BAA2B,CAAA;IAE1E,OAAO,GAAG,2BAA2B,QAAQ,2BAA2B,EAAE,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAU,EAAE;IACtD,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7C,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,oBAAoB,IAAI,GAAG,CAAA;IACpD,OAAO,iBAAiB,YAAY,GAAG,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA"}
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const seamapiReactVersion = "2.6.0";
1
+ declare const seamapiReactVersion = "2.7.0";
2
2
  export default seamapiReactVersion;
package/lib/version.js CHANGED
@@ -1,3 +1,3 @@
1
- const seamapiReactVersion = '2.6.0';
1
+ const seamapiReactVersion = '2.7.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": "2.6.0",
3
+ "version": "2.7.0",
4
4
  "description": "Seam Components.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -140,10 +140,10 @@
140
140
  "@mui/icons-material": "^5.11.16",
141
141
  "@mui/material": "^5.12.2",
142
142
  "@rxfork/r2wc-react-to-web-component": "^2.4.0",
143
- "@seamapi/fake-devicedb": "^1.3.0",
144
- "@seamapi/fake-seam-connect": "^1.42.0",
143
+ "@seamapi/fake-devicedb": "^1.4.0",
144
+ "@seamapi/fake-seam-connect": "^1.44.3",
145
145
  "@seamapi/http": "^0.2.1",
146
- "@seamapi/types": "^1.64.0",
146
+ "@seamapi/types": "^1.68.0",
147
147
  "@storybook/addon-designs": "^7.0.1",
148
148
  "@storybook/addon-essentials": "^7.0.2",
149
149
  "@storybook/addon-links": "^7.0.2",
@@ -1,7 +1,10 @@
1
1
  import type { Dispatch, SetStateAction } from 'react'
2
2
 
3
3
  import { FilterCategoryMenu } from 'lib/seam/components/SupportedDeviceTable/FilterCategoryMenu.js'
4
- import type { DeviceModelFilters } from 'lib/seam/components/SupportedDeviceTable/use-filtered-device-models.js'
4
+ import {
5
+ type DeviceModelFilters,
6
+ supportedIntegrationSupportLevels,
7
+ } from 'lib/seam/components/SupportedDeviceTable/use-filtered-device-models.js'
5
8
  import { Button } from 'lib/ui/Button.js'
6
9
  import { Menu } from 'lib/ui/Menu/Menu.js'
7
10
  import { SearchTextField } from 'lib/ui/TextField/SearchTextField.js'
@@ -28,6 +31,9 @@ export function SupportedDeviceFilterArea({
28
31
  const appliedFiltersCount = getAppliedFilterCount(filters)
29
32
 
30
33
  const { manufacturers: manufacturersData } = useFilteredManufacturers({
34
+ integrationSupportLevels: filters.supportedOnly
35
+ ? supportedIntegrationSupportLevels
36
+ : null,
31
37
  manufacturers,
32
38
  excludedManufacturers,
33
39
  })
@@ -44,16 +50,6 @@ export function SupportedDeviceFilterArea({
44
50
 
45
51
  const allLabel = t.all
46
52
 
47
- const options =
48
- manufacturersData
49
- ?.filter((manufacturer) => {
50
- if (filters.supportedOnly) {
51
- return ['stable', 'beta'].includes(manufacturer.integration)
52
- }
53
- return true
54
- })
55
- ?.map((manufacturer) => manufacturer.display_name) ?? []
56
-
57
53
  return (
58
54
  <div className='seam-supported-device-table-filter-area'>
59
55
  <div className='seam-deliberate-block' />
@@ -79,7 +75,11 @@ export function SupportedDeviceFilterArea({
79
75
  <FilterCategoryMenu
80
76
  label={t.manufacturer}
81
77
  allLabel={allLabel}
82
- options={options}
78
+ options={
79
+ manufacturersData?.map(
80
+ (manufacturer) => manufacturer.display_name
81
+ ) ?? []
82
+ }
83
83
  onSelect={(manufacturer: string) => {
84
84
  setFilters((filters) => ({
85
85
  ...filters,
@@ -1,3 +1,5 @@
1
+ import type { ManufacturerIntegrationSupportLevel } from '@seamapi/types/devicedb'
2
+
1
3
  import {
2
4
  useDeviceModels,
3
5
  type UseDeviceModelsParams,
@@ -10,6 +12,9 @@ export interface DeviceModelFilters {
10
12
  manufacturer: string | null
11
13
  }
12
14
 
15
+ export const supportedIntegrationSupportLevels: ManufacturerIntegrationSupportLevel[] =
16
+ ['stable', 'beta']
17
+
13
18
  export const useFilteredDeviceModels = ({
14
19
  filterValue,
15
20
  filters,
@@ -24,7 +29,12 @@ export const useFilteredDeviceModels = ({
24
29
  includeIf: string[] | null
25
30
  excludeIf: string[]
26
31
  }): ReturnType<typeof useDeviceModels> => {
27
- const { manufacturers } = useFilteredManufacturers(manufacturersParams)
32
+ const { manufacturers } = useFilteredManufacturers({
33
+ ...manufacturersParams,
34
+ integrationSupportLevels: filters.supportedOnly
35
+ ? supportedIntegrationSupportLevels
36
+ : null,
37
+ })
28
38
 
29
39
  const params: UseDeviceModelsParams = {}
30
40
 
@@ -42,7 +52,7 @@ export const useFilteredDeviceModels = ({
42
52
  }
43
53
 
44
54
  if (filters.supportedOnly) {
45
- params.integration_status = 'stable'
55
+ params.integration_support_levels = supportedIntegrationSupportLevels
46
56
  }
47
57
 
48
58
  if (filters.manufacturer !== null) {
@@ -1,13 +1,19 @@
1
+ import type { ManufacturerIntegrationSupportLevel } from '@seamapi/types/devicedb'
2
+
1
3
  import { useManufacturers } from 'lib/seam/components/SupportedDeviceTable/use-manufacturers.js'
2
4
 
3
5
  interface Params {
4
6
  manufacturers: string[] | null
5
7
  excludedManufacturers: string[]
8
+ integrationSupportLevels: ManufacturerIntegrationSupportLevel[] | null
6
9
  }
7
- export const useFilteredManufacturers = (
8
- params: Params
9
- ): ReturnType<typeof useManufacturers> => {
10
+
11
+ export const useFilteredManufacturers = ({
12
+ integrationSupportLevels,
13
+ ...params
14
+ }: Params): ReturnType<typeof useManufacturers> => {
10
15
  const { manufacturers, ...rest } = useManufacturers({
16
+ integration_support_levels: integrationSupportLevels ?? undefined,
11
17
  liqe_query: createLiqeQuery(params),
12
18
  })
13
19
 
@@ -22,7 +28,9 @@ export const useFilteredManufacturers = (
22
28
  export const createLiqeQuery = ({
23
29
  manufacturers,
24
30
  excludedManufacturers,
25
- }: Params): string | undefined => {
31
+ }: Pick<Params, 'manufacturers' | 'excludedManufacturers'>):
32
+ | string
33
+ | undefined => {
26
34
  if (
27
35
  (manufacturers?.some(isInvalidInput) ?? false) ||
28
36
  excludedManufacturers.some(isInvalidInput)
@@ -1,3 +1,3 @@
1
- const seamapiReactVersion = '2.6.0'
1
+ const seamapiReactVersion = '2.7.0'
2
2
 
3
3
  export default seamapiReactVersion