@iobroker/json-config 8.2.2 → 8.2.5

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 (32) hide show
  1. package/README.md +37 -6
  2. package/build/JsonConfigComponent/ConfigAutocomplete.js +10 -0
  3. package/build/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
  4. package/build/JsonConfigComponent/ConfigAutocompleteSendTo.d.ts +5 -0
  5. package/build/JsonConfigComponent/ConfigAutocompleteSendTo.js +15 -0
  6. package/build/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
  7. package/build/JsonConfigComponent/ConfigGeneric.d.ts +2 -0
  8. package/build/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  9. package/build/JsonConfigComponent/ConfigImageSendTo.js +2 -1
  10. package/build/JsonConfigComponent/ConfigImageSendTo.js.map +1 -1
  11. package/build/JsonConfigComponent/ConfigPanel.js +1 -1
  12. package/build/JsonConfigComponent/ConfigPanel.js.map +1 -1
  13. package/build/JsonConfigComponent/ConfigQrCode.js +13 -1
  14. package/build/JsonConfigComponent/ConfigQrCode.js.map +1 -1
  15. package/build/JsonConfigComponent/ConfigQrCodeSendTo.js +14 -1
  16. package/build/JsonConfigComponent/ConfigQrCodeSendTo.js.map +1 -1
  17. package/build/JsonConfigComponent/ConfigSelect.js +10 -0
  18. package/build/JsonConfigComponent/ConfigSelect.js.map +1 -1
  19. package/build/JsonConfigComponent/ConfigSelectSendTo.d.ts +5 -0
  20. package/build/JsonConfigComponent/ConfigSelectSendTo.js +16 -1
  21. package/build/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
  22. package/build/JsonConfigComponent/ConfigStaticText.d.ts +2 -2
  23. package/build/JsonConfigComponent/ConfigStaticText.js +16 -3
  24. package/build/JsonConfigComponent/ConfigStaticText.js.map +1 -1
  25. package/build/JsonConfigComponent/ConfigTable.d.ts +1 -0
  26. package/build/JsonConfigComponent/ConfigTable.js +28 -2
  27. package/build/JsonConfigComponent/ConfigTable.js.map +1 -1
  28. package/build/JsonConfigComponent/wrapper/Components/Editor.d.ts +2 -2
  29. package/build/JsonConfigComponent/wrapper/Components/Editor.js +1 -2
  30. package/build/JsonConfigComponent/wrapper/Components/Editor.js.map +1 -1
  31. package/build/types.d.ts +6 -0
  32. package/package.json +4 -4
@@ -17,5 +17,5 @@ interface EditorProps {
17
17
  editValueMode?: boolean;
18
18
  error?: boolean;
19
19
  }
20
- declare function Editor(props: EditorProps): JSX.Element;
21
- export default Editor;
20
+ export default function Editor(props: EditorProps): JSX.Element;
21
+ export {};
@@ -17,7 +17,7 @@ const styles = {
17
17
  minHeight: 200,
18
18
  },
19
19
  };
