diff --git a/package.json b/package.json index 2abd5cc83..ccabf61de 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "examples:preview": "vite preview examples", "examples:storybook": "vite examples --host --clearScreen false --mode storybook", "preexamples:preview": "npm run examples:build", - "generate": "svgr --out-dir src/lib/icons -- assets/icons", + "generate": "svgr --icon --out-dir src/lib/icons -- assets/icons", "pregenerate": "del src/lib/icons", "postgenerate": "eslint --fix src/lib/icons", "format": "eslint --ignore-path .gitignore --fix .", diff --git a/src/lib/icons/AccessCodeKey.tsx b/src/lib/icons/AccessCodeKey.tsx index bc2a2b2fc..590685eef 100644 --- a/src/lib/icons/AccessCodeKey.tsx +++ b/src/lib/icons/AccessCodeKey.tsx @@ -7,9 +7,10 @@ export function AccessCodeKeyIcon(props: SVGProps): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( diff --git a/src/lib/icons/LockLocked.tsx b/src/lib/icons/LockLocked.tsx index 178bd0749..99f4426f0 100644 --- a/src/lib/icons/LockLocked.tsx +++ b/src/lib/icons/LockLocked.tsx @@ -7,9 +7,10 @@ export function LockLockedIcon(props: SVGProps): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( ): JSX.Element { return ( diff --git a/src/lib/icons/Search.tsx b/src/lib/icons/Search.tsx index 434f8ed89..848c9da67 100644 --- a/src/lib/icons/Search.tsx +++ b/src/lib/icons/Search.tsx @@ -7,9 +7,10 @@ export function SearchIcon(props: SVGProps): JSX.Element { return ( ): JSX.Element { return ( diff --git a/src/lib/seam/components/DeviceDetails/DeviceInfo.tsx b/src/lib/seam/components/DeviceDetails/DeviceInfo.tsx index 93afa84b3..1d5e466dd 100644 --- a/src/lib/seam/components/DeviceDetails/DeviceInfo.tsx +++ b/src/lib/seam/components/DeviceDetails/DeviceInfo.tsx @@ -32,7 +32,9 @@ export function DeviceInfo({
{device.properties.model.manufacturer_display_name} - {device.properties.manufacturer === 'ecobee' && } + {device.properties.manufacturer === 'ecobee' && ( + + )}
{!disableConnectedAccountInformation && ( diff --git a/src/lib/ui/Snackbar/Snackbar.tsx b/src/lib/ui/Snackbar/Snackbar.tsx index f082ce9e5..a9f7a339b 100644 --- a/src/lib/ui/Snackbar/Snackbar.tsx +++ b/src/lib/ui/Snackbar/Snackbar.tsx @@ -67,7 +67,10 @@ export function Snackbar({ 'seam-snackbar-visible': automaticVisibility ? !hidden : visible, })} > - + + + +

{message}

diff --git a/src/lib/ui/device/BatteryStatusIndicator.tsx b/src/lib/ui/device/BatteryStatusIndicator.tsx index 1539d9f93..07b72cce2 100644 --- a/src/lib/ui/device/BatteryStatusIndicator.tsx +++ b/src/lib/ui/device/BatteryStatusIndicator.tsx @@ -34,7 +34,7 @@ function Content(props: { if (status === 'full') { return ( <> - + {t.full} @@ -46,7 +46,7 @@ function Content(props: { if (status === 'good') { return ( <> - + {t.high} @@ -58,7 +58,7 @@ function Content(props: { if (status === 'low') { return ( <> - + {t.low} @@ -70,7 +70,7 @@ function Content(props: { if (status === 'critical') { return ( <> - + {t.critical} diff --git a/src/lib/ui/device/OnlineStatus.tsx b/src/lib/ui/device/OnlineStatus.tsx index 640531640..98020c985 100644 --- a/src/lib/ui/device/OnlineStatus.tsx +++ b/src/lib/ui/device/OnlineStatus.tsx @@ -25,7 +25,7 @@ export function OnlineStatus(props: OnlineStatusProps): JSX.Element { function AccountOfflineContent(): JSX.Element { return ( <> - + {t.accountOffline} ) @@ -36,7 +36,7 @@ function AccountOnlineContent(props: { isOnline: boolean }): JSX.Element { if (isOnline) { return ( <> - + {t.online} ) @@ -44,7 +44,7 @@ function AccountOnlineContent(props: { isOnline: boolean }): JSX.Element { return ( <> - + {t.deviceOffline} ) diff --git a/src/lib/ui/thermostat/ClimateModeMenu.tsx b/src/lib/ui/thermostat/ClimateModeMenu.tsx index 72aac7f45..1c3289ab8 100644 --- a/src/lib/ui/thermostat/ClimateModeMenu.tsx +++ b/src/lib/ui/thermostat/ClimateModeMenu.tsx @@ -25,7 +25,7 @@ export function ClimateModeMenu({
- + )} verticalOffset={-180} diff --git a/src/lib/ui/thermostat/ClimateSettingStatus.tsx b/src/lib/ui/thermostat/ClimateSettingStatus.tsx index 160f22b61..5f0ab4dbc 100644 --- a/src/lib/ui/thermostat/ClimateSettingStatus.tsx +++ b/src/lib/ui/thermostat/ClimateSettingStatus.tsx @@ -1,3 +1,5 @@ +import classNames from 'classnames' + import { ThermostatCoolIcon } from 'lib/icons/ThermostatCool.js' import { ThermostatHeatIcon } from 'lib/icons/ThermostatHeat.js' import { ThermostatHeatCoolIcon } from 'lib/icons/ThermostatHeatCool.js' @@ -46,7 +48,14 @@ function ClimateSettingIcon(props: { const { mode } = props return ( -
+
{mode === 'cool' && } {mode === 'heat' && } {mode === 'heat_cool' && } diff --git a/src/lib/ui/thermostat/TemperatureControlGroup.tsx b/src/lib/ui/thermostat/TemperatureControlGroup.tsx index 1e6917cd1..d285727a3 100644 --- a/src/lib/ui/thermostat/TemperatureControlGroup.tsx +++ b/src/lib/ui/thermostat/TemperatureControlGroup.tsx @@ -138,7 +138,7 @@ export function TemperatureControlGroup({
{showHeat && (
- + - + .seam-checkbox-icon { height: 24px; width: 24px; + font-size: 24px; } > input { diff --git a/src/styles/_device-details.scss b/src/styles/_device-details.scss index 5faec845c..66b5fed87 100644 --- a/src/styles/_device-details.scss +++ b/src/styles/_device-details.scss @@ -123,7 +123,7 @@ } svg { - scale: 0.75; + font-size: 18px !important; margin-right: 8px; } diff --git a/src/styles/_icons.scss b/src/styles/_icons.scss index 8326f911c..cb3661b76 100644 --- a/src/styles/_icons.scss +++ b/src/styles/_icons.scss @@ -2,6 +2,8 @@ @mixin all { .seam-lock-icon { + font-size: 24px; + * { fill: colors.$text-gray-1; } diff --git a/src/styles/_inputs.scss b/src/styles/_inputs.scss index af760ff72..407d63587 100644 --- a/src/styles/_inputs.scss +++ b/src/styles/_inputs.scss @@ -49,7 +49,7 @@ align-items: center; svg { - scale: 0.8333; + font-size: 22px; } &.seam-start { diff --git a/src/styles/_layout.scss b/src/styles/_layout.scss index a0b573e4e..06878e9c9 100644 --- a/src/styles/_layout.scss +++ b/src/styles/_layout.scss @@ -18,6 +18,7 @@ top: 50%; transform: translate(4px, -50%); left: 0; + font-size: 24px; cursor: pointer; } @@ -281,6 +282,7 @@ justify-content: center; align-items: center; transition: transform 0.2s ease-in-out; + font-size: 24px; } } } diff --git a/src/styles/_radio-field.scss b/src/styles/_radio-field.scss index 85315aa27..5f9909c46 100644 --- a/src/styles/_radio-field.scss +++ b/src/styles/_radio-field.scss @@ -20,6 +20,7 @@ > .seam-radio-icon { height: 24px; width: 24px; + font-size: 24px; } > .seam-radio-label { diff --git a/src/styles/_seam-table.scss b/src/styles/_seam-table.scss index 3bb6b3a28..524d43898 100644 --- a/src/styles/_seam-table.scss +++ b/src/styles/_seam-table.scss @@ -34,7 +34,7 @@ justify-content: center; margin-right: 4px; - @media only screen and (width >= 768px) { + @media only screen and (width >=768px) { width: 40px; margin-right: 4px; } @@ -60,7 +60,7 @@ display: flex; flex-wrap: wrap; - @media only screen and (width >= 768px) { + @media only screen and (width >=768px) { font-size: 14px; } @@ -82,7 +82,7 @@ align-items: center; justify-content: center; - @media only screen and (width >= 768px) { + @media only screen and (width >=768px) { margin-right: 12px; } } @@ -92,6 +92,7 @@ justify-content: center; align-items: center; margin-right: 8px; + font-size: 25px; } } diff --git a/src/styles/_snackbar.scss b/src/styles/_snackbar.scss index 7be47089c..d3a652a80 100644 --- a/src/styles/_snackbar.scss +++ b/src/styles/_snackbar.scss @@ -40,6 +40,11 @@ visibility: visible; } + .seam-snackbar-icon-wrap { + font-size: 24px; + display: inline-flex; + } + .seam-snackbar-message-wrap { display: flex; max-width: 300px; @@ -101,6 +106,7 @@ padding: 0; cursor: pointer; transition: opacity 0.2s ease-in-out; + font-size: 24px; &:hover { opacity: 0.75; diff --git a/src/styles/_supported-device-table-manufacturer-keys.scss b/src/styles/_supported-device-table-manufacturer-keys.scss index a7a8b6e4a..75fc3861a 100644 --- a/src/styles/_supported-device-table-manufacturer-keys.scss +++ b/src/styles/_supported-device-table-manufacturer-keys.scss @@ -14,6 +14,7 @@ display: table-cell; cursor: pointer; padding-left: 10px; + font-size: 25px; } } } diff --git a/src/styles/_supported-device-table.scss b/src/styles/_supported-device-table.scss index 259e91f0e..951cd9722 100644 --- a/src/styles/_supported-device-table.scss +++ b/src/styles/_supported-device-table.scss @@ -187,6 +187,7 @@ $see-all-button-height: 30px; svg { transform: rotate(90deg); + font-size: 25px; } } diff --git a/src/styles/_tables.scss b/src/styles/_tables.scss index 9511791bc..60c969704 100644 --- a/src/styles/_tables.scss +++ b/src/styles/_tables.scss @@ -88,7 +88,7 @@ padding: 0; svg { - scale: 0.8333; + font-size: 20px; * { fill: colors.$text-gray-1; @@ -107,7 +107,8 @@ line-height: 134%; svg { - scale: 0.75; + font-size: 19px; + margin: 3px 4px; } &.seam-clickable { diff --git a/src/styles/_thermostat.scss b/src/styles/_thermostat.scss index c4cab8df5..509fef738 100644 --- a/src/styles/_thermostat.scss +++ b/src/styles/_thermostat.scss @@ -28,6 +28,10 @@ align-items: center; flex-direction: row; gap: 8px; + + .seam-temperature-control-group-block-thermostat-icon { + font-size: 24px; + } } } @@ -89,6 +93,10 @@ align-items: center; flex-direction: row; gap: 7px; + + svg { + font-size: 20px; + } } .seam-temperature-range-wrap { @@ -330,6 +338,11 @@ display: flex; justify-content: center; align-items: center; + font-size: 14px; + + .seam-climate-setting-status-icon-heat-cool { + font-size: 19px; + } } } @@ -541,6 +554,10 @@ cursor: pointer; transition: 0.2s ease; + svg { + font-size: 20px; + } + &:hover { border-color: colors.$text-gray-2; } @@ -556,6 +573,10 @@ align-items: center; flex-direction: row; gap: 10px; + + svg { + font-size: 22px; + } } .seam-fan-mode-menu-button-text { @@ -594,6 +615,10 @@ background-color: colors.$bg-c; border-color: colors.$text-gray-2; } + + .seam-climate-mode-menu-button-chevron { + font-size: 20px; + } } .seam-climate-mode-menu-button-icon { @@ -602,6 +627,7 @@ display: flex; justify-content: center; align-items: center; + font-size: 18px; } } diff --git a/src/styles/_typography.scss b/src/styles/_typography.scss index 3577f4049..883b5b978 100644 --- a/src/styles/_typography.scss +++ b/src/styles/_typography.scss @@ -55,6 +55,12 @@ } } +@mixin font-size { + .seam-font-24 { + font-size: 24px; + } +} + @mixin all { @include headers; @include caption; @@ -62,4 +68,5 @@ @include font-family; @include defaults; @include truncated-text; + @include font-size; }