@seamapi/react 0.22.0 → 0.22.2

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 (48) hide show
  1. package/index.css +122 -0
  2. package/index.css.map +1 -1
  3. package/index.min.css +1 -1
  4. package/index.min.css.map +1 -1
  5. package/lib/copy.d.ts +1 -0
  6. package/lib/copy.js +4 -0
  7. package/lib/copy.js.map +1 -0
  8. package/lib/icons/Copy.d.ts +2 -0
  9. package/lib/icons/Copy.js +5 -0
  10. package/lib/icons/Copy.js.map +1 -0
  11. package/lib/ui/AccessCodeTable/AccessCodeTable.js +12 -1
  12. package/lib/ui/AccessCodeTable/AccessCodeTable.js.map +1 -1
  13. package/lib/ui/Menu/Menu.d.ts +19 -0
  14. package/lib/ui/Menu/Menu.js +93 -0
  15. package/lib/ui/Menu/Menu.js.map +1 -0
  16. package/lib/ui/Menu/MenuItem.d.ts +6 -0
  17. package/lib/ui/Menu/MenuItem.js +10 -0
  18. package/lib/ui/Menu/MenuItem.js.map +1 -0
  19. package/lib/ui/Menu/MoreActionsMenu.d.ts +6 -0
  20. package/lib/ui/Menu/MoreActionsMenu.js +11 -0
  21. package/lib/ui/Menu/MoreActionsMenu.js.map +1 -0
  22. package/lib/ui/SupportedDevices/SupportedDeviceRow.d.ts +5 -0
  23. package/lib/ui/SupportedDevices/SupportedDeviceRow.js +18 -0
  24. package/lib/ui/SupportedDevices/SupportedDeviceRow.js.map +1 -0
  25. package/lib/ui/SupportedDevices/SupportedDevices.d.ts +1 -0
  26. package/lib/ui/SupportedDevices/SupportedDevices.js +21 -0
  27. package/lib/ui/SupportedDevices/SupportedDevices.js.map +1 -0
  28. package/lib/ui/SupportedDevices/SupportedDevicesHeader.d.ts +1 -0
  29. package/lib/ui/SupportedDevices/SupportedDevicesHeader.js +5 -0
  30. package/lib/ui/SupportedDevices/SupportedDevicesHeader.js.map +1 -0
  31. package/lib/ui/SupportedDevices/types.d.ts +10 -0
  32. package/lib/ui/SupportedDevices/types.js +2 -0
  33. package/lib/ui/SupportedDevices/types.js.map +1 -0
  34. package/package.json +2 -2
  35. package/src/lib/copy.ts +3 -0
  36. package/src/lib/icons/Copy.tsx +30 -0
  37. package/src/lib/ui/AccessCodeTable/AccessCodeTable.tsx +27 -1
  38. package/src/lib/ui/Menu/Menu.tsx +179 -0
  39. package/src/lib/ui/Menu/MenuItem.tsx +24 -0
  40. package/src/lib/ui/Menu/MoreActionsMenu.tsx +27 -0
  41. package/src/lib/ui/SupportedDevices/SupportedDeviceRow.tsx +46 -0
  42. package/src/lib/ui/SupportedDevices/SupportedDevices.tsx +65 -0
  43. package/src/lib/ui/SupportedDevices/SupportedDevicesHeader.tsx +14 -0
  44. package/src/lib/ui/SupportedDevices/types.ts +10 -0
  45. package/src/styles/_access-code-table.scss +9 -0
  46. package/src/styles/_main.scss +4 -0
  47. package/src/styles/_menus.scss +46 -0
  48. package/src/styles/_supported-devices.scss +105 -0
package/index.css CHANGED
@@ -273,6 +273,44 @@
273
273
  .seam-components .seam-lock-icon * {
274
274
  fill: #6e7179;
275
275
  }
276
+ .seam-components .seam-menu-bg {
277
+ width: 100vw;
278
+ height: 100vh;
279
+ justify-content: center;
280
+ align-items: center;
281
+ position: fixed;
282
+ inset: 0;
283
+ z-index: 999999;
284
+ display: none;
285
+ }
286
+ .seam-components .seam-menu-content {
287
+ width: 250px;
288
+ position: absolute;
289
+ padding: 8px 0;
290
+ background: #fff;
291
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 2px 16px 2px rgba(15, 22, 28, 0.15);
292
+ border-radius: 8px;
293
+ }
294
+ .seam-components .seam-menu-content .seam-menu-item {
295
+ padding: 0 16px;
296
+ height: 36px;
297
+ display: flex;
298
+ align-items: center;
299
+ font-size: 16px;
300
+ line-height: 134%;
301
+ cursor: pointer;
302
+ }
303
+ .seam-components .seam-menu-content .seam-menu-item:hover {
304
+ background: #f4f6f8;
305
+ }
306
+ .seam-components .seam-menu-shadow {
307
+ z-index: -1;
308
+ opacity: 0;
309
+ visibility: hidden;
310
+ top: 0;
311
+ right: 0;
312
+ position: fixed;
313
+ }
276
314
  .seam-components .seam-device-details .seam-body {
277
315
  display: flex;
278
316
  flex-direction: column;
@@ -483,6 +521,12 @@
483
521
  align-items: center;
484
522
  justify-content: center;
485
523
  }
