@iobroker/adapter-react-v5 7.6.13 → 7.6.15

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.
@@ -16,6 +16,7 @@ import { Icon } from '../Icon';
16
16
  import { Cleaner as TypeIconVacuumCleaner, Humidity as TypeIconHumidity, Jalousie as TypeIconBlinds, PushButton as TypeIconButton, DoorOpened as TypeIconDoor, FireOn as TypeIconFireAlarm, FloodOn as TypeIconFloodAlarm, Gate as TypeIconGate, MotionOn as TypeIconMotion, RGB as TypeIconRGB, Socket as TypeIconSocket, Thermometer as TypeIconTemperature, Thermostat as TypeIconThermostat,
17
17
  // HeatValve as TypeIconValve,
18
18
  WindowOpened as TypeIconWindow, WindowTilted as TypeIconWindowTilt, } from './icons';
19
+ import { extendDeviceTypeTranslation } from './deviceTypeTranslations';
19
20
  const TYPE_ICONS = {
20
21
  [Types.airCondition]: TypeIconAC,
21
22
  [Types.blind]: TypeIconBlinds,
@@ -71,16 +72,6 @@ const TYPE_ICONS = {
71
72
  hub5: TypeIconHub5,
72
73
  controller: TypeIconController,
73
74
  };
74
- import enLang from './i18n/en.json';
75
- import deLang from './i18n/de.json';
76
- import ruLang from './i18n/ru.json';
77
- import ptLang from './i18n/pt.json';
78
- import plLang from './i18n/pl.json';
79
- import frLang from './i18n/fr.json';
80
- import itLang from './i18n/it.json';
81
- import nlLang from './i18n/nl.json';
82
- import ukLang from './i18n/uk.json';
83
- import zhLang from './i18n/zh-cn.json';
84
75
  const defaultStyle = {
85
76
  width: 32,
86
77
  height: 32,
@@ -89,18 +80,7 @@ export function DeviceTypeIcon(props) {
89
80
  const [loaded, setLoaded] = React.useState(false);
90
81
  useEffect(() => {
91
82
  if (props.title && !loaded) {
92
- I18n.extendTranslations({
93
- en: enLang,
94
- de: deLang,
95
- ru: ruLang,
96
- pt: ptLang,
97
- pl: plLang,
98
- fr: frLang,
99
- it: itLang,
100
- nl: nlLang,
101
- uk: ukLang,
102
- 'zh-cn': zhLang,
103
- });
83
+ extendDeviceTypeTranslation();
104
84
  setLoaded(true);
105
85
  }
106
86
  }, [props.title]);
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceTypeIcon.js","sourceRoot":"./src/","sources":["Components/DeviceType/DeviceTypeIcon.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect } from 'react';\n\nimport { Box, Tooltip } from '@mui/material';\n\nimport { AiOutlineLineChart as TypeIconChart } from 'react-icons/ai';\nimport { GoDeviceCameraVideo as TypeIconCamera } from 'react-icons/go';\n\nimport {\n // FaExternalLinkSquareAlt as TypeIconURL,\n FaImage as TypeIconImage,\n FaRegLightbulb as TypeIconDimmer,\n FaInfoCircle as TypeIconInfo,\n FaLightbulb as TypeIconLight,\n FaLock as TypeIconLock,\n FaStreetView as TypeIconLocation,\n FaStepForward as TypeIconMedia,\n FaSlidersH as TypeIconSlider,\n FaVolumeDown as TypeIconVolume,\n FaVolumeUp as TypeIconVolumeGroup,\n FaFan as TypeIconAC,\n FaWrench as TypeIconInstance,\n} from 'react-icons/fa';\n\nimport {\n MdFormatColorFill as TypeIconHUE,\n MdFormatColorFill as TypeIconCT,\n MdWarning as TypeIconWarning,\n MdQuestionMark as TypeIconUnknown,\n MdOutlineMyLocation as TypeIconLocationOne,\n MdDeviceHub as TypeIconHub3,\n MdPolyline as TypeIconNode,\n MdHub as TypeIconHub5,\n MdControlCamera as TypeIconController,\n} from 'react-icons/md';\nimport { WiCloudy as TypeIconWeather } from 'react-icons/wi';\nimport { IoIosRadioButtonOn as TypeIconButtonSensor } from 'react-icons/io';\nimport { TbSunElectricity as TypeIconIlluminance } from 'react-icons/tb';\nimport { PiPaletteDuotone as TypeIconRGBWSingle } from 'react-icons/pi';\n\nimport { Types } from '@iobroker/type-detector';\n\nimport { I18n } from '../../i18n';\nimport { Icon } from '../Icon';\n\nimport {\n Cleaner as TypeIconVacuumCleaner,\n Humidity as TypeIconHumidity,\n Jalousie as TypeIconBlinds,\n PushButton as TypeIconButton,\n DoorOpened as TypeIconDoor,\n FireOn as TypeIconFireAlarm,\n FloodOn as TypeIconFloodAlarm,\n Gate as TypeIconGate,\n MotionOn as TypeIconMotion,\n RGB as TypeIconRGB,\n Socket as TypeIconSocket,\n Thermometer as TypeIconTemperature,\n Thermostat as TypeIconThermostat,\n // HeatValve as TypeIconValve,\n WindowOpened as TypeIconWindow,\n WindowTilted as TypeIconWindowTilt,\n type IconPropsSVG,\n} from './icons';\n\nexport type TypesExtended = Types | 'invalid' | 'hub3' | 'node' | 'hub5' | 'controller';\n\nconst TYPE_ICONS: Record<TypesExtended, React.FC<IconPropsSVG>> = {\n [Types.airCondition]: TypeIconAC,\n [Types.blind]: TypeIconBlinds,\n [Types.blindButtons]: TypeIconBlinds,\n [Types.button]: TypeIconButton,\n [Types.buttonSensor]: TypeIconButtonSensor,\n [Types.camera]: TypeIconCamera,\n [Types.chart]: TypeIconChart,\n // [Types.url]: TypeIconURL,\n [Types.image]: TypeIconImage,\n [Types.dimmer]: TypeIconDimmer,\n [Types.door]: TypeIconDoor,\n [Types.fireAlarm]: TypeIconFireAlarm,\n // @ts-expect-error special case\n 'sensor.alarm.fire': TypeIconFireAlarm,\n [Types.floodAlarm]: TypeIconFloodAlarm,\n 'sensor.alarm.flood': TypeIconFloodAlarm,\n [Types.gate]: TypeIconGate,\n [Types.humidity]: TypeIconHumidity,\n [Types.illuminance]: TypeIconIlluminance,\n [Types.info]: TypeIconInfo,\n [Types.light]: TypeIconLight,\n [Types.lock]: TypeIconLock,\n [Types.location]: TypeIconLocation,\n [Types.locationOne]: TypeIconLocationOne,\n [Types.media]: TypeIconMedia,\n [Types.motion]: TypeIconMotion,\n [Types.ct]: TypeIconCT,\n [Types.rgb]: TypeIconRGB,\n [Types.rgbSingle]: TypeIconRGB,\n [Types.rgbwSingle]: TypeIconRGBWSingle,\n [Types.hue]: TypeIconHUE,\n [Types.cie]: TypeIconRGB,\n [Types.slider]: TypeIconSlider,\n [Types.socket]: TypeIconSocket,\n [Types.temperature]: TypeIconTemperature,\n [Types.thermostat]: TypeIconThermostat,\n // [Types.valve]: TypeIconValve,\n [Types.vacuumCleaner]: TypeIconVacuumCleaner,\n [Types.volume]: TypeIconVolume,\n [Types.volumeGroup]: TypeIconVolumeGroup,\n [Types.window]: TypeIconWindow,\n [Types.windowTilt]: TypeIconWindowTilt,\n [Types.weatherCurrent]: TypeIconWeather,\n [Types.weatherForecast]: TypeIconWeather,\n [Types.warning]: TypeIconWarning,\n\n [Types.unknown]: TypeIconUnknown,\n [Types.instance]: TypeIconInstance,\n\n // Special matter types\n invalid: TypeIconWarning,\n hub3: TypeIconHub3,\n node: TypeIconNode,\n hub5: TypeIconHub5,\n controller: TypeIconController,\n};\n\nimport enLang from './i18n/en.json';\nimport deLang from './i18n/de.json';\nimport ruLang from './i18n/ru.json';\nimport ptLang from './i18n/pt.json';\nimport plLang from './i18n/pl.json';\nimport frLang from './i18n/fr.json';\nimport itLang from './i18n/it.json';\nimport nlLang from './i18n/nl.json';\nimport ukLang from './i18n/uk.json';\nimport zhLang from './i18n/zh-cn.json';\n\nconst defaultStyle: React.CSSProperties = {\n width: 32,\n height: 32,\n};\n\nexport interface IconProps {\n /** URL, UTF-8 character, or svg code (data:image/svg...) */\n src?: string | React.JSX.Element | null | undefined;\n /** Class name */\n className?: string;\n /** Style for image */\n style?: React.CSSProperties;\n /** Styles for mui */\n sx?: Record<string, any>;\n /** Tooltip */\n title?: string | true;\n /** Styles for utf-8 characters */\n styleUTF8?: React.CSSProperties;\n /** On error handler */\n onError?: React.ReactEventHandler<HTMLImageElement>;\n /** Reference to image */\n ref?: React.RefObject<HTMLImageElement>;\n /** Alternative text for image */\n alt?: string;\n /** On click handler */\n onClick?: React.MouseEventHandler<any>;\n}\n\nexport type TypeIconProps = IconProps & { type?: TypesExtended };\n\nexport function DeviceTypeIcon(props: TypeIconProps): React.JSX.Element | null {\n const [loaded, setLoaded] = React.useState(false);\n\n useEffect(() => {\n if (props.title && !loaded) {\n I18n.extendTranslations({\n en: enLang,\n de: deLang,\n ru: ruLang,\n pt: ptLang,\n pl: plLang,\n fr: frLang,\n it: itLang,\n nl: nlLang,\n uk: ukLang,\n 'zh-cn': zhLang,\n });\n setLoaded(true);\n }\n }, [props.title]);\n\n if (!loaded && props.title) {\n return (\n <Box\n style={{ ...defaultStyle, ...(props.style || undefined) }}\n className={props.className}\n sx={props.sx}\n />\n );\n }\n // src could contain a device type too, so detect if it is a type\n const type: TypesExtended | undefined =\n props.type || (props.src ? (Object.keys(TYPE_ICONS).find(type => props.src === type) as TypesExtended) : undefined);\n\n if (!type && props.src) {\n return (\n <Icon\n style={defaultStyle}\n {...props}\n title={props.title === true ? undefined : props.title}\n src={props.src}\n />\n );\n }\n\n const TypeIcon = type && TYPE_ICONS[type];\n if (!TypeIcon) {\n // Show the first letter of a type\n return type ? (\n <span style={{ ...defaultStyle, ...(props.style || undefined) }}>{type[0].toUpperCase()}</span>\n ) : null;\n }\n\n const icon = (\n <TypeIcon\n style={{ ...defaultStyle, ...(props.style || undefined) }}\n onClick={props.onClick}\n className={props.className}\n sx={props.sx}\n />\n );\n\n if (props.title) {\n return (\n <Tooltip\n slotProps={{ popper: { sx: { pointerEvents: 'none' } } }}\n title={props.title === true ? I18n.t(`type-${type}`) : props.title}\n >\n <div style={{ display: 'flex' }}>{icon}</div>\n </Tooltip>\n );\n }\n\n return icon;\n}\n"]}
1
+ {"version":3,"file":"DeviceTypeIcon.js","sourceRoot":"./src/","sources":["Components/DeviceType/DeviceTypeIcon.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect } from 'react';\n\nimport { Box, Tooltip } from '@mui/material';\n\nimport { AiOutlineLineChart as TypeIconChart } from 'react-icons/ai';\nimport { GoDeviceCameraVideo as TypeIconCamera } from 'react-icons/go';\n\nimport {\n // FaExternalLinkSquareAlt as TypeIconURL,\n FaImage as TypeIconImage,\n FaRegLightbulb as TypeIconDimmer,\n FaInfoCircle as TypeIconInfo,\n FaLightbulb as TypeIconLight,\n FaLock as TypeIconLock,\n FaStreetView as TypeIconLocation,\n FaStepForward as TypeIconMedia,\n FaSlidersH as TypeIconSlider,\n FaVolumeDown as TypeIconVolume,\n FaVolumeUp as TypeIconVolumeGroup,\n FaFan as TypeIconAC,\n FaWrench as TypeIconInstance,\n} from 'react-icons/fa';\n\nimport {\n MdFormatColorFill as TypeIconHUE,\n MdFormatColorFill as TypeIconCT,\n MdWarning as TypeIconWarning,\n MdQuestionMark as TypeIconUnknown,\n MdOutlineMyLocation as TypeIconLocationOne,\n MdDeviceHub as TypeIconHub3,\n MdPolyline as TypeIconNode,\n MdHub as TypeIconHub5,\n MdControlCamera as TypeIconController,\n} from 'react-icons/md';\nimport { WiCloudy as TypeIconWeather } from 'react-icons/wi';\nimport { IoIosRadioButtonOn as TypeIconButtonSensor } from 'react-icons/io';\nimport { TbSunElectricity as TypeIconIlluminance } from 'react-icons/tb';\nimport { PiPaletteDuotone as TypeIconRGBWSingle } from 'react-icons/pi';\n\nimport { Types } from '@iobroker/type-detector';\n\nimport { I18n } from '../../i18n';\nimport { Icon } from '../Icon';\n\nimport {\n Cleaner as TypeIconVacuumCleaner,\n Humidity as TypeIconHumidity,\n Jalousie as TypeIconBlinds,\n PushButton as TypeIconButton,\n DoorOpened as TypeIconDoor,\n FireOn as TypeIconFireAlarm,\n FloodOn as TypeIconFloodAlarm,\n Gate as TypeIconGate,\n MotionOn as TypeIconMotion,\n RGB as TypeIconRGB,\n Socket as TypeIconSocket,\n Thermometer as TypeIconTemperature,\n Thermostat as TypeIconThermostat,\n // HeatValve as TypeIconValve,\n WindowOpened as TypeIconWindow,\n WindowTilted as TypeIconWindowTilt,\n type IconPropsSVG,\n} from './icons';\nimport { extendDeviceTypeTranslation } from './deviceTypeTranslations';\n\nexport type TypesExtended = Types | 'invalid' | 'hub3' | 'node' | 'hub5' | 'controller';\n\nconst TYPE_ICONS: Record<TypesExtended, React.FC<IconPropsSVG>> = {\n [Types.airCondition]: TypeIconAC,\n [Types.blind]: TypeIconBlinds,\n [Types.blindButtons]: TypeIconBlinds,\n [Types.button]: TypeIconButton,\n [Types.buttonSensor]: TypeIconButtonSensor,\n [Types.camera]: TypeIconCamera,\n [Types.chart]: TypeIconChart,\n // [Types.url]: TypeIconURL,\n [Types.image]: TypeIconImage,\n [Types.dimmer]: TypeIconDimmer,\n [Types.door]: TypeIconDoor,\n [Types.fireAlarm]: TypeIconFireAlarm,\n // @ts-expect-error special case\n 'sensor.alarm.fire': TypeIconFireAlarm,\n [Types.floodAlarm]: TypeIconFloodAlarm,\n 'sensor.alarm.flood': TypeIconFloodAlarm,\n [Types.gate]: TypeIconGate,\n [Types.humidity]: TypeIconHumidity,\n [Types.illuminance]: TypeIconIlluminance,\n [Types.info]: TypeIconInfo,\n [Types.light]: TypeIconLight,\n [Types.lock]: TypeIconLock,\n [Types.location]: TypeIconLocation,\n [Types.locationOne]: TypeIconLocationOne,\n [Types.media]: TypeIconMedia,\n [Types.motion]: TypeIconMotion,\n [Types.ct]: TypeIconCT,\n [Types.rgb]: TypeIconRGB,\n [Types.rgbSingle]: TypeIconRGB,\n [Types.rgbwSingle]: TypeIconRGBWSingle,\n [Types.hue]: TypeIconHUE,\n [Types.cie]: TypeIconRGB,\n [Types.slider]: TypeIconSlider,\n [Types.socket]: TypeIconSocket,\n [Types.temperature]: TypeIconTemperature,\n [Types.thermostat]: TypeIconThermostat,\n // [Types.valve]: TypeIconValve,\n [Types.vacuumCleaner]: TypeIconVacuumCleaner,\n [Types.volume]: TypeIconVolume,\n [Types.volumeGroup]: TypeIconVolumeGroup,\n [Types.window]: TypeIconWindow,\n [Types.windowTilt]: TypeIconWindowTilt,\n [Types.weatherCurrent]: TypeIconWeather,\n [Types.weatherForecast]: TypeIconWeather,\n [Types.warning]: TypeIconWarning,\n\n [Types.unknown]: TypeIconUnknown,\n [Types.instance]: TypeIconInstance,\n\n // Special matter types\n invalid: TypeIconWarning,\n hub3: TypeIconHub3,\n node: TypeIconNode,\n hub5: TypeIconHub5,\n controller: TypeIconController,\n};\n\nconst defaultStyle: React.CSSProperties = {\n width: 32,\n height: 32,\n};\n\nexport interface IconProps {\n /** URL, UTF-8 character, or svg code (data:image/svg...) */\n src?: string | React.JSX.Element | null | undefined;\n /** Class name */\n className?: string;\n /** Style for image */\n style?: React.CSSProperties;\n /** Styles for mui */\n sx?: Record<string, any>;\n /** Tooltip */\n title?: string | true;\n /** Styles for utf-8 characters */\n styleUTF8?: React.CSSProperties;\n /** On error handler */\n onError?: React.ReactEventHandler<HTMLImageElement>;\n /** Reference to image */\n ref?: React.RefObject<HTMLImageElement>;\n /** Alternative text for image */\n alt?: string;\n /** On click handler */\n onClick?: React.MouseEventHandler<any>;\n}\n\nexport type TypeIconProps = IconProps & { type?: TypesExtended };\n\nexport function DeviceTypeIcon(props: TypeIconProps): React.JSX.Element | null {\n const [loaded, setLoaded] = React.useState(false);\n\n useEffect(() => {\n if (props.title && !loaded) {\n extendDeviceTypeTranslation();\n setLoaded(true);\n }\n }, [props.title]);\n\n if (!loaded && props.title) {\n return (\n <Box\n style={{ ...defaultStyle, ...(props.style || undefined) }}\n className={props.className}\n sx={props.sx}\n />\n );\n }\n // src could contain a device type too, so detect if it is a type\n const type: TypesExtended | undefined =\n props.type || (props.src ? (Object.keys(TYPE_ICONS).find(type => props.src === type) as TypesExtended) : undefined);\n\n if (!type && props.src) {\n return (\n <Icon\n style={defaultStyle}\n {...props}\n title={props.title === true ? undefined : props.title}\n src={props.src}\n />\n );\n }\n\n const TypeIcon = type && TYPE_ICONS[type];\n if (!TypeIcon) {\n // Show the first letter of a type\n return type ? (\n <span style={{ ...defaultStyle, ...(props.style || undefined) }}>{type[0].toUpperCase()}</span>\n ) : null;\n }\n\n const icon = (\n <TypeIcon\n style={{ ...defaultStyle, ...(props.style || undefined) }}\n onClick={props.onClick}\n className={props.className}\n sx={props.sx}\n />\n );\n\n if (props.title) {\n return (\n <Tooltip\n slotProps={{ popper: { sx: { pointerEvents: 'none' } } }}\n title={props.title === true ? I18n.t(`type-${type}`) : props.title}\n >\n <div style={{ display: 'flex' }}>{icon}</div>\n </Tooltip>\n );\n }\n\n return icon;\n}\n"]}
@@ -4,16 +4,7 @@ import { Types } from '@iobroker/type-detector';
4
4
  import { I18n } from '../../i18n';
5
5
  import { Icon } from '../Icon';
6
6
  import { DeviceTypeIcon } from './DeviceTypeIcon';
7
- import enLang from './i18n/en.json';
8
- import deLang from './i18n/de.json';
9
- import ruLang from './i18n/ru.json';
10
- import ptLang from './i18n/pt.json';
11
- import plLang from './i18n/pl.json';
12
- import frLang from './i18n/fr.json';
13
- import itLang from './i18n/it.json';
14
- import nlLang from './i18n/nl.json';
15
- import ukLang from './i18n/uk.json';
16
- import zhLang from './i18n/zh-cn.json';
7
+ import { extendDeviceTypeTranslation } from './deviceTypeTranslations';
17
8
  const styles = {
18
9
  itemChildrenWrapper: {
19
10
  display: 'flex',
@@ -53,7 +44,7 @@ export function DeviceTypeSelector(props) {
53
44
  useEffect(() => {
54
45
  const _typesWords = {};
55
46
  Object.keys(Types)
56
- .filter(id => props.supportedDevices?.includes(id) && !props.unsupportedDevices?.includes(id))
47
+ .filter(id => (!props.supportedDevices || props.supportedDevices?.includes(id)) && !props.unsupportedDevices?.includes(id))
57
48
  .forEach(typeId => (_typesWords[typeId] = I18n.t(`type-${Types[typeId]}`)));
58
49
  // sort types by ABC in the current language
59
50
  const _types = Object.keys(_typesWords);
@@ -63,18 +54,7 @@ export function DeviceTypeSelector(props) {
63
54
  }
64
55
  return _typesWords[a].localeCompare(_typesWords[b], 'de');
65
56
  });
66
- I18n.extendTranslations({
67
- en: enLang,
68
- de: deLang,
69
- ru: ruLang,
70
- pt: ptLang,
71
- pl: plLang,
72
- fr: frLang,
73
- it: itLang,
74
- nl: nlLang,
75
- uk: ukLang,
76
- 'zh-cn': zhLang,
77
- });
57
+ extendDeviceTypeTranslation();
78
58
  setTypes(_types);
79
59
  setTypesWords(_typesWords);
80
60
  }, [props.supportedDevices, props.unsupportedDevices]);
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceTypeSelector.js","sourceRoot":"./src/","sources":["Components/DeviceType/DeviceTypeSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect } from 'react';\nimport { Box, FormControl, InputLabel, MenuItem, Select } from '@mui/material';\n\nimport { Types } from '@iobroker/type-detector';\n\nimport { I18n } from '../../i18n';\nimport { Icon } from '../Icon';\nimport type { ThemeType } from '../../types';\n\nimport { DeviceTypeIcon } from './DeviceTypeIcon';\n\nimport enLang from './i18n/en.json';\nimport deLang from './i18n/de.json';\nimport ruLang from './i18n/ru.json';\nimport ptLang from './i18n/pt.json';\nimport plLang from './i18n/pl.json';\nimport frLang from './i18n/fr.json';\nimport itLang from './i18n/it.json';\nimport nlLang from './i18n/nl.json';\nimport ukLang from './i18n/uk.json';\nimport zhLang from './i18n/zh-cn.json';\n\nconst styles: Record<\n 'itemChildrenWrapper' | 'type' | 'selectIcon' | 'selectText' | 'iconWrapper' | 'iconStyle' | 'emptyIcon',\n React.CSSProperties\n> = {\n itemChildrenWrapper: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n },\n type: {\n marginTop: 10,\n },\n selectIcon: {\n paddingRight: 8,\n verticalAlign: 'middle',\n width: 20,\n height: 20,\n },\n selectText: {\n verticalAlign: 'middle',\n },\n iconWrapper: {\n display: 'flex',\n alignItems: 'center',\n },\n iconStyle: {\n width: 16,\n height: 16,\n margin: '0 3px',\n },\n emptyIcon: {\n width: 16,\n height: 16,\n margin: '0 3px',\n },\n};\n\nexport function DeviceTypeSelector(props: {\n themeType: ThemeType;\n supportedDevices?: Types[];\n unsupportedDevices?: Types[];\n value?: Types | '';\n onChange: (value: Types) => void;\n label?: string;\n style?: React.CSSProperties;\n sx?: Record<string, any>;\n disabled?: boolean;\n error?: boolean;\n /** Show icons for applications: google, amazon, material, alias. Used in devices */\n showApplications?: {\n TYPE_OPTIONS: Partial<Record<Types, Record<string, boolean>>>;\n ICONS_TYPE: Record<string, React.JSX.Element>;\n };\n}): React.JSX.Element {\n const [typesWords, setTypesWords] = React.useState<Partial<Record<Types, string>>>({});\n const [types, setTypes] = React.useState<Types[] | null>([]);\n\n useEffect(() => {\n const _typesWords: Partial<Record<Types, string>> = {};\n Object.keys(Types)\n .filter(\n id => props.supportedDevices?.includes(id as Types) && !props.unsupportedDevices?.includes(id as Types),\n )\n .forEach(typeId => (_typesWords[typeId as Types] = I18n.t(`type-${Types[typeId as Types]}`)));\n\n // sort types by ABC in the current language\n const _types: Types[] = Object.keys(_typesWords) as Types[];\n\n _types.sort((a, b) => {\n if (_typesWords[a as Types] === _typesWords[b as Types]) {\n return 0;\n }\n return _typesWords[a as Types]!.localeCompare(_typesWords[b as Types]!, 'de');\n });\n\n I18n.extendTranslations({\n en: enLang,\n de: deLang,\n ru: ruLang,\n pt: ptLang,\n pl: plLang,\n fr: frLang,\n it: itLang,\n nl: nlLang,\n uk: ukLang,\n 'zh-cn': zhLang,\n });\n\n setTypes(_types);\n setTypesWords(_typesWords);\n }, [props.supportedDevices, props.unsupportedDevices]);\n\n if (!types) {\n return (\n <Box\n style={{\n ...styles.type,\n ...props.style,\n }}\n sx={props.sx}\n />\n );\n }\n\n return (\n <FormControl\n style={{\n ...styles.type,\n ...props.style,\n }}\n sx={props.sx}\n variant=\"standard\"\n error={!!props.error}\n >\n <InputLabel>{props.label || I18n.t('type-Device type')}</InputLabel>\n <Select\n variant=\"standard\"\n disabled={!!props.disabled}\n value={props.value}\n onChange={e => props.onChange(e.target.value as Types)}\n >\n {types.map(typeId => (\n <MenuItem\n key={Types[typeId]}\n value={Types[typeId]}\n >\n <div style={styles.itemChildrenWrapper}>\n <div>\n <DeviceTypeIcon\n type={Types[typeId]}\n style={{\n ...styles.selectIcon,\n color: props.themeType === 'dark' ? '#FFFFFF' : '#000',\n }}\n />\n <span style={styles.selectText}>{typesWords[typeId]}</span>\n </div>\n {props.showApplications?.TYPE_OPTIONS[typeId] ? (\n <div style={styles.iconWrapper}>\n {Object.keys(props.showApplications.TYPE_OPTIONS[typeId]).map(key =>\n props.showApplications.TYPE_OPTIONS[typeId][key] ? (\n <Icon\n key={key}\n style={styles.iconStyle}\n src={props.showApplications.ICONS_TYPE[key]}\n />\n ) : (\n <div\n key={key}\n style={styles.emptyIcon}\n />\n ),\n )}\n </div>\n ) : null}\n </div>\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n}\n"]}
1
+ {"version":3,"file":"DeviceTypeSelector.js","sourceRoot":"./src/","sources":["Components/DeviceType/DeviceTypeSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,MAAM,MAAM,GAGR;IACA,mBAAmB,EAAE;QACjB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,eAAe;KAClC;IACD,IAAI,EAAE;QACF,SAAS,EAAE,EAAE;KAChB;IACD,UAAU,EAAE;QACR,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,QAAQ;QACvB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;KACb;IACD,UAAU,EAAE;QACR,aAAa,EAAE,QAAQ;KAC1B;IACD,WAAW,EAAE;QACT,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;KACvB;IACD,SAAS,EAAE;QACP,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,OAAO;KAClB;IACD,SAAS,EAAE;QACP,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,OAAO;KAClB;CACJ,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,KAgBlC;IACG,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAiC,EAAE,CAAC,CAAC;IACvF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAiB,EAAE,CAAC,CAAC;IAE7D,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,WAAW,GAAmC,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aACb,MAAM,CACH,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,EAAW,CAAC,CACvI;aACA,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,MAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAElG,4CAA4C;QAC5C,MAAM,MAAM,GAAY,MAAM,CAAC,IAAI,CAAC,WAAW,CAAY,CAAC;QAE5D,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjB,IAAI,WAAW,CAAC,CAAU,CAAC,KAAK,WAAW,CAAC,CAAU,CAAC,EAAE,CAAC;gBACtD,OAAO,CAAC,CAAC;YACb,CAAC;YACD,OAAO,WAAW,CAAC,CAAU,CAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAU,CAAE,EAAE,IAAI,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,2BAA2B,EAAE,CAAC;QAE9B,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjB,aAAa,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,CACH,oBAAC,GAAG,IACA,KAAK,EAAE;gBACH,GAAG,MAAM,CAAC,IAAI;gBACd,GAAG,KAAK,CAAC,KAAK;aACjB,EACD,EAAE,EAAE,KAAK,CAAC,EAAE,GACd,CACL,CAAC;IACN,CAAC;IAED,OAAO,CACH,oBAAC,WAAW,IACR,KAAK,EAAE;YACH,GAAG,MAAM,CAAC,IAAI;YACd,GAAG,KAAK,CAAC,KAAK;SACjB,EACD,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,OAAO,EAAC,UAAU,EAClB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;QAEpB,oBAAC,UAAU,QAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAc;QACpE,oBAAC,MAAM,IACH,OAAO,EAAC,UAAU,EAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAc,CAAC,IAErD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACjB,oBAAC,QAAQ,IACL,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAClB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAEpB,6BAAK,KAAK,EAAE,MAAM,CAAC,mBAAmB;gBAClC;oBACI,oBAAC,cAAc,IACX,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,KAAK,EAAE;4BACH,GAAG,MAAM,CAAC,UAAU;4BACpB,KAAK,EAAE,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;yBACzD,GACH;oBACF,8BAAM,KAAK,EAAE,MAAM,CAAC,UAAU,IAAG,UAAU,CAAC,MAAM,CAAC,CAAQ,CACzD;gBACL,KAAK,CAAC,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC5C,6BAAK,KAAK,EAAE,MAAM,CAAC,WAAW,IACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAChE,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC/C,oBAAC,IAAI,IACD,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,GAAG,EAAE,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,GAC7C,CACL,CAAC,CAAC,CAAC,CACA,6BACI,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,CAAC,SAAS,GACzB,CACL,CACJ,CACC,CACT,CAAC,CAAC,CAAC,IAAI,CACN,CACC,CACd,CAAC,CACG,CACC,CACjB,CAAC;AACN,CAAC","sourcesContent":["import React, { useEffect } from 'react';\nimport { Box, FormControl, InputLabel, MenuItem, Select } from '@mui/material';\n\nimport { Types } from '@iobroker/type-detector';\n\nimport { I18n } from '../../i18n';\nimport { Icon } from '../Icon';\nimport type { ThemeType } from '../../types';\n\nimport { DeviceTypeIcon } from './DeviceTypeIcon';\nimport { extendDeviceTypeTranslation } from './deviceTypeTranslations';\n\nconst styles: Record<\n 'itemChildrenWrapper' | 'type' | 'selectIcon' | 'selectText' | 'iconWrapper' | 'iconStyle' | 'emptyIcon',\n React.CSSProperties\n> = {\n itemChildrenWrapper: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n },\n type: {\n marginTop: 10,\n },\n selectIcon: {\n paddingRight: 8,\n verticalAlign: 'middle',\n width: 20,\n height: 20,\n },\n selectText: {\n verticalAlign: 'middle',\n },\n iconWrapper: {\n display: 'flex',\n alignItems: 'center',\n },\n iconStyle: {\n width: 16,\n height: 16,\n margin: '0 3px',\n },\n emptyIcon: {\n width: 16,\n height: 16,\n margin: '0 3px',\n },\n};\n\nexport function DeviceTypeSelector(props: {\n themeType: ThemeType;\n supportedDevices?: Types[];\n unsupportedDevices?: Types[];\n value?: Types | '';\n onChange: (value: Types) => void;\n label?: string;\n style?: React.CSSProperties;\n sx?: Record<string, any>;\n disabled?: boolean;\n error?: boolean;\n /** Show icons for applications: google, amazon, material, alias. Used in devices */\n showApplications?: {\n TYPE_OPTIONS: Partial<Record<Types, Record<string, boolean>>>;\n ICONS_TYPE: Record<string, React.JSX.Element>;\n };\n}): React.JSX.Element {\n const [typesWords, setTypesWords] = React.useState<Partial<Record<Types, string>>>({});\n const [types, setTypes] = React.useState<Types[] | null>([]);\n\n useEffect(() => {\n const _typesWords: Partial<Record<Types, string>> = {};\n Object.keys(Types)\n .filter(\n id => (!props.supportedDevices || props.supportedDevices?.includes(id as Types)) && !props.unsupportedDevices?.includes(id as Types),\n )\n .forEach(typeId => (_typesWords[typeId as Types] = I18n.t(`type-${Types[typeId as Types]}`)));\n\n // sort types by ABC in the current language\n const _types: Types[] = Object.keys(_typesWords) as Types[];\n\n _types.sort((a, b) => {\n if (_typesWords[a as Types] === _typesWords[b as Types]) {\n return 0;\n }\n return _typesWords[a as Types]!.localeCompare(_typesWords[b as Types]!, 'de');\n });\n\n extendDeviceTypeTranslation();\n\n setTypes(_types);\n setTypesWords(_typesWords);\n }, [props.supportedDevices, props.unsupportedDevices]);\n\n if (!types) {\n return (\n <Box\n style={{\n ...styles.type,\n ...props.style,\n }}\n sx={props.sx}\n />\n );\n }\n\n return (\n <FormControl\n style={{\n ...styles.type,\n ...props.style,\n }}\n sx={props.sx}\n variant=\"standard\"\n error={!!props.error}\n >\n <InputLabel>{props.label || I18n.t('type-Device type')}</InputLabel>\n <Select\n variant=\"standard\"\n disabled={!!props.disabled}\n value={props.value}\n onChange={e => props.onChange(e.target.value as Types)}\n >\n {types.map(typeId => (\n <MenuItem\n key={Types[typeId]}\n value={Types[typeId]}\n >\n <div style={styles.itemChildrenWrapper}>\n <div>\n <DeviceTypeIcon\n type={Types[typeId]}\n style={{\n ...styles.selectIcon,\n color: props.themeType === 'dark' ? '#FFFFFF' : '#000',\n }}\n />\n <span style={styles.selectText}>{typesWords[typeId]}</span>\n </div>\n {props.showApplications?.TYPE_OPTIONS[typeId] ? (\n <div style={styles.iconWrapper}>\n {Object.keys(props.showApplications.TYPE_OPTIONS[typeId]).map(key =>\n props.showApplications.TYPE_OPTIONS[typeId][key] ? (\n <Icon\n key={key}\n style={styles.iconStyle}\n src={props.showApplications.ICONS_TYPE[key]}\n />\n ) : (\n <div\n key={key}\n style={styles.emptyIcon}\n />\n ),\n )}\n </div>\n ) : null}\n </div>\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function extendDeviceTypeTranslation(): void;
@@ -0,0 +1,26 @@
1
+ import { I18n } from '../../i18n';
2
+ import enLang from './i18n/en.json';
3
+ import deLang from './i18n/de.json';
4
+ import ruLang from './i18n/ru.json';
5
+ import ptLang from './i18n/pt.json';
6
+ import plLang from './i18n/pl.json';
7
+ import frLang from './i18n/fr.json';
8
+ import itLang from './i18n/it.json';
9
+ import nlLang from './i18n/nl.json';
10
+ import ukLang from './i18n/uk.json';
11
+ import zhLang from './i18n/zh-cn.json';
12
+ export function extendDeviceTypeTranslation() {
13
+ I18n.extendTranslations({
14
+ en: enLang,
15
+ de: deLang,
16
+ ru: ruLang,
17
+ pt: ptLang,
18
+ pl: plLang,
19
+ fr: frLang,
20
+ it: itLang,
21
+ nl: nlLang,
22
+ uk: ukLang,
23
+ 'zh-cn': zhLang,
24
+ });
25
+ }
26
+ //# sourceMappingURL=deviceTypeTranslations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceTypeTranslations.js","sourceRoot":"./src/","sources":["Components/DeviceType/deviceTypeTranslations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,UAAU,2BAA2B;IACvC,IAAI,CAAC,kBAAkB,CAAC;QACpB,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,OAAO,EAAE,MAAM;KAClB,CAAC,CAAC;AACP,CAAC","sourcesContent":["import { I18n } from '../../i18n';\nimport enLang from './i18n/en.json';\nimport deLang from './i18n/de.json';\nimport ruLang from './i18n/ru.json';\nimport ptLang from './i18n/pt.json';\nimport plLang from './i18n/pl.json';\nimport frLang from './i18n/fr.json';\nimport itLang from './i18n/it.json';\nimport nlLang from './i18n/nl.json';\nimport ukLang from './i18n/uk.json';\nimport zhLang from './i18n/zh-cn.json';\n\nexport function extendDeviceTypeTranslation() {\n I18n.extendTranslations({\n en: enLang,\n de: deLang,\n ru: ruLang,\n pt: ptLang,\n pl: plLang,\n fr: frLang,\n it: itLang,\n nl: nlLang,\n uk: ukLang,\n 'zh-cn': zhLang,\n });\n}\n"]}
@@ -2058,7 +2058,7 @@ export class IconSelector extends Component {
2058
2058
  this.props.t('ra_Select predefined icon'),
2059
2059
  this.state.isAnyName ? (React.createElement(TextField, { variant: "standard", margin: "dense", style: { marginLeft: 20 }, value: this.state.filter, onChange: e => this.setState({ filter: e.target.value.toLowerCase() }), placeholder: this.props.t('ra_Filter'), slotProps: {
2060
2060
  input: {
2061
- endAdornment: this.state.filter ? (React.createElement(IconButton, { size: "small", onClick: () => this.setState({ filter: '' }) },
2061
+ endAdornment: this.state.filter ? (React.createElement(IconButton, { tabIndex: -1, size: "small", onClick: () => this.setState({ filter: '' }) },
2062
2062
  React.createElement(ClearIcon, null))) : undefined,
2063
2063
  },
2064
2064
  } })) : null),
@@ -1 +1 @@
1
- {"version":3,"file":"IconSelector.js","sourceRoot":"./src/","sources":["Components/IconSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\n\nimport {\n Dialog,\n DialogTitle,\n DialogActions,\n DialogContent,\n Button,\n IconButton,\n TextField,\n Tooltip,\n CircularProgress,\n} from '@mui/material';\n\nimport { Close as CloseIcon, Clear as ClearIcon } from '@mui/icons-material';\n\nimport { Icon } from './Icon';\nimport { Utils } from './Utils';\nimport devicesIcons from '../assets/devices.json';\nimport roomsIcons from '../assets/rooms.json';\nimport type { Translate } from '../types';\n\n// import devices from '../assets/devices/list.json';\nconst devices: { _id: string; name: ioBroker.StringOrTranslated; icon: string }[] = [\n {\n _id: 'hood',\n name: {\n en: 'Hood',\n ru: 'Вытяжка',\n de: 'Abzugshaube',\n fr: 'Capot',\n it: 'Cappe',\n nl: 'Hood',\n pl: 'Okapy',\n pt: 'Hood',\n es: 'Campana',\n 'zh-cn': '抽油烟机',\n },\n icon: 'Hoods.svg',\n },\n {\n _id: 'alarm_system',\n name: {\n en: 'Alarm System',\n ru: 'Сигнализация',\n de: 'Alarmanlage',\n fr: \"Systèmes D'Alarme\",\n it: 'Sistemi Di Allarme',\n nl: 'Alarm Systems',\n pl: 'Systemy Alarmowe',\n pt: 'Sistemas De Alarme',\n es: 'Sistemas De Alarma',\n 'zh-cn': '报警系统',\n },\n icon: 'Alarm Systems.svg',\n },\n {\n _id: 'battery_status',\n name: {\n en: 'Battery Status',\n ru: 'Заряд батареи',\n de: 'Batteriestatus',\n fr: 'État De La Batterie',\n it: 'Stato Della Batteria',\n nl: 'Batterij Status',\n pl: 'Stan Baterii',\n pt: 'Estado Da Bateria',\n es: 'Estado De La Batería',\n 'zh-cn': '电池状态',\n },\n icon: 'Battery Status.svg',\n },\n {\n _id: 'lighting',\n name: {\n en: 'Lighting',\n ru: 'Светильник',\n de: 'Beleuchtung',\n fr: 'Éclairages',\n it: 'Illuminazione',\n nl: 'Verlichting',\n pl: 'Oprawy Oświetleniowe',\n pt: 'Iluminações',\n es: 'Iluminaciones',\n 'zh-cn': '照明',\n },\n icon: 'Lightings.svg',\n },\n {\n _id: 'shading',\n name: {\n en: 'Shading',\n ru: 'Затенение',\n de: 'Beschattungen',\n fr: 'Ombres',\n it: 'Ombreggiatura',\n nl: 'Shading',\n pl: 'Zacienienie',\n pt: 'Shading',\n es: 'Sombreado',\n 'zh-cn': '底纹',\n },\n icon: 'Shading.svg',\n },\n {\n _id: 'irrigation',\n name: {\n en: 'Irrigation',\n ru: 'Орошение',\n de: 'Bewässerung',\n fr: 'Irrigation',\n it: 'Irrigazione',\n nl: 'Irrigatie',\n pl: 'Nawadnianie',\n pt: 'Irrigação',\n es: 'Irrigación',\n 'zh-cn': '灌溉',\n },\n icon: 'Irrigation.svg',\n },\n {\n _id: 'iron',\n name: {\n en: 'Iron',\n ru: 'Утюг',\n de: 'Bügeleisen',\n fr: 'Le Fer',\n it: 'Ferro',\n nl: 'Ijzer',\n pl: 'Żelazo',\n pt: 'Ferro',\n es: 'Hierro',\n 'zh-cn': '铁',\n },\n icon: 'Iron.svg',\n },\n {\n _id: 'computer',\n name: {\n en: 'Computer',\n ru: 'Компьютер',\n de: 'Rechner',\n fr: \"L'Ordinateur\",\n it: 'Computer',\n nl: 'Computer',\n pl: 'Komputer',\n pt: 'Computador',\n es: 'Ordenador',\n 'zh-cn': '电脑',\n },\n icon: 'Computer.svg',\n },\n {\n _id: 'ceiling_spotlight',\n name: {\n en: 'Ceiling Spotlight',\n ru: 'Потолочный прожектор',\n de: 'Deckenspot',\n fr: 'Plafond Spotlight',\n it: 'Faretti A Soffitto',\n nl: 'Plafond Spotlight',\n pl: 'Reflektory Sufitowe',\n pt: 'Tecto Foco',\n es: 'Focos De Techo',\n 'zh-cn': '天花射灯',\n },\n icon: 'Ceiling Spotlights.svg',\n },\n {\n _id: 'printer',\n name: {\n en: 'Printer',\n de: 'Drucker',\n ru: 'Принтер',\n pt: 'Impressora',\n nl: 'Printer',\n fr: 'Imprimante',\n it: 'Stampante',\n es: 'Impresora',\n pl: 'Drukarka',\n 'zh-cn': '打印机',\n },\n icon: 'Printer.svg',\n },\n {\n _id: 'power_consumption',\n name: {\n en: 'Power Consumption',\n ru: 'Потребляемая мощность',\n de: 'Stromverbrauch',\n fr: \"Consommation D'Énergie\",\n it: 'Consumo Di Energia',\n nl: 'Energieverbruik',\n pl: 'Pobór Energii',\n pt: 'Consumo De Energia',\n es: 'El Consumo De Energía',\n 'zh-cn': '能量消耗',\n },\n icon: 'Power Consumption.svg',\n },\n {\n _id: 'window',\n name: {\n en: 'Window',\n ru: 'Окно',\n de: 'Fenster',\n fr: 'La Fenêtre',\n it: 'Finestra',\n nl: 'Venster',\n pl: 'Okno',\n pt: 'Janela',\n es: 'Ventana',\n 'zh-cn': '窗户',\n },\n icon: 'Window.svg',\n },\n {\n _id: 'garage_door',\n name: {\n en: 'Garage Door',\n ru: 'Гаражные Ворота',\n de: 'Garagentor',\n fr: 'Portes De Garage',\n it: 'Garage Door',\n nl: 'Garage Door',\n pl: 'Bramy Garażowe',\n pt: 'Portas De Garagem',\n es: 'Las Puertas De Garaje',\n 'zh-cn': '车库门',\n },\n icon: 'Garage Doors.svg',\n },\n {\n _id: 'hairdryer',\n name: {\n en: 'Hairdryer',\n ru: 'Фен',\n de: 'Haartrockner',\n fr: 'Sèche-Cheveux',\n it: 'Asciugacapelli',\n nl: 'Haardroger',\n pl: 'Suszarka Do Włosów',\n pt: 'Secador De Cabelo',\n es: 'Secador De Pelo',\n 'zh-cn': '电吹风',\n },\n icon: 'Hairdryer.svg',\n },\n {\n _id: 'hanging_lamp',\n name: {\n en: 'Hanging Lamp',\n ru: 'Подвесной светильник',\n de: 'Hängelampe',\n fr: 'Lampes Suspendues',\n it: 'Lampade A Sospensione',\n nl: 'Opknoping Lampen',\n pl: 'Lampy Wiszące',\n pt: 'Lâmpadas De Suspensão',\n es: 'Lámparas Colgantes',\n 'zh-cn': '挂灯',\n },\n icon: 'Hanging Lamps.svg',\n },\n {\n _id: 'doorstep',\n name: {\n en: 'Enterance',\n ru: 'Входная дверь',\n de: 'Haustür',\n fr: 'Seuil De Porte',\n it: 'Gradino Della Porta',\n nl: 'Drempel',\n pl: 'Próg',\n pt: 'Porta',\n es: 'Peldaño',\n 'zh-cn': '门阶',\n },\n icon: 'Doorstep.svg',\n },\n {\n _id: 'hot_water',\n name: {\n en: 'Hot Water',\n ru: 'Горячая вода',\n de: 'Heißwasser',\n fr: 'Eau Chaude',\n it: 'Acqua Calda',\n nl: 'Heet Water',\n pl: 'Gorąca Woda',\n pt: 'Água Quente',\n es: 'Agua Caliente',\n 'zh-cn': '热水',\n },\n icon: 'Hot Water.svg',\n },\n {\n _id: 'heating',\n name: {\n en: 'Heating',\n ru: 'Отопление',\n de: 'Heizung',\n fr: 'Chauffe-Eau',\n it: 'Riscaldatore',\n nl: 'Verwarmer',\n pl: 'Podgrzewacz',\n pt: 'Aquecedor',\n es: 'Calentador',\n 'zh-cn': '加热器',\n },\n icon: 'Heater.svg',\n },\n {\n _id: 'stove',\n name: {\n en: 'Stove',\n ru: 'Печь',\n de: 'Herd',\n fr: 'Le Fourneau',\n it: 'Stufa',\n nl: 'Fornuis',\n pl: 'Kuchenka',\n pt: 'Forno',\n es: 'Cocina',\n 'zh-cn': '火炉',\n },\n icon: 'Stove.svg',\n },\n {\n _id: 'louvre',\n name: {\n en: 'Louvre',\n ru: 'Жалюзи',\n de: 'Jalousie',\n fr: 'Persienne',\n it: 'Persiana Di Ventilazione',\n nl: 'Louvre',\n pl: 'Żaluzja',\n pt: 'Trapeira',\n es: 'Lumbrera',\n 'zh-cn': '卢浮宫',\n },\n icon: 'Louvre.svg',\n },\n {\n _id: 'coffee_maker',\n name: {\n en: 'Coffee Maker',\n ru: 'Кофеварка',\n de: 'Kaffemaschine',\n fr: 'Cafetière',\n it: 'Macchine Da Caffè',\n nl: 'Koffie Maker',\n pl: 'Ekspresy Do Kawy',\n pt: 'Cafeteira',\n es: 'Cafetera',\n 'zh-cn': '咖啡壶',\n },\n icon: 'Coffee Makers.svg',\n },\n {\n _id: 'cold_water',\n name: {\n en: 'Cold Water',\n ru: 'Холодная вода',\n de: 'Kaltwasser',\n fr: 'Eau Froide',\n it: 'Acqua Fredda',\n nl: 'Koud Water',\n pl: 'Zimna Woda',\n pt: 'Água Fria',\n es: 'Agua Fría',\n 'zh-cn': '冷水',\n },\n icon: 'Cold Water.svg',\n },\n {\n _id: 'climate',\n name: {\n en: 'Climate',\n ru: 'Климат',\n de: 'Klima',\n fr: 'Climat',\n it: 'Clima',\n nl: 'Klimaat',\n pl: 'Klimat',\n pt: 'Clima',\n es: 'Clima',\n 'zh-cn': '气候',\n },\n icon: 'Climate.svg',\n },\n {\n _id: 'speaker',\n name: {\n en: 'Speaker',\n ru: 'Звуковая система',\n de: 'Lautsprecher',\n fr: 'Orateur',\n it: 'Altoparlante',\n nl: 'Spreker',\n pl: 'Głośnik',\n pt: 'Palestrante',\n es: 'Altavoz',\n 'zh-cn': '扬声器',\n },\n icon: 'Speaker.svg',\n },\n {\n _id: 'led_strip',\n name: {\n en: 'Led Strip',\n ru: 'Светодиодная лента',\n de: 'LED Leiste',\n fr: 'Led Strip',\n it: 'Led Strip',\n nl: 'Loden Strip',\n pl: 'Pasek Ledowy',\n pt: 'Led Faixa',\n es: 'Tira Llevada',\n 'zh-cn': '灯带',\n },\n icon: 'Led Strip.svg',\n },\n {\n _id: 'light',\n name: {\n en: 'Light',\n ru: 'Свет',\n de: 'Licht',\n fr: 'Lumière',\n it: 'Leggero',\n nl: 'Licht',\n pl: 'Lekki',\n pt: 'Luz',\n es: 'Luz',\n 'zh-cn': '光',\n },\n icon: 'Light.svg',\n },\n {\n _id: 'fan',\n name: {\n en: 'Fan',\n ru: 'Вентилятор',\n de: 'Lüfter',\n fr: 'Ventilateur',\n it: 'Fan',\n nl: 'Ventilator',\n pl: 'Wentylator',\n pt: 'Ventilador',\n es: 'Ventilador',\n 'zh-cn': '扇子',\n },\n icon: 'Fan.svg',\n },\n {\n _id: 'humidity',\n name: {\n en: 'Humidity',\n ru: 'Влажность',\n de: 'Luftfeuchtigkeit',\n fr: 'Humidité',\n it: 'Umidità',\n nl: 'Vochtigheid',\n pl: 'Wilgotność',\n pt: 'Umidade',\n es: 'Humedad',\n 'zh-cn': '湿度',\n },\n icon: 'Humidity.svg',\n },\n {\n _id: 'ventilation',\n name: {\n en: 'Ventilation',\n ru: 'Вентиляция',\n de: 'Lüftung',\n fr: 'Ventilation',\n it: 'Ventilazione',\n nl: 'Ventilatie',\n pl: 'Wentylacja',\n pt: 'Ventilação',\n es: 'Ventilación',\n 'zh-cn': '通风',\n },\n icon: 'Ventilation.svg',\n },\n {\n _id: 'chandelier',\n name: {\n en: 'Chandelier',\n ru: 'Люстра',\n de: 'Kronleuchter',\n fr: 'Lustre',\n it: 'Lampadario',\n nl: 'Kroonluchter',\n pl: 'Żyrandol',\n pt: 'Lustre',\n es: 'Candelabro',\n 'zh-cn': '枝形吊灯',\n },\n icon: 'Chandelier.svg',\n },\n {\n _id: 'awning',\n name: {\n en: 'Awning',\n ru: 'Маркиза',\n de: 'Markise',\n fr: 'Auvents',\n it: 'Tende',\n nl: 'Luifels',\n pl: 'Okrycia',\n pt: 'Toldos',\n es: 'Toldos',\n 'zh-cn': '遮阳篷',\n },\n icon: 'Awnings.svg',\n },\n {\n _id: 'music',\n name: {\n en: 'Music',\n ru: 'Музыка',\n de: 'Musik',\n fr: 'Musique',\n it: 'Musica',\n nl: 'Muziek',\n pl: 'Muzyka',\n pt: 'Música',\n es: 'Música',\n 'zh-cn': '音乐',\n },\n icon: 'Music.svg',\n },\n {\n _id: 'people',\n name: {\n en: 'People',\n ru: 'Люди',\n de: 'Personen',\n fr: 'Gens',\n it: 'Persone',\n nl: 'Mensen',\n pl: 'Ludzie',\n pt: 'Pessoas',\n es: 'Personas',\n 'zh-cn': '人们',\n },\n icon: 'People.svg',\n },\n {\n _id: 'pool',\n name: {\n en: 'Pool',\n ru: 'Бассейн',\n de: 'Pool',\n fr: 'Piscine',\n it: 'Piscina',\n nl: 'Zwembad',\n pl: 'Basen',\n pt: 'Piscina',\n es: 'Piscina',\n 'zh-cn': '水池',\n },\n icon: 'Pool.svg',\n },\n {\n _id: 'pump',\n name: {\n en: 'Pump',\n ru: 'Насос',\n de: 'Pumpe',\n fr: 'Pompe',\n it: 'Pompa',\n nl: 'Pomp',\n pl: 'Pompa',\n pt: 'Bombear',\n es: 'Bomba',\n 'zh-cn': '泵',\n },\n icon: 'Pump.svg',\n },\n {\n _id: 'outdoor_blinds',\n name: {\n en: 'Outdoor Blinds',\n ru: 'Внещгте жалюзи',\n de: 'Raffstore',\n fr: 'Volets',\n it: 'Tende Da Esterni',\n nl: 'Outdoor Blinds',\n pl: 'Rolety Zewnętrzne',\n pt: 'Estores Exteriores',\n es: 'Persianas Exteriores',\n 'zh-cn': '室外百叶窗',\n },\n icon: 'Outdoor Blinds.svg',\n },\n {\n _id: 'mowing_machine',\n name: {\n en: 'Mowing Machine',\n ru: 'Газонокосилка',\n de: 'Rasenmäher',\n fr: 'Machine De Fauchage',\n it: 'Macchina Di Falciatura',\n nl: 'Maaimachine',\n pl: 'Kosiarka',\n pt: 'Roçada Máquina',\n es: 'Segadora',\n 'zh-cn': '割草机',\n },\n icon: 'Mowing Machine.svg',\n },\n {\n _id: 'receiver',\n name: {\n en: 'Receiver',\n ru: 'Приставка',\n de: 'Receiver',\n fr: 'Destinataire',\n it: 'Ricevitore',\n nl: 'Ontvanger',\n pl: 'Odbiorca',\n pt: 'Recebedor',\n es: 'Receptor',\n 'zh-cn': '接收者',\n },\n icon: 'Receiver.svg',\n },\n {\n _id: 'shutters',\n name: {\n en: 'Shutters',\n ru: 'Ставни',\n de: 'Rollladen',\n fr: 'Volets',\n it: 'Persiane',\n nl: 'Shutters',\n pl: 'Żaluzje',\n pt: 'Persianas',\n es: 'Persianas',\n 'zh-cn': '百叶窗',\n },\n icon: 'Shutters.svg',\n },\n {\n _id: 'smoke_detector',\n name: {\n en: 'Smoke detector',\n de: 'Rauchmelder',\n ru: 'Детектор дыма',\n pt: 'Detector de fumaça',\n nl: 'Rookdetector',\n fr: 'Détecteur de fumée',\n it: 'Rilevatore di fumo',\n es: 'Detector de humo',\n pl: 'Wykrywacz dymu',\n 'zh-cn': '烟雾探测器',\n },\n icon: 'SmokeDetector.svg',\n },\n {\n _id: 'lock',\n name: {\n en: 'Lock',\n ru: 'Замок',\n de: 'Schloß',\n fr: 'Fermer À Clé',\n it: 'Serratura',\n nl: 'Slot',\n pl: 'Zamek',\n pt: 'Trancar',\n es: 'Cerrar Con Llave',\n 'zh-cn': '锁',\n },\n icon: 'Lock.svg',\n },\n {\n _id: 'security',\n name: {\n en: 'Security',\n ru: 'Безопасность',\n de: 'Sicherheit',\n fr: 'Sécurité',\n it: 'Sicurezza',\n nl: 'Veiligheid',\n pl: 'Bezpieczeństwo',\n pt: 'Segurança',\n es: 'Seguridad',\n 'zh-cn': '安全',\n },\n icon: 'Security.svg',\n },\n {\n _id: 'dishwasher',\n name: {\n en: 'Dishwasher',\n ru: 'Посудомоечная машина',\n de: 'Spülmaschine',\n fr: 'Lave-Vaisselles',\n it: 'Lavastoviglie',\n nl: 'Vaatwassers',\n pl: 'Zmywarki',\n pt: 'Máquinas De Lavar Louça',\n es: 'Lavaplatos',\n 'zh-cn': '洗碗机',\n },\n icon: 'Dishwashers.svg',\n },\n {\n _id: 'vacuum_cleaner',\n name: {\n en: 'Vacuum Cleaner',\n ru: 'Пылесос',\n de: 'Staubsauger',\n fr: 'Aspirateur',\n it: 'Aspirapolvere',\n nl: 'Stofzuiger',\n pl: 'Odkurzacz',\n pt: 'Aspirador De Pó',\n es: 'Aspiradora',\n 'zh-cn': '吸尘器',\n },\n icon: 'Vacuum Cleaner.svg',\n },\n {\n _id: 'socket',\n name: {\n en: 'Socket',\n ru: 'Розетка',\n de: 'Steckdose',\n fr: 'Prise',\n it: 'Socket',\n nl: 'Socket',\n pl: 'Gniazdka',\n pt: 'Tomada',\n es: 'Zócalo',\n 'zh-cn': '套接字',\n },\n icon: 'Sockets.svg',\n },\n {\n _id: 'floor_lamp',\n name: {\n en: 'Floor Lamp',\n ru: 'Торшер',\n de: 'Stehlampe',\n fr: 'Lampes Pour Plancher',\n it: 'Lampade A Stelo',\n nl: 'Vloerlampen',\n pl: 'Lampy Podłogowe',\n pt: 'Lâmpadas Chão',\n es: 'Lámparas De Pie',\n 'zh-cn': '落地灯',\n },\n icon: 'Floor Lamps.svg',\n },\n {\n _id: 'power_consumption',\n name: {\n en: 'Power Consumption',\n ru: 'Потребляемая мощность',\n de: 'Stromverbrauch',\n fr: \"Consommation D'Énergie\",\n it: 'Consumo Di Energia',\n nl: 'Energieverbruik',\n pl: 'Pobór Energii',\n pt: 'Consumo De Energia',\n es: 'El Consumo De Energía',\n 'zh-cn': '能量消耗',\n },\n icon: 'Power Consumption.svg',\n },\n {\n _id: 'temperature_sensor',\n name: {\n en: 'Temperature Sensor',\n ru: 'Температурный датчик',\n de: 'Temperatur-Sensor',\n fr: 'Capteur De Température',\n it: 'Sensori Di Temperatura',\n nl: 'Temperatuursensor',\n pl: 'Czujniki Temperatury',\n pt: 'Sensores De Temperatura',\n es: 'Sensores De Temperatura',\n 'zh-cn': '温度传感器',\n },\n icon: 'Temperature Sensors.svg',\n },\n {\n _id: 'table_lamp',\n name: {\n en: 'Table Lamp',\n ru: 'Настольная лампа',\n de: 'Tischlampe',\n fr: 'Lampe De Chevet',\n it: 'Lampade Da Tavolo',\n nl: 'Tafellampen',\n pl: 'Lampy Stołowe',\n pt: 'Lâmpadas De Mesa',\n es: 'Lámparas De Mesa',\n 'zh-cn': '台灯',\n },\n icon: 'Table Lamps.svg',\n },\n {\n _id: 'gate',\n name: {\n en: 'Gate',\n ru: 'Ворота',\n de: 'Tor',\n fr: 'Porte',\n it: 'Gate',\n nl: 'Gate',\n pl: 'Bramy',\n pt: 'Portões',\n es: 'Puertas',\n 'zh-cn': '盖茨',\n },\n icon: 'Gates.svg',\n },\n {\n _id: 'dryer',\n name: {\n en: 'Dryer',\n ru: 'Сушилка',\n de: 'Trockner',\n fr: 'Séchoir',\n it: 'Asciugatrice',\n nl: 'Droger',\n pl: 'Suszarka',\n pt: 'Secador',\n es: 'Secadora',\n 'zh-cn': '烘干机',\n },\n icon: 'Dryer.svg',\n },\n {\n _id: 'door',\n name: {\n en: 'Door',\n ru: 'Дверь',\n de: 'Tür',\n fr: 'Des Portes',\n it: 'Porte',\n nl: 'Deuren',\n pl: 'Drzwi',\n pt: 'Portas',\n es: 'Puertas',\n 'zh-cn': '门',\n },\n icon: 'Doors.svg',\n },\n {\n _id: 'tv',\n name: {\n en: 'Tv',\n ru: 'Телевизор',\n de: 'TV',\n fr: 'La Télé',\n it: 'Tv',\n nl: 'Tv',\n pl: 'Telewizja',\n pt: 'Televisão',\n es: 'Televisor',\n 'zh-cn': '电视',\n },\n icon: 'Tv.svg',\n },\n {\n _id: 'consumption',\n name: {\n en: 'Consumption',\n ru: 'Потребление',\n de: 'Verbrauch',\n fr: 'Consommation',\n it: 'Consumo',\n nl: 'Consumptie',\n pl: 'Konsumpcja',\n pt: 'Consumo',\n es: 'Consumo',\n 'zh-cn': '消费',\n },\n icon: 'Consumption.svg',\n },\n {\n _id: 'amplifier',\n name: {\n en: 'Amplifier',\n ru: 'Усилитель звука',\n de: 'Verstärker',\n fr: 'Amplificateur',\n it: 'Amplificatore',\n nl: 'Versterker',\n pl: 'Wzmacniacz',\n pt: 'Amplificador',\n es: 'Amplificador',\n 'zh-cn': '放大器',\n },\n icon: 'Amplifier.svg',\n },\n {\n _id: 'curtains',\n name: {\n en: 'Curtains',\n ru: 'Шторы',\n de: 'Vorhänge',\n fr: 'Des Rideaux',\n it: 'Le Tende',\n nl: 'Gordijnen',\n pl: 'Zasłony',\n pt: 'Cortinas',\n es: 'Cortinas',\n 'zh-cn': '窗帘',\n },\n icon: 'Curtains.svg',\n },\n {\n _id: 'sconce',\n name: {\n en: 'Sconce',\n ru: 'Настенный светильник',\n de: 'Wandlampe',\n fr: 'Sconce',\n it: 'Sconce',\n nl: 'Sconce',\n pl: 'Kinkiety',\n pt: 'Arandelas',\n es: 'Los Apliques',\n 'zh-cn': '壁灯',\n },\n icon: 'Sconces.svg',\n },\n {\n _id: 'washing_machine',\n name: {\n en: 'Washing Machine',\n ru: 'Стиральная машина',\n de: 'Waschmaschine',\n fr: 'Machines À Laver',\n it: 'Lavatrici',\n nl: 'Wasmachines',\n pl: 'Pralki',\n pt: 'Máquinas De Lavar Roupas',\n es: 'Lavadoras',\n 'zh-cn': '洗衣机',\n },\n icon: 'Washing Machines.svg',\n },\n {\n _id: 'water',\n name: {\n en: 'Water',\n ru: 'Вода',\n de: 'Wasser',\n fr: \"L'Eau\",\n it: 'Acqua',\n nl: 'Water',\n pl: 'Woda',\n pt: 'Água',\n es: 'Agua',\n 'zh-cn': '水',\n },\n icon: 'Water.svg',\n },\n {\n _id: 'water_heater',\n name: {\n en: 'Water Heater',\n ru: 'Нагреватель воды',\n de: 'Wasserkocher',\n fr: 'Chauffe-Eau',\n it: 'Scaldabagno',\n nl: 'Waterkoker',\n pl: 'Podgrzewacz Wody',\n pt: 'Aquecedor De Água',\n es: 'Calentador De Agua',\n 'zh-cn': '热水器',\n },\n icon: 'Water Heater.svg',\n },\n {\n _id: 'water_consumption',\n name: {\n en: 'Water Consumption',\n ru: 'Потребление воды',\n de: 'Wasserverbrauch',\n fr: \"Consommation D'Eau\",\n it: \"Consumo D'Acqua\",\n nl: 'Waterverbruik',\n pl: 'Konsumpcja Wody',\n pt: 'Consumo De Água',\n es: 'Consumo De Agua',\n 'zh-cn': '耗水量',\n },\n icon: 'Water Consumption.svg',\n },\n {\n _id: 'weather',\n name: {\n en: 'Weather',\n ru: 'Погода',\n de: 'Wetter',\n fr: 'La Météo',\n it: 'Tempo Metereologico',\n nl: 'Weer',\n pl: 'Pogoda',\n pt: 'Clima',\n es: 'Tiempo',\n 'zh-cn': '天气',\n },\n icon: 'Weather.svg',\n },\n];\n\n// import rooms from '../assets/rooms/list.json';\nconst rooms: { _id: string; name: ioBroker.StringOrTranslated; icon: string }[] = [\n {\n _id: 'storeroom',\n name: {\n en: 'Storeroom',\n ru: 'Кладовая',\n de: 'Abstellraum',\n fr: 'Débarras',\n it: 'Dispensa',\n nl: 'Bergplaats',\n pl: 'Magazyn',\n pt: 'Despensa',\n es: 'Trastero',\n 'zh-cn': '库房',\n },\n icon: 'Storeroom.svg',\n },\n {\n _id: 'second_floor',\n name: {\n en: 'Second floor',\n ru: 'Второй этаж',\n de: 'Erster OG',\n pt: 'Primeiro andar',\n nl: 'Eerste verdieping',\n fr: 'Premier étage',\n it: 'Primo piano',\n es: 'Primer piso',\n pl: 'Pierwsze piętro',\n 'zh-cn': '第一层',\n },\n icon: 'Second Floor.svg',\n },\n {\n _id: 'dressing_room',\n name: {\n en: 'Dressing Room',\n ru: 'Гардеробная',\n de: 'Ankleide',\n fr: 'Vestiaire',\n it: 'Camerino',\n nl: 'Kleedkamer',\n pl: 'Przebieralnia',\n pt: 'Provador',\n es: 'Vestidor',\n 'zh-cn': '更衣室',\n },\n icon: 'Dressing Room.svg',\n },\n {\n _id: 'workspace',\n name: {\n en: 'Workspace',\n ru: 'Рабочая Среда',\n de: 'Arbeitszimmer',\n fr: 'Espace De Travail',\n it: 'Area Di Lavoro',\n nl: 'Workspace',\n pl: 'Workspace',\n pt: 'Área De Trabalho',\n es: 'Espacio De Trabajo',\n 'zh-cn': '工作区',\n },\n icon: 'Workspace.svg',\n },\n {\n _id: 'driveway',\n name: {\n en: 'Driveway',\n ru: 'Дорога',\n de: 'Auffahrt',\n fr: 'Allée',\n it: 'Viale',\n nl: 'Pad',\n pl: 'Podjazd',\n pt: 'Entrada Da Garagem',\n es: 'Entrada De Coches',\n 'zh-cn': '车道',\n },\n icon: 'Driveway.svg',\n },\n {\n _id: 'outdoors',\n name: {\n en: 'Outdoors',\n ru: 'На Улице',\n de: 'Außenbereich',\n fr: 'En Plein Air',\n it: \"All'Aperto\",\n nl: 'Buitenshuis',\n pl: 'Na Dworze',\n pt: 'Ao Ar Livre',\n es: 'Al Aire Libre',\n 'zh-cn': '户外',\n },\n icon: 'Outdoors.svg',\n },\n {\n _id: 'bathroom',\n name: {\n en: 'Bathroom',\n ru: 'Ванная Комната',\n de: 'Badezimmer',\n fr: 'Salle De Bains',\n it: 'Bagno',\n nl: 'Badkamer',\n pl: 'Łazienka',\n pt: 'Banheiro',\n es: 'Baño',\n 'zh-cn': '浴室',\n },\n icon: 'Bathroom.svg',\n },\n {\n _id: 'balcony',\n name: {\n en: 'Balcony',\n ru: 'Балкон',\n de: 'Balkon',\n fr: 'Balcon',\n it: 'Balcone',\n nl: 'Balkon',\n pl: 'Balkon',\n pt: 'Sacada',\n es: 'Balcón',\n 'zh-cn': '阳台',\n },\n icon: 'Balcony.svg',\n },\n {\n _id: 'office',\n name: {\n en: 'Office',\n ru: 'Офис',\n de: 'Office',\n fr: 'Bureau',\n it: 'Ufficio',\n nl: 'Kantoor',\n pl: 'Gabinet',\n pt: 'Escritório',\n es: 'Oficina',\n 'zh-cn': '办公室',\n },\n icon: 'Office.svg',\n },\n {\n _id: 'carport',\n name: {\n en: 'Carport',\n ru: 'Навес',\n de: 'Carport',\n fr: 'Carport',\n it: 'Posto Auto Coperto',\n nl: 'Carport',\n pl: 'Wiata',\n pt: 'Telheiro',\n es: 'Cochera',\n 'zh-cn': '车棚',\n },\n icon: 'Carport.svg',\n },\n {\n _id: 'attic',\n name: {\n en: 'Attic',\n ru: 'Чердак',\n de: 'Dachgeschoss',\n fr: 'Grenier',\n it: 'Attico',\n nl: 'Zolder',\n pl: 'Poddasze',\n pt: 'Sótão',\n es: 'Ático',\n 'zh-cn': '阁楼',\n },\n icon: 'Attic.svg',\n },\n {\n _id: 'hall',\n name: {\n en: 'Hall',\n ru: 'Зал',\n de: 'Diele',\n fr: 'Salle',\n it: 'Sala',\n nl: 'Hal',\n pl: 'Sala',\n pt: 'Corredor',\n es: 'Sala',\n 'zh-cn': '大厅',\n },\n icon: 'Hall.svg',\n },\n {\n _id: 'entrance',\n name: {\n en: 'Entrance',\n ru: 'Вход',\n de: 'Eingang',\n fr: 'Entrée',\n it: 'Ingresso',\n nl: 'Ingang',\n pl: 'Wejście',\n pt: 'Entrada',\n es: 'Entrada',\n 'zh-cn': '入口',\n },\n icon: 'Entrance.svg',\n },\n {\n _id: 'ground_floor',\n name: {\n en: 'Ground Floor',\n ru: 'Первый Этаж',\n de: 'Erdgeschoss',\n fr: 'Rez-De-Chaussée',\n it: 'Piano Terra',\n nl: 'Begane Grond',\n pl: 'Parter',\n pt: 'Térreo',\n es: 'Planta Baja',\n 'zh-cn': '一楼',\n },\n icon: 'Ground Floor.svg',\n },\n {\n _id: 'dining_area',\n name: {\n en: 'Dining Area',\n ru: 'Столовая',\n de: 'Essbereich',\n fr: 'Salle À Manger',\n it: 'Zona Pranzo',\n nl: 'Eethoek',\n pl: 'Jadalnia',\n pt: 'Área De Refeições',\n es: 'Comedor',\n 'zh-cn': '用餐区',\n },\n icon: 'Dining Area.svg',\n },\n {\n _id: 'dining_room',\n name: {\n en: 'Dining Room',\n ru: 'Столовая',\n de: 'Esszimmer',\n fr: 'Salle À Manger',\n it: 'Sala Da Pranzo',\n nl: 'Eetkamer',\n pl: 'Jadalnia',\n pt: 'Sala De Jantar',\n es: 'Comedor',\n 'zh-cn': '饭厅',\n },\n icon: 'Dining Room.svg',\n },\n {\n _id: 'gym',\n name: {\n en: 'Gym',\n ru: 'Спортзал',\n de: 'Fitnessraum',\n fr: 'Gym',\n it: 'Palestra',\n nl: 'Sportschool',\n pl: 'Siłownia',\n pt: 'Ginásio',\n es: 'Gimnasio',\n 'zh-cn': '健身房',\n },\n icon: 'Gym.svg',\n },\n {\n _id: 'gallery',\n name: {\n en: 'Gallery',\n ru: 'Галерея',\n de: 'Galerie',\n fr: 'Galerie',\n it: 'Galleria',\n nl: 'Galerij',\n pl: 'Galeria',\n pt: 'Galeria',\n es: 'Galería',\n 'zh-cn': '画廊',\n },\n icon: 'Gallery.svg',\n },\n {\n _id: 'garage',\n name: {\n en: 'Garage',\n ru: 'Гараж',\n de: 'Garage',\n fr: 'Garage',\n it: 'Box Auto',\n nl: 'Garage',\n pl: 'Garaż',\n pt: 'Garagem',\n es: 'Garaje',\n 'zh-cn': '车库',\n },\n icon: 'Garage.svg',\n },\n {\n _id: 'wardrobe',\n name: {\n en: 'Wardrobe',\n ru: 'Гардероб',\n de: 'Garderobe',\n fr: 'Penderie',\n it: 'Armadio',\n nl: 'Garderobe',\n pl: 'Szafa',\n pt: 'Guarda Roupa',\n es: 'Armario',\n 'zh-cn': '衣柜',\n },\n icon: 'Wardrobe.svg',\n },\n {\n _id: 'garden',\n name: {\n en: 'Garden',\n ru: 'Сад',\n de: 'Garten',\n fr: 'Jardin',\n it: 'Giardino',\n nl: 'Tuin',\n pl: 'Ogród',\n pt: 'Jardim',\n es: 'Jardín',\n 'zh-cn': '花园',\n },\n icon: 'Garden.svg',\n },\n {\n _id: 'summer_house',\n name: {\n en: 'Summer House',\n ru: 'Дача',\n de: 'Gartenhaus',\n fr: \"Maison D'Été\",\n it: 'Casa Estiva',\n nl: 'Zomerhuis',\n pl: 'Domek Letniskowy',\n pt: 'Summer House',\n es: 'Casa De Verano',\n 'zh-cn': '凉亭',\n },\n icon: 'Summer House.svg',\n },\n {\n _id: 'guest_bathroom',\n name: {\n en: 'Guest Bathroom',\n ru: 'Гостевая Комната',\n de: 'Gäste-WC',\n fr: 'Salle De Bains Invité',\n it: 'Guest Bathroom',\n nl: 'Gastenbadkamer',\n pl: 'Łazienka Gościnna',\n pt: 'Banheiro De Hóspedes',\n es: 'Baño De Visitas',\n 'zh-cn': '客用浴室',\n },\n icon: 'Guest Bathroom.svg',\n },\n {\n _id: 'guest_room',\n name: {\n en: 'Guest Room',\n ru: 'Гостевая Комната',\n de: 'Gästezimmer',\n fr: \"Chambre D'Amis\",\n it: 'Stanza Degli Ospiti',\n nl: 'Guest Room',\n pl: 'Pokój Gościnny',\n pt: 'Quarto De Hóspedes',\n es: 'Habitación De Huéspedes',\n 'zh-cn': '客房',\n },\n icon: 'Guest Room.svg',\n },\n {\n _id: 'laundry_room',\n name: {\n en: 'Laundry Room',\n ru: 'Прачечная',\n de: 'Hauswirtschaftsraum',\n fr: 'Buanderie',\n it: 'Lavanderia',\n nl: 'Wasruimte',\n pl: 'Pralnia',\n pt: 'Lavandaria',\n es: 'Cuarto De Lavado',\n 'zh-cn': '洗衣房',\n },\n icon: 'Laundry Room.svg',\n },\n {\n _id: 'home_theater',\n name: {\n en: 'Home Theater',\n ru: 'Домашний Театр',\n de: 'Heimkino',\n fr: 'Cinéma Maison',\n it: 'Home Theater',\n nl: 'Thuisbioscoop',\n pl: 'Kino Domowe',\n pt: 'Cinema Em Casa',\n es: 'Cine En Casa',\n 'zh-cn': '家庭电影院',\n },\n icon: 'Home Theater.svg',\n },\n {\n _id: 'boiler_room',\n name: {\n en: 'Boiler Room',\n ru: 'Бойлерная',\n de: 'Heizungsraum',\n fr: 'Chaufferie',\n it: 'Locale Caldaia',\n nl: 'Boiler Room',\n pl: 'Kotłownia',\n pt: 'Sala Da Caldeira',\n es: 'Sala De Calderas',\n 'zh-cn': '锅炉房',\n },\n icon: 'Boiler Room.svg',\n },\n {\n _id: 'chamber',\n name: {\n en: 'Chamber',\n ru: 'Камера',\n de: 'Kammer',\n fr: 'Chambre',\n it: 'Camera',\n nl: 'Kamer',\n pl: 'Izba',\n pt: 'Câmara',\n es: 'Cámara',\n 'zh-cn': '商会',\n },\n icon: 'Chamber.svg',\n },\n {\n _id: 'basement,_cellar',\n name: {\n en: 'Basement, Cellar',\n ru: 'Подвал, Погреб',\n de: 'Keller',\n fr: 'Sous-Sol, Cave',\n it: 'Taverna, Cantina',\n nl: 'Kelder, Kelder',\n pl: 'Piwnica, Piwnica',\n pt: 'Porão, Adega',\n es: 'Sótano, Bodega',\n 'zh-cn': '地下室,地窖',\n },\n icon: 'Basement.svg',\n },\n {\n _id: 'nursery',\n name: {\n en: 'Nursery',\n ru: 'Питомник',\n de: 'Kinderzimmer',\n fr: 'Garderie',\n it: 'Asilo',\n nl: 'Kinderkamer',\n pl: 'Żłobek',\n pt: 'Berçário',\n es: 'Guardería',\n 'zh-cn': '苗圃',\n },\n icon: 'Nursery.svg',\n },\n {\n _id: 'corridor',\n name: {\n en: 'Corridor',\n ru: 'Коридор',\n de: 'Korridor',\n fr: 'Couloir',\n it: 'Corridoio',\n nl: 'Gang',\n pl: 'Korytarz',\n pt: 'Corredor',\n es: 'Corredor',\n 'zh-cn': '走廊',\n },\n icon: 'Corridor.svg',\n },\n {\n _id: 'kitchen',\n name: {\n en: 'Kitchen',\n ru: 'Кухня',\n de: 'Küche',\n fr: 'Cuisine',\n it: 'Cucina',\n nl: 'Keuken',\n pl: 'Kuchnia',\n pt: 'Cozinha',\n es: 'Cocina',\n 'zh-cn': '厨房',\n },\n icon: 'Kitchen.svg',\n },\n {\n _id: 'upstairs',\n name: {\n en: 'Upstairs',\n ru: 'Вверх По Лестнице',\n de: 'Obergeschoss',\n fr: 'En Haut',\n it: 'Di Sopra',\n nl: 'Boven',\n pl: 'Na Górę',\n pt: 'Andar De Cima',\n es: 'Piso Superior',\n 'zh-cn': '楼上',\n },\n icon: 'Upstairs.svg',\n },\n {\n _id: 'office',\n name: {\n en: 'Office',\n ru: 'Офис',\n de: 'Office',\n fr: 'Bureau',\n it: 'Ufficio',\n nl: 'Kantoor',\n pl: 'Gabinet',\n pt: 'Escritório',\n es: 'Oficina',\n 'zh-cn': '办公室',\n },\n icon: 'Office.svg',\n },\n {\n _id: 'pool',\n name: {\n en: 'Pool',\n ru: 'Бассейн',\n de: 'Pool',\n fr: 'Piscine',\n it: 'Piscina',\n nl: 'Zwembad',\n pl: 'Basen',\n pt: 'Piscina',\n es: 'Piscina',\n 'zh-cn': '水池',\n },\n icon: 'Pool.svg',\n },\n {\n _id: 'rear_wall',\n name: {\n en: 'Rear Wall',\n ru: 'Задняя Стенка',\n de: 'Rückwand',\n fr: 'Paroi Arrière',\n it: 'Parete Posteriore',\n nl: 'Achterwand',\n pl: 'Tylna Ściana',\n pt: 'Parede Traseira',\n es: 'Pared Posterior',\n 'zh-cn': '后墙',\n },\n icon: 'Rear Wall.svg',\n },\n {\n _id: 'barn',\n name: {\n en: 'Barn',\n ru: 'Амбар',\n de: 'Scheune',\n fr: 'Grange',\n it: 'Fienile',\n nl: 'Schuur',\n pl: 'Stodoła',\n pt: 'Celeiro',\n es: 'Granero',\n 'zh-cn': '谷仓',\n },\n icon: 'Barn.svg',\n },\n {\n _id: 'sleeping_area',\n name: {\n en: 'Sleeping Area',\n ru: 'Спальное Место',\n de: 'Schlafbereich',\n fr: 'Coin Montagne',\n it: 'Area Sleeping',\n nl: 'Sleeping Area',\n pl: 'Powierzchnia Spania',\n pt: 'Sleeping Area',\n es: 'Área De Dormir',\n 'zh-cn': '睡眠区',\n },\n icon: 'Sleeping Area.svg',\n },\n {\n _id: 'bedroom',\n name: {\n en: 'Bedroom',\n ru: 'Спальная Комната',\n de: 'Schlafzimmer',\n fr: 'Chambre',\n it: 'Camera Da Letto',\n nl: 'Slaapkamer',\n pl: 'Sypialnia',\n pt: 'Quarto',\n es: 'Cuarto',\n 'zh-cn': '卧室',\n },\n icon: 'Bedroom.svg',\n },\n {\n _id: 'shed',\n name: {\n en: 'Shed',\n ru: 'Сбрасывать',\n de: 'Schuppen',\n fr: 'Hangar',\n it: 'Capannone',\n nl: 'Schuur',\n pl: 'Budka',\n pt: 'Cabana',\n es: 'Cobertizo',\n 'zh-cn': '棚',\n },\n icon: 'Shed.svg',\n },\n {\n _id: 'swimming_pool',\n name: {\n en: 'Swimming Pool',\n ru: 'Плавательный Бассейн',\n de: 'Schwimmbad',\n fr: 'Piscine',\n it: 'Piscina',\n nl: 'Zwembad',\n pl: 'Basen',\n pt: 'Piscina',\n es: 'Piscina',\n 'zh-cn': '游泳池',\n },\n icon: 'Swimming Pool.svg',\n },\n {\n _id: 'dining',\n name: {\n en: 'Dining',\n ru: 'Обеденный',\n de: 'Speis',\n fr: 'À Manger',\n it: 'Cenare',\n nl: 'Dining',\n pl: 'Jadalnia',\n pt: 'Jantar',\n es: 'Comida',\n 'zh-cn': '用餐',\n },\n icon: 'Dining.svg',\n },\n {\n _id: 'playroom',\n name: {\n en: 'Playroom',\n ru: 'Игровая Комната',\n de: 'Spielzimmer',\n fr: 'Salle De Jeux',\n it: 'Stanza Dei Giochi',\n nl: 'Speelkamer',\n pl: 'Pokój Zabaw',\n pt: 'Sala De Jogos',\n es: 'Cuarto De Jugar',\n 'zh-cn': '游戏室',\n },\n icon: 'Playroom.svg',\n },\n {\n _id: 'stairway',\n name: {\n en: 'Stairway',\n ru: 'Лестница',\n de: 'Treppe',\n fr: 'Escalier',\n it: 'Scala',\n nl: 'Trap',\n pl: 'Klatka Schodowa',\n pt: 'Escada',\n es: 'Escalera',\n 'zh-cn': '楼梯',\n },\n icon: 'Stairway.svg',\n },\n {\n _id: 'equipment_room',\n name: {\n en: 'Equipment Room',\n ru: 'Оборудование Номера',\n de: 'Technikraum',\n fr: \"Salle D'Équipement\",\n it: 'Stanza Degli Attrezzi',\n nl: 'Technische Ruimte',\n pl: 'Wyposażenie Pokoi',\n pt: 'Sala De Equipamentos',\n es: 'Cuarto De Equipos',\n 'zh-cn': '机房',\n },\n icon: 'Equipment Room.svg',\n },\n {\n _id: 'terrace',\n name: {\n en: 'Terrace',\n ru: 'Терраса',\n de: 'Terrasse',\n fr: 'Terrasse',\n it: 'Terrazza',\n nl: 'Terras',\n pl: 'Taras',\n pt: 'Terraço',\n es: 'Terraza',\n 'zh-cn': '阳台',\n },\n icon: 'Terrace.svg',\n },\n {\n _id: 'toilet',\n name: {\n en: 'Toilet',\n ru: 'Туалет',\n de: 'Toilette',\n fr: 'Toilette',\n it: 'Gabinetto',\n nl: 'Toilet',\n pl: 'Toaleta',\n pt: 'Banheiro',\n es: 'Inodoro',\n 'zh-cn': '洗手间',\n },\n icon: 'Toilet.svg',\n },\n {\n _id: 'stairwell',\n name: {\n en: 'Stairwell',\n ru: 'Лестничная клетка',\n de: 'Treppenhaus',\n fr: \"Cage D'Escalier\",\n it: 'Tromba Delle Scale',\n nl: 'Trappenhuis',\n pl: 'Klatka Schodowa',\n pt: 'Caixa De Escada',\n es: 'Hueco De Escalera',\n 'zh-cn': '楼梯间',\n },\n icon: 'Stairwell.svg',\n },\n {\n _id: 'locker_room',\n name: {\n en: 'Locker Room',\n ru: 'Камера Хранения',\n de: 'Umkleideraum',\n fr: 'Vestiaire',\n it: 'Spogliatoio',\n nl: 'Kleedkamer',\n pl: 'Szatnia',\n pt: 'Vestiário',\n es: 'Vestuario',\n 'zh-cn': '更衣室',\n },\n icon: 'Locker Room.svg',\n },\n {\n _id: 'basement',\n name: {\n en: 'Basement',\n ru: 'Подвал',\n de: 'Untergeschoss',\n fr: 'Sous-Sol',\n it: 'Seminterrato',\n nl: 'Kelder',\n pl: 'Piwnica',\n pt: 'Porão',\n es: 'Sótano',\n 'zh-cn': '地下室',\n },\n icon: 'Basement.svg',\n },\n {\n _id: 'front_yard',\n name: {\n en: 'Front Yard',\n ru: 'Передний Двор',\n de: 'Vorgarten',\n fr: 'Front Yard',\n it: 'Cortile',\n nl: 'Voortuin',\n pl: 'Podwórko',\n pt: 'Jardim Da Frente',\n es: 'Patio Delantero',\n 'zh-cn': '前院',\n },\n icon: 'Front Yard.svg',\n },\n {\n _id: 'anteroom',\n name: {\n en: 'Anteroom',\n ru: 'Передняя',\n de: 'Vorraum',\n fr: 'Antichambre',\n it: 'Anticamera',\n nl: 'Voorkamer',\n pl: 'Przedpokój',\n pt: 'Ante-Sala',\n es: 'Antesala',\n 'zh-cn': '接待室',\n },\n icon: 'Anteroom.svg',\n },\n {\n _id: 'washroom',\n name: {\n en: 'Washroom',\n ru: 'Уборная',\n de: 'Waschraum',\n fr: 'Toilettes',\n it: 'Bagno',\n nl: 'Waskamer',\n pl: 'Umywalnia',\n pt: 'Banheiro',\n es: 'Baño',\n 'zh-cn': '卫生间',\n },\n icon: 'Washroom.svg',\n },\n {\n _id: 'wc',\n name: {\n en: 'Wc',\n ru: 'Туалет',\n de: 'WC',\n fr: 'Toilettes',\n it: 'Bagno',\n nl: 'Wc',\n pl: 'Toaleta',\n pt: 'Banheiro',\n es: 'Wc',\n 'zh-cn': '厕所',\n },\n icon: 'Wc.svg',\n },\n {\n _id: 'workshop',\n name: {\n en: 'Workshop',\n ru: 'Мастерская',\n de: 'Werkstatt',\n fr: 'Atelier',\n it: 'Laboratorio',\n nl: 'Werkplaats',\n pl: 'Warsztat',\n pt: 'Oficina',\n es: 'Taller',\n 'zh-cn': '作坊',\n },\n icon: 'Workshop.svg',\n },\n {\n _id: 'windscreen',\n name: {\n en: 'Windscreen',\n ru: 'Ветровое Стекло',\n de: 'Windfang',\n fr: 'Pare-Brise',\n it: 'Parabrezza',\n nl: 'Voorruit',\n pl: 'Szyba Przednia',\n pt: 'Pára-Brisas',\n es: 'Parabrisas',\n 'zh-cn': '风档',\n },\n icon: 'Windscreen.svg',\n },\n {\n _id: 'living_area',\n name: {\n en: 'Living Area',\n ru: 'Жилая Площадь',\n de: 'Wohnbereich',\n fr: 'Salon',\n it: 'Zona Giorno',\n nl: 'Living Area',\n pl: 'Powierzchnia Mieszkalna',\n pt: 'Sala-De-Estar',\n es: 'Sala De Estar',\n 'zh-cn': '生活区域',\n },\n icon: 'Living Area.svg',\n },\n {\n _id: 'living_room',\n name: {\n en: 'Living Room',\n ru: 'Гостинная',\n de: 'Wohnzimmer',\n fr: 'Le Salon',\n it: 'Soggiorno',\n nl: 'Woonkamer',\n pl: 'Salon',\n pt: 'Sala De Estar',\n es: 'Sala De Estar',\n 'zh-cn': '客厅',\n },\n icon: 'Living Room.svg',\n },\n {\n _id: 'living_room',\n name: {\n en: 'Living Room',\n ru: 'Гостинная',\n de: 'Wohnzimmer',\n fr: 'Le Salon',\n it: 'Soggiorno',\n nl: 'Woonkamer',\n pl: 'Salon',\n pt: 'Sala De Estar',\n es: 'Sala De Estar',\n 'zh-cn': '客厅',\n },\n icon: 'Living Room.svg',\n },\n];\n\ninterface IconSelectorProps {\n icons?: {\n icon?: string;\n src?: string;\n href?: string;\n name?: ioBroker.StringOrTranslated;\n _id?: string;\n }[];\n onlyRooms?: boolean;\n onlyDevices?: boolean;\n onSelect?: (icon: string) => void; // one of onSelect or onChange are required\n onChange?: (icon: string) => void;\n t: Translate;\n lang: ioBroker.Languages;\n}\n\ninterface IconSelectorState {\n opened: boolean;\n names: string[];\n filter: string;\n icons: string[] | null;\n loading: boolean;\n isAnyName: boolean;\n}\n\nexport class IconSelector extends Component<IconSelectorProps, IconSelectorState> {\n constructor(props: IconSelectorProps) {\n super(props);\n\n this.state = {\n opened: false,\n names: [],\n filter: '',\n icons: null,\n loading: false,\n isAnyName: false,\n };\n }\n\n loadAllIcons(): void {\n if (this.state.loading || this.state.icons) {\n return;\n }\n this.setState({ loading: true }, () => {\n const icons: string[] = [];\n const names: string[] = [];\n\n if (!this.props.icons) {\n // load rooms\n let templates =\n this.props.onlyRooms || (!this.props.onlyRooms && !this.props.onlyDevices) ? rooms : null;\n\n if (templates) {\n templates.forEach(item => {\n if (item.name && typeof item.name === 'object') {\n item.name = item.name[this.props.lang] || item.name.en || item._id;\n }\n item.name = item.name || item._id;\n });\n\n templates = templates.filter(\n (item, i) =>\n !templates?.find(\n (_item, _i) => i !== _i && _item.icon === item.icon && _item.name === item.name,\n ),\n );\n\n templates.forEach((template, i) => {\n names[i] = template.name as string;\n icons[i] =\n `data:image/svg+xml;base64,${(roomsIcons as Record<string, string>)[template.icon.replace(/\\.svg$/, '')]}`;\n });\n }\n\n // load devices\n templates =\n this.props.onlyDevices || (!this.props.onlyRooms && !this.props.onlyDevices) ? devices : null;\n if (templates) {\n const offset = icons.length;\n templates &&\n templates.forEach(item => {\n if (item.name && typeof item.name === 'object') {\n item.name = item.name[this.props.lang] || item.name.en || item._id;\n }\n item.name = item.name || item._id;\n });\n\n templates = templates.filter(\n (item, i) =>\n !templates?.find(\n (_item, _i) => i !== _i && _item.icon === item.icon && _item.name === item.name,\n ),\n );\n\n templates.forEach((template, i) => {\n names[i + offset] = template.name as string;\n icons[i + offset] =\n `data:image/svg+xml;base64,${(devicesIcons as Record<string, string>)[template.icon.replace(/\\.svg$/, '')]}`;\n });\n }\n this.setState({\n icons,\n loading: false,\n names,\n isAnyName: !!names.find(i => i),\n });\n } else {\n const promises = this.props.icons.map((item, i) => {\n let href: string;\n if (typeof item === 'object') {\n href = item.icon || item.src || item.href || '';\n names[i] =\n typeof item.name === 'object'\n ? item.name[this.props.lang] || item.name.en || item._id || ''\n : item.name || '';\n if (!names[i]) {\n const parts = href.split('.');\n parts.pop();\n names[i] = parts[parts.length - 1];\n }\n } else {\n href = item;\n }\n\n if (href) {\n if (href.startsWith('data:')) {\n icons[i] = href;\n return Promise.resolve();\n }\n return Utils.getSvg(href).then(icon => (icons[i] = icon));\n }\n\n return Promise.resolve();\n });\n\n void Promise.all(promises)\n .catch((e: Error) => console.error(e))\n .then(() =>\n this.setState({\n icons,\n loading: false,\n names,\n isAnyName: !!names.find(i => i),\n }),\n );\n }\n });\n }\n\n render(): React.JSX.Element {\n if (this.state.loading) {\n return <CircularProgress />;\n }\n\n return (\n <>\n <Button\n color=\"grey\"\n variant=\"outlined\"\n title={this.props.t('ra_Select predefined icon')}\n onClick={() => this.setState({ opened: true }, () => this.loadAllIcons())}\n style={{ minWidth: 40, marginRight: 8 }}\n >\n ...\n </Button>\n {this.state.opened ? (\n <Dialog\n onClose={() => this.setState({ opened: false })}\n open={!0}\n >\n <DialogTitle>\n {this.props.t('ra_Select predefined icon')}\n {this.state.isAnyName ? (\n <TextField\n variant=\"standard\"\n margin=\"dense\"\n style={{ marginLeft: 20 }}\n value={this.state.filter}\n onChange={e => this.setState({ filter: e.target.value.toLowerCase() })}\n placeholder={this.props.t('ra_Filter')}\n slotProps={{\n input: {\n endAdornment: this.state.filter ? (\n <IconButton\n size=\"small\"\n onClick={() => this.setState({ filter: '' })}\n >\n <ClearIcon />\n </IconButton>\n ) : undefined,\n },\n }}\n />\n ) : null}\n </DialogTitle>\n <DialogContent>\n <div style={{ width: '100%', textAlign: 'center' }}>\n {this.state.icons &&\n this.state.icons.map((icon, i) => {\n if (\n !this.state.filter ||\n (this.state.names[i] &&\n this.state.names[i].toLowerCase().includes(this.state.filter))\n ) {\n return (\n <Tooltip\n title={this.state.names[i] || ''}\n key={i}\n slotProps={{ popper: { sx: { pointerEvents: 'none' } } }}\n >\n <IconButton\n onClick={() =>\n this.setState({ opened: false }, () => {\n const onApply: ((_icon: string) => void) | undefined =\n this.props.onSelect || this.props.onChange;\n if (onApply) {\n onApply(icon);\n }\n })\n }\n size=\"large\"\n >\n <Icon\n src={icon}\n alt={i.toString()}\n style={{ width: 32, height: 32, borderRadius: 5 }}\n />\n </IconButton>\n </Tooltip>\n );\n }\n\n return null;\n })}\n </div>\n </DialogContent>\n <DialogActions>\n <Button\n color=\"grey\"\n variant=\"contained\"\n onClick={() => this.setState({ opened: false })}\n startIcon={<CloseIcon />}\n >\n {this.props.t('ra_Close')}\n </Button>\n </DialogActions>\n </Dialog>\n ) : null}\n </>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"IconSelector.js","sourceRoot":"./src/","sources":["Components/IconSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\n\nimport {\n Dialog,\n DialogTitle,\n DialogActions,\n DialogContent,\n Button,\n IconButton,\n TextField,\n Tooltip,\n CircularProgress,\n} from '@mui/material';\n\nimport { Close as CloseIcon, Clear as ClearIcon } from '@mui/icons-material';\n\nimport { Icon } from './Icon';\nimport { Utils } from './Utils';\nimport devicesIcons from '../assets/devices.json';\nimport roomsIcons from '../assets/rooms.json';\nimport type { Translate } from '../types';\n\n// import devices from '../assets/devices/list.json';\nconst devices: { _id: string; name: ioBroker.StringOrTranslated; icon: string }[] = [\n {\n _id: 'hood',\n name: {\n en: 'Hood',\n ru: 'Вытяжка',\n de: 'Abzugshaube',\n fr: 'Capot',\n it: 'Cappe',\n nl: 'Hood',\n pl: 'Okapy',\n pt: 'Hood',\n es: 'Campana',\n 'zh-cn': '抽油烟机',\n },\n icon: 'Hoods.svg',\n },\n {\n _id: 'alarm_system',\n name: {\n en: 'Alarm System',\n ru: 'Сигнализация',\n de: 'Alarmanlage',\n fr: \"Systèmes D'Alarme\",\n it: 'Sistemi Di Allarme',\n nl: 'Alarm Systems',\n pl: 'Systemy Alarmowe',\n pt: 'Sistemas De Alarme',\n es: 'Sistemas De Alarma',\n 'zh-cn': '报警系统',\n },\n icon: 'Alarm Systems.svg',\n },\n {\n _id: 'battery_status',\n name: {\n en: 'Battery Status',\n ru: 'Заряд батареи',\n de: 'Batteriestatus',\n fr: 'État De La Batterie',\n it: 'Stato Della Batteria',\n nl: 'Batterij Status',\n pl: 'Stan Baterii',\n pt: 'Estado Da Bateria',\n es: 'Estado De La Batería',\n 'zh-cn': '电池状态',\n },\n icon: 'Battery Status.svg',\n },\n {\n _id: 'lighting',\n name: {\n en: 'Lighting',\n ru: 'Светильник',\n de: 'Beleuchtung',\n fr: 'Éclairages',\n it: 'Illuminazione',\n nl: 'Verlichting',\n pl: 'Oprawy Oświetleniowe',\n pt: 'Iluminações',\n es: 'Iluminaciones',\n 'zh-cn': '照明',\n },\n icon: 'Lightings.svg',\n },\n {\n _id: 'shading',\n name: {\n en: 'Shading',\n ru: 'Затенение',\n de: 'Beschattungen',\n fr: 'Ombres',\n it: 'Ombreggiatura',\n nl: 'Shading',\n pl: 'Zacienienie',\n pt: 'Shading',\n es: 'Sombreado',\n 'zh-cn': '底纹',\n },\n icon: 'Shading.svg',\n },\n {\n _id: 'irrigation',\n name: {\n en: 'Irrigation',\n ru: 'Орошение',\n de: 'Bewässerung',\n fr: 'Irrigation',\n it: 'Irrigazione',\n nl: 'Irrigatie',\n pl: 'Nawadnianie',\n pt: 'Irrigação',\n es: 'Irrigación',\n 'zh-cn': '灌溉',\n },\n icon: 'Irrigation.svg',\n },\n {\n _id: 'iron',\n name: {\n en: 'Iron',\n ru: 'Утюг',\n de: 'Bügeleisen',\n fr: 'Le Fer',\n it: 'Ferro',\n nl: 'Ijzer',\n pl: 'Żelazo',\n pt: 'Ferro',\n es: 'Hierro',\n 'zh-cn': '铁',\n },\n icon: 'Iron.svg',\n },\n {\n _id: 'computer',\n name: {\n en: 'Computer',\n ru: 'Компьютер',\n de: 'Rechner',\n fr: \"L'Ordinateur\",\n it: 'Computer',\n nl: 'Computer',\n pl: 'Komputer',\n pt: 'Computador',\n es: 'Ordenador',\n 'zh-cn': '电脑',\n },\n icon: 'Computer.svg',\n },\n {\n _id: 'ceiling_spotlight',\n name: {\n en: 'Ceiling Spotlight',\n ru: 'Потолочный прожектор',\n de: 'Deckenspot',\n fr: 'Plafond Spotlight',\n it: 'Faretti A Soffitto',\n nl: 'Plafond Spotlight',\n pl: 'Reflektory Sufitowe',\n pt: 'Tecto Foco',\n es: 'Focos De Techo',\n 'zh-cn': '天花射灯',\n },\n icon: 'Ceiling Spotlights.svg',\n },\n {\n _id: 'printer',\n name: {\n en: 'Printer',\n de: 'Drucker',\n ru: 'Принтер',\n pt: 'Impressora',\n nl: 'Printer',\n fr: 'Imprimante',\n it: 'Stampante',\n es: 'Impresora',\n pl: 'Drukarka',\n 'zh-cn': '打印机',\n },\n icon: 'Printer.svg',\n },\n {\n _id: 'power_consumption',\n name: {\n en: 'Power Consumption',\n ru: 'Потребляемая мощность',\n de: 'Stromverbrauch',\n fr: \"Consommation D'Énergie\",\n it: 'Consumo Di Energia',\n nl: 'Energieverbruik',\n pl: 'Pobór Energii',\n pt: 'Consumo De Energia',\n es: 'El Consumo De Energía',\n 'zh-cn': '能量消耗',\n },\n icon: 'Power Consumption.svg',\n },\n {\n _id: 'window',\n name: {\n en: 'Window',\n ru: 'Окно',\n de: 'Fenster',\n fr: 'La Fenêtre',\n it: 'Finestra',\n nl: 'Venster',\n pl: 'Okno',\n pt: 'Janela',\n es: 'Ventana',\n 'zh-cn': '窗户',\n },\n icon: 'Window.svg',\n },\n {\n _id: 'garage_door',\n name: {\n en: 'Garage Door',\n ru: 'Гаражные Ворота',\n de: 'Garagentor',\n fr: 'Portes De Garage',\n it: 'Garage Door',\n nl: 'Garage Door',\n pl: 'Bramy Garażowe',\n pt: 'Portas De Garagem',\n es: 'Las Puertas De Garaje',\n 'zh-cn': '车库门',\n },\n icon: 'Garage Doors.svg',\n },\n {\n _id: 'hairdryer',\n name: {\n en: 'Hairdryer',\n ru: 'Фен',\n de: 'Haartrockner',\n fr: 'Sèche-Cheveux',\n it: 'Asciugacapelli',\n nl: 'Haardroger',\n pl: 'Suszarka Do Włosów',\n pt: 'Secador De Cabelo',\n es: 'Secador De Pelo',\n 'zh-cn': '电吹风',\n },\n icon: 'Hairdryer.svg',\n },\n {\n _id: 'hanging_lamp',\n name: {\n en: 'Hanging Lamp',\n ru: 'Подвесной светильник',\n de: 'Hängelampe',\n fr: 'Lampes Suspendues',\n it: 'Lampade A Sospensione',\n nl: 'Opknoping Lampen',\n pl: 'Lampy Wiszące',\n pt: 'Lâmpadas De Suspensão',\n es: 'Lámparas Colgantes',\n 'zh-cn': '挂灯',\n },\n icon: 'Hanging Lamps.svg',\n },\n {\n _id: 'doorstep',\n name: {\n en: 'Enterance',\n ru: 'Входная дверь',\n de: 'Haustür',\n fr: 'Seuil De Porte',\n it: 'Gradino Della Porta',\n nl: 'Drempel',\n pl: 'Próg',\n pt: 'Porta',\n es: 'Peldaño',\n 'zh-cn': '门阶',\n },\n icon: 'Doorstep.svg',\n },\n {\n _id: 'hot_water',\n name: {\n en: 'Hot Water',\n ru: 'Горячая вода',\n de: 'Heißwasser',\n fr: 'Eau Chaude',\n it: 'Acqua Calda',\n nl: 'Heet Water',\n pl: 'Gorąca Woda',\n pt: 'Água Quente',\n es: 'Agua Caliente',\n 'zh-cn': '热水',\n },\n icon: 'Hot Water.svg',\n },\n {\n _id: 'heating',\n name: {\n en: 'Heating',\n ru: 'Отопление',\n de: 'Heizung',\n fr: 'Chauffe-Eau',\n it: 'Riscaldatore',\n nl: 'Verwarmer',\n pl: 'Podgrzewacz',\n pt: 'Aquecedor',\n es: 'Calentador',\n 'zh-cn': '加热器',\n },\n icon: 'Heater.svg',\n },\n {\n _id: 'stove',\n name: {\n en: 'Stove',\n ru: 'Печь',\n de: 'Herd',\n fr: 'Le Fourneau',\n it: 'Stufa',\n nl: 'Fornuis',\n pl: 'Kuchenka',\n pt: 'Forno',\n es: 'Cocina',\n 'zh-cn': '火炉',\n },\n icon: 'Stove.svg',\n },\n {\n _id: 'louvre',\n name: {\n en: 'Louvre',\n ru: 'Жалюзи',\n de: 'Jalousie',\n fr: 'Persienne',\n it: 'Persiana Di Ventilazione',\n nl: 'Louvre',\n pl: 'Żaluzja',\n pt: 'Trapeira',\n es: 'Lumbrera',\n 'zh-cn': '卢浮宫',\n },\n icon: 'Louvre.svg',\n },\n {\n _id: 'coffee_maker',\n name: {\n en: 'Coffee Maker',\n ru: 'Кофеварка',\n de: 'Kaffemaschine',\n fr: 'Cafetière',\n it: 'Macchine Da Caffè',\n nl: 'Koffie Maker',\n pl: 'Ekspresy Do Kawy',\n pt: 'Cafeteira',\n es: 'Cafetera',\n 'zh-cn': '咖啡壶',\n },\n icon: 'Coffee Makers.svg',\n },\n {\n _id: 'cold_water',\n name: {\n en: 'Cold Water',\n ru: 'Холодная вода',\n de: 'Kaltwasser',\n fr: 'Eau Froide',\n it: 'Acqua Fredda',\n nl: 'Koud Water',\n pl: 'Zimna Woda',\n pt: 'Água Fria',\n es: 'Agua Fría',\n 'zh-cn': '冷水',\n },\n icon: 'Cold Water.svg',\n },\n {\n _id: 'climate',\n name: {\n en: 'Climate',\n ru: 'Климат',\n de: 'Klima',\n fr: 'Climat',\n it: 'Clima',\n nl: 'Klimaat',\n pl: 'Klimat',\n pt: 'Clima',\n es: 'Clima',\n 'zh-cn': '气候',\n },\n icon: 'Climate.svg',\n },\n {\n _id: 'speaker',\n name: {\n en: 'Speaker',\n ru: 'Звуковая система',\n de: 'Lautsprecher',\n fr: 'Orateur',\n it: 'Altoparlante',\n nl: 'Spreker',\n pl: 'Głośnik',\n pt: 'Palestrante',\n es: 'Altavoz',\n 'zh-cn': '扬声器',\n },\n icon: 'Speaker.svg',\n },\n {\n _id: 'led_strip',\n name: {\n en: 'Led Strip',\n ru: 'Светодиодная лента',\n de: 'LED Leiste',\n fr: 'Led Strip',\n it: 'Led Strip',\n nl: 'Loden Strip',\n pl: 'Pasek Ledowy',\n pt: 'Led Faixa',\n es: 'Tira Llevada',\n 'zh-cn': '灯带',\n },\n icon: 'Led Strip.svg',\n },\n {\n _id: 'light',\n name: {\n en: 'Light',\n ru: 'Свет',\n de: 'Licht',\n fr: 'Lumière',\n it: 'Leggero',\n nl: 'Licht',\n pl: 'Lekki',\n pt: 'Luz',\n es: 'Luz',\n 'zh-cn': '光',\n },\n icon: 'Light.svg',\n },\n {\n _id: 'fan',\n name: {\n en: 'Fan',\n ru: 'Вентилятор',\n de: 'Lüfter',\n fr: 'Ventilateur',\n it: 'Fan',\n nl: 'Ventilator',\n pl: 'Wentylator',\n pt: 'Ventilador',\n es: 'Ventilador',\n 'zh-cn': '扇子',\n },\n icon: 'Fan.svg',\n },\n {\n _id: 'humidity',\n name: {\n en: 'Humidity',\n ru: 'Влажность',\n de: 'Luftfeuchtigkeit',\n fr: 'Humidité',\n it: 'Umidità',\n nl: 'Vochtigheid',\n pl: 'Wilgotność',\n pt: 'Umidade',\n es: 'Humedad',\n 'zh-cn': '湿度',\n },\n icon: 'Humidity.svg',\n },\n {\n _id: 'ventilation',\n name: {\n en: 'Ventilation',\n ru: 'Вентиляция',\n de: 'Lüftung',\n fr: 'Ventilation',\n it: 'Ventilazione',\n nl: 'Ventilatie',\n pl: 'Wentylacja',\n pt: 'Ventilação',\n es: 'Ventilación',\n 'zh-cn': '通风',\n },\n icon: 'Ventilation.svg',\n },\n {\n _id: 'chandelier',\n name: {\n en: 'Chandelier',\n ru: 'Люстра',\n de: 'Kronleuchter',\n fr: 'Lustre',\n it: 'Lampadario',\n nl: 'Kroonluchter',\n pl: 'Żyrandol',\n pt: 'Lustre',\n es: 'Candelabro',\n 'zh-cn': '枝形吊灯',\n },\n icon: 'Chandelier.svg',\n },\n {\n _id: 'awning',\n name: {\n en: 'Awning',\n ru: 'Маркиза',\n de: 'Markise',\n fr: 'Auvents',\n it: 'Tende',\n nl: 'Luifels',\n pl: 'Okrycia',\n pt: 'Toldos',\n es: 'Toldos',\n 'zh-cn': '遮阳篷',\n },\n icon: 'Awnings.svg',\n },\n {\n _id: 'music',\n name: {\n en: 'Music',\n ru: 'Музыка',\n de: 'Musik',\n fr: 'Musique',\n it: 'Musica',\n nl: 'Muziek',\n pl: 'Muzyka',\n pt: 'Música',\n es: 'Música',\n 'zh-cn': '音乐',\n },\n icon: 'Music.svg',\n },\n {\n _id: 'people',\n name: {\n en: 'People',\n ru: 'Люди',\n de: 'Personen',\n fr: 'Gens',\n it: 'Persone',\n nl: 'Mensen',\n pl: 'Ludzie',\n pt: 'Pessoas',\n es: 'Personas',\n 'zh-cn': '人们',\n },\n icon: 'People.svg',\n },\n {\n _id: 'pool',\n name: {\n en: 'Pool',\n ru: 'Бассейн',\n de: 'Pool',\n fr: 'Piscine',\n it: 'Piscina',\n nl: 'Zwembad',\n pl: 'Basen',\n pt: 'Piscina',\n es: 'Piscina',\n 'zh-cn': '水池',\n },\n icon: 'Pool.svg',\n },\n {\n _id: 'pump',\n name: {\n en: 'Pump',\n ru: 'Насос',\n de: 'Pumpe',\n fr: 'Pompe',\n it: 'Pompa',\n nl: 'Pomp',\n pl: 'Pompa',\n pt: 'Bombear',\n es: 'Bomba',\n 'zh-cn': '泵',\n },\n icon: 'Pump.svg',\n },\n {\n _id: 'outdoor_blinds',\n name: {\n en: 'Outdoor Blinds',\n ru: 'Внещгте жалюзи',\n de: 'Raffstore',\n fr: 'Volets',\n it: 'Tende Da Esterni',\n nl: 'Outdoor Blinds',\n pl: 'Rolety Zewnętrzne',\n pt: 'Estores Exteriores',\n es: 'Persianas Exteriores',\n 'zh-cn': '室外百叶窗',\n },\n icon: 'Outdoor Blinds.svg',\n },\n {\n _id: 'mowing_machine',\n name: {\n en: 'Mowing Machine',\n ru: 'Газонокосилка',\n de: 'Rasenmäher',\n fr: 'Machine De Fauchage',\n it: 'Macchina Di Falciatura',\n nl: 'Maaimachine',\n pl: 'Kosiarka',\n pt: 'Roçada Máquina',\n es: 'Segadora',\n 'zh-cn': '割草机',\n },\n icon: 'Mowing Machine.svg',\n },\n {\n _id: 'receiver',\n name: {\n en: 'Receiver',\n ru: 'Приставка',\n de: 'Receiver',\n fr: 'Destinataire',\n it: 'Ricevitore',\n nl: 'Ontvanger',\n pl: 'Odbiorca',\n pt: 'Recebedor',\n es: 'Receptor',\n 'zh-cn': '接收者',\n },\n icon: 'Receiver.svg',\n },\n {\n _id: 'shutters',\n name: {\n en: 'Shutters',\n ru: 'Ставни',\n de: 'Rollladen',\n fr: 'Volets',\n it: 'Persiane',\n nl: 'Shutters',\n pl: 'Żaluzje',\n pt: 'Persianas',\n es: 'Persianas',\n 'zh-cn': '百叶窗',\n },\n icon: 'Shutters.svg',\n },\n {\n _id: 'smoke_detector',\n name: {\n en: 'Smoke detector',\n de: 'Rauchmelder',\n ru: 'Детектор дыма',\n pt: 'Detector de fumaça',\n nl: 'Rookdetector',\n fr: 'Détecteur de fumée',\n it: 'Rilevatore di fumo',\n es: 'Detector de humo',\n pl: 'Wykrywacz dymu',\n 'zh-cn': '烟雾探测器',\n },\n icon: 'SmokeDetector.svg',\n },\n {\n _id: 'lock',\n name: {\n en: 'Lock',\n ru: 'Замок',\n de: 'Schloß',\n fr: 'Fermer À Clé',\n it: 'Serratura',\n nl: 'Slot',\n pl: 'Zamek',\n pt: 'Trancar',\n es: 'Cerrar Con Llave',\n 'zh-cn': '锁',\n },\n icon: 'Lock.svg',\n },\n {\n _id: 'security',\n name: {\n en: 'Security',\n ru: 'Безопасность',\n de: 'Sicherheit',\n fr: 'Sécurité',\n it: 'Sicurezza',\n nl: 'Veiligheid',\n pl: 'Bezpieczeństwo',\n pt: 'Segurança',\n es: 'Seguridad',\n 'zh-cn': '安全',\n },\n icon: 'Security.svg',\n },\n {\n _id: 'dishwasher',\n name: {\n en: 'Dishwasher',\n ru: 'Посудомоечная машина',\n de: 'Spülmaschine',\n fr: 'Lave-Vaisselles',\n it: 'Lavastoviglie',\n nl: 'Vaatwassers',\n pl: 'Zmywarki',\n pt: 'Máquinas De Lavar Louça',\n es: 'Lavaplatos',\n 'zh-cn': '洗碗机',\n },\n icon: 'Dishwashers.svg',\n },\n {\n _id: 'vacuum_cleaner',\n name: {\n en: 'Vacuum Cleaner',\n ru: 'Пылесос',\n de: 'Staubsauger',\n fr: 'Aspirateur',\n it: 'Aspirapolvere',\n nl: 'Stofzuiger',\n pl: 'Odkurzacz',\n pt: 'Aspirador De Pó',\n es: 'Aspiradora',\n 'zh-cn': '吸尘器',\n },\n icon: 'Vacuum Cleaner.svg',\n },\n {\n _id: 'socket',\n name: {\n en: 'Socket',\n ru: 'Розетка',\n de: 'Steckdose',\n fr: 'Prise',\n it: 'Socket',\n nl: 'Socket',\n pl: 'Gniazdka',\n pt: 'Tomada',\n es: 'Zócalo',\n 'zh-cn': '套接字',\n },\n icon: 'Sockets.svg',\n },\n {\n _id: 'floor_lamp',\n name: {\n en: 'Floor Lamp',\n ru: 'Торшер',\n de: 'Stehlampe',\n fr: 'Lampes Pour Plancher',\n it: 'Lampade A Stelo',\n nl: 'Vloerlampen',\n pl: 'Lampy Podłogowe',\n pt: 'Lâmpadas Chão',\n es: 'Lámparas De Pie',\n 'zh-cn': '落地灯',\n },\n icon: 'Floor Lamps.svg',\n },\n {\n _id: 'power_consumption',\n name: {\n en: 'Power Consumption',\n ru: 'Потребляемая мощность',\n de: 'Stromverbrauch',\n fr: \"Consommation D'Énergie\",\n it: 'Consumo Di Energia',\n nl: 'Energieverbruik',\n pl: 'Pobór Energii',\n pt: 'Consumo De Energia',\n es: 'El Consumo De Energía',\n 'zh-cn': '能量消耗',\n },\n icon: 'Power Consumption.svg',\n },\n {\n _id: 'temperature_sensor',\n name: {\n en: 'Temperature Sensor',\n ru: 'Температурный датчик',\n de: 'Temperatur-Sensor',\n fr: 'Capteur De Température',\n it: 'Sensori Di Temperatura',\n nl: 'Temperatuursensor',\n pl: 'Czujniki Temperatury',\n pt: 'Sensores De Temperatura',\n es: 'Sensores De Temperatura',\n 'zh-cn': '温度传感器',\n },\n icon: 'Temperature Sensors.svg',\n },\n {\n _id: 'table_lamp',\n name: {\n en: 'Table Lamp',\n ru: 'Настольная лампа',\n de: 'Tischlampe',\n fr: 'Lampe De Chevet',\n it: 'Lampade Da Tavolo',\n nl: 'Tafellampen',\n pl: 'Lampy Stołowe',\n pt: 'Lâmpadas De Mesa',\n es: 'Lámparas De Mesa',\n 'zh-cn': '台灯',\n },\n icon: 'Table Lamps.svg',\n },\n {\n _id: 'gate',\n name: {\n en: 'Gate',\n ru: 'Ворота',\n de: 'Tor',\n fr: 'Porte',\n it: 'Gate',\n nl: 'Gate',\n pl: 'Bramy',\n pt: 'Portões',\n es: 'Puertas',\n 'zh-cn': '盖茨',\n },\n icon: 'Gates.svg',\n },\n {\n _id: 'dryer',\n name: {\n en: 'Dryer',\n ru: 'Сушилка',\n de: 'Trockner',\n fr: 'Séchoir',\n it: 'Asciugatrice',\n nl: 'Droger',\n pl: 'Suszarka',\n pt: 'Secador',\n es: 'Secadora',\n 'zh-cn': '烘干机',\n },\n icon: 'Dryer.svg',\n },\n {\n _id: 'door',\n name: {\n en: 'Door',\n ru: 'Дверь',\n de: 'Tür',\n fr: 'Des Portes',\n it: 'Porte',\n nl: 'Deuren',\n pl: 'Drzwi',\n pt: 'Portas',\n es: 'Puertas',\n 'zh-cn': '门',\n },\n icon: 'Doors.svg',\n },\n {\n _id: 'tv',\n name: {\n en: 'Tv',\n ru: 'Телевизор',\n de: 'TV',\n fr: 'La Télé',\n it: 'Tv',\n nl: 'Tv',\n pl: 'Telewizja',\n pt: 'Televisão',\n es: 'Televisor',\n 'zh-cn': '电视',\n },\n icon: 'Tv.svg',\n },\n {\n _id: 'consumption',\n name: {\n en: 'Consumption',\n ru: 'Потребление',\n de: 'Verbrauch',\n fr: 'Consommation',\n it: 'Consumo',\n nl: 'Consumptie',\n pl: 'Konsumpcja',\n pt: 'Consumo',\n es: 'Consumo',\n 'zh-cn': '消费',\n },\n icon: 'Consumption.svg',\n },\n {\n _id: 'amplifier',\n name: {\n en: 'Amplifier',\n ru: 'Усилитель звука',\n de: 'Verstärker',\n fr: 'Amplificateur',\n it: 'Amplificatore',\n nl: 'Versterker',\n pl: 'Wzmacniacz',\n pt: 'Amplificador',\n es: 'Amplificador',\n 'zh-cn': '放大器',\n },\n icon: 'Amplifier.svg',\n },\n {\n _id: 'curtains',\n name: {\n en: 'Curtains',\n ru: 'Шторы',\n de: 'Vorhänge',\n fr: 'Des Rideaux',\n it: 'Le Tende',\n nl: 'Gordijnen',\n pl: 'Zasłony',\n pt: 'Cortinas',\n es: 'Cortinas',\n 'zh-cn': '窗帘',\n },\n icon: 'Curtains.svg',\n },\n {\n _id: 'sconce',\n name: {\n en: 'Sconce',\n ru: 'Настенный светильник',\n de: 'Wandlampe',\n fr: 'Sconce',\n it: 'Sconce',\n nl: 'Sconce',\n pl: 'Kinkiety',\n pt: 'Arandelas',\n es: 'Los Apliques',\n 'zh-cn': '壁灯',\n },\n icon: 'Sconces.svg',\n },\n {\n _id: 'washing_machine',\n name: {\n en: 'Washing Machine',\n ru: 'Стиральная машина',\n de: 'Waschmaschine',\n fr: 'Machines À Laver',\n it: 'Lavatrici',\n nl: 'Wasmachines',\n pl: 'Pralki',\n pt: 'Máquinas De Lavar Roupas',\n es: 'Lavadoras',\n 'zh-cn': '洗衣机',\n },\n icon: 'Washing Machines.svg',\n },\n {\n _id: 'water',\n name: {\n en: 'Water',\n ru: 'Вода',\n de: 'Wasser',\n fr: \"L'Eau\",\n it: 'Acqua',\n nl: 'Water',\n pl: 'Woda',\n pt: 'Água',\n es: 'Agua',\n 'zh-cn': '水',\n },\n icon: 'Water.svg',\n },\n {\n _id: 'water_heater',\n name: {\n en: 'Water Heater',\n ru: 'Нагреватель воды',\n de: 'Wasserkocher',\n fr: 'Chauffe-Eau',\n it: 'Scaldabagno',\n nl: 'Waterkoker',\n pl: 'Podgrzewacz Wody',\n pt: 'Aquecedor De Água',\n es: 'Calentador De Agua',\n 'zh-cn': '热水器',\n },\n icon: 'Water Heater.svg',\n },\n {\n _id: 'water_consumption',\n name: {\n en: 'Water Consumption',\n ru: 'Потребление воды',\n de: 'Wasserverbrauch',\n fr: \"Consommation D'Eau\",\n it: \"Consumo D'Acqua\",\n nl: 'Waterverbruik',\n pl: 'Konsumpcja Wody',\n pt: 'Consumo De Água',\n es: 'Consumo De Agua',\n 'zh-cn': '耗水量',\n },\n icon: 'Water Consumption.svg',\n },\n {\n _id: 'weather',\n name: {\n en: 'Weather',\n ru: 'Погода',\n de: 'Wetter',\n fr: 'La Météo',\n it: 'Tempo Metereologico',\n nl: 'Weer',\n pl: 'Pogoda',\n pt: 'Clima',\n es: 'Tiempo',\n 'zh-cn': '天气',\n },\n icon: 'Weather.svg',\n },\n];\n\n// import rooms from '../assets/rooms/list.json';\nconst rooms: { _id: string; name: ioBroker.StringOrTranslated; icon: string }[] = [\n {\n _id: 'storeroom',\n name: {\n en: 'Storeroom',\n ru: 'Кладовая',\n de: 'Abstellraum',\n fr: 'Débarras',\n it: 'Dispensa',\n nl: 'Bergplaats',\n pl: 'Magazyn',\n pt: 'Despensa',\n es: 'Trastero',\n 'zh-cn': '库房',\n },\n icon: 'Storeroom.svg',\n },\n {\n _id: 'second_floor',\n name: {\n en: 'Second floor',\n ru: 'Второй этаж',\n de: 'Erster OG',\n pt: 'Primeiro andar',\n nl: 'Eerste verdieping',\n fr: 'Premier étage',\n it: 'Primo piano',\n es: 'Primer piso',\n pl: 'Pierwsze piętro',\n 'zh-cn': '第一层',\n },\n icon: 'Second Floor.svg',\n },\n {\n _id: 'dressing_room',\n name: {\n en: 'Dressing Room',\n ru: 'Гардеробная',\n de: 'Ankleide',\n fr: 'Vestiaire',\n it: 'Camerino',\n nl: 'Kleedkamer',\n pl: 'Przebieralnia',\n pt: 'Provador',\n es: 'Vestidor',\n 'zh-cn': '更衣室',\n },\n icon: 'Dressing Room.svg',\n },\n {\n _id: 'workspace',\n name: {\n en: 'Workspace',\n ru: 'Рабочая Среда',\n de: 'Arbeitszimmer',\n fr: 'Espace De Travail',\n it: 'Area Di Lavoro',\n nl: 'Workspace',\n pl: 'Workspace',\n pt: 'Área De Trabalho',\n es: 'Espacio De Trabajo',\n 'zh-cn': '工作区',\n },\n icon: 'Workspace.svg',\n },\n {\n _id: 'driveway',\n name: {\n en: 'Driveway',\n ru: 'Дорога',\n de: 'Auffahrt',\n fr: 'Allée',\n it: 'Viale',\n nl: 'Pad',\n pl: 'Podjazd',\n pt: 'Entrada Da Garagem',\n es: 'Entrada De Coches',\n 'zh-cn': '车道',\n },\n icon: 'Driveway.svg',\n },\n {\n _id: 'outdoors',\n name: {\n en: 'Outdoors',\n ru: 'На Улице',\n de: 'Außenbereich',\n fr: 'En Plein Air',\n it: \"All'Aperto\",\n nl: 'Buitenshuis',\n pl: 'Na Dworze',\n pt: 'Ao Ar Livre',\n es: 'Al Aire Libre',\n 'zh-cn': '户外',\n },\n icon: 'Outdoors.svg',\n },\n {\n _id: 'bathroom',\n name: {\n en: 'Bathroom',\n ru: 'Ванная Комната',\n de: 'Badezimmer',\n fr: 'Salle De Bains',\n it: 'Bagno',\n nl: 'Badkamer',\n pl: 'Łazienka',\n pt: 'Banheiro',\n es: 'Baño',\n 'zh-cn': '浴室',\n },\n icon: 'Bathroom.svg',\n },\n {\n _id: 'balcony',\n name: {\n en: 'Balcony',\n ru: 'Балкон',\n de: 'Balkon',\n fr: 'Balcon',\n it: 'Balcone',\n nl: 'Balkon',\n pl: 'Balkon',\n pt: 'Sacada',\n es: 'Balcón',\n 'zh-cn': '阳台',\n },\n icon: 'Balcony.svg',\n },\n {\n _id: 'office',\n name: {\n en: 'Office',\n ru: 'Офис',\n de: 'Office',\n fr: 'Bureau',\n it: 'Ufficio',\n nl: 'Kantoor',\n pl: 'Gabinet',\n pt: 'Escritório',\n es: 'Oficina',\n 'zh-cn': '办公室',\n },\n icon: 'Office.svg',\n },\n {\n _id: 'carport',\n name: {\n en: 'Carport',\n ru: 'Навес',\n de: 'Carport',\n fr: 'Carport',\n it: 'Posto Auto Coperto',\n nl: 'Carport',\n pl: 'Wiata',\n pt: 'Telheiro',\n es: 'Cochera',\n 'zh-cn': '车棚',\n },\n icon: 'Carport.svg',\n },\n {\n _id: 'attic',\n name: {\n en: 'Attic',\n ru: 'Чердак',\n de: 'Dachgeschoss',\n fr: 'Grenier',\n it: 'Attico',\n nl: 'Zolder',\n pl: 'Poddasze',\n pt: 'Sótão',\n es: 'Ático',\n 'zh-cn': '阁楼',\n },\n icon: 'Attic.svg',\n },\n {\n _id: 'hall',\n name: {\n en: 'Hall',\n ru: 'Зал',\n de: 'Diele',\n fr: 'Salle',\n it: 'Sala',\n nl: 'Hal',\n pl: 'Sala',\n pt: 'Corredor',\n es: 'Sala',\n 'zh-cn': '大厅',\n },\n icon: 'Hall.svg',\n },\n {\n _id: 'entrance',\n name: {\n en: 'Entrance',\n ru: 'Вход',\n de: 'Eingang',\n fr: 'Entrée',\n it: 'Ingresso',\n nl: 'Ingang',\n pl: 'Wejście',\n pt: 'Entrada',\n es: 'Entrada',\n 'zh-cn': '入口',\n },\n icon: 'Entrance.svg',\n },\n {\n _id: 'ground_floor',\n name: {\n en: 'Ground Floor',\n ru: 'Первый Этаж',\n de: 'Erdgeschoss',\n fr: 'Rez-De-Chaussée',\n it: 'Piano Terra',\n nl: 'Begane Grond',\n pl: 'Parter',\n pt: 'Térreo',\n es: 'Planta Baja',\n 'zh-cn': '一楼',\n },\n icon: 'Ground Floor.svg',\n },\n {\n _id: 'dining_area',\n name: {\n en: 'Dining Area',\n ru: 'Столовая',\n de: 'Essbereich',\n fr: 'Salle À Manger',\n it: 'Zona Pranzo',\n nl: 'Eethoek',\n pl: 'Jadalnia',\n pt: 'Área De Refeições',\n es: 'Comedor',\n 'zh-cn': '用餐区',\n },\n icon: 'Dining Area.svg',\n },\n {\n _id: 'dining_room',\n name: {\n en: 'Dining Room',\n ru: 'Столовая',\n de: 'Esszimmer',\n fr: 'Salle À Manger',\n it: 'Sala Da Pranzo',\n nl: 'Eetkamer',\n pl: 'Jadalnia',\n pt: 'Sala De Jantar',\n es: 'Comedor',\n 'zh-cn': '饭厅',\n },\n icon: 'Dining Room.svg',\n },\n {\n _id: 'gym',\n name: {\n en: 'Gym',\n ru: 'Спортзал',\n de: 'Fitnessraum',\n fr: 'Gym',\n it: 'Palestra',\n nl: 'Sportschool',\n pl: 'Siłownia',\n pt: 'Ginásio',\n es: 'Gimnasio',\n 'zh-cn': '健身房',\n },\n icon: 'Gym.svg',\n },\n {\n _id: 'gallery',\n name: {\n en: 'Gallery',\n ru: 'Галерея',\n de: 'Galerie',\n fr: 'Galerie',\n it: 'Galleria',\n nl: 'Galerij',\n pl: 'Galeria',\n pt: 'Galeria',\n es: 'Galería',\n 'zh-cn': '画廊',\n },\n icon: 'Gallery.svg',\n },\n {\n _id: 'garage',\n name: {\n en: 'Garage',\n ru: 'Гараж',\n de: 'Garage',\n fr: 'Garage',\n it: 'Box Auto',\n nl: 'Garage',\n pl: 'Garaż',\n pt: 'Garagem',\n es: 'Garaje',\n 'zh-cn': '车库',\n },\n icon: 'Garage.svg',\n },\n {\n _id: 'wardrobe',\n name: {\n en: 'Wardrobe',\n ru: 'Гардероб',\n de: 'Garderobe',\n fr: 'Penderie',\n it: 'Armadio',\n nl: 'Garderobe',\n pl: 'Szafa',\n pt: 'Guarda Roupa',\n es: 'Armario',\n 'zh-cn': '衣柜',\n },\n icon: 'Wardrobe.svg',\n },\n {\n _id: 'garden',\n name: {\n en: 'Garden',\n ru: 'Сад',\n de: 'Garten',\n fr: 'Jardin',\n it: 'Giardino',\n nl: 'Tuin',\n pl: 'Ogród',\n pt: 'Jardim',\n es: 'Jardín',\n 'zh-cn': '花园',\n },\n icon: 'Garden.svg',\n },\n {\n _id: 'summer_house',\n name: {\n en: 'Summer House',\n ru: 'Дача',\n de: 'Gartenhaus',\n fr: \"Maison D'Été\",\n it: 'Casa Estiva',\n nl: 'Zomerhuis',\n pl: 'Domek Letniskowy',\n pt: 'Summer House',\n es: 'Casa De Verano',\n 'zh-cn': '凉亭',\n },\n icon: 'Summer House.svg',\n },\n {\n _id: 'guest_bathroom',\n name: {\n en: 'Guest Bathroom',\n ru: 'Гостевая Комната',\n de: 'Gäste-WC',\n fr: 'Salle De Bains Invité',\n it: 'Guest Bathroom',\n nl: 'Gastenbadkamer',\n pl: 'Łazienka Gościnna',\n pt: 'Banheiro De Hóspedes',\n es: 'Baño De Visitas',\n 'zh-cn': '客用浴室',\n },\n icon: 'Guest Bathroom.svg',\n },\n {\n _id: 'guest_room',\n name: {\n en: 'Guest Room',\n ru: 'Гостевая Комната',\n de: 'Gästezimmer',\n fr: \"Chambre D'Amis\",\n it: 'Stanza Degli Ospiti',\n nl: 'Guest Room',\n pl: 'Pokój Gościnny',\n pt: 'Quarto De Hóspedes',\n es: 'Habitación De Huéspedes',\n 'zh-cn': '客房',\n },\n icon: 'Guest Room.svg',\n },\n {\n _id: 'laundry_room',\n name: {\n en: 'Laundry Room',\n ru: 'Прачечная',\n de: 'Hauswirtschaftsraum',\n fr: 'Buanderie',\n it: 'Lavanderia',\n nl: 'Wasruimte',\n pl: 'Pralnia',\n pt: 'Lavandaria',\n es: 'Cuarto De Lavado',\n 'zh-cn': '洗衣房',\n },\n icon: 'Laundry Room.svg',\n },\n {\n _id: 'home_theater',\n name: {\n en: 'Home Theater',\n ru: 'Домашний Театр',\n de: 'Heimkino',\n fr: 'Cinéma Maison',\n it: 'Home Theater',\n nl: 'Thuisbioscoop',\n pl: 'Kino Domowe',\n pt: 'Cinema Em Casa',\n es: 'Cine En Casa',\n 'zh-cn': '家庭电影院',\n },\n icon: 'Home Theater.svg',\n },\n {\n _id: 'boiler_room',\n name: {\n en: 'Boiler Room',\n ru: 'Бойлерная',\n de: 'Heizungsraum',\n fr: 'Chaufferie',\n it: 'Locale Caldaia',\n nl: 'Boiler Room',\n pl: 'Kotłownia',\n pt: 'Sala Da Caldeira',\n es: 'Sala De Calderas',\n 'zh-cn': '锅炉房',\n },\n icon: 'Boiler Room.svg',\n },\n {\n _id: 'chamber',\n name: {\n en: 'Chamber',\n ru: 'Камера',\n de: 'Kammer',\n fr: 'Chambre',\n it: 'Camera',\n nl: 'Kamer',\n pl: 'Izba',\n pt: 'Câmara',\n es: 'Cámara',\n 'zh-cn': '商会',\n },\n icon: 'Chamber.svg',\n },\n {\n _id: 'basement,_cellar',\n name: {\n en: 'Basement, Cellar',\n ru: 'Подвал, Погреб',\n de: 'Keller',\n fr: 'Sous-Sol, Cave',\n it: 'Taverna, Cantina',\n nl: 'Kelder, Kelder',\n pl: 'Piwnica, Piwnica',\n pt: 'Porão, Adega',\n es: 'Sótano, Bodega',\n 'zh-cn': '地下室,地窖',\n },\n icon: 'Basement.svg',\n },\n {\n _id: 'nursery',\n name: {\n en: 'Nursery',\n ru: 'Питомник',\n de: 'Kinderzimmer',\n fr: 'Garderie',\n it: 'Asilo',\n nl: 'Kinderkamer',\n pl: 'Żłobek',\n pt: 'Berçário',\n es: 'Guardería',\n 'zh-cn': '苗圃',\n },\n icon: 'Nursery.svg',\n },\n {\n _id: 'corridor',\n name: {\n en: 'Corridor',\n ru: 'Коридор',\n de: 'Korridor',\n fr: 'Couloir',\n it: 'Corridoio',\n nl: 'Gang',\n pl: 'Korytarz',\n pt: 'Corredor',\n es: 'Corredor',\n 'zh-cn': '走廊',\n },\n icon: 'Corridor.svg',\n },\n {\n _id: 'kitchen',\n name: {\n en: 'Kitchen',\n ru: 'Кухня',\n de: 'Küche',\n fr: 'Cuisine',\n it: 'Cucina',\n nl: 'Keuken',\n pl: 'Kuchnia',\n pt: 'Cozinha',\n es: 'Cocina',\n 'zh-cn': '厨房',\n },\n icon: 'Kitchen.svg',\n },\n {\n _id: 'upstairs',\n name: {\n en: 'Upstairs',\n ru: 'Вверх По Лестнице',\n de: 'Obergeschoss',\n fr: 'En Haut',\n it: 'Di Sopra',\n nl: 'Boven',\n pl: 'Na Górę',\n pt: 'Andar De Cima',\n es: 'Piso Superior',\n 'zh-cn': '楼上',\n },\n icon: 'Upstairs.svg',\n },\n {\n _id: 'office',\n name: {\n en: 'Office',\n ru: 'Офис',\n de: 'Office',\n fr: 'Bureau',\n it: 'Ufficio',\n nl: 'Kantoor',\n pl: 'Gabinet',\n pt: 'Escritório',\n es: 'Oficina',\n 'zh-cn': '办公室',\n },\n icon: 'Office.svg',\n },\n {\n _id: 'pool',\n name: {\n en: 'Pool',\n ru: 'Бассейн',\n de: 'Pool',\n fr: 'Piscine',\n it: 'Piscina',\n nl: 'Zwembad',\n pl: 'Basen',\n pt: 'Piscina',\n es: 'Piscina',\n 'zh-cn': '水池',\n },\n icon: 'Pool.svg',\n },\n {\n _id: 'rear_wall',\n name: {\n en: 'Rear Wall',\n ru: 'Задняя Стенка',\n de: 'Rückwand',\n fr: 'Paroi Arrière',\n it: 'Parete Posteriore',\n nl: 'Achterwand',\n pl: 'Tylna Ściana',\n pt: 'Parede Traseira',\n es: 'Pared Posterior',\n 'zh-cn': '后墙',\n },\n icon: 'Rear Wall.svg',\n },\n {\n _id: 'barn',\n name: {\n en: 'Barn',\n ru: 'Амбар',\n de: 'Scheune',\n fr: 'Grange',\n it: 'Fienile',\n nl: 'Schuur',\n pl: 'Stodoła',\n pt: 'Celeiro',\n es: 'Granero',\n 'zh-cn': '谷仓',\n },\n icon: 'Barn.svg',\n },\n {\n _id: 'sleeping_area',\n name: {\n en: 'Sleeping Area',\n ru: 'Спальное Место',\n de: 'Schlafbereich',\n fr: 'Coin Montagne',\n it: 'Area Sleeping',\n nl: 'Sleeping Area',\n pl: 'Powierzchnia Spania',\n pt: 'Sleeping Area',\n es: 'Área De Dormir',\n 'zh-cn': '睡眠区',\n },\n icon: 'Sleeping Area.svg',\n },\n {\n _id: 'bedroom',\n name: {\n en: 'Bedroom',\n ru: 'Спальная Комната',\n de: 'Schlafzimmer',\n fr: 'Chambre',\n it: 'Camera Da Letto',\n nl: 'Slaapkamer',\n pl: 'Sypialnia',\n pt: 'Quarto',\n es: 'Cuarto',\n 'zh-cn': '卧室',\n },\n icon: 'Bedroom.svg',\n },\n {\n _id: 'shed',\n name: {\n en: 'Shed',\n ru: 'Сбрасывать',\n de: 'Schuppen',\n fr: 'Hangar',\n it: 'Capannone',\n nl: 'Schuur',\n pl: 'Budka',\n pt: 'Cabana',\n es: 'Cobertizo',\n 'zh-cn': '棚',\n },\n icon: 'Shed.svg',\n },\n {\n _id: 'swimming_pool',\n name: {\n en: 'Swimming Pool',\n ru: 'Плавательный Бассейн',\n de: 'Schwimmbad',\n fr: 'Piscine',\n it: 'Piscina',\n nl: 'Zwembad',\n pl: 'Basen',\n pt: 'Piscina',\n es: 'Piscina',\n 'zh-cn': '游泳池',\n },\n icon: 'Swimming Pool.svg',\n },\n {\n _id: 'dining',\n name: {\n en: 'Dining',\n ru: 'Обеденный',\n de: 'Speis',\n fr: 'À Manger',\n it: 'Cenare',\n nl: 'Dining',\n pl: 'Jadalnia',\n pt: 'Jantar',\n es: 'Comida',\n 'zh-cn': '用餐',\n },\n icon: 'Dining.svg',\n },\n {\n _id: 'playroom',\n name: {\n en: 'Playroom',\n ru: 'Игровая Комната',\n de: 'Spielzimmer',\n fr: 'Salle De Jeux',\n it: 'Stanza Dei Giochi',\n nl: 'Speelkamer',\n pl: 'Pokój Zabaw',\n pt: 'Sala De Jogos',\n es: 'Cuarto De Jugar',\n 'zh-cn': '游戏室',\n },\n icon: 'Playroom.svg',\n },\n {\n _id: 'stairway',\n name: {\n en: 'Stairway',\n ru: 'Лестница',\n de: 'Treppe',\n fr: 'Escalier',\n it: 'Scala',\n nl: 'Trap',\n pl: 'Klatka Schodowa',\n pt: 'Escada',\n es: 'Escalera',\n 'zh-cn': '楼梯',\n },\n icon: 'Stairway.svg',\n },\n {\n _id: 'equipment_room',\n name: {\n en: 'Equipment Room',\n ru: 'Оборудование Номера',\n de: 'Technikraum',\n fr: \"Salle D'Équipement\",\n it: 'Stanza Degli Attrezzi',\n nl: 'Technische Ruimte',\n pl: 'Wyposażenie Pokoi',\n pt: 'Sala De Equipamentos',\n es: 'Cuarto De Equipos',\n 'zh-cn': '机房',\n },\n icon: 'Equipment Room.svg',\n },\n {\n _id: 'terrace',\n name: {\n en: 'Terrace',\n ru: 'Терраса',\n de: 'Terrasse',\n fr: 'Terrasse',\n it: 'Terrazza',\n nl: 'Terras',\n pl: 'Taras',\n pt: 'Terraço',\n es: 'Terraza',\n 'zh-cn': '阳台',\n },\n icon: 'Terrace.svg',\n },\n {\n _id: 'toilet',\n name: {\n en: 'Toilet',\n ru: 'Туалет',\n de: 'Toilette',\n fr: 'Toilette',\n it: 'Gabinetto',\n nl: 'Toilet',\n pl: 'Toaleta',\n pt: 'Banheiro',\n es: 'Inodoro',\n 'zh-cn': '洗手间',\n },\n icon: 'Toilet.svg',\n },\n {\n _id: 'stairwell',\n name: {\n en: 'Stairwell',\n ru: 'Лестничная клетка',\n de: 'Treppenhaus',\n fr: \"Cage D'Escalier\",\n it: 'Tromba Delle Scale',\n nl: 'Trappenhuis',\n pl: 'Klatka Schodowa',\n pt: 'Caixa De Escada',\n es: 'Hueco De Escalera',\n 'zh-cn': '楼梯间',\n },\n icon: 'Stairwell.svg',\n },\n {\n _id: 'locker_room',\n name: {\n en: 'Locker Room',\n ru: 'Камера Хранения',\n de: 'Umkleideraum',\n fr: 'Vestiaire',\n it: 'Spogliatoio',\n nl: 'Kleedkamer',\n pl: 'Szatnia',\n pt: 'Vestiário',\n es: 'Vestuario',\n 'zh-cn': '更衣室',\n },\n icon: 'Locker Room.svg',\n },\n {\n _id: 'basement',\n name: {\n en: 'Basement',\n ru: 'Подвал',\n de: 'Untergeschoss',\n fr: 'Sous-Sol',\n it: 'Seminterrato',\n nl: 'Kelder',\n pl: 'Piwnica',\n pt: 'Porão',\n es: 'Sótano',\n 'zh-cn': '地下室',\n },\n icon: 'Basement.svg',\n },\n {\n _id: 'front_yard',\n name: {\n en: 'Front Yard',\n ru: 'Передний Двор',\n de: 'Vorgarten',\n fr: 'Front Yard',\n it: 'Cortile',\n nl: 'Voortuin',\n pl: 'Podwórko',\n pt: 'Jardim Da Frente',\n es: 'Patio Delantero',\n 'zh-cn': '前院',\n },\n icon: 'Front Yard.svg',\n },\n {\n _id: 'anteroom',\n name: {\n en: 'Anteroom',\n ru: 'Передняя',\n de: 'Vorraum',\n fr: 'Antichambre',\n it: 'Anticamera',\n nl: 'Voorkamer',\n pl: 'Przedpokój',\n pt: 'Ante-Sala',\n es: 'Antesala',\n 'zh-cn': '接待室',\n },\n icon: 'Anteroom.svg',\n },\n {\n _id: 'washroom',\n name: {\n en: 'Washroom',\n ru: 'Уборная',\n de: 'Waschraum',\n fr: 'Toilettes',\n it: 'Bagno',\n nl: 'Waskamer',\n pl: 'Umywalnia',\n pt: 'Banheiro',\n es: 'Baño',\n 'zh-cn': '卫生间',\n },\n icon: 'Washroom.svg',\n },\n {\n _id: 'wc',\n name: {\n en: 'Wc',\n ru: 'Туалет',\n de: 'WC',\n fr: 'Toilettes',\n it: 'Bagno',\n nl: 'Wc',\n pl: 'Toaleta',\n pt: 'Banheiro',\n es: 'Wc',\n 'zh-cn': '厕所',\n },\n icon: 'Wc.svg',\n },\n {\n _id: 'workshop',\n name: {\n en: 'Workshop',\n ru: 'Мастерская',\n de: 'Werkstatt',\n fr: 'Atelier',\n it: 'Laboratorio',\n nl: 'Werkplaats',\n pl: 'Warsztat',\n pt: 'Oficina',\n es: 'Taller',\n 'zh-cn': '作坊',\n },\n icon: 'Workshop.svg',\n },\n {\n _id: 'windscreen',\n name: {\n en: 'Windscreen',\n ru: 'Ветровое Стекло',\n de: 'Windfang',\n fr: 'Pare-Brise',\n it: 'Parabrezza',\n nl: 'Voorruit',\n pl: 'Szyba Przednia',\n pt: 'Pára-Brisas',\n es: 'Parabrisas',\n 'zh-cn': '风档',\n },\n icon: 'Windscreen.svg',\n },\n {\n _id: 'living_area',\n name: {\n en: 'Living Area',\n ru: 'Жилая Площадь',\n de: 'Wohnbereich',\n fr: 'Salon',\n it: 'Zona Giorno',\n nl: 'Living Area',\n pl: 'Powierzchnia Mieszkalna',\n pt: 'Sala-De-Estar',\n es: 'Sala De Estar',\n 'zh-cn': '生活区域',\n },\n icon: 'Living Area.svg',\n },\n {\n _id: 'living_room',\n name: {\n en: 'Living Room',\n ru: 'Гостинная',\n de: 'Wohnzimmer',\n fr: 'Le Salon',\n it: 'Soggiorno',\n nl: 'Woonkamer',\n pl: 'Salon',\n pt: 'Sala De Estar',\n es: 'Sala De Estar',\n 'zh-cn': '客厅',\n },\n icon: 'Living Room.svg',\n },\n {\n _id: 'living_room',\n name: {\n en: 'Living Room',\n ru: 'Гостинная',\n de: 'Wohnzimmer',\n fr: 'Le Salon',\n it: 'Soggiorno',\n nl: 'Woonkamer',\n pl: 'Salon',\n pt: 'Sala De Estar',\n es: 'Sala De Estar',\n 'zh-cn': '客厅',\n },\n icon: 'Living Room.svg',\n },\n];\n\ninterface IconSelectorProps {\n icons?: {\n icon?: string;\n src?: string;\n href?: string;\n name?: ioBroker.StringOrTranslated;\n _id?: string;\n }[];\n onlyRooms?: boolean;\n onlyDevices?: boolean;\n onSelect?: (icon: string) => void; // one of onSelect or onChange are required\n onChange?: (icon: string) => void;\n t: Translate;\n lang: ioBroker.Languages;\n}\n\ninterface IconSelectorState {\n opened: boolean;\n names: string[];\n filter: string;\n icons: string[] | null;\n loading: boolean;\n isAnyName: boolean;\n}\n\nexport class IconSelector extends Component<IconSelectorProps, IconSelectorState> {\n constructor(props: IconSelectorProps) {\n super(props);\n\n this.state = {\n opened: false,\n names: [],\n filter: '',\n icons: null,\n loading: false,\n isAnyName: false,\n };\n }\n\n loadAllIcons(): void {\n if (this.state.loading || this.state.icons) {\n return;\n }\n this.setState({ loading: true }, () => {\n const icons: string[] = [];\n const names: string[] = [];\n\n if (!this.props.icons) {\n // load rooms\n let templates =\n this.props.onlyRooms || (!this.props.onlyRooms && !this.props.onlyDevices) ? rooms : null;\n\n if (templates) {\n templates.forEach(item => {\n if (item.name && typeof item.name === 'object') {\n item.name = item.name[this.props.lang] || item.name.en || item._id;\n }\n item.name = item.name || item._id;\n });\n\n templates = templates.filter(\n (item, i) =>\n !templates?.find(\n (_item, _i) => i !== _i && _item.icon === item.icon && _item.name === item.name,\n ),\n );\n\n templates.forEach((template, i) => {\n names[i] = template.name as string;\n icons[i] =\n `data:image/svg+xml;base64,${(roomsIcons as Record<string, string>)[template.icon.replace(/\\.svg$/, '')]}`;\n });\n }\n\n // load devices\n templates =\n this.props.onlyDevices || (!this.props.onlyRooms && !this.props.onlyDevices) ? devices : null;\n if (templates) {\n const offset = icons.length;\n templates &&\n templates.forEach(item => {\n if (item.name && typeof item.name === 'object') {\n item.name = item.name[this.props.lang] || item.name.en || item._id;\n }\n item.name = item.name || item._id;\n });\n\n templates = templates.filter(\n (item, i) =>\n !templates?.find(\n (_item, _i) => i !== _i && _item.icon === item.icon && _item.name === item.name,\n ),\n );\n\n templates.forEach((template, i) => {\n names[i + offset] = template.name as string;\n icons[i + offset] =\n `data:image/svg+xml;base64,${(devicesIcons as Record<string, string>)[template.icon.replace(/\\.svg$/, '')]}`;\n });\n }\n this.setState({\n icons,\n loading: false,\n names,\n isAnyName: !!names.find(i => i),\n });\n } else {\n const promises = this.props.icons.map((item, i) => {\n let href: string;\n if (typeof item === 'object') {\n href = item.icon || item.src || item.href || '';\n names[i] =\n typeof item.name === 'object'\n ? item.name[this.props.lang] || item.name.en || item._id || ''\n : item.name || '';\n if (!names[i]) {\n const parts = href.split('.');\n parts.pop();\n names[i] = parts[parts.length - 1];\n }\n } else {\n href = item;\n }\n\n if (href) {\n if (href.startsWith('data:')) {\n icons[i] = href;\n return Promise.resolve();\n }\n return Utils.getSvg(href).then(icon => (icons[i] = icon));\n }\n\n return Promise.resolve();\n });\n\n void Promise.all(promises)\n .catch((e: Error) => console.error(e))\n .then(() =>\n this.setState({\n icons,\n loading: false,\n names,\n isAnyName: !!names.find(i => i),\n }),\n );\n }\n });\n }\n\n render(): React.JSX.Element {\n if (this.state.loading) {\n return <CircularProgress />;\n }\n\n return (\n <>\n <Button\n color=\"grey\"\n variant=\"outlined\"\n title={this.props.t('ra_Select predefined icon')}\n onClick={() => this.setState({ opened: true }, () => this.loadAllIcons())}\n style={{ minWidth: 40, marginRight: 8 }}\n >\n ...\n </Button>\n {this.state.opened ? (\n <Dialog\n onClose={() => this.setState({ opened: false })}\n open={!0}\n >\n <DialogTitle>\n {this.props.t('ra_Select predefined icon')}\n {this.state.isAnyName ? (\n <TextField\n variant=\"standard\"\n margin=\"dense\"\n style={{ marginLeft: 20 }}\n value={this.state.filter}\n onChange={e => this.setState({ filter: e.target.value.toLowerCase() })}\n placeholder={this.props.t('ra_Filter')}\n slotProps={{\n input: {\n endAdornment: this.state.filter ? (\n <IconButton\n tabIndex={-1}\n size=\"small\"\n onClick={() => this.setState({ filter: '' })}\n >\n <ClearIcon />\n </IconButton>\n ) : undefined,\n },\n }}\n />\n ) : null}\n </DialogTitle>\n <DialogContent>\n <div style={{ width: '100%', textAlign: 'center' }}>\n {this.state.icons &&\n this.state.icons.map((icon, i) => {\n if (\n !this.state.filter ||\n (this.state.names[i] &&\n this.state.names[i].toLowerCase().includes(this.state.filter))\n ) {\n return (\n <Tooltip\n title={this.state.names[i] || ''}\n key={i}\n slotProps={{ popper: { sx: { pointerEvents: 'none' } } }}\n >\n <IconButton\n onClick={() =>\n this.setState({ opened: false }, () => {\n const onApply: ((_icon: string) => void) | undefined =\n this.props.onSelect || this.props.onChange;\n if (onApply) {\n onApply(icon);\n }\n })\n }\n size=\"large\"\n >\n <Icon\n src={icon}\n alt={i.toString()}\n style={{ width: 32, height: 32, borderRadius: 5 }}\n />\n </IconButton>\n </Tooltip>\n );\n }\n\n return null;\n })}\n </div>\n </DialogContent>\n <DialogActions>\n <Button\n color=\"grey\"\n variant=\"contained\"\n onClick={() => this.setState({ opened: false })}\n startIcon={<CloseIcon />}\n >\n {this.props.t('ra_Close')}\n </Button>\n </DialogActions>\n </Dialog>\n ) : null}\n </>\n );\n }\n}\n"]}
package/build/index.d.ts CHANGED
@@ -15,6 +15,7 @@ export { Image } from './Components/Image';
15
15
  export { DeviceTypeSelector } from './Components/DeviceType/DeviceTypeSelector';
16
16
  export { DeviceTypeIcon } from './Components/DeviceType/DeviceTypeIcon';
17
17
  export { STATES_NAME_ICONS } from './Components/DeviceType/DeviceTypeOptions';
18
+ export { extendDeviceTypeTranslation } from './Components/DeviceType/deviceTypeTranslations';
18
19
  export { Loader } from './Components/Loader';
19
20
  export { Logo } from './Components/Logo';
20
21
  export { MDUtils } from './Components/MDUtils';
package/build/index.js CHANGED
@@ -15,6 +15,7 @@ export { Image } from './Components/Image';
15
15
  export { DeviceTypeSelector } from './Components/DeviceType/DeviceTypeSelector';
16
16
  export { DeviceTypeIcon } from './Components/DeviceType/DeviceTypeIcon';
17
17
  export { STATES_NAME_ICONS } from './Components/DeviceType/DeviceTypeOptions';
18
+ export { extendDeviceTypeTranslation } from './Components/DeviceType/deviceTypeTranslations';
18
19
  export { Loader } from './Components/Loader';
19
20
  export { Logo } from './Components/Logo';
20
21
  export { MDUtils } from './Components/MDUtils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"./src/","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["export { Theme } from './Theme';\nexport { GenericApp } from './GenericApp';\nexport { I18n } from './i18n';\nexport { printPrompt } from './Prompt';\nexport { ColorPicker } from './Components/ColorPicker';\nexport { ComplexCron } from './Components/ComplexCron';\nexport { copy } from './Components/CopyToClipboard';\nexport { CustomModal } from './Components/CustomModal';\nexport {\n FileBrowser,\n type MetaACL,\n type MetaObject,\n type FileBrowserProps,\n type FolderOrFileItem,\n type Folders,\n FileBrowserClass,\n} from './Components/FileBrowser';\nexport {\n EXTENSIONS,\n FileViewer,\n FileViewerClass,\n type FileViewerProps,\n type FileViewerState,\n} from './Components/FileViewer';\nexport { getSystemIcon, getSelectIdIcon, Icon } from './Components/Icon';\nexport { IconPicker } from './Components/IconPicker';\nexport { IconSelector } from './Components/IconSelector';\nexport { Image } from './Components/Image';\nexport { DeviceTypeSelector } from './Components/DeviceType/DeviceTypeSelector';\nexport { DeviceTypeIcon } from './Components/DeviceType/DeviceTypeIcon';\nexport { STATES_NAME_ICONS } from './Components/DeviceType/DeviceTypeOptions';\nexport { Loader } from './Components/Loader';\nexport { Logo } from './Components/Logo';\nexport { MDUtils } from './Components/MDUtils';\nexport {\n type TreeItemData,\n type TreeItem,\n type ObjectBrowserFilter,\n type ObjectBrowserCustomFilter,\n type ObjectBrowserColumn,\n type ObjectBrowserProps,\n ObjectBrowserClass,\n ObjectBrowser,\n getSelectIdIconFromObjects,\n ITEM_IMAGES,\n} from './Components/ObjectBrowser';\nexport { InfoBox } from './Components/InfoBox';\nexport { Router } from './Components/Router';\nexport { SaveCloseButtons } from './Components/SaveCloseButtons';\nexport { Schedule, type ScheduleConfig } from './Components/Schedule';\nexport { SelectWithIcon } from './Components/SelectWithIcon';\nexport { TabContainer } from './Components/TabContainer';\nexport { TabContent } from './Components/TabContent';\nexport { TabHeader } from './Components/TabHeader';\nexport { TableResize } from './Components/TableResize';\nexport { TextWithIcon } from './Components/TextWithIcon';\nexport { ToggleThemeMenu } from './Components/ToggleThemeMenu';\nexport { TreeTable } from './Components/TreeTable';\nexport { UploadImage } from './Components/UploadImage';\nexport { Utils } from './Components/Utils';\nexport { withWidth } from './Components/withWidth';\nexport { cron2state, SimpleCron } from './Components/SimpleCron';\nexport { convertCronToText } from './Components/SimpleCron/cronText';\nexport { LoaderVendor } from './Components/Loaders/Vendor';\nexport { LoaderPT } from './Components/Loaders/PT';\nexport { LoaderMV } from './Components/Loaders/MV';\nexport { type IconProps } from './Components/Icon';\nexport { type IconsIconProps } from './icons/types';\nexport { IconAdapter } from './icons/IconAdapter';\nexport { IconAlias } from './icons/IconAlias';\nexport { IconButtonImage } from './icons/IconButtonImage';\nexport { IconChannel } from './icons/IconChannel';\nexport { IconClearFilter } from './icons/IconClearFilter';\nexport { IconClosed } from './icons/IconClosed';\nexport { IconCopy } from './icons/IconCopy';\nexport { IconDevice } from './icons/IconDevice';\nexport { IconDocument } from './icons/IconDocument';\nexport { IconDocumentReadOnly } from './icons/IconDocumentReadOnly';\nexport { IconExpert } from './icons/IconExpert';\nexport { IconFx } from './icons/IconFx';\nexport { IconInstance } from './icons/IconInstance';\nexport { IconLogout } from './icons/IconLogout';\nexport { IconNoIcon } from './icons/IconNoIcon';\nexport { IconOpen } from './icons/IconOpen';\nexport { IconState } from './icons/IconState';\nexport { IconVacuum } from './icons/IconVacuum';\nexport { DialogComplexCron } from './Dialogs/ComplexCron';\nexport { DialogComplexCron as ComplexCronDialog } from './Dialogs/ComplexCron'; // deprecated\nexport { DialogConfirm } from './Dialogs/Confirm';\nexport { DialogConfirm as Confirm } from './Dialogs/Confirm'; // deprecated\nexport { DialogCron } from './Dialogs/Cron';\nexport { DialogCron as Cron } from './Dialogs/Cron'; // deprecated\nexport { DialogError } from './Dialogs/Error';\nexport { DialogError as Error } from './Dialogs/Error'; // deprecated\nexport { DialogMessage } from './Dialogs/Message';\nexport { DialogMessage as Message } from './Dialogs/Message'; // deprecated\nexport { DialogSelectID } from './Dialogs/SelectID';\nexport { DialogSelectID as SelectID } from './Dialogs/SelectID'; // deprecated\nexport { DialogSelectFile } from './Dialogs/SelectFile';\nexport { DialogSelectFile as SelectFile } from './Dialogs/SelectFile'; // deprecated\nexport { DialogSimpleCron } from './Dialogs/SimpleCron';\nexport { DialogSimpleCron as SimpleCronDialog } from './Dialogs/SimpleCron'; // deprecated\nexport { DialogTextInput } from './Dialogs/TextInput';\nexport { DialogTextInput as TextInput } from './Dialogs/TextInput'; // deprecated\nexport { Connection, PROGRESS, ERRORS, PERMISSION_ERROR } from './Connection';\nexport { AdminConnection } from './AdminConnection';\nexport { dictionary } from './dictionary';\nexport {\n LegacyConnection,\n type ConnectOptions,\n type CompactSystemRepositoryEntry,\n type CompactSystemRepository,\n type SocketClient,\n type BinaryStateChangeHandler,\n pattern2RegEx,\n} from './LegacyConnection';\n\nexport {\n type IobUri,\n type IobUriType,\n type IobUriParsed,\n getAttrInObject,\n setAttrInObject,\n iobUriToString,\n iobUriParse,\n iobUriRead,\n} from './Components/IobUri';\n\nexport type {\n Translate,\n ConnectionProps,\n OldObject,\n ObjectChangeHandler,\n ThemeName,\n ThemeType,\n GenericAppProps,\n GenericAppSettings,\n IobTheme,\n Width,\n GenericAppState,\n} from './types';\n\nexport { moduleFederationShared } from './modulefederation.admin.config';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"./src/","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["export { Theme } from './Theme';\nexport { GenericApp } from './GenericApp';\nexport { I18n } from './i18n';\nexport { printPrompt } from './Prompt';\nexport { ColorPicker } from './Components/ColorPicker';\nexport { ComplexCron } from './Components/ComplexCron';\nexport { copy } from './Components/CopyToClipboard';\nexport { CustomModal } from './Components/CustomModal';\nexport {\n FileBrowser,\n type MetaACL,\n type MetaObject,\n type FileBrowserProps,\n type FolderOrFileItem,\n type Folders,\n FileBrowserClass,\n} from './Components/FileBrowser';\nexport {\n EXTENSIONS,\n FileViewer,\n FileViewerClass,\n type FileViewerProps,\n type FileViewerState,\n} from './Components/FileViewer';\nexport { getSystemIcon, getSelectIdIcon, Icon } from './Components/Icon';\nexport { IconPicker } from './Components/IconPicker';\nexport { IconSelector } from './Components/IconSelector';\nexport { Image } from './Components/Image';\nexport { DeviceTypeSelector } from './Components/DeviceType/DeviceTypeSelector';\nexport { DeviceTypeIcon } from './Components/DeviceType/DeviceTypeIcon';\nexport { STATES_NAME_ICONS } from './Components/DeviceType/DeviceTypeOptions';\nexport { extendDeviceTypeTranslation } from './Components/DeviceType/deviceTypeTranslations';\nexport { Loader } from './Components/Loader';\nexport { Logo } from './Components/Logo';\nexport { MDUtils } from './Components/MDUtils';\nexport {\n type TreeItemData,\n type TreeItem,\n type ObjectBrowserFilter,\n type ObjectBrowserCustomFilter,\n type ObjectBrowserColumn,\n type ObjectBrowserProps,\n ObjectBrowserClass,\n ObjectBrowser,\n getSelectIdIconFromObjects,\n ITEM_IMAGES,\n} from './Components/ObjectBrowser';\nexport { InfoBox } from './Components/InfoBox';\nexport { Router } from './Components/Router';\nexport { SaveCloseButtons } from './Components/SaveCloseButtons';\nexport { Schedule, type ScheduleConfig } from './Components/Schedule';\nexport { SelectWithIcon } from './Components/SelectWithIcon';\nexport { TabContainer } from './Components/TabContainer';\nexport { TabContent } from './Components/TabContent';\nexport { TabHeader } from './Components/TabHeader';\nexport { TableResize } from './Components/TableResize';\nexport { TextWithIcon } from './Components/TextWithIcon';\nexport { ToggleThemeMenu } from './Components/ToggleThemeMenu';\nexport { TreeTable } from './Components/TreeTable';\nexport { UploadImage } from './Components/UploadImage';\nexport { Utils } from './Components/Utils';\nexport { withWidth } from './Components/withWidth';\nexport { cron2state, SimpleCron } from './Components/SimpleCron';\nexport { convertCronToText } from './Components/SimpleCron/cronText';\nexport { LoaderVendor } from './Components/Loaders/Vendor';\nexport { LoaderPT } from './Components/Loaders/PT';\nexport { LoaderMV } from './Components/Loaders/MV';\nexport { type IconProps } from './Components/Icon';\nexport { type IconsIconProps } from './icons/types';\nexport { IconAdapter } from './icons/IconAdapter';\nexport { IconAlias } from './icons/IconAlias';\nexport { IconButtonImage } from './icons/IconButtonImage';\nexport { IconChannel } from './icons/IconChannel';\nexport { IconClearFilter } from './icons/IconClearFilter';\nexport { IconClosed } from './icons/IconClosed';\nexport { IconCopy } from './icons/IconCopy';\nexport { IconDevice } from './icons/IconDevice';\nexport { IconDocument } from './icons/IconDocument';\nexport { IconDocumentReadOnly } from './icons/IconDocumentReadOnly';\nexport { IconExpert } from './icons/IconExpert';\nexport { IconFx } from './icons/IconFx';\nexport { IconInstance } from './icons/IconInstance';\nexport { IconLogout } from './icons/IconLogout';\nexport { IconNoIcon } from './icons/IconNoIcon';\nexport { IconOpen } from './icons/IconOpen';\nexport { IconState } from './icons/IconState';\nexport { IconVacuum } from './icons/IconVacuum';\nexport { DialogComplexCron } from './Dialogs/ComplexCron';\nexport { DialogComplexCron as ComplexCronDialog } from './Dialogs/ComplexCron'; // deprecated\nexport { DialogConfirm } from './Dialogs/Confirm';\nexport { DialogConfirm as Confirm } from './Dialogs/Confirm'; // deprecated\nexport { DialogCron } from './Dialogs/Cron';\nexport { DialogCron as Cron } from './Dialogs/Cron'; // deprecated\nexport { DialogError } from './Dialogs/Error';\nexport { DialogError as Error } from './Dialogs/Error'; // deprecated\nexport { DialogMessage } from './Dialogs/Message';\nexport { DialogMessage as Message } from './Dialogs/Message'; // deprecated\nexport { DialogSelectID } from './Dialogs/SelectID';\nexport { DialogSelectID as SelectID } from './Dialogs/SelectID'; // deprecated\nexport { DialogSelectFile } from './Dialogs/SelectFile';\nexport { DialogSelectFile as SelectFile } from './Dialogs/SelectFile'; // deprecated\nexport { DialogSimpleCron } from './Dialogs/SimpleCron';\nexport { DialogSimpleCron as SimpleCronDialog } from './Dialogs/SimpleCron'; // deprecated\nexport { DialogTextInput } from './Dialogs/TextInput';\nexport { DialogTextInput as TextInput } from './Dialogs/TextInput'; // deprecated\nexport { Connection, PROGRESS, ERRORS, PERMISSION_ERROR } from './Connection';\nexport { AdminConnection } from './AdminConnection';\nexport { dictionary } from './dictionary';\nexport {\n LegacyConnection,\n type ConnectOptions,\n type CompactSystemRepositoryEntry,\n type CompactSystemRepository,\n type SocketClient,\n type BinaryStateChangeHandler,\n pattern2RegEx,\n} from './LegacyConnection';\n\nexport {\n type IobUri,\n type IobUriType,\n type IobUriParsed,\n getAttrInObject,\n setAttrInObject,\n iobUriToString,\n iobUriParse,\n iobUriRead,\n} from './Components/IobUri';\n\nexport type {\n Translate,\n ConnectionProps,\n OldObject,\n ObjectChangeHandler,\n ThemeName,\n ThemeType,\n GenericAppProps,\n GenericAppSettings,\n IobTheme,\n Width,\n GenericAppState,\n} from './types';\n\nexport { moduleFederationShared } from './modulefederation.admin.config';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iobroker/adapter-react-v5",
3
- "version": "7.6.13",
3
+ "version": "7.6.15",
4
4
  "description": "React components to develop ioBroker interfaces with react.",
5
5
  "author": {
6
6
  "name": "bluefox",
@@ -57,7 +57,7 @@
57
57
  "@emotion/styled": "^11.14.0",
58
58
  "@iobroker/js-controller-common": "^7.0.7",
59
59
  "@iobroker/js-controller-common-db": "^7.0.7",
60
- "@iobroker/socket-client": "4.1.2",
60
+ "@iobroker/socket-client": "4.1.3",
61
61
  "@iobroker/type-detector": "^4.3.1",
62
62
  "@iobroker/types": "^7.0.7",
63
63
  "@mui/icons-material": "^6.4.10",
@@ -81,5 +81,5 @@
81
81
  "ts-node": "^10.9.2",
82
82
  "typescript": "~5.8.3"
83
83
  },
84
- "gitHead": "fe2d8f8ca225af4de4fb86fe6d6901fa00fd45a9"
84
+ "gitHead": "002fe2c78dea83abcbe06f4d3599dbc1453b87c3"
85
85
  }