@seamapi/react 2.19.1 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/elements.js +19704 -25713
- package/dist/elements.js.map +1 -1
- package/lib/icons/NoiseLevelsRed.d.ts +2 -0
- package/lib/icons/NoiseLevelsRed.js +5 -0
- package/lib/icons/NoiseLevelsRed.js.map +1 -0
- package/lib/object.d.ts +5 -0
- package/lib/object.js +14 -0
- package/lib/object.js.map +1 -0
- package/lib/seam/SeamProvider.d.ts +5 -4
- package/lib/seam/SeamProvider.js.map +1 -1
- package/lib/seam/access-codes/use-access-code.d.ts +3 -2
- package/lib/seam/access-codes/use-access-code.js +2 -3
- package/lib/seam/access-codes/use-access-code.js.map +1 -1
- package/lib/seam/access-codes/use-access-codes.d.ts +3 -2
- package/lib/seam/access-codes/use-access-codes.js +3 -5
- package/lib/seam/access-codes/use-access-codes.js.map +1 -1
- package/lib/seam/access-codes/use-create-access-code.d.ts +4 -3
- package/lib/seam/access-codes/use-create-access-code.js +5 -4
- package/lib/seam/access-codes/use-create-access-code.js.map +1 -1
- package/lib/seam/access-codes/use-delete-access-code.d.ts +4 -6
- package/lib/seam/access-codes/use-delete-access-code.js +10 -8
- package/lib/seam/access-codes/use-delete-access-code.js.map +1 -1
- package/lib/seam/access-codes/use-generate-access-code-code.d.ts +4 -4
- package/lib/seam/access-codes/use-generate-access-code-code.js +3 -2
- package/lib/seam/access-codes/use-generate-access-code-code.js.map +1 -1
- package/lib/seam/access-codes/use-update-access-code.d.ts +4 -4
- package/lib/seam/access-codes/use-update-access-code.js +9 -7
- package/lib/seam/access-codes/use-update-access-code.js.map +1 -1
- package/lib/seam/client-sessions/use-client-session.d.ts +1 -1
- package/lib/seam/client-sessions/use-client-session.js +1 -1
- package/lib/seam/client-sessions/use-client-session.js.map +1 -1
- package/lib/seam/components/AccessCodeDetails/AccessCodeDetails.d.ts +1 -1
- package/lib/seam/components/AccessCodeDetails/AccessCodeDetails.js +14 -6
- package/lib/seam/components/AccessCodeDetails/AccessCodeDetails.js.map +1 -1
- package/lib/seam/components/AccessCodeDetails/AccessCodeDevice.d.ts +1 -1
- package/lib/seam/components/AccessCodeDetails/AccessCodeDevice.js +9 -6
- package/lib/seam/components/AccessCodeDetails/AccessCodeDevice.js.map +1 -1
- package/lib/seam/components/AccessCodeTable/AccessCodeHealthBar.d.ts +3 -4
- package/lib/seam/components/AccessCodeTable/AccessCodeHealthBar.js.map +1 -1
- package/lib/seam/components/AccessCodeTable/AccessCodeMainIcon.d.ts +3 -3
- package/lib/seam/components/AccessCodeTable/AccessCodeMainIcon.js.map +1 -1
- package/lib/seam/components/AccessCodeTable/AccessCodeMenu.d.ts +3 -3
- package/lib/seam/components/AccessCodeTable/AccessCodeMenu.js +1 -1
- package/lib/seam/components/AccessCodeTable/AccessCodeMenu.js.map +1 -1
- package/lib/seam/components/AccessCodeTable/AccessCodeRow.d.ts +3 -3
- package/lib/seam/components/AccessCodeTable/AccessCodeRow.js.map +1 -1
- package/lib/seam/components/AccessCodeTable/AccessCodeTable.d.ts +2 -4
- package/lib/seam/components/AccessCodeTable/AccessCodeTable.js +1 -1
- package/lib/seam/components/AccessCodeTable/AccessCodeTable.js.map +1 -1
- package/lib/seam/components/AccessCodeTable/CodeDetails.d.ts +2 -2
- package/lib/seam/components/AccessCodeTable/CodeDetails.js +5 -2
- package/lib/seam/components/AccessCodeTable/CodeDetails.js.map +1 -1
- package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleCard.d.ts +1 -1
- package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleCard.js +3 -1
- package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleCard.js.map +1 -1
- package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDetails.d.ts +1 -1
- package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDetails.js +3 -1
- package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDetails.js.map +1 -1
- package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDeviceBar.d.ts +1 -1
- package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDeviceBar.js +3 -3
- package/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDeviceBar.js.map +1 -1
- package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleRow.d.ts +3 -3
- package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleRow.js.map +1 -1
- package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleRowDetails.d.ts +2 -2
- package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleRowDetails.js.map +1 -1
- package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.d.ts +2 -2
- package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.js +1 -1
- package/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.js.map +1 -1
- package/lib/seam/components/ConnectAccountButton/ConnectAccountButton.d.ts +1 -1
- package/lib/seam/components/ConnectAccountButton/ConnectAccountButton.js +2 -2
- package/lib/seam/components/CreateAccessCodeForm/CreateAccessCodeForm.d.ts +3 -3
- package/lib/seam/components/CreateAccessCodeForm/CreateAccessCodeForm.js +12 -9
- package/lib/seam/components/CreateAccessCodeForm/CreateAccessCodeForm.js.map +1 -1
- package/lib/seam/components/CreateClimateSettingScheduleForm/CreateClimateSettingScheduleForm.d.ts +1 -1
- package/lib/seam/components/CreateClimateSettingScheduleForm/CreateClimateSettingScheduleForm.js +1 -1
- package/lib/seam/components/DeviceDetails/DeviceDetails.d.ts +1 -1
- package/lib/seam/components/DeviceDetails/DeviceDetails.js +3 -1
- package/lib/seam/components/DeviceDetails/DeviceDetails.js.map +1 -1
- package/lib/seam/components/DeviceDetails/DeviceInfo.d.ts +3 -3
- package/lib/seam/components/DeviceDetails/DeviceInfo.js +3 -1
- package/lib/seam/components/DeviceDetails/DeviceInfo.js.map +1 -1
- package/lib/seam/components/DeviceDetails/DeviceModel.d.ts +3 -3
- package/lib/seam/components/DeviceDetails/LockDeviceDetails.d.ts +2 -2
- package/lib/seam/components/DeviceDetails/LockDeviceDetails.js +5 -5
- package/lib/seam/components/DeviceDetails/LockDeviceDetails.js.map +1 -1
- package/lib/seam/components/DeviceDetails/NoiseSensorDeviceDetails.d.ts +2 -2
- package/lib/seam/components/DeviceDetails/NoiseSensorDeviceDetails.js.map +1 -1
- package/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.d.ts +2 -2
- package/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.js +3 -3
- package/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.js.map +1 -1
- package/lib/seam/components/DeviceTable/DeviceHealthBar.d.ts +3 -4
- package/lib/seam/components/DeviceTable/DeviceHealthBar.js.map +1 -1
- package/lib/seam/components/DeviceTable/DeviceRow.d.ts +4 -3
- package/lib/seam/components/DeviceTable/DeviceRow.js +2 -2
- package/lib/seam/components/DeviceTable/DeviceRow.js.map +1 -1
- package/lib/seam/components/DeviceTable/DeviceTable.d.ts +3 -6
- package/lib/seam/components/DeviceTable/DeviceTable.js +4 -2
- package/lib/seam/components/DeviceTable/DeviceTable.js.map +1 -1
- package/lib/seam/components/EditAccessCodeForm/EditAccessCodeForm.d.ts +1 -1
- package/lib/seam/components/EditAccessCodeForm/EditAccessCodeForm.js +2 -2
- package/lib/seam/components/EditAccessCodeForm/EditAccessCodeForm.js.map +1 -1
- package/lib/seam/components/SupportedDeviceTable/FilterCategoryMenu.d.ts +1 -1
- package/lib/seam/components/SupportedDeviceTable/HiddenDevicesOverlay.d.ts +1 -1
- package/lib/seam/components/SupportedDeviceTable/ShowAllDevicesButton.d.ts +1 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.d.ts +1 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.js +2 -2
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.js.map +1 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContentRows.d.ts +3 -3
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceContentRows.js.map +1 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceManufacturerSection.d.ts +1 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceRow.d.ts +1 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceTable.d.ts +1 -1
- package/lib/seam/components/SupportedDeviceTable/SupportedDeviceTableManufacturerKeys.d.ts +1 -1
- package/lib/seam/components/SupportedDeviceTable/use-device-model.d.ts +2 -2
- package/lib/seam/components/SupportedDeviceTable/use-device-model.js +3 -4
- package/lib/seam/components/SupportedDeviceTable/use-device-model.js.map +1 -1
- package/lib/seam/components/SupportedDeviceTable/use-device-models.js +2 -4
- package/lib/seam/components/SupportedDeviceTable/use-device-models.js.map +1 -1
- package/lib/seam/components/SupportedDeviceTable/use-manufacturer.d.ts +2 -2
- package/lib/seam/components/SupportedDeviceTable/use-manufacturer.js +2 -3
- package/lib/seam/components/SupportedDeviceTable/use-manufacturer.js.map +1 -1
- package/lib/seam/components/SupportedDeviceTable/use-manufacturers.js +1 -3
- package/lib/seam/components/SupportedDeviceTable/use-manufacturers.js.map +1 -1
- package/lib/seam/components/common-props.d.ts +2 -2
- package/lib/seam/components/common-props.js.map +1 -1
- package/lib/seam/connect-webviews/use-create-connect-webview.d.ts +4 -3
- package/lib/seam/connect-webviews/use-create-connect-webview.js +3 -3
- package/lib/seam/connect-webviews/use-create-connect-webview.js.map +1 -1
- package/lib/seam/connected-accounts/use-connected-account.d.ts +3 -2
- package/lib/seam/connected-accounts/use-connected-account.js +2 -3
- package/lib/seam/connected-accounts/use-connected-account.js.map +1 -1
- package/lib/seam/devices/use-device-providers.d.ts +3 -2
- package/lib/seam/devices/use-device-providers.js.map +1 -1
- package/lib/seam/devices/use-device.d.ts +5 -4
- package/lib/seam/devices/use-device.js +2 -3
- package/lib/seam/devices/use-device.js.map +1 -1
- package/lib/seam/devices/use-devices.d.ts +4 -3
- package/lib/seam/devices/use-devices.js +2 -3
- package/lib/seam/devices/use-devices.js.map +1 -1
- package/lib/seam/events/use-events.d.ts +5 -4
- package/lib/seam/events/use-events.js +5 -5
- package/lib/seam/events/use-events.js.map +1 -1
- package/lib/seam/filters.d.ts +7 -7
- package/lib/seam/filters.js.map +1 -1
- package/lib/seam/locks/lock-device.d.ts +5 -0
- package/lib/seam/locks/lock-device.js +2 -0
- package/lib/seam/locks/lock-device.js.map +1 -0
- package/lib/seam/locks/use-toggle-lock.d.ts +16 -0
- package/lib/seam/locks/use-toggle-lock.js +59 -0
- package/lib/seam/locks/use-toggle-lock.js.map +1 -0
- package/lib/seam/noise-sensors/noise-sensor-device.d.ts +5 -0
- package/lib/seam/noise-sensors/noise-sensor-device.js +2 -0
- package/lib/seam/noise-sensors/noise-sensor-device.js.map +1 -0
- package/lib/seam/noise-sensors/use-noise-thresholds.d.ts +4 -3
- package/lib/seam/noise-sensors/use-noise-thresholds.js +2 -3
- package/lib/seam/noise-sensors/use-noise-thresholds.js.map +1 -1
- package/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedule.d.ts +3 -2
- package/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedule.js +2 -10
- package/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedule.js.map +1 -1
- package/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedules.d.ts +3 -2
- package/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedules.js +3 -4
- package/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedules.js.map +1 -1
- package/lib/seam/thermostats/climate-setting-schedules/use-create-climate-setting-schedule.d.ts +5 -3
- package/lib/seam/thermostats/climate-setting-schedules/use-create-climate-setting-schedule.js +10 -6
- package/lib/seam/thermostats/climate-setting-schedules/use-create-climate-setting-schedule.js.map +1 -1
- package/lib/seam/thermostats/climate-setting-schedules/use-delete-climate-setting-schedule.d.ts +5 -4
- package/lib/seam/thermostats/climate-setting-schedules/use-delete-climate-setting-schedule.js +13 -13
- package/lib/seam/thermostats/climate-setting-schedules/use-delete-climate-setting-schedule.js.map +1 -1
- package/lib/seam/thermostats/climate-setting-schedules/use-update-climate-setting-schedule.d.ts +5 -5
- package/lib/seam/thermostats/climate-setting-schedules/use-update-climate-setting-schedule.js +12 -17
- package/lib/seam/thermostats/climate-setting-schedules/use-update-climate-setting-schedule.js.map +1 -1
- package/lib/{temperature-bounds.d.ts → seam/thermostats/temperature-bounds.d.ts} +1 -1
- package/lib/{temperature-bounds.js → seam/thermostats/temperature-bounds.js} +4 -4
- package/lib/seam/thermostats/temperature-bounds.js.map +1 -0
- package/lib/seam/thermostats/thermostat-device.d.ts +17 -0
- package/lib/seam/thermostats/thermostat-device.js +2 -0
- package/lib/seam/thermostats/thermostat-device.js.map +1 -0
- package/lib/seam/thermostats/unit-conversion.d.ts +19 -0
- package/lib/seam/thermostats/unit-conversion.js +43 -0
- package/lib/seam/thermostats/unit-conversion.js.map +1 -0
- package/lib/seam/thermostats/use-cool-thermostat.d.ts +10 -4
- package/lib/seam/thermostats/use-cool-thermostat.js +34 -27
- package/lib/seam/thermostats/use-cool-thermostat.js.map +1 -1
- package/lib/seam/thermostats/use-heat-cool-thermostat.d.ts +10 -4
- package/lib/seam/thermostats/use-heat-cool-thermostat.js +34 -22
- package/lib/seam/thermostats/use-heat-cool-thermostat.js.map +1 -1
- package/lib/seam/thermostats/use-heat-thermostat.d.ts +10 -4
- package/lib/seam/thermostats/use-heat-thermostat.js +34 -27
- package/lib/seam/thermostats/use-heat-thermostat.js.map +1 -1
- package/lib/seam/thermostats/use-set-thermostat-fan-mode.d.ts +12 -0
- package/lib/seam/thermostats/use-set-thermostat-fan-mode.js +46 -0
- package/lib/seam/thermostats/use-set-thermostat-fan-mode.js.map +1 -0
- package/lib/seam/thermostats/use-set-thermostat-off.d.ts +10 -4
- package/lib/seam/thermostats/use-set-thermostat-off.js +36 -25
- package/lib/seam/thermostats/use-set-thermostat-off.js.map +1 -1
- package/lib/seam/thermostats/use-update-thermostat.d.ts +5 -5
- package/lib/seam/thermostats/use-update-thermostat.js +28 -27
- package/lib/seam/thermostats/use-update-thermostat.js.map +1 -1
- package/lib/seam/use-seam-client.d.ts +3 -3
- package/lib/seam/use-seam-client.js +5 -21
- package/lib/seam/use-seam-client.js.map +1 -1
- package/lib/seam/use-seam-query-result.d.ts +2 -2
- package/lib/ui/AccessCodeForm/AccessCodeForm.d.ts +5 -7
- package/lib/ui/AccessCodeForm/AccessCodeForm.js +9 -14
- package/lib/ui/AccessCodeForm/AccessCodeForm.js.map +1 -1
- package/lib/ui/AccessCodeForm/AccessCodeFormDatePicker.d.ts +1 -1
- package/lib/ui/AccessCodeForm/AccessCodeFormTimeZonePicker.d.ts +1 -1
- package/lib/ui/AccessCodeForm/AccessCodeFormTimes.d.ts +1 -1
- package/lib/ui/Checkbox.d.ts +1 -1
- package/lib/ui/ClimateSettingForm/ClimateSettingScheduleForm.d.ts +2 -2
- package/lib/ui/ClimateSettingForm/ClimateSettingScheduleForm.js +1 -1
- package/lib/ui/ClimateSettingForm/ClimateSettingScheduleForm.js.map +1 -1
- package/lib/ui/ClimateSettingForm/ClimateSettingScheduleFormClimateSetting.d.ts +1 -1
- package/lib/ui/ClimateSettingForm/ClimateSettingScheduleFormClimateSetting.js +3 -3
- package/lib/ui/ClimateSettingForm/ClimateSettingScheduleFormClimateSetting.js.map +1 -1
- package/lib/ui/ClimateSettingForm/ClimateSettingScheduleFormDefaultClimateSetting.d.ts +1 -1
- package/lib/ui/ClimateSettingForm/ClimateSettingScheduleFormDefaultClimateSetting.js.map +1 -1
- package/lib/ui/ClimateSettingForm/ClimateSettingScheduleFormDeviceSelect.d.ts +1 -1
- package/lib/ui/ClimateSettingForm/ClimateSettingScheduleFormNameAndSchedule.d.ts +1 -1
- package/lib/ui/ClimateSettingForm/ClimateSettingScheduleFormTimeZonePicker.d.ts +1 -1
- package/lib/ui/ClimateSettingForm/set-point-bounds.d.ts +4 -0
- package/lib/ui/ClimateSettingForm/set-point-bounds.js +17 -0
- package/lib/ui/ClimateSettingForm/set-point-bounds.js.map +1 -0
- package/lib/ui/DateTimePicker/DateTimePicker.d.ts +1 -1
- package/lib/ui/FormField.d.ts +1 -1
- package/lib/ui/IconButton.d.ts +1 -1
- package/lib/ui/LoadingToast/LoadingToast.d.ts +1 -1
- package/lib/ui/RadioField/Radio.d.ts +1 -1
- package/lib/ui/RadioField/RadioField.d.ts +1 -1
- package/lib/ui/Snackbar/Snackbar.d.ts +1 -1
- package/lib/ui/Spinner/Spinner.d.ts +1 -1
- package/lib/ui/Switch/Switch.d.ts +1 -1
- package/lib/ui/TabSet.d.ts +1 -1
- package/lib/ui/Table/EmptyPlaceholder.d.ts +1 -1
- package/lib/ui/Table/TableCell.d.ts +1 -1
- package/lib/ui/Table/TableFilterBar/TableFilterBar.d.ts +1 -1
- package/lib/ui/Table/TableFilterBar/TableFilterItem.d.ts +1 -1
- package/lib/ui/Table/TableRow.d.ts +1 -1
- package/lib/ui/TextButton.d.ts +1 -1
- package/lib/ui/TextField/SearchTextField.d.ts +1 -1
- package/lib/ui/TimeZonePicker/TimeZonePicker.d.ts +1 -1
- package/lib/ui/clipboard.d.ts +1 -1
- package/lib/ui/clipboard.js +2 -2
- package/lib/ui/clipboard.js.map +1 -1
- package/lib/ui/device/BatteryStatusIndicator.d.ts +7 -0
- package/lib/ui/device/{BatteryStatus.js → BatteryStatusIndicator.js} +2 -2
- package/lib/ui/device/BatteryStatusIndicator.js.map +1 -0
- package/lib/ui/device/DeviceImage.d.ts +2 -2
- package/lib/ui/device/LockStatus.d.ts +3 -3
- package/lib/ui/device/LockStatus.js +1 -1
- package/lib/ui/device/LockStatus.js.map +1 -1
- package/lib/ui/device/NoiseLevelStatus.d.ts +2 -2
- package/lib/ui/device/NoiseLevelStatus.js +10 -5
- package/lib/ui/device/NoiseLevelStatus.js.map +1 -1
- package/lib/ui/device/OnlineStatus.d.ts +4 -4
- package/lib/ui/device/OnlineStatus.js.map +1 -1
- package/lib/ui/layout/ContentHeader.d.ts +1 -1
- package/lib/ui/layout/DotDivider.d.ts +1 -1
- package/lib/ui/noise-sensor/NoiseSensorActivityList.d.ts +2 -2
- package/lib/ui/noise-sensor/NoiseSensorActivityList.js +4 -2
- package/lib/ui/noise-sensor/NoiseSensorActivityList.js.map +1 -1
- package/lib/ui/noise-sensor/NoiseSensorEventItem.d.ts +6 -3
- package/lib/ui/noise-sensor/NoiseSensorEventItem.js +4 -7
- package/lib/ui/noise-sensor/NoiseSensorEventItem.js.map +1 -1
- package/lib/ui/noise-sensor/NoiseThresholdsList.d.ts +2 -2
- package/lib/ui/noise-sensor/NoiseThresholdsList.js.map +1 -1
- package/lib/ui/thermostat/ClimateModeMenu.d.ts +2 -2
- package/lib/ui/thermostat/ClimateModeMenu.js.map +1 -1
- package/lib/ui/thermostat/ClimateSettingControlGroup.d.ts +2 -2
- package/lib/ui/thermostat/ClimateSettingControlGroup.js.map +1 -1
- package/lib/ui/thermostat/ClimateSettingStatus.d.ts +2 -2
- package/lib/ui/thermostat/ClimateSettingStatus.js +2 -2
- package/lib/ui/thermostat/ClimateSettingStatus.js.map +1 -1
- package/lib/ui/thermostat/FanModeMenu.d.ts +2 -2
- package/lib/ui/thermostat/FanModeMenu.js.map +1 -1
- package/lib/ui/thermostat/Temperature.d.ts +1 -1
- package/lib/ui/thermostat/TemperatureControl.d.ts +1 -1
- package/lib/ui/thermostat/TemperatureControlGroup.d.ts +2 -2
- package/lib/ui/thermostat/TemperatureControlGroup.js +1 -1
- package/lib/ui/thermostat/TemperatureControlGroup.js.map +1 -1
- package/lib/ui/thermostat/ThermoModeMenuOption.d.ts +1 -1
- package/lib/ui/thermostat/ThermostatCard.d.ts +2 -2
- package/lib/ui/thermostat/ThermostatCard.js +5 -4
- package/lib/ui/thermostat/ThermostatCard.js.map +1 -1
- package/lib/ui/thermostat/ThermostatSelect.d.ts +1 -1
- package/lib/ui/thermostat/ThermostatSelect.js +2 -2
- package/lib/ui/thermostat/ThermostatSelect.js.map +1 -1
- package/lib/ui/typography/Title.d.ts +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +7 -8
- package/src/index.scss +1 -1
- package/src/lib/icons/NoiseLevelsRed.tsx +33 -0
- package/src/lib/object.ts +13 -0
- package/src/lib/seam/SeamProvider.tsx +9 -4
- package/src/lib/seam/access-codes/use-access-code.ts +10 -16
- package/src/lib/seam/access-codes/use-access-codes.ts +11 -18
- package/src/lib/seam/access-codes/use-create-access-code.ts +21 -16
- package/src/lib/seam/access-codes/use-delete-access-code.ts +22 -22
- package/src/lib/seam/access-codes/use-generate-access-code-code.ts +17 -21
- package/src/lib/seam/access-codes/use-update-access-code.ts +33 -25
- package/src/lib/seam/client-sessions/use-client-session.ts +5 -10
- package/src/lib/seam/components/AccessCodeDetails/AccessCodeDetails.tsx +36 -23
- package/src/lib/seam/components/AccessCodeDetails/AccessCodeDevice.tsx +10 -7
- package/src/lib/seam/components/AccessCodeTable/AccessCodeHealthBar.tsx +2 -3
- package/src/lib/seam/components/AccessCodeTable/AccessCodeMainIcon.tsx +3 -2
- package/src/lib/seam/components/AccessCodeTable/AccessCodeMenu.tsx +5 -4
- package/src/lib/seam/components/AccessCodeTable/AccessCodeRow.tsx +3 -2
- package/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +3 -7
- package/src/lib/seam/components/AccessCodeTable/CodeDetails.tsx +12 -8
- package/src/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleCard.tsx +4 -4
- package/src/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDetails.tsx +3 -3
- package/src/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDeviceBar.tsx +6 -4
- package/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleRow.tsx +3 -2
- package/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleRowDetails.tsx +1 -1
- package/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +3 -6
- package/src/lib/seam/components/ConnectAccountButton/ConnectAccountButton.tsx +2 -2
- package/src/lib/seam/components/CreateAccessCodeForm/CreateAccessCodeForm.tsx +20 -16
- package/src/lib/seam/components/CreateClimateSettingScheduleForm/CreateClimateSettingScheduleForm.tsx +1 -1
- package/src/lib/seam/components/DeviceDetails/DeviceDetails.tsx +3 -2
- package/src/lib/seam/components/DeviceDetails/DeviceInfo.tsx +5 -3
- package/src/lib/seam/components/DeviceDetails/DeviceModel.tsx +2 -2
- package/src/lib/seam/components/DeviceDetails/LockDeviceDetails.tsx +6 -6
- package/src/lib/seam/components/DeviceDetails/NoiseSensorDeviceDetails.tsx +1 -1
- package/src/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.tsx +7 -4
- package/src/lib/seam/components/DeviceTable/DeviceHealthBar.tsx +6 -3
- package/src/lib/seam/components/DeviceTable/DeviceRow.tsx +5 -7
- package/src/lib/seam/components/DeviceTable/DeviceTable.tsx +7 -14
- package/src/lib/seam/components/EditAccessCodeForm/EditAccessCodeForm.tsx +6 -7
- package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceContent.tsx +3 -4
- package/src/lib/seam/components/SupportedDeviceTable/SupportedDeviceContentRows.tsx +3 -2
- package/src/lib/seam/components/SupportedDeviceTable/use-device-model.ts +9 -14
- package/src/lib/seam/components/SupportedDeviceTable/use-device-models.ts +5 -9
- package/src/lib/seam/components/SupportedDeviceTable/use-manufacturer.ts +7 -12
- package/src/lib/seam/components/SupportedDeviceTable/use-manufacturers.ts +4 -8
- package/src/lib/seam/components/common-props.tsx +8 -4
- package/src/lib/seam/connect-webviews/use-create-connect-webview.ts +15 -17
- package/src/lib/seam/connected-accounts/use-connected-account.ts +17 -21
- package/src/lib/seam/devices/use-device-providers.ts +8 -11
- package/src/lib/seam/devices/use-device.ts +9 -18
- package/src/lib/seam/devices/use-devices.ts +20 -26
- package/src/lib/seam/events/use-events.ts +12 -14
- package/src/lib/seam/filters.ts +9 -8
- package/src/lib/seam/locks/lock-device.ts +9 -0
- package/src/lib/seam/locks/use-toggle-lock.ts +103 -0
- package/src/lib/seam/noise-sensors/noise-sensor-device.ts +10 -0
- package/src/lib/seam/noise-sensors/use-noise-thresholds.ts +12 -15
- package/src/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedule.ts +10 -23
- package/src/lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedules.ts +13 -13
- package/src/lib/seam/thermostats/climate-setting-schedules/use-create-climate-setting-schedule.ts +30 -25
- package/src/lib/seam/thermostats/climate-setting-schedules/use-delete-climate-setting-schedule.ts +26 -28
- package/src/lib/seam/thermostats/climate-setting-schedules/use-update-climate-setting-schedule.ts +32 -41
- package/src/lib/{temperature-bounds.ts → seam/thermostats/temperature-bounds.ts} +8 -5
- package/src/lib/seam/thermostats/thermostat-device.ts +43 -0
- package/src/lib/seam/thermostats/unit-conversion.ts +89 -0
- package/src/lib/seam/thermostats/use-cool-thermostat.ts +77 -47
- package/src/lib/seam/thermostats/use-heat-cool-thermostat.ts +89 -40
- package/src/lib/seam/thermostats/use-heat-thermostat.ts +77 -47
- package/src/lib/seam/thermostats/use-set-thermostat-fan-mode.ts +95 -0
- package/src/lib/seam/thermostats/use-set-thermostat-off.ts +64 -40
- package/src/lib/seam/thermostats/use-update-thermostat.ts +47 -49
- package/src/lib/seam/use-seam-client.ts +11 -22
- package/src/lib/seam/use-seam-query-result.ts +2 -2
- package/src/lib/ui/AccessCodeForm/AccessCodeForm.tsx +18 -24
- package/src/lib/ui/ClimateSettingForm/ClimateSettingScheduleForm.tsx +4 -4
- package/src/lib/ui/ClimateSettingForm/ClimateSettingScheduleFormClimateSetting.tsx +6 -3
- package/src/lib/ui/ClimateSettingForm/ClimateSettingScheduleFormDefaultClimateSetting.tsx +1 -1
- package/src/lib/ui/ClimateSettingForm/set-point-bounds.ts +31 -0
- package/src/lib/ui/clipboard.ts +1 -1
- package/src/lib/ui/device/{BatteryStatus.tsx → BatteryStatusIndicator.tsx} +10 -5
- package/src/lib/ui/device/DeviceImage.tsx +2 -2
- package/src/lib/ui/device/LockStatus.tsx +3 -2
- package/src/lib/ui/device/NoiseLevelStatus.tsx +17 -5
- package/src/lib/ui/device/OnlineStatus.tsx +3 -3
- package/src/lib/ui/noise-sensor/NoiseSensorActivityList.tsx +15 -6
- package/src/lib/ui/noise-sensor/NoiseSensorEventItem.tsx +13 -9
- package/src/lib/ui/noise-sensor/NoiseThresholdsList.tsx +4 -3
- package/src/lib/ui/thermostat/ClimateModeMenu.tsx +1 -2
- package/src/lib/ui/thermostat/ClimateSettingControlGroup.tsx +1 -2
- package/src/lib/ui/thermostat/ClimateSettingStatus.tsx +2 -3
- package/src/lib/ui/thermostat/FanModeMenu.tsx +1 -2
- package/src/lib/ui/thermostat/TemperatureControlGroup.tsx +2 -2
- package/src/lib/ui/thermostat/ThermostatCard.tsx +11 -8
- package/src/lib/ui/thermostat/ThermostatSelect.tsx +4 -10
- package/src/lib/version.ts +1 -1
- package/lib/seam/devices/use-toggle-lock.d.ts +0 -5
- package/lib/seam/devices/use-toggle-lock.js +0 -56
- package/lib/seam/devices/use-toggle-lock.js.map +0 -1
- package/lib/seam/error-handlers.d.ts +0 -5
- package/lib/seam/error-handlers.js +0 -12
- package/lib/seam/error-handlers.js.map +0 -1
- package/lib/seam/thermostats/use-update-fan-mode.d.ts +0 -6
- package/lib/seam/thermostats/use-update-fan-mode.js +0 -42
- package/lib/seam/thermostats/use-update-fan-mode.js.map +0 -1
- package/lib/set-point-bounds.d.ts +0 -4
- package/lib/set-point-bounds.js +0 -24
- package/lib/set-point-bounds.js.map +0 -1
- package/lib/temperature-bounds.js.map +0 -1
- package/lib/ui/device/BatteryStatus.d.ts +0 -7
- package/lib/ui/device/BatteryStatus.js.map +0 -1
- package/src/lib/seam/devices/use-toggle-lock.ts +0 -84
- package/src/lib/seam/error-handlers.ts +0 -19
- package/src/lib/seam/thermostats/use-update-fan-mode.ts +0 -81
- package/src/lib/set-point-bounds.ts +0 -39
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoiseThresholdsList.js","sourceRoot":"","sources":["../../../src/lib/ui/noise-sensor/NoiseThresholdsList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"NoiseThresholdsList.js","sourceRoot":"","sources":["../../../src/lib/ui/noise-sensor/NoiseThresholdsList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAMlE,MAAM,UAAU,mBAAmB,CAAC,EAClC,MAAM,GACmB;IACzB,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC;QAC/D,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAA;IAEF,OAAO,CACL,MAAC,kBAAkB,eACjB,cAAK,SAAS,EAAC,kCAAkC,YAC/C,KAAC,YAAY,IACX,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,CAAC,CAAC,OAAO,EAChB,GAAG,EAAC,MAAM,GACV,GACE,EAEN,eAAK,SAAS,EAAC,0BAA0B,aACvC,KAAC,aAAa,IACZ,KAAK,EAAE,CAAC,CAAC,eAAe,EACxB,cAAc,EACZ,MAAM,CAAC,WAAW,KAAK,cAAc,CAAC,CAAC,CAAC,CACtC,eAAK,SAAS,EAAC,2CAA2C,aACxD,eAAM,SAAS,EAAC,sBAAsB,YACnC,CAAC,CAAC,iBAAiB,GACf,EACP,eAAM,SAAS,EAAC,sBAAsB,YACnC,CAAC,CAAC,kBAAkB,GAChB,IACH,CACP,CAAC,CAAC,CAAC,CACF,CAAC,CAAC,OAAO,CACV,YAGH,KAAC,OAAO,IAAC,eAAe,EAAE,eAAe,GAAI,GAC/B,EAEhB,eAAK,SAAS,EAAC,4BAA4B,aACzC,cAAK,SAAS,EAAC,gBAAgB,GAAG,EAClC,cAAK,SAAS,EAAC,oCAAoC,YACjD,cAAK,SAAS,EAAC,yCAAyC,YACtD,sBAAI,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC,GAAK,GAChD,GACF,IACF,IACF,IACa,CACtB,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,EACf,eAAe,GAGhB;IACC,IAAI,eAAe,IAAI,IAAI,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,CACL,KAAC,SAAS,IACR,KAAK,EAAE,eAAM,SAAS,EAAC,6BAA6B,YAAE,CAAC,CAAC,IAAI,GAAQ,GACpE,CACH,CAAA;IACH,CAAC;IAED,OAAO,eAAe,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAC9C,KAAC,SAAS,IAER,KAAK,EACH,eAAK,SAAS,EAAC,8BAA8B,aAC1C,cAAc,CAAC,IAAI,KAAK,EAAE,IAAI,CAC7B,eAAM,SAAS,EAAC,uBAAuB,YAAE,cAAc,CAAC,IAAI,GAAQ,CACrE,EACD,eAAK,SAAS,EAAC,6BAA6B,aAC1C,eAAM,SAAS,EAAC,kDAAkD,YAC/D,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,GACtC,EACP,KAAC,cAAc,KAAG,EAClB,eAAM,SAAS,EAAC,kDAAkD,YAC/D,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,GACpC,IACH,IACF,YAGR,wBACG,cAAc,CAAC,wBAAwB,OAAG,CAAC,CAAC,OAAO,IAClD,IApBC,cAAc,CAAC,kBAAkB,CAqB5B,CACb,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,kBAAkB,GAAG,CACzB,MAAyB,EACzB,UAAwC,EACzB,EAAE;IACjB,IAAI,MAAM,CAAC,QAAQ,EAAE,QAAQ,IAAI,IAAI,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC,CAAC,UAAU,IAAI,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;IACtE,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;IAEtC,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;QAChE,OAAO,GAAG,CAAC,CAAC,UAAU,IAAI,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAA;IAChE,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,GAAG;IACR,eAAe,EAAE,kBAAkB;IACnC,OAAO,EACL,2GAA2G;IAC7G,iBAAiB,EACf,yEAAyE;IAC3E,kBAAkB,EAChB,wFAAwF;IAC1F,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,cAAc;CAC3B,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="react"
|
|
2
|
-
import type { HvacModeSetting } from '
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { HvacModeSetting } from '../../../lib/seam/thermostats/thermostat-device.js';
|
|
3
3
|
interface ClimateModeMenuProps {
|
|
4
4
|
mode: HvacModeSetting;
|
|
5
5
|
onChange: (mode: HvacModeSetting) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClimateModeMenu.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/ClimateModeMenu.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ClimateModeMenu.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/ClimateModeMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAExE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAQhF,MAAM,UAAU,eAAe,CAAC,EAC9B,IAAI,EACJ,QAAQ,EACR,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,GAChC;IACrB,OAAO,CACL,KAAC,IAAI,IACH,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAC5B,kBAAQ,OAAO,EAAE,MAAM,EAAE,SAAS,EAAC,+BAA+B,aAChE,cAAK,SAAS,EAAC,oCAAoC,YACjD,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,GAAI,GACpB,EACN,KAAC,eAAe,KAAG,IACZ,CACV,EACD,cAAc,EAAE,CAAC,GAAG,EACpB,gBAAgB,EAAE,CAAC,EAAE,EACrB,eAAe,EAAE;YACf,SAAS,EAAE,uBAAuB;SACnC,YAEA,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACzB,KAAC,oBAAoB,IAEnB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EACX,IAAI,EAAE,KAAC,QAAQ,IAAC,IAAI,EAAE,CAAC,GAAI,EAC3B,UAAU,EAAE,IAAI,KAAK,CAAC,EACtB,OAAO,EAAE,GAAG,EAAE;gBACZ,QAAQ,CAAC,CAAC,CAAC,CAAA;YACb,CAAC,IANI,CAAC,CAON,CACH,CAAC,GACG,CACR,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAgC;IAChD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,KAAC,kBAAkB,KAAG,CAAA;QAC/B,KAAK,MAAM;YACT,OAAO,KAAC,kBAAkB,KAAG,CAAA;QAC/B,KAAK,WAAW;YACd,OAAO,KAAC,sBAAsB,KAAG,CAAA;QACnC,KAAK,KAAK;YACR,OAAO,KAAC,OAAO,KAAG,CAAA;IACtB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,aAAa;IACxB,GAAG,EAAE,KAAK;CACX,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="react"
|
|
2
|
-
import type { HvacModeSetting } from '
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { HvacModeSetting } from '../../../lib/seam/thermostats/thermostat-device.js';
|
|
3
3
|
import { type TemperatureControlGroupProps } from '../../../lib/ui/thermostat/TemperatureControlGroup.js';
|
|
4
4
|
type ClimateSettingControlGroupProps = Omit<TemperatureControlGroupProps, 'mode'> & {
|
|
5
5
|
mode: HvacModeSetting;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClimateSettingControlGroup.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/ClimateSettingControlGroup.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ClimateSettingControlGroup.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/ClimateSettingControlGroup.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EACL,uBAAuB,GAExB,MAAM,8CAA8C,CAAA;AAUrD,MAAM,UAAU,0BAA0B,CACxC,KAAsC;IAEtC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAC7C,OAAO,CACL,eAAK,SAAS,EAAC,oCAAoC,aACjD,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,GAAI,EAEtD,IAAI,KAAK,KAAK,IAAI,CACjB,cAAK,SAAS,EAAC,uCAAuC,YACpD,KAAC,uBAAuB,IAAC,IAAI,EAAE,IAAI,KAAM,IAAI,GAAI,GAC7C,CACP,IACG,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="react"
|
|
2
|
-
import type { ClimateSetting } from '
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { ClimateSetting } from '../../../lib/seam/thermostats/thermostat-device.js';
|
|
3
3
|
interface ClimateSettingStatusProps {
|
|
4
4
|
climateSetting: ClimateSetting;
|
|
5
5
|
temperatureUnit?: 'fahrenheit' | 'celsius';
|
|
@@ -31,9 +31,9 @@ function Content(props) {
|
|
|
31
31
|
return _jsx("span", { children: t.off });
|
|
32
32
|
return null;
|
|
33
33
|
}
|
|
34
|
-
|
|
34
|
+
const isSetPoint = (setPoint) => {
|
|
35
35
|
return setPoint.fahrenheit != null && setPoint.celsius != null;
|
|
36
|
-
}
|
|
36
|
+
};
|
|
37
37
|
const t = {
|
|
38
38
|
off: 'Off',
|
|
39
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClimateSettingStatus.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/ClimateSettingStatus.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ClimateSettingStatus.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/ClimateSettingStatus.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAQ9D,MAAM,UAAU,oBAAoB,CAAC,EACnC,cAAc,EACd,eAAe,GAAG,YAAY,EAC9B,aAAa,GAAG,MAAM,GACI;IAC1B,OAAO,CACL,eAAK,SAAS,EAAC,6BAA6B,aACzC,aAAa,KAAK,MAAM,IAAI,CAC3B,KAAC,kBAAkB,IAAC,IAAI,EAAE,cAAc,CAAC,iBAAiB,GAAI,CAC/D,EACD,KAAC,OAAO,IACN,IAAI,EAAE,cAAc,CAAC,iBAAiB,EACtC,eAAe,EAAE;oBACf,UAAU,EAAE,cAAc,CAAC,4BAA4B;oBACvD,OAAO,EAAE,cAAc,CAAC,yBAAyB;iBAClD,EACD,eAAe,EAAE;oBACf,UAAU,EAAE,cAAc,CAAC,4BAA4B;oBACvD,OAAO,EAAE,cAAc,CAAC,yBAAyB;iBAClD,EACD,eAAe,EAAE,eAAe,GAChC,EACD,aAAa,KAAK,OAAO,IAAI,CAC5B,KAAC,kBAAkB,IAAC,IAAI,EAAE,cAAc,CAAC,iBAAiB,GAAI,CAC/D,IACG,CACP,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAE3B;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAEtB,OAAO,CACL,eAAK,SAAS,EAAC,kCAAkC,aAC9C,IAAI,KAAK,MAAM,IAAI,KAAC,kBAAkB,KAAG,EACzC,IAAI,KAAK,MAAM,IAAI,KAAC,kBAAkB,KAAG,EACzC,IAAI,KAAK,WAAW,IAAI,KAAC,sBAAsB,KAAG,EAClD,IAAI,KAAK,KAAK,IAAI,KAAC,iBAAiB,KAAG,IACpC,CACP,CAAA;AACH,CAAC;AAOD,SAAS,OAAO,CAAC,KAKhB;IACC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,KAAK,CAAA;IAEzE,IAAI,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,eAAe,CAAC;QAChD,OAAO,KAAC,WAAW,OAAK,eAAe,EAAE,IAAI,EAAE,eAAe,GAAI,CAAA;IAEpE,IAAI,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,eAAe,CAAC;QAChD,OAAO,KAAC,WAAW,OAAK,eAAe,EAAE,IAAI,EAAE,eAAe,GAAI,CAAA;IAEpE,IACE,IAAI,KAAK,WAAW;QACpB,UAAU,CAAC,eAAe,CAAC;QAC3B,UAAU,CAAC,eAAe,CAAC;QAE3B,OAAO,CACL,2BACE,KAAC,WAAW,OAAK,eAAe,EAAE,IAAI,EAAE,eAAe,GAAI,EAC1D,KAAK,EACN,KAAC,WAAW,OAAK,eAAe,EAAE,IAAI,EAAE,eAAe,GAAI,IACtD,CACR,CAAA;IAEH,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,yBAAO,CAAC,CAAC,GAAG,GAAQ,CAAA;IAE/C,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,QAA2B,EAAwB,EAAE;IACvE,OAAO,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAA;AAChE,CAAC,CAAA;AAED,MAAM,CAAC,GAAG;IACR,GAAG,EAAE,KAAK;CACX,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="react"
|
|
2
|
-
import type { FanModeSetting } from '
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { FanModeSetting } from '../../../lib/seam/thermostats/thermostat-device.js';
|
|
3
3
|
interface FanModeMenuProps {
|
|
4
4
|
mode: FanModeSetting;
|
|
5
5
|
onChange: (mode: FanModeSetting) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FanModeMenu.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/FanModeMenu.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"FanModeMenu.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/FanModeMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAEhF,MAAM,KAAK,GAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAO9C,MAAM,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAoB;IAC9D,OAAO,CACL,KAAC,IAAI,IACH,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAC5B,kBAAQ,OAAO,EAAE,MAAM,EAAE,SAAS,EAAC,2BAA2B,aAC5D,eAAK,SAAS,EAAC,iCAAiC,aAC9C,KAAC,cAAc,KAAG,EAClB,eAAM,SAAS,EAAC,gCAAgC,YAC7C,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAC3B,IACH,EACN,KAAC,eAAe,KAAG,IACZ,CACV,EACD,gBAAgB,EAAE,CAAC,EAAE,EACrB,eAAe,EAAE;YACf,SAAS,EAAE,uBAAuB;SACnC,YAEA,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,KAAC,oBAAoB,IAEnB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EACX,IAAI,EAAE,KAAC,OAAO,KAAG,EACjB,UAAU,EAAE,IAAI,KAAK,CAAC,EACtB,OAAO,EAAE,GAAG,EAAE;gBACZ,QAAQ,CAAC,CAAC,CAAC,CAAA;YACb,CAAC,IANI,CAAC,CAON,CACH,CAAC,GACG,CACR,CAAA;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,IAAI;CACT,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="react"
|
|
2
|
-
import type { HvacModeSetting } from '
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { HvacModeSetting } from '../../../lib/seam/thermostats/thermostat-device.js';
|
|
3
3
|
export interface TemperatureControlGroupProps {
|
|
4
4
|
mode: Exclude<HvacModeSetting, 'off'>;
|
|
5
5
|
heatValue: number;
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useCallback, useEffect, useMemo } from 'react';
|
|
3
3
|
import { ThermostatCoolLargeIcon } from '../../../lib/icons/ThermostatCoolLarge.js';
|
|
4
4
|
import { ThermostatHeatLargeIcon } from '../../../lib/icons/ThermostatHeatLarge.js';
|
|
5
|
-
import { getCoolBounds, getHeatBounds, getTemperatureBounds, } from '../../../lib/temperature-bounds.js';
|
|
5
|
+
import { getCoolBounds, getHeatBounds, getTemperatureBounds, } from '../../../lib/seam/thermostats/temperature-bounds.js';
|
|
6
6
|
import { TemperatureControl } from '../../../lib/ui/thermostat/TemperatureControl.js';
|
|
7
7
|
export function TemperatureControlGroup({ mode, heatValue, onHeatValueChange, coolValue, onCoolValueChange, delta = 5, minHeat = 60, maxHeat = 90, minCool = 60, maxCool = 90, }) {
|
|
8
8
|
const showHeat = mode === 'heat' || mode === 'heat_cool';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemperatureControlGroup.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/TemperatureControlGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TemperatureControlGroup.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/TemperatureControlGroup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="react"
|
|
2
|
-
import type { ThermostatDevice } from '
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { ThermostatDevice } from '../../../lib/seam/thermostats/thermostat-device.js';
|
|
3
3
|
interface ThermostatCardProps {
|
|
4
4
|
device: ThermostatDevice;
|
|
5
5
|
}
|
|
@@ -16,10 +16,11 @@ function Content(props) {
|
|
|
16
16
|
setTemperatureUnit(temperatureUnit === 'fahrenheit' ? 'celsius' : 'fahrenheit');
|
|
17
17
|
};
|
|
18
18
|
const { temperature_fahrenheit: temperatureFahrenheit, temperature_celsius: temperatureCelsius, current_climate_setting: currentClimateSetting, is_fan_running: isFanRunning, relative_humidity: relativeHumidity, } = device.properties;
|
|
19
|
-
const systemStatus = getSystemStatus(device
|
|
20
|
-
return (_jsxs("div", { className: 'seam-thermostat-card-content', children: [_jsx("div", { className: 'seam-thermostat-card-image-wrap', children: _jsx(DeviceImage, { device: device }) }), _jsxs("div", { className: 'seam-thermostat-card-details', children: [_jsxs("div", { className: 'seam-thermostat-heading-wrap', children: [_jsx("h4", { className: 'seam-thermostat-card-heading', children: device.properties.name }), _jsx("button", { onClick: toggleTemperatureUnit, className: 'seam-thermostat-temperature-toggle', children: _jsx("span", { className: 'seam-thermostat-temperature-toggle-label', children: temperatureUnit === 'fahrenheit' ? t.fahrenheit : t.celsius }) })] }), _jsx("div", { className: 'seam-thermostat-properties-wrap', children: _jsxs("div", { className: 'seam-thermostat-properties', children: [_jsx("div", { className: 'seam-thermostat-property-block', children: _jsxs("p", { className: 'seam-thermostat-property-label', children: [t.temperature, ":"] }) }), _jsxs("div", { className: 'seam-thermostat-property-block', children: [_jsx("p", { className: 'seam-thermostat-property-value', children: _jsx(Temperature, { fahrenheit: temperatureFahrenheit, celsius: temperatureCelsius, unit: temperatureUnit }) }), _jsx("p", { className: 'seam-thermostat-property-value', children: "|" }), _jsxs("p", { className: 'seam-thermostat-property-label', children: [t.humidity, ":"] }), _jsxs("p", { className: 'seam-thermostat-property-value', children: [relativeHumidity * 100, "%"] })] }), _jsx("div", { className: 'seam-thermostat-property-block', children: _jsxs("p", { className: 'seam-thermostat-property-label', children: [t.setting, ":"] }) }), _jsx("div", { className: 'seam-thermostat-property-block', children: _jsx(ClimateSettingStatus, { climateSetting: currentClimateSetting, temperatureUnit: temperatureUnit }) }), _jsx("div", { className: 'seam-thermostat-property-block', children: _jsxs("p", { className: 'seam-thermostat-property-label', children: [t.fanMode, ":"] }) }), _jsxs("div", { className: 'seam-thermostat-property-block seam-thermostat-property-icon-block', children: [_jsx("div", { className: 'seam-thermostat-property-icon', children: isFanRunning ? _jsx(FanIcon, {}) : _jsx(OffIcon, {}) }), _jsx("p", { className: 'seam-thermostat-property-value', children: isFanRunning ? t.auto : t.off })] }), _jsx("div", { className: 'seam-thermostat-property-block', children: _jsxs("p", { className: 'seam-thermostat-property-label', children: [t.systemStatus, ":"] }) }), _jsx("div", { className: 'seam-thermostat-property-block', children: _jsx("div", { className: classNames('seam-thermostat-property-tag', `seam-thermostat-property-tag-${systemStatus}`), children: _jsx("p", { className: 'seam-thermostat-property-tag-label', children: systemStatus === 'off' ? '--' : t[systemStatus] }) }) })] }) })] })] }));
|
|
19
|
+
const systemStatus = getSystemStatus(device);
|
|
20
|
+
return (_jsxs("div", { className: 'seam-thermostat-card-content', children: [_jsx("div", { className: 'seam-thermostat-card-image-wrap', children: _jsx(DeviceImage, { device: device }) }), _jsxs("div", { className: 'seam-thermostat-card-details', children: [_jsxs("div", { className: 'seam-thermostat-heading-wrap', children: [_jsx("h4", { className: 'seam-thermostat-card-heading', children: device.properties.name }), _jsx("button", { onClick: toggleTemperatureUnit, className: 'seam-thermostat-temperature-toggle', children: _jsx("span", { className: 'seam-thermostat-temperature-toggle-label', children: temperatureUnit === 'fahrenheit' ? t.fahrenheit : t.celsius }) })] }), _jsx("div", { className: 'seam-thermostat-properties-wrap', children: _jsxs("div", { className: 'seam-thermostat-properties', children: [_jsx("div", { className: 'seam-thermostat-property-block', children: _jsxs("p", { className: 'seam-thermostat-property-label', children: [t.temperature, ":"] }) }), _jsxs("div", { className: 'seam-thermostat-property-block', children: [_jsx("p", { className: 'seam-thermostat-property-value', children: _jsx(Temperature, { fahrenheit: temperatureFahrenheit, celsius: temperatureCelsius, unit: temperatureUnit }) }), _jsx("p", { className: 'seam-thermostat-property-value', children: "|" }), _jsxs("p", { className: 'seam-thermostat-property-label', children: [t.humidity, ":"] }), relativeHumidity != null && (_jsxs("p", { className: 'seam-thermostat-property-value', children: [relativeHumidity * 100, "%"] }))] }), _jsx("div", { className: 'seam-thermostat-property-block', children: _jsxs("p", { className: 'seam-thermostat-property-label', children: [t.setting, ":"] }) }), _jsx("div", { className: 'seam-thermostat-property-block', children: _jsx(ClimateSettingStatus, { climateSetting: currentClimateSetting, temperatureUnit: temperatureUnit }) }), _jsx("div", { className: 'seam-thermostat-property-block', children: _jsxs("p", { className: 'seam-thermostat-property-label', children: [t.fanMode, ":"] }) }), _jsxs("div", { className: 'seam-thermostat-property-block seam-thermostat-property-icon-block', children: [_jsx("div", { className: 'seam-thermostat-property-icon', children: isFanRunning ? _jsx(FanIcon, {}) : _jsx(OffIcon, {}) }), _jsx("p", { className: 'seam-thermostat-property-value', children: isFanRunning ? t.auto : t.off })] }), _jsx("div", { className: 'seam-thermostat-property-block', children: _jsxs("p", { className: 'seam-thermostat-property-label', children: [t.systemStatus, ":"] }) }), _jsx("div", { className: 'seam-thermostat-property-block', children: _jsx("div", { className: classNames('seam-thermostat-property-tag', `seam-thermostat-property-tag-${systemStatus}`), children: _jsx("p", { className: 'seam-thermostat-property-tag-label', children: systemStatus === 'off' ? '--' : t[systemStatus] }) }) })] }) })] })] }));
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
const getSystemStatus = (device) => {
|
|
23
|
+
const { properties } = device;
|
|
23
24
|
const { is_heating: isHeating, is_cooling: isCooling, is_fan_running: isFanRunning, } = properties;
|
|
24
25
|
if (isHeating)
|
|
25
26
|
return 'heating';
|
|
@@ -28,7 +29,7 @@ function getSystemStatus(properties) {
|
|
|
28
29
|
if (isFanRunning)
|
|
29
30
|
return 'fan';
|
|
30
31
|
return 'off';
|
|
31
|
-
}
|
|
32
|
+
};
|
|
32
33
|
const t = {
|
|
33
34
|
fahrenheit: '˚F',
|
|
34
35
|
celsius: '˚C',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThermostatCard.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/ThermostatCard.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ThermostatCard.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/ThermostatCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { defaultDeviceFilter, DeviceTable } from '../../../lib/index.js';
|
|
3
|
+
import { isThermostatDevice } from '../../../lib/seam/thermostats/thermostat-device.js';
|
|
4
4
|
const deviceFilter = (device, searchInputValue) => {
|
|
5
5
|
if (!isThermostatDevice(device))
|
|
6
6
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThermostatSelect.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/ThermostatSelect.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ThermostatSelect.js","sourceRoot":"","sources":["../../../src/lib/ui/thermostat/ThermostatSelect.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAM9E,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,gBAAwB,EAAW,EAAE;IACzE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7C,OAAO,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,GACc;IACtB,OAAO,CACL,KAAC,WAAW,IACV,YAAY,EAAE,YAAY,EAC1B,2BAA2B,QAC3B,aAAa,EAAE,QAAQ,GACvB,CACH,CAAA;AACH,CAAC"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const seamapiReactVersion = "
|
|
1
|
+
declare const seamapiReactVersion = "3.0.0-beta.1";
|
|
2
2
|
export default seamapiReactVersion;
|
package/lib/version.js
CHANGED
package/lib/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/lib/version.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/lib/version.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,cAAc,CAAA;AAE1C,eAAe,mBAAmB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seamapi/react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0-beta.1",
|
|
4
4
|
"description": "Seam Components.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -127,13 +127,13 @@
|
|
|
127
127
|
}
|
|
128
128
|
},
|
|
129
129
|
"dependencies": {
|
|
130
|
-
"@
|
|
130
|
+
"@seamapi/http": "^1.0.0",
|
|
131
|
+
"@tanstack/react-query": "^5.27.5",
|
|
131
132
|
"classnames": "^2.3.2",
|
|
132
133
|
"luxon": "^3.3.0",
|
|
133
134
|
"queue": "^7.0.0",
|
|
134
135
|
"react-hook-form": "^7.46.1",
|
|
135
|
-
"
|
|
136
|
-
"uuid": "^9.0.0",
|
|
136
|
+
"uuid": "^10.0.0",
|
|
137
137
|
"zoned-time": "^1.1.2"
|
|
138
138
|
},
|
|
139
139
|
"devDependencies": {
|
|
@@ -143,9 +143,8 @@
|
|
|
143
143
|
"@rollup/plugin-replace": "^5.0.5",
|
|
144
144
|
"@rxfork/r2wc-react-to-web-component": "^2.4.0",
|
|
145
145
|
"@seamapi/fake-devicedb": "^1.6.0",
|
|
146
|
-
"@seamapi/fake-seam-connect": "^1.
|
|
147
|
-
"@seamapi/
|
|
148
|
-
"@seamapi/types": "^1.138.1",
|
|
146
|
+
"@seamapi/fake-seam-connect": "^1.69.1",
|
|
147
|
+
"@seamapi/types": "^1.199.0",
|
|
149
148
|
"@storybook/addon-designs": "^7.0.1",
|
|
150
149
|
"@storybook/addon-essentials": "^7.0.2",
|
|
151
150
|
"@storybook/addon-links": "^7.0.2",
|
|
@@ -159,7 +158,7 @@
|
|
|
159
158
|
"@types/node": "^20.11.27",
|
|
160
159
|
"@types/react": "^18.0.33",
|
|
161
160
|
"@types/react-dom": "^18.0.11",
|
|
162
|
-
"@types/uuid": "^
|
|
161
|
+
"@types/uuid": "^10.0.0",
|
|
163
162
|
"@vercel/node": "^3.0.7",
|
|
164
163
|
"@vitejs/plugin-react": "^4.0.0",
|
|
165
164
|
"@vitest/coverage-v8": "^0.34.4",
|
package/src/index.scss
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@use './styles/main
|
|
1
|
+
@use './styles/main';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Automatically generated by SVGR from assets/icons/*.svg.
|
|
3
|
+
* Do not edit this file or add other components to this directory.
|
|
4
|
+
*/
|
|
5
|
+
import type { SVGProps } from 'react'
|
|
6
|
+
export function NoiseLevelsRedIcon(
|
|
7
|
+
props: SVGProps<SVGSVGElement>
|
|
8
|
+
): JSX.Element {
|
|
9
|
+
return (
|
|
10
|
+
<svg
|
|
11
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
12
|
+
width={18}
|
|
13
|
+
height={19}
|
|
14
|
+
fill='none'
|
|
15
|
+
{...props}
|
|
16
|
+
>
|
|
17
|
+
<path
|
|
18
|
+
fill='#9DA1A9'
|
|
19
|
+
fillRule='evenodd'
|
|
20
|
+
d='M8.744 5.47q.046-.09.097-.18c.547-.966 1.534-1.77 3.412-1.77 1.016 0 1.76.259 2.302.638.546.381.934.916 1.186 1.537.516 1.273.415 2.81-.006 3.762-.362.816-.915 1.949-1.477 3.1-.464.952-.935 1.916-1.308 2.724-.603 1.303-1.939 1.383-2.55.842-.453-.401-.624-.87-.659-1.273-.018-.206 0-.389.034-.528a.7.7 0 0 1 .062-.18l-.002.003a.767.767 0 0 0-.88-1.203 9.5 9.5 0 0 1-.745 1.489q-.021.264.002.55a3.43 3.43 0 0 0 1.171 2.291c1.467 1.298 3.974.783 4.96-1.346.338-.732.8-1.68 1.264-2.634.583-1.196 1.171-2.403 1.53-3.213.587-1.324.701-3.294.026-4.96-.343-.848-.901-1.64-1.73-2.22-.831-.58-1.89-.914-3.18-.914-2.106 0-3.509.827-4.378 1.983q.501.708.869 1.502M9.93 6.752c.298-.952 1.163-1.623 2.3-1.592.893.024 1.514.445 1.88.967.333.474.469 1.054.402 1.484a.767.767 0 0 1-1.517-.227v-.003c-.001-.01-.003-.048-.02-.11a.8.8 0 0 0-.12-.263c-.106-.149-.289-.304-.666-.314-.45-.012-.701.219-.795.516-.1.32-.043.834.444 1.337.513.53.69 1.182.638 1.75-.046.5-.304 1.138-.898 1.382a.767.767 0 0 1-.665-1.38.4.4 0 0 0 .034-.14.69.69 0 0 0-.211-.544c-.822-.849-1.098-1.933-.806-2.863m.969 3.572.002-.003z'
|
|
21
|
+
clipRule='evenodd'
|
|
22
|
+
/>
|
|
23
|
+
<path
|
|
24
|
+
fill='#E36857'
|
|
25
|
+
d='m1.191 8.702-.816.974.844 1.007a1.312 1.312 0 0 0-.028-1.98M2.173 11.82l1.041 1.242a4.4 4.4 0 0 0 1.577-3.383c0-1.36-.614-2.575-1.58-3.385L2.17 7.536A2.79 2.79 0 0 1 3.17 9.679a2.79 2.79 0 0 1-.997 2.14'
|
|
26
|
+
/>
|
|
27
|
+
<path
|
|
28
|
+
fill='#E36857'
|
|
29
|
+
d='m4.154 14.183 1.042 1.242a7.48 7.48 0 0 0 2.679-5.746 7.48 7.48 0 0 0-2.683-5.748L4.151 5.173a5.87 5.87 0 0 1 2.103 4.506 5.87 5.87 0 0 1-2.1 4.503'
|
|
30
|
+
/>
|
|
31
|
+
</svg>
|
|
32
|
+
)
|
|
33
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const shake = <T>(obj: T): Shook<T> => {
|
|
2
|
+
if (obj == null) return obj
|
|
3
|
+
if (typeof obj !== 'object') return obj
|
|
4
|
+
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
6
|
+
const initialValue = {} as Shook<T>
|
|
7
|
+
return Object.entries(obj).reduce<Shook<T>>((acc, [k, v]) => {
|
|
8
|
+
if (v === undefined) return acc
|
|
9
|
+
return { ...acc, [k]: v }
|
|
10
|
+
}, initialValue)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type Shook<T> = { [K in keyof T as T[K] extends undefined ? never : K]: T[K] }
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
SeamHttp,
|
|
3
|
+
SeamHttpOptionsWithClientSessionToken,
|
|
4
|
+
} from '@seamapi/http/connect'
|
|
1
5
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
|
2
6
|
import {
|
|
3
7
|
createContext,
|
|
@@ -6,7 +10,6 @@ import {
|
|
|
6
10
|
useEffect,
|
|
7
11
|
useMemo,
|
|
8
12
|
} from 'react'
|
|
9
|
-
import type { Seam, SeamClientOptions } from 'seamapi'
|
|
10
13
|
|
|
11
14
|
import { useSeamFont } from 'lib/seam/use-seam-font.js'
|
|
12
15
|
import { useSeamStyles } from 'lib/seam/use-seam-styles.js'
|
|
@@ -28,7 +31,7 @@ declare global {
|
|
|
28
31
|
}
|
|
29
32
|
|
|
30
33
|
export interface SeamContext {
|
|
31
|
-
client:
|
|
34
|
+
client: SeamHttp | null
|
|
32
35
|
clientOptions?: SeamProviderClientOptions | undefined
|
|
33
36
|
publishableKey?: string | undefined
|
|
34
37
|
userIdentifierKey?: string | undefined
|
|
@@ -41,7 +44,7 @@ export type SeamProviderProps =
|
|
|
41
44
|
| SeamProviderPropsWithClientSessionToken
|
|
42
45
|
|
|
43
46
|
export interface SeamProviderPropsWithClient extends SeamProviderBaseProps {
|
|
44
|
-
client:
|
|
47
|
+
client: SeamHttp
|
|
45
48
|
}
|
|
46
49
|
|
|
47
50
|
export interface SeamProviderPropsWithPublishableKey
|
|
@@ -64,9 +67,11 @@ interface SeamProviderBaseProps extends PropsWithChildren {
|
|
|
64
67
|
unminifiyCss?: boolean | undefined
|
|
65
68
|
queryClient?: QueryClient | undefined
|
|
66
69
|
telemetryClient?: TelemetryClient | undefined
|
|
67
|
-
onSessionUpdate?: (client:
|
|
70
|
+
onSessionUpdate?: (client: SeamHttp) => void
|
|
68
71
|
}
|
|
69
72
|
|
|
73
|
+
type SeamClientOptions = SeamHttpOptionsWithClientSessionToken
|
|
74
|
+
|
|
70
75
|
export type SeamProviderClientOptions = Pick<SeamClientOptions, 'endpoint'>
|
|
71
76
|
|
|
72
77
|
const defaultQueryClient = new QueryClient()
|
|
@@ -1,33 +1,27 @@
|
|
|
1
|
-
import { useQuery } from '@tanstack/react-query'
|
|
2
1
|
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
} from '
|
|
2
|
+
AccessCodesGetParams,
|
|
3
|
+
SeamHttpApiError,
|
|
4
|
+
} from '@seamapi/http/connect'
|
|
5
|
+
import type { AccessCode } from '@seamapi/types/connect'
|
|
6
|
+
import { useQuery } from '@tanstack/react-query'
|
|
8
7
|
|
|
9
8
|
import { useSeamClient } from 'lib/seam/use-seam-client.js'
|
|
10
9
|
import type { UseSeamQueryResult } from 'lib/seam/use-seam-query-result.js'
|
|
11
10
|
|
|
12
|
-
export type UseAccessCodeParams =
|
|
11
|
+
export type UseAccessCodeParams = AccessCodesGetParams
|
|
12
|
+
|
|
13
13
|
export type UseAccessCodeData = AccessCode | null
|
|
14
14
|
|
|
15
15
|
export function useAccessCode(
|
|
16
16
|
params: UseAccessCodeParams
|
|
17
17
|
): UseSeamQueryResult<'accessCode', UseAccessCodeData> {
|
|
18
|
-
const normalizedParams =
|
|
19
|
-
typeof params === 'string' ? { access_code_id: params } : params
|
|
20
|
-
|
|
21
18
|
const { client } = useSeamClient()
|
|
22
|
-
const { data, ...rest } = useQuery<
|
|
23
|
-
AccessCodeGetResponse['access_code'] | null,
|
|
24
|
-
SeamError
|
|
25
|
-
>({
|
|
19
|
+
const { data, ...rest } = useQuery<UseAccessCodeData, SeamHttpApiError>({
|
|
26
20
|
enabled: client != null,
|
|
27
|
-
queryKey: ['access_codes', 'get',
|
|
21
|
+
queryKey: ['access_codes', 'get', params],
|
|
28
22
|
queryFn: async () => {
|
|
29
23
|
if (client == null) return null
|
|
30
|
-
return await client.accessCodes.get(
|
|
24
|
+
return await client.accessCodes.get(params)
|
|
31
25
|
},
|
|
32
26
|
})
|
|
33
27
|
return { ...rest, accessCode: data }
|
|
@@ -1,37 +1,29 @@
|
|
|
1
|
-
import { useQuery, useQueryClient } from '@tanstack/react-query'
|
|
2
1
|
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
} from '
|
|
2
|
+
AccessCodesListParams,
|
|
3
|
+
SeamHttpApiError,
|
|
4
|
+
} from '@seamapi/http/connect'
|
|
5
|
+
import type { AccessCode } from '@seamapi/types/connect'
|
|
6
|
+
import { useQuery, useQueryClient } from '@tanstack/react-query'
|
|
8
7
|
|
|
9
8
|
import { useSeamClient } from 'lib/seam/use-seam-client.js'
|
|
10
9
|
import type { UseSeamQueryResult } from 'lib/seam/use-seam-query-result.js'
|
|
11
10
|
|
|
12
|
-
export type UseAccessCodesParams =
|
|
11
|
+
export type UseAccessCodesParams = AccessCodesListParams
|
|
12
|
+
|
|
13
13
|
export type UseAccessCodesData = AccessCode[]
|
|
14
14
|
|
|
15
15
|
export function useAccessCodes(
|
|
16
16
|
params: UseAccessCodesParams
|
|
17
17
|
): UseSeamQueryResult<'accessCodes', UseAccessCodesData> {
|
|
18
|
-
const normalizedParams =
|
|
19
|
-
typeof params === 'string' ? { device_id: params } : params
|
|
20
|
-
|
|
21
18
|
const { client } = useSeamClient()
|
|
22
19
|
const queryClient = useQueryClient()
|
|
23
20
|
|
|
24
|
-
const { data, ...rest } = useQuery<
|
|
25
|
-
AccessCodesListResponse['access_codes'],
|
|
26
|
-
SeamError
|
|
27
|
-
>({
|
|
21
|
+
const { data, ...rest } = useQuery<UseAccessCodesData, SeamHttpApiError>({
|
|
28
22
|
enabled: client != null,
|
|
29
|
-
queryKey: ['access_codes', 'list',
|
|
23
|
+
queryKey: ['access_codes', 'list', params],
|
|
30
24
|
queryFn: async () => {
|
|
31
25
|
if (client == null) return []
|
|
32
|
-
|
|
33
|
-
},
|
|
34
|
-
onSuccess: (accessCodes) => {
|
|
26
|
+
const accessCodes = await client.accessCodes.list(params)
|
|
35
27
|
for (const accessCode of accessCodes) {
|
|
36
28
|
queryClient.setQueryData(
|
|
37
29
|
[
|
|
@@ -42,6 +34,7 @@ export function useAccessCodes(
|
|
|
42
34
|
accessCode
|
|
43
35
|
)
|
|
44
36
|
}
|
|
37
|
+
return accessCodes
|
|
45
38
|
},
|
|
46
39
|
})
|
|
47
40
|
|
|
@@ -1,40 +1,45 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AccessCodesCreateBody,
|
|
3
|
+
SeamHttpApiError,
|
|
4
|
+
} from '@seamapi/http/connect'
|
|
5
|
+
import type { AccessCode } from '@seamapi/types/connect'
|
|
1
6
|
import {
|
|
2
7
|
useMutation,
|
|
3
8
|
type UseMutationResult,
|
|
4
9
|
useQueryClient,
|
|
5
10
|
} from '@tanstack/react-query'
|
|
6
|
-
import type {
|
|
7
|
-
AccessCode,
|
|
8
|
-
AccessCodeCreateRequest,
|
|
9
|
-
AccessCodeCreateResponse,
|
|
10
|
-
SeamError,
|
|
11
|
-
} from 'seamapi'
|
|
12
11
|
|
|
13
12
|
import { NullSeamClientError, useSeamClient } from 'lib/seam/use-seam-client.js'
|
|
14
13
|
|
|
15
14
|
export type UseCreateAccessCodeParams = never
|
|
15
|
+
|
|
16
16
|
export type UseCreateAccessCodeData = AccessCode
|
|
17
|
-
|
|
17
|
+
|
|
18
|
+
export type UseCreateAccessCodeMutationVariables = AccessCodesCreateBody
|
|
18
19
|
|
|
19
20
|
export function useCreateAccessCode(): UseMutationResult<
|
|
20
21
|
UseCreateAccessCodeData,
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
SeamHttpApiError,
|
|
23
|
+
UseCreateAccessCodeMutationVariables
|
|
23
24
|
> {
|
|
24
25
|
const { client } = useSeamClient()
|
|
25
26
|
const queryClient = useQueryClient()
|
|
26
27
|
|
|
27
28
|
return useMutation<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
UseCreateAccessCodeData,
|
|
30
|
+
SeamHttpApiError,
|
|
31
|
+
UseCreateAccessCodeMutationVariables
|
|
31
32
|
>({
|
|
32
|
-
mutationFn: async (
|
|
33
|
+
mutationFn: async (variables) => {
|
|
33
34
|
if (client === null) throw new NullSeamClientError()
|
|
34
|
-
return await client.accessCodes.create(
|
|
35
|
+
return await client.accessCodes.create(variables)
|
|
35
36
|
},
|
|
36
|
-
onSuccess: () => {
|
|
37
|
-
|
|
37
|
+
onSuccess: (data) => {
|
|
38
|
+
queryClient.setQueryData(
|
|
39
|
+
['access_codes', 'get', { access_code_id: data.access_code_id }],
|
|
40
|
+
data
|
|
41
|
+
)
|
|
42
|
+
void queryClient.invalidateQueries({ queryKey: ['access_codes', 'list'] })
|
|
38
43
|
},
|
|
39
44
|
})
|
|
40
45
|
}
|