@iobroker/adapter-react-v5 0.0.2
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/Components/404.js +155 -0
- package/Components/404.js.map +1 -0
- package/Components/ColorPicker.js +313 -0
- package/Components/ColorPicker.js.map +1 -0
- package/Components/ComplexCron.js +606 -0
- package/Components/ComplexCron.js.map +1 -0
- package/Components/FileBrowser.js +2147 -0
- package/Components/FileBrowser.js.map +1 -0
- package/Components/FileViewer.js +245 -0
- package/Components/FileViewer.js.map +1 -0
- package/Components/Icon.js +234 -0
- package/Components/Icon.js.map +1 -0
- package/Components/IconPicker.js +188 -0
- package/Components/IconPicker.js.map +1 -0
- package/Components/IconSelector.js +337 -0
- package/Components/IconSelector.js.map +1 -0
- package/Components/Image.js +215 -0
- package/Components/Image.js.map +1 -0
- package/Components/Loader.js +134 -0
- package/Components/Loader.js.map +1 -0
- package/Components/Loaders/PT.css +109 -0
- package/Components/Loaders/PT.js +104 -0
- package/Components/Loaders/PT.js.map +1 -0
- package/Components/Loaders/Vendor.css +13 -0
- package/Components/Loaders/Vendor.js +108 -0
- package/Components/Loaders/Vendor.js.map +1 -0
- package/Components/Logo.js +230 -0
- package/Components/Logo.js.map +1 -0
- package/Components/MDUtils.js +141 -0
- package/Components/MDUtils.js.map +1 -0
- package/Components/ObjectBrowser.js +6119 -0
- package/Components/ObjectBrowser.js.map +1 -0
- package/Components/Router.js +152 -0
- package/Components/Router.js.map +1 -0
- package/Components/SaveCloseButtons.js +177 -0
- package/Components/SaveCloseButtons.js.map +1 -0
- package/Components/Schedule.js +1891 -0
- package/Components/Schedule.js.map +1 -0
- package/Components/SelectWithIcon.js +235 -0
- package/Components/SelectWithIcon.js.map +1 -0
- package/Components/SimpleCron/cron2text.js +563 -0
- package/Components/SimpleCron/cron2text.js.map +1 -0
- package/Components/SimpleCron/cronText.js +60 -0
- package/Components/SimpleCron/cronText.js.map +1 -0
- package/Components/SimpleCron/index.js +861 -0
- package/Components/SimpleCron/index.js.map +1 -0
- package/Components/SimpleCron/jquery.cron.locale.js +322 -0
- package/Components/SimpleCron/jquery.cron.locale.js.map +1 -0
- package/Components/TabContainer.js +108 -0
- package/Components/TabContainer.js.map +1 -0
- package/Components/TabContent.js +96 -0
- package/Components/TabContent.js.map +1 -0
- package/Components/TabHeader.js +72 -0
- package/Components/TabHeader.js.map +1 -0
- package/Components/TextWithIcon.js +148 -0
- package/Components/TextWithIcon.js.map +1 -0
- package/Components/ToggleThemeMenu.js +49 -0
- package/Components/ToggleThemeMenu.js.map +1 -0
- package/Components/TreeTable.js +1030 -0
- package/Components/TreeTable.js.map +1 -0
- package/Components/Utils.js +1763 -0
- package/Components/Utils.js.map +1 -0
- package/Components/copy-to-clipboard.js +183 -0
- package/Components/copy-to-clipboard.js.map +1 -0
- package/Components/loader.css +222 -0
- package/Components/types.d.ts +121 -0
- package/Connection.js +3334 -0
- package/Connection.js.map +1 -0
- package/Dialogs/ComplexCron.js +193 -0
- package/Dialogs/ComplexCron.js.map +1 -0
- package/Dialogs/Confirm.js +211 -0
- package/Dialogs/Confirm.js.map +1 -0
- package/Dialogs/Cron.js +254 -0
- package/Dialogs/Cron.js.map +1 -0
- package/Dialogs/Error.js +137 -0
- package/Dialogs/Error.js.map +1 -0
- package/Dialogs/Message.js +118 -0
- package/Dialogs/Message.js.map +1 -0
- package/Dialogs/SelectID.js +313 -0
- package/Dialogs/SelectID.js.map +1 -0
- package/Dialogs/SimpleCron.js +177 -0
- package/Dialogs/SimpleCron.js.map +1 -0
- package/Dialogs/TextInput.js +194 -0
- package/Dialogs/TextInput.js.map +1 -0
- package/GenericApp.js +1022 -0
- package/GenericApp.js.map +1 -0
- package/LICENSE +22 -0
- package/Prompt.js +21 -0
- package/Prompt.js.map +1 -0
- package/README.md +645 -0
- package/Theme.js +422 -0
- package/Theme.js.map +1 -0
- package/assets/devices/Alarm Systems.svg +19 -0
- package/assets/devices/Amplifier.svg +22 -0
- package/assets/devices/Awnings.svg +5 -0
- package/assets/devices/Battery Status.svg +5 -0
- package/assets/devices/Ceiling Spotlights.svg +16 -0
- package/assets/devices/Chandelier.svg +7 -0
- package/assets/devices/Climate.svg +12 -0
- package/assets/devices/Coffee Makers.svg +6 -0
- package/assets/devices/Cold Water.svg +31 -0
- package/assets/devices/Computer.svg +21 -0
- package/assets/devices/Consumption.svg +8 -0
- package/assets/devices/Curtains.svg +43 -0
- package/assets/devices/Dishwashers.svg +12 -0
- package/assets/devices/Doors.svg +6 -0
- package/assets/devices/Doorstep.svg +35 -0
- package/assets/devices/Dryer.svg +14 -0
- package/assets/devices/Fan.svg +20 -0
- package/assets/devices/Floor Lamps.svg +5 -0
- package/assets/devices/Garage Doors.svg +9 -0
- package/assets/devices/Gates.svg +32 -0
- package/assets/devices/Hairdryer.svg +23 -0
- package/assets/devices/Handle.svg +6 -0
- package/assets/devices/Hanging Lamps.svg +9 -0
- package/assets/devices/Heater.svg +44 -0
- package/assets/devices/Hoods.svg +12 -0
- package/assets/devices/Hot Water.svg +10 -0
- package/assets/devices/Humidity.svg +41 -0
- package/assets/devices/Iron.svg +5 -0
- package/assets/devices/Irrigation.svg +42 -0
- package/assets/devices/Led Strip.svg +31 -0
- package/assets/devices/Light.svg +30 -0
- package/assets/devices/Lightings.svg +46 -0
- package/assets/devices/Lock.svg +19 -0
- package/assets/devices/Louvre.svg +7 -0
- package/assets/devices/Mowing Machine.svg +9 -0
- package/assets/devices/Music.svg +13 -0
- package/assets/devices/Outdoor Blinds.svg +7 -0
- package/assets/devices/People.svg +19 -0
- package/assets/devices/Pool.svg +8 -0
- package/assets/devices/Power Consumption.svg +13 -0
- package/assets/devices/Printer.svg +10 -0
- package/assets/devices/Pump.svg +10 -0
- package/assets/devices/Receiver.svg +19 -0
- package/assets/devices/Sconces.svg +10 -0
- package/assets/devices/Security.svg +34 -0
- package/assets/devices/Shading.svg +5 -0
- package/assets/devices/Shutters.svg +11 -0
- package/assets/devices/SmokeDetector.svg +13 -0
- package/assets/devices/Sockets.svg +13 -0
- package/assets/devices/Speaker.svg +35 -0
- package/assets/devices/Stove.svg +12 -0
- package/assets/devices/Table Lamps.svg +12 -0
- package/assets/devices/Temperature Sensors.svg +28 -0
- package/assets/devices/Tv.svg +8 -0
- package/assets/devices/Vacuum Cleaner.svg +16 -0
- package/assets/devices/Ventilation.svg +12 -0
- package/assets/devices/Washing Machines.svg +16 -0
- package/assets/devices/Water Consumption.svg +6 -0
- package/assets/devices/Water Heater.svg +8 -0
- package/assets/devices/Water.svg +40 -0
- package/assets/devices/Weather.svg +28 -0
- package/assets/devices/Window.svg +8 -0
- package/assets/devices/list.json +994 -0
- package/assets/devices/names.txt +63 -0
- package/assets/devices/parseNames.js +34 -0
- package/assets/lamp_ceiling.svg +9 -0
- package/assets/lamp_table.svg +8 -0
- package/assets/no_icon.svg +9 -0
- package/assets/rooms/Anteroom.svg +53 -0
- package/assets/rooms/Attic.svg +21 -0
- package/assets/rooms/Balcony.svg +13 -0
- package/assets/rooms/Barn.svg +6 -0
- package/assets/rooms/Basement.svg +5 -0
- package/assets/rooms/Bathroom.svg +38 -0
- package/assets/rooms/Bedroom.svg +5 -0
- package/assets/rooms/Boiler Room.svg +13 -0
- package/assets/rooms/Carport.svg +17 -0
- package/assets/rooms/Cellar.svg +89 -0
- package/assets/rooms/Chamber.svg +9 -0
- package/assets/rooms/Corridor.svg +53 -0
- package/assets/rooms/Dining Area.svg +37 -0
- package/assets/rooms/Dining Room.svg +37 -0
- package/assets/rooms/Dining.svg +37 -0
- package/assets/rooms/Dressing Room.svg +5 -0
- package/assets/rooms/Driveway.svg +15 -0
- package/assets/rooms/Entrance.svg +44 -0
- package/assets/rooms/Equipment Room.svg +15 -0
- package/assets/rooms/Front Yard.svg +64 -0
- package/assets/rooms/Gallery.svg +14 -0
- package/assets/rooms/Garage.svg +20 -0
- package/assets/rooms/Garden.svg +13 -0
- package/assets/rooms/Ground Floor.svg +95 -0
- package/assets/rooms/Guest Bathroom.svg +33 -0
- package/assets/rooms/Guest Room.svg +5 -0
- package/assets/rooms/Gym.svg +5 -0
- package/assets/rooms/Hall.svg +19 -0
- package/assets/rooms/Home Theater.svg +8 -0
- package/assets/rooms/Kitchen.svg +18 -0
- package/assets/rooms/Laundry Room.svg +12 -0
- package/assets/rooms/Living Area.svg +11 -0
- package/assets/rooms/Living Room.svg +10 -0
- package/assets/rooms/Locker Room.svg +17 -0
- package/assets/rooms/Nursery.svg +5 -0
- package/assets/rooms/Office.svg +8 -0
- package/assets/rooms/Outdoors.svg +7 -0
- package/assets/rooms/Playroom.svg +6 -0
- package/assets/rooms/Pool.svg +8 -0
- package/assets/rooms/Rear Wall.svg +30 -0
- package/assets/rooms/Second Floor.svg +95 -0
- package/assets/rooms/Shed.svg +16 -0
- package/assets/rooms/Sleeping Area.svg +22 -0
- package/assets/rooms/Stairway.svg +5 -0
- package/assets/rooms/Stairwell.svg +15 -0
- package/assets/rooms/Storeroom.svg +5 -0
- package/assets/rooms/Summer House.svg +27 -0
- package/assets/rooms/Swimming Pool.svg +21 -0
- package/assets/rooms/Terrace.svg +7 -0
- package/assets/rooms/Toilet.svg +10 -0
- package/assets/rooms/Upstairs.svg +6 -0
- package/assets/rooms/Wardrobe.svg +60 -0
- package/assets/rooms/Washroom.svg +20 -0
- package/assets/rooms/Wc.svg +10 -0
- package/assets/rooms/Windscreen.svg +60 -0
- package/assets/rooms/Workshop.svg +23 -0
- package/assets/rooms/Workspace.svg +8 -0
- package/assets/rooms/list.json +946 -0
- package/assets/rooms/names.txt +60 -0
- package/assets/rooms/parseNames.js +34 -0
- package/gulpfile.js +113 -0
- package/i18n/de.json +280 -0
- package/i18n/en.json +280 -0
- package/i18n/es.json +267 -0
- package/i18n/fr.json +267 -0
- package/i18n/it.json +267 -0
- package/i18n/nl.json +267 -0
- package/i18n/pl.json +267 -0
- package/i18n/pt.json +267 -0
- package/i18n/ru.json +280 -0
- package/i18n/zh-cn.json +267 -0
- package/i18n.js +171 -0
- package/i18n.js.map +1 -0
- package/icons/IconAdapter.js +39 -0
- package/icons/IconAdapter.js.map +1 -0
- package/icons/IconAlias.js +39 -0
- package/icons/IconAlias.js.map +1 -0
- package/icons/IconChannel.js +80 -0
- package/icons/IconChannel.js.map +1 -0
- package/icons/IconClearFilter.js +41 -0
- package/icons/IconClearFilter.js.map +1 -0
- package/icons/IconClosed.js +39 -0
- package/icons/IconClosed.js.map +1 -0
- package/icons/IconCopy.js +48 -0
- package/icons/IconCopy.js.map +1 -0
- package/icons/IconDevice.js +147 -0
- package/icons/IconDevice.js.map +1 -0
- package/icons/IconDocument.js +39 -0
- package/icons/IconDocument.js.map +1 -0
- package/icons/IconExpert.js +50 -0
- package/icons/IconExpert.js.map +1 -0
- package/icons/IconFx.js +39 -0
- package/icons/IconFx.js.map +1 -0
- package/icons/IconInstance.js +39 -0
- package/icons/IconInstance.js.map +1 -0
- package/icons/IconLogout.js +50 -0
- package/icons/IconLogout.js.map +1 -0
- package/icons/IconOpen.js +39 -0
- package/icons/IconOpen.js.map +1 -0
- package/icons/IconState.js +58 -0
- package/icons/IconState.js.map +1 -0
- package/index.css +55 -0
- package/package.json +42 -0
- package/types.d.ts +84 -0
package/i18n/zh-cn.json
ADDED
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ra_filter_func": "功能",
|
|
3
|
+
"ra_filter_id": "ID",
|
|
4
|
+
"ra_filter_name": "名称",
|
|
5
|
+
"ra_filter_role": "角色",
|
|
6
|
+
"ra_filter_room": "房间",
|
|
7
|
+
"ra_tooltip_ack": "致谢国旗",
|
|
8
|
+
"ra_tooltip_from": "从",
|
|
9
|
+
"ra_tooltip_lc": "最后改变了",
|
|
10
|
+
"ra_tooltip_quality": "质量",
|
|
11
|
+
"ra_tooltip_ts": "时间戳",
|
|
12
|
+
"ra_tooltip_user": "用户",
|
|
13
|
+
"ra_tooltip_value": "值",
|
|
14
|
+
"ra_Are you sure?": "你确定吗?",
|
|
15
|
+
"ra_Cancel": "取消",
|
|
16
|
+
"ra_Copied": "复制的",
|
|
17
|
+
"ra_Copied %s": "复制的%s",
|
|
18
|
+
"ra_Define functions": "定义功能",
|
|
19
|
+
"ra_Define rooms": "定义房间",
|
|
20
|
+
"ra_Error": "错误",
|
|
21
|
+
"ra_Message": "信息",
|
|
22
|
+
"ra_Ok": "好",
|
|
23
|
+
"ra_Please select object ID...": "请选择对象ID ...",
|
|
24
|
+
"ra_Selected": "已选",
|
|
25
|
+
"ra_Unknown error!": "未知错误!",
|
|
26
|
+
"ra_Value": "值",
|
|
27
|
+
"ra_filter_type": "类型",
|
|
28
|
+
"ra_invalidConfig": "无效的设定",
|
|
29
|
+
"ra_otherConfig": "来自其他适配器%s的设置",
|
|
30
|
+
"ra_tooltip_copyState": "复制状态值",
|
|
31
|
+
"ra_tooltip_customConfig": "自定义设置",
|
|
32
|
+
"ra_tooltip_deleteObject": "删除物件",
|
|
33
|
+
"ra_tooltip_editObject": "编辑物件",
|
|
34
|
+
"ra_tooltip_editState": "编辑状态值",
|
|
35
|
+
"ra_filter_customs": "设定值",
|
|
36
|
+
"ra_Listen on all IPs": "监听所有IP",
|
|
37
|
+
"ra_dow_Fr": "r",
|
|
38
|
+
"ra_dow_Mo": "莫",
|
|
39
|
+
"ra_dow_Sa": "萨",
|
|
40
|
+
"ra_dow_Su": "苏",
|
|
41
|
+
"ra_Save": "保存",
|
|
42
|
+
"ra_Save and close": "保存并关闭",
|
|
43
|
+
"ra_Close": "关",
|
|
44
|
+
"ra_Auto (no custom columns)": "自动(无自定义列)",
|
|
45
|
+
"ra_Transparent dialog": "透明对话框",
|
|
46
|
+
"ra_Width": "宽度",
|
|
47
|
+
"ra_val": "值",
|
|
48
|
+
"ra_buttons": "纽扣",
|
|
49
|
+
"ra_Configure visible columns": "配置可见列",
|
|
50
|
+
"ra_Cannot update attribute, because not found in the object": "无法更新属性,因为在对象中找不到",
|
|
51
|
+
"ra_Edit object field": "编辑对象字段",
|
|
52
|
+
"ra_Hide empty folders": "隐藏空文件夹",
|
|
53
|
+
"ra_Reload files": "重新载入文件",
|
|
54
|
+
"ra_Create folder": "创建文件夹",
|
|
55
|
+
"ra_Upload file": "上传文件",
|
|
56
|
+
"ra_User files": "用户档案",
|
|
57
|
+
"ra_Confirm deletion of %s": "确认删除%s",
|
|
58
|
+
"ra_Delete (no confirm for 5 mins)": "删除(5分钟内未确认)",
|
|
59
|
+
"ra_Delete": "删除",
|
|
60
|
+
"ra_Toggle expert mode": "切换专家模式",
|
|
61
|
+
"ra_Toggle view mode": "切换检视模式",
|
|
62
|
+
"re_Root": "根",
|
|
63
|
+
"re_Back to %s": "返回%s",
|
|
64
|
+
"ra_Place your files here or click here to open the browse dialog": "将文件放在此处或单击此处打开浏览对话框",
|
|
65
|
+
"ra_If no file will be created in the folder, it will disappear after the browser closed": "如果在该文件夹中未创建任何文件,则该文件将在浏览器关闭后消失",
|
|
66
|
+
"ra_Folder name": "文件夹名称",
|
|
67
|
+
"ra_Create new folder in %s": "在%s中创建新文件夹",
|
|
68
|
+
"ra_Duplicate name": "名称重复",
|
|
69
|
+
"ra_Invalid parent folder!": "父文件夹无效!",
|
|
70
|
+
"ra_Drop file here": "将档案放在这里",
|
|
71
|
+
"ra_Suppress question for next %s minutes": "在接下来的%s分钟内取消提问",
|
|
72
|
+
"ra_Clear filter": "清除筛选",
|
|
73
|
+
"ra_Update": "更新资料",
|
|
74
|
+
"ra_Load configuration from file": "从文件加载配置",
|
|
75
|
+
"ra_Save configuration to file": "将配置保存到文件",
|
|
76
|
+
"sc_cron": "周期任务",
|
|
77
|
+
"sc_date": "日期",
|
|
78
|
+
"sc_dates": "日",
|
|
79
|
+
"sc_dows": "星期",
|
|
80
|
+
"sc_every": "每",
|
|
81
|
+
"sc_everyN_dates": "每N天",
|
|
82
|
+
"sc_everyN_dows": "每周N天",
|
|
83
|
+
"sc_everyN_hours": "每N小时一次",
|
|
84
|
+
"sc_everyN_minutes": "每N分钟",
|
|
85
|
+
"sc_everyN_months": "每N个月",
|
|
86
|
+
"sc_everyN_seconds": "每N秒",
|
|
87
|
+
"sc_every_dates": "每天",
|
|
88
|
+
"sc_every_dows": "一周的每一天",
|
|
89
|
+
"sc_every_hours": "每小时",
|
|
90
|
+
"sc_every_minutes": "每分钟",
|
|
91
|
+
"sc_every_months": "每月",
|
|
92
|
+
"sc_every_seconds": "每秒",
|
|
93
|
+
"sc_from": "从",
|
|
94
|
+
"sc_hours": "小时",
|
|
95
|
+
"sc_interval": "间隔",
|
|
96
|
+
"sc_intervalBetween": "间隔时间",
|
|
97
|
+
"sc_minutes": "分钟",
|
|
98
|
+
"sc_months": "月",
|
|
99
|
+
"sc_once": "一次",
|
|
100
|
+
"sc_period": "周期",
|
|
101
|
+
"sc_seconds": "秒",
|
|
102
|
+
"sc_simple": "简单模式",
|
|
103
|
+
"sc_specific": "特定的时间",
|
|
104
|
+
"sc_specific_dates": "特定的日子",
|
|
105
|
+
"sc_specific_dows": "特定的一周",
|
|
106
|
+
"sc_specific_hours": "特定的小时",
|
|
107
|
+
"sc_specific_minutes": "特定的分钟",
|
|
108
|
+
"sc_specific_months": "特定的月份",
|
|
109
|
+
"sc_specific_seconds": "特定的描述",
|
|
110
|
+
"sc_time": "时间",
|
|
111
|
+
"sc_to": "至",
|
|
112
|
+
"sc_wizard": "向导模式",
|
|
113
|
+
"sch_all": "全选",
|
|
114
|
+
"sch_astroDay": "天文白天",
|
|
115
|
+
"sch_astroNight": "天文夜晚",
|
|
116
|
+
"sch_astro_dawn": "黎明",
|
|
117
|
+
"sch_astro_dusk": "黄昏",
|
|
118
|
+
"sch_astro_goldenHour": "黄金时段",
|
|
119
|
+
"sch_astro_goldenHourEnd": "黄金时段结束",
|
|
120
|
+
"sch_astro_nadir": "天底",
|
|
121
|
+
"sch_astro_nauticalDawn": "航海黎明",
|
|
122
|
+
"sch_astro_nauticalDusk": "航海黄昏",
|
|
123
|
+
"sch_astro_night": "夜晚",
|
|
124
|
+
"sch_astro_nightEnd": "夜晚结束",
|
|
125
|
+
"sch_astro_solarNoon": "正午",
|
|
126
|
+
"sch_astro_sunrise": "日出",
|
|
127
|
+
"sch_astro_sunriseEnd": "日出结束",
|
|
128
|
+
"sch_astro_sunset": "日落",
|
|
129
|
+
"sch_astro_sunsetStart": "日落开始",
|
|
130
|
+
"sch_at": "在",
|
|
131
|
+
"sch_desc_atTime": "的%s",
|
|
132
|
+
"sch_desc_everyDay": "每天",
|
|
133
|
+
"sch_desc_everyHour": "每小时",
|
|
134
|
+
"sch_desc_everyMinute": "每分钟",
|
|
135
|
+
"sch_desc_everyMonth": "每月",
|
|
136
|
+
"sch_desc_everyNDay": "每%s天",
|
|
137
|
+
"sch_desc_everyNHours": "每%s小时",
|
|
138
|
+
"sch_desc_everyNMinutes": "每%s分钟",
|
|
139
|
+
"sch_desc_everyNMonths": "每%s月",
|
|
140
|
+
"sch_desc_everyNWeeks": "每%s周",
|
|
141
|
+
"sch_desc_everyNYears": "每%s年",
|
|
142
|
+
"sch_desc_everyWeek": "每周",
|
|
143
|
+
"sch_desc_everyYear": "每年",
|
|
144
|
+
"sch_desc_intervalFromTo": "从%s到%s",
|
|
145
|
+
"sch_desc_never": "决不",
|
|
146
|
+
"sch_desc_onDate": "在%s的%s上",
|
|
147
|
+
"sch_desc_onDates": "在%s和%s上",
|
|
148
|
+
"sch_desc_onEveryDate": "在每天",
|
|
149
|
+
"sch_desc_onMonth": "%s",
|
|
150
|
+
"sch_desc_onMonths": "%s和%s",
|
|
151
|
+
"sch_desc_onWeekday": "在%s上",
|
|
152
|
+
"sch_desc_onWeekdays": "在%s和%s上",
|
|
153
|
+
"sch_desc_onWeekends": "在周末",
|
|
154
|
+
"sch_desc_onWorkdays": "在工作日",
|
|
155
|
+
"sch_desc_onceInPast": "将不再执行,因为起始时间已经是过去的时间了。",
|
|
156
|
+
"sch_desc_once_on": "在%s上",
|
|
157
|
+
"sch_desc_validFrom": "来自%s",
|
|
158
|
+
"sch_desc_validFromTo": "从执行到",
|
|
159
|
+
"sch_desc_validTo": "到%s",
|
|
160
|
+
"sch_every": "每",
|
|
161
|
+
"sch_exactTime": "特定的时间",
|
|
162
|
+
"sch_from": "从",
|
|
163
|
+
"sch_fromTo": "从到",
|
|
164
|
+
"sch_intervalTime": "间隔时间",
|
|
165
|
+
"sch_invert": "倒置",
|
|
166
|
+
"sch_no_one": "取消全选",
|
|
167
|
+
"sch_on": "的",
|
|
168
|
+
"sch_period": "周期",
|
|
169
|
+
"sch_periodDaily": "每天",
|
|
170
|
+
"sch_periodDates": "日期",
|
|
171
|
+
"sch_periodDay": "天",
|
|
172
|
+
"sch_periodEvery": "每",
|
|
173
|
+
"sch_periodEveryDay": "每天",
|
|
174
|
+
"sch_periodEveryMonth": "每月",
|
|
175
|
+
"sch_periodEveryWeek": "每周",
|
|
176
|
+
"sch_periodEveryYear": "每年",
|
|
177
|
+
"sch_periodHours": "小时",
|
|
178
|
+
"sch_periodMinutes": "分钟",
|
|
179
|
+
"sch_periodMonth": "月",
|
|
180
|
+
"sch_periodMonthly": "每月一次",
|
|
181
|
+
"sch_periodOnce": "一次",
|
|
182
|
+
"sch_periodSpecificMonths": "特定的月份",
|
|
183
|
+
"sch_periodWeek": "周",
|
|
184
|
+
"sch_periodWeekdays": "工作日",
|
|
185
|
+
"sch_periodWeekend": "周末",
|
|
186
|
+
"sch_periodWeekly": "每周",
|
|
187
|
+
"sch_periodWorkdays": "工作日",
|
|
188
|
+
"sch_periodYear": "年",
|
|
189
|
+
"sch_periodYearly": "每年",
|
|
190
|
+
"sch_specificTime": "特定的时间",
|
|
191
|
+
"sch_time": "时间",
|
|
192
|
+
"sch_to": "至",
|
|
193
|
+
"sch_valid": "生效",
|
|
194
|
+
"sch_validFrom": "从",
|
|
195
|
+
"sch_validTo": "至",
|
|
196
|
+
"sch_wholeDay": "一整天",
|
|
197
|
+
"sch_yearEveryMonth": "每月",
|
|
198
|
+
"ra_Define schedule...": "定义时间表...",
|
|
199
|
+
"ra_Repeat": "重复",
|
|
200
|
+
"ra_use seconds": "用秒",
|
|
201
|
+
"ra_close": "关闭",
|
|
202
|
+
"ra_dow_Th": "Th",
|
|
203
|
+
"ra_dow_Tu": "Tu",
|
|
204
|
+
"ra_Toggle the states view": "切换状态视图",
|
|
205
|
+
"ra_Add new child object to selected parent": "将新的子对象添加到选定的父对象",
|
|
206
|
+
"ra_Add objects tree from JSON file": "从JSON文件添加对象树",
|
|
207
|
+
"ra_Save objects tree as JSON file": "将对象树另存为JSON文件",
|
|
208
|
+
"ra_Objects": "对象",
|
|
209
|
+
"ra_States": "状态",
|
|
210
|
+
"ra_object_changed_by_user": "对象上次更改时间为",
|
|
211
|
+
"ra_object_changed_by": "物件变更者",
|
|
212
|
+
"ra_state_changed_from": "对象已从更改",
|
|
213
|
+
"ra_state_changed_by": "状态由",
|
|
214
|
+
"ra_aclOwner_read_object": "所有者可以读取对象",
|
|
215
|
+
"ra_aclOwner_read_state": "所有者可以读取状态",
|
|
216
|
+
"ra_aclOwner_write_object": "所有者可以写对象",
|
|
217
|
+
"ra_aclOwner_write_state": "所有者可以写状态",
|
|
218
|
+
"ra_aclGroup_read_object": "组可以读取对象",
|
|
219
|
+
"ra_aclGroup_read_state": "群组可以读取状态",
|
|
220
|
+
"ra_aclGroup_write_object": "组可以写对象",
|
|
221
|
+
"ra_aclGroup_write_state": "组可以写状态",
|
|
222
|
+
"ra_aclEveryone_read_object": "每个人都可以阅读对象",
|
|
223
|
+
"ra_aclEveryone_read_state": "每个人都可以阅读状态",
|
|
224
|
+
"ra_aclEveryone_write_object": "每个人都可以写对象",
|
|
225
|
+
"ra_aclEveryone_write_state": "每个人都可以写状态",
|
|
226
|
+
"ra_Folders always first": "资料夹永远优先",
|
|
227
|
+
"ra_changedFrom": "更改为",
|
|
228
|
+
"ra_qualityCode": "质量代码",
|
|
229
|
+
"ra_timestamp": "时间戳记",
|
|
230
|
+
"ra_lastChange": "最后一次变更",
|
|
231
|
+
"ra_Owner group": "所有者组",
|
|
232
|
+
"ra_Owner user": "所有者用户",
|
|
233
|
+
"ra_Create": "创建",
|
|
234
|
+
"ra_Changed from": "更改为",
|
|
235
|
+
"ra_Quality code": "质量代码",
|
|
236
|
+
"ra_Timestamp": "时间戳记",
|
|
237
|
+
"ra_Last change": "最后一次变更",
|
|
238
|
+
"ra_Collapse all nodes": "收合所有节点",
|
|
239
|
+
"ra_Edit custom config": "编辑自定义配置",
|
|
240
|
+
"ra_Collapse one step node": "折叠一级",
|
|
241
|
+
"ra_Expand one step node": "扩大一级",
|
|
242
|
+
"ra_Refresh tree": "刷新树",
|
|
243
|
+
"ra_Expand all nodes": "展开所有节点",
|
|
244
|
+
"ra_Deselect all": "全部取消选择",
|
|
245
|
+
"ra_Select all": "全选",
|
|
246
|
+
"ra_%s object(s) processed": "已处理%s个对象",
|
|
247
|
+
"ra_Invalid structure": "结构无效",
|
|
248
|
+
"ra_%s was imported": "对象已导入",
|
|
249
|
+
"ra_Failed to open JSON File": "无法打开JSON文件",
|
|
250
|
+
"ra_Only following structures of objects are available:": "仅以下对象结构可用:",
|
|
251
|
+
"ra_Folder → State": "文件夹→状态",
|
|
252
|
+
"ra_Folder → Channel → State": "文件夹→频道→状态",
|
|
253
|
+
"ra_Folder → Device → Channel → State": "文件夹→设备→频道→状态",
|
|
254
|
+
"ra_Device → Channel → State": "设备→频道→状态",
|
|
255
|
+
"ra_Channel → State": "频道→状态",
|
|
256
|
+
"ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".": "非专家只能在“ 0_userdata.0”或“ alias.0”中创建新对象。",
|
|
257
|
+
"ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").": "专家可以在任何地方创建对象,但要从第二层开始(例如“ vis.0”或“ javascript.0”)。",
|
|
258
|
+
"ra_expertMode": "专家模式",
|
|
259
|
+
"ra_On weekdays": "在工作日",
|
|
260
|
+
"ra_Drop the files here...": "把文件放在这里...",
|
|
261
|
+
"ra_Drag 'n' drop some files here, or click to select files": "将一些文件拖放到此处,或单击以选择文件",
|
|
262
|
+
"ra_Clear": "删除",
|
|
263
|
+
"ra_Clear icon": "清除图标",
|
|
264
|
+
"ra_none": "没有任何",
|
|
265
|
+
"ra_Select predefined icon": "选择预定义图标",
|
|
266
|
+
"ra_Show lines between rows": "显示行之间的线"
|
|
267
|
+
}
|
package/i18n.js
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
|
+
|
|
10
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
11
|
+
|
|
12
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
13
|
+
|
|
14
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
|
|
16
|
+
/***
|
|
17
|
+
* Copyright 2018-2019 bluefox <dogafox@gmail.com>
|
|
18
|
+
*
|
|
19
|
+
* MIT License
|
|
20
|
+
*
|
|
21
|
+
***/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Translation string management.
|
|
25
|
+
*/
|
|
26
|
+
var I18n = /*#__PURE__*/function () {
|
|
27
|
+
function I18n() {
|
|
28
|
+
_classCallCheck(this, I18n);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
_createClass(I18n, null, [{
|
|
32
|
+
key: "setLanguage",
|
|
33
|
+
value:
|
|
34
|
+
/**
|
|
35
|
+
* List of all languages with their translations.
|
|
36
|
+
* @type {{ [lang in ioBroker.Languages]?: Record<string, string>; }}
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* The currently displayed language.
|
|
41
|
+
* @type {ioBroker.Languages}
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Set the language to display.
|
|
46
|
+
* @param {ioBroker.Languages} lang
|
|
47
|
+
*/
|
|
48
|
+
function setLanguage(lang) {
|
|
49
|
+
if (lang) {
|
|
50
|
+
I18n.lang = lang;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Add translations
|
|
55
|
+
* User can provide two types of structures:
|
|
56
|
+
* - {"word1": "translated word1", "word2": "translated word2"}, but in this case the lang must be provided
|
|
57
|
+
* - {"word1": {"en": "translated en word1", "de": "translated de word1"}, "word2": {"en": "translated en word2", "de": "translated de word2"}}, but no lang must be provided
|
|
58
|
+
* @param {object} words additional words for specific language
|
|
59
|
+
* @param {ioBroker.Languages} lang
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
}, {
|
|
63
|
+
key: "extendTranslations",
|
|
64
|
+
value: function extendTranslations(words, lang) {
|
|
65
|
+
try {
|
|
66
|
+
if (!lang) {
|
|
67
|
+
Object.keys(words).forEach(function (word) {
|
|
68
|
+
Object.keys(words[word]).forEach(function (lang) {
|
|
69
|
+
if (!I18n.translations[lang]) {
|
|
70
|
+
console.warn("Used unknown language: ".concat(lang));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (!I18n.translations[lang][word]) {
|
|
74
|
+
I18n.translations[lang][word] = words[word][lang];
|
|
75
|
+
} else if (I18n.translations[lang][word] !== words[word][lang]) {
|
|
76
|
+
console.warn("Translation for word \"".concat(word, "\" in \"").concat(lang, "\" was ignored: existing = \"").concat(I18n.translations[lang][word], "\", new = ").concat(words[word][lang]));
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
} else {
|
|
81
|
+
if (!I18n.translations[lang]) {
|
|
82
|
+
console.warn("Used unknown language: ".concat(lang));
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
I18n.translations[lang] = I18n.translations[lang] || {};
|
|
86
|
+
Object.keys(words).forEach(function (word) {
|
|
87
|
+
if (!I18n.translations[lang][word]) {
|
|
88
|
+
I18n.translations[lang][word] = words[word];
|
|
89
|
+
} else if (I18n.translations[lang][word] !== words[word]) {
|
|
90
|
+
console.warn("Translation for word \"".concat(word, "\" in \"").concat(lang, "\" was ignored: existing = \"").concat(I18n.translations[lang][word], "\", new = ").concat(words[word]));
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
} catch (e) {
|
|
95
|
+
console.error("Cannot apply translations: ".concat(e));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Sets all translations (in all languages).
|
|
100
|
+
* @param {{ [lang in ioBroker.Languages]?: Record<string, string>; }} translations
|
|
101
|
+
*/
|
|
102
|
+
|
|
103
|
+
}, {
|
|
104
|
+
key: "setTranslations",
|
|
105
|
+
value: function setTranslations(translations) {
|
|
106
|
+
if (translations) {
|
|
107
|
+
I18n.translations = translations;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Get the currently chosen language.
|
|
112
|
+
* @returns {ioBroker.Languages} The current language.
|
|
113
|
+
*/
|
|
114
|
+
|
|
115
|
+
}, {
|
|
116
|
+
key: "getLanguage",
|
|
117
|
+
value: function getLanguage() {
|
|
118
|
+
return I18n.lang;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Translate the given string to the selected language.
|
|
122
|
+
* @param {string} word The (key) word to look up the string.
|
|
123
|
+
* @param {string[]} args Optional arguments which will replace the first (second, third, ...) occurence of %s
|
|
124
|
+
*/
|
|
125
|
+
|
|
126
|
+
}, {
|
|
127
|
+
key: "t",
|
|
128
|
+
value: function t(word) {
|
|
129
|
+
var translation = I18n.translations[I18n.lang];
|
|
130
|
+
|
|
131
|
+
if (translation) {
|
|
132
|
+
var w = translation[word];
|
|
133
|
+
|
|
134
|
+
if (w) {
|
|
135
|
+
word = w;
|
|
136
|
+
} else {
|
|
137
|
+
console.log("Translate: ".concat(word));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
142
|
+
args[_key - 1] = arguments[_key];
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
for (var _i = 0, _args = args; _i < _args.length; _i++) {
|
|
146
|
+
var arg = _args[_i];
|
|
147
|
+
word = word.replace('%s', arg);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
return word;
|
|
151
|
+
}
|
|
152
|
+
}]);
|
|
153
|
+
|
|
154
|
+
return I18n;
|
|
155
|
+
}();
|
|
156
|
+
/*I18n.translations = {
|
|
157
|
+
'en': require('./i18n/en'),
|
|
158
|
+
'ru': require('./i18n/ru'),
|
|
159
|
+
'de': require('./i18n/de'),
|
|
160
|
+
};
|
|
161
|
+
I18n.fallbacks = true;
|
|
162
|
+
I18n.t = function () {};*/
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
_defineProperty(I18n, "translations", {});
|
|
166
|
+
|
|
167
|
+
_defineProperty(I18n, "lang", window.sysLang || 'en');
|
|
168
|
+
|
|
169
|
+
var _default = I18n;
|
|
170
|
+
exports["default"] = _default;
|
|
171
|
+
//# sourceMappingURL=i18n.js.map
|
package/i18n.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["i18n.js"],"names":["I18n","lang","words","Object","keys","forEach","word","translations","console","warn","e","error","translation","w","log","args","arg","replace","window","sysLang"],"mappings":"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","sourcesContent":["/***\n * Copyright 2018-2019 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n ***/\n\n /**\n * Translation string management.\n */\nclass I18n {\n /**\n * List of all languages with their translations.\n * @type {{ [lang in ioBroker.Languages]?: Record<string, string>; }}\n */\n static translations = {};\n\n /**\n * The currently displayed language.\n * @type {ioBroker.Languages}\n */\n static lang = window.sysLang || 'en';\n\n /**\n * Set the language to display.\n * @param {ioBroker.Languages} lang\n */\n static setLanguage(lang) {\n if (lang) {\n I18n.lang = lang;\n }\n }\n\n /**\n * Add translations\n * User can provide two types of structures:\n * - {\"word1\": \"translated word1\", \"word2\": \"translated word2\"}, but in this case the lang must be provided\n * - {\"word1\": {\"en\": \"translated en word1\", \"de\": \"translated de word1\"}, \"word2\": {\"en\": \"translated en word2\", \"de\": \"translated de word2\"}}, but no lang must be provided\n * @param {object} words additional words for specific language\n * @param {ioBroker.Languages} lang\n */\n static extendTranslations(words, lang) {\n try {\n if (!lang) {\n Object.keys(words).forEach(word => {\n Object.keys(words[word]).forEach(lang => {\n if (!I18n.translations[lang]) {\n console.warn(`Used unknown language: ${lang}`);\n }\n if (!I18n.translations[lang][word]) {\n I18n.translations[lang][word] = words[word][lang];\n } else if (I18n.translations[lang][word] !== words[word][lang]) {\n console.warn(`Translation for word \"${word}\" in \"${lang}\" was ignored: existing = \"${I18n.translations[lang][word]}\", new = ${words[word][lang]}`);\n }\n });\n });\n } else {\n if (!I18n.translations[lang]) {\n console.warn(`Used unknown language: ${lang}`);\n }\n I18n.translations[lang] = I18n.translations[lang] || {};\n Object.keys(words)\n .forEach(word => {\n if (!I18n.translations[lang][word]) {\n I18n.translations[lang][word] = words[word];\n } else if (I18n.translations[lang][word] !== words[word]) {\n console.warn(`Translation for word \"${word}\" in \"${lang}\" was ignored: existing = \"${I18n.translations[lang][word]}\", new = ${words[word]}`);\n }\n });\n }\n } catch (e) {\n console.error(`Cannot apply translations: ${e}`);\n }\n }\n\n /**\n * Sets all translations (in all languages).\n * @param {{ [lang in ioBroker.Languages]?: Record<string, string>; }} translations\n */\n static setTranslations(translations) {\n if (translations) {\n I18n.translations = translations;\n }\n }\n\n /**\n * Get the currently chosen language.\n * @returns {ioBroker.Languages} The current language.\n */\n static getLanguage() {\n return I18n.lang;\n }\n\n /**\n * Translate the given string to the selected language.\n * @param {string} word The (key) word to look up the string.\n * @param {string[]} args Optional arguments which will replace the first (second, third, ...) occurence of %s\n */\n static t(word, ...args) {\n const translation = I18n.translations[I18n.lang];\n if (translation) {\n const w = translation[word];\n if (w) {\n word = w;\n } else {\n console.log(`Translate: ${word}`);\n }\n }\n for (const arg of args) {\n word = word.replace('%s', arg);\n }\n return word;\n }\n}\n\n/*I18n.translations = {\n 'en': require('./i18n/en'),\n 'ru': require('./i18n/ru'),\n 'de': require('./i18n/de'),\n};\nI18n.fallbacks = true;\nI18n.t = function () {};*/\n\nexport default I18n;"],"file":"i18n.js"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
|
|
14
|
+
// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/
|
|
15
|
+
var IconAdapter = function IconAdapter(props) {
|
|
16
|
+
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
17
|
+
onClick: function onClick(e) {
|
|
18
|
+
return props.onClick && props.onClick(e);
|
|
19
|
+
},
|
|
20
|
+
viewBox: "0 0 512 512",
|
|
21
|
+
width: props.width || 20,
|
|
22
|
+
height: props.height || props.width || 20,
|
|
23
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
24
|
+
className: props.className
|
|
25
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
26
|
+
fill: "currentColor",
|
|
27
|
+
d: "M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"
|
|
28
|
+
}));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
IconAdapter.propTypes = {
|
|
32
|
+
onClick: _propTypes["default"].func,
|
|
33
|
+
width: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
|
34
|
+
height: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
|
35
|
+
className: _propTypes["default"].string
|
|
36
|
+
};
|
|
37
|
+
var _default = IconAdapter;
|
|
38
|
+
exports["default"] = _default;
|
|
39
|
+
//# sourceMappingURL=IconAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["IconAdapter.js"],"names":["IconAdapter","props","e","onClick","width","height","className","propTypes","PropTypes","func","oneOfType","number","string"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA;AACA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAAAC,KAAK,EAAI;AACzB,sBAAO;AAAK,IAAA,OAAO,EAAE,iBAAAC,CAAC;AAAA,aAAID,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACE,OAAN,CAAcD,CAAd,CAArB;AAAA,KAAf;AAAsD,IAAA,OAAO,EAAC,aAA9D;AAA4E,IAAA,KAAK,EAAED,KAAK,CAACG,KAAN,IAAe,EAAlG;AAAsG,IAAA,MAAM,EAAEH,KAAK,CAACI,MAAN,IAAgBJ,KAAK,CAACG,KAAtB,IAA+B,EAA7I;AAAiJ,IAAA,KAAK,EAAC,4BAAvJ;AAAoL,IAAA,SAAS,EAAGH,KAAK,CAACK;AAAtM,kBACH;AAAM,IAAA,IAAI,EAAC,cAAX;AAA0B,IAAA,CAAC,EAAC;AAA5B,IADG,CAAP;AAGH,CAJD;;AAMAN,WAAW,CAACO,SAAZ,GAAwB;AACpBJ,EAAAA,OAAO,EAAEK,sBAAUC,IADC;AAEpBL,EAAAA,KAAK,EAAEI,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,MAAX,EAAmBH,sBAAUI,MAA7B,CAApB,CAFa;AAGpBP,EAAAA,MAAM,EAAEG,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,MAAX,EAAmBH,sBAAUI,MAA7B,CAApB,CAHY;AAIpBN,EAAAA,SAAS,EAAEE,sBAAUI;AAJD,CAAxB;eAMeZ,W","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nconst IconAdapter = props => {\n return <svg onClick={e => props.onClick && props.onClick(e)} viewBox=\"0 0 512 512\" width={props.width || 20} height={props.height || props.width || 20} xmlns=\"http://www.w3.org/2000/svg\" className={ props.className }>\n <path fill=\"currentColor\" d=\"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z\"/>\n </svg>;\n}\n\nIconAdapter.propTypes = {\n onClick: PropTypes.func,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n className: PropTypes.string\n};\nexport default IconAdapter;"],"file":"IconAdapter.js"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
|
|
14
|
+
// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/
|
|
15
|
+
var IconAlias = function IconAlias(props) {
|
|
16
|
+
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
17
|
+
onClick: function onClick(e) {
|
|
18
|
+
return props.onClick && props.onClick(e);
|
|
19
|
+
},
|
|
20
|
+
viewBox: "0 0 512 512",
|
|
21
|
+
width: props.width || 20,
|
|
22
|
+
height: props.height || props.width || 20,
|
|
23
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
24
|
+
className: props.className
|
|
25
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
26
|
+
fill: "currentColor",
|
|
27
|
+
d: "M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"
|
|
28
|
+
}));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
IconAlias.propTypes = {
|
|
32
|
+
onClick: _propTypes["default"].func,
|
|
33
|
+
width: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
|
34
|
+
height: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
|
35
|
+
className: _propTypes["default"].string
|
|
36
|
+
};
|
|
37
|
+
var _default = IconAlias;
|
|
38
|
+
exports["default"] = _default;
|
|
39
|
+
//# sourceMappingURL=IconAlias.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["IconAlias.js"],"names":["IconAlias","props","e","onClick","width","height","className","propTypes","PropTypes","func","oneOfType","number","string"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA;AACA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAAAC,KAAK,EAAI;AACvB,sBAAO;AAAK,IAAA,OAAO,EAAE,iBAAAC,CAAC;AAAA,aAAID,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACE,OAAN,CAAcD,CAAd,CAArB;AAAA,KAAf;AAAsD,IAAA,OAAO,EAAC,aAA9D;AAA4E,IAAA,KAAK,EAAED,KAAK,CAACG,KAAN,IAAe,EAAlG;AAAsG,IAAA,MAAM,EAAEH,KAAK,CAACI,MAAN,IAAgBJ,KAAK,CAACG,KAAtB,IAA+B,EAA7I;AAAiJ,IAAA,KAAK,EAAC,4BAAvJ;AAAoL,IAAA,SAAS,EAAGH,KAAK,CAACK;AAAtM,kBACH;AAAM,IAAA,IAAI,EAAC,cAAX;AAA0B,IAAA,CAAC,EAAC;AAA5B,IADG,CAAP;AAGH,CAJD;;AAMAN,SAAS,CAACO,SAAV,GAAsB;AAClBJ,EAAAA,OAAO,EAAEK,sBAAUC,IADD;AAElBL,EAAAA,KAAK,EAAEI,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,MAAX,EAAmBH,sBAAUI,MAA7B,CAApB,CAFW;AAGlBP,EAAAA,MAAM,EAAEG,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,MAAX,EAAmBH,sBAAUI,MAA7B,CAApB,CAHU;AAIlBN,EAAAA,SAAS,EAAEE,sBAAUI;AAJH,CAAtB;eAOeZ,S","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nconst IconAlias = props => {\n return <svg onClick={e => props.onClick && props.onClick(e)} viewBox=\"0 0 512 512\" width={props.width || 20} height={props.height || props.width || 20} xmlns=\"http://www.w3.org/2000/svg\" className={ props.className }>\n <path fill=\"currentColor\" d=\"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"/>\n </svg>;\n}\n\nIconAlias.propTypes = {\n onClick: PropTypes.func,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n className: PropTypes.string\n};\n\nexport default IconAlias;"],"file":"IconAlias.js"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
|
|
14
|
+
var IconChannel = function IconChannel(props) {
|
|
15
|
+
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
16
|
+
onClick: function onClick(e) {
|
|
17
|
+
return props.onClick && props.onClick(e);
|
|
18
|
+
},
|
|
19
|
+
viewBox: "0 0 320 320",
|
|
20
|
+
width: props.width || 20,
|
|
21
|
+
height: props.height || props.width || 20,
|
|
22
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
23
|
+
className: props.className
|
|
24
|
+
}, /*#__PURE__*/_react["default"].createElement("g", {
|
|
25
|
+
fill: "currentColor"
|
|
26
|
+
}, /*#__PURE__*/_react["default"].createElement("rect", {
|
|
27
|
+
rx: "32",
|
|
28
|
+
id: "svg_1",
|
|
29
|
+
height: "272",
|
|
30
|
+
width: "267",
|
|
31
|
+
y: "25",
|
|
32
|
+
x: "25",
|
|
33
|
+
strokeWidth: "15",
|
|
34
|
+
stroke: "currentColor",
|
|
35
|
+
fill: "none"
|
|
36
|
+
}), /*#__PURE__*/_react["default"].createElement("ellipse", {
|
|
37
|
+
stroke: "currentColor",
|
|
38
|
+
ry: "26",
|
|
39
|
+
rx: "26",
|
|
40
|
+
id: "svg_2",
|
|
41
|
+
cy: "248",
|
|
42
|
+
cx: "160",
|
|
43
|
+
fill: "none",
|
|
44
|
+
strokeWidth: "15"
|
|
45
|
+
}), /*#__PURE__*/_react["default"].createElement("line", {
|
|
46
|
+
strokeLinecap: "null",
|
|
47
|
+
strokeLinejoin: "null",
|
|
48
|
+
id: "svg_3",
|
|
49
|
+
y2: "201.94531",
|
|
50
|
+
x2: "159.5",
|
|
51
|
+
y1: "46.94531",
|
|
52
|
+
x1: "159.5",
|
|
53
|
+
fillOpacity: "null",
|
|
54
|
+
strokeOpacity: "null",
|
|
55
|
+
strokeWidth: "15",
|
|
56
|
+
stroke: "currentColor",
|
|
57
|
+
fill: "none"
|
|
58
|
+
}), /*#__PURE__*/_react["default"].createElement("rect", {
|
|
59
|
+
id: "svg_4",
|
|
60
|
+
height: "27",
|
|
61
|
+
width: "50",
|
|
62
|
+
y: "79.7979",
|
|
63
|
+
x: "133.5",
|
|
64
|
+
fillOpacity: "null",
|
|
65
|
+
strokeOpacity: "null",
|
|
66
|
+
strokeWidth: "15",
|
|
67
|
+
stroke: "currentColor",
|
|
68
|
+
fill: "#fff"
|
|
69
|
+
})));
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
IconChannel.propTypes = {
|
|
73
|
+
onClick: _propTypes["default"].func,
|
|
74
|
+
width: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
|
75
|
+
height: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
|
76
|
+
className: _propTypes["default"].string
|
|
77
|
+
};
|
|
78
|
+
var _default = IconChannel;
|
|
79
|
+
exports["default"] = _default;
|
|
80
|
+
//# sourceMappingURL=IconChannel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["IconChannel.js"],"names":["IconChannel","props","e","onClick","width","height","className","propTypes","PropTypes","func","oneOfType","number","string"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAAAC,KAAK,EAAI;AACzB,sBAAO;AAAK,IAAA,OAAO,EAAE,iBAAAC,CAAC;AAAA,aAAID,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACE,OAAN,CAAcD,CAAd,CAArB;AAAA,KAAf;AAAsD,IAAA,OAAO,EAAC,aAA9D;AAA4E,IAAA,KAAK,EAAED,KAAK,CAACG,KAAN,IAAe,EAAlG;AAAsG,IAAA,MAAM,EAAEH,KAAK,CAACI,MAAN,IAAgBJ,KAAK,CAACG,KAAtB,IAA+B,EAA7I;AAAiJ,IAAA,KAAK,EAAC,4BAAvJ;AAAoL,IAAA,SAAS,EAAGH,KAAK,CAACK;AAAtM,kBACH;AAAG,IAAA,IAAI,EAAC;AAAR,kBACI;AAAM,IAAA,EAAE,EAAC,IAAT;AAAc,IAAA,EAAE,EAAC,OAAjB;AAAyB,IAAA,MAAM,EAAC,KAAhC;AAAsC,IAAA,KAAK,EAAC,KAA5C;AAAkD,IAAA,CAAC,EAAC,IAApD;AAAyD,IAAA,CAAC,EAAC,IAA3D;AAAgE,IAAA,WAAW,EAAC,IAA5E;AAAiF,IAAA,MAAM,EAAC,cAAxF;AAAuG,IAAA,IAAI,EAAC;AAA5G,IADJ,eAEI;AAAS,IAAA,MAAM,EAAC,cAAhB;AAA+B,IAAA,EAAE,EAAC,IAAlC;AAAuC,IAAA,EAAE,EAAC,IAA1C;AAA+C,IAAA,EAAE,EAAC,OAAlD;AAA0D,IAAA,EAAE,EAAC,KAA7D;AAAmE,IAAA,EAAE,EAAC,KAAtE;AAA4E,IAAA,IAAI,EAAC,MAAjF;AAAwF,IAAA,WAAW,EAAC;AAApG,IAFJ,eAGI;AAAM,IAAA,aAAa,EAAC,MAApB;AAA2B,IAAA,cAAc,EAAC,MAA1C;AAAiD,IAAA,EAAE,EAAC,OAApD;AAA4D,IAAA,EAAE,EAAC,WAA/D;AAA2E,IAAA,EAAE,EAAC,OAA9E;AAAsF,IAAA,EAAE,EAAC,UAAzF;AAAoG,IAAA,EAAE,EAAC,OAAvG;AAA+G,IAAA,WAAW,EAAC,MAA3H;AAAkI,IAAA,aAAa,EAAC,MAAhJ;AAAuJ,IAAA,WAAW,EAAC,IAAnK;AAAwK,IAAA,MAAM,EAAC,cAA/K;AAA8L,IAAA,IAAI,EAAC;AAAnM,IAHJ,eAII;AAAM,IAAA,EAAE,EAAC,OAAT;AAAiB,IAAA,MAAM,EAAC,IAAxB;AAA6B,IAAA,KAAK,EAAC,IAAnC;AAAwC,IAAA,CAAC,EAAC,SAA1C;AAAoD,IAAA,CAAC,EAAC,OAAtD;AAA8D,IAAA,WAAW,EAAC,MAA1E;AAAiF,IAAA,aAAa,EAAC,MAA/F;AAAsG,IAAA,WAAW,EAAC,IAAlH;AAAuH,IAAA,MAAM,EAAC,cAA9H;AAA6I,IAAA,IAAI,EAAC;AAAlJ,IAJJ,CADG,CAAP;AAQH,CATD;;AAWAN,WAAW,CAACO,SAAZ,GAAwB;AACpBJ,EAAAA,OAAO,EAAEK,sBAAUC,IADC;AAEpBL,EAAAA,KAAK,EAAEI,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,MAAX,EAAmBH,sBAAUI,MAA7B,CAApB,CAFa;AAGpBP,EAAAA,MAAM,EAAEG,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,MAAX,EAAmBH,sBAAUI,MAA7B,CAApB,CAHY;AAIpBN,EAAAA,SAAS,EAAEE,sBAAUI;AAJD,CAAxB;eAOeZ,W","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst IconChannel = props => {\n return <svg onClick={e => props.onClick && props.onClick(e)} viewBox=\"0 0 320 320\" width={props.width || 20} height={props.height || props.width || 20} xmlns=\"http://www.w3.org/2000/svg\" className={ props.className }>\n <g fill=\"currentColor\">\n <rect rx=\"32\" id=\"svg_1\" height=\"272\" width=\"267\" y=\"25\" x=\"25\" strokeWidth=\"15\" stroke=\"currentColor\" fill=\"none\"/>\n <ellipse stroke=\"currentColor\" ry=\"26\" rx=\"26\" id=\"svg_2\" cy=\"248\" cx=\"160\" fill=\"none\" strokeWidth=\"15\"/>\n <line strokeLinecap=\"null\" strokeLinejoin=\"null\" id=\"svg_3\" y2=\"201.94531\" x2=\"159.5\" y1=\"46.94531\" x1=\"159.5\" fillOpacity=\"null\" strokeOpacity=\"null\" strokeWidth=\"15\" stroke=\"currentColor\" fill=\"none\"/>\n <rect id=\"svg_4\" height=\"27\" width=\"50\" y=\"79.7979\" x=\"133.5\" fillOpacity=\"null\" strokeOpacity=\"null\" strokeWidth=\"15\" stroke=\"currentColor\" fill=\"#fff\"/>\n </g>\n </svg>;\n}\n\nIconChannel.propTypes = {\n onClick: PropTypes.func,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n className: PropTypes.string\n};\n\nexport default IconChannel;"],"file":"IconChannel.js"}
|