524
+ .seam-components .seam-access-code-table-action-menu .menu-item-copy {
525
+ display: flex;
526
+ align-items: center;
527
+ justify-content: space-between;
528
+ flex: 1;
529
+ }
486
530
  .seam-components .seam-access-code-details > .seam-summary {
487
531
  background: #f1f3f4;
488
532
  border-radius: 16px;
@@ -578,5 +622,83 @@
578
622
  .seam-components .seam-access-code-details .seam-details .seam-row .seam-content .seam-times > div:first-child {
579
623
  flex: 0 1 160px;
580
624
  }
625
+ .seam-components .seam-supported-devices-table-state-block {
626
+ width: 100%;
627
+ background-color: #f1f3f4;
628
+ padding: 32px 8px;
629
+ display: flex;
630
+ justify-content: center;
631
+ align-items: center;
632
+ flex-direction: column;
633
+ gap: 8px;
634
+ }
635
+ .seam-components .seam-supported-devices-table {
636
+ width: 100%;
637
+ overflow-x: auto;
638
+ table-layout: auto;
639
+ border-collapse: collapse;
640
+ }
641
+ .seam-components .seam-supported-devices-table th,
642
+ .seam-components .seam-supported-devices-table td {
643
+ white-space: nowrap;
644
+ padding: 0 8px;
645
+ }
646
+ .seam-components .seam-supported-devices-table thead {
647
+ width: 100%;
648
+ height: 50px;
649
+ background: #f1f3f4;
650
+ overflow: hidden;
651
+ }
652
+ .seam-components .seam-supported-devices-table thead tr {
653
+ border-radius: 8px;
654
+ }
655
+ .seam-components .seam-supported-devices-table thead th {
656
+ vertical-align: middle;
657
+ text-align: left;
658
+ font-size: 16px;
659
+ font-weight: 600;
660
+ }
661
+ .seam-components .seam-supported-devices-table tbody tr {
662
+ height: 60px;
663
+ border-bottom: 1px solid #e9edef;
664
+ }
665
+ .seam-components .seam-supported-devices-table tbody td {
666
+ vertical-align: middle;
667
+ }
668
+ .seam-components .seam-supported-devices-table tr th:first-of-type,
669
+ .seam-components .seam-supported-devices-table tr td:first-of-type {
670
+ padding-left: 8px;
671
+ }
672
+ .seam-components .seam-supported-devices-table tr th:last-of-type,
673
+ .seam-components .seam-supported-devices-table tr td:last-of-type {
674
+ padding-right: 8px;
675
+ }
676
+ .seam-components .seam-supported-devices-table .seam-status-pill {
677
+ display: inline-flex;
678
+ padding: 4px 8px;
679
+ border-radius: 90px;
680
+ background-color: #27ae60;
681
+ }
682
+ .seam-components .seam-supported-devices-table .seam-status-pill span {
683
+ color: white;
684
+ font-size: 14px;
685
+ font-weight: 600;
686
+ line-height: 1;
687
+ }
688
+ .seam-components .seam-supported-devices-table .seam-status-pill.status-green {
689
+ background-color: #27ae60;
690
+ }
691
+ .seam-components .seam-supported-devices-table .seam-status-pill.status-orange {
692
+ background-color: #f3980f;
693
+ }
694
+ .seam-components .seam-supported-devices-table .seam-status-pill.status-red {
695
+ background-color: #e36857;
696
+ }
697
+ .seam-components .seam-supported-devices-table .seam-status-pill.status-blue {
698
+ background-color: #007afc;
699
+ }
700
+ .seam-components .seam-supported-devices-table .seam-status-pill.status-gray {
701
+ background-color: #cbd0d3;
702
+ }
581
703
 
582
704
  /*# sourceMappingURL=index.css.map */
package/index.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["src/styles/_reset.scss","src/styles/_main.scss","src/styles/_typography.scss","src/styles/_colors.scss","src/styles/_tables.scss","src/styles/_inputs.scss","src/styles/_buttons.scss","src/styles/_layout.scss","src/styles/_icons.scss","src/styles/_device-details.scss","src/styles/_device-table.scss","src/styles/_access-code-table.scss","src/styles/_access-code-details.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;ACaA;ECVE;;AFGA;AAAA;AAAA;EAGE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAmDE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;EACE;;AAGF;AAAA;EAEE;;AAGF;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;EAIE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AEtGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;AAKF;EACE,OCTU;;ADcZ;EACE,OCPS;;ADYX;EACE,OCvBW;;ACPb;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAMJ;EACE;EACA;EACA;;AC1CF;EACE;EACA;EACA;EACA;;AC2GF;EJ/GA;EIoHE;EACA;;AAjFF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAKF;EACE,YH7DM;EG8DN;EACA;;AAEA;EACE,YH5DS;EG6DT,cH7DS;;AGgEX;EAEE,YHjEQ;EGkER,cHlEQ;;AGsEZ;EACE,OH9EM;EG+EN;EACA;;AAEA;EACE,YH9EM;;AGiFR;EAEE;EACA,OHxFO;;AG4FX;EACE,OHrFU;EGsFV;;AAEA;EACE,YHjFC;EGkFD,cHxFU;;AG2FZ;EAEE,OH7FU;EG8FV,cH7FQ;EG8FR;;AAcF;EAEE;;AAxHJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAMJ;EACE,OHlBM;EGmBN;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EAEE;EACA;;AC9BJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,OJXQ;;AKPV;EACE,MLMQ;;AMPV;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE,YNIE;;AMAN;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA,ONnCE;;AMsCJ;EACE;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA,YN1CD;;AM4CC;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAKF;EACE,ONtEA;EMuEA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,ON7FF;;AMgGA;EACE,ONlGF;;AMqGA;EACE;EACA;;AAGF;EACE;EACA;;AAOV;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA;;AClJJ;EACE;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA,OPvBE;EOwBF;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,OPjCE;EOkCF;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AClDZ;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA,ORrBI;;AQuBJ;EACE;EACA,ORtBE;;AQ2BR;EACE;EACA;EACA;EACA;;ACzCJ;EACE,YTcC;ESbD;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OTLI;ESMJ;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,OT5BI;ES6BJ;EACA;;AAEA;EACE;EACA,OTnCG;;ASwCT;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE,OT3FA;;AS+FA;EACE;;AAGF;EACE","file":"index.css"}
1
+ {"version":3,"sourceRoot":"","sources":["src/styles/_reset.scss","src/styles/_main.scss","src/styles/_typography.scss","src/styles/_colors.scss","src/styles/_tables.scss","src/styles/_inputs.scss","src/styles/_buttons.scss","src/styles/_layout.scss","src/styles/_icons.scss","src/styles/_menus.scss","src/styles/_device-details.scss","src/styles/_device-table.scss","src/styles/_access-code-table.scss","src/styles/_access-code-details.scss","src/styles/_supported-devices.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;ACeA;ECZE;;AFGA;AAAA;AAAA;EAGE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAmDE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;EACE;;AAGF;AAAA;EAEE;;AAGF;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;EAIE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AEtGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;AAKF;EACE,OCTU;;ADcZ;EACE,OCPS;;ADYX;EACE,OCvBW;;ACPb;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAMJ;EACE;EACA;EACA;;AC1CF;EACE;EACA;EACA;EACA;;AC2GF;EJ/GA;EIoHE;EACA;;AAjFF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAKF;EACE,YH7DM;EG8DN;EACA;;AAEA;EACE,YH5DS;EG6DT,cH7DS;;AGgEX;EAEE,YHjEQ;EGkER,cHlEQ;;AGsEZ;EACE,OH9EM;EG+EN;EACA;;AAEA;EACE,YH9EM;;AGiFR;EAEE;EACA,OHxFO;;AG4FX;EACE,OHrFU;EGsFV;;AAEA;EACE,YHjFC;EGkFD,cHxFU;;AG2FZ;EAEE,OH7FU;EG8FV,cH7FQ;EG8FR;;AAcF;EAEE;;AAxHJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAMJ;EACE,OHlBM;EGmBN;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EAEE;EACA;;AC9BJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,OJXQ;;AKPV;EACE,MLMQ;;AMRZ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,YNHQ;;AMQd;EACE;EACA;EACA;EACA;EACA;EACA;;ACvCA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE,YPIE;;AOAN;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA,OPnCE;;AOsCJ;EACE;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA,YP1CD;;AO4CC;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAKF;EACE,OPtEA;EOuEA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,OP7FF;;AOgGA;EACE,OPlGF;;AOqGA;EACE;EACA;;AAGF;EACE;EACA;;AAOV;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA;;AClJJ;EACE;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA,ORvBE;EQwBF;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,ORjCE;EQkCF;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AClDZ;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA,OTrBI;;ASuBJ;EACE;EACA,OTtBE;;AS2BR;EACE;EACA;EACA;EACA;;AAMJ;EACE;EACA;EACA;EACA;;ACnDF;EACE,YVcC;EUbD;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;EACA,OVLI;EUMJ;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE,OV5BI;EU6BJ;EACA;;AAEA;EACE;EACA,OVnCG;;AUwCT;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE,OV3FA;;AU+FA;EACE;;AAGF;EACE;;AC3Gd;EACE;EACA,kBXYG;EWXH;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;;AAGF;EACE;EACA;EACA,YXZC;EWaD;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAKF;EACE;EACA;;AAGF;EACE;;AAMF;AAAA;EAEE,cA3DM;;AA8DR;AAAA;EAEE,eAhEM;;AAoEV;EACE;EACA;EACA;EACA,kBXpDS;;AWsDT;EACE;EACA;EACA;EACA;;AAGF;EACE,kBX9DO;;AWiET;EACE,kBXnEQ;;AWsEV;EACE,kBXxEK;;AW2EP;EACE,kBX9FE;;AWiGJ;EACE,kBXpFD","file":"index.css"}
package/index.min.css CHANGED
@@ -1 +1 @@
1
- .seam-components{font-family:"Source Sans Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif}.seam-components *,.seam-components *::before,.seam-components *::after{box-sizing:border-box}.seam-components html,.seam-components body,.seam-components div,.seam-components span,.seam-components object,.seam-components iframe,.seam-components figure,.seam-components h1,.seam-components h2,.seam-components h3,.seam-components h4,.seam-components h5,.seam-components h6,.seam-components p,.seam-components blockquote,.seam-components pre,.seam-components a,.seam-components code,.seam-components em,.seam-components img,.seam-components small,.seam-components strike,.seam-components strong,.seam-components sub,.seam-components sup,.seam-components tt,.seam-components b,.seam-components u,.seam-components i,.seam-components ol,.seam-components ul,.seam-components li,.seam-components fieldset,.seam-components form,.seam-components label,.seam-components table,.seam-components caption,.seam-components tbody,.seam-components tfoot,.seam-components thead,.seam-components tr,.seam-components th,.seam-components td,.seam-components main,.seam-components canvas,.seam-components embed,.seam-components footer,.seam-components header,.seam-components nav,.seam-components section,.seam-components video{margin:0;padding:0;border:0;font-size:100%;font-family:inherit;vertical-align:baseline;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;text-size-adjust:none}.seam-components footer,.seam-components header,.seam-components nav,.seam-components section,.seam-components main{display:block}.seam-components body{line-height:1}.seam-components ol,.seam-components ul{list-style:none}.seam-components blockquote,.seam-components q{quotes:none}.seam-components blockquote::before,.seam-components blockquote::after,.seam-components q::before,.seam-components q::after{content:"";content:none}.seam-components table{border-collapse:collapse;border-spacing:0}.seam-components input{appearance:none;border-radius:0}.seam-components h1,.seam-components h2,.seam-components h3,.seam-components h4,.seam-components h5,.seam-components h6{font-weight:600}.seam-components .seam-caption{color:#9da1a9}.seam-components .seam-text-danger{color:#e36857}.seam-components html{color:#232b3a}.seam-components .seam-table-header{display:flex;justify-content:space-between;align-items:center;height:56px;padding:0 16px}.seam-components .seam-table-title{font-size:21px;line-height:132%}.seam-components .seam-table-title .seam-caption{font-size:16px;line-height:134%}.seam-components .seam-table-row{display:flex;padding:4px;height:72px;border-bottom:1px solid #eee}.seam-components .seam-table-row:hover{background:#f4f6f8}.seam-components .seam-table-row .seam-title{font-weight:600;font-size:18px;line-height:132%}.seam-components .seam-table-cell{display:flex;align-items:center;padding:4px}.seam-components .seam-text-field{padding:0 8px;height:40px;border:1px solid #d5d8dc;border-radius:8px}.seam-components .seam-btn{font-family:"Source Sans Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;font-weight:600;cursor:pointer}.seam-components .seam-btn.seam-btn-small{font-size:14px;line-height:22px;border-radius:6px;padding:4px 10px}.seam-components .seam-btn.seam-btn-medium{font-size:16px;line-height:26px;border-radius:7px;padding:6px 16px}.seam-components .seam-btn.seam-btn-large{font-size:19px;line-height:30px;border-radius:8px;padding:8px 22px}.seam-components .seam-btn.seam-btn-solid{background:#007afc;color:#fff;border:1px solid #007afc}.seam-components .seam-btn.seam-btn-solid:hover{background:#006ee3;border-color:#006ee3}.seam-components .seam-btn.seam-btn-solid.seam-btn-disabled,.seam-components .seam-btn.seam-btn-solid:disabled{background:#c1dfff;border-color:#c1dfff}.seam-components .seam-btn.seam-btn-outline{color:#007afc;border:1px solid #7ebcff;background:rgba(0,0,0,0)}.seam-components .seam-btn.seam-btn-outline:hover{background:#f2f8ff}.seam-components .seam-btn.seam-btn-outline.seam-btn-disabled,.seam-components .seam-btn.seam-btn-outline:disabled{background:rgba(0,0,0,0);color:#7ebcff}.seam-components .seam-btn.seam-btn-neutral{color:#6e7179;border:1px solid #b9bec5}.seam-components .seam-btn.seam-btn-neutral:hover{background:#f1f3f4;border-color:#b9bec5}.seam-components .seam-btn.seam-btn-neutral.seam-btn-disabled,.seam-components .seam-btn.seam-btn-neutral:disabled{color:#b9bec5;border-color:#d5d8dc;background:#fff}.seam-components .seam-btn.seam-btn-disabled,.seam-components .seam-btn:disabled{cursor:not-allowed}.seam-components .seam-icon-btn{border-radius:6px;border:1px solid rgba(0,122,252,.5);cursor:pointer;background:#fff;padding:6px;line-height:0}.seam-components .seam-icon-btn:hover{background:rgba(0,122,252,.08)}.seam-components .seam-text-btn{color:#007afc;padding:0;cursor:pointer;background:rgba(0,0,0,0);border:0}.seam-components .seam-text-btn:hover{text-decoration:underline}.seam-components .seam-text-btn.seam-btn-disabled,.seam-components .seam-text-btn:disabled{cursor:not-allowed;text-decoration:none}.seam-components .seam-content-header{height:56px;display:flex;align-items:center;position:relative;justify-content:center;margin:0 16px}.seam-components .seam-content-header .seam-back-icon{position:absolute;top:50%;transform:translate(4px, -25%);left:0;cursor:pointer}.seam-components .seam-content-header .seam-title{font-size:16px;line-height:134%;color:#6e7179}.seam-components .seam-lock-icon *{fill:#6e7179}.seam-components .seam-device-details .seam-body{display:flex;flex-direction:column;gap:16px;margin:0 24px 24px}.seam-components .seam-device-details .seam-body .seam-box{border:1px solid #d5d8dc;border-radius:8px}.seam-components .seam-device-details .seam-body .seam-box .seam-content{padding:12px 12px 12px 16px}.seam-components .seam-device-details .seam-body .seam-box .seam-content.seam-access-codes{padding:12px 8px 12px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.seam-components .seam-device-details .seam-body .seam-box .seam-content.seam-access-codes:hover{background:#f4f6f8}.seam-components .seam-device-details .seam-body .seam-box .seam-content.seam-access-code-length{border-top:1px solid #d5d8dc}.seam-components .seam-device-details .seam-body .seam-box .seam-content.seam-lock-status{display:flex;justify-content:space-between}.seam-components .seam-device-details .seam-body .seam-box .seam-content.seam-lock-status>.seam-right{display:flex;align-items:center}.seam-components .seam-device-details .seam-body .seam-box .seam-content .seam-label{font-size:14px;line-height:134%;color:#6e7179}.seam-components .seam-device-details .seam-body .seam-box .seam-content .seam-value{display:block;font-weight:600;font-size:16px;line-height:134%}.seam-components .seam-device-details .seam-body .seam-summary{padding:24px 16px;border-radius:16px;background:#f1f3f4}.seam-components .seam-device-details .seam-body .seam-summary .seam-content{display:flex;align-items:center;gap:20px}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-image{width:100px;height:100px;display:flex;align-items:center}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-image img{max-width:100%}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info>.seam-label{color:#6e7179;font-weight:600;font-size:14px;line-height:134%;margin-bottom:4px}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info .seam-device-name{margin-bottom:16px;font-weight:600;font-size:21px;line-height:132%}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info .seam-properties{display:grid;grid-template-columns:min-content 1fr;grid-auto-rows:1fr;font-size:14px;line-height:134%;row-gap:4px;column-gap:28px}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info .seam-properties .seam-label{color:#9da1a9}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info .seam-properties .seam-status-text{color:#6e7179}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info .seam-properties svg{scale:.75;margin-right:8px}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info .seam-properties>*{display:flex;align-items:center}.seam-components .seam-device-details .seam-body .seam-icon-cell{flex:0;margin-left:8px;display:flex;align-items:center;justify-content:center}.seam-components .seam-device-details .seam-body .seam-icon-cell>div{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.seam-components .seam-device-details .seam-body .seam-name-cell{flex:1}.seam-components .seam-device-details .seam-body .seam-action-cell{margin-right:12px;display:flex;align-items:center;justify-content:center}.seam-components .seam-device-table .seam-table-row{cursor:pointer}.seam-components .seam-device-table .seam-table-row .seam-image-cell{width:64px;height:64px;padding:4px}.seam-components .seam-device-table .seam-table-row .seam-image-cell img{width:100%}.seam-components .seam-device-table .seam-table-row .seam-body-cell{flex:1;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px}.seam-components .seam-device-table .seam-table-row .seam-body-cell .seam-bottom{display:flex;justify-content:space-between;align-items:center;width:100%}.seam-components .seam-device-table .seam-table-row .seam-body-cell .seam-bottom .seam-device-model{font-weight:400;font-size:14px;line-height:134%;color:#6e7179;flex:0 1 190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seam-components .seam-device-table .seam-table-row .seam-body-cell .seam-bottom .seam-device-statuses{display:flex;align-items:center;color:#6e7179;font-size:14px;line-height:134%}.seam-components .seam-device-table .seam-table-row .seam-body-cell .seam-bottom .seam-device-statuses>div{display:flex;align-items:center;margin-right:16px}.seam-components .seam-device-table .seam-table-row .seam-body-cell .seam-bottom .seam-device-statuses>div svg{scale:.75}.seam-components .seam-access-code-table .seam-table-row{cursor:pointer}.seam-components .seam-access-code-table .seam-table-row .seam-icon-cell{flex:0;display:flex;align-items:center;justify-content:center}.seam-components .seam-access-code-table .seam-table-row .seam-icon-cell>div{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.seam-components .seam-access-code-table .seam-table-row .seam-name-cell{flex:1;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px}.seam-components .seam-access-code-table .seam-table-row .seam-name-cell .seam-code-details{font-size:14px;line-height:134%;color:#6e7179}.seam-components .seam-access-code-table .seam-table-row .seam-name-cell .seam-code-details .seam-dot-divider{margin:0 4px;color:#d5d8dc}.seam-components .seam-access-code-table .seam-table-row .seam-action-cell{margin-right:12px;display:flex;align-items:center;justify-content:center}.seam-components .seam-access-code-details>.seam-summary{background:#f1f3f4;border-radius:16px;margin:0 24px 16px}.seam-components .seam-access-code-details>.seam-summary>.seam-top{padding:24px 16px}.seam-components .seam-access-code-details>.seam-summary>.seam-top>.seam-label{font-weight:600;font-size:14px;line-height:134%;color:#6e7179;margin-bottom:4px}.seam-components .seam-access-code-details>.seam-summary>.seam-top>.seam-access-code-name{font-weight:600;font-size:21px;line-height:132%;margin-bottom:8px}.seam-components .seam-access-code-details>.seam-summary>.seam-top>.seam-code{background:#fff;border:1px solid #9da1a9;border-radius:8px;padding:10px 16px;font-weight:600;font-size:24px;line-height:134%;margin-bottom:8px}.seam-components .seam-access-code-details>.seam-summary>.seam-top .seam-duration{color:#6e7179;font-size:14px;line-height:134%}.seam-components .seam-access-code-details>.seam-summary>.seam-top .seam-duration .seam-label{font-weight:600;color:#232b3a}.seam-components .seam-access-code-details>.seam-summary .seam-access-code-device{border-top:1px solid #dde0e2;padding:8px 16px 8px 8px;display:flex;align-items:center}.seam-components .seam-access-code-details>.seam-summary .seam-access-code-device .seam-device-image{width:72px;height:72px;margin-right:16px}.seam-components .seam-access-code-details>.seam-summary .seam-access-code-device .seam-device-image img{width:100%;max-height:100%}.seam-components .seam-access-code-details>.seam-summary .seam-access-code-device .seam-body{flex:1;font-weight:400;font-size:14px;line-height:134%;margin-right:8px}.seam-components .seam-access-code-details .seam-details{font-size:16px;line-height:134%;border-bottom:1px solid rgba(0,0,0,.12);padding:0 24px}.seam-components .seam-access-code-details .seam-details .seam-row{padding:16px;display:flex;border-top:1px solid rgba(0,0,0,.12)}.seam-components .seam-access-code-details .seam-details .seam-row .seam-heading{width:112px}.seam-components .seam-access-code-details .seam-details .seam-row .seam-content{display:flex;flex:1}.seam-components .seam-access-code-details .seam-details .seam-row .seam-content .seam-times{display:flex;flex:1;font-size:16px;line-height:134%}.seam-components .seam-access-code-details .seam-details .seam-row .seam-content .seam-times .seam-label{color:#9da1a9}.seam-components .seam-access-code-details .seam-details .seam-row .seam-content .seam-times>div div{margin-bottom:4px}.seam-components .seam-access-code-details .seam-details .seam-row .seam-content .seam-times>div:first-child{flex:0 1 160px}/*# sourceMappingURL=index.min.css.map */
1
+ .seam-components{font-family:"Source Sans Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif}.seam-components *,.seam-components *::before,.seam-components *::after{box-sizing:border-box}.seam-components html,.seam-components body,.seam-components div,.seam-components span,.seam-components object,.seam-components iframe,.seam-components figure,.seam-components h1,.seam-components h2,.seam-components h3,.seam-components h4,.seam-components h5,.seam-components h6,.seam-components p,.seam-components blockquote,.seam-components pre,.seam-components a,.seam-components code,.seam-components em,.seam-components img,.seam-components small,.seam-components strike,.seam-components strong,.seam-components sub,.seam-components sup,.seam-components tt,.seam-components b,.seam-components u,.seam-components i,.seam-components ol,.seam-components ul,.seam-components li,.seam-components fieldset,.seam-components form,.seam-components label,.seam-components table,.seam-components caption,.seam-components tbody,.seam-components tfoot,.seam-components thead,.seam-components tr,.seam-components th,.seam-components td,.seam-components main,.seam-components canvas,.seam-components embed,.seam-components footer,.seam-components header,.seam-components nav,.seam-components section,.seam-components video{margin:0;padding:0;border:0;font-size:100%;font-family:inherit;vertical-align:baseline;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;text-size-adjust:none}.seam-components footer,.seam-components header,.seam-components nav,.seam-components section,.seam-components main{display:block}.seam-components body{line-height:1}.seam-components ol,.seam-components ul{list-style:none}.seam-components blockquote,.seam-components q{quotes:none}.seam-components blockquote::before,.seam-components blockquote::after,.seam-components q::before,.seam-components q::after{content:"";content:none}.seam-components table{border-collapse:collapse;border-spacing:0}.seam-components input{appearance:none;border-radius:0}.seam-components h1,.seam-components h2,.seam-components h3,.seam-components h4,.seam-components h5,.seam-components h6{font-weight:600}.seam-components .seam-caption{color:#9da1a9}.seam-components .seam-text-danger{color:#e36857}.seam-components html{color:#232b3a}.seam-components .seam-table-header{display:flex;justify-content:space-between;align-items:center;height:56px;padding:0 16px}.seam-components .seam-table-title{font-size:21px;line-height:132%}.seam-components .seam-table-title .seam-caption{font-size:16px;line-height:134%}.seam-components .seam-table-row{display:flex;padding:4px;height:72px;border-bottom:1px solid #eee}.seam-components .seam-table-row:hover{background:#f4f6f8}.seam-components .seam-table-row .seam-title{font-weight:600;font-size:18px;line-height:132%}.seam-components .seam-table-cell{display:flex;align-items:center;padding:4px}.seam-components .seam-text-field{padding:0 8px;height:40px;border:1px solid #d5d8dc;border-radius:8px}.seam-components .seam-btn{font-family:"Source Sans Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;font-weight:600;cursor:pointer}.seam-components .seam-btn.seam-btn-small{font-size:14px;line-height:22px;border-radius:6px;padding:4px 10px}.seam-components .seam-btn.seam-btn-medium{font-size:16px;line-height:26px;border-radius:7px;padding:6px 16px}.seam-components .seam-btn.seam-btn-large{font-size:19px;line-height:30px;border-radius:8px;padding:8px 22px}.seam-components .seam-btn.seam-btn-solid{background:#007afc;color:#fff;border:1px solid #007afc}.seam-components .seam-btn.seam-btn-solid:hover{background:#006ee3;border-color:#006ee3}.seam-components .seam-btn.seam-btn-solid.seam-btn-disabled,.seam-components .seam-btn.seam-btn-solid:disabled{background:#c1dfff;border-color:#c1dfff}.seam-components .seam-btn.seam-btn-outline{color:#007afc;border:1px solid #7ebcff;background:rgba(0,0,0,0)}.seam-components .seam-btn.seam-btn-outline:hover{background:#f2f8ff}.seam-components .seam-btn.seam-btn-outline.seam-btn-disabled,.seam-components .seam-btn.seam-btn-outline:disabled{background:rgba(0,0,0,0);color:#7ebcff}.seam-components .seam-btn.seam-btn-neutral{color:#6e7179;border:1px solid #b9bec5}.seam-components .seam-btn.seam-btn-neutral:hover{background:#f1f3f4;border-color:#b9bec5}.seam-components .seam-btn.seam-btn-neutral.seam-btn-disabled,.seam-components .seam-btn.seam-btn-neutral:disabled{color:#b9bec5;border-color:#d5d8dc;background:#fff}.seam-components .seam-btn.seam-btn-disabled,.seam-components .seam-btn:disabled{cursor:not-allowed}.seam-components .seam-icon-btn{border-radius:6px;border:1px solid rgba(0,122,252,.5);cursor:pointer;background:#fff;padding:6px;line-height:0}.seam-components .seam-icon-btn:hover{background:rgba(0,122,252,.08)}.seam-components .seam-text-btn{color:#007afc;padding:0;cursor:pointer;background:rgba(0,0,0,0);border:0}.seam-components .seam-text-btn:hover{text-decoration:underline}.seam-components .seam-text-btn.seam-btn-disabled,.seam-components .seam-text-btn:disabled{cursor:not-allowed;text-decoration:none}.seam-components .seam-content-header{height:56px;display:flex;align-items:center;position:relative;justify-content:center;margin:0 16px}.seam-components .seam-content-header .seam-back-icon{position:absolute;top:50%;transform:translate(4px, -25%);left:0;cursor:pointer}.seam-components .seam-content-header .seam-title{font-size:16px;line-height:134%;color:#6e7179}.seam-components .seam-lock-icon *{fill:#6e7179}.seam-components .seam-menu-bg{width:100vw;height:100vh;justify-content:center;align-items:center;position:fixed;inset:0;z-index:999999;display:none}.seam-components .seam-menu-content{width:250px;position:absolute;padding:8px 0;background:#fff;box-shadow:0 0 1px rgba(0,0,0,.3),0 2px 16px 2px rgba(15,22,28,.15);border-radius:8px}.seam-components .seam-menu-content .seam-menu-item{padding:0 16px;height:36px;display:flex;align-items:center;font-size:16px;line-height:134%;cursor:pointer}.seam-components .seam-menu-content .seam-menu-item:hover{background:#f4f6f8}.seam-components .seam-menu-shadow{z-index:-1;opacity:0;visibility:hidden;top:0;right:0;position:fixed}.seam-components .seam-device-details .seam-body{display:flex;flex-direction:column;gap:16px;margin:0 24px 24px}.seam-components .seam-device-details .seam-body .seam-box{border:1px solid #d5d8dc;border-radius:8px}.seam-components .seam-device-details .seam-body .seam-box .seam-content{padding:12px 12px 12px 16px}.seam-components .seam-device-details .seam-body .seam-box .seam-content.seam-access-codes{padding:12px 8px 12px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.seam-components .seam-device-details .seam-body .seam-box .seam-content.seam-access-codes:hover{background:#f4f6f8}.seam-components .seam-device-details .seam-body .seam-box .seam-content.seam-access-code-length{border-top:1px solid #d5d8dc}.seam-components .seam-device-details .seam-body .seam-box .seam-content.seam-lock-status{display:flex;justify-content:space-between}.seam-components .seam-device-details .seam-body .seam-box .seam-content.seam-lock-status>.seam-right{display:flex;align-items:center}.seam-components .seam-device-details .seam-body .seam-box .seam-content .seam-label{font-size:14px;line-height:134%;color:#6e7179}.seam-components .seam-device-details .seam-body .seam-box .seam-content .seam-value{display:block;font-weight:600;font-size:16px;line-height:134%}.seam-components .seam-device-details .seam-body .seam-summary{padding:24px 16px;border-radius:16px;background:#f1f3f4}.seam-components .seam-device-details .seam-body .seam-summary .seam-content{display:flex;align-items:center;gap:20px}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-image{width:100px;height:100px;display:flex;align-items:center}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-image img{max-width:100%}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info>.seam-label{color:#6e7179;font-weight:600;font-size:14px;line-height:134%;margin-bottom:4px}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info .seam-device-name{margin-bottom:16px;font-weight:600;font-size:21px;line-height:132%}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info .seam-properties{display:grid;grid-template-columns:min-content 1fr;grid-auto-rows:1fr;font-size:14px;line-height:134%;row-gap:4px;column-gap:28px}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info .seam-properties .seam-label{color:#9da1a9}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info .seam-properties .seam-status-text{color:#6e7179}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info .seam-properties svg{scale:.75;margin-right:8px}.seam-components .seam-device-details .seam-body .seam-summary .seam-content .seam-info .seam-properties>*{display:flex;align-items:center}.seam-components .seam-device-details .seam-body .seam-icon-cell{flex:0;margin-left:8px;display:flex;align-items:center;justify-content:center}.seam-components .seam-device-details .seam-body .seam-icon-cell>div{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.seam-components .seam-device-details .seam-body .seam-name-cell{flex:1}.seam-components .seam-device-details .seam-body .seam-action-cell{margin-right:12px;display:flex;align-items:center;justify-content:center}.seam-components .seam-device-table .seam-table-row{cursor:pointer}.seam-components .seam-device-table .seam-table-row .seam-image-cell{width:64px;height:64px;padding:4px}.seam-components .seam-device-table .seam-table-row .seam-image-cell img{width:100%}.seam-components .seam-device-table .seam-table-row .seam-body-cell{flex:1;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px}.seam-components .seam-device-table .seam-table-row .seam-body-cell .seam-bottom{display:flex;justify-content:space-between;align-items:center;width:100%}.seam-components .seam-device-table .seam-table-row .seam-body-cell .seam-bottom .seam-device-model{font-weight:400;font-size:14px;line-height:134%;color:#6e7179;flex:0 1 190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seam-components .seam-device-table .seam-table-row .seam-body-cell .seam-bottom .seam-device-statuses{display:flex;align-items:center;color:#6e7179;font-size:14px;line-height:134%}.seam-components .seam-device-table .seam-table-row .seam-body-cell .seam-bottom .seam-device-statuses>div{display:flex;align-items:center;margin-right:16px}.seam-components .seam-device-table .seam-table-row .seam-body-cell .seam-bottom .seam-device-statuses>div svg{scale:.75}.seam-components .seam-access-code-table .seam-table-row{cursor:pointer}.seam-components .seam-access-code-table .seam-table-row .seam-icon-cell{flex:0;display:flex;align-items:center;justify-content:center}.seam-components .seam-access-code-table .seam-table-row .seam-icon-cell>div{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.seam-components .seam-access-code-table .seam-table-row .seam-name-cell{flex:1;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px}.seam-components .seam-access-code-table .seam-table-row .seam-name-cell .seam-code-details{font-size:14px;line-height:134%;color:#6e7179}.seam-components .seam-access-code-table .seam-table-row .seam-name-cell .seam-code-details .seam-dot-divider{margin:0 4px;color:#d5d8dc}.seam-components .seam-access-code-table .seam-table-row .seam-action-cell{margin-right:12px;display:flex;align-items:center;justify-content:center}.seam-components .seam-access-code-table-action-menu .menu-item-copy{display:flex;align-items:center;justify-content:space-between;flex:1}.seam-components .seam-access-code-details>.seam-summary{background:#f1f3f4;border-radius:16px;margin:0 24px 16px}.seam-components .seam-access-code-details>.seam-summary>.seam-top{padding:24px 16px}.seam-components .seam-access-code-details>.seam-summary>.seam-top>.seam-label{font-weight:600;font-size:14px;line-height:134%;color:#6e7179;margin-bottom:4px}.seam-components .seam-access-code-details>.seam-summary>.seam-top>.seam-access-code-name{font-weight:600;font-size:21px;line-height:132%;margin-bottom:8px}.seam-components .seam-access-code-details>.seam-summary>.seam-top>.seam-code{background:#fff;border:1px solid #9da1a9;border-radius:8px;padding:10px 16px;font-weight:600;font-size:24px;line-height:134%;margin-bottom:8px}.seam-components .seam-access-code-details>.seam-summary>.seam-top .seam-duration{color:#6e7179;font-size:14px;line-height:134%}.seam-components .seam-access-code-details>.seam-summary>.seam-top .seam-duration .seam-label{font-weight:600;color:#232b3a}.seam-components .seam-access-code-details>.seam-summary .seam-access-code-device{border-top:1px solid #dde0e2;padding:8px 16px 8px 8px;display:flex;align-items:center}.seam-components .seam-access-code-details>.seam-summary .seam-access-code-device .seam-device-image{width:72px;height:72px;margin-right:16px}.seam-components .seam-access-code-details>.seam-summary .seam-access-code-device .seam-device-image img{width:100%;max-height:100%}.seam-components .seam-access-code-details>.seam-summary .seam-access-code-device .seam-body{flex:1;font-weight:400;font-size:14px;line-height:134%;margin-right:8px}.seam-components .seam-access-code-details .seam-details{font-size:16px;line-height:134%;border-bottom:1px solid rgba(0,0,0,.12);padding:0 24px}.seam-components .seam-access-code-details .seam-details .seam-row{padding:16px;display:flex;border-top:1px solid rgba(0,0,0,.12)}.seam-components .seam-access-code-details .seam-details .seam-row .seam-heading{width:112px}.seam-components .seam-access-code-details .seam-details .seam-row .seam-content{display:flex;flex:1}.seam-components .seam-access-code-details .seam-details .seam-row .seam-content .seam-times{display:flex;flex:1;font-size:16px;line-height:134%}.seam-components .seam-access-code-details .seam-details .seam-row .seam-content .seam-times .seam-label{color:#9da1a9}.seam-components .seam-access-code-details .seam-details .seam-row .seam-content .seam-times>div div{margin-bottom:4px}.seam-components .seam-access-code-details .seam-details .seam-row .seam-content .seam-times>div:first-child{flex:0 1 160px}.seam-components .seam-supported-devices-table-state-block{width:100%;background-color:#f1f3f4;padding:32px 8px;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:8px}.seam-components .seam-supported-devices-table{width:100%;overflow-x:auto;table-layout:auto;border-collapse:collapse}.seam-components .seam-supported-devices-table th,.seam-components .seam-supported-devices-table td{white-space:nowrap;padding:0 8px}.seam-components .seam-supported-devices-table thead{width:100%;height:50px;background:#f1f3f4;overflow:hidden}.seam-components .seam-supported-devices-table thead tr{border-radius:8px}.seam-components .seam-supported-devices-table thead th{vertical-align:middle;text-align:left;font-size:16px;font-weight:600}.seam-components .seam-supported-devices-table tbody tr{height:60px;border-bottom:1px solid #e9edef}.seam-components .seam-supported-devices-table tbody td{vertical-align:middle}.seam-components .seam-supported-devices-table tr th:first-of-type,.seam-components .seam-supported-devices-table tr td:first-of-type{padding-left:8px}.seam-components .seam-supported-devices-table tr th:last-of-type,.seam-components .seam-supported-devices-table tr td:last-of-type{padding-right:8px}.seam-components .seam-supported-devices-table .seam-status-pill{display:inline-flex;padding:4px 8px;border-radius:90px;background-color:#27ae60}.seam-components .seam-supported-devices-table .seam-status-pill span{color:#fff;font-size:14px;font-weight:600;line-height:1}.seam-components .seam-supported-devices-table .seam-status-pill.status-green{background-color:#27ae60}.seam-components .seam-supported-devices-table .seam-status-pill.status-orange{background-color:#f3980f}.seam-components .seam-supported-devices-table .seam-status-pill.status-red{background-color:#e36857}.seam-components .seam-supported-devices-table .seam-status-pill.status-blue{background-color:#007afc}.seam-components .seam-supported-devices-table .seam-status-pill.status-gray{background-color:#cbd0d3}/*# sourceMappingURL=index.min.css.map */
package/index.min.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["src/styles/_main.scss","src/styles/_typography.scss","src/styles/_reset.scss","src/styles/_colors.scss","src/styles/_tables.scss","src/styles/_inputs.scss","src/styles/_buttons.scss","src/styles/_layout.scss","src/styles/_icons.scss","src/styles/_device-details.scss","src/styles/_device-table.scss","src/styles/_access-code-table.scss","src/styles/_access-code-details.scss"],"names":[],"mappings":"AAaA,iBCVE,2JCGA,wEAGE,sBAGF,ylCAmDE,SACA,UACA,SACA,eACA,oBACA,wBACA,kCACA,mCACA,sBAGF,oHAKE,cAGF,sBACE,cAGF,wCAEE,gBAGF,+CAEE,YAGF,4HAIE,WACA,aAGF,uBACE,yBACA,iBAGF,uBACE,gBACA,gBDtGF,wHAME,gBAKF,+BACE,METU,QFcZ,mCACE,MEPS,QFYX,sBACE,MEvBW,QCPb,oCACE,aACA,8BACA,mBACA,YACA,eAGF,mCACE,eACA,iBAEA,iDACE,eACA,iBAMJ,iCACE,aACA,YACA,YACA,6BAEA,uCACE,mBAGF,6CACE,gBACA,eACA,iBAMJ,kCACE,aACA,mBACA,YC1CF,kCACE,cACA,YACA,yBACA,kBC2GF,2BL/GA,2JKoHE,gBACA,eAjFF,0CACE,eACA,iBACA,kBACA,iBAGF,2CACE,eACA,iBACA,kBACA,iBAGF,0CACE,eACA,iBACA,kBACA,iBAKF,0CACE,WH7DM,QG8DN,WACA,yBAEA,gDACE,WH5DS,QG6DT,aH7DS,QGgEX,+GAEE,WHjEQ,QGkER,aHlEQ,QGsEZ,4CACE,MH9EM,QG+EN,yBACA,yBAEA,kDACE,WH9EM,QGiFR,mHAEE,yBACA,MHxFO,QG4FX,4CACE,MHrFU,QGsFV,yBAEA,kDACE,WHjFC,QGkFD,aHxFU,QG2FZ,mHAEE,MH7FU,QG8FV,aH7FQ,QG8FR,gBAcF,iFAEE,mBAxHJ,gCACE,kBACA,oCACA,eACA,gBACA,YACA,cAEA,sCACE,+BAMJ,gCACE,MHlBM,QGmBN,UACA,eACA,yBACA,SAEA,sCACE,0BAGF,2FAEE,mBACA,qBC9BJ,sCACE,YACA,aACA,mBACA,kBACA,uBACA,cAEA,sDACE,kBACA,QACA,+BACA,OACA,eAGF,kDACE,eACA,iBACA,MJXQ,QKPV,mCACE,KLMQ,QMPV,iDACE,aACA,sBACA,SACA,mBAEA,2DACE,yBACA,kBAEA,yEACE,4BAEA,2FACE,2BACA,aACA,mBACA,8BACA,eAEA,iGACE,WNIE,yGMCJ,6BAGF,0FACE,aACA,8BAEA,sGACE,aACA,mBAIJ,qFACE,eACA,iBACA,MNnCE,QMsCJ,qFACE,cACA,gBACA,eACA,iBAKN,+DACE,kBACA,mBACA,WN1CD,QM4CC,6EACE,aACA,mBACA,SAEA,yFACE,YACA,aACA,aACA,mBAEA,6FACE,eAKF,oGACE,MNtEA,QMuEA,gBACA,eACA,iBACA,kBAGF,0GACE,mBACA,gBACA,eACA,iBAGF,yGACE,aACA,sCACA,mBACA,eACA,iBACA,YACA,gBAEA,qHACE,MN7FF,QMgGA,2HACE,MNlGF,QMqGA,6GACE,UACA,iBAGF,2GACE,aACA,mBAOV,iEACE,OACA,gBACA,aACA,mBACA,uBAEA,qEACE,WACA,YACA,aACA,mBACA,uBAIJ,iEACE,OAGF,mEACE,kBACA,aACA,mBACA,uBClJJ,oDACE,eAEA,qEACE,WACA,YACA,YAEA,yEACE,WAIJ,oEACE,OACA,sBACA,uBACA,uBACA,QAEA,iFACE,aACA,8BACA,mBACA,WAEA,oGACE,gBACA,eACA,iBACA,MPvBE,QOwBF,eACA,mBACA,gBACA,uBAGF,uGACE,aACA,mBACA,MPjCE,QOkCF,eACA,iBAEA,2GACE,aACA,mBACA,kBAEA,+GACE,UClDZ,yDACE,eAEA,yEACE,OACA,aACA,mBACA,uBAEA,6EACE,WACA,YACA,aACA,mBACA,uBAIJ,yEACE,OACA,sBACA,uBACA,uBACA,QAEA,4FACE,eACA,iBACA,MRrBI,QQuBJ,8GACE,aACA,MRtBE,QQ2BR,2EACE,kBACA,aACA,mBACA,uBCzCJ,yDACE,WTcC,QSbD,mBACA,mBAEA,mEACE,kBAEA,+EACE,gBACA,eACA,iBACA,MTLI,QSMJ,kBAGF,0FACE,gBACA,eACA,iBACA,kBAGF,8EACE,gBACA,yBACA,kBACA,kBACA,gBACA,eACA,iBACA,kBAGF,kFACE,MT5BI,QS6BJ,eACA,iBAEA,8FACE,gBACA,MTnCG,QSwCT,kFACE,6BACA,yBACA,aACA,mBAEA,qGACE,WACA,YACA,kBAEA,yGACE,WACA,gBAIJ,6FACE,OACA,gBACA,eACA,iBACA,iBAKN,yDACE,eACA,iBACA,wCACA,eAEA,mEACE,aACA,aACA,qCAEA,iFACE,YAGF,iFACE,aACA,OAEA,6FACE,aACA,OACA,eACA,iBAEA,yGACE,MT3FA,QS+FA,qGACE,kBAGF,6GACE","file":"index.min.css"}
1
+ {"version":3,"sourceRoot":"","sources":["src/styles/_main.scss","src/styles/_typography.scss","src/styles/_reset.scss","src/styles/_colors.scss","src/styles/_tables.scss","src/styles/_inputs.scss","src/styles/_buttons.scss","src/styles/_layout.scss","src/styles/_icons.scss","src/styles/_menus.scss","src/styles/_device-details.scss","src/styles/_device-table.scss","src/styles/_access-code-table.scss","src/styles/_access-code-details.scss","src/styles/_supported-devices.scss"],"names":[],"mappings":"AAeA,iBCZE,2JCGA,wEAGE,sBAGF,ylCAmDE,SACA,UACA,SACA,eACA,oBACA,wBACA,kCACA,mCACA,sBAGF,oHAKE,cAGF,sBACE,cAGF,wCAEE,gBAGF,+CAEE,YAGF,4HAIE,WACA,aAGF,uBACE,yBACA,iBAGF,uBACE,gBACA,gBDtGF,wHAME,gBAKF,+BACE,METU,QFcZ,mCACE,MEPS,QFYX,sBACE,MEvBW,QCPb,oCACE,aACA,8BACA,mBACA,YACA,eAGF,mCACE,eACA,iBAEA,iDACE,eACA,iBAMJ,iCACE,aACA,YACA,YACA,6BAEA,uCACE,mBAGF,6CACE,gBACA,eACA,iBAMJ,kCACE,aACA,mBACA,YC1CF,kCACE,cACA,YACA,yBACA,kBC2GF,2BL/GA,2JKoHE,gBACA,eAjFF,0CACE,eACA,iBACA,kBACA,iBAGF,2CACE,eACA,iBACA,kBACA,iBAGF,0CACE,eACA,iBACA,kBACA,iBAKF,0CACE,WH7DM,QG8DN,WACA,yBAEA,gDACE,WH5DS,QG6DT,aH7DS,QGgEX,+GAEE,WHjEQ,QGkER,aHlEQ,QGsEZ,4CACE,MH9EM,QG+EN,yBACA,yBAEA,kDACE,WH9EM,QGiFR,mHAEE,yBACA,MHxFO,QG4FX,4CACE,MHrFU,QGsFV,yBAEA,kDACE,WHjFC,QGkFD,aHxFU,QG2FZ,mHAEE,MH7FU,QG8FV,aH7FQ,QG8FR,gBAcF,iFAEE,mBAxHJ,gCACE,kBACA,oCACA,eACA,gBACA,YACA,cAEA,sCACE,+BAMJ,gCACE,MHlBM,QGmBN,UACA,eACA,yBACA,SAEA,sCACE,0BAGF,2FAEE,mBACA,qBC9BJ,sCACE,YACA,aACA,mBACA,kBACA,uBACA,cAEA,sDACE,kBACA,QACA,+BACA,OACA,eAGF,kDACE,eACA,iBACA,MJXQ,QKPV,mCACE,KLMQ,QMRZ,+BACE,YACA,aACA,uBACA,mBACA,eACA,QACA,eACA,aAGF,oCACE,YACA,kBACA,cACA,gBACA,oEACA,kBAEA,oDACE,eACA,YACA,aACA,mBACA,eACA,iBACA,eAEA,0DACE,WNHQ,QMQd,mCACE,WACA,UACA,kBACA,MACA,QACA,eCvCA,iDACE,aACA,sBACA,SACA,mBAEA,2DACE,yBACA,kBAEA,yEACE,4BAEA,2FACE,2BACA,aACA,mBACA,8BACA,eAEA,iGACE,WPIE,yGOCJ,6BAGF,0FACE,aACA,8BAEA,sGACE,aACA,mBAIJ,qFACE,eACA,iBACA,MPnCE,QOsCJ,qFACE,cACA,gBACA,eACA,iBAKN,+DACE,kBACA,mBACA,WP1CD,QO4CC,6EACE,aACA,mBACA,SAEA,yFACE,YACA,aACA,aACA,mBAEA,6FACE,eAKF,oGACE,MPtEA,QOuEA,gBACA,eACA,iBACA,kBAGF,0GACE,mBACA,gBACA,eACA,iBAGF,yGACE,aACA,sCACA,mBACA,eACA,iBACA,YACA,gBAEA,qHACE,MP7FF,QOgGA,2HACE,MPlGF,QOqGA,6GACE,UACA,iBAGF,2GACE,aACA,mBAOV,iEACE,OACA,gBACA,aACA,mBACA,uBAEA,qEACE,WACA,YACA,aACA,mBACA,uBAIJ,iEACE,OAGF,mEACE,kBACA,aACA,mBACA,uBClJJ,oDACE,eAEA,qEACE,WACA,YACA,YAEA,yEACE,WAIJ,oEACE,OACA,sBACA,uBACA,uBACA,QAEA,iFACE,aACA,8BACA,mBACA,WAEA,oGACE,gBACA,eACA,iBACA,MRvBE,QQwBF,eACA,mBACA,gBACA,uBAGF,uGACE,aACA,mBACA,MRjCE,QQkCF,eACA,iBAEA,2GACE,aACA,mBACA,kBAEA,+GACE,UClDZ,yDACE,eAEA,yEACE,OACA,aACA,mBACA,uBAEA,6EACE,WACA,YACA,aACA,mBACA,uBAIJ,yEACE,OACA,sBACA,uBACA,uBACA,QAEA,4FACE,eACA,iBACA,MTrBI,QSuBJ,8GACE,aACA,MTtBE,QS2BR,2EACE,kBACA,aACA,mBACA,uBAMJ,qEACE,aACA,mBACA,8BACA,OCnDF,yDACE,WVcC,QUbD,mBACA,mBAEA,mEACE,kBAEA,+EACE,gBACA,eACA,iBACA,MVLI,QUMJ,kBAGF,0FACE,gBACA,eACA,iBACA,kBAGF,8EACE,gBACA,yBACA,kBACA,kBACA,gBACA,eACA,iBACA,kBAGF,kFACE,MV5BI,QU6BJ,eACA,iBAEA,8FACE,gBACA,MVnCG,QUwCT,kFACE,6BACA,yBACA,aACA,mBAEA,qGACE,WACA,YACA,kBAEA,yGACE,WACA,gBAIJ,6FACE,OACA,gBACA,eACA,iBACA,iBAKN,yDACE,eACA,iBACA,wCACA,eAEA,mEACE,aACA,aACA,qCAEA,iFACE,YAGF,iFACE,aACA,OAEA,6FACE,aACA,OACA,eACA,iBAEA,yGACE,MV3FA,QU+FA,qGACE,kBAGF,6GACE,eC3Gd,2DACE,WACA,iBXYG,QWXH,iBACA,aACA,uBACA,mBACA,sBACA,QAGF,+CACE,WACA,gBACA,kBACA,yBAEA,oGAEE,mBACA,cAGF,qDACE,WACA,YACA,WXZC,QWaD,gBAEA,wDACE,kBAGF,wDACE,sBACA,gBACA,eACA,gBAKF,wDACE,YACA,gCAGF,wDACE,sBAMF,sIAEE,aA3DM,IA8DR,oIAEE,cAhEM,IAoEV,iEACE,oBACA,gBACA,mBACA,iBXpDS,QWsDT,sEACE,WACA,eACA,gBACA,cAGF,8EACE,iBX9DO,QWiET,+EACE,iBXnEQ,QWsEV,4EACE,iBXxEK,QW2EP,6EACE,iBX9FE,QWiGJ,6EACE,iBXpFD","file":"index.min.css"}
package/lib/copy.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function copy(value: string): Promise<void>;
package/lib/copy.js ADDED
@@ -0,0 +1,4 @@
1
+ export async function copy(value) {
2
+ await window.navigator.clipboard.writeText(value);
3
+ }
4
+ //# sourceMappingURL=copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../src/lib/copy.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,KAAa;IACtC,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AACnD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { SVGProps } from 'react';
2
+ export declare const CopyIcon: (props: SVGProps<SVGSVGElement>) => JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const CopyIcon = (props) => (_jsxs("svg", { xmlns: 'http://www.w3.org/2000/svg', width: 18, height: 18, fill: 'none', ...props, children: [_jsx("mask", { id: 'copy_svg__a', width: 18, height: 18, x: 0, y: 0, maskUnits: 'userSpaceOnUse', style: {
3
+ maskType: 'alpha',
4
+ }, children: _jsx("path", { fill: '#D9D9D9', d: 'M0 0h18v18H0z' }) }), _jsx("g", { mask: 'url(#copy_svg__a)', children: _jsx("path", { fill: '#007AFC', d: 'M3.75 16.5c-.413 0-.766-.147-1.06-.44A1.446 1.446 0 0 1 2.25 15V4.5h1.5V15H12v1.5H3.75Zm3-3c-.412 0-.766-.147-1.059-.44A1.445 1.445 0 0 1 5.25 12V3c0-.413.147-.766.441-1.06.293-.293.647-.44 1.059-.44h6.75c.412 0 .766.147 1.06.44.293.294.44.647.44 1.06v9c0 .412-.147.766-.44 1.06-.294.293-.648.44-1.06.44H6.75Zm0-1.5h6.75V3H6.75v9Z' }) })] }));
5
+ //# sourceMappingURL=Copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Copy.js","sourceRoot":"","sources":["../../src/lib/icons/Copy.tsx"],"names":[],"mappings":";AACA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAA8B,EAAe,EAAE,CAAC,CACvE,eACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,IAAI,EAAC,MAAM,KACP,KAAK,aAET,eACE,EAAE,EAAC,aAAa,EAChB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE;gBACL,QAAQ,EAAE,OAAO;aAClB,YAED,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,eAAe,GAAG,GACpC,EACP,YAAG,IAAI,EAAC,mBAAmB,YACzB,eACE,IAAI,EAAC,SAAS,EACd,CAAC,EAAC,4UAA4U,GAC9U,GACA,IACA,CACP,CAAA"}
@@ -1,10 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
+ import { copy } from '../../../lib/copy.js';
3
4
  import { AccessCodeKeyIcon } from '../../../lib/icons/AccessCodeKey.js';
5
+ import { CopyIcon } from '../../../lib/icons/Copy.js';
4
6
  import { useAccessCodes } from '../../../lib/seam/access-codes/use-access-codes.js';
5
7
  import { AccessCodeDetails } from '../../../lib/ui/AccessCodeDetails/AccessCodeDetails.js';
6
8
  import { CodeDetails } from '../../../lib/ui/AccessCodeTable/CodeDetails.js';
7
9
  import { ContentHeader } from '../../../lib/ui/layout/ContentHeader.js';
10
+ import { MenuItem } from '../../../lib/ui/Menu/MenuItem.js';
11
+ import { MoreActionsMenu } from '../../../lib/ui/Menu/MoreActionsMenu.js';
8
12
  import { TableBody } from '../../../lib/ui/Table/TableBody.js';
9
13
  import { TableCell } from '../../../lib/ui/Table/TableCell.js';
10
14
  import { TableHeader } from '../../../lib/ui/Table/TableHeader.js';
@@ -28,9 +32,16 @@ export function AccessCodeTable(props) {
28
32
  }
29
33
  return (_jsxs("div", { className: 'seam-access-code-table', children: [_jsx(ContentHeader, { onBack: onBack }), _jsx(TableHeader, { children: _jsxs(TableTitle, { children: [t.accessCodes, " ", _jsxs(Caption, { children: ["(", accessCodes.length, ")"] })] }) }), _jsx(TableBody, { children: accessCodes.map((code) => (_jsxs(TableRow, { onClick: () => {
30
34
  selectAccessCode(code);
31
- }, children: [_jsx(TableCell, { className: 'seam-icon-cell', children: _jsx("div", { children: _jsx(AccessCodeKeyIcon, {}) }) }), _jsxs(TableCell, { className: 'seam-name-cell', children: [_jsx(Title, { children: code.name }), _jsx(CodeDetails, { accessCode: code })] }), _jsx(TableCell, { className: 'seam-action-cell' })] }, code.access_code_id))) })] }));
35
+ }, children: [_jsx(TableCell, { className: 'seam-icon-cell', children: _jsx("div", { children: _jsx(AccessCodeKeyIcon, {}) }) }), _jsxs(TableCell, { className: 'seam-name-cell', children: [_jsx(Title, { children: code.name }), _jsx(CodeDetails, { accessCode: code })] }), _jsx(TableCell, { className: 'seam-action-cell', children: _jsx(MoreActionsMenu, { MenuProps: {
36
+ BackgroundProps: {
37
+ className: 'seam-access-code-table-action-menu',
38
+ },
39
+ }, children: _jsx(MenuItem, { onClick: () => {
40
+ void copy(code.code ?? '');
41
+ }, children: _jsxs("div", { className: 'menu-item-copy', children: [_jsxs("span", { children: [t.copyCode, " - ", code.code] }), _jsx(CopyIcon, {})] }) }) }) })] }, code.access_code_id))) })] }));
32
42
  }
