@seamapi/react 1.6.0 → 1.8.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 (212) hide show
  1. package/README.md +18 -5
  2. package/dist/elements.js +25043 -0
  3. package/dist/elements.js.map +1 -0
  4. package/hooks.d.ts +1 -0
  5. package/hooks.js +2 -0
  6. package/hooks.js.map +1 -0
  7. package/index.css +6 -0
  8. package/index.css.map +1 -1
  9. package/index.min.css +1 -1
  10. package/index.min.css.map +1 -1
  11. package/lib/{sort-by.d.ts → dates.d.ts} +1 -1
  12. package/lib/{sort-by.js → dates.js} +2 -2
  13. package/lib/dates.js.map +1 -0
  14. package/lib/index.d.ts +2 -2
  15. package/lib/index.js +2 -2
  16. package/lib/index.js.map +1 -1
  17. package/lib/{SeamProvider.d.ts → seam/SeamProvider.d.ts} +9 -6
  18. package/lib/{SeamProvider.js → seam/SeamProvider.js} +29 -30
  19. package/lib/seam/SeamProvider.js.map +1 -0
  20. package/lib/seam/access-codes/use-access-codes.js +2 -2
  21. package/lib/seam/access-codes/use-access-codes.js.map +1 -1
  22. package/lib/{ui → seam/components}/AccessCodeDetails/AccessCodeDetails.d.ts +2 -1
  23. package/lib/{ui → seam/components}/AccessCodeDetails/AccessCodeDetails.js +9 -8
  24. package/lib/seam/components/AccessCodeDetails/AccessCodeDetails.js.map +1 -0
  25. package/lib/{ui → seam/components}/AccessCodeDetails/AccessCodeDevice.js +7 -7
  26. package/lib/seam/components/AccessCodeDetails/AccessCodeDevice.js.map +1 -0
  27. package/lib/seam/components/AccessCodeTable/AccessCodeTable.d.ts +7 -0
  28. package/lib/seam/components/AccessCodeTable/AccessCodeTable.js +77 -0
  29. package/lib/seam/components/AccessCodeTable/AccessCodeTable.js.map +1 -0
  30. package/lib/{ui → seam/components}/AccessCodeTable/CodeDetails.js +3 -3
  31. package/lib/seam/components/AccessCodeTable/CodeDetails.js.map +1 -0
  32. package/lib/seam/components/DeviceDetails/DeviceDetails.d.ts +7 -0
  33. package/lib/seam/components/DeviceDetails/DeviceDetails.js +80 -0
  34. package/lib/seam/components/DeviceDetails/DeviceDetails.js.map +1 -0
  35. package/lib/seam/components/DeviceDetails/DeviceModel.js.map +1 -0
  36. package/lib/{ui → seam/components}/DeviceTable/DeviceHealthBar.d.ts +3 -2
  37. package/lib/{ui → seam/components}/DeviceTable/DeviceHealthBar.js +4 -4
  38. package/lib/seam/components/DeviceTable/DeviceHealthBar.js.map +1 -0
  39. package/lib/{ui → seam/components}/DeviceTable/DeviceRow.d.ts +1 -1
  40. package/lib/{ui → seam/components}/DeviceTable/DeviceRow.js +9 -9
  41. package/lib/seam/components/DeviceTable/DeviceRow.js.map +1 -0
  42. package/lib/seam/components/DeviceTable/DeviceTable.d.ts +9 -0
  43. package/lib/seam/components/DeviceTable/DeviceTable.js +66 -0
  44. package/lib/seam/components/DeviceTable/DeviceTable.js.map +1 -0
  45. package/lib/seam/components/SupportedDeviceTable/FilterCategoryMenu.d.ts +20 -0
  46. package/lib/{ui → seam/components}/SupportedDeviceTable/FilterCategoryMenu.js +8 -5
  47. package/lib/seam/components/SupportedDeviceTable/FilterCategoryMenu.js.map +1 -0
  48. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.d.ts +9 -0
  49. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.js +39 -0
  50. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.js.map +1 -0
  51. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterArea.d.ts +9 -0
  52. package/lib/{ui → seam/components}/SupportedDeviceTable/SupportedDeviceFilterArea.js +33 -28
  53. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceFilterArea.js.map +1 -0
  54. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceHeader.d.ts +2 -0
  55. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceHeader.js +12 -0
  56. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceHeader.js.map +1 -0
  57. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.d.ts +6 -0
  58. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.js +19 -0
  59. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.js.map +1 -0
  60. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceTable.d.ts +6 -0
  61. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceTable.js +17 -0
  62. package/lib/seam/components/SupportedDeviceTable/SupportedDeviceTable.js.map +1 -0
  63. package/lib/seam/components/SupportedDeviceTable/use-filtered-device-models.d.ts +7 -0
  64. package/lib/seam/components/SupportedDeviceTable/use-filtered-device-models.js +18 -0
  65. package/lib/seam/components/SupportedDeviceTable/use-filtered-device-models.js.map +1 -0
  66. package/lib/seam/components/index.js.map +1 -0
  67. package/lib/seam/device-models/use-device-models.d.ts +5 -0
  68. package/lib/seam/device-models/use-device-models.js +17 -0
  69. package/lib/seam/device-models/use-device-models.js.map +1 -0
  70. package/lib/seam/devices/use-devices.js +3 -3
  71. package/lib/seam/devices/use-devices.js.map +1 -1
  72. package/lib/seam/devices/use-toggle-lock.js +1 -1
  73. package/lib/seam/devices/use-toggle-lock.js.map +1 -1
  74. package/lib/seam/index.d.ts +1 -0
  75. package/lib/seam/index.js +1 -0
  76. package/lib/seam/index.js.map +1 -1
  77. package/lib/seam/use-seam-client.js +1 -1
  78. package/lib/seam/use-seam-client.js.map +1 -1
  79. package/lib/seam/use-seam-font.d.ts +1 -1
  80. package/lib/seam/use-seam-font.js +1 -1
  81. package/lib/seam/use-seam-font.js.map +1 -1
  82. package/lib/seam/use-seam-styles.js.map +1 -1
  83. package/lib/{capitalize.js → strings.js} +1 -1
  84. package/lib/strings.js.map +1 -0
  85. package/lib/ui/Menu/Menu.d.ts +1 -1
  86. package/lib/ui/Menu/Menu.js.map +1 -1
  87. package/lib/ui/Menu/MenuItem.d.ts +1 -1
  88. package/lib/ui/Menu/MoreActionsMenu.d.ts +1 -1
  89. package/lib/ui/Table/TableFilterBar/TableFilterBar.d.ts +2 -1
  90. package/lib/ui/Table/TableFilterBar/TableFilterItem.d.ts +2 -1
  91. package/lib/ui/TextField/SearchTextField.js.map +1 -1
  92. package/lib/{copy-to-clipboard.js → ui/clipboard.js} +1 -1
  93. package/lib/ui/clipboard.js.map +1 -0
  94. package/lib/ui/use-interval.js.map +1 -0
  95. package/lib/{use-is-date-in-past.js → ui/use-is-date-in-past.js} +1 -1
  96. package/lib/ui/use-is-date-in-past.js.map +1 -0
  97. package/lib/ui/use-toggle.js.map +1 -0
  98. package/lib/version.d.ts +2 -2
  99. package/lib/version.js +3 -1
  100. package/lib/version.js.map +1 -1
  101. package/package.json +21 -8
  102. package/src/elements.ts +27 -0
  103. package/src/hooks.ts +1 -0
  104. package/src/lib/{sort-by.ts → dates.ts} +1 -1
  105. package/src/lib/element.tsx +86 -0
  106. package/src/lib/index.ts +2 -2
  107. package/src/lib/{SeamProvider.tsx → seam/SeamProvider.tsx} +53 -46
  108. package/src/lib/seam/access-codes/use-access-codes.ts +2 -2
  109. package/src/lib/seam/components/AccessCodeDetails/AccessCodeDetails.element.ts +12 -0
  110. package/src/lib/{ui → seam/components}/AccessCodeDetails/AccessCodeDetails.tsx +9 -6
  111. package/src/lib/{ui → seam/components}/AccessCodeDetails/AccessCodeDevice.tsx +2 -2
  112. package/src/lib/seam/components/AccessCodeTable/AccessCodeTable.element.ts +12 -0
  113. package/src/lib/{ui → seam/components}/AccessCodeTable/AccessCodeTable.tsx +30 -11
  114. package/src/lib/{ui → seam/components}/AccessCodeTable/CodeDetails.tsx +2 -3
  115. package/src/lib/seam/components/DeviceDetails/DeviceDetails.element.ts +12 -0
  116. package/src/lib/{ui → seam/components}/DeviceDetails/DeviceDetails.tsx +22 -12
  117. package/src/lib/{ui → seam/components}/DeviceTable/DeviceHealthBar.tsx +1 -1
  118. package/src/lib/{ui → seam/components}/DeviceTable/DeviceRow.tsx +1 -1
  119. package/src/lib/seam/components/DeviceTable/DeviceTable.element.ts +11 -0
  120. package/src/lib/{ui → seam/components}/DeviceTable/DeviceTable.tsx +15 -12
  121. package/src/lib/{ui → seam/components}/SupportedDeviceTable/FilterCategoryMenu.tsx +26 -13
  122. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.tsx +120 -0
  123. package/src/lib/{ui → seam/components}/SupportedDeviceTable/SupportedDeviceFilterArea.tsx +43 -39
  124. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceHeader.tsx +22 -0
  125. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.tsx +48 -0
  126. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceTable.element.ts +11 -0
  127. package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceTable.tsx +48 -0
  128. package/src/lib/seam/components/SupportedDeviceTable/use-filtered-device-models.ts +35 -0
  129. package/src/lib/seam/components/elements.ts +5 -0
  130. package/src/lib/seam/device-models/use-device-models.ts +34 -0
  131. package/src/lib/seam/devices/use-devices.ts +3 -3
  132. package/src/lib/seam/devices/use-toggle-lock.ts +1 -2
  133. package/src/lib/seam/index.ts +1 -0
  134. package/src/lib/seam/use-seam-client.ts +1 -1
  135. package/src/lib/seam/use-seam-font.ts +5 -1
  136. package/src/lib/seam/use-seam-styles.ts +1 -1
  137. package/src/lib/ui/Menu/Menu.tsx +4 -4
  138. package/src/lib/ui/Menu/MenuItem.tsx +1 -1
  139. package/src/lib/ui/Menu/MoreActionsMenu.tsx +1 -1
  140. package/src/lib/ui/Table/TableFilterBar/TableFilterBar.tsx +2 -2
  141. package/src/lib/ui/Table/TableFilterBar/TableFilterItem.tsx +1 -1
  142. package/src/lib/ui/TextField/SearchTextField.tsx +3 -3
  143. package/src/lib/ui/clipboard.ts +3 -0
  144. package/src/lib/{use-interval.ts → ui/use-interval.ts} +1 -1
  145. package/src/lib/{use-is-date-in-past.ts → ui/use-is-date-in-past.ts} +1 -1
  146. package/src/lib/version.ts +3 -1
  147. package/src/styles/_access-code-table.scss +7 -0
  148. package/lib/SeamProvider.js.map +0 -1
  149. package/lib/capitalize.js.map +0 -1
  150. package/lib/copy-to-clipboard.js.map +0 -1
  151. package/lib/sort-by.js.map +0 -1
  152. package/lib/ui/AccessCodeDetails/AccessCodeDetails.js.map +0 -1
  153. package/lib/ui/AccessCodeDetails/AccessCodeDevice.js.map +0 -1
  154. package/lib/ui/AccessCodeTable/AccessCodeTable.d.ts +0 -6
  155. package/lib/ui/AccessCodeTable/AccessCodeTable.js +0 -69
  156. package/lib/ui/AccessCodeTable/AccessCodeTable.js.map +0 -1
  157. package/lib/ui/AccessCodeTable/CodeDetails.js.map +0 -1
  158. package/lib/ui/DeviceDetails/DeviceDetails.d.ts +0 -6
  159. package/lib/ui/DeviceDetails/DeviceDetails.js +0 -80
  160. package/lib/ui/DeviceDetails/DeviceDetails.js.map +0 -1
  161. package/lib/ui/DeviceDetails/DeviceModel.js.map +0 -1
  162. package/lib/ui/DeviceTable/DeviceHealthBar.js.map +0 -1
  163. package/lib/ui/DeviceTable/DeviceRow.js.map +0 -1
  164. package/lib/ui/DeviceTable/DeviceTable.d.ts +0 -8
  165. package/lib/ui/DeviceTable/DeviceTable.js +0 -65
  166. package/lib/ui/DeviceTable/DeviceTable.js.map +0 -1
  167. package/lib/ui/SupportedDeviceTable/FilterCategoryMenu.d.ts +0 -15
  168. package/lib/ui/SupportedDeviceTable/FilterCategoryMenu.js.map +0 -1
  169. package/lib/ui/SupportedDeviceTable/SupportedDeviceContent.d.ts +0 -4
  170. package/lib/ui/SupportedDeviceTable/SupportedDeviceContent.js +0 -46
  171. package/lib/ui/SupportedDeviceTable/SupportedDeviceContent.js.map +0 -1
  172. package/lib/ui/SupportedDeviceTable/SupportedDeviceFilterArea.d.ts +0 -11
  173. package/lib/ui/SupportedDeviceTable/SupportedDeviceFilterArea.js.map +0 -1
  174. package/lib/ui/SupportedDeviceTable/SupportedDeviceHeader.d.ts +0 -1
  175. package/lib/ui/SupportedDeviceTable/SupportedDeviceHeader.js +0 -5
  176. package/lib/ui/SupportedDeviceTable/SupportedDeviceHeader.js.map +0 -1
  177. package/lib/ui/SupportedDeviceTable/SupportedDeviceRow.d.ts +0 -5
  178. package/lib/ui/SupportedDeviceTable/SupportedDeviceRow.js +0 -12
  179. package/lib/ui/SupportedDeviceTable/SupportedDeviceRow.js.map +0 -1
  180. package/lib/ui/SupportedDeviceTable/SupportedDeviceTable.d.ts +0 -3
  181. package/lib/ui/SupportedDeviceTable/SupportedDeviceTable.js +0 -8
  182. package/lib/ui/SupportedDeviceTable/SupportedDeviceTable.js.map +0 -1
  183. package/lib/ui/SupportedDeviceTable/types.d.ts +0 -15
  184. package/lib/ui/SupportedDeviceTable/types.js +0 -2
  185. package/lib/ui/SupportedDeviceTable/types.js.map +0 -1
  186. package/lib/ui/index.js.map +0 -1
  187. package/lib/use-interval.js.map +0 -1
  188. package/lib/use-is-date-in-past.js.map +0 -1
  189. package/lib/use-toggle.js.map +0 -1
  190. package/src/lib/copy-to-clipboard.ts +0 -3
  191. package/src/lib/ui/SupportedDeviceTable/SupportedDeviceContent.tsx +0 -135
  192. package/src/lib/ui/SupportedDeviceTable/SupportedDeviceHeader.tsx +0 -14
  193. package/src/lib/ui/SupportedDeviceTable/SupportedDeviceRow.tsx +0 -35
  194. package/src/lib/ui/SupportedDeviceTable/SupportedDeviceTable.tsx +0 -16
  195. package/src/lib/ui/SupportedDeviceTable/types.ts +0 -16
  196. /package/lib/{ui → seam/components}/AccessCodeDetails/AccessCodeDevice.d.ts +0 -0
  197. /package/lib/{ui → seam/components}/AccessCodeTable/CodeDetails.d.ts +0 -0
  198. /package/lib/{ui → seam/components}/DeviceDetails/DeviceModel.d.ts +0 -0
  199. /package/lib/{ui → seam/components}/DeviceDetails/DeviceModel.js +0 -0
  200. /package/lib/{ui → seam/components}/index.d.ts +0 -0
  201. /package/lib/{ui → seam/components}/index.js +0 -0
  202. /package/lib/{capitalize.d.ts → strings.d.ts} +0 -0
  203. /package/lib/{copy-to-clipboard.d.ts → ui/clipboard.d.ts} +0 -0
  204. /package/lib/{use-interval.d.ts → ui/use-interval.d.ts} +0 -0
  205. /package/lib/{use-interval.js → ui/use-interval.js} +0 -0
  206. /package/lib/{use-is-date-in-past.d.ts → ui/use-is-date-in-past.d.ts} +0 -0
  207. /package/lib/{use-toggle.d.ts → ui/use-toggle.d.ts} +0 -0
  208. /package/lib/{use-toggle.js → ui/use-toggle.js} +0 -0
  209. /package/src/lib/{ui → seam/components}/DeviceDetails/DeviceModel.tsx +0 -0
  210. /package/src/lib/{ui → seam/components}/index.ts +0 -0
  211. /package/src/lib/{capitalize.ts → strings.ts} +0 -0
  212. /package/src/lib/{use-toggle.ts → ui/use-toggle.ts} +0 -0