20
- function Editor(props) {
20
+ export default function Editor(props) {
21
21
  return (React.createElement(AceEditor, { style: props.error === true ? styles.jsonError : props.error === false ? styles.jsonNoError : undefined, mode: props.mode || 'json', width: "100%", height: "100%", showPrintMargin: props.editValueMode, showGutter: props.editValueMode, highlightActiveLine: props.editValueMode, defaultValue: props.defaultValue, theme: props.themeType === 'dark' ? 'clouds_midnight' : 'chrome', value: props.value, readOnly: !props.onChange, onChange: newValue => props.onChange?.(newValue), name: props.name || 'UNIQUE_ID_OF_DIV1', fontSize: props.fontSize || 14, setOptions: {
22
22
  enableBasicAutocompletion: true,
23
23
  enableLiveAutocompletion: true,
@@ -26,5 +26,4 @@ function Editor(props) {
26
26
  tabSize: props.editValueMode ? 2 : undefined,
27
27
  }, editorProps: { $blockScrolling: true } }));
28
28
  }
29
- export default Editor;
30
29
  //# sourceMappingURL=Editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Editor.js","sourceRoot":"./src/","sources":["JsonConfigComponent/wrapper/Components/Editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,yCAAyC,CAAC;AACjD,OAAO,0CAA0C,CAAC;AAClD,OAAO,yCAAyC,CAAC;AACjD,OAAO,2CAA2C,CAAC;AACnD,OAAO,qDAAqD,CAAC;AAC7D,OAAO,4CAA4C,CAAC;AACpD,OAAO,kDAAkD,CAAC;AAE1D,MAAM,MAAM,GAAwC;IAChD,SAAS,EAAE;QACP,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,GAAG;KACjB;IACD,WAAW,EAAE;QACT,MAAM,EAAE,qBAAqB;QAC7B,SAAS,EAAE,GAAG;KACjB;CACJ,CAAC;AAcF,SAAS,MAAM,CAAC,KAAkB;IAC9B,OAAO,CACH,oBAAC,SAAS,IACN,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACvG,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM,EAC1B,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,eAAe,EAAE,KAAK,CAAC,aAAa,EACpC,UAAU,EAAE,KAAK,CAAC,aAAa,EAC/B,mBAAmB,EAAE,KAAK,CAAC,aAAa,EACxC,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,KAAK,EAAE,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAChE,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,EACzB,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAChD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,mBAAmB,EACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,EAC9B,UAAU,EAAE;YACR,yBAAyB,EAAE,IAAI;YAC/B,wBAAwB,EAAE,IAAI;YAC9B,cAAc,EAAE,IAAI;YAEpB,eAAe,EAAE,KAAK,CAAC,aAAa;YACpC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SAC/C,EACD,WAAW,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,GACxC,CACL,CAAC;AACN,CAAC;AAED,eAAe,MAAM,CAAC","sourcesContent":["import React, { type JSX } from 'react';\n\nimport AceEditor from 'react-ace';\nimport 'ace-builds/src-min-noconflict/mode-json';\nimport 'ace-builds/src-min-noconflict/mode-json5';\nimport 'ace-builds/src-min-noconflict/mode-yaml';\nimport 'ace-builds/src-min-noconflict/worker-json';\nimport 'ace-builds/src-min-noconflict/theme-clouds_midnight';\nimport 'ace-builds/src-min-noconflict/theme-chrome';\nimport 'ace-builds/src-min-noconflict/ext-language_tools';\n\nconst styles: Record<string, React.CSSProperties> = {\n jsonError: {\n border: '1px solid red',\n minHeight: 200,\n },\n jsonNoError: {\n border: '1px solid #00000000',\n minHeight: 200,\n },\n};\n\ninterface EditorProps {\n fontSize?: number;\n value?: string;\n defaultValue?: string;\n mode?: 'json' | 'css' | 'html' | 'json5' | 'yaml';\n name: string;\n onChange?: (newValue: string) => void;\n themeType: string;\n editValueMode?: boolean; // flag that indicates the \"value edit mode\"\n error?: boolean;\n}\n\nfunction Editor(props: EditorProps): JSX.Element {\n return (\n <AceEditor\n style={props.error === true ? styles.jsonError : props.error === false ? styles.jsonNoError : undefined}\n mode={props.mode || 'json'}\n width=\"100%\"\n height=\"100%\"\n showPrintMargin={props.editValueMode}\n showGutter={props.editValueMode}\n highlightActiveLine={props.editValueMode}\n defaultValue={props.defaultValue}\n theme={props.themeType === 'dark' ? 'clouds_midnight' : 'chrome'}\n value={props.value}\n readOnly={!props.onChange}\n onChange={newValue => props.onChange?.(newValue)}\n name={props.name || 'UNIQUE_ID_OF_DIV1'}\n fontSize={props.fontSize || 14}\n setOptions={{\n enableBasicAutocompletion: true,\n enableLiveAutocompletion: true,\n enableSnippets: true,\n\n showLineNumbers: props.editValueMode,\n tabSize: props.editValueMode ? 2 : undefined,\n }}\n editorProps={{ $blockScrolling: true }}\n />\n );\n}\n\nexport default Editor;\n"]}
1
+ {"version":3,"file":"Editor.js","sourceRoot":"./src/","sources":["JsonConfigComponent/wrapper/Components/Editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,yCAAyC,CAAC;AACjD,OAAO,0CAA0C,CAAC;AAClD,OAAO,yCAAyC,CAAC;AACjD,OAAO,2CAA2C,CAAC;AACnD,OAAO,qDAAqD,CAAC;AAC7D,OAAO,4CAA4C,CAAC;AACpD,OAAO,kDAAkD,CAAC;AAE1D,MAAM,MAAM,GAAwC;IAChD,SAAS,EAAE;QACP,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,GAAG;KACjB;IACD,WAAW,EAAE;QACT,MAAM,EAAE,qBAAqB;QAC7B,SAAS,EAAE,GAAG;KACjB;CACJ,CAAC;AAcF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAkB;IAC7C,OAAO,CACH,oBAAC,SAAS,IACN,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACvG,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM,EAC1B,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,eAAe,EAAE,KAAK,CAAC,aAAa,EACpC,UAAU,EAAE,KAAK,CAAC,aAAa,EAC/B,mBAAmB,EAAE,KAAK,CAAC,aAAa,EACxC,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,KAAK,EAAE,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAChE,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,EACzB,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAChD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,mBAAmB,EACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,EAC9B,UAAU,EAAE;YACR,yBAAyB,EAAE,IAAI;YAC/B,wBAAwB,EAAE,IAAI;YAC9B,cAAc,EAAE,IAAI;YAEpB,eAAe,EAAE,KAAK,CAAC,aAAa;YACpC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SAC/C,EACD,WAAW,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,GACxC,CACL,CAAC;AACN,CAAC","sourcesContent":["import React, { type JSX } from 'react';\n\nimport AceEditor from 'react-ace';\nimport 'ace-builds/src-min-noconflict/mode-json';\nimport 'ace-builds/src-min-noconflict/mode-json5';\nimport 'ace-builds/src-min-noconflict/mode-yaml';\nimport 'ace-builds/src-min-noconflict/worker-json';\nimport 'ace-builds/src-min-noconflict/theme-clouds_midnight';\nimport 'ace-builds/src-min-noconflict/theme-chrome';\nimport 'ace-builds/src-min-noconflict/ext-language_tools';\n\nconst styles: Record<string, React.CSSProperties> = {\n jsonError: {\n border: '1px solid red',\n minHeight: 200,\n },\n jsonNoError: {\n border: '1px solid #00000000',\n minHeight: 200,\n },\n};\n\ninterface EditorProps {\n fontSize?: number;\n value?: string;\n defaultValue?: string;\n mode?: 'json' | 'css' | 'html' | 'json5' | 'yaml';\n name: string;\n onChange?: (newValue: string) => void;\n themeType: string;\n editValueMode?: boolean; // flag that indicates the \"value edit mode\"\n error?: boolean;\n}\n\nexport default function Editor(props: EditorProps): JSX.Element {\n return (\n <AceEditor\n style={props.error === true ? styles.jsonError : props.error === false ? styles.jsonNoError : undefined}\n mode={props.mode || 'json'}\n width=\"100%\"\n height=\"100%\"\n showPrintMargin={props.editValueMode}\n showGutter={props.editValueMode}\n highlightActiveLine={props.editValueMode}\n defaultValue={props.defaultValue}\n theme={props.themeType === 'dark' ? 'clouds_midnight' : 'chrome'}\n value={props.value}\n readOnly={!props.onChange}\n onChange={newValue => props.onChange?.(newValue)}\n name={props.name || 'UNIQUE_ID_OF_DIV1'}\n fontSize={props.fontSize || 14}\n setOptions={{\n enableBasicAutocompletion: true,\n enableLiveAutocompletion: true,\n enableSnippets: true,\n\n showLineNumbers: props.editValueMode,\n tabSize: props.editValueMode ? 2 : undefined,\n }}\n editorProps={{ $blockScrolling: true }}\n />\n );\n}\n"]}
package/build/types.d.ts CHANGED
@@ -273,6 +273,8 @@ export interface ConfigItemPanel extends ConfigItem {
273
273
  i18n?: boolean | string | Record<string, Record<ioBroker.Languages, string>>;
274
274
  // If defined, the tab will send a message by initializing to backend with command with string contained in "command"
275
275
  command?: string;
276
+ /** Filter states for custom editor dialog. If true, only states of this adapter instance can be edited. If string, it is a regex to filter state IDs. */
277
+ statesFilter?: true | string;
276
278
  }
277
279
 
278
280
  export interface ConfigItemPattern extends ConfigItem {
@@ -301,6 +303,8 @@ export interface ConfigItemTabs extends ConfigItem {
301
303
  i18n?: boolean | string | Record<string, Record<ioBroker.Languages, string>>;
302
304
  // If defined, the tab will send a message by initializing to backend with command "tab" (string contained in "sendTo"). Used in jsonTab.json
303
305
  command?: string;
306
+ /** Filter states for custom editor dialog. If true, only states of this adapter instance can be edited. If string, it is a regex to filter state IDs. */
307
+ statesFilter?: true | string;
304
308
  }
305
309
 
306
310
  export interface ConfigItemText extends ConfigItem {
@@ -514,6 +518,8 @@ export interface ConfigItemStaticText extends Omit<ConfigItem, 'button'> {
514
518
  icon?: ConfigIconType;
515
519
  /** styles for the button */
516
520
  controlStyle?: CustomCSSProperties;
521
+ /** Show text as HTML, text or pretty-printed JSON */
522
+ format?: 'text' | 'html' | 'json';
517
523
  }
518
524
 
519
525
  export interface ConfigItemStaticInfo extends Omit<ConfigItem, 'data'> {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@iobroker/json-config",
3
3
  "description": "This package contains the ioBroker JSON config UI components",
4
- "version": "8.2.2",
4
+ "version": "8.2.5",
5
5
  "author": {
6
6
  "name": "bluefox",
7
7
  "email": "dogafox@gmail.com"
@@ -35,8 +35,8 @@
35
35
  "access": "public"
36
36
  },
37
37
  "dependencies": {
38
- "@iobroker/adapter-react-v5": "^8.1.1",
39
- "@module-federation/runtime": "^2.0.1",
38
+ "@iobroker/adapter-react-v5": "^8.1.3",
39
+ "@module-federation/runtime": "^2.1.0",
40
40
  "@mui/x-date-pickers": "^7.29.4",
41
41
  "crypto-js": "^4.2.0",
42
42
  "json5": "^2.2.3",
@@ -51,7 +51,7 @@
51
51
  "@iobroker/eslint-config": "^2.2.0",
52
52
  "@types/crypto-js": "^4.2.2",
53
53
  "@types/json5": "^2.2.0",
54
- "@types/node": "^25.3.3",
54
+ "@types/node": "^25.4.0",
55
55
  "@types/react": "^18.3.28",
56
56
  "@types/react-color": "^3.0.13",
57
57
  "@types/react-dom": "^18.3.7",