33
43
  const t = {
34
44
  accessCodes: 'Access Codes',
45
+ copyCode: 'Copy code',
35
46
  };
36
47
  //# sourceMappingURL=AccessCodeTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccessCodeTable.js","sourceRoot":"","sources":["../../../src/lib/ui/AccessCodeTable/AccessCodeTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAOlD,MAAM,UAAU,eAAe,CAC7B,KAA2B;IAE3B,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC;QACrC,SAAS,EAAE,KAAK,CAAC,QAAQ;KAC1B,CAAC,CAAA;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAExB,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CACrD,IAAI,CACL,CAAA;IAED,IAAI,kBAAkB,IAAI,IAAI,EAAE;QAC9B,OAAO,CACL,KAAC,iBAAiB,IAChB,YAAY,EAAE,kBAAkB,CAAC,cAAc,EAC/C,MAAM,EAAE,GAAG,EAAE;gBACX,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACxB,CAAC,GACD,CACH,CAAA;KACF;IAED,IAAI,WAAW,IAAI,IAAI,EAAE;QACvB,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,aAAa,IAAC,MAAM,EAAE,MAAM,GAAI,EACjC,KAAC,WAAW,cACV,MAAC,UAAU,eACR,CAAC,CAAC,WAAW,OAAE,MAAC,OAAO,oBAAG,WAAW,CAAC,MAAM,SAAY,IAC9C,GACD,EACd,KAAC,SAAS,cACP,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACzB,MAAC,QAAQ,IAEP,OAAO,EAAE,GAAG,EAAE;wBACZ,gBAAgB,CAAC,IAAI,CAAC,CAAA;oBACxB,CAAC,aAED,KAAC,SAAS,IAAC,SAAS,EAAC,gBAAgB,YACnC,wBACE,KAAC,iBAAiB,KAAG,GACjB,GACI,EACZ,MAAC,SAAS,IAAC,SAAS,EAAC,gBAAgB,aACnC,KAAC,KAAK,cAAE,IAAI,CAAC,IAAI,GAAS,EAC1B,KAAC,WAAW,IAAC,UAAU,EAAE,IAAI,GAAI,IACvB,EACZ,KAAC,SAAS,IAAC,SAAS,EAAC,kBAAkB,GAAG,KAdrC,IAAI,CAAC,cAAc,CAef,CACZ,CAAC,GACQ,IACR,CACP,CAAA;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,WAAW,EAAE,cAAc;CAC5B,CAAA"}