@@ -12,7 +12,7 @@ export function TableFilterBar({
12
12
  onFilterClear,
13
13
  children,
14
14
  ...props
15
- }: TableFilterBarProps) {
15
+ }: TableFilterBarProps): JSX.Element {
16
16
  return (
17
17
  <div className='seam-table-filter-bar' {...props}>
18
18
  {children}{' '}
@@ -21,7 +21,7 @@ export function TableFilterBar({
21
21
  )
22
22
  }
23
23
 
24
- function ClearFiltersButton(props: ButtonProps) {
24
+ function ClearFiltersButton(props: ButtonProps): JSX.Element {
25
25
  return (
26
26
  <IconButton {...props} className='seam-clear-filters-button'>
27
27
  <ArrowRestartIcon />
@@ -10,7 +10,7 @@ export function TableFilterItem({
10
10
  onClick,
11
11
  selected,
12
12
  ...props
13
- }: TableFilterItemProps) {
13
+ }: TableFilterItemProps): JSX.Element {
14
14
  return (
15
15
  <div
16
16
  onClick={onClick}
@@ -14,7 +14,7 @@ export function SearchTextField({
14
14
  const [inputEl, setInputEl] = useState<HTMLInputElement | null>(null)
15
15
 
16
16
  const valueIsEmpty = useValueIsEmpty(value, inputEl)
17
- const clearInput = () => {
17
+ const clearInput = (): void => {
18
18
  if (onChange != null) {
19
19
  onChange('')
20
20
  return
@@ -53,7 +53,7 @@ export function SearchTextField({
53
53
  function useValueIsEmpty(
54
54
  value: string | undefined,
55
55
  inputEl: HTMLInputElement | null
56
- ) {
56
+ ): boolean {
57
57
  const [valueIsEmpty, setValueIsEmpty] = useState(true)
58
58
 
59
59
  // If this is a controlled element, we'll just look at `value`
@@ -68,7 +68,7 @@ function useValueIsEmpty(
68
68
  return
69
69
  }
70
70
 
71
- const handler = (event: Event) => {
71
+ const handler = (event: Event): void => {
72
72
  if (value !== undefined) {
73
73
  return
74
74
  }
@@ -0,0 +1,3 @@
1
+ export async function copyToClipboard(value: string): Promise<void> {
2
+ await globalThis?.navigator?.clipboard?.writeText(value)
3
+ }
@@ -6,7 +6,7 @@ const defaultDelay = Duration.fromObject({ minutes: 1 }).as('milliseconds')
6
6
  export function useInterval(
7
7
  callback: () => void,
8
8
  delay: number = defaultDelay
9
- ) {
9
+ ): void {
10
10
  const update = useCallback(() => {
11
11
  callback()
12
12
  }, [callback])
@@ -1,7 +1,7 @@
1
1
  import { DateTime } from 'luxon'
2
2
  import { useCallback, useEffect, useState } from 'react'
3
3
 
4
- import { useInterval } from './use-interval.js'
4
+ import { useInterval } from 'lib/ui/use-interval.js'
5
5
 
6
6
  export function useIsDateInPast(
7
7
  date: string | null | undefined
@@ -1 +1,3 @@
1
- export default null
1
+ const seamapiReactVersion = '1.8.0'
2
+
3
+ export default seamapiReactVersion
@@ -60,6 +60,13 @@
60
60
  align-items: center;
61
61
  justify-content: center;
62
62
  }
63
+
64
+ .seam-code-issue-icon-wrap {
65
+ display: flex;
66
+ justify-content: center;
67
+ align-items: center;
68
+ margin-right: 8px;
69
+ }
63
70
  }
64
71
  }
65
72
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"SeamProvider.js","sourceRoot":"","sources":["../src/lib/SeamProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EACL,aAAa,EAEb,UAAU,EACV,MAAM,GACP,MAAM,OAAO,CAAA;AAGd,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AA2CzD,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,mBAAmB,GAAG,KAAK,EAC3B,oBAAoB,GAAG,KAAK,EAC5B,gBAAgB,GAAG,KAAK,EACxB,GAAG,KAAK,EAC6B;IACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAA;IAEhC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;IAEhD,MAAM,UAAU,GAAG,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,IACE,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI;QACjC,UAAU,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI;QACzC,UAAU,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,EAC7C;QACA,UAAU,CAAC,OAAO,GAAG,uBAAuB,CAAA;KAC7C;IAED,IACE,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI;QACjC,UAAU,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI;QACzC,UAAU,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,EAC7C;QACA,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAA;KACF;IAED,aAAa,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAC9E,WAAW,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAA;IAE/C,OAAO,CACL,cAAK,SAAS,EAAC,iBAAiB,YAC9B,KAAC,mBAAmB,IAAC,MAAM,EAAE,cAAc,CAAC,OAAO,YACjD,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,YAAG,QAAQ,GAAY,GAC7C,GAClB,CACP,CAAA;AACH,CAAC;AAED,MAAM,6BAA6B,GAAG,GAAgB,EAAE;IACtD,IAAI,UAAU,CAAC,IAAI,IAAI,IAAI,EAAE;QAC3B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KACxB;IAED,IAAI;QACF,OAAO,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;KAC/C;IAAC,OAAO,GAAG,EAAE;QACZ,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KACxB;AACH,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,OAA0B,EAAe,EAAE;IACzE,IAAI,6BAA6B,CAAC,OAAO,CAAC,EAAE;QAC1C,OAAO,OAAO,CAAA;KACf;IAED,IAAI,yCAAyC,CAAC,OAAO,CAAC,EAAE;QACtD,MAAM,EAAE,kBAAkB,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAA;QACxD,OAAO;YACL,kBAAkB;YAClB,aAAa;YACb,MAAM,EAAE,IAAI;SACb,CAAA;KACF;IAED,IAAI,qCAAqC,CAAC,OAAO,CAAC,EAAE;QAClD,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAA;QACvE,OAAO;YACL,cAAc;YACd,iBAAiB;YACjB,aAAa;YACb,MAAM,EAAE,IAAI;SACb,CAAA;KACF;IAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,6BAA6B,EAAE,CAAA;AAE/D,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAc,uBAAuB,CAAC,CAAA;AAE9E,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IAEvC,IAAI,OAAO,IAAI,IAAI,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;KACxE;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,6BAA6B,GAAG,CACpC,KAAwB,EACc,EAAE;IACxC,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAEtC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,KAAK,CAAA;IAEhC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE;QAC/C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;KAC1E;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,qCAAqC,GAAG,CAC5C,KAAwB,EACiD,EAAE;IAC3E,IAAI,CAAC,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAE9C,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAA;IAChC,IAAI,cAAc,IAAI,IAAI;QAAE,OAAO,KAAK,CAAA;IAExC,IAAI,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;KAC1E;IAED,IAAI,oBAAoB,IAAI,KAAK,IAAI,KAAK,CAAC,kBAAkB,IAAI,IAAI,EAAE;QACrE,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,yCAAyC,GAAG,CAChD,KAAwB,EAEC,EAAE;IAC3B,IAAI,CAAC,CAAC,oBAAoB,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAElD,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAA;IACpC,IAAI,kBAAkB,IAAI,IAAI;QAAE,OAAO,KAAK,CAAA;IAE5C,IAAI,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;KAC1E;IAED,wDAAwD;IACxD,mEAAmE;IACnE,qBAAqB;IACrB,wEAAwE;IACxE,MAAM;IACN,IAAI;IAEJ,IAAI,mBAAmB,IAAI,KAAK,IAAI,KAAK,CAAC,iBAAiB,IAAI,IAAI,EAAE;QACnE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;KAC7E;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"capitalize.js","sourceRoot":"","sources":["../src/lib/capitalize.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"copy-to-clipboard.js","sourceRoot":"","sources":["../src/lib/copy-to-clipboard.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAa;IACjD,MAAM,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;AAC1D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-by.js","sourceRoot":"","sources":["../src/lib/sort-by.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,CAAyB,EACzB,CAAyB,EACjB,EAAE;IACV,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IACzC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO;QAAE,OAAO,CAAC,CAAA;IACxC,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;AACtC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccessCodeDetails.js","sourceRoot":"","sources":["../../../src/lib/ui/AccessCodeDetails/AccessCodeDetails.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccessCodeDevice.js","sourceRoot":"","sources":["../../../src/lib/ui/AccessCodeDetails/AccessCodeDevice.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,EACR,cAAc,GAIf;IACC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEhE,IAAI,SAAS,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QACxD,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,KAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAI,CAAA;AAC9E,CAAC;AAED,SAAS,iBAAiB,CAAC,KAG1B;IACC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAA;IACxC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IAEpC,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEpE,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,mBAAmB,YAChC,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,GAAI,GAC3B,EACN,eAAK,SAAS,EAAC,WAAW,aACxB,cAAK,SAAS,EAAC,YAAY,YAAE,KAAK,GAAO,EACzC,KAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE;4BACZ,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;wBAClC,CAAC,YAEA,CAAC,CAAC,aAAa,GACL,IACT,EACN,KAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;oBACZ,UAAU,CAAC,MAAM,EAAE,CAAA;gBACrB,CAAC,YAEA,eAAe,GACT,IACL,CACP,CAAA;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,aAAa,EAAE,gBAAgB;IAC/B,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAA"}
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- export interface AccessCodeTableProps {
3
- deviceId: string;
4
- onBack?: () => void;
5
- }
6
- export declare function AccessCodeTable(props: AccessCodeTableProps): JSX.Element | null;
@@ -1,69 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import { copyToClipboard } from '../../../lib/copy-to-clipboard.js';
4
- import { AccessCodeKeyIcon } from '../../../lib/icons/AccessCodeKey.js';
5
- import { CopyIcon } from '../../../lib/icons/Copy.js';
6
- import { useAccessCodes, } from '../../../lib/seam/access-codes/use-access-codes.js';
7
- import { AccessCodeDetails } from '../../../lib/ui/AccessCodeDetails/AccessCodeDetails.js';
8
- import { CodeDetails } from '../../../lib/ui/AccessCodeTable/CodeDetails.js';
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';
12
- import { EmptyPlaceholder } from '../../../lib/ui/Table/EmptyPlaceholder.js';
13
- import { TableBody } from '../../../lib/ui/Table/TableBody.js';
14
- import { TableCell } from '../../../lib/ui/Table/TableCell.js';
15
- import { TableHeader } from '../../../lib/ui/Table/TableHeader.js';
16
- import { TableRow } from '../../../lib/ui/Table/TableRow.js';
17
- import { TableTitle } from '../../../lib/ui/Table/TableTitle.js';
18
- import { SearchTextField } from '../../../lib/ui/TextField/SearchTextField.js';
19
- import { Caption } from '../../../lib/ui/typography/Caption.js';
20
- import { Title } from '../../../lib/ui/typography/Title.js';
21
- export function AccessCodeTable(props) {
22
- const { accessCodes } = useAccessCodes({
23
- device_id: props.deviceId,
24
- });
25
- const { onBack } = props;
26
- const [selectedAccessCode, selectAccessCode] = useState(null);
27
- const [searchTerm, setSearchTerm] = useState('');
28
- if (selectedAccessCode != null) {
29
- return (_jsx(AccessCodeDetails, { accessCodeId: selectedAccessCode.access_code_id, onBack: () => {
30
- selectAccessCode(null);
31
- } }));
32
- }
33
- if (accessCodes == null) {
34
- return null;
35
- }
36
- const filteredCodes = accessCodes.filter((accessCode) => {
37
- if (searchTerm === '') {
38
- return true;
39
- }
40
- return new RegExp(searchTerm, 'i').test(accessCode.name ?? '');
41
- });
42
- const accessCodeCount = accessCodes.length;
43
- return (_jsxs("div", { className: 'seam-access-code-table', children: [_jsx(ContentHeader, { onBack: onBack }), _jsxs(TableHeader, { children: [_jsxs(TableTitle, { children: [t.accessCodes, " ", _jsxs(Caption, { children: ["(", accessCodeCount, ")"] })] }), _jsx(SearchTextField, { value: searchTerm, onChange: setSearchTerm, disabled: accessCodeCount === 0 })] }), _jsx(TableBody, { children: _jsx(Body, { accessCodes: filteredCodes, selectAccessCode: selectAccessCode }) })] }));
44
- }
45
- function Body(props) {
46
- const { accessCodes, selectAccessCode } = props;
47
- if (accessCodes.length === 0) {
48
- return _jsx(EmptyPlaceholder, { children: t.noAccessCodesMessage });
49
- }
50
- return (_jsx(_Fragment, { children: accessCodes.map((accessCode) => (_jsx(AccessCodeRow, { accessCode: accessCode, onClick: () => {
51
- selectAccessCode(accessCode);
52
- } }, accessCode.access_code_id))) }));
53
- }
54
- function AccessCodeRow(props) {
55
- const { onClick, accessCode } = props;
56
- return (_jsxs(TableRow, { onClick: onClick, children: [_jsx(TableCell, { className: 'seam-icon-cell', children: _jsx("div", { children: _jsx(AccessCodeKeyIcon, {}) }) }), _jsxs(TableCell, { className: 'seam-name-cell', children: [_jsx(Title, { className: 'seam-truncated-text', children: accessCode.name }), _jsx(CodeDetails, { accessCode: accessCode })] }), _jsx(TableCell, { className: 'seam-action-cell', children: _jsx(MoreActionsMenu, { menuProps: {
57
- backgroundProps: {
58
- className: 'seam-access-code-table-action-menu',
59
- },
60
- }, children: _jsx(MenuItem, { onClick: () => {
61
- void copyToClipboard(accessCode.code ?? '');
62
- }, children: _jsxs("div", { className: 'menu-item-copy', children: [_jsxs("span", { children: [t.copyCode, " - ", accessCode.code] }), _jsx(CopyIcon, {})] }) }) }) })] }, accessCode.access_code_id));
63
- }
64
- const t = {
65
- accessCodes: 'Access Codes',
66
- copyCode: 'Copy code',
67
- noAccessCodesMessage: 'Sorry, no access codes were found',
68
- };
69
- //# sourceMappingURL=AccessCodeTable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccessCodeTable.js","sourceRoot":"","sources":["../../../src/lib/ui/AccessCodeTable/AccessCodeTable.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodeDetails.js","sourceRoot":"","sources":["../../../src/lib/ui/AccessCodeTable/CodeDetails.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,MAAM,UAAU,WAAW,CAAC,KAAiC;IAC3D,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;IAEjE,OAAO,CACL,eAAK,SAAS,EAAC,mBAAmB,aAChC,eAAM,SAAS,EAAC,sCAAsC,YACnD,MAAM,EAAE,UAAU,CAAC,IAAI,GACnB,EACP,KAAC,UAAU,KAAG,EACd,KAAC,QAAQ,IAAC,UAAU,EAAE,UAAU,GAAI,EACpC,KAAC,UAAU,KAAG,EACb,CAAC,CAAC,IAAI,QAAI,UAAU,CAAC,IAAI,IACtB,CACP,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAiC;IACjD,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAE5B,MAAM,UAAU,GACd,eAAe,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,KAAK,CAAA;IAEP,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE;QACjC,OAAO,CACL,2BACG,CAAC,CAAC,IAAI,QAAI,CAAC,CAAC,KAAK,IACb,CACR,CAAA;KACF;IAED,IAAI,UAAU,EAAE;QACd,OAAO,CACL,2BACG,CAAC,CAAC,IAAI,QAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,IACzC,CACR,CAAA;KACF;IAED,OAAO,CACL,2BACG,CAAC,CAAC,MAAM,QAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,IACxC,CACR,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC;QAC3C,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,SAAS;KACf,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,GAAG;IACR,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACf,CAAA"}
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- export interface DeviceDetailsProps {
3
- deviceId: string;
4
- onBack?: () => void;
5
- }
6
- export declare function DeviceDetails(props: DeviceDetailsProps): JSX.Element | null;
@@ -1,80 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useDevice } from '../../../lib/index.js';
3
- import { ChevronRightIcon } from '../../../lib/icons/ChevronRight.js';
4
- import { useAccessCodes } from '../../../lib/seam/access-codes/use-access-codes.js';
5
- import { isLockDevice } from '../../../lib/seam/devices/types.js';
6
- import { useToggleLock } from '../../../lib/seam/devices/use-toggle-lock.js';
7
- import { AccessCodeTable } from '../../../lib/ui/AccessCodeTable/AccessCodeTable.js';
8
- import { Alerts } from '../../../lib/ui/Alert/Alerts.js';
9
- import { Button } from '../../../lib/ui/Button.js';
10
- import { BatteryStatus } from '../../../lib/ui/device/BatteryStatus.js';
11
- import { DeviceImage } from '../../../lib/ui/device/DeviceImage.js';
12
- import { OnlineStatus } from '../../../lib/ui/device/OnlineStatus.js';
13
- import { DeviceModel } from '../../../lib/ui/DeviceDetails/DeviceModel.js';
14
- import { ContentHeader } from '../../../lib/ui/layout/ContentHeader.js';
15
- import { useToggle } from '../../../lib/use-toggle.js';
16
- export function DeviceDetails(props) {
17
- const { deviceId, onBack } = props;
18
- const { device } = useDevice({
19
- device_id: deviceId,
20
- });
21
- if (device == null) {
22
- return null;
23
- }
24
- if (!isLockDevice(device)) {
25
- return null;
26
- }
27
- return _jsx(LockDeviceDetails, { device: device, onBack: onBack });
28
- }
29
- function LockDeviceDetails(props) {
30
- const { device, onBack } = props;
31
- const [accessCodesOpen, toggleAccessCodesOpen] = useToggle();
32
- const toggleLock = useToggleLock(device);
33
- const { accessCodes } = useAccessCodes({
34
- device_id: device.device_id,
35
- });
36
- const lockStatus = device.properties.locked ? t.locked : t.unlocked;
37
- const toggleLockLabel = device.properties.locked ? t.unlock : t.lock;
38
- const accessCodeCount = accessCodes?.length;
39
- const accessCodeLength = device.properties?.schlage_metadata?.access_code_length;
40
- if (accessCodes == null) {
41
- return null;
42
- }
43
- if (accessCodesOpen) {
44
- return (_jsx(AccessCodeTable, { deviceId: device.device_id, onBack: toggleAccessCodesOpen }));
45
- }
46
- const alerts = [
47
- ...device.errors.map((error) => ({
48
- variant: 'error',
49
- message: error.message,
50
- })),
51
- ...device.warnings.map((warning) => ({
52
- variant: 'warning',
53
- message: warning.message,
54
- })),
55
- ];
56
- return (_jsxs("div", { className: 'seam-device-details', children: [_jsx(ContentHeader, { title: 'Device', onBack: onBack }), _jsxs("div", { className: 'seam-body', children: [_jsxs("div", { className: 'seam-summary', children: [_jsxs("div", { className: 'seam-content', children: [_jsx("div", { className: 'seam-image', children: _jsx(DeviceImage, { device: device }) }), _jsxs("div", { className: 'seam-info', children: [_jsx("span", { className: 'seam-label', children: t.device }), _jsx("h4", { className: 'seam-device-name', children: device.properties.name }), _jsxs("div", { className: 'seam-properties', children: [_jsxs("span", { className: 'seam-label', children: [t.status, ":"] }), ' ', _jsx(OnlineStatus, { device: device }), _jsxs("span", { className: 'seam-label', children: [t.power, ":"] }), ' ', _jsx(BatteryStatus, { device: device }), _jsx(DeviceModel, { device: device })] })] })] }), _jsx(Alerts, { alerts: alerts, className: 'seam-alerts-space-top' })] }), _jsx("div", { className: 'seam-box', children: _jsxs("div", { className: 'seam-content seam-access-codes', onClick: toggleAccessCodesOpen, children: [_jsxs("span", { className: 'seam-value', children: [accessCodeCount, " ", t.accessCodes] }), _jsx(ChevronRightIcon, {})] }) }), _jsxs("div", { className: 'seam-box', children: [_jsxs("div", { className: 'seam-content seam-lock-status', children: [_jsxs("div", { children: [_jsx("span", { className: 'seam-label', children: t.lockStatus }), _jsx("span", { className: 'seam-value', children: lockStatus })] }), _jsx("div", { className: 'seam-right', children: _jsx(Button, { size: 'small', onClick: () => {
57
- toggleLock.mutate();
58
- }, children: toggleLockLabel }) })] }), _jsx(AccessCodeLength, { accessCodeLength: accessCodeLength })] })] })] }));
59
- }
60
- function AccessCodeLength(props) {
61
- const { accessCodeLength } = props;
62
- if (accessCodeLength == null) {
63
- return null;
64
- }
65
- return (_jsxs("div", { className: 'seam-content seam-access-code-length', children: [_jsx("span", { className: 'seam-label', children: t.codeLength }), _jsxs("span", { className: 'seam-value', children: [accessCodeLength, " ", t.digits] })] }));
66
- }
67
- const t = {
68
- device: 'Device',
69
- unlock: 'Unlock',
70
- lock: 'Lock',
71
- locked: 'Locked',
72
- unlocked: 'Unlocked',
73
- accessCodes: 'access codes',
74
- codeLength: 'Code length',
75
- digits: 'digits',
76
- lockStatus: 'Lock status',
77
- status: 'Status',
78
- power: 'Power',
79
- };
80
- //# sourceMappingURL=DeviceDetails.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeviceDetails.js","sourceRoot":"","sources":["../../../src/lib/ui/DeviceDetails/DeviceDetails.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeviceModel.js","sourceRoot":"","sources":["../../../src/lib/ui/DeviceDetails/DeviceModel.tsx"],"names":[],"mappings":";AAMA,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAoB;IACtD,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IACpC,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,CACL,8BACE,gBAAM,SAAS,EAAC,YAAY,aAAE,CAAC,CAAC,KAAK,SAAS,EAAC,GAAG,EAClD,cAAK,SAAS,EAAC,mBAAmB,YAAE,KAAK,GAAO,IAC/C,CACJ,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,UAAU,GACC,EAAsB,EAAE;IACnC,OAAO,CACL,UAAU,EAAE,eAAe,EAAE,KAAK;QAClC,UAAU,EAAE,gBAAgB,EAAE,KAAK;QACnC,CAAC,CAAC,aAAa,CAChB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,GAAG;IACR,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,cAAc;CAC9B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeviceHealthBar.js","sourceRoot":"","sources":["../../../src/lib/ui/DeviceTable/DeviceHealthBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAA;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAUhF,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,EACP,MAAM,EACN,cAAc,GACO;IACrB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3E,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAA;IAExC,MAAM,MAAM,GAAG,CAAC,MAAoB,EAAE,EAAE,CAAC,GAAG,EAAE;QAC5C,MAAM,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;QACnD,cAAc,CAAC,SAAS,CAAC,CAAA;IAC3B,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,UAAU,KAAK,CAAC,IAAI,UAAU,GAAG,CAAC,CAAA;IACnD,MAAM,KAAK,GAAG,QAAQ;QACpB,CAAC,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC,YAAY,EAAE;QACnC,CAAC,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;IAEpC,IAAI,UAAU,KAAK,CAAC,EAAE;QACpB,OAAO,CACL,KAAC,cAAc,IAAC,aAAa,kBAC3B,MAAC,eAAe,eACd,KAAC,SAAS,KAAG,EACZ,CAAC,CAAC,SAAS,IACI,GACH,CAClB,CAAA;KACF;IAED,OAAO,CACL,KAAC,cAAc,IACb,aAAa,EAAE,MAAM,IAAI,IAAI,EAC7B,aAAa,EAAE,GAAG,EAAE;YAClB,cAAc,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC,YAED,MAAC,eAAe,IACd,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,EAChC,QAAQ,EAAE,MAAM,KAAK,eAAe,aAEpC,KAAC,4BAA4B,KAAG,EAC/B,KAAK,IACU,GACH,CAClB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;CAC9B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeviceRow.js","sourceRoot":"","sources":["../../../src/lib/ui/DeviceTable/DeviceRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAKxD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAalD,MAAM,UAAU,SAAS,CAAC,EACxB,MAAM,EACN,OAAO,GACQ;IACf,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QACzB,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,CAAA;IAE3D,OAAO,CACL,MAAC,QAAQ,IAAwB,OAAO,EAAE,OAAO,aAC/C,KAAC,SAAS,IAAC,SAAS,EAAC,iBAAiB,YACpC,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,GAAI,GACrB,EACZ,MAAC,SAAS,IAAC,SAAS,EAAC,gBAAgB,aACnC,KAAC,KAAK,IAAC,SAAS,EAAC,qBAAqB,YAAE,MAAM,CAAC,UAAU,CAAC,IAAI,GAAS,EACvE,eAAK,SAAS,EAAC,aAAa,aAC1B,eAAM,SAAS,EAAC,mBAAmB,YAAE,WAAW,GAAQ,EACxD,eAAK,SAAS,EAAC,sBAAsB,aACnC,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,GAAI,EAChC,KAAC,aAAa,IAAC,MAAM,EAAE,MAAM,GAAI,EACjC,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,GAAI,IAC1B,IACF,IACI,KAdC,MAAM,CAAC,SAAS,CAepB,CACZ,CAAA;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,cAAc;IAC3B,gBAAgB,EAAE,8BAA8B;CACjD,CAAA"}
@@ -1,8 +0,0 @@
1
- /// <reference types="react" />
2
- import { type UseDevicesParams } from '../../../lib/seam/devices/use-devices.js';
3
- export type DeviceTableProps = Props & UseDevicesParams;
4
- interface Props {
5
- onBack?: () => void;
6
- }
7
- export declare function DeviceTable({ onBack, ...props }: DeviceTableProps): JSX.Element | null;
8
- export {};
@@ -1,65 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import { useDevices, } from '../../../lib/seam/devices/use-devices.js';
4
- import { DeviceDetails } from '../../../lib/ui/DeviceDetails/DeviceDetails.js';
5
- import { DeviceHealthBar, } from '../../../lib/ui/DeviceTable/DeviceHealthBar.js';
6
- import { DeviceRow } from '../../../lib/ui/DeviceTable/DeviceRow.js';
7
- import { ContentHeader } from '../../../lib/ui/layout/ContentHeader.js';
8
- import { EmptyPlaceholder } from '../../../lib/ui/Table/EmptyPlaceholder.js';
9
- import { TableBody } from '../../../lib/ui/Table/TableBody.js';
10
- import { TableHeader } from '../../../lib/ui/Table/TableHeader.js';
11
- import { TableTitle } from '../../../lib/ui/Table/TableTitle.js';
12
- import { SearchTextField } from '../../../lib/ui/TextField/SearchTextField.js';
13
- import { Caption } from '../../../lib/ui/typography/Caption.js';
14
- export function DeviceTable({ onBack, ...props }) {
15
- const { devices, isLoading, isError, error } = useDevices(props);
16
- const [selectedDeviceId, selectDevice] = useState(null);
17
- const [searchTerm, setSearchTerm] = useState('');
18
- if (selectedDeviceId != null) {
19
- return (_jsx(DeviceDetails, { deviceId: selectedDeviceId, onBack: () => {
20
- selectDevice(null);
21
- } }));
22
- }
23
- if (isLoading) {
24
- return _jsx("p", { children: "..." });
25
- }
26
- if (isError) {
27
- return _jsx("p", { children: error?.message });
28
- }
29
- if (devices == null) {
30
- return null;
31
- }
32
- const deviceCount = devices.length;
33
- const filteredDevices = devices.filter((device) => {
34
- if (searchTerm === '') {
35
- return true;
36
- }
37
- return new RegExp(searchTerm, 'i').test(device.properties.name);
38
- });
39
- return (_jsxs("div", { className: 'seam-device-table', children: [_jsx(ContentHeader, { onBack: onBack }), _jsxs(TableHeader, { children: [_jsxs(TableTitle, { children: [t.devices, " ", _jsxs(Caption, { children: ["(", deviceCount, ")"] })] }), _jsx(SearchTextField, { value: searchTerm, onChange: setSearchTerm, disabled: deviceCount === 0 })] }), _jsx(TableBody, { children: _jsx(Body, { devices: filteredDevices, selectDevice: selectDevice }) })] }));
40
- }
41
- function Body(props) {
42
- const { devices, selectDevice } = props;
43
- const [filter, setFilter] = useState(null);
44
- if (devices.length === 0) {
45
- return _jsx(EmptyPlaceholder, { children: t.noDevicesMessage });
46
- }
47
- const filteredDevices = devices.filter((device) => {
48
- if (filter === null) {
49
- return true;
50
- }
51
- if (filter === 'device_issues') {
52
- return device.errors.length > 0;
53
- }
54
- return true;
55
- });
56
- return (_jsxs(_Fragment, { children: [_jsx(DeviceHealthBar, { devices: devices, filter: filter, onFilterSelect: setFilter }), filteredDevices.map((device) => (_jsx(DeviceRow, { device: device, onClick: () => {
57
- selectDevice(device.device_id);
58
- } }, device.device_id)))] }));
59
- }
60
- const t = {
61
- devices: 'Devices',
62
- unknownLock: 'Unknown Lock',
63
- noDevicesMessage: 'Sorry, no devices were found',
64
- };
65
- //# sourceMappingURL=DeviceTable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeviceTable.js","sourceRoot":"","sources":["../../../src/lib/ui/DeviceTable/DeviceTable.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- interface FilterCategoryMenuBaseProps {
2
- label: string;
3
- options: string[];
4
- onSelect: (option: string) => void;
5
- buttonLabel?: string;
6
- }
7
- export type FilterCategoryMenuProps = (FilterCategoryMenuBaseProps & {
8
- hideAllOption?: false;
9
- onAllOptionSelect: () => void;
10
- }) | (FilterCategoryMenuBaseProps & {
11
- hideAllOption: true;
12
- onAllOptionSelect?: never;
13
- });
14
- export declare function FilterCategoryMenu({ label, options, hideAllOption, onSelect, onAllOptionSelect, buttonLabel, }: FilterCategoryMenuProps): import("react/jsx-runtime").JSX.Element;
15
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterCategoryMenu.js","sourceRoot":"","sources":["../../../src/lib/ui/SupportedDeviceTable/FilterCategoryMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAmBlD,MAAM,UAAU,kBAAkB,CAAC,EACjC,KAAK,GAAG,QAAQ,EAChB,OAAO,EACP,aAAa,GAAG,KAAK,EACrB,QAAQ,EACR,iBAAiB,EACjB,WAAW,GACa;IACxB,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAA;IAEnE,OAAO,CACL,eAAK,SAAS,EAAC,8CAA8C,aAC3D,sBAAI,KAAK,GAAK,EACd,KAAC,IAAI,IACH,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAC5B,kBAAQ,OAAO,EAAE,MAAM,aACrB,yBAAO,WAAW,GAAQ,EAC1B,KAAC,eAAe,KAAG,IACZ,CACV,YAEA,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,KAAC,QAAQ,IAEP,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,MAAM,KAAK,KAAK,EAAE;4BACpB,iBAAiB,EAAE,EAAE,CAAA;yBACtB;6BAAM;4BACL,QAAQ,CAAC,MAAM,CAAC,CAAA;yBACjB;oBACH,CAAC,YAED,yBAAO,MAAM,GAAQ,IAThB,GAAG,KAAK,IAAI,MAAM,EAAE,CAUhB,CACZ,CAAC,GACG,IACH,CACP,CAAA;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- export interface SupportedDeviceContentProps {
2
- cannotFilter?: boolean;
3
- }
4
- export declare function SupportedDeviceContent({ cannotFilter, }: SupportedDeviceContentProps): import("react/jsx-runtime").JSX.Element;
@@ -1,46 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useQuery } from '@tanstack/react-query';
3
- import { useState } from 'react';
4
- import { Button } from '../../../lib/ui/Button.js';
5
- import { SupportedDeviceFilterArea } from '../../../lib/ui/SupportedDeviceTable/SupportedDeviceFilterArea.js';
6
- import { SupportedDeviceHeader } from './SupportedDeviceHeader.js';
7
- import { SupportedDeviceRow } from './SupportedDeviceRow.js';
8
- export function SupportedDeviceContent({ cannotFilter = false, }) {
9
- const [filterValue, setFilterValue] = useState('');
10
- const [filters, setFilters] = useState({
11
- supportedOnly: false,
12
- category: null,
13
- brand: null,
14
- });
15
- const { data: deviceModels, isLoading, isError, refetch, } = useQuery({
16
- queryKey: ['supported_devices', filterValue, filters],
17
- queryFn: async () => {
18
- const url = new URL('https://devicedb.seam.co/api/device_models/list');
19
- if (filterValue.trim() !== '') {
20
- url.searchParams.set('text_search', filterValue.trim());
21
- }
22
- if (filters.supportedOnly) {
23
- url.searchParams.set('support_level', 'live');
24
- }
25
- if (filters.category !== null) {
26
- url.searchParams.set('main_category', filters.category);
27
- }
28
- if (filters.brand !== null) {
29
- url.searchParams.set('brand', filters.brand);
30
- }
31
- const res = await fetch(url);
32
- if (!res.ok) {
33
- throw new Error('Failed to load device models');
34
- }
35
- const data = await res.json();
36
- return data?.device_models ?? [];
37
- },
38
- });
39
- return (_jsxs("div", { className: 'seam-supported-device-table-content-wrap', children: [!cannotFilter && (_jsx(SupportedDeviceFilterArea, { deviceModels: deviceModels ?? [], filterValue: filterValue, setFilterValue: setFilterValue, filters: filters, setFilters: setFilters })), isLoading && (_jsx("div", { className: 'seam-supported-device-table-content-state-block', children: _jsx("p", { children: "Loading device models..." }) })), isError && (_jsxs("div", { className: 'seam-supported-device-table-content-state-block', children: [_jsx("p", { children: "There was an error fetching device models." }), _jsx(Button, { variant: 'solid', size: 'small', onClick: () => {
40
- void refetch();
41
- }, children: "Retry" })] })), !isLoading && !isError && deviceModels !== null && (_jsxs("table", { className: 'seam-supported-device-table-content', children: [_jsx(SupportedDeviceHeader, {}), _jsxs("tbody", { children: [deviceModels.length !== 0 &&
42
- deviceModels.map((deviceModel, index) => (_jsx(SupportedDeviceRow, { deviceModel: deviceModel }, `${index}:${deviceModel.manufacturer_model_id}`))), deviceModels.length === 0 && (_jsx("tr", { className: 'seam-supported-device-table-content-message-row', children: _jsx("td", { colSpan: 6, children: _jsx("div", { className: 'seam-supported-device-table-content-message', children: filterValue.length === 0 ? (_jsx("p", { children: "No device models found." })) : (_jsxs(_Fragment, { children: [_jsx("p", { children: "No device models matched your search." }), _jsx(Button, { variant: 'outline', size: 'small', onClick: () => {
43
- setFilterValue('');
44
- }, className: 'seam-supported-device-table-content-message-clear-search', children: "Clear search terms" })] })) }) }) }))] })] }))] }));
45
- }
46
- //# sourceMappingURL=SupportedDeviceContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SupportedDeviceContent.js","sourceRoot":"","sources":["../../../src/lib/ui/SupportedDeviceTable/SupportedDeviceContent.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { Dispatch, SetStateAction } from 'react';
2
- import type { DeviceModel, Filters } from '../../../lib/ui/SupportedDeviceTable/types.js';
3
- interface SupportedDeviceFilterAreaProps {
4
- deviceModels: DeviceModel[];
5
- filterValue: string;
6
- setFilterValue: (filter: string) => void;
7
- filters: Filters;
8
- setFilters: Dispatch<SetStateAction<Filters>>;
9
- }
10
- export declare function SupportedDeviceFilterArea({ deviceModels, filterValue, setFilterValue, filters, setFilters, }: SupportedDeviceFilterAreaProps): import("react/jsx-runtime").JSX.Element;
11
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"SupportedDeviceFilterArea.js","sourceRoot":"","sources":["../../../src/lib/ui/SupportedDeviceTable/SupportedDeviceFilterArea.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function SupportedDeviceHeader(): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +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: "Category" }), _jsx("th", { children: "Model Name" }), _jsx("th", { children: "Manufacturer Model ID" }), _jsx("th", { children: "Connection Type" }), _jsx("th", { children: "Status" })] }) }));
4
- }
5
- //# sourceMappingURL=SupportedDeviceHeader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SupportedDeviceHeader.js","sourceRoot":"","sources":["../../../src/lib/ui/SupportedDeviceTable/SupportedDeviceHeader.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,qBAAqB;IACnC,OAAO,CACL,0BACE,yBACE,cAAM,EACN,oCAAiB,EACjB,sCAAmB,EACnB,iDAA8B,EAC9B,2CAAwB,EACxB,kCAAe,IACZ,GACC,CACT,CAAA;AACH,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { DeviceModel } from '../../../lib/ui/SupportedDeviceTable/types.js';
2
- export interface SupportedDeviceRowProps {
3
- deviceModel: DeviceModel;
4
- }
5
- export declare function SupportedDeviceRow({ deviceModel }: SupportedDeviceRowProps): import("react/jsx-runtime").JSX.Element;
@@ -1,12 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import classNames from 'classnames';
3
- export function SupportedDeviceRow({ deviceModel }) {
4
- const statusColor = supportLevelColors[deviceModel.support_level] ?? 'gray';
5
- return (_jsxs("tr", { children: [_jsx("td", { children: _jsx("img", { 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-${statusColor}`), children: _jsx("span", { children: deviceModel.support_level }) }) })] }));
6
- }
7
- const supportLevelColors = {
8
- Live: 'green',
9
- Beta: 'blue',
10
- Unsupported: 'orange',
11
- };
12
- //# sourceMappingURL=SupportedDeviceRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SupportedDeviceRow.js","sourceRoot":"","sources":["../../../src/lib/ui/SupportedDeviceTable/SupportedDeviceRow.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AAQnC,MAAM,UAAU,kBAAkB,CAAC,EAAE,WAAW,EAA2B;IACzE,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,MAAM,CAAA;IAC3E,OAAO,CACL,yBACE,uBACE,cAAK,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,GAAI,GAC1C,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,CAAC,kBAAkB,EAAE,UAAU,WAAW,EAAE,CAAC,YAElE,yBAAO,WAAW,CAAC,aAAa,GAAQ,GACpC,GACH,IACF,CACN,CAAA;AACH,CAAC;AAED,MAAM,kBAAkB,GAAG;IACzB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,QAAQ;CACtB,CAAA"}
@@ -1,3 +0,0 @@
1
- import type { SupportedDeviceContentProps } from '../../../lib/ui/SupportedDeviceTable/SupportedDeviceContent.js';
2
- export type SupportedDeviceTableProps = SupportedDeviceContentProps;
3
- export declare function SupportedDeviceTable(props: SupportedDeviceContentProps): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
3
- import { SupportedDeviceContent } from '../../../lib/ui/SupportedDeviceTable/SupportedDeviceContent.js';
4
- const client = new QueryClient();
5
- export function SupportedDeviceTable(props) {
6
- return (_jsx(QueryClientProvider, { client: client, children: _jsx(SupportedDeviceContent, { ...props }) }));
7
- }
8
- //# sourceMappingURL=SupportedDeviceTable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SupportedDeviceTable.js","sourceRoot":"","sources":["../../../src/lib/ui/SupportedDeviceTable/SupportedDeviceTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAGxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAA;AAE9F,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAA;AAIhC,MAAM,UAAU,oBAAoB,CAAC,KAAkC;IACrE,OAAO,CACL,KAAC,mBAAmB,IAAC,MAAM,EAAE,MAAM,YACjC,KAAC,sBAAsB,OAAK,KAAK,GAAI,GACjB,CACvB,CAAA;AACH,CAAC"}