@seamapi/react 1.26.0 → 1.27.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/README.md +55 -4
- package/dist/elements.js +3056 -2956
- package/dist/elements.js.map +1 -1
- package/lib/icons/AccessCodeKey.d.ts +1 -1
- package/lib/icons/AccessCodeKey.js +3 -1
- package/lib/icons/AccessCodeKey.js.map +1 -1
- package/lib/icons/ArrowBack.d.ts +1 -1
- package/lib/icons/ArrowBack.js +5 -3
- package/lib/icons/ArrowBack.js.map +1 -1
- package/lib/icons/ArrowRestart.d.ts +1 -1
- package/lib/icons/ArrowRestart.js +5 -3
- package/lib/icons/ArrowRestart.js.map +1 -1
- package/lib/icons/BatteryLevelCritical.d.ts +1 -1
- package/lib/icons/BatteryLevelCritical.js +3 -1
- package/lib/icons/BatteryLevelCritical.js.map +1 -1
- package/lib/icons/BatteryLevelFull.d.ts +1 -1
- package/lib/icons/BatteryLevelFull.js +3 -1
- package/lib/icons/BatteryLevelFull.js.map +1 -1
- package/lib/icons/BatteryLevelHigh.d.ts +1 -1
- package/lib/icons/BatteryLevelHigh.js +3 -1
- package/lib/icons/BatteryLevelHigh.js.map +1 -1
- package/lib/icons/BatteryLevelLow.d.ts +1 -1
- package/lib/icons/BatteryLevelLow.js +3 -1
- package/lib/icons/BatteryLevelLow.js.map +1 -1
- package/lib/icons/BatteryLevelWired.d.ts +1 -1
- package/lib/icons/BatteryLevelWired.js +5 -3
- package/lib/icons/BatteryLevelWired.js.map +1 -1
- package/lib/icons/Check.d.ts +1 -1
- package/lib/icons/Check.js +3 -1
- package/lib/icons/Check.js.map +1 -1
- package/lib/icons/ChevronDown.d.ts +1 -1
- package/lib/icons/ChevronDown.js +3 -1
- package/lib/icons/ChevronDown.js.map +1 -1
- package/lib/icons/ChevronRight.d.ts +1 -1
- package/lib/icons/ChevronRight.js +5 -3
- package/lib/icons/ChevronRight.js.map +1 -1
- package/lib/icons/Close.d.ts +1 -1
- package/lib/icons/Close.js +5 -3
- package/lib/icons/Close.js.map +1 -1
- package/lib/icons/Copy.d.ts +1 -1
- package/lib/icons/Copy.js +5 -3
- package/lib/icons/Copy.js.map +1 -1
- package/lib/icons/DotsEllipsisMore.d.ts +1 -1
- package/lib/icons/DotsEllipsisMore.js +5 -3
- package/lib/icons/DotsEllipsisMore.js.map +1 -1
- package/lib/icons/ExclamationCircle.d.ts +1 -1
- package/lib/icons/ExclamationCircle.js +5 -3
- package/lib/icons/ExclamationCircle.js.map +1 -1
- package/lib/icons/ExclamationCircleOutline.d.ts +1 -1
- package/lib/icons/ExclamationCircleOutline.js +5 -3
- package/lib/icons/ExclamationCircleOutline.js.map +1 -1
- package/lib/icons/LockLocked.d.ts +1 -1
- package/lib/icons/LockLocked.js +5 -3
- package/lib/icons/LockLocked.js.map +1 -1
- package/lib/icons/LockUnlocked.d.ts +1 -1
- package/lib/icons/LockUnlocked.js +5 -3
- package/lib/icons/LockUnlocked.js.map +1 -1
- package/lib/icons/OnlineStatusAccountOffline.d.ts +1 -1
- package/lib/icons/OnlineStatusAccountOffline.js +5 -3
- package/lib/icons/OnlineStatusAccountOffline.js.map +1 -1
- package/lib/icons/OnlineStatusDeviceOffline.d.ts +1 -1
- package/lib/icons/OnlineStatusDeviceOffline.js +3 -1
- package/lib/icons/OnlineStatusDeviceOffline.js.map +1 -1
- package/lib/icons/OnlineStatusOnline.d.ts +1 -1
- package/lib/icons/OnlineStatusOnline.js +3 -1
- package/lib/icons/OnlineStatusOnline.js.map +1 -1
- package/lib/icons/Seam.d.ts +1 -1
- package/lib/icons/Seam.js +5 -3
- package/lib/icons/Seam.js.map +1 -1
- package/lib/icons/Search.d.ts +1 -1
- package/lib/icons/Search.js +5 -3
- package/lib/icons/Search.js.map +1 -1
- package/lib/icons/TriangleWarning.d.ts +1 -1
- package/lib/icons/TriangleWarning.js +5 -3
- package/lib/icons/TriangleWarning.js.map +1 -1
- package/lib/icons/TriangleWarningOutline.d.ts +1 -1
- package/lib/icons/TriangleWarningOutline.js +3 -1
- package/lib/icons/TriangleWarningOutline.js.map +1 -1
- package/lib/seam/access-codes/use-access-code.js +1 -1
- package/lib/seam/access-codes/use-access-code.js.map +1 -1
- package/lib/seam/access-codes/use-access-codes.js +1 -1
- package/lib/seam/access-codes/use-access-codes.js.map +1 -1
- package/lib/seam/components/DeviceTable/DeviceRow.js +11 -19
- package/lib/seam/components/DeviceTable/DeviceRow.js.map +1 -1
- package/lib/seam/components/SupportedDeviceTable/HiddenDevicesOverlay.d.ts +2 -1
- package/lib/seam/components/SupportedDeviceTable/HiddenDevicesOverlay.js +1 -1
- package/lib/seam/components/SupportedDeviceTable/HiddenDevicesOverlay.js.map +1 -1
- package/lib/seam/components/SupportedDeviceTable/ShowAllDevicesButton.d.ts +2 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceBrandSection.d.ts +2 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceBrandSection.js +4 -7
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceBrandSection.js.map +1 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.js +1 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.js.map +1 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterArea.d.ts +2 -1
- package/lib/seam/components/SupportedDeviceTable/{SupportedDeviceFilterResultRowProps.d.ts → SupportedDeviceFilterResultRow.d.ts} +3 -2
- package/lib/seam/components/SupportedDeviceTable/{SupportedDeviceFilterResultRowProps.js → SupportedDeviceFilterResultRow.js} +1 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterResultRow.js.map +1 -0
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.d.ts +5 -4
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.js +3 -3
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.js.map +1 -1
- package/lib/seam/components/SupportedDeviceTable/use-device-provider.d.ts +1 -1
- package/lib/seam/components/SupportedDeviceTable/use-device-provider.js +9 -11
- package/lib/seam/components/SupportedDeviceTable/use-device-provider.js.map +1 -1
- package/lib/seam/device-models/use-device-models.js +1 -2
- package/lib/seam/device-models/use-device-models.js.map +1 -1
- package/lib/seam/devices/use-device-providers.d.ts +5 -5
- package/lib/seam/devices/use-device-providers.js +7 -8
- package/lib/seam/devices/use-device-providers.js.map +1 -1
- package/lib/seam/devices/use-device.js +1 -1
- package/lib/seam/devices/use-device.js.map +1 -1
- package/lib/seam/devices/use-devices.js +1 -1
- package/lib/seam/devices/use-devices.js.map +1 -1
- package/lib/seam/index.d.ts +2 -0
- package/lib/seam/index.js +2 -0
- package/lib/seam/index.js.map +1 -1
- package/lib/ui/device/OnlineStatus.d.ts +1 -0
- package/lib/ui/device/OnlineStatus.js +6 -9
- package/lib/ui/device/OnlineStatus.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +5 -6
- package/src/lib/element.tsx +2 -2
- package/src/lib/icons/AccessCodeKey.tsx +22 -18
- package/src/lib/icons/ArrowBack.tsx +32 -26
- package/src/lib/icons/ArrowRestart.tsx +32 -28
- package/src/lib/icons/BatteryLevelCritical.tsx +31 -25
- package/src/lib/icons/BatteryLevelFull.tsx +31 -18
- package/src/lib/icons/BatteryLevelHigh.tsx +31 -25
- package/src/lib/icons/BatteryLevelLow.tsx +31 -25
- package/src/lib/icons/BatteryLevelWired.tsx +35 -29
- package/src/lib/icons/Check.tsx +20 -14
- package/src/lib/icons/ChevronDown.tsx +22 -18
- package/src/lib/icons/ChevronRight.tsx +32 -28
- package/src/lib/icons/Close.tsx +32 -26
- package/src/lib/icons/Copy.tsx +32 -26
- package/src/lib/icons/DotsEllipsisMore.tsx +33 -27
- package/src/lib/icons/ExclamationCircle.tsx +33 -27
- package/src/lib/icons/ExclamationCircleOutline.tsx +33 -27
- package/src/lib/icons/LockLocked.tsx +34 -28
- package/src/lib/icons/LockUnlocked.tsx +34 -30
- package/src/lib/icons/OnlineStatusAccountOffline.tsx +33 -27
- package/src/lib/icons/OnlineStatusDeviceOffline.tsx +27 -21
- package/src/lib/icons/OnlineStatusOnline.tsx +25 -19
- package/src/lib/icons/Seam.tsx +24 -18
- package/src/lib/icons/Search.tsx +32 -26
- package/src/lib/icons/TriangleWarning.tsx +33 -27
- package/src/lib/icons/TriangleWarningOutline.tsx +22 -16
- package/src/lib/seam/access-codes/use-access-code.ts +1 -1
- package/src/lib/seam/access-codes/use-access-codes.ts +1 -1
- package/src/lib/seam/components/DeviceTable/DeviceRow.tsx +28 -44
- package/src/lib/seam/components/SupportedDeviceTable/HiddenDevicesOverlay.tsx +3 -1
- package/src/lib/seam/components/SupportedDeviceTable/ShowAllDevicesButton.tsx +1 -1
- package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceBrandSection.tsx +9 -12
- package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.tsx +1 -1
- package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterArea.tsx +1 -1
- package/src/lib/seam/components/SupportedDeviceTable/{SupportedDeviceFilterResultRowProps.tsx → SupportedDeviceFilterResultRow.tsx} +2 -2
- package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.tsx +10 -4
- package/src/lib/seam/components/SupportedDeviceTable/use-device-provider.ts +9 -15
- package/src/lib/seam/device-models/use-device-models.ts +1 -2
- package/src/lib/seam/devices/use-device-providers.ts +22 -14
- package/src/lib/seam/devices/use-device.ts +1 -1
- package/src/lib/seam/devices/use-devices.ts +1 -1
- package/src/lib/seam/index.ts +2 -0
- package/src/lib/ui/device/OnlineStatus.tsx +13 -14
- package/src/lib/version.ts +1 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterResultRowProps.js.map +0 -1
|
@@ -1,32 +1,38 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Automaically generated by SVGR from assets/icons/*.svg.
|
|
3
|
+
* Do not edit this file or add other components to this directory.
|
|
4
|
+
*/
|
|
1
5
|
import type { SVGProps } from 'react'
|
|
2
|
-
export
|
|
6
|
+
export function OnlineStatusAccountOfflineIcon(
|
|
3
7
|
props: SVGProps<SVGSVGElement>
|
|
4
|
-
): JSX.Element
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
height={25}
|
|
9
|
-
fill='none'
|
|
10
|
-
{...props}
|
|
11
|
-
>
|
|
12
|
-
<mask
|
|
13
|
-
id='online-status-account-offline_svg__a'
|
|
8
|
+
): JSX.Element {
|
|
9
|
+
return (
|
|
10
|
+
<svg
|
|
11
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
14
12
|
width={24}
|
|
15
13
|
height={25}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
maskUnits='userSpaceOnUse'
|
|
19
|
-
style={{
|
|
20
|
-
maskType: 'alpha',
|
|
21
|
-
}}
|
|
14
|
+
fill='none'
|
|
15
|
+
{...props}
|
|
22
16
|
>
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
<mask
|
|
18
|
+
id='online-status-account-offline_svg__a'
|
|
19
|
+
width={24}
|
|
20
|
+
height={25}
|
|
21
|
+
x={0}
|
|
22
|
+
y={0}
|
|
23
|
+
maskUnits='userSpaceOnUse'
|
|
24
|
+
style={{
|
|
25
|
+
maskType: 'alpha',
|
|
26
|
+
}}
|
|
27
|
+
>
|
|
28
|
+
<path fill='#D9D9D9' d='M0 .733h24v24H0z' />
|
|
29
|
+
</mask>
|
|
30
|
+
<g mask='url(#online-status-account-offline_svg__a)'>
|
|
31
|
+
<path
|
|
32
|
+
fill='#E36857'
|
|
33
|
+
d='m19.8 23.333-2.65-2.6H6.5c-1.533 0-2.833-.534-3.9-1.6-1.067-1.067-1.6-2.367-1.6-3.9 0-1.284.396-2.425 1.188-3.425A5.286 5.286 0 0 1 5.25 9.883c.05-.134.1-.263.15-.388.05-.125.1-.262.15-.412L1.4 4.933l1.4-1.4 18.4 18.4-1.4 1.4Zm-13.3-4.6h8.65l-8.05-8.05a6.626 6.626 0 0 0-.075.525 5.28 5.28 0 0 0-.025.525h-.5c-.967 0-1.792.341-2.475 1.025A3.372 3.372 0 0 0 3 15.233c0 .966.342 1.791 1.025 2.475A3.372 3.372 0 0 0 6.5 18.733Zm15.1.75-1.45-1.4c.283-.234.496-.505.638-.813.141-.308.212-.654.212-1.037 0-.7-.242-1.292-.725-1.775-.483-.484-1.075-.725-1.775-.725H17v-2c0-1.384-.488-2.563-1.463-3.538-.975-.975-2.154-1.462-3.537-1.462-.45 0-.883.054-1.3.162-.417.109-.817.28-1.2.513l-1.45-1.45a7.028 7.028 0 0 1 1.862-.913A6.878 6.878 0 0 1 12 4.733c1.95 0 3.604.679 4.962 2.037C18.322 8.13 19 9.783 19 11.733c1.15.133 2.104.629 2.863 1.487A4.407 4.407 0 0 1 23 16.233a4.384 4.384 0 0 1-1.4 3.25Z'
|
|
34
|
+
/>
|
|
35
|
+
</g>
|
|
36
|
+
</svg>
|
|
37
|
+
)
|
|
38
|
+
}
|
|
@@ -1,23 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Automaically generated by SVGR from assets/icons/*.svg.
|
|
3
|
+
* Do not edit this file or add other components to this directory.
|
|
4
|
+
*/
|
|
1
5
|
import type { SVGProps } from 'react'
|
|
2
|
-
export
|
|
6
|
+
export function OnlineStatusDeviceOfflineIcon(
|
|
3
7
|
props: SVGProps<SVGSVGElement>
|
|
4
|
-
): JSX.Element
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
8
|
+
): JSX.Element {
|
|
9
|
+
return (
|
|
10
|
+
<svg
|
|
11
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
12
|
+
width={24}
|
|
13
|
+
height={25}
|
|
14
|
+
fill='none'
|
|
15
|
+
{...props}
|
|
16
|
+
>
|
|
17
|
+
<path
|
|
18
|
+
fill='#E36857'
|
|
19
|
+
d='m1.411 4.931 1.373-1.373 18.432 18.431-1.373 1.373z'
|
|
20
|
+
/>
|
|
21
|
+
<path
|
|
22
|
+
fill='#E36857'
|
|
23
|
+
fillRule='evenodd'
|
|
24
|
+
d='M12 23.362c-1.95 0-3.604-.679-4.963-2.037C5.68 19.967 5 18.312 5 16.362v-8c0-.799.114-1.548.342-2.248L7.028 7.8c-.019.184-.028.371-.028.562v8c0 1.384.487 2.563 1.463 3.538.975.975 2.154 1.462 3.537 1.462s2.563-.487 3.537-1.462c.664-.664 1.102-1.423 1.314-2.276l1.58 1.58a6.913 6.913 0 0 1-1.469 2.12c-1.358 1.36-3.012 2.038-4.962 2.038Zm6.975-6.36c.017-.21.025-.423.025-.64v-8c0-1.95-.68-3.604-2.038-4.962C15.604 2.04 13.95 1.362 12 1.362c-1.95 0-3.604.68-4.963 2.038a7.413 7.413 0 0 0-.767.897l1.452 1.451c.204-.325.45-.633.74-.923.976-.975 2.155-1.463 3.538-1.463s2.563.488 3.537 1.463C16.512 5.8 17 6.979 17 8.362v6.664l1.975 1.975ZM15 12.361c.283 0 .52-.095.713-.287a.968.968 0 0 0 .287-.713.968.968 0 0 0-.287-.712.968.968 0 0 0-.713-.288.968.968 0 0 0-.713.288.968.968 0 0 0-.287.712c0 .284.096.521.287.713.192.192.43.287.713.287Zm-6 3c.283 0 .52-.095.713-.287a.968.968 0 0 0 .287-.713.968.968 0 0 0-.287-.712.967.967 0 0 0-.713-.288.967.967 0 0 0-.713.288.968.968 0 0 0-.287.712c0 .284.096.521.287.713.192.192.43.287.713.287Zm0 3c.283 0 .52-.095.713-.287a.968.968 0 0 0 .287-.713.968.968 0 0 0-.287-.712.967.967 0 0 0-.713-.288.967.967 0 0 0-.713.288.968.968 0 0 0-.287.712c0 .284.096.521.287.713.192.192.43.287.713.287Zm3 0c.283 0 .52-.095.713-.287a.968.968 0 0 0 .287-.713.968.968 0 0 0-.287-.712.968.968 0 0 0-.713-.288.968.968 0 0 0-.713.288.968.968 0 0 0-.287.712c0 .284.096.521.287.713.192.192.43.287.713.287Zm3.713-9.287a.968.968 0 0 1-.713.287.968.968 0 0 1-.713-.287.967.967 0 0 1-.287-.713c0-.283.096-.52.287-.712A.968.968 0 0 1 15 7.362c.283 0 .52.096.713.288.191.191.287.429.287.712 0 .284-.096.521-.287.713Zm-3.749.287c.283 0 .52-.096.713-.287a.967.967 0 0 0 .287-.713.967.967 0 0 0-.287-.712.968.968 0 0 0-.713-.288.968.968 0 0 0-.712.288.967.967 0 0 0-.288.712c0 .284.096.521.288.713.191.191.429.287.712.287Z'
|
|
25
|
+
clipRule='evenodd'
|
|
26
|
+
/>
|
|
27
|
+
</svg>
|
|
28
|
+
)
|
|
29
|
+
}
|
|
@@ -1,21 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Automaically generated by SVGR from assets/icons/*.svg.
|
|
3
|
+
* Do not edit this file or add other components to this directory.
|
|
4
|
+
*/
|
|
1
5
|
import type { SVGProps } from 'react'
|
|
2
|
-
export
|
|
6
|
+
export function OnlineStatusOnlineIcon(
|
|
3
7
|
props: SVGProps<SVGSVGElement>
|
|
4
|
-
): JSX.Element
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
8
|
+
): JSX.Element {
|
|
9
|
+
return (
|
|
10
|
+
<svg
|
|
11
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
12
|
+
width={24}
|
|
13
|
+
height={24}
|
|
14
|
+
fill='none'
|
|
15
|
+
{...props}
|
|
16
|
+
>
|
|
17
|
+
<path
|
|
18
|
+
fill='#9DA1A9'
|
|
19
|
+
d='M6.5 20c-1.517 0-2.813-.525-3.888-1.575C1.537 17.375 1 16.092 1 14.575c0-1.3.392-2.458 1.175-3.475S3.983 9.433 5.25 9.15c.417-1.533 1.25-2.775 2.5-3.725C9 4.475 10.417 4 12 4c1.95 0 3.604.68 4.962 2.037C18.322 7.396 19 9.05 19 11c1.15.133 2.104.63 2.863 1.488A4.407 4.407 0 0 1 23 15.5c0 1.25-.438 2.313-1.313 3.188S19.75 20 18.5 20h-12Zm0-2h12c.7 0 1.292-.242 1.775-.725.483-.483.725-1.075.725-1.775s-.242-1.292-.725-1.775C19.792 13.242 19.2 13 18.5 13H17v-2c0-1.383-.488-2.563-1.463-3.537C14.563 6.487 13.383 6 12 6s-2.563.487-3.537 1.463C7.488 8.437 7 9.617 7 11h-.5c-.967 0-1.792.342-2.475 1.025A3.372 3.372 0 0 0 3 14.5c0 .967.342 1.792 1.025 2.475A3.372 3.372 0 0 0 6.5 18Z'
|
|
20
|
+
/>
|
|
21
|
+
<path
|
|
22
|
+
fill='#27AE60'
|
|
23
|
+
d='M16 11.35 10.35 17 6.8 13.45l1.425-1.425 2.1 2.1L14.55 9.9 16 11.35Z'
|
|
24
|
+
/>
|
|
25
|
+
</svg>
|
|
26
|
+
)
|
|
27
|
+
}
|
package/src/lib/icons/Seam.tsx
CHANGED
|
@@ -1,19 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Automaically generated by SVGR from assets/icons/*.svg.
|
|
3
|
+
* Do not edit this file or add other components to this directory.
|
|
4
|
+
*/
|
|
1
5
|
import type { SVGProps } from 'react'
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
6
|
+
export function SeamIcon(props: SVGProps<SVGSVGElement>): JSX.Element {
|
|
7
|
+
return (
|
|
8
|
+
<svg
|
|
9
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
10
|
+
width={167}
|
|
11
|
+
height={200}
|
|
12
|
+
fill='none'
|
|
13
|
+
{...props}
|
|
14
|
+
>
|
|
15
|
+
<style>{'@media (prefers-color-scheme:dark){path{fill:#fff}}'}</style>
|
|
16
|
+
<path
|
|
17
|
+
fill='#23292F'
|
|
18
|
+
d='M166.546 58.917a9.058 9.058 0 0 0-.024-.433l-.012-.115c-.01-.105-.02-.21-.034-.315l-.02-.14c-.014-.095-.028-.191-.045-.287-.011-.059-.024-.117-.036-.176-.016-.083-.032-.165-.051-.248-.017-.075-.038-.15-.057-.225-.016-.065-.032-.13-.05-.195-.027-.095-.057-.19-.087-.284-.014-.044-.027-.089-.042-.133a8.749 8.749 0 0 0-.123-.343l-.027-.072a9.553 9.553 0 0 0-.163-.39l-.01-.023a9.312 9.312 0 0 0-.196-.409l-.002-.003a8.454 8.454 0 0 0-.204-.376l-.017-.032-.002-.004a10.31 10.31 0 0 0-.164-.267l-.086-.14-.083-.122a11.258 11.258 0 0 0-.188-.272l-.002-.002c-.633-.87-15.581-21.363-21.614-28.047-.35-.387-.709-.79-1.082-1.207-6.111-6.845-16.339-18.302-36.453-23.185-9.171-2.227-18.717-1.93-29.184.907-8.632 2.34-18.121 6.458-29.86 12.958l-1.285.711c-7.88 4.362-14.679 8.126-20.442 11.799a9.136 9.136 0 0 0-.558.357C13.75 35.026 6.74 41.59 3.043 51.152c-9.343 24.162 5.616 44.014 7.74 46.655l16.961 22.733L4.69 133.229l-.014.009a8.077 8.077 0 0 0-.303.176l-.113.068c-.07.044-.14.09-.209.136l-.197.133a7.725 7.725 0 0 0-.116.085 7.514 7.514 0 0 0-.272.203l-.015.012c-.014.01-.027.022-.04.033a8.81 8.81 0 0 0-.306.254l-.04.036c-.1.088-.198.178-.294.27l-.052.052a9.132 9.132 0 0 0-.547.585l-.105.127a7.69 7.69 0 0 0-.165.206c-.044.056-.086.114-.128.171-.042.057-.084.113-.124.171a9.355 9.355 0 0 0-.605.996l-.053.102a8.27 8.27 0 0 0-.312.688 5.784 5.784 0 0 0-.15.397l-.044.125c-.03.091-.059.182-.086.274l-.045.152a9.516 9.516 0 0 0-.284 1.474 9.09 9.09 0 0 0-.027.287l-.009.13a9.219 9.219 0 0 0-.014.31l-.002.115a8.952 8.952 0 0 0 0 .323l.004.108c.004.108.009.216.016.325l.01.114a8.786 8.786 0 0 0 .09.735l.03.165a8.58 8.58 0 0 0 .221.92c.015.052.03.105.047.156a9.2 9.2 0 0 0 .103.304l.038.106c.042.116.088.231.136.345l.027.065c.053.123.109.245.168.367l.02.044c.06.121.121.239.186.358l.022.043.007.012c.096.173.198.344.306.512l.061.09a8.905 8.905 0 0 0 .384.538l.064.086 22.408 28.363.034.043c5.595 6.995 11.768 12.622 18.347 16.726 5.879 3.667 12.089 6.132 18.457 7.328 2.927.549 5.895.818 8.819.818 7.15 0 14.04-1.608 19.443-4.657.753-.425 1.49-.878 2.213-1.352 7.657-4.217 25.026-13.847 32.28-18.372a428.33 428.33 0 0 1 3.471-2.137c10.408-6.368 22.205-13.585 28.1-25.774 2.687-5.557 5.766-13.224 5.717-23.269-.054-11.323-4.165-23.472-12.219-36.113l-6.361-10.14 19.363-11.147.004-.003c.09-.051.178-.107.266-.162.047-.03.096-.057.142-.087l.119-.082c.093-.062.185-.124.275-.19h.002l.015-.012c.245-.18.48-.37.703-.569l.004-.004c.11-.099.218-.2.322-.303l.041-.042c.09-.09.179-.182.265-.276.028-.03.054-.061.081-.092.07-.078.14-.157.206-.238.04-.047.077-.095.115-.143.052-.066.104-.13.154-.197.048-.063.093-.128.138-.192.038-.053.077-.106.114-.16.051-.076.1-.154.15-.232.028-.044.057-.087.084-.131.052-.086.102-.174.151-.261l.065-.114c.05-.092.098-.185.145-.28l.054-.106c.045-.094.088-.19.131-.286l.049-.11c.04-.093.077-.188.113-.282l.049-.124c.033-.09.063-.18.093-.27.016-.048.034-.096.049-.145.026-.082.05-.166.074-.249l.049-.173c.019-.074.036-.149.054-.223.016-.069.033-.137.048-.206l.037-.194c.015-.08.031-.159.044-.239l.023-.165c.013-.09.026-.18.037-.27l.013-.14c.01-.099.019-.198.025-.298l.006-.118c.005-.106.01-.212.011-.319v-.105c0-.11 0-.22-.004-.33Zm-141.4 27.955-.019-.024c-.048-.064-.1-.128-.15-.191-.049-.061-.096-.123-.146-.182l-.02-.025c-.027-.032-2.712-3.344-4.69-8.548-2.653-6.98-2.733-13.792-.237-20.248 1.971-5.097 6.5-9.28 13.855-14.052 11.662-5 18.412-1.978 20.654-.973 4.072 1.823 7.612 4.853 10.697 8.1L42.308 63.68l-.065.037-.038.021-.064.039a9.01 9.01 0 0 0-.3.18c-.06.038-.118.078-.177.117-.062.042-.125.083-.187.126a9.197 9.197 0 0 0-.272.2l-.068.05-.015.013c-.111.086-.22.175-.326.265l-.023.02a9.165 9.165 0 0 0-.33.298l-.008.008a8.67 8.67 0 0 0-.302.302l-.022.022a8.88 8.88 0 0 0-.255.282c-.017.02-.035.038-.051.058a8.66 8.66 0 0 0-.195.239c-.031.038-.063.076-.093.115-.044.057-.086.116-.128.174l-.14.19-.06.092a8.999 8.999 0 0 0-1.329 3.078c-.014.062-.024.124-.037.186-.015.078-.032.154-.046.231a9.008 9.008 0 0 0-.018 3.014v.006c.018.106.04.212.06.318.009.04.016.082.024.123.016.072.034.143.052.214.018.076.035.15.055.226l.037.127c.03.104.06.207.093.31l.02.06c.042.124.086.248.133.371l.006.015c.106.277.227.552.363.821l.008.015c.065.129.133.257.205.383l.008.014.02.032a9.127 9.127 0 0 0 .587.893l.103.14.003.003 42.298 54.501-16.077 9.695-17.421-23.351-.01-.014-23.18-31.068Zm66.42 78.652c-2.057 6.998-6.44 11.052-9.317 13.059-1.79.985-2.887 1.586-2.94 1.615a8.73 8.73 0 0 0-.355.206c-3.258 1.299-8.439 2.167-14.417 1.045-4.15-.779-8.265-2.428-12.23-4.901-4.837-3.017-9.476-7.279-13.789-12.666l-15.787-19.984 15.907-8.755 17.537 23.505c.031.041.065.08.097.122a8.76 8.76 0 0 0 .356.432c.07.079.138.158.21.234.058.062.118.121.178.181.071.072.142.145.216.214.069.065.14.126.21.189.068.059.135.12.204.178.103.086.21.167.316.247.039.03.076.062.116.091.151.11.305.215.461.316l.072.043c.134.084.269.165.406.241l.126.067c.121.064.242.127.366.186.05.025.102.047.154.07.115.053.231.104.349.152l.175.068a10.096 10.096 0 0 0 .53.184 9.174 9.174 0 0 0 .851.22c.076.016.152.032.229.046.1.018.2.033.3.048.082.012.163.025.245.035.095.011.191.019.287.027.087.008.172.017.26.022.09.006.182.006.273.009.087.003.172.008.259.008.23 0 .46-.01.691-.027l.03-.003c.102-.008.205-.018.307-.03l.05-.006c.097-.012.196-.025.294-.04l.048-.007c.106-.017.212-.036.317-.057l.02-.003c.113-.023.226-.048.339-.075l.046-.011c.09-.022.18-.046.269-.07l.136-.04.174-.053a9.482 9.482 0 0 0 .49-.171l.108-.043.207-.084.057-.025c.25-.109.496-.229.738-.362l.072-.039.18-.104.083-.049 22.758-13.724c2.08 6.586 2.343 12.784.731 18.269Zm51.626-40.998c.031 6.289-1.865 11.085-3.919 15.331-3.587 7.418-12.577 12.918-21.271 18.237-1.188.727-2.417 1.479-3.605 2.22a194.55 194.55 0 0 1-3.969 2.393c.881-8.667-.466-20.155-7.942-33.738a8.2 8.2 0 0 0-.257-.441c-.039-.062-.081-.124-.122-.186a9.021 9.021 0 0 0-.436-.613L60.186 74.275l16.253-9.24L98.643 94.41l.026.032c.066.087.135.17.204.254.052.063.103.127.156.188.071.082.145.162.22.241a8.8 8.8 0 0 0 .798.76c.08.067.161.132.243.196.062.048.124.097.187.144.101.074.203.145.306.215.049.033.096.067.145.098.145.094.292.184.442.269l.029.017c.332.188.675.353 1.025.496l.103.04c.136.054.274.105.413.152.053.018.106.034.16.051a9.294 9.294 0 0 0 1.112.28c.105.019.211.035.316.05.079.013.159.025.238.035.1.012.202.02.303.029.083.007.166.016.25.021.104.006.208.008.312.01.075.002.149.008.224.008.028 0 .055-.003.082-.003a9.14 9.14 0 0 0 .395-.013l.168-.01c.152-.01.303-.025.455-.043l.139-.02c.137-.019.274-.04.411-.066l.096-.017a8.821 8.821 0 0 0 .592-.14c.173-.046.345-.097.516-.154h.001c.184-.061.366-.13.547-.204l.014-.005c.18-.074.358-.154.534-.24l.024-.012c.188-.093.373-.191.556-.298l16.626-9.571 6.735 10.735.035.056c6.207 9.735 9.373 18.663 9.411 26.536Zm-34.946-47.347-25.17-33.298-.01-.011a9.363 9.363 0 0 0-.277-.348l-.006-.008c-1.991-2.394-5.047-5.934-8.694-9.19-3.503-3.129-7.028-5.565-10.727-7.41 16.343-8.121 27.724-10.415 38.048-7.91 14.647 3.557 21.927 11.71 27.243 17.664.394.443.776.87 1.146 1.28 3.026 3.352 9.371 11.681 14.458 18.5l-36.011 20.731Z'
|
|
19
|
+
style={{
|
|
20
|
+
fill: '#23292f',
|
|
21
|
+
}}
|
|
22
|
+
/>
|
|
23
|
+
</svg>
|
|
24
|
+
)
|
|
25
|
+
}
|
package/src/lib/icons/Search.tsx
CHANGED
|
@@ -1,30 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Automaically generated by SVGR from assets/icons/*.svg.
|
|
3
|
+
* Do not edit this file or add other components to this directory.
|
|
4
|
+
*/
|
|
1
5
|
import type { SVGProps } from 'react'
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
height={20}
|
|
7
|
-
fill='none'
|
|
8
|
-
{...props}
|
|
9
|
-
>
|
|
10
|
-
<mask
|
|
11
|
-
id='search_svg__a'
|
|
6
|
+
export function SearchIcon(props: SVGProps<SVGSVGElement>): JSX.Element {
|
|
7
|
+
return (
|
|
8
|
+
<svg
|
|
9
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
12
10
|
width={20}
|
|
13
11
|
height={20}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
maskUnits='userSpaceOnUse'
|
|
17
|
-
style={{
|
|
18
|
-
maskType: 'alpha',
|
|
19
|
-
}}
|
|
12
|
+
fill='none'
|
|
13
|
+
{...props}
|
|
20
14
|
>
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
15
|
+
<mask
|
|
16
|
+
id='search_svg__a'
|
|
17
|
+
width={20}
|
|
18
|
+
height={20}
|
|
19
|
+
x={0}
|
|
20
|
+
y={0}
|
|
21
|
+
maskUnits='userSpaceOnUse'
|
|
22
|
+
style={{
|
|
23
|
+
maskType: 'alpha',
|
|
24
|
+
}}
|
|
25
|
+
>
|
|
26
|
+
<path fill='#D9D9D9' d='M0 0h20v20H0z' />
|
|
27
|
+
</mask>
|
|
28
|
+
<g mask='url(#search_svg__a)'>
|
|
29
|
+
<path
|
|
30
|
+
fill='#6E7179'
|
|
31
|
+
d='m16.333 17.5-5.25-5.25a5.08 5.08 0 0 1-3.167 1.083c-1.513 0-2.794-.524-3.843-1.572C3.024 10.71 2.5 9.43 2.5 7.917c0-1.514.524-2.796 1.573-3.845C5.122 3.024 6.403 2.5 7.917 2.5c1.514 0 2.795.524 3.844 1.572 1.048 1.05 1.572 2.33 1.572 3.845a5.08 5.08 0 0 1-1.083 3.166l5.25 5.25-1.167 1.167Zm-8.416-5.833c1.041 0 1.927-.365 2.656-1.094.73-.73 1.094-1.615 1.094-2.656 0-1.042-.365-1.928-1.094-2.657-.73-.729-1.615-1.093-2.656-1.093-1.042 0-1.928.364-2.657 1.093-.729.73-1.093 1.615-1.093 2.657 0 1.041.364 1.927 1.093 2.656.73.73 1.615 1.094 2.657 1.094Z'
|
|
32
|
+
/>
|
|
33
|
+
</g>
|
|
34
|
+
</svg>
|
|
35
|
+
)
|
|
36
|
+
}
|
|
@@ -1,32 +1,38 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Automaically generated by SVGR from assets/icons/*.svg.
|
|
3
|
+
* Do not edit this file or add other components to this directory.
|
|
4
|
+
*/
|
|
1
5
|
import type { SVGProps } from 'react'
|
|
2
|
-
export
|
|
6
|
+
export function TriangleWarningIcon(
|
|
3
7
|
props: SVGProps<SVGSVGElement>
|
|
4
|
-
): JSX.Element
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
height={24}
|
|
9
|
-
fill='none'
|
|
10
|
-
{...props}
|
|
11
|
-
>
|
|
12
|
-
<mask
|
|
13
|
-
id='triangle-warning_svg__a'
|
|
8
|
+
): JSX.Element {
|
|
9
|
+
return (
|
|
10
|
+
<svg
|
|
11
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
14
12
|
width={24}
|
|
15
13
|
height={24}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
maskUnits='userSpaceOnUse'
|
|
19
|
-
style={{
|
|
20
|
-
maskType: 'alpha',
|
|
21
|
-
}}
|
|
14
|
+
fill='none'
|
|
15
|
+
{...props}
|
|
22
16
|
>
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
<mask
|
|
18
|
+
id='triangle-warning_svg__a'
|
|
19
|
+
width={24}
|
|
20
|
+
height={24}
|
|
21
|
+
x={0}
|
|
22
|
+
y={0}
|
|
23
|
+
maskUnits='userSpaceOnUse'
|
|
24
|
+
style={{
|
|
25
|
+
maskType: 'alpha',
|
|
26
|
+
}}
|
|
27
|
+
>
|
|
28
|
+
<path fill='#D9D9D9' d='M0 0h24v24H0z' />
|
|
29
|
+
</mask>
|
|
30
|
+
<g mask='url(#triangle-warning_svg__a)'>
|
|
31
|
+
<path
|
|
32
|
+
fill='#F3980F'
|
|
33
|
+
d='M1 21 12 2l11 19H1Zm11-3a.968.968 0 0 0 .713-.288A.967.967 0 0 0 13 17a.967.967 0 0 0-.287-.712A.968.968 0 0 0 12 16a.965.965 0 0 0-.712.288A.965.965 0 0 0 11 17c0 .283.096.52.288.712A.965.965 0 0 0 12 18Zm-1-3h2v-5h-2v5Z'
|
|
34
|
+
/>
|
|
35
|
+
</g>
|
|
36
|
+
</svg>
|
|
37
|
+
)
|
|
38
|
+
}
|
|
@@ -1,18 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Automaically generated by SVGR from assets/icons/*.svg.
|
|
3
|
+
* Do not edit this file or add other components to this directory.
|
|
4
|
+
*/
|
|
1
5
|
import type { SVGProps } from 'react'
|
|
2
|
-
export
|
|
6
|
+
export function TriangleWarningOutlineIcon(
|
|
3
7
|
props: SVGProps<SVGSVGElement>
|
|
4
|
-
): JSX.Element
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
): JSX.Element {
|
|
9
|
+
return (
|
|
10
|
+
<svg
|
|
11
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
12
|
+
width={24}
|
|
13
|
+
height={24}
|
|
14
|
+
fill='none'
|
|
15
|
+
{...props}
|
|
16
|
+
>
|
|
17
|
+
<path
|
|
18
|
+
fill='#FF9800'
|
|
19
|
+
d='m12 6.49 7.53 13.01H4.47L12 6.49Zm0-3.99-11 19h22l-11-19Z'
|
|
20
|
+
/>
|
|
21
|
+
<path fill='#FF9800' d='M13 16.5h-2v2h2v-2ZM13 10.5h-2v5h2v-5Z' />
|
|
22
|
+
</svg>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
@@ -27,7 +27,7 @@ export function useAccessCode(
|
|
|
27
27
|
queryKey: ['access_codes', 'get', normalizedParams],
|
|
28
28
|
queryFn: async () => {
|
|
29
29
|
if (client == null) return null
|
|
30
|
-
return await client
|
|
30
|
+
return await client.accessCodes.get(normalizedParams)
|
|
31
31
|
},
|
|
32
32
|
})
|
|
33
33
|
return { ...rest, accessCode: data }
|
|
@@ -27,7 +27,7 @@ export function useAccessCodes(
|
|
|
27
27
|
queryKey: ['access_codes', 'list', normalizedParams],
|
|
28
28
|
queryFn: async () => {
|
|
29
29
|
if (client == null) return []
|
|
30
|
-
return await client
|
|
30
|
+
return await client.accessCodes.list(normalizedParams)
|
|
31
31
|
},
|
|
32
32
|
})
|
|
33
33
|
|
|
@@ -7,7 +7,10 @@ import type {
|
|
|
7
7
|
import { BatteryStatus } from 'lib/ui/device/BatteryStatus.js'
|
|
8
8
|
import { DeviceImage } from 'lib/ui/device/DeviceImage.js'
|
|
9
9
|
import { LockStatus } from 'lib/ui/device/LockStatus.js'
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
isDeviceAccountOffline,
|
|
12
|
+
OnlineStatus,
|
|
13
|
+
} from 'lib/ui/device/OnlineStatus.js'
|
|
11
14
|
import { TableCell } from 'lib/ui/Table/TableCell.js'
|
|
12
15
|
import { TableRow } from 'lib/ui/Table/TableRow.js'
|
|
13
16
|
import { Title } from 'lib/ui/typography/Title.js'
|
|
@@ -27,61 +30,42 @@ export function DeviceRow({
|
|
|
27
30
|
device,
|
|
28
31
|
onClick,
|
|
29
32
|
}: DeviceRowProps): JSX.Element | null {
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
const isDeviceOffline = !device.properties.online
|
|
34
|
+
const isDisconnected = isDeviceAccountOffline(device) || isDeviceOffline
|
|
35
|
+
const isConnected = !isDisconnected
|
|
36
|
+
|
|
34
37
|
return (
|
|
35
38
|
<TableRow onClick={onClick}>
|
|
36
|
-
<TableCell
|
|
39
|
+
<TableCell
|
|
40
|
+
className={classNames('seam-image-cell', {
|
|
41
|
+
'seam-offline-fade': isDisconnected,
|
|
42
|
+
})}
|
|
43
|
+
>
|
|
37
44
|
<DeviceImage device={device} />
|
|
38
45
|
</TableCell>
|
|
39
46
|
<TableCell className='seam-body-cell'>
|
|
40
|
-
<Title
|
|
47
|
+
<Title
|
|
48
|
+
className={classNames('seam-truncated-text', {
|
|
49
|
+
'seam-offline-fade': isDisconnected,
|
|
50
|
+
})}
|
|
51
|
+
>
|
|
41
52
|
{device.properties.name}
|
|
42
53
|
</Title>
|
|
43
54
|
<div className='seam-bottom'>
|
|
44
|
-
<span
|
|
55
|
+
<span
|
|
56
|
+
className={classNames('seam-device-model', {
|
|
57
|
+
'seam-offline-fade': isDisconnected,
|
|
58
|
+
})}
|
|
59
|
+
>
|
|
45
60
|
{device.properties.model.display_name}
|
|
46
61
|
</span>
|
|
47
|
-
<
|
|
62
|
+
<div className='seam-device-statuses'>
|
|
63
|
+
<OnlineStatus device={device} />
|
|
64
|
+
{isConnected && <BatteryStatus device={device} />}
|
|
65
|
+
{isConnected && <LockStatus device={device} />}
|
|
66
|
+
</div>
|
|
48
67
|
</div>
|
|
49
68
|
</TableCell>
|
|
50
69
|
</TableRow>
|
|
51
70
|
)
|
|
52
71
|
}
|
|
53
|
-
|
|
54
|
-
interface DeviceStatusesProps {
|
|
55
|
-
device: UseDevicesData[number]
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function DeviceStatuses({ device }: DeviceStatusesProps): JSX.Element | null {
|
|
59
|
-
if (isAccountOffline(device) || isDeviceOffline(device)) {
|
|
60
|
-
return (
|
|
61
|
-
<div className='seam-device-statuses'>
|
|
62
|
-
<OnlineStatus device={device} />
|
|
63
|
-
</div>
|
|
64
|
-
)
|
|
65
|
-
}
|
|
66
|
-
return (
|
|
67
|
-
<div className='seam-device-statuses'>
|
|
68
|
-
<OnlineStatus device={device} />
|
|
69
|
-
<BatteryStatus device={device} />
|
|
70
|
-
<LockStatus device={device} />
|
|
71
|
-
</div>
|
|
72
|
-
)
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const isAccountOffline = (device: UseDevicesData[number]): boolean => {
|
|
76
|
-
return (
|
|
77
|
-
device.errors.filter((error) => error.error_code === 'account_disconnected')
|
|
78
|
-
.length > 0
|
|
79
|
-
)
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
const isDeviceOffline = (device: UseDevicesData[number]): boolean => {
|
|
83
|
-
return (
|
|
84
|
-
device.errors.filter((error) => error.error_code === 'device_disconnected')
|
|
85
|
-
.length > 0
|
|
86
|
-
)
|
|
87
|
-
}
|
|
@@ -2,7 +2,9 @@ interface HiddenDevicesOverlayProps {
|
|
|
2
2
|
visible: boolean
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
export function HiddenDevicesOverlay({
|
|
5
|
+
export function HiddenDevicesOverlay({
|
|
6
|
+
visible,
|
|
7
|
+
}: HiddenDevicesOverlayProps): JSX.Element | null {
|
|
6
8
|
if (!visible) {
|
|
7
9
|
return null
|
|
8
10
|
}
|
|
@@ -15,7 +15,7 @@ import { useToggle } from 'lib/ui/use-toggle.js'
|
|
|
15
15
|
*/
|
|
16
16
|
const maxDevicesBeforeCollapsing = 3
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
interface SupportedDeviceBrandSectionProps {
|
|
19
19
|
brand: string
|
|
20
20
|
deviceModels: DeviceModel[]
|
|
21
21
|
}
|
|
@@ -30,17 +30,14 @@ export function SupportedDeviceBrandSection({
|
|
|
30
30
|
|
|
31
31
|
const canExpand = deviceModels.length > maxDevicesBeforeCollapsing
|
|
32
32
|
|
|
33
|
-
const visibleDevices =
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
(_deviceModel, index) => index < maxDevicesBeforeCollapsing
|
|
40
|
-
)
|
|
41
|
-
}
|
|
33
|
+
const visibleDevices =
|
|
34
|
+
!canExpand || expanded
|
|
35
|
+
? deviceModels
|
|
36
|
+
: deviceModels.filter(
|
|
37
|
+
(_deviceModel, index) => index < maxDevicesBeforeCollapsing
|
|
38
|
+
)
|
|
42
39
|
|
|
43
|
-
const handleHeaderClick = () => {
|
|
40
|
+
const handleHeaderClick = (): void => {
|
|
44
41
|
if (!canExpand) {
|
|
45
42
|
return
|
|
46
43
|
}
|
|
@@ -67,7 +64,7 @@ export function SupportedDeviceBrandSection({
|
|
|
67
64
|
{canExpand && <ChevronRightIcon className='chevron' />}
|
|
68
65
|
</div>
|
|
69
66
|
<div className='seam-supported-device-table-content'>
|
|
70
|
-
{visibleDevices
|
|
67
|
+
{visibleDevices.map((deviceModel, index) => (
|
|
71
68
|
<SupportedDeviceRow
|
|
72
69
|
key={[
|
|
73
70
|
deviceModel.main_category,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DeviceModel } from 'seamapi'
|
|
2
2
|
|
|
3
3
|
import { SupportedDeviceBrandSection } from 'lib/seam/components/SupportedDeviceTable/SupportedDeviceBrandSection.js'
|
|
4
|
-
import { SupportedDeviceFilterResultRow } from 'lib/seam/components/SupportedDeviceTable/
|
|
4
|
+
import { SupportedDeviceFilterResultRow } from 'lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterResultRow.js'
|
|
5
5
|
import {
|
|
6
6
|
type DeviceModelFilters,
|
|
7
7
|
useFilteredDeviceModels,
|
|
@@ -9,7 +9,7 @@ import { Button } from 'lib/ui/Button.js'
|
|
|
9
9
|
import { Menu } from 'lib/ui/Menu/Menu.js'
|
|
10
10
|
import { SearchTextField } from 'lib/ui/TextField/SearchTextField.js'
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
interface SupportedDeviceFilterAreaProps {
|
|
13
13
|
filterValue: string
|
|
14
14
|
setFilterValue: (filter: string) => void
|
|
15
15
|
filters: DeviceModelFilters
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import { useDeviceProvider } from 'lib/seam/components/SupportedDeviceTable/use-device-provider.js'
|
|
9
9
|
import { DotDivider } from 'lib/ui/layout/DotDivider.js'
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
interface SupportedDeviceFilterResultRowProps {
|
|
12
12
|
deviceModel: DeviceModel
|
|
13
13
|
}
|
|
14
14
|
|
|
@@ -26,7 +26,7 @@ export function SupportedDeviceFilterResultRow({
|
|
|
26
26
|
|
|
27
27
|
export function ModelColumn({
|
|
28
28
|
deviceModel,
|
|
29
|
-
}: SupportedDeviceFilterResultRowProps) {
|
|
29
|
+
}: SupportedDeviceFilterResultRowProps): JSX.Element {
|
|
30
30
|
const deviceProvider = useDeviceProvider(deviceModel.brand)
|
|
31
31
|
|
|
32
32
|
return (
|