1
+ {"version":3,"file":"AccessCodeTable.js","sourceRoot":"","sources":["../../../src/lib/ui/AccessCodeTable/AccessCodeTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ export interface MenuProps {
3
+ children: JSX.Element | JSX.Element[];
4
+ verticalOffset?: number;
5
+ horizontalOffset?: number;
6
+ edgeOffset?: number;
7
+ button: (props: {
8
+ open: (event: React.MouseEvent<HTMLElement>) => void;
9
+ }) => React.ReactElement;
10
+ BackgroundProps?: Partial<{
11
+ className?: string;
12
+ }>;
13
+ }
14
+ interface MenuContextProps {
15
+ close: () => void;
16
+ }
17
+ declare const Menu: ({ verticalOffset, horizontalOffset, edgeOffset, children, button, BackgroundProps, }: MenuProps) => import("react/jsx-runtime").JSX.Element | null;
18
+ export declare function useMenu(): MenuContextProps;
19
+ export default Menu;
@@ -0,0 +1,93 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { createContext, useCallback, useContext, useEffect, useLayoutEffect, useState, } from 'react';
4
+ import { createPortal } from 'react-dom';
5
+ const MenuContext = createContext(undefined);
6
+ const Menu = ({ verticalOffset = 5, horizontalOffset = 0, edgeOffset = 5, children, button, BackgroundProps, }) => {
7
+ const [anchorEl, setAnchorEl] = useState(null);
8
+ const [documentEl, setDocumentEl] = useState(null);
9
+ const [contentEl, setContentEl] = useState(null);
10
+ const [top, setTop] = useState(0);
11
+ const [left, setLeft] = useState(0);
12
+ useEffect(() => {
13
+ const containers = document.querySelectorAll('.seam-components');
14
+ const el = containers[containers.length - 1];
15
+ if (el != null) {
16
+ setDocumentEl(el);
17
+ }
18
+ }, [setDocumentEl]);
19
+ const handleClose = () => {
20
+ setAnchorEl(null);
21
+ };
22
+ const open = (event) => {
23
+ setAnchorEl(event.currentTarget);
24
+ };
25
+ const setPositions = useCallback(() => {
26
+ if (anchorEl == null || contentEl == null || documentEl == null)
27
+ return;
28
+ const { right: containerRight, bottom: containerBottom } = documentEl.getBoundingClientRect();
29
+ const { top: anchorTop, left: anchorLeft, height: anchorHeight, } = anchorEl.getBoundingClientRect();
30
+ const { width: contentWidth, height: contentHeight } = contentEl.getBoundingClientRect();
31
+ const anchorBottom = anchorTop + anchorHeight;
32
+ const top = anchorBottom + verticalOffset;
33
+ const left = anchorLeft + horizontalOffset;
34
+ const right = left + contentWidth;
35
+ const bottom = top + contentHeight;
36
+ // If the content would overflow right, we'll need to set it relative
37
+ // to the right of the container.
38
+ const isOverflowingRight = right > containerRight;
39
+ const visibleLeft = isOverflowingRight
40
+ ? containerRight - contentWidth - horizontalOffset - edgeOffset
41
+ : left;
42
+ setLeft(visibleLeft);
43
+ // If the content would overflow bottom, we'll position it to be
44
+ // above the anchor.
45
+ const isOverFlowingBottom = bottom > containerBottom;
46
+ const visibleTop = isOverFlowingBottom
47
+ ? anchorTop - contentHeight - verticalOffset
48
+ : top;
49
+ setTop(visibleTop);
50
+ }, [
51
+ anchorEl,
52
+ horizontalOffset,
53
+ verticalOffset,
54
+ contentEl,
55
+ documentEl,
56
+ edgeOffset,
57
+ ]);
58
+ const isOpen = Boolean(anchorEl);
59
+ useLayoutEffect(() => {
60
+ setPositions();
61
+ window.addEventListener('scroll', setPositions);
62
+ window.addEventListener('resize', setPositions);
63
+ return () => {
64
+ window.removeEventListener('scroll', setPositions);
65
+ window.removeEventListener('resize', setPositions);
66
+ };
67
+ }, [setPositions]);
68
+ const hasSetPosition = top !== 0 && left !== 0;
69
+ const visible = isOpen && hasSetPosition;
70
+ if (documentEl == null) {
71
+ return null;
72
+ }
73
+ return (_jsxs(MenuContext.Provider, { value: {
74
+ close: handleClose,
75
+ }, children: [button({ open }), createPortal(_jsx("div", { className: classNames('seam-menu-bg', BackgroundProps?.className), style: {
76
+ display: visible ? 'flex' : 'none',
77
+ }, onClick: (e) => {
78
+ e.stopPropagation();
79
+ handleClose();
80
+ }, children: _jsx("div", { className: 'seam-menu-content', style: {
81
+ top,
82
+ left,
83
+ }, children: children }) }), documentEl), _jsx("div", { className: 'seam-menu-shadow', children: _jsx("div", { className: 'seam-menu-content', ref: setContentEl, children: children }) })] }));
84
+ };
85
+ export function useMenu() {
86
+ const context = useContext(MenuContext);
87
+ if (context === undefined) {
88
+ throw new Error('useMenu must be used within a Menu.');
89
+ }
90
+ return context;
91
+ }
92
+ export default Menu;
93
+ //# sourceMappingURL=Menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../src/lib/ui/Menu/Menu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface MenuItemProps {
3
+ children: ReactNode;
4
+ onClick: () => void;
5
+ }
6
+ export declare function MenuItem({ children, onClick }: MenuItemProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMenu } from '../../../lib/ui/Menu/Menu.js';
3
+ export function MenuItem({ children, onClick }) {
4
+ const { close: closeMenu } = useMenu();
5
+ return (_jsx("div", { className: 'seam-menu-item', onClick: () => {
6
+ onClick();
7
+ closeMenu();
8
+ }, children: children }));
9
+ }
10
+ //# sourceMappingURL=MenuItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../../src/lib/ui/Menu/MenuItem.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAO7C,MAAM,UAAU,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAiB;IAC3D,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAA;IAEtC,OAAO,CACL,cACE,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,EAAE,CAAA;YACT,SAAS,EAAE,CAAA;QACb,CAAC,YAEA,QAAQ,GACL,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type MenuProps } from '../../../lib/ui/Menu/Menu.js';
2
+ export interface MoreActionsMenuProps {
3
+ children: JSX.Element | JSX.Element[];
4
+ MenuProps?: Partial<MenuProps>;
5
+ }
6
+ export declare function MoreActionsMenu({ children, MenuProps }: MoreActionsMenuProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DotsEllipsisMoreIcon } from '../../../lib/icons/DotsEllipsisMore.js';
3
+ import { IconButton } from '../../../lib/ui/IconButton.js';
4
+ import Menu, {} from '../../../lib/ui/Menu/Menu.js';
5
+ export function MoreActionsMenu({ children, MenuProps }) {
6
+ return (_jsx(Menu, { button: ({ open }) => (_jsx(IconButton, { onClick: (e) => {
7
+ e.stopPropagation();
8
+ open(e);
9
+ }, children: _jsx(DotsEllipsisMoreIcon, {}) })), ...MenuProps, children: children }));
10
+ }
11
+ //# sourceMappingURL=MoreActionsMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoreActionsMenu.js","sourceRoot":"","sources":["../../../src/lib/ui/Menu/MoreActionsMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,IAAI,EAAE,EAAkB,MAAM,qBAAqB,CAAA;AAM1D,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAwB;IAC3E,OAAO,CACL,KAAC,IAAI,IACH,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpB,KAAC,UAAU,IACT,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACb,CAAC,CAAC,eAAe,EAAE,CAAA;gBACnB,IAAI,CAAC,CAAC,CAAC,CAAA;YACT,CAAC,YAED,KAAC,oBAAoB,KAAG,GACb,CACd,KACG,SAAS,YAEZ,QAAQ,GACJ,CACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { DeviceModel } from '../../../lib/ui/SupportedDevices/types.js';
2
+ export interface SupportedDeviceRowProps {
3
+ deviceModel: DeviceModel;
4
+ }
5
+ export default function SupportedDeviceRow({ deviceModel, }: SupportedDeviceRowProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ export default function SupportedDeviceRow({ deviceModel, }) {
4
+ function getColorFromSupportLevel() {
5
+ switch (deviceModel.support_level) {
6
+ case 'Live':
7
+ return 'green';
8
+ case 'Beta':
9
+ return 'blue';
10
+ case 'Unsupported':
11
+ return 'orange';
12
+ default:
13
+ return 'gray';
14
+ }
15
+ }
16
+ return (_jsxs("tr", { children: [_jsx("td", { children: _jsx("img", { style: { width: 40 }, src: deviceModel.icon_url }) }), _jsx("td", { children: deviceModel.main_category }), _jsx("td", { children: deviceModel.model_name }), _jsx("td", { children: deviceModel.manufacturer_model_id }), _jsx("td", { children: deviceModel.connection_type }), _jsx("td", { children: _jsx("div", { className: classNames('seam-status-pill', `status-${getColorFromSupportLevel()}`), children: _jsx("span", { children: deviceModel.support_level }) }) })] }));
17
+ }
18
+ //# sourceMappingURL=SupportedDeviceRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupportedDeviceRow.js","sourceRoot":"","sources":["../../../src/lib/ui/SupportedDevices/SupportedDeviceRow.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AAQnC,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,WAAW,GACa;IACxB,SAAS,wBAAwB;QAC/B,QAAQ,WAAW,CAAC,aAAa,EAAE;YACjC,KAAK,MAAM;gBACT,OAAO,OAAO,CAAA;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAA;YACf,KAAK,aAAa;gBAChB,OAAO,QAAQ,CAAA;YACjB;gBACE,OAAO,MAAM,CAAA;SAChB;IACH,CAAC;IAED,OAAO,CACL,yBACE,uBACE,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,GAAI,GACrD,EACL,uBAAK,WAAW,CAAC,aAAa,GAAM,EACpC,uBAAK,WAAW,CAAC,UAAU,GAAM,EACjC,uBAAK,WAAW,CAAC,qBAAqB,GAAM,EAC5C,uBAAK,WAAW,CAAC,eAAe,GAAM,EACtC,uBACE,cACE,SAAS,EAAE,UAAU,CACnB,kBAAkB,EAClB,UAAU,wBAAwB,EAAE,EAAE,CACvC,YAED,yBAAO,WAAW,CAAC,aAAa,GAAQ,GACpC,GACH,IACF,CACN,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export default function SupportedDevices(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useQuery } from '@tanstack/react-query';
3
+ import axios from 'axios';
4
+ import { Button } from '../../../lib/ui/Button.js';
5
+ import SupportedDeviceRow from './SupportedDeviceRow.js';
6
+ import SupportedDevicesHeader from './SupportedDevicesHeader.js';
7
+ export default function SupportedDevices() {
8
+ const { data, isLoading, isError, refetch } = useQuery({
9
+ queryKey: ['supported_devices'],
10
+ queryFn: async () => {
11
+ return await axios.get('https://devicedb.seam.co/api/device_models/list');
12
+ },
13
+ });
14
+ return (_jsx(_Fragment, { children: _jsxs("div", { className: 'seam-supported-devices-table-wrap', children: [isLoading && (_jsx("div", { className: 'seam-supported-devices-table-state-block', children: _jsx("p", { children: "Loading device models..." }) })), isError && (_jsxs("div", { className: 'seam-supported-devices-table-state-block', children: [_jsx("p", { children: "There was an error fetching device models." }), _jsx(Button, { variant: 'solid', size: 'small', onClick: () => {
15
+ void refetch();
16
+ }, children: "Retry" })] })), !isLoading &&
17
+ !isError &&
18
+ data?.data?.device_models !== null &&
19
+ Array.isArray(data?.data?.device_models) && (_jsxs("table", { className: 'seam-supported-devices-table', children: [_jsx(SupportedDevicesHeader, {}), _jsx("tbody", { children: data.data.device_models.map((deviceModel) => (_jsx(SupportedDeviceRow, { deviceModel: deviceModel }, deviceModel.manufacturer_model_id))) })] }))] }) }));
20
+ }
21
+ //# sourceMappingURL=SupportedDevices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupportedDevices.js","sourceRoot":"","sources":["../../../src/lib/ui/SupportedDevices/SupportedDevices.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAGzC,OAAO,kBAAkB,MAAM,yBAAyB,CAAA;AACxD,OAAO,sBAAsB,MAAM,6BAA6B,CAAA;AAEhE,MAAM,CAAC,OAAO,UAAU,gBAAgB;IACtC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAInD;QACD,QAAQ,EAAE,CAAC,mBAAmB,CAAC;QAC/B,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;QAC3E,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,CACL,4BACE,eAAK,SAAS,EAAC,mCAAmC,aAC/C,SAAS,IAAI,CACZ,cAAK,SAAS,EAAC,0CAA0C,YACvD,mDAA+B,GAC3B,CACP,EAEA,OAAO,IAAI,CACV,eAAK,SAAS,EAAC,0CAA0C,aACvD,qEAAiD,EACjD,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,GAAG,EAAE;gCACZ,KAAK,OAAO,EAAE,CAAA;4BAChB,CAAC,sBAGM,IACL,CACP,EAEA,CAAC,SAAS;oBACT,CAAC,OAAO;oBACR,IAAI,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI;oBAClC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAC1C,iBAAO,SAAS,EAAC,8BAA8B,aAC7C,KAAC,sBAAsB,KAAG,EAC1B,0BACG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAC5C,KAAC,kBAAkB,IAEjB,WAAW,EAAE,WAAW,IADnB,WAAW,CAAC,qBAAqB,CAEtC,CACH,CAAC,GACI,IACF,CACT,IACC,GACL,CACJ,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export default function SupportedDevicesHeader(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export default function SupportedDevicesHeader() {
3
+ return (_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", {}), _jsx("th", { children: "Category" }), _jsx("th", { children: "Model Name" }), _jsx("th", { children: "Manufacturer Model ID" }), _jsx("th", { children: "Connection Type" }), _jsx("th", { children: "Status" })] }) }));
4
+ }
5
+ //# sourceMappingURL=SupportedDevicesHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupportedDevicesHeader.js","sourceRoot":"","sources":["../../../src/lib/ui/SupportedDevices/SupportedDevicesHeader.tsx"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,UAAU,sBAAsB;IAC5C,OAAO,CACL,0BACE,yBACE,cAAM,EACN,oCAAiB,EACjB,sCAAmB,EACnB,iDAA8B,EAC9B,2CAAwB,EACxB,kCAAe,IACZ,GACC,CACT,CAAA;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface DeviceModel {
2
+ main_category: string;
3
+ model_name: string;
4
+ manufacturer_model_id: string;
5
+ connection_type: string;
6
+ support_level: 'Live' | 'Beta' | 'Unsupported';
7
+ brand: string;
8
+ icon_url: string;
9
+ seam_device_model_page_url: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/ui/SupportedDevices/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/react",
3
- "version": "0.22.0",
3
+ "version": "0.22.2",
4
4
  "description": "Seam React component library.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -104,7 +104,7 @@
104
104
  "@emotion/styled": "^11.10.6",
105
105
  "@mui/icons-material": "^5.11.16",
106
106
  "@mui/material": "^5.12.2",
107
- "@seamapi/fake-seam-connect": "^0.4.1",
107
+ "@seamapi/fake-seam-connect": "^0.4.2",
108
108
  "@storybook/addon-essentials": "^7.0.2",
109
109
  "@storybook/addon-interactions": "^7.0.2",
110
110
  "@storybook/addon-links": "^7.0.2",