@iobroker/gui-components 8.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +1450 -0
- package/build/AdminConnection.d.ts +1 -0
- package/build/AdminConnection.js +2 -0
- package/build/AdminConnection.js.map +1 -0
- package/build/Components/404.d.ts +4 -0
- package/build/Components/404.js +97 -0
- package/build/Components/404.js.map +1 -0
- package/build/Components/ColorPicker.d.ts +86 -0
- package/build/Components/ColorPicker.js +222 -0
- package/build/Components/ColorPicker.js.map +1 -0
- package/build/Components/ComplexCron.d.ts +40 -0
- package/build/Components/ComplexCron.js +401 -0
- package/build/Components/ComplexCron.js.map +1 -0
- package/build/Components/CopyToClipboard.d.ts +14 -0
- package/build/Components/CopyToClipboard.js +160 -0
- package/build/Components/CopyToClipboard.js.map +1 -0
- package/build/Components/CustomModal.d.ts +26 -0
- package/build/Components/CustomModal.js +62 -0
- package/build/Components/CustomModal.js.map +1 -0
- package/build/Components/DeviceType/DeviceTypeIcon.d.ts +29 -0
- package/build/Components/DeviceType/DeviceTypeIcon.js +108 -0
- package/build/Components/DeviceType/DeviceTypeIcon.js.map +1 -0
- package/build/Components/DeviceType/DeviceTypeOptions.d.ts +2 -0
- package/build/Components/DeviceType/DeviceTypeOptions.js +69 -0
- package/build/Components/DeviceType/DeviceTypeOptions.js.map +1 -0
- package/build/Components/DeviceType/DeviceTypeSelector.d.ts +20 -0
- package/build/Components/DeviceType/DeviceTypeSelector.js +83 -0
- package/build/Components/DeviceType/DeviceTypeSelector.js.map +1 -0
- package/build/Components/DeviceType/deviceTypeTranslations.d.ts +1 -0
- package/build/Components/DeviceType/deviceTypeTranslations.js +30 -0
- package/build/Components/DeviceType/deviceTypeTranslations.js.map +1 -0
- package/build/Components/DeviceType/i18n/de.json +46 -0
- package/build/Components/DeviceType/i18n/en.json +46 -0
- package/build/Components/DeviceType/i18n/fr.json +46 -0
- package/build/Components/DeviceType/i18n/it.json +46 -0
- package/build/Components/DeviceType/i18n/nl.json +46 -0
- package/build/Components/DeviceType/i18n/pl.json +46 -0
- package/build/Components/DeviceType/i18n/pt.json +46 -0
- package/build/Components/DeviceType/i18n/ru.json +46 -0
- package/build/Components/DeviceType/i18n/uk.json +46 -0
- package/build/Components/DeviceType/i18n/zh-cn.json +46 -0
- package/build/Components/DeviceType/icons/Cleaner.d.ts +3 -0
- package/build/Components/DeviceType/icons/Cleaner.js +14 -0
- package/build/Components/DeviceType/icons/Cleaner.js.map +1 -0
- package/build/Components/DeviceType/icons/DoorClosed.d.ts +3 -0
- package/build/Components/DeviceType/icons/DoorClosed.js +7 -0
- package/build/Components/DeviceType/icons/DoorClosed.js.map +1 -0
- package/build/Components/DeviceType/icons/DoorOpened.d.ts +3 -0
- package/build/Components/DeviceType/icons/DoorOpened.js +7 -0
- package/build/Components/DeviceType/icons/DoorOpened.js.map +1 -0
- package/build/Components/DeviceType/icons/FireOff.d.ts +3 -0
- package/build/Components/DeviceType/icons/FireOff.js +8 -0
- package/build/Components/DeviceType/icons/FireOff.js.map +1 -0
- package/build/Components/DeviceType/icons/FireOn.d.ts +3 -0
- package/build/Components/DeviceType/icons/FireOn.js +14 -0
- package/build/Components/DeviceType/icons/FireOn.js.map +1 -0
- package/build/Components/DeviceType/icons/FloodOff.d.ts +3 -0
- package/build/Components/DeviceType/icons/FloodOff.js +11 -0
- package/build/Components/DeviceType/icons/FloodOff.js.map +1 -0
- package/build/Components/DeviceType/icons/FloodOn.d.ts +3 -0
- package/build/Components/DeviceType/icons/FloodOn.js +18 -0
- package/build/Components/DeviceType/icons/FloodOn.js.map +1 -0
- package/build/Components/DeviceType/icons/Gate.d.ts +3 -0
- package/build/Components/DeviceType/icons/Gate.js +8 -0
- package/build/Components/DeviceType/icons/Gate.js.map +1 -0
- package/build/Components/DeviceType/icons/HeatValve.d.ts +3 -0
- package/build/Components/DeviceType/icons/HeatValve.js +6 -0
- package/build/Components/DeviceType/icons/HeatValve.js.map +1 -0
- package/build/Components/DeviceType/icons/Home.d.ts +3 -0
- package/build/Components/DeviceType/icons/Home.js +6 -0
- package/build/Components/DeviceType/icons/Home.js.map +1 -0
- package/build/Components/DeviceType/icons/Humidity.d.ts +3 -0
- package/build/Components/DeviceType/icons/Humidity.js +8 -0
- package/build/Components/DeviceType/icons/Humidity.js.map +1 -0
- package/build/Components/DeviceType/icons/IconHome.d.ts +5 -0
- package/build/Components/DeviceType/icons/IconHome.js +21 -0
- package/build/Components/DeviceType/icons/IconHome.js.map +1 -0
- package/build/Components/DeviceType/icons/Jalousie.d.ts +3 -0
- package/build/Components/DeviceType/icons/Jalousie.js +7 -0
- package/build/Components/DeviceType/icons/Jalousie.js.map +1 -0
- package/build/Components/DeviceType/icons/Material.d.ts +3 -0
- package/build/Components/DeviceType/icons/Material.js +8 -0
- package/build/Components/DeviceType/icons/Material.js.map +1 -0
- package/build/Components/DeviceType/icons/MotionOff.d.ts +3 -0
- package/build/Components/DeviceType/icons/MotionOff.js +11 -0
- package/build/Components/DeviceType/icons/MotionOff.js.map +1 -0
- package/build/Components/DeviceType/icons/MotionOn.d.ts +3 -0
- package/build/Components/DeviceType/icons/MotionOn.js +7 -0
- package/build/Components/DeviceType/icons/MotionOn.js.map +1 -0
- package/build/Components/DeviceType/icons/PushButton.d.ts +3 -0
- package/build/Components/DeviceType/icons/PushButton.js +9 -0
- package/build/Components/DeviceType/icons/PushButton.js.map +1 -0
- package/build/Components/DeviceType/icons/RGB.d.ts +3 -0
- package/build/Components/DeviceType/icons/RGB.js +43 -0
- package/build/Components/DeviceType/icons/RGB.js.map +1 -0
- package/build/Components/DeviceType/icons/RepairExpert.d.ts +3 -0
- package/build/Components/DeviceType/icons/RepairExpert.js +6 -0
- package/build/Components/DeviceType/icons/RepairExpert.js.map +1 -0
- package/build/Components/DeviceType/icons/Socket.d.ts +3 -0
- package/build/Components/DeviceType/icons/Socket.js +8 -0
- package/build/Components/DeviceType/icons/Socket.js.map +1 -0
- package/build/Components/DeviceType/icons/Thermometer.d.ts +3 -0
- package/build/Components/DeviceType/icons/Thermometer.js +7 -0
- package/build/Components/DeviceType/icons/Thermometer.js.map +1 -0
- package/build/Components/DeviceType/icons/ThermometerSimple.d.ts +3 -0
- package/build/Components/DeviceType/icons/ThermometerSimple.js +8 -0
- package/build/Components/DeviceType/icons/ThermometerSimple.js.map +1 -0
- package/build/Components/DeviceType/icons/Thermostat.d.ts +3 -0
- package/build/Components/DeviceType/icons/Thermostat.js +9 -0
- package/build/Components/DeviceType/icons/Thermostat.js.map +1 -0
- package/build/Components/DeviceType/icons/Valve.d.ts +3 -0
- package/build/Components/DeviceType/icons/Valve.js +7 -0
- package/build/Components/DeviceType/icons/Valve.js.map +1 -0
- package/build/Components/DeviceType/icons/WindowClosed.d.ts +3 -0
- package/build/Components/DeviceType/icons/WindowClosed.js +8 -0
- package/build/Components/DeviceType/icons/WindowClosed.js.map +1 -0
- package/build/Components/DeviceType/icons/WindowOpened.d.ts +3 -0
- package/build/Components/DeviceType/icons/WindowOpened.js +9 -0
- package/build/Components/DeviceType/icons/WindowOpened.js.map +1 -0
- package/build/Components/DeviceType/icons/WindowTilted.d.ts +3 -0
- package/build/Components/DeviceType/icons/WindowTilted.js +8 -0
- package/build/Components/DeviceType/icons/WindowTilted.js.map +1 -0
- package/build/Components/DeviceType/icons/index.d.ts +28 -0
- package/build/Components/DeviceType/icons/index.js +28 -0
- package/build/Components/DeviceType/icons/index.js.map +1 -0
- package/build/Components/FileBrowser.d.ts +187 -0
- package/build/Components/FileBrowser.js +1711 -0
- package/build/Components/FileBrowser.js.map +1 -0
- package/build/Components/FileViewer.d.ts +49 -0
- package/build/Components/FileViewer.js +247 -0
- package/build/Components/FileViewer.js.map +1 -0
- package/build/Components/Icon.d.ts +35 -0
- package/build/Components/Icon.js +140 -0
- package/build/Components/Icon.js.map +1 -0
- package/build/Components/IconPicker.d.ts +25 -0
- package/build/Components/IconPicker.js +72 -0
- package/build/Components/IconPicker.js.map +1 -0
- package/build/Components/IconSelector.d.ts +33 -0
- package/build/Components/IconSelector.js +2086 -0
- package/build/Components/IconSelector.js.map +1 -0
- package/build/Components/Image.d.ts +31 -0
- package/build/Components/Image.js +126 -0
- package/build/Components/Image.js.map +1 -0
- package/build/Components/InfoBox.d.ts +37 -0
- package/build/Components/InfoBox.js +115 -0
- package/build/Components/InfoBox.js.map +1 -0
- package/build/Components/IobUri.d.ts +14 -0
- package/build/Components/IobUri.js +168 -0
- package/build/Components/IobUri.js.map +1 -0
- package/build/Components/Loader.d.ts +31 -0
- package/build/Components/Loader.js +265 -0
- package/build/Components/Loader.js.map +1 -0
- package/build/Components/Loaders/MV.d.ts +17 -0
- package/build/Components/Loaders/MV.js +61 -0
- package/build/Components/Loaders/MV.js.map +1 -0
- package/build/Components/Loaders/PT.d.ts +27 -0
- package/build/Components/Loaders/PT.js +150 -0
- package/build/Components/Loaders/PT.js.map +1 -0
- package/build/Components/Loaders/Vendor.d.ts +22 -0
- package/build/Components/Loaders/Vendor.js +52 -0
- package/build/Components/Loaders/Vendor.js.map +1 -0
- package/build/Components/Logo.d.ts +18 -0
- package/build/Components/Logo.js +109 -0
- package/build/Components/Logo.js.map +1 -0
- package/build/Components/MDUtils.d.ts +11 -0
- package/build/Components/MDUtils.js +99 -0
- package/build/Components/MDUtils.js.map +1 -0
- package/build/Components/ObjectBrowser.d.ts +665 -0
- package/build/Components/ObjectBrowser.js +6245 -0
- package/build/Components/ObjectBrowser.js.map +1 -0
- package/build/Components/Router.d.ts +21 -0
- package/build/Components/Router.js +77 -0
- package/build/Components/Router.js.map +1 -0
- package/build/Components/SaveCloseButtons.d.ts +20 -0
- package/build/Components/SaveCloseButtons.js +65 -0
- package/build/Components/SaveCloseButtons.js.map +1 -0
- package/build/Components/Schedule.d.ts +62 -0
- package/build/Components/Schedule.js +1266 -0
- package/build/Components/Schedule.js.map +1 -0
- package/build/Components/SelectWithIcon.d.ts +37 -0
- package/build/Components/SelectWithIcon.js +139 -0
- package/build/Components/SelectWithIcon.js.map +1 -0
- package/build/Components/SimpleCron/cronText.d.ts +10 -0
- package/build/Components/SimpleCron/cronText.js +14 -0
- package/build/Components/SimpleCron/cronText.js.map +1 -0
- package/build/Components/SimpleCron/index.d.ts +55 -0
- package/build/Components/SimpleCron/index.js +698 -0
- package/build/Components/SimpleCron/index.js.map +1 -0
- package/build/Components/TabContainer.d.ts +15 -0
- package/build/Components/TabContainer.js +23 -0
- package/build/Components/TabContainer.js.map +1 -0
- package/build/Components/TabContent.d.ts +11 -0
- package/build/Components/TabContent.js +20 -0
- package/build/Components/TabContent.js.map +1 -0
- package/build/Components/TabHeader.d.ts +6 -0
- package/build/Components/TabHeader.js +6 -0
- package/build/Components/TabHeader.js.map +1 -0
- package/build/Components/TableResize.d.ts +45 -0
- package/build/Components/TableResize.js +204 -0
- package/build/Components/TableResize.js.map +1 -0
- package/build/Components/TextWithIcon.d.ts +21 -0
- package/build/Components/TextWithIcon.js +113 -0
- package/build/Components/TextWithIcon.js.map +1 -0
- package/build/Components/ToggleThemeMenu.d.ts +12 -0
- package/build/Components/ToggleThemeMenu.js +13 -0
- package/build/Components/ToggleThemeMenu.js.map +1 -0
- package/build/Components/TreeTable.d.ts +79 -0
- package/build/Components/TreeTable.js +538 -0
- package/build/Components/TreeTable.js.map +1 -0
- package/build/Components/UploadImage.d.ts +23 -0
- package/build/Components/UploadImage.js +516 -0
- package/build/Components/UploadImage.js.map +1 -0
- package/build/Components/Utils.d.ts +331 -0
- package/build/Components/Utils.js +1605 -0
- package/build/Components/Utils.js.map +1 -0
- package/build/Components/withWidth.d.ts +2 -0
- package/build/Components/withWidth.js +22 -0
- package/build/Components/withWidth.js.map +1 -0
- package/build/Connection.d.ts +1 -0
- package/build/Connection.js +2 -0
- package/build/Connection.js.map +1 -0
- package/build/Dialogs/ComplexCron.d.ts +24 -0
- package/build/Dialogs/ComplexCron.js +85 -0
- package/build/Dialogs/ComplexCron.js.map +1 -0
- package/build/Dialogs/Confirm.d.ts +39 -0
- package/build/Dialogs/Confirm.js +83 -0
- package/build/Dialogs/Confirm.js.map +1 -0
- package/build/Dialogs/Cron.d.ts +29 -0
- package/build/Dialogs/Cron.js +72 -0
- package/build/Dialogs/Cron.js.map +1 -0
- package/build/Dialogs/Error.d.ts +18 -0
- package/build/Dialogs/Error.js +27 -0
- package/build/Dialogs/Error.js.map +1 -0
- package/build/Dialogs/Message.d.ts +20 -0
- package/build/Dialogs/Message.js +29 -0
- package/build/Dialogs/Message.js.map +1 -0
- package/build/Dialogs/SelectFile.d.ts +85 -0
- package/build/Dialogs/SelectFile.js +115 -0
- package/build/Dialogs/SelectFile.js.map +1 -0
- package/build/Dialogs/SelectID.d.ts +102 -0
- package/build/Dialogs/SelectID.js +151 -0
- package/build/Dialogs/SelectID.js.map +1 -0
- package/build/Dialogs/SimpleCron.d.ts +19 -0
- package/build/Dialogs/SimpleCron.js +46 -0
- package/build/Dialogs/SimpleCron.js.map +1 -0
- package/build/Dialogs/TextInput.d.ts +2 -0
- package/build/Dialogs/TextInput.js +31 -0
- package/build/Dialogs/TextInput.js.map +1 -0
- package/build/GenericApp.d.ts +209 -0
- package/build/GenericApp.js +842 -0
- package/build/GenericApp.js.map +1 -0
- package/build/LegacyConnection.d.ts +938 -0
- package/build/LegacyConnection.js +2849 -0
- package/build/LegacyConnection.js.map +1 -0
- package/build/Prompt.d.ts +5 -0
- package/build/Prompt.js +19 -0
- package/build/Prompt.js.map +1 -0
- package/build/Theme.d.ts +5 -0
- package/build/Theme.js +344 -0
- package/build/Theme.js.map +1 -0
- package/build/assets/devices/parseNames.d.ts +0 -0
- package/build/assets/devices/parseNames.js +35 -0
- package/build/assets/devices/parseNames.js.map +1 -0
- package/build/assets/devices.json +1 -0
- package/build/assets/lamp_ceiling.svg +9 -0
- package/build/assets/lamp_table.svg +8 -0
- package/build/assets/no_icon.svg +9 -0
- package/build/assets/rooms/parseNames.d.ts +0 -0
- package/build/assets/rooms/parseNames.js +35 -0
- package/build/assets/rooms/parseNames.js.map +1 -0
- package/build/assets/rooms.json +1 -0
- package/build/dictionary.d.ts +1 -0
- package/build/dictionary.js +25 -0
- package/build/dictionary.js.map +1 -0
- package/build/globals.d.ts +19 -0
- package/build/i18n/de.json +480 -0
- package/build/i18n/en.json +480 -0
- package/build/i18n/es.json +480 -0
- package/build/i18n/fr.json +480 -0
- package/build/i18n/it.json +475 -0
- package/build/i18n/nl.json +475 -0
- package/build/i18n/pl.json +475 -0
- package/build/i18n/pt.json +475 -0
- package/build/i18n/ru.json +475 -0
- package/build/i18n/uk.json +475 -0
- package/build/i18n/zh-cn.json +475 -0
- package/build/i18n.d.ts +84 -0
- package/build/i18n.js +224 -0
- package/build/i18n.js.map +1 -0
- package/build/icons/IconAdapter.d.ts +3 -0
- package/build/icons/IconAdapter.js +7 -0
- package/build/icons/IconAdapter.js.map +1 -0
- package/build/icons/IconAlias.d.ts +3 -0
- package/build/icons/IconAlias.js +7 -0
- package/build/icons/IconAlias.js.map +1 -0
- package/build/icons/IconButtonImage.d.ts +3 -0
- package/build/icons/IconButtonImage.js +9 -0
- package/build/icons/IconButtonImage.js.map +1 -0
- package/build/icons/IconChannel.d.ts +3 -0
- package/build/icons/IconChannel.js +10 -0
- package/build/icons/IconChannel.js.map +1 -0
- package/build/icons/IconClearFilter.d.ts +3 -0
- package/build/icons/IconClearFilter.js +8 -0
- package/build/icons/IconClearFilter.js.map +1 -0
- package/build/icons/IconClosed.d.ts +3 -0
- package/build/icons/IconClosed.js +7 -0
- package/build/icons/IconClosed.js.map +1 -0
- package/build/icons/IconCopy.d.ts +3 -0
- package/build/icons/IconCopy.js +6 -0
- package/build/icons/IconCopy.js.map +1 -0
- package/build/icons/IconDevice.d.ts +3 -0
- package/build/icons/IconDevice.js +16 -0
- package/build/icons/IconDevice.js.map +1 -0
- package/build/icons/IconDocument.d.ts +3 -0
- package/build/icons/IconDocument.js +7 -0
- package/build/icons/IconDocument.js.map +1 -0
- package/build/icons/IconDocumentReadOnly.d.ts +3 -0
- package/build/icons/IconDocumentReadOnly.js +8 -0
- package/build/icons/IconDocumentReadOnly.js.map +1 -0
- package/build/icons/IconExpert.d.ts +3 -0
- package/build/icons/IconExpert.js +7 -0
- package/build/icons/IconExpert.js.map +1 -0
- package/build/icons/IconFx.d.ts +3 -0
- package/build/icons/IconFx.js +6 -0
- package/build/icons/IconFx.js.map +1 -0
- package/build/icons/IconInstance.d.ts +3 -0
- package/build/icons/IconInstance.js +7 -0
- package/build/icons/IconInstance.js.map +1 -0
- package/build/icons/IconLogout.d.ts +3 -0
- package/build/icons/IconLogout.js +7 -0
- package/build/icons/IconLogout.js.map +1 -0
- package/build/icons/IconNoIcon.d.ts +3 -0
- package/build/icons/IconNoIcon.js +6 -0
- package/build/icons/IconNoIcon.js.map +1 -0
- package/build/icons/IconOpen.d.ts +3 -0
- package/build/icons/IconOpen.js +7 -0
- package/build/icons/IconOpen.js.map +1 -0
- package/build/icons/IconState.d.ts +3 -0
- package/build/icons/IconState.js +7 -0
- package/build/icons/IconState.js.map +1 -0
- package/build/icons/IconVacuum.d.ts +3 -0
- package/build/icons/IconVacuum.js +12 -0
- package/build/icons/IconVacuum.js.map +1 -0
- package/build/index.css +56 -0
- package/build/index.d.ts +87 -0
- package/build/index.js +85 -0
- package/build/index.js.map +1 -0
- package/build/modulefederation.admin.config.d.ts +13 -0
- package/build/modulefederation.admin.config.js +45 -0
- package/build/modulefederation.admin.config.js.map +1 -0
- package/build/types.d.ts +236 -0
- package/i18n/de.json +480 -0
- package/i18n/en.json +480 -0
- package/i18n/es.json +480 -0
- package/i18n/fr.json +480 -0
- package/i18n/it.json +475 -0
- package/i18n/nl.json +475 -0
- package/i18n/pl.json +475 -0
- package/i18n/pt.json +475 -0
- package/i18n/ru.json +475 -0
- package/i18n/uk.json +475 -0
- package/i18n/zh-cn.json +475 -0
- package/index.css +56 -0
- package/modulefederation.admin.config.d.ts +20 -0
- package/modulefederation.admin.config.js +54 -0
- package/package.json +86 -0
- package/tasksExample.js +91 -0
package/build/Theme.d.ts
ADDED
package/build/Theme.js
ADDED
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
import { createTheme, alpha } from '@mui/material/styles';
|
|
2
|
+
import { orange, grey } from '@mui/material/colors';
|
|
3
|
+
const step = (16 - 5) / 23 / 100;
|
|
4
|
+
/**
|
|
5
|
+
* Convert hex color in the format '#rrggbb' or '#rgb' to an RGB object.
|
|
6
|
+
*/
|
|
7
|
+
function toInt(hex) {
|
|
8
|
+
const rgb = {
|
|
9
|
+
r: 0,
|
|
10
|
+
g: 0,
|
|
11
|
+
b: 0,
|
|
12
|
+
};
|
|
13
|
+
if (hex.length === 7) {
|
|
14
|
+
rgb.r = parseInt(hex.substring(1, 3), 16);
|
|
15
|
+
rgb.g = parseInt(hex.substring(3, 5), 16);
|
|
16
|
+
rgb.b = parseInt(hex.substring(5, 7), 16);
|
|
17
|
+
}
|
|
18
|
+
else if (hex.length === 4) {
|
|
19
|
+
const r = hex[1];
|
|
20
|
+
const g = hex[2];
|
|
21
|
+
const b = hex[3];
|
|
22
|
+
rgb.r = parseInt(r + r, 16);
|
|
23
|
+
rgb.g = parseInt(g + g, 16);
|
|
24
|
+
rgb.b = parseInt(b + b, 16);
|
|
25
|
+
}
|
|
26
|
+
return rgb;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Convert an RGB object to a hex color string in the format '#rrggbb'.
|
|
30
|
+
*/
|
|
31
|
+
function toHex(int) {
|
|
32
|
+
return `#${Math.round(int.r).toString(16)}${Math.round(int.g).toString(16)}${Math.round(int.b).toString(16)}`;
|
|
33
|
+
}
|
|
34
|
+
/** Returns the hex color string in the format '#rrggbb' */
|
|
35
|
+
function getElevation(
|
|
36
|
+
/** color in the format '#rrggbb' or '#rgb' */
|
|
37
|
+
color,
|
|
38
|
+
/** overlay color in the format '#rrggbb' or '#rgb' */
|
|
39
|
+
overlayColor,
|
|
40
|
+
/** elevation as an integer starting with 1 */
|
|
41
|
+
elevation) {
|
|
42
|
+
const rgb = toInt(color);
|
|
43
|
+
const overlay = toInt(overlayColor);
|
|
44
|
+
rgb.r += overlay.r * (0.05 + step * (elevation - 1));
|
|
45
|
+
rgb.g += overlay.g * (0.05 + step * (elevation - 1));
|
|
46
|
+
rgb.b += overlay.b * (0.05 + step * (elevation - 1));
|
|
47
|
+
return toHex(rgb);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get all 24 elevations of the given color and overlay.
|
|
51
|
+
*
|
|
52
|
+
* @param color color in the format '#rrggbb' or '#rgb'
|
|
53
|
+
* @param overlay overlay color in the format '#rrggbb' or '#rgb'
|
|
54
|
+
*/
|
|
55
|
+
function getElevations(color, overlay) {
|
|
56
|
+
const elevations = {};
|
|
57
|
+
for (let i = 1; i <= 24; i++) {
|
|
58
|
+
elevations[`elevation${i}`] = {
|
|
59
|
+
backgroundColor: getElevation(color, overlay, i),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return elevations;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The theme creation factory function.
|
|
66
|
+
*/
|
|
67
|
+
export function Theme(type, overrides) {
|
|
68
|
+
let options;
|
|
69
|
+
let localOverrides;
|
|
70
|
+
if (type === 'dark') {
|
|
71
|
+
localOverrides = {
|
|
72
|
+
MuiAppBar: {
|
|
73
|
+
colorDefault: {
|
|
74
|
+
backgroundColor: '#272727',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
MuiLink: {
|
|
78
|
+
root: {
|
|
79
|
+
textTransform: 'uppercase',
|
|
80
|
+
transition: 'color .3s ease',
|
|
81
|
+
color: orange[200],
|
|
82
|
+
'&:hover': {
|
|
83
|
+
color: orange[100],
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
MuiPaper: getElevations('#121212', '#fff'),
|
|
88
|
+
};
|
|
89
|
+
options = {
|
|
90
|
+
name: type,
|
|
91
|
+
palette: {
|
|
92
|
+
mode: 'dark',
|
|
93
|
+
background: {
|
|
94
|
+
paper: '#121212',
|
|
95
|
+
default: '#121212',
|
|
96
|
+
},
|
|
97
|
+
primary: {
|
|
98
|
+
main: '#4dabf5',
|
|
99
|
+
},
|
|
100
|
+
secondary: {
|
|
101
|
+
main: '#436a93',
|
|
102
|
+
},
|
|
103
|
+
expert: '#14bb00',
|
|
104
|
+
text: {
|
|
105
|
+
primary: '#ffffff',
|
|
106
|
+
secondary: '#ffffff',
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
else if (type === 'blue') {
|
|
112
|
+
localOverrides = {
|
|
113
|
+
MuiAppBar: {
|
|
114
|
+
colorDefault: {
|
|
115
|
+
backgroundColor: '#3399CC',
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
MuiLink: {
|
|
119
|
+
root: {
|
|
120
|
+
textTransform: 'uppercase',
|
|
121
|
+
transition: 'color .3s ease',
|
|
122
|
+
color: orange[400],
|
|
123
|
+
'&:hover': {
|
|
124
|
+
color: orange[300],
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
options = {
|
|
130
|
+
name: type,
|
|
131
|
+
palette: {
|
|
132
|
+
mode: 'dark',
|
|
133
|
+
background: {
|
|
134
|
+
paper: '#151d21',
|
|
135
|
+
default: '#151d21',
|
|
136
|
+
},
|
|
137
|
+
primary: {
|
|
138
|
+
main: '#4dabf5',
|
|
139
|
+
},
|
|
140
|
+
secondary: {
|
|
141
|
+
main: '#436a93',
|
|
142
|
+
},
|
|
143
|
+
expert: '#14bb00',
|
|
144
|
+
text: {
|
|
145
|
+
primary: '#ffffff',
|
|
146
|
+
secondary: '#ffffff',
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
else if (type === 'colored') {
|
|
152
|
+
localOverrides = {
|
|
153
|
+
MuiAppBar: {
|
|
154
|
+
colorDefault: {
|
|
155
|
+
backgroundColor: '#2a3135',
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
MuiLink: {
|
|
159
|
+
root: {
|
|
160
|
+
textTransform: 'uppercase',
|
|
161
|
+
transition: 'color .3s ease',
|
|
162
|
+
color: orange[200],
|
|
163
|
+
'&:hover': {
|
|
164
|
+
color: orange[100],
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
MuiPaper: getElevations('#151d21', '#fff'),
|
|
169
|
+
};
|
|
170
|
+
options = {
|
|
171
|
+
name: type,
|
|
172
|
+
palette: {
|
|
173
|
+
mode: 'light',
|
|
174
|
+
primary: {
|
|
175
|
+
main: '#3399CC',
|
|
176
|
+
},
|
|
177
|
+
secondary: {
|
|
178
|
+
main: '#164477',
|
|
179
|
+
},
|
|
180
|
+
expert: '#96fc96',
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
else if (type === 'PT') {
|
|
185
|
+
localOverrides = {
|
|
186
|
+
MuiAppBar: {
|
|
187
|
+
colorDefault: {
|
|
188
|
+
backgroundColor: '#0F99DE',
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
MuiLink: {
|
|
192
|
+
root: {
|
|
193
|
+
textTransform: 'uppercase',
|
|
194
|
+
transition: 'color .3s ease',
|
|
195
|
+
color: orange[400],
|
|
196
|
+
'&:hover': {
|
|
197
|
+
color: orange[300],
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
};
|
|
202
|
+
options = {
|
|
203
|
+
name: type,
|
|
204
|
+
palette: {
|
|
205
|
+
mode: 'light',
|
|
206
|
+
primary: {
|
|
207
|
+
main: '#0F99DE',
|
|
208
|
+
},
|
|
209
|
+
secondary: {
|
|
210
|
+
main: '#88A536',
|
|
211
|
+
},
|
|
212
|
+
expert: '#BD1B24',
|
|
213
|
+
},
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
else if (type === 'DX') {
|
|
217
|
+
localOverrides = {
|
|
218
|
+
MuiAppBar: {
|
|
219
|
+
colorDefault: {
|
|
220
|
+
backgroundColor: '#a9a9a9',
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
MuiLink: {
|
|
224
|
+
root: {
|
|
225
|
+
textTransform: 'uppercase',
|
|
226
|
+
transition: 'color .3s ease',
|
|
227
|
+
color: orange[400],
|
|
228
|
+
'&:hover': {
|
|
229
|
+
color: orange[300],
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
};
|
|
234
|
+
options = {
|
|
235
|
+
name: type,
|
|
236
|
+
palette: {
|
|
237
|
+
mode: 'light',
|
|
238
|
+
primary: {
|
|
239
|
+
main: '#F5F5F7',
|
|
240
|
+
},
|
|
241
|
+
secondary: {
|
|
242
|
+
main: '#a9a9a9',
|
|
243
|
+
},
|
|
244
|
+
expert: '#BD1B24',
|
|
245
|
+
text: {
|
|
246
|
+
primary: '#007AFE',
|
|
247
|
+
secondary: '#007AFE',
|
|
248
|
+
disabled: '#007AFEAA',
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
localOverrides = {
|
|
255
|
+
MuiLink: {
|
|
256
|
+
root: {
|
|
257
|
+
textTransform: 'uppercase',
|
|
258
|
+
transition: 'color .3s ease',
|
|
259
|
+
color: orange[400],
|
|
260
|
+
'&:hover': {
|
|
261
|
+
color: orange[300],
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
},
|
|
265
|
+
};
|
|
266
|
+
options = {
|
|
267
|
+
name: type,
|
|
268
|
+
palette: {
|
|
269
|
+
mode: 'light',
|
|
270
|
+
primary: {
|
|
271
|
+
main: '#3399CC',
|
|
272
|
+
dark: '#256c97',
|
|
273
|
+
light: '#76d0fd',
|
|
274
|
+
},
|
|
275
|
+
secondary: {
|
|
276
|
+
main: '#164477',
|
|
277
|
+
},
|
|
278
|
+
expert: '#14bb00',
|
|
279
|
+
},
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
options.toolbar = {
|
|
283
|
+
height: 48,
|
|
284
|
+
};
|
|
285
|
+
options.saveToolbar = {
|
|
286
|
+
background: options.palette?.primary?.main,
|
|
287
|
+
button: {
|
|
288
|
+
borderRadius: 3,
|
|
289
|
+
height: 32,
|
|
290
|
+
},
|
|
291
|
+
};
|
|
292
|
+
if (options.palette) {
|
|
293
|
+
options.palette.grey = {
|
|
294
|
+
main: grey[300],
|
|
295
|
+
dark: grey[400],
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
const theme = createTheme(options);
|
|
299
|
+
const palette = theme.palette;
|
|
300
|
+
return createTheme(theme, {
|
|
301
|
+
...(overrides || undefined),
|
|
302
|
+
components: {
|
|
303
|
+
...localOverrides,
|
|
304
|
+
MuiButton: {
|
|
305
|
+
variants: [
|
|
306
|
+
{
|
|
307
|
+
props: { variant: 'contained', color: 'grey' },
|
|
308
|
+
style: {
|
|
309
|
+
backgroundColor: palette.grey?.[300],
|
|
310
|
+
color: palette.getContrastText && palette.grey?.[300]
|
|
311
|
+
? palette.getContrastText(palette.grey[300])
|
|
312
|
+
: undefined,
|
|
313
|
+
},
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
props: { variant: 'outlined', color: 'grey' },
|
|
317
|
+
style: {
|
|
318
|
+
color: palette.text?.primary,
|
|
319
|
+
borderColor: palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)',
|
|
320
|
+
'&.Mui-disabled': {
|
|
321
|
+
border: `1px solid ${palette.action?.disabledBackground}`,
|
|
322
|
+
},
|
|
323
|
+
'&:hover': {
|
|
324
|
+
borderColor: palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)',
|
|
325
|
+
backgroundColor: alpha(palette.text?.primary || '', palette.action?.hoverOpacity || 0.04),
|
|
326
|
+
},
|
|
327
|
+
},
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
props: { variant: 'text', color: 'grey' },
|
|
331
|
+
style: {
|
|
332
|
+
color: palette.text?.primary,
|
|
333
|
+
'&:hover': {
|
|
334
|
+
backgroundColor: alpha(palette.text?.primary || '', palette.action?.hoverOpacity || 0.04),
|
|
335
|
+
},
|
|
336
|
+
},
|
|
337
|
+
},
|
|
338
|
+
],
|
|
339
|
+
},
|
|
340
|
+
...(overrides?.components || undefined),
|
|
341
|
+
},
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
//# sourceMappingURL=Theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Theme.js","sourceRoot":"./src/","sources":["Theme.tsx"],"names":[],"mappings":"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","sourcesContent":["import { type CSSProperties } from 'react';\nimport { createTheme, alpha, type PaletteOptions as PaletteOptionsMui } from '@mui/material/styles';\nimport { orange, grey } from '@mui/material/colors';\n\nimport type { SimplePaletteColorOptions } from '@mui/material/styles/createPalette';\nimport type { ThemeOptions as ThemeOptionsMui } from '@mui/material/styles/createTheme';\nimport type { IobTheme, ThemeName, ThemeType } from './types';\n\nconst step = (16 - 5) / 23 / 100;\n\n/**\n * Convert hex color in the format '#rrggbb' or '#rgb' to an RGB object.\n */\nfunction toInt(hex: string): { r: number; g: number; b: number } {\n const rgb: { r: number; g: number; b: number } = {\n r: 0,\n g: 0,\n b: 0,\n };\n\n if (hex.length === 7) {\n rgb.r = parseInt(hex.substring(1, 3), 16);\n rgb.g = parseInt(hex.substring(3, 5), 16);\n rgb.b = parseInt(hex.substring(5, 7), 16);\n } else if (hex.length === 4) {\n const r = hex[1];\n const g = hex[2];\n const b = hex[3];\n\n rgb.r = parseInt(r + r, 16);\n rgb.g = parseInt(g + g, 16);\n rgb.b = parseInt(b + b, 16);\n }\n\n return rgb;\n}\n\n/**\n * Convert an RGB object to a hex color string in the format '#rrggbb'.\n */\nfunction toHex(int: { r: number; g: number; b: number }): string {\n return `#${Math.round(int.r).toString(16)}${Math.round(int.g).toString(16)}${Math.round(int.b).toString(16)}`;\n}\n\n/** Returns the hex color string in the format '#rrggbb' */\nfunction getElevation(\n /** color in the format '#rrggbb' or '#rgb' */\n color: string,\n /** overlay color in the format '#rrggbb' or '#rgb' */\n overlayColor: string,\n /** elevation as an integer starting with 1 */\n elevation: number,\n): string {\n const rgb: { r: number; g: number; b: number } = toInt(color);\n const overlay: { r: number; g: number; b: number } = toInt(overlayColor);\n\n rgb.r += overlay.r * (0.05 + step * (elevation - 1));\n rgb.g += overlay.g * (0.05 + step * (elevation - 1));\n rgb.b += overlay.b * (0.05 + step * (elevation - 1));\n\n return toHex(rgb);\n}\n\n/**\n * Get all 24 elevations of the given color and overlay.\n *\n * @param color color in the format '#rrggbb' or '#rgb'\n * @param overlay overlay color in the format '#rrggbb' or '#rgb'\n */\nfunction getElevations(color: string, overlay: string): Record<string, CSSProperties> {\n const elevations: Record<string, CSSProperties> = {};\n\n for (let i = 1; i <= 24; i++) {\n elevations[`elevation${i}`] = {\n backgroundColor: getElevation(color, overlay, i),\n };\n }\n\n return elevations;\n}\n\n// const buttonsPalette = () => ({\n// palette: {\n// // mode: \"dark\",\n// grey: {\n// main: grey[300],\n// dark: grey[400],\n// },\n// },\n// });\n\n// const buttonsTheme = theme => ({\n// components: {\n// MuiButton: {\n// variants: [\n// {\n// props: { variant: 'contained', color: 'grey' },\n// style: {\n// color: theme.palette.getContrastText(theme.palette.grey[300]),\n// },\n// },\n// {\n// props: { variant: 'outlined', color: 'grey' },\n// style: {\n// color: theme.palette.text.primary,\n// borderColor:\n// theme.palette.mode === 'light'\n// ? 'rgba(0, 0, 0, 0.23)'\n// : 'rgba(255, 255, 255, 0.23)',\n// '&.Mui-disabled': {\n// border: `1px solid ${theme.palette.action.disabledBackground}`,\n// },\n// '&:hover': {\n// borderColor:\n// theme.palette.mode === 'light'\n// ? 'rgba(0, 0, 0, 0.23)'\n// : 'rgba(255, 255, 255, 0.23)',\n// backgroundColor: alpha(\n// theme.palette.text.primary,\n// theme.palette.action.hoverOpacity,\n// ),\n// },\n// },\n// },\n// {\n// props: { color: 'grey', variant: 'text' },\n// style: {\n// color: 'black',\n// '&:hover': {\n// backgroundColor: alpha(\n// theme.palette.text.primary,\n// theme.palette.action.hoverOpacity,\n// ),\n// },\n// },\n// },\n// ],\n// },\n// },\n// });\n\ninterface PaletteOptions extends PaletteOptionsMui {\n mode: ThemeType;\n expert: string;\n grey?: {\n main?: string;\n dark?: string;\n 50?: string;\n 100?: string;\n 200?: string;\n 300?: string;\n 400?: string;\n 500?: string;\n 600?: string;\n 700?: string;\n 800?: string;\n 900?: string;\n A100?: string;\n A200?: string;\n A400?: string;\n A700?: string;\n };\n}\n\ninterface ThemeOptions extends ThemeOptionsMui {\n name: ThemeName;\n palette?: PaletteOptions;\n toolbar?: CSSProperties;\n saveToolbar?: {\n background: string;\n button: CSSProperties;\n };\n}\n\n/**\n * The theme creation factory function.\n */\nexport function Theme(type: ThemeName, overrides?: Record<string, any>): IobTheme {\n let options: ThemeOptions;\n let localOverrides: Record<string, any>;\n\n if (type === 'dark') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#272727',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#121212', '#fff'),\n };\n\n options = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#121212',\n default: '#121212',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n };\n } else if (type === 'blue') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#3399CC',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n };\n\n options = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#151d21',\n default: '#151d21',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n };\n } else if (type === 'colored') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#2a3135',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#151d21', '#fff'),\n };\n\n options = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#96fc96',\n },\n };\n } else if (type === 'PT') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#0F99DE',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n };\n\n options = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#0F99DE',\n },\n secondary: {\n main: '#88A536',\n },\n expert: '#BD1B24',\n },\n };\n } else if (type === 'DX') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#a9a9a9',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n };\n\n options = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#F5F5F7',\n },\n secondary: {\n main: '#a9a9a9',\n },\n expert: '#BD1B24',\n text: {\n primary: '#007AFE',\n secondary: '#007AFE',\n disabled: '#007AFEAA',\n },\n },\n };\n } else {\n localOverrides = {\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n };\n\n options = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n dark: '#256c97',\n light: '#76d0fd',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#14bb00',\n },\n };\n }\n\n options.toolbar = {\n height: 48,\n };\n\n options.saveToolbar = {\n background: (options.palette?.primary as SimplePaletteColorOptions)?.main,\n button: {\n borderRadius: 3,\n height: 32,\n },\n };\n\n if (options.palette) {\n options.palette.grey = {\n main: grey[300],\n dark: grey[400],\n };\n }\n\n const theme: IobTheme = createTheme(options) as IobTheme;\n\n const palette: PaletteOptions = theme.palette as PaletteOptions;\n\n return createTheme(theme, {\n ...(overrides || undefined),\n components: {\n ...localOverrides,\n MuiButton: {\n variants: [\n {\n props: { variant: 'contained', color: 'grey' },\n style: {\n backgroundColor: palette.grey?.[300],\n color:\n palette.getContrastText && palette.grey?.[300]\n ? palette.getContrastText(palette.grey[300])\n : undefined,\n },\n },\n {\n props: { variant: 'outlined', color: 'grey' },\n style: {\n color: palette.text?.primary,\n borderColor: palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)',\n '&.Mui-disabled': {\n border: `1px solid ${palette.action?.disabledBackground}`,\n },\n '&:hover': {\n borderColor:\n palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)',\n backgroundColor: alpha(\n palette.text?.primary || '',\n palette.action?.hoverOpacity || 0.04,\n ),\n },\n },\n },\n {\n props: { variant: 'text', color: 'grey' },\n style: {\n color: palette.text?.primary,\n '&:hover': {\n backgroundColor: alpha(\n palette.text?.primary || '',\n palette.action?.hoverOpacity || 0.04,\n ),\n },\n },\n },\n ],\n },\n ...(overrides?.components || undefined),\n },\n }) as IobTheme;\n}\n"]}
|
|
File without changes
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// this is a service script that extracts names from names.txt and places them into list.json
|
|
2
|
+
/*
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
|
|
5
|
+
function readTxt(fileName) {
|
|
6
|
+
const text = fs.readFileSync(fileName).toString('utf8');
|
|
7
|
+
const lines = text.split('\n');
|
|
8
|
+
const langs = lines.shift().split('\t').map(l => l.toLowerCase().trim());
|
|
9
|
+
|
|
10
|
+
const result = {};
|
|
11
|
+
lines.forEach(line => {
|
|
12
|
+
const words = line.split('\t').map(w => w.trim());
|
|
13
|
+
const word = {};
|
|
14
|
+
result[words[0]] = word;
|
|
15
|
+
langs.forEach((lang, i) => {
|
|
16
|
+
word[lang] = words[i];
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function mergeTexts(jsonFileName, words) {
|
|
23
|
+
const file = require(jsonFileName);
|
|
24
|
+
file.forEach(item => {
|
|
25
|
+
if (typeof item.name === 'string' && words[item.name]) {
|
|
26
|
+
item.name = words[item.name];
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
fs.writeFileSync(jsonFileName, JSON.stringify(file, null, 2));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const words = readTxt(__dirname + '/names.txt');
|
|
33
|
+
mergeTexts(__dirname + '/list.json', words);
|
|
34
|
+
*/
|
|
35
|
+
//# sourceMappingURL=parseNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseNames.js","sourceRoot":"./src/","sources":["assets/devices/parseNames.js"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCE","sourcesContent":["// this is a service script that extracts names from names.txt and places them into list.json\r\n/*\r\nconst fs = require('fs');\r\n\r\nfunction readTxt(fileName) {\r\n const text = fs.readFileSync(fileName).toString('utf8');\r\n const lines = text.split('\\n');\r\n const langs = lines.shift().split('\\t').map(l => l.toLowerCase().trim());\r\n\r\n const result = {};\r\n lines.forEach(line => {\r\n const words = line.split('\\t').map(w => w.trim());\r\n const word = {};\r\n result[words[0]] = word;\r\n langs.forEach((lang, i) => {\r\n word[lang] = words[i];\r\n });\r\n });\r\n return result;\r\n}\r\n\r\nfunction mergeTexts(jsonFileName, words) {\r\n const file = require(jsonFileName);\r\n file.forEach(item => {\r\n if (typeof item.name === 'string' && words[item.name]) {\r\n item.name = words[item.name];\r\n }\r\n });\r\n fs.writeFileSync(jsonFileName, JSON.stringify(file, null, 2));\r\n}\r\n\r\nconst words = readTxt(__dirname + '/names.txt');\r\nmergeTexts(__dirname + '/list.json', words);\r\n*/\r\n"]}
|