@iobroker/json-config 6.17.6 → 6.17.12

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.
Files changed (173) hide show
  1. package/LICENSE +21 -21
  2. package/build/JsonConfig.d.ts +1 -1
  3. package/build/JsonConfig.js +18 -19
  4. package/build/JsonConfig.js.map +1 -1
  5. package/build/JsonConfigComponent/ChipInput.d.ts +89 -11
  6. package/build/JsonConfigComponent/ChipInput.js +48 -137
  7. package/build/JsonConfigComponent/ChipInput.js.map +1 -1
  8. package/build/JsonConfigComponent/ConfigAccordion.d.ts +7 -14
  9. package/build/JsonConfigComponent/ConfigAccordion.js +10 -21
  10. package/build/JsonConfigComponent/ConfigAccordion.js.map +1 -1
  11. package/build/JsonConfigComponent/ConfigAlive.d.ts +5 -1
  12. package/build/JsonConfigComponent/ConfigAlive.js +0 -1
  13. package/build/JsonConfigComponent/ConfigAlive.js.map +1 -1
  14. package/build/JsonConfigComponent/ConfigAutocomplete.d.ts +5 -29
  15. package/build/JsonConfigComponent/ConfigAutocomplete.js +7 -5
  16. package/build/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
  17. package/build/JsonConfigComponent/ConfigAutocompleteSendTo.d.ts +5 -14
  18. package/build/JsonConfigComponent/ConfigAutocompleteSendTo.js +3 -3
  19. package/build/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
  20. package/build/JsonConfigComponent/ConfigCRON.d.ts +1 -1
  21. package/build/JsonConfigComponent/ConfigCertCollection.d.ts +7 -13
  22. package/build/JsonConfigComponent/ConfigCertCollection.js +8 -18
  23. package/build/JsonConfigComponent/ConfigCertCollection.js.map +1 -1
  24. package/build/JsonConfigComponent/ConfigCertificateSelect.d.ts +7 -13
  25. package/build/JsonConfigComponent/ConfigCertificateSelect.js +5 -18
  26. package/build/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
  27. package/build/JsonConfigComponent/ConfigCertificates.d.ts +7 -13
  28. package/build/JsonConfigComponent/ConfigCertificates.js +7 -18
  29. package/build/JsonConfigComponent/ConfigCertificates.js.map +1 -1
  30. package/build/JsonConfigComponent/ConfigCheckbox.d.ts +3 -11
  31. package/build/JsonConfigComponent/ConfigCheckbox.js +2 -2
  32. package/build/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
  33. package/build/JsonConfigComponent/ConfigChip.d.ts +1 -1
  34. package/build/JsonConfigComponent/ConfigColor.d.ts +13 -20
  35. package/build/JsonConfigComponent/ConfigColor.js +9 -23
  36. package/build/JsonConfigComponent/ConfigColor.js.map +1 -1
  37. package/build/JsonConfigComponent/ConfigCoordinates.d.ts +8 -13
  38. package/build/JsonConfigComponent/ConfigCoordinates.js +29 -39
  39. package/build/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
  40. package/build/JsonConfigComponent/ConfigCustom.d.ts +4 -50
  41. package/build/JsonConfigComponent/ConfigCustom.js +0 -1
  42. package/build/JsonConfigComponent/ConfigCustom.js.map +1 -1
  43. package/build/JsonConfigComponent/ConfigDatePicker.d.ts +8 -3
  44. package/build/JsonConfigComponent/ConfigDatePicker.js +21 -13
  45. package/build/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
  46. package/build/JsonConfigComponent/ConfigDeviceManager.d.ts +5 -1
  47. package/build/JsonConfigComponent/ConfigDeviceManager.js +1 -1
  48. package/build/JsonConfigComponent/ConfigDeviceManager.js.map +1 -1
  49. package/build/JsonConfigComponent/ConfigFile.d.ts +1 -1
  50. package/build/JsonConfigComponent/ConfigFunc.d.ts +1 -1
  51. package/build/JsonConfigComponent/ConfigGeneric.d.ts +46 -32
  52. package/build/JsonConfigComponent/ConfigGeneric.js +23 -12
  53. package/build/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  54. package/build/JsonConfigComponent/ConfigIP.d.ts +1 -1
  55. package/build/JsonConfigComponent/ConfigImageSendTo.d.ts +1 -1
  56. package/build/JsonConfigComponent/ConfigInstanceSelect.d.ts +1 -1
  57. package/build/JsonConfigComponent/ConfigInterface.d.ts +1 -1
  58. package/build/JsonConfigComponent/ConfigJsonEditor.d.ts +1 -1
  59. package/build/JsonConfigComponent/ConfigLanguage.d.ts +3 -2
  60. package/build/JsonConfigComponent/ConfigLanguage.js +2 -2
  61. package/build/JsonConfigComponent/ConfigLanguage.js.map +1 -1
  62. package/build/JsonConfigComponent/ConfigNumber.d.ts +3 -13
  63. package/build/JsonConfigComponent/ConfigNumber.js +2 -2
  64. package/build/JsonConfigComponent/ConfigNumber.js.map +1 -1
  65. package/build/JsonConfigComponent/ConfigObjectId.d.ts +1 -1
  66. package/build/JsonConfigComponent/ConfigPanel.d.ts +7 -2
  67. package/build/JsonConfigComponent/ConfigPanel.js +5 -40
  68. package/build/JsonConfigComponent/ConfigPanel.js.map +1 -1
  69. package/build/JsonConfigComponent/ConfigPassword.d.ts +1 -1
  70. package/build/JsonConfigComponent/ConfigPort.d.ts +6 -1
  71. package/build/JsonConfigComponent/ConfigPort.js +2 -3
  72. package/build/JsonConfigComponent/ConfigPort.js.map +1 -1
  73. package/build/JsonConfigComponent/ConfigRoom.d.ts +1 -1
  74. package/build/JsonConfigComponent/ConfigSelect.d.ts +1 -1
  75. package/build/JsonConfigComponent/ConfigSelectSendTo.d.ts +7 -16
  76. package/build/JsonConfigComponent/ConfigSelectSendTo.js +15 -61
  77. package/build/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
  78. package/build/JsonConfigComponent/ConfigSendto.d.ts +3 -20
  79. package/build/JsonConfigComponent/ConfigSendto.js +8 -8
  80. package/build/JsonConfigComponent/ConfigSendto.js.map +1 -1
  81. package/build/JsonConfigComponent/ConfigSetState.d.ts +1 -1
  82. package/build/JsonConfigComponent/ConfigSlider.d.ts +1 -1
  83. package/build/JsonConfigComponent/ConfigStaticDivider.d.ts +1 -1
  84. package/build/JsonConfigComponent/ConfigStaticHeader.d.ts +1 -1
  85. package/build/JsonConfigComponent/ConfigStaticImage.d.ts +1 -1
  86. package/build/JsonConfigComponent/ConfigStaticText.d.ts +1 -1
  87. package/build/JsonConfigComponent/ConfigTable.d.ts +4 -25
  88. package/build/JsonConfigComponent/ConfigTable.js +5 -4
  89. package/build/JsonConfigComponent/ConfigTable.js.map +1 -1
  90. package/build/JsonConfigComponent/ConfigTabs.d.ts +8 -33
  91. package/build/JsonConfigComponent/ConfigTabs.js +10 -43
  92. package/build/JsonConfigComponent/ConfigTabs.js.map +1 -1
  93. package/build/JsonConfigComponent/ConfigText.d.ts +7 -13
  94. package/build/JsonConfigComponent/ConfigText.js +13 -18
  95. package/build/JsonConfigComponent/ConfigText.js.map +1 -1
  96. package/build/JsonConfigComponent/ConfigTextSendTo.d.ts +7 -9
  97. package/build/JsonConfigComponent/ConfigTextSendTo.js +11 -21
  98. package/build/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
  99. package/build/JsonConfigComponent/ConfigTimePicker.d.ts +9 -3
  100. package/build/JsonConfigComponent/ConfigTimePicker.js +28 -18
  101. package/build/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
  102. package/build/JsonConfigComponent/ConfigTopic.d.ts +1 -1
  103. package/build/JsonConfigComponent/ConfigUUID.d.ts +12 -13
  104. package/build/JsonConfigComponent/ConfigUUID.js +1 -6
  105. package/build/JsonConfigComponent/ConfigUUID.js.map +1 -1
  106. package/build/JsonConfigComponent/ConfigUser.d.ts +1 -1
  107. package/build/JsonConfigComponent/index.d.ts +66 -25
  108. package/build/JsonConfigComponent/index.js +48 -61
  109. package/build/JsonConfigComponent/index.js.map +1 -1
  110. package/build/index.d.ts +2 -2
  111. package/build/index.js +2 -2
  112. package/build/index.js.map +1 -1
  113. package/package.json +27 -26
  114. package/src/JsonConfig.tsx +710 -0
  115. package/src/JsonConfigComponent/ChipInput.tsx +752 -0
  116. package/src/JsonConfigComponent/ConfigAccordion.tsx +278 -0
  117. package/src/JsonConfigComponent/ConfigAlive.tsx +74 -0
  118. package/src/JsonConfigComponent/ConfigAutocomplete.tsx +108 -0
  119. package/src/JsonConfigComponent/ConfigAutocompleteSendTo.tsx +183 -0
  120. package/src/JsonConfigComponent/ConfigCRON.jsx +101 -0
  121. package/src/JsonConfigComponent/ConfigCertCollection.tsx +102 -0
  122. package/src/JsonConfigComponent/ConfigCertificateSelect.tsx +92 -0
  123. package/src/JsonConfigComponent/ConfigCertificates.tsx +202 -0
  124. package/src/JsonConfigComponent/ConfigCheckLicense.jsx +662 -0
  125. package/src/JsonConfigComponent/ConfigCheckbox.tsx +67 -0
  126. package/src/JsonConfigComponent/ConfigChip.jsx +81 -0
  127. package/src/JsonConfigComponent/ConfigColor.tsx +86 -0
  128. package/src/JsonConfigComponent/ConfigCoordinates.tsx +234 -0
  129. package/src/JsonConfigComponent/ConfigCustom.tsx +246 -0
  130. package/src/JsonConfigComponent/ConfigDatePicker.tsx +48 -0
  131. package/src/JsonConfigComponent/ConfigDeviceManager.tsx +33 -0
  132. package/src/JsonConfigComponent/ConfigFile.jsx +181 -0
  133. package/src/JsonConfigComponent/ConfigFileSelector.jsx +520 -0
  134. package/src/JsonConfigComponent/ConfigFunc.jsx +90 -0
  135. package/src/JsonConfigComponent/ConfigGeneric.tsx +1027 -0
  136. package/src/JsonConfigComponent/ConfigIP.jsx +96 -0
  137. package/src/JsonConfigComponent/ConfigImageSendTo.jsx +79 -0
  138. package/src/JsonConfigComponent/ConfigImageUpload.jsx +114 -0
  139. package/src/JsonConfigComponent/ConfigInstanceSelect.jsx +172 -0
  140. package/src/JsonConfigComponent/ConfigInterface.jsx +112 -0
  141. package/src/JsonConfigComponent/ConfigJsonEditor.jsx +103 -0
  142. package/src/JsonConfigComponent/ConfigLanguage.tsx +153 -0
  143. package/src/JsonConfigComponent/ConfigLicense.jsx +148 -0
  144. package/src/JsonConfigComponent/ConfigNumber.tsx +207 -0
  145. package/src/JsonConfigComponent/ConfigObjectId.jsx +113 -0
  146. package/src/JsonConfigComponent/ConfigPanel.tsx +360 -0
  147. package/src/JsonConfigComponent/ConfigPassword.jsx +160 -0
  148. package/src/JsonConfigComponent/ConfigPattern.jsx +50 -0
  149. package/src/JsonConfigComponent/ConfigPort.tsx +232 -0
  150. package/src/JsonConfigComponent/ConfigRoom.jsx +90 -0
  151. package/src/JsonConfigComponent/ConfigSelect.jsx +124 -0
  152. package/src/JsonConfigComponent/ConfigSelectSendTo.tsx +251 -0
  153. package/src/JsonConfigComponent/ConfigSendto.tsx +340 -0
  154. package/src/JsonConfigComponent/ConfigSetState.jsx +116 -0
  155. package/src/JsonConfigComponent/ConfigSlider.jsx +97 -0
  156. package/src/JsonConfigComponent/ConfigStaticDivider.jsx +51 -0
  157. package/src/JsonConfigComponent/ConfigStaticHeader.jsx +63 -0
  158. package/src/JsonConfigComponent/ConfigStaticImage.jsx +48 -0
  159. package/src/JsonConfigComponent/ConfigStaticText.jsx +72 -0
  160. package/src/JsonConfigComponent/ConfigTable.tsx +1040 -0
  161. package/src/JsonConfigComponent/ConfigTabs.tsx +150 -0
  162. package/src/JsonConfigComponent/ConfigText.tsx +188 -0
  163. package/src/JsonConfigComponent/ConfigTextSendTo.tsx +102 -0
  164. package/src/JsonConfigComponent/ConfigTimePicker.tsx +63 -0
  165. package/src/JsonConfigComponent/ConfigTopic.jsx +78 -0
  166. package/src/JsonConfigComponent/ConfigUUID.tsx +55 -0
  167. package/src/JsonConfigComponent/ConfigUser.jsx +104 -0
  168. package/src/JsonConfigComponent/index.tsx +435 -0
  169. package/src/JsonConfigComponent/wrapper/Components/CustomModal.jsx +145 -0
  170. package/src/JsonConfigComponent/wrapper/Components/Editor.jsx +65 -0
  171. package/src/Utils.jsx +1683 -0
  172. package/src/index.tsx +14 -0
  173. package/src/types.d.ts +372 -0
