@seamapi/react 1.26.0 → 1.28.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/connect-webviews/use-create-connect-webview.d.ts +2 -1
- package/lib/seam/connect-webviews/use-create-connect-webview.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/connect-webviews/use-create-connect-webview.ts +4 -3
- 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
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ $ npm install @seamapi/react
|
|
|
44
44
|
2. Wrap your React app with the `SeamProvider`.
|
|
45
45
|
3. Drop in Seam Components.
|
|
46
46
|
|
|
47
|
-
```
|
|
47
|
+
```tsx
|
|
48
48
|
import { ConnectAccountButton, DeviceTable, SeamProvider } from '@seamapi/react'
|
|
49
49
|
|
|
50
50
|
export const App = () => {
|
|
@@ -86,6 +86,57 @@ export const App = () => {
|
|
|
86
86
|
|
|
87
87
|
[Seam Console]: https://console.seam.co/
|
|
88
88
|
|
|
89
|
+
### React Hooks
|
|
90
|
+
|
|
91
|
+
All components interact with the Seam API via a set of React Hooks.
|
|
92
|
+
You can use these hooks directly in your application to build your own components.
|
|
93
|
+
|
|
94
|
+
Import hooks directly from `@seamapi/react` or `@seamapi/react/hooks`.
|
|
95
|
+
For most applications, these imports are equivalent,
|
|
96
|
+
however if you are only using the hooks, we recommend importing from `@seamapi/react/hooks`
|
|
97
|
+
as it may enable performance or bundling improvements depending on your build system.
|
|
98
|
+
|
|
99
|
+
Hooks must be used inside the `SeamProvider`.
|
|
100
|
+
They are well-typed and follow a uniform API.
|
|
101
|
+
|
|
102
|
+
```tsx
|
|
103
|
+
import { SeamProvider, useDevices } from '@seamapi/react/hooks'
|
|
104
|
+
|
|
105
|
+
export const App = () => {
|
|
106
|
+
return (
|
|
107
|
+
<SeamProvider publishableKey='your_publishable_key'>
|
|
108
|
+
<main>
|
|
109
|
+
<h1>My App</h1>
|
|
110
|
+
<Devices />
|
|
111
|
+
</main>
|
|
112
|
+
</SeamProvider>
|
|
113
|
+
)
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const Devices = () => {
|
|
117
|
+
const { devices, isLoading, isError, error } = useDevices()
|
|
118
|
+
|
|
119
|
+
if (isLoading) {
|
|
120
|
+
return <p>Loading</p>
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (isError) {
|
|
124
|
+
return <p>{error?.message}</p>
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return (
|
|
128
|
+
<>
|
|
129
|
+
<h2>Devices</h2>
|
|
130
|
+
<div>
|
|
131
|
+
{devices?.map((device) => (
|
|
132
|
+
<p key={device.device_id}>{device.properties.name}</p>
|
|
133
|
+
))}
|
|
134
|
+
</div>
|
|
135
|
+
</>
|
|
136
|
+
)
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
89
140
|
### Styles
|
|
90
141
|
|
|
91
142
|
> CSS is automatically included unless using `<SeamProvider disableCssInjection />`.
|
|
@@ -98,7 +149,7 @@ If you prefer to manually load the CSS,
|
|
|
98
149
|
this behavior may be disabled with the `disableCssInjection` prop.
|
|
99
150
|
Then, either import the CSS using a supported bundler with
|
|
100
151
|
|
|
101
|
-
```
|
|
152
|
+
```tsx
|
|
102
153
|
import '@seamapi/react/index.css'
|
|
103
154
|
```
|
|
104
155
|
|
|
@@ -156,7 +207,7 @@ default-src 'self'; connect-src 'self' https://connect.getseam.com; img-src 'sel
|
|
|
156
207
|
|
|
157
208
|
#### Granular CSP
|
|
158
209
|
|
|
159
|
-
Depending on
|
|
210
|
+
Depending on which assets you choose to host yourself, the CSP may be made stricter.
|
|
160
211
|
|
|
161
212
|
By self hosting the styles and recommended fonts (or choosing not to use them),
|
|
162
213
|
and proxying the Seam API endpoint, the components are compatible with this strict CSP:
|
|
@@ -311,7 +362,7 @@ To add a new icon:
|
|
|
311
362
|
2. Run `npm run generate`.
|
|
312
363
|
3. Import with
|
|
313
364
|
|
|
314
|
-
```
|
|
365
|
+
```tsx
|
|
315
366
|
import { SeamIcon } from 'lib/icons/SeamIcon.js'
|
|
316
367
|
```
|
|
317
368
|
|