@seamapi/react 1.24.0 → 1.26.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 (69) hide show
  1. package/dist/elements.js +3987 -3821
  2. package/dist/elements.js.map +1 -1
  3. package/dist/index.css +157 -45
  4. package/dist/index.css.map +1 -1
  5. package/dist/index.min.css +1 -1
  6. package/dist/index.min.css.map +1 -1
  7. package/lib/seam/components/SupportedDeviceTable/HiddenDevicesOverlay.d.ts +5 -0
  8. package/lib/seam/components/SupportedDeviceTable/HiddenDevicesOverlay.js +8 -0
  9. package/lib/seam/components/SupportedDeviceTable/HiddenDevicesOverlay.js.map +1 -0
  10. package/lib/seam/components/SupportedDeviceTable/ShowAllDevicesButton.d.ts +8 -0
  11. package/lib/seam/components/SupportedDeviceTable/ShowAllDevicesButton.js +14 -0
  12. package/lib/seam/components/SupportedDeviceTable/ShowAllDevicesButton.js.map +1 -0
  13. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceBrandSection.d.ts +7 -0
  14. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceBrandSection.js +45 -0
  15. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceBrandSection.js.map +1 -0
  16. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.d.ts +2 -1
  17. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.js +36 -11
  18. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.js.map +1 -1
  19. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContentRows.d.ts +7 -0
  20. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContentRows.js +12 -0
  21. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContentRows.js.map +1 -0
  22. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterArea.d.ts +2 -1
  23. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterArea.js +12 -4
  24. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterArea.js.map +1 -1
  25. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterResultRowProps.d.ts +7 -0
  26. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterResultRowProps.js +12 -0
  27. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterResultRowProps.js.map +1 -0
  28. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.d.ts +4 -0
  29. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.js +19 -5
  30. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.js.map +1 -1
  31. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceTable.d.ts +2 -1
  32. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceTable.js +3 -3
  33. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceTable.js.map +1 -1
  34. package/lib/seam/components/SupportedDeviceTable/use-device-provider.d.ts +2 -0
  35. package/lib/seam/components/SupportedDeviceTable/use-device-provider.js +15 -0
  36. package/lib/seam/components/SupportedDeviceTable/use-device-provider.js.map +1 -0
  37. package/lib/seam/components/SupportedDeviceTable/use-filtered-device-models.d.ts +5 -1
  38. package/lib/seam/components/SupportedDeviceTable/use-filtered-device-models.js +9 -2
  39. package/lib/seam/components/SupportedDeviceTable/use-filtered-device-models.js.map +1 -1
  40. package/lib/seam/devices/use-device-providers.d.ts +5 -0
  41. package/lib/seam/devices/use-device-providers.js +17 -0
  42. package/lib/seam/devices/use-device-providers.js.map +1 -0
  43. package/lib/version.d.ts +1 -1
  44. package/lib/version.js +1 -1
  45. package/package.json +14 -4
  46. package/src/lib/seam/components/SupportedDeviceTable/HiddenDevicesOverlay.tsx +11 -0
  47. package/src/lib/seam/components/SupportedDeviceTable/ShowAllDevicesButton.tsx +32 -0
  48. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceBrandSection.tsx +96 -0
  49. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.tsx +62 -16
  50. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceContentRows.tsx +27 -0
  51. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterArea.tsx +22 -3
  52. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterResultRowProps.tsx +49 -0
  53. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.tsx +52 -20
  54. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceTable.element.ts +1 -0
  55. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceTable.tsx +4 -0
  56. package/src/lib/seam/components/SupportedDeviceTable/use-device-provider.ts +22 -0
  57. package/src/lib/seam/components/SupportedDeviceTable/use-filtered-device-models.ts +21 -4
  58. package/src/lib/seam/devices/use-device-providers.ts +25 -0
  59. package/src/lib/version.ts +1 -1
  60. package/src/styles/_access-code-details.scss +1 -1
  61. package/src/styles/_buttons.scss +3 -3
  62. package/src/styles/_colors.scss +6 -2
  63. package/src/styles/_menus.scss +1 -1
  64. package/src/styles/_supported-device-table.scss +192 -52
  65. package/src/styles/_tables.scss +1 -1
  66. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceHeader.d.ts +0 -2
  67. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceHeader.js +0 -12
  68. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceHeader.js.map +0 -1
  69. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceHeader.tsx +0 -22
@@ -92,6 +92,102 @@ $row-padding: 8px;
92
92
  }
93
93
  }
94
94
 