package/src/index.tsx ADDED
@@ -0,0 +1,14 @@
1
+ import JsonConfig from './JsonConfig';
2
+ import JsonConfigComponent, { JsonConfigComponentClass } from './JsonConfigComponent';
3
+ import ConfigPanel from './JsonConfigComponent/ConfigPanel';
4
+ import ConfigGeneric from './JsonConfigComponent/ConfigGeneric';
5
+
6
+ export type * from './JsonConfigComponent/ConfigGeneric';
7
+
8
+ export {
9
+ JsonConfig,
10
+ JsonConfigComponent,
11
+ ConfigPanel,
12
+ ConfigGeneric,
13
+ JsonConfigComponentClass,
14
+ };
package/src/types.d.ts ADDED
@@ -0,0 +1,372 @@
1
+ import React from 'react';
2
+
3
+ export type ConfigItemType = 'tabs' | 'panel' | 'text' | 'number' | 'color' | 'checkbox' | 'slider' | 'ip' | 'user' | 'room' | 'func' | 'select' |
4
+ 'autocomplete' | 'image' | 'objectId' | 'password' | 'instance' | 'chips' | 'alive' | 'pattern' | 'sendto' | 'setState' |
5
+ 'staticText' | 'staticLink' | 'staticImage' | 'table' | 'accordion' | 'jsonEditor' | 'language' | 'certificate' |
6
+ 'certificates' | 'certCollection' | 'custom' | 'datePicker' | 'timePicker' | 'divider' | 'header' | 'cron' |
7
+ 'fileSelector' | 'file' | 'imageSendTo' | 'selectSendTo' | 'autocompleteSendTo' | 'textSendTo' | 'coordinates' | 'interface' | 'license' |
8
+ 'checkLicense' | 'uuid' | 'port' | 'deviceManager';
9
+
10
+ export interface ConfigItemConfirmData {
11
+ condition: string;
12
+ text?: ioBroker.StringOrTranslated;
13
+ title?: ioBroker.StringOrTranslated;
14
+ ok?: ioBroker.StringOrTranslated;
15
+ cancel?: ioBroker.StringOrTranslated;
16
+ type?: 'info' | 'warning' | 'error' | 'none';
17
+ alsoDependsOn?: string[];
18
+ }
19
+
20
+ export interface ConfigItem {
21
+ type: ConfigItemType;
22
+ sm?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
23
+ md?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
24
+ lg?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
25
+ xs?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
26
+ newLine?: boolean;
27
+ label?: ioBroker.StringOrTranslated;
28
+ /** @deprecated use label */
29
+ text?: ioBroker.StringOrTranslated;
30
+ hidden?: string | boolean;
31
+ hideOnlyControl?: boolean;
32
+ disabled?: string | boolean;
33
+ help?: ioBroker.StringOrTranslated;
34
+ helpLink?: string;
35
+ style?: React.CSSProperties;
36
+ darkStyle?: React.CSSProperties;
37
+ validator?: string;
38
+ validatorErrorText?: string;
39
+ validatorNoSaveOnError?: boolean;
40
+ tooltip?: ioBroker.StringOrTranslated;
41
+ default?: boolean | number | string;
42
+ defaultFunc?: string;
43
+ defaultSendTo?: string;
44
+ data?: string | number | boolean;
45
+ jsonData?: string;
46
+ button?: ioBroker.StringOrTranslated;
47
+ buttonTooltip?: ioBroker.StringOrTranslated;
48
+ buttonTooltipNoTranslation?: boolean;
49
+ placeholder?: ioBroker.StringOrTranslated;
50
+ noTranslation?: boolean;
51
+ onChange?: {
52
+ alsoDependsOn: string[];
53
+ calculateFunc: string;
54
+ ignoreOwnChanges?: boolean;
55
+ };
56
+ doNotSave?: boolean;
57
+ noMultiEdit?: boolean;
58
+ confirm?: ConfigItemConfirmData;
59
+ icon?: 'auth' | 'send' | 'web' | 'warning' | 'error' | 'info' | 'search' | 'book' | 'help' | 'upload' | string;
60
+ width?: string | number;
61
+
62
+ // generated from alsoDependsOn
63
+ confirmDependsOn?: ConfigItemIndexed[];
64
+ onChangeDependsOn?: ConfigItemIndexed[];
65
+ hiddenDependsOn?: ConfigItemIndexed[];
66
+ labelDependsOn?: ConfigItemIndexed[];
67
+ helpDependsOn?: ConfigItemIndexed[];
68
+ }
69
+
70
+ interface ConfigItemIndexed extends ConfigItem {
71
+ attr?: string;
72
+ }
73
+
74
+ interface ConfigItemTableIndexed extends ConfigItem {
75
+ attr?: string;
76
+ /** show filter options in the header of table */
77
+ filter?: boolean;
78
+ /** show sorting options in the header of table */
79
+ sort?: boolean;
80
+ /** tooltip in the header of table */
81
+ title?: string;
82
+ }
83
+
84
+ export interface ConfigItemAlive extends ConfigItem {
85
+ type: 'alive';
86
+ instance?: string;
87
+ textAlive?: string;
88
+ textNotAlive?: string;
89
+ }
90
+
91
+ export interface ConfigItemSelectOption {
92
+ label: string;
93
+ value: boolean | number | string;
94
+ }
95
+
96
+ export interface ConfigItemPanel extends ConfigItem {
97
+ type: 'panel' | never;
98
+ label?: ioBroker.StringOrTranslated;
99
+ items: Record<string, ConfigItem>;
100
+ collapsable?: boolean;
101
+ color?: 'primary' | 'secondary';
102
+ innerStyle?: React.CSSProperties;
103
+ i18n?: boolean | string | Record<string, Record<ioBroker.Languages, string>>;
104
+ }
105
+
106
+ export interface ConfigItemTabs extends ConfigItem {
107
+ type: 'tabs';
108
+ items: Record<string, ConfigItemPanel>;
109
+ iconPosition?: 'bottom' | 'end' | 'start' | 'top';
110
+ tabsStyle?: React.CSSProperties;
111
+ i18n?: boolean | string | Record<string, Record<ioBroker.Languages, string>>;
112
+ }
113
+
114
+ export interface ConfigItemText extends ConfigItem {
115
+ type: 'text';
116
+ maxLength?: number;
117
+ /** @deprecated use maxLength */
118
+ max?: number;
119
+ readOnly?: boolean;
120
+ trim?: boolean;
121
+ minRows?: number;
122
+ maxRows?: number;
123
+ noClearButton?: boolean;
124
+ }
125
+
126
+ export interface ConfigItemColor extends ConfigItem {
127
+ type: 'color';
128
+ noClearButton?: boolean;
129
+ }
130
+
131
+ export interface ConfigItemCheckbox extends ConfigItem {
132
+ type: 'checkbox';
133
+ }
134
+
135
+ export interface ConfigItemNumber extends ConfigItem {
136
+ type: 'number';
137
+ min?: number;
138
+ max?: number;
139
+ step?: number;
140
+ readOnly?: boolean;
141
+ }
142
+
143
+ export interface ConfigItemSlider extends ConfigItem {
144
+ type: 'slider';
145
+ min?: number;
146
+ max?: number;
147
+ step?: number;
148
+ unit?: string;
149
+ }
150
+
151
+ export interface ConfigItemIP extends ConfigItem {
152
+ type: 'ip';
153
+ listenOnAllPorts?: boolean;
154
+ onlyIp4?: boolean;
155
+ onlyIp6?: boolean;
156
+ noInternal?: boolean;
157
+ }
158
+
159
+ export interface ConfigItemUser extends ConfigItem {
160
+ type: 'user';
161
+ short?: boolean;
162
+ }
163
+
164
+ export interface ConfigItemRoom extends ConfigItem {
165
+ type: 'room';
166
+ short?: boolean;
167
+ allowDeactivate?: boolean;
168
+ }
169
+
170
+ export interface ConfigItemFunc extends ConfigItem {
171
+ type: 'func';
172
+ short?: boolean;
173
+ allowDeactivate?: boolean;
174
+ }
175
+
176
+ export interface ConfigItemSelect extends ConfigItem {
177
+ type: 'select';
178
+ options: ConfigItemSelectOption[] | { items: ConfigItemSelectOption[]; name: ioBroker.StringOrTranslated }[];
179
+ }
180
+
181
+ export interface ConfigItemAutocomplete extends ConfigItem {
182
+ type: 'autocomplete';
183
+ options: (string | ConfigItemSelectOption)[];
184
+ freeSolo?: boolean;
185
+ }
186
+
187
+ export interface ConfigItemAutocompleteSendTo extends ConfigItem {
188
+ type: 'autocompleteSendTo';
189
+ command?: string;
190
+ jsonData?: string;
191
+ options?: (string | ConfigItemSelectOption)[];
192
+ data?: Record<string, any>;
193
+ freeSolo?: boolean;
194
+ maxLength?: number;
195
+ /** @deprecated use maxLength */
196
+ max?: string;
197
+ alsoDependsOn?: string[];
198
+ }
199
+
200
+ export interface ConfigItemAccordion extends ConfigItem {
201
+ type: 'accordion';
202
+ titleAttr?: string;
203
+ noDelete?: boolean;
204
+ clone?: boolean | string;
205
+ items: ConfigItemIndexed[];
206
+ }
207
+
208
+ export interface ConfigItemDivider extends ConfigItem {
209
+ type: 'divider';
210
+ color?: 'primary' | 'secondary' | string;
211
+ height?: string | number;
212
+ }
213
+ export interface ConfigItemHeader extends ConfigItem {
214
+ type: 'header';
215
+ text?: ioBroker.StringOrTranslated;
216
+ size?: 1 | 2 | 3 | 4 | 5 | 6;
217
+ }
218
+
219
+ export interface ConfigItemCoordinates extends ConfigItem {
220
+ type: 'coordinates';
221
+ divider?: string;
222
+ autoInit?: boolean;
223
+ longitudeName?: string;
224
+ latitudeName?: string;
225
+ useSystemName?: string;
226
+ maxLength?: number;
227
+ max?: number;
228
+ }
229
+
230
+ export interface ConfigItemCustom extends ConfigItem {
231
+ type: 'custom';
232
+ /** location of Widget, like "custom/customComponents.js" */
233
+ url: string;
234
+ /** Component name, like "ConfigCustomBackItUpSet/Components/AdapterExist" */
235
+ name: string;
236
+ /** i18n */
237
+ i18n: boolean | Record<string, string>;
238
+ /** custom properties */
239
+ [prop: string]: any;
240
+ }
241
+
242
+ export interface ConfigItemDatePicker extends ConfigItem {
243
+ type: 'datePicker';
244
+ maxLength?: number;
245
+ /** @deprecated use maxLength */
246
+ max?: number;
247
+ }
248
+
249
+ export interface ConfigItemDeviceManager extends ConfigItem {
250
+ type: 'deviceManager';
251
+ }
252
+
253
+ export interface ConfigItemLanguage extends ConfigItem {
254
+ type: 'language';
255
+ system?: boolean;
256
+ changeGuiLanguage?: boolean;
257
+ }
258
+
259
+ export interface ConfigItemPort extends ConfigItem {
260
+ type: 'port';
261
+ min?: number;
262
+ max?: number;
263
+ readOnly?: boolean;
264
+ }
265
+
266
+ export interface ConfigItemSendTo extends ConfigItem {
267
+ type: 'sendto';
268
+ command?: string;
269
+ jsonData?: string;
270
+ data?: Record<string, any>;
271
+ result?: string;
272
+ error?: string;
273
+ variant?: 'contained' | 'outlined';
274
+ openUrl?: boolean;
275
+ reloadBrowser?: boolean;
276
+ window?: string;
277
+ icon?: 'auth' | 'send' | 'web' | 'warning' | 'error' | 'info' | 'search' | 'book' | 'help' | 'upload' | string;
278
+ useNative?: boolean;
279
+ showProcess?: boolean;
280
+ timeout?: number;
281
+ onLoaded?: boolean;
282
+ color?: 'primary' | 'secondary';
283
+ /** button tooltip */
284
+ title?: ioBroker.StringOrTranslated;
285
+ alsoDependsOn?: string[];
286
+ container?: 'text' | 'div';
287
+ copyToClipboard?: boolean;
288
+ }
289
+
290
+ export interface ConfigItemTextSendTo extends ConfigItem {
291
+ type: 'textSendTo';
292
+ container?: 'text' | 'div';
293
+ copyToClipboard?: boolean;
294
+ alsoDependsOn?: string[];
295
+ command?: string;
296
+ jsonData?: string;
297
+ data?: Record<string, any>;
298
+ }
299
+
300
+ export interface ConfigItemSelectSendTo extends ConfigItem {
301
+ type: 'selectSendTo';
302
+ manual?: boolean;
303
+ multiple?: boolean;
304
+ showAllValues?: boolean;
305
+ noClearButton?: boolean;
306
+ command?: string;
307
+ jsonData?: string;
308
+ data?: Record<string, any>;
309
+ alsoDependsOn?: string[];
310
+ }
311
+
312
+ export interface ConfigItemTable extends ConfigItem {
313
+ type: 'table';
314
+ items?: ConfigItemTableIndexed[];
315
+ noDelete?: boolean;
316
+ /** @deprecated don't use */
317
+ objKeyName?: string;
318
+ /** @deprecated don't use */
319
+ objValueName?: string;
320
+ allowAddByFilter?: boolean;
321
+ showSecondAddAt?: number;
322
+ showFirstAddOnTop?: boolean;
323
+ clone?: boolean | string;
324
+ export?: boolean;
325
+ import?: boolean;
326
+ uniqueColumns?: string[];
327
+ encryptedAttributes?: string[];
328
+ }
329
+
330
+ export interface ConfigItemTimePicker extends ConfigItem {
331
+ type: 'timePicker';
332
+ /** format passed to the date picker defaults to `HH:mm:ss` */
333
+ format?: string;
334
+ views?: ('hours' | 'minutes' | 'seconds')[];
335
+ /** Represent the available time steps for each view. Defaults to `{ hours: 1, minutes: 5, seconds: 5 }` */
336
+ timeSteps?: { hours?: number; minutes?: number; seconds?: number };
337
+ /** @deprecated use timeSteps */
338
+ timesteps?: { hours?: number; minutes?: number; seconds?: number };
339
+ /** `fullDate` or `HH:mm:ss`. Defaults to full date for backward compatibility reasons */
340
+ returnFormat?: string;
341
+ }
342
+
343
+ export interface ConfigItemCertCollection extends ConfigItem {
344
+ type: 'certCollection';
345
+ leCollectionName?: string;
346
+ }
347
+
348
+ export interface ConfigItemCertificateSelect extends ConfigItem {
349
+ type: 'certificate';
350
+ }
351
+
352
+ export interface ConfigItemCertificates extends ConfigItem {
353
+ type: 'certificates';
354
+ leCollectionName?: string;
355
+ certPublicName?: string;
356
+ certPrivateName?: string;
357
+ certChainedName?: string;
358
+ }
359
+
360
+ export interface ConfigItemUUID extends ConfigItem {
361
+ type: 'uuid';
362
+ }
363
+
364
+ export type ConfigItemAny = ConfigItemAlive | ConfigItemAutocomplete | ConfigItemAutocompleteSendTo | ConfigItemPanel |
365
+ ConfigItemTabs | ConfigItemText |
366
+ ConfigItemNumber | ConfigItemColor | ConfigItemCheckbox |
367
+ ConfigItemSlider | ConfigItemIP | ConfigItemUser | ConfigItemRoom | ConfigItemFunc |
368
+ ConfigItemSelect | ConfigItemAccordion | ConfigItemCoordinates |
369
+ ConfigItemDivider | ConfigItemHeader | ConfigItemCustom | ConfigItemDatePicker |
370
+ ConfigItemDeviceManager | ConfigItemLanguage | ConfigItemPort | ConfigItemSendTo |
371
+ ConfigItemTable | ConfigItemTimePicker | ConfigItemTextSendTo | ConfigItemSelectSendTo |
372
+ ConfigItemCertCollection | ConfigItemCertificateSelect | ConfigItemCertificates | ConfigItemUUID;