95
+ .seam-brand-section {
96
+ margin-bottom: 32px;
97
+ position: relative;
98
+
99
+ .seam-header {
100
+ display: flex;
101
+ align-items: center;
102
+ height: 64px;
103
+
104
+ .seam-brand-image {
105
+ width: 48px;
106
+ height: 48px;
107
+ padding: 0 8px;
108
+ box-sizing: content-box;
109
+ margin-right: 8px;
110
+ }
111
+
112
+ .seam-brand-name {
113
+ font-size: 21px;
114
+ line-height: 132%;
115
+ flex: 1;
116
+ }
117
+
118
+ .chevron {
119
+ transform: rotate(90deg);
120
+ margin-right: 24px;
121
+ }
122
+ }
123
+
124
+ .show-all-devices-button {
125
+ cursor: pointer;
126
+ background: colors.$white;
127
+ display: flex;
128
+ height: 30px;
129
+ padding: 4px 24px;
130
+ align-items: center;
131
+ gap: 10px;
132
+ font-size: 14px;
133
+ line-height: 115%;
134
+ color: colors.$text-gray-1;
135
+ border-radius: 30px;
136
+ border: 0;
137
+ box-shadow: 0 1px 1px 0 rgb(16 27 37 / 10%),
138
+ 0 1px 8px 0 rgb(46 69 82 / 12%);
139
+ position: absolute;
140
+ left: 50%;
141
+ transform: translate(-50%, -47px);
142
+ z-index: 3;
143
+
144
+ svg {
145
+ transform: rotate(90deg);
146
+ }
147
+ }
148
+
149
+ .hidden-devices-overlay {
150
+ background: linear-gradient(
151
+ 180deg,
152
+ rgb(255 255 255 / 0%) 10.17%,
153
+ #fff 86.98%
154
+ );
155
+ position: absolute;
156
+ height: 64px;
157
+ width: 100%;
158
+ bottom: 0;
159
+ z-index: 2;
160
+ }
161
+
162
+ &.can-expand {
163
+ .seam-header {
164
+ cursor: pointer;
165
+
166
+ &:hover {
167
+ background: colors.$bg-aa;
168
+ }
169
+ }
170
+ }
171
+
172
+ &.expanded {
173
+ margin-bottom: 96px; // 32px (usual margin) + 64px (empty row)
174
+
175
+ .seam-header {
176
+ .chevron {
177
+ transform: rotate(270deg);
178
+ }
179
+ }
180
+
181
+ .show-all-devices-button {
182
+ transform: translate(-50%, 16px);
183
+
184
+ svg {
185
+ transform: rotate(270deg);
186
+ }
187
+ }
188
+ }
189
+ }
190
+
95
191
  .seam-supported-device-table-content-state-block {
96
192
  width: 100%;
97
193
  background-color: colors.$bg-a;
@@ -134,85 +230,129 @@ $row-padding: 8px;
134
230
  table-layout: auto;
135
231
  border-collapse: collapse;
136
232
 
137
- th,
138
- td {
139
- white-space: nowrap;
140
- padding: 0 8px;
141
- }
233
+ .seam-row {
234
+ height: 64px;
235
+ border-bottom: 1px solid colors.$bg-b;
236
+ display: flex;
142
237
 
143
- thead {
144
- width: 100%;
145
- height: 50px;
146
- background: colors.$bg-a;
147
- overflow: hidden;
238
+ &:first-child {
239
+ border-top: 1px solid colors.$bg-b;
240
+ }
148
241
 
149
- tr {
150
- border-radius: 8px;
242
+ .seam-col {
243
+ display: flex;
244
+ padding: 8px;
151
245
  }
152
246
 
153
- th {
154
- vertical-align: middle;
155
- text-align: left;
156
- font-size: 16px;
157
- font-weight: 600;
247
+ &.filter-result-row {
248
+ .seam-model-name {
249
+ display: flex;
250
+ align-items: center;
251
+
252
+ .seam-brand-image {
253
+ width: 32px;
254
+ margin-right: 4px;
255
+ }
256
+ }
158
257
  }
159
258
  }
160
259
 
161
- tbody {
162
- tr {
163
- height: 60px;
164
- border-bottom: 1px solid colors.$bg-b;
165
- }
260
+ .seam-status-pill {
261
+ display: inline-flex;
262
+ padding: 4px 8px;
263
+ border-radius: 16px;
166
264
 
167
- td {
168
- vertical-align: middle;
265
+ & span {
266
+ font-size: 11px;
267
+ line-height: 134%;
268
+ letter-spacing: 0.55px;
169
269
  }
170
- }
171
270
 
172
- tr {
173
- th:first-of-type,
174
- td:first-of-type {
175
- padding-left: $row-padding;
271
+ &.status-green {
272
+ background-color: colors.$pill-green-bg;
273
+ color: colors.$pill-green-text;
176
274
  }
177
275
 
178
- th:last-of-type,
179
- td:last-of-type {
180
- padding-right: $row-padding;
276
+ &.status-blue {
277
+ background-color: colors.$pill-blue-bg;
278
+ color: colors.$pill-blue-text;
181
279
  }
182
- }
183
280
 
184
- .seam-status-pill {
185
- display: inline-flex;
186
- padding: 4px 8px;
187
- border-radius: 90px;
188
- background-color: colors.$status-green;
281
+ &.status-unknown {
282
+ color: colors.$text-gray-1;
283
+ font-size: 12px;
284
+ line-height: 118%;
285
+ }
189
286
 
190
- & span {
191
- color: white;
192
- font-size: 14px;
287
+ &:not(.status-unknown) {
193
288
  font-weight: 600;
194
- line-height: 1;
195
289
  }
290
+ }
196
291
 
197
- &.status-green {
198
- background-color: colors.$status-green;
292
+ .seam-device-image-col {
293
+ align-items: center;
294
+
295
+ .seam-image-box {
296
+ width: 48px;
297
+ height: 48px;
298
+
299
+ img {
300
+ width: 100%;
301
+ }
199
302
  }
303
+ }
304
+
305
+ .seam-model-col {
306
+ flex: 1;
307
+ display: flex;
308
+ flex-direction: column;
309
+ align-items: flex-start;
310
+ justify-content: center;
311
+ gap: 2px;
200
312
 
201
- &.status-orange {
202
- background-color: colors.$status-orange;
313
+ .seam-model-name {
314
+ font-size: 14px;
203
315
  }
204
316
 
205
- &.status-red {
206
- background-color: colors.$status-red;
317
+ .seam-model-id {
318
+ color: colors.$text-gray-2;
319
+ font-size: 12px;
320
+
321
+ .seam-dot-divider {
322
+ margin: 0 4px;
323
+ color: colors.$text-gray-3;
324
+ }
207
325
  }
208
326
 
209
- &.status-blue {
210
- background-color: colors.$primary;
327
+ @media only screen and (width >= 450px) {
328
+ .seam-model-name {
329
+ font-size: 16px;
330
+ }
331
+
332
+ .seam-model-id {
333
+ font-size: 14px;
334
+ }
211
335
  }
212
336
 
213
- &.status-gray {
214
- background-color: colors.$bg-d;
337
+ @media only screen and (width >= 700px) {
338
+ flex-direction: row;
339
+ align-items: center;
340
+ justify-content: flex-start;
341
+
342
+ .seam-model-name {
343
+ flex: 0 0 75%;
344
+ }
345
+
346
+ .seam-model-id {
347
+ font-size: 16px;
348
+ }
215
349
  }
216
350
  }
351
+
352
+ .seam-status-col {
353
+ width: 70px;
354
+ text-align: center;
355
+ align-items: center;
356
+ }
217
357
  }
218
358
  }
@@ -111,7 +111,7 @@
111
111
  }
112
112
 
113
113
  &.seam-selected {
114
- background: #fff;
114
+ background: colors.$white;
115
115
  border: 1px solid colors.$text-gray-3;
116
116
  }
117
117
  }
@@ -1,2 +0,0 @@
1
- /// <reference types="react" />
2
- export declare function SupportedDeviceHeader(): JSX.Element;
@@ -1,12 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export function SupportedDeviceHeader() {
3
- return (_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", {}), _jsx("th", { children: t.category }), _jsx("th", { children: t.modelName }), _jsx("th", { children: t.manufacturerModelId }), _jsx("th", { children: t.connectionType }), _jsx("th", { children: t.status })] }) }));
4
- }
5
- const t = {
6
- category: 'Category',
7
- modelName: 'Model Name',
8
- manufacturerModelId: 'Manufacturer Model ID',
9
- connectionType: 'Connection Type',
10
- status: 'Status',
11
- };
12
- //# sourceMappingURL=SupportedDeviceHeader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SupportedDeviceHeader.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/SupportedDeviceTable/SupportedDeviceHeader.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,qBAAqB;IACnC,OAAO,CACL,0BACE,yBACE,cAAM,EACN,uBAAK,CAAC,CAAC,QAAQ,GAAM,EACrB,uBAAK,CAAC,CAAC,SAAS,GAAM,EACtB,uBAAK,CAAC,CAAC,mBAAmB,GAAM,EAChC,uBAAK,CAAC,CAAC,cAAc,GAAM,EAC3B,uBAAK,CAAC,CAAC,MAAM,GAAM,IAChB,GACC,CACT,CAAA;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,YAAY;IACvB,mBAAmB,EAAE,uBAAuB;IAC5C,cAAc,EAAE,iBAAiB;IACjC,MAAM,EAAE,QAAQ;CACjB,CAAA"}
@@ -1,22 +0,0 @@
1
- export function SupportedDeviceHeader(): JSX.Element {
2
- return (
3
- <thead>
4
- <tr>
5
- <th />
6
- <th>{t.category}</th>
7
- <th>{t.modelName}</th>
8
- <th>{t.manufacturerModelId}</th>
9
- <th>{t.connectionType}</th>
10
- <th>{t.status}</th>
11
- </tr>
12
- </thead>
13
- )
14
- }
15
-
16
- const t = {
17
- category: 'Category',
18
- modelName: 'Model Name',
19
- manufacturerModelId: 'Manufacturer Model ID',
20
- connectionType: 'Connection Type',
21
- status: 'Status',
22
- }