@iobroker/adapter-react-v5 4.0.1 → 4.0.3

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.
@@ -122,6 +122,7 @@ declare class ColorPicker extends React.Component<ColorPickerProps, any, any> {
122
122
  * @private
123
123
  */
124
124
  private handleChange;
125
+ renderCustomPalette(): JSX.Element;
125
126
  render(): JSX.Element;
126
127
  }
127
128
  declare namespace ColorPicker {
@@ -132,6 +133,7 @@ declare namespace ColorPicker {
132
133
  const name: PropTypes.Requireable<string>;
133
134
  const style: PropTypes.Requireable<object>;
134
135
  const className: PropTypes.Requireable<string>;
136
+ const customPalette: PropTypes.Requireable<any[]>;
135
137
  }
136
138
  }
137
139
  import React from "react";
@@ -78,6 +78,16 @@ var styles = function styles(theme) {
78
78
  },
79
79
  picker: {
80
80
  background: "".concat(theme.palette.background.paper, " !important")
81
+ },
82
+ iconButton: {
83
+ width: 24,
84
+ height: 24
85
+ },
86
+ button: {
87
+ width: 32,
88
+ height: 32,
89
+ minWidth: 32,
90
+ minHeight: 32
81
91
  }
82
92
  };
83
93
  };
@@ -145,9 +155,40 @@ var ColorPicker = /*#__PURE__*/function (_React$Component) {
145
155
  * @param {{ color: Color; }} state
146
156
  */
147
157
  (0, _createClass2["default"])(ColorPicker, [{
158
+ key: "renderCustomPalette",
159
+ value: function renderCustomPalette() {
160
+ var _this2 = this;
161
+ if (!this.props.customPalette) {
162
+ return null;
163
+ }
164
+ return /*#__PURE__*/_react["default"].createElement("div", {
165
+ style: {
166
+ width: '100%',
167
+ display: 'flex',
168
+ flexWrap: 'flex'
169
+ }
170
+ }, this.props.customPalette.map(function (color) {
171
+ return /*#__PURE__*/_react["default"].createElement(_material.Button, {
172
+ className: _this2.props.classes.button,
173
+ key: color,
174
+ onClick: function onClick() {
175
+ _this2.handleChange(color);
176
+ setTimeout(function () {
177
+ return _this2.handleClose();
178
+ }, 300);
179
+ }
180
+ }, /*#__PURE__*/_react["default"].createElement("div", {
181
+ className: _this2.props.classes.iconButton,
182
+ style: {
183
+ background: color
184
+ }
185
+ }));
186
+ }));
187
+ }
188
+ }, {
148
189
  key: "render",
149
190
  value: function render() {
150
- var _this2 = this;
191
+ var _this3 = this;
151
192
  var color = ColorPicker.getColor(this.state.color);
152
193
  var style = _objectSpread({}, this.props.style || {});
153
194
  style.position = 'relative';
@@ -171,12 +212,12 @@ var ColorPicker = /*#__PURE__*/function (_React$Component) {
171
212
  root: this.props.classes.textDense
172
213
  },
173
214
  onChange: function onChange(e) {
174
- return _this2.handleChange(e.target.value);
215
+ return _this3.handleChange(e.target.value);
175
216
  }
176
217
  }), color ? /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
177
218
  disabled: this.props.disabled,
178
219
  onClick: function onClick() {
179
- return _this2.handleChange('');
220
+ return _this3.handleChange('');
180
221
  },
181
222
  size: "small",
182
223
  className: this.props.classes.delButton,
@@ -187,7 +228,7 @@ var ColorPicker = /*#__PURE__*/function (_React$Component) {
187
228
  }, /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Delete, null)) : null, /*#__PURE__*/_react["default"].createElement("div", {
188
229
  className: "".concat(this.props.classes.swatch).concat(this.props.disabled ? " ".concat(this.props.classes.swatchDisabled) : ''),
189
230
  onClick: function onClick(e) {
190
- return !_this2.props.disabled && _this2.handleClick(e);
231
+ return !_this3.props.disabled && _this3.handleClick(e);
191
232
  }
192
233
  }, /*#__PURE__*/_react["default"].createElement("div", {
193
234
  className: this.props.classes.color,
@@ -202,13 +243,13 @@ var ColorPicker = /*#__PURE__*/function (_React$Component) {
202
243
  anchorEl: this.state.anchorEl,
203
244
  open: !0,
204
245
  onClose: function onClose() {
205
- return _this2.handleClose();
246
+ return _this3.handleClose();
206
247
  }
207
248
  }, /*#__PURE__*/_react["default"].createElement(_reactColor.ChromePicker, {
208
249
  className: this.props.classes.picker,
209
250
  color: this.state.color,
210
251
  onChangeComplete: function onChangeComplete(_color) {
211
- return _this2.handleChange(_color);
252
+ return _this3.handleChange(_color);
212
253
  },
213
254
  styles: {
214
255
  picker: {
@@ -218,9 +259,9 @@ var ColorPicker = /*#__PURE__*/function (_React$Component) {
218
259
  }), /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
219
260
  className: this.props.classes.closeButton,
220
261
  onClick: function onClick() {
221
- return _this2.handleClose();
262
+ return _this3.handleClose();
222
263
  }
223
- }, /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Close, null))) : null);
264
+ }, /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Close, null)), this.renderCustomPalette()) : null);
224
265
  }
225
266
  }], [{
226
267
  key: "getDerivedStateFromProps",
@@ -290,7 +331,8 @@ ColorPicker.propTypes = {
290
331
  onChange: _propTypes["default"].func.isRequired,
291
332
  name: _propTypes["default"].string,
292
333
  style: _propTypes["default"].object,
293
- className: _propTypes["default"].string
334
+ className: _propTypes["default"].string,
335
+ customPalette: _propTypes["default"].array
294
336
  };
295
337
 
296
338
  /** @type {typeof ColorPicker} */
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","names":["styles","theme","color","width","height","borderRadius","delButton","marginTop","swatch","padding","background","boxShadow","display","cursor","verticalAlign","swatchDisabled","opacity","popover","backgroundColor","textAlign","popoverList","closeButton","palette","paper","secondary","main","cover","position","top","right","bottom","left","textDense","marginBottom","picker","ColorPicker","props","e","setState","displayColorPicker","state","anchorEl","currentTarget","onChange","getColor","value","style","className","disabled","marginRight","name","root","classes","handleChange","target","handleClick","list","handleClose","_color","pColor","sColor","isHex","rgb","r","toString","padStart","g","b","a","rgb2hex","m","match","parseInt","length","React","Component","propTypes","PropTypes","bool","string","func","isRequired","object","_export","withStyles"],"sources":["ColorPicker.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * Licensed under the Creative Commons Attribution-NonCommercial License, Version 4.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://creativecommons.org/licenses/by-nc/4.0/legalcode.txt\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\nimport React from 'react';\nimport { ChromePicker } from 'react-color';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport { TextField, Menu, IconButton } from '@mui/material';\nimport { Delete as IconDelete, Close as IconClose } from '@mui/icons-material';\n\nconst styles = theme => ({\n color: {\n width: 36,\n height: 14,\n borderRadius: 2,\n },\n delButton: {\n // width: 32,\n // height: 32,\n marginTop: 16,\n },\n swatch: {\n marginTop: 16,\n padding: 5,\n background: '#fff',\n borderRadius: 1,\n boxShadow: '0 0 0 1px rgba(0,0,0,.1)',\n display: 'inline-block',\n cursor: 'pointer',\n verticalAlign: 'middle',\n },\n swatchDisabled: {\n opacity: 0.5,\n cursor: 'default',\n },\n popover: {\n // position: 'absolute',\n // zIndex: 2,\n backgroundColor: '#00000000',\n textAlign: 'right',\n },\n popoverList: {\n padding: 0,\n },\n closeButton: {\n backgroundColor: `${theme.palette.background.paper} !important`,\n borderRadius: '0 0 25% 25%',\n '&:hover': {\n backgroundColor: `${theme.palette.secondary.main} !important`,\n },\n },\n cover: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n },\n textDense: {\n marginTop: 0,\n marginBottom: 0,\n },\n picker: {\n background: `${theme.palette.background.paper} !important`,\n },\n});\n\n/**\n * @typedef {object} Rgb\n * @property {number} r The red component of the color (0-255).\n * @property {number} g The green component of the color (0-255).\n * @property {number} b The blue component of the color (0-255).\n * @property {number} a The alpha component of the color (0-255).\n *\n * @typedef {string | Rgb | { rgb: Rgb }} Color Definition of a color.\n *\n * @typedef {object} ColorPickerProps\n * @property {boolean} [disabled] Set to true to disable the color picker.\n * @property {Color} [value] The currently selected color.\n * @property {(rgba: string) => void} [onChange] The color change callback.\n * @property {string} [name] The name.\n * @property {React.CSSProperties} [style] Additional styling for this component.\n * @property {string} [className] The CSS class name.\n * @property {boolean} [openAbove] Open the color picker above the field?\n *\n * @extends {React.Component<ColorPickerProps>}\n */\nclass ColorPicker extends React.Component {\n /**\n * @param {Readonly<ColorPickerProps>} props\n */\n constructor(props) {\n super(props);\n this.state = {\n displayColorPicker: false,\n color: this.props.value || this.props.color,\n anchorEl: null,\n };\n }\n\n /**\n * Get the state derived from the given properties and state.\n * @param {{ color: Color; }} props\n * @param {{ color: Color; }} state\n */\n static getDerivedStateFromProps(props, state) {\n const pColor = ColorPicker.getColor(props.value || props.color);\n const sColor = ColorPicker.getColor(state.color);\n if (pColor !== sColor) {\n return { color: props.value || props.color };\n }\n return null;\n }\n\n /**\n * @private\n */\n handleClick = e => {\n this.setState({ displayColorPicker: !this.state.displayColorPicker, anchorEl: this.state.displayColorPicker ? null : e.currentTarget });\n };\n\n /**\n * @private\n */\n handleClose = () => {\n this.setState({ displayColorPicker: false, anchorEl: null });\n };\n\n /**\n * Convert the given color to hex ('#rrggbb') or rgba ('rgba(r,g,b,a)') format.\n * @param {Color} [color]\n * @param {boolean} [isHex] The returning string should be in hex format\n * @returns {string} the hex or rgba representation of the given color.\n */\n static getColor(color, isHex) {\n if (color && typeof color === 'object') {\n if (color.rgb) {\n if (isHex) {\n return `#${color.rgb.r.toString(16).padStart(2, '0')}${color.rgb.g.toString(16).padStart(2, '0')}${color.rgb.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`;\n }\n if (isHex) {\n return `#${color.r.toString(16).padStart(2, '0')}${color.g.toString(16).padStart(2, '0')}${color.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${color.r},${color.g},${color.b},${color.a})`;\n }\n return isHex ? ColorPicker.rgb2hex(color || '') : color || '';\n }\n\n /**\n * Convert rgb() or rgba() format to hex format #rrggbb.\n * @param {string} rgb\n * @returns {string}\n */\n static rgb2hex(rgb) {\n const m = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n\n const r = parseInt(m[1], 10).toString(16).padStart(2, '0');\n const g = parseInt(m[2], 10).toString(16).padStart(2, '0');\n const b = parseInt(m[3], 10).toString(16).padStart(2, '0');\n\n return m && m.length === 4 ? `#${r}${g}${b}` : rgb;\n }\n\n /**\n * @private\n */\n handleChange = color => {\n this.setState({ color }, () =>\n this.props.onChange && this.props.onChange(ColorPicker.getColor(color)));\n };\n\n render() {\n const color = ColorPicker.getColor(this.state.color);\n\n const style = {...(this.props.style || {})};\n style.position = 'relative';\n\n return <div\n style={ style }\n className={this.props.className || ''}\n >\n <TextField\n disabled={this.props.disabled}\n variant=\"standard\"\n id=\"name\"\n style={color ? { width: 'calc(100% - 80px)' } : { width: 'calc(100% - 54px)', marginRight: 8 }}\n label={ this.props.name || 'color' }\n value={color}\n margin=\"dense\"\n classes={{ root: this.props.classes.textDense }}\n onChange={e => this.handleChange(e.target.value)}\n />\n {color ? <IconButton\n disabled={this.props.disabled}\n onClick={() => this.handleChange('')}\n size=\"small\"\n className={this.props.classes.delButton}\n style={color ? {} : { opacity: 0, cursor: 'default' }}\n >\n <IconDelete />\n </IconButton> : null}\n <div className={`${this.props.classes.swatch}${this.props.disabled ? ` ${this.props.classes.swatchDisabled}` : ''}`} onClick={e => !this.props.disabled && this.handleClick(e)}>\n <div className={this.props.classes.color} style={{ background: color }} />\n </div>\n { this.state.displayColorPicker && !this.props.disabled ? <Menu\n classes={{ paper: this.props.classes.popover, list: this.props.classes.popoverList }}\n anchorEl={this.state.anchorEl}\n open={!0}\n onClose={() => this.handleClose()}\n >\n <ChromePicker\n className={this.props.classes.picker}\n color={this.state.color}\n onChangeComplete={_color => this.handleChange(_color)}\n styles={{ picker: { background: '#112233' } }}\n />\n <IconButton className={this.props.classes.closeButton} onClick={() => this.handleClose()}><IconClose /></IconButton>\n </Menu> : null }\n </div>;\n }\n}\n\nColorPicker.propTypes = {\n disabled: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n name: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n};\n\n/** @type {typeof ColorPicker} */\nconst _export = withStyles(styles)(ColorPicker);\nexport default _export;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ColorPicker.js","names":["styles","theme","color","width","height","borderRadius","delButton","marginTop","swatch","padding","background","boxShadow","display","cursor","verticalAlign","swatchDisabled","opacity","popover","backgroundColor","textAlign","popoverList","closeButton","palette","paper","secondary","main","cover","position","top","right","bottom","left","textDense","marginBottom","picker","iconButton","button","minWidth","minHeight","ColorPicker","props","e","setState","displayColorPicker","state","anchorEl","currentTarget","onChange","getColor","value","customPalette","flexWrap","map","classes","handleChange","setTimeout","handleClose","style","className","disabled","marginRight","name","root","target","handleClick","list","_color","renderCustomPalette","pColor","sColor","isHex","rgb","r","toString","padStart","g","b","a","rgb2hex","m","match","parseInt","length","React","Component","propTypes","PropTypes","bool","string","func","isRequired","object","array","_export","withStyles"],"sources":["ColorPicker.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * Licensed under the Creative Commons Attribution-NonCommercial License, Version 4.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://creativecommons.org/licenses/by-nc/4.0/legalcode.txt\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\nimport React from 'react';\nimport { ChromePicker } from 'react-color';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport { TextField, Menu, IconButton, Button } from '@mui/material';\nimport { Delete as IconDelete, Close as IconClose } from '@mui/icons-material';\n\nconst styles = theme => ({\n color: {\n width: 36,\n height: 14,\n borderRadius: 2,\n },\n delButton: {\n // width: 32,\n // height: 32,\n marginTop: 16,\n },\n swatch: {\n marginTop: 16,\n padding: 5,\n background: '#fff',\n borderRadius: 1,\n boxShadow: '0 0 0 1px rgba(0,0,0,.1)',\n display: 'inline-block',\n cursor: 'pointer',\n verticalAlign: 'middle',\n },\n swatchDisabled: {\n opacity: 0.5,\n cursor: 'default',\n },\n popover: {\n // position: 'absolute',\n // zIndex: 2,\n backgroundColor: '#00000000',\n textAlign: 'right',\n },\n popoverList: {\n padding: 0,\n },\n closeButton: {\n backgroundColor: `${theme.palette.background.paper} !important`,\n borderRadius: '0 0 25% 25%',\n '&:hover': {\n backgroundColor: `${theme.palette.secondary.main} !important`,\n },\n },\n cover: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n },\n textDense: {\n marginTop: 0,\n marginBottom: 0,\n },\n picker: {\n background: `${theme.palette.background.paper} !important`,\n },\n iconButton: {\n width: 24,\n height: 24,\n },\n button: {\n width: 32,\n height: 32,\n minWidth: 32,\n minHeight: 32,\n },\n});\n\n/**\n * @typedef {object} Rgb\n * @property {number} r The red component of the color (0-255).\n * @property {number} g The green component of the color (0-255).\n * @property {number} b The blue component of the color (0-255).\n * @property {number} a The alpha component of the color (0-255).\n *\n * @typedef {string | Rgb | { rgb: Rgb }} Color Definition of a color.\n *\n * @typedef {object} ColorPickerProps\n * @property {boolean} [disabled] Set to true to disable the color picker.\n * @property {Color} [value] The currently selected color.\n * @property {(rgba: string) => void} [onChange] The color change callback.\n * @property {string} [name] The name.\n * @property {React.CSSProperties} [style] Additional styling for this component.\n * @property {string} [className] The CSS class name.\n * @property {boolean} [openAbove] Open the color picker above the field?\n *\n * @extends {React.Component<ColorPickerProps>}\n */\nclass ColorPicker extends React.Component {\n /**\n * @param {Readonly<ColorPickerProps>} props\n */\n constructor(props) {\n super(props);\n this.state = {\n displayColorPicker: false,\n color: this.props.value || this.props.color,\n anchorEl: null,\n };\n }\n\n /**\n * Get the state derived from the given properties and state.\n * @param {{ color: Color; }} props\n * @param {{ color: Color; }} state\n */\n static getDerivedStateFromProps(props, state) {\n const pColor = ColorPicker.getColor(props.value || props.color);\n const sColor = ColorPicker.getColor(state.color);\n if (pColor !== sColor) {\n return { color: props.value || props.color };\n }\n return null;\n }\n\n /**\n * @private\n */\n handleClick = e => {\n this.setState({ displayColorPicker: !this.state.displayColorPicker, anchorEl: this.state.displayColorPicker ? null : e.currentTarget });\n };\n\n /**\n * @private\n */\n handleClose = () => {\n this.setState({ displayColorPicker: false, anchorEl: null });\n };\n\n /**\n * Convert the given color to hex ('#rrggbb') or rgba ('rgba(r,g,b,a)') format.\n * @param {Color} [color]\n * @param {boolean} [isHex] The returning string should be in hex format\n * @returns {string} the hex or rgba representation of the given color.\n */\n static getColor(color, isHex) {\n if (color && typeof color === 'object') {\n if (color.rgb) {\n if (isHex) {\n return `#${color.rgb.r.toString(16).padStart(2, '0')}${color.rgb.g.toString(16).padStart(2, '0')}${color.rgb.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`;\n }\n if (isHex) {\n return `#${color.r.toString(16).padStart(2, '0')}${color.g.toString(16).padStart(2, '0')}${color.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${color.r},${color.g},${color.b},${color.a})`;\n }\n return isHex ? ColorPicker.rgb2hex(color || '') : color || '';\n }\n\n /**\n * Convert rgb() or rgba() format to hex format #rrggbb.\n * @param {string} rgb\n * @returns {string}\n */\n static rgb2hex(rgb) {\n const m = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n\n const r = parseInt(m[1], 10).toString(16).padStart(2, '0');\n const g = parseInt(m[2], 10).toString(16).padStart(2, '0');\n const b = parseInt(m[3], 10).toString(16).padStart(2, '0');\n\n return m && m.length === 4 ? `#${r}${g}${b}` : rgb;\n }\n\n /**\n * @private\n */\n handleChange = color => {\n this.setState({ color }, () =>\n this.props.onChange && this.props.onChange(ColorPicker.getColor(color)));\n };\n\n renderCustomPalette() {\n if (!this.props.customPalette) {\n return null;\n }\n return <div style={{ width: '100%', display: 'flex', flexWrap: 'flex' }}>\n {this.props.customPalette.map(color =>\n <Button\n className={this.props.classes.button}\n key={color}\n onClick={() => {\n this.handleChange(color);\n setTimeout(() => this.handleClose(), 300);\n }}\n >\n <div className={this.props.classes.iconButton} style={{ background: color }} />\n </Button>)}\n </div>;\n }\n\n render() {\n const color = ColorPicker.getColor(this.state.color);\n\n const style = {...(this.props.style || {})};\n style.position = 'relative';\n\n return <div\n style={ style }\n className={this.props.className || ''}\n >\n <TextField\n disabled={this.props.disabled}\n variant=\"standard\"\n id=\"name\"\n style={color ? { width: 'calc(100% - 80px)' } : { width: 'calc(100% - 54px)', marginRight: 8 }}\n label={ this.props.name || 'color' }\n value={color}\n margin=\"dense\"\n classes={{ root: this.props.classes.textDense }}\n onChange={e => this.handleChange(e.target.value)}\n />\n {color ? <IconButton\n disabled={this.props.disabled}\n onClick={() => this.handleChange('')}\n size=\"small\"\n className={this.props.classes.delButton}\n style={color ? {} : { opacity: 0, cursor: 'default' }}\n >\n <IconDelete />\n </IconButton> : null}\n <div className={`${this.props.classes.swatch}${this.props.disabled ? ` ${this.props.classes.swatchDisabled}` : ''}`} onClick={e => !this.props.disabled && this.handleClick(e)}>\n <div className={this.props.classes.color} style={{ background: color }} />\n </div>\n { this.state.displayColorPicker && !this.props.disabled ? <Menu\n classes={{ paper: this.props.classes.popover, list: this.props.classes.popoverList }}\n anchorEl={this.state.anchorEl}\n open={!0}\n onClose={() => this.handleClose()}\n >\n <ChromePicker\n className={this.props.classes.picker}\n color={this.state.color}\n onChangeComplete={_color => this.handleChange(_color)}\n styles={{ picker: { background: '#112233' } }}\n />\n <IconButton className={this.props.classes.closeButton} onClick={() => this.handleClose()}><IconClose /></IconButton>\n {this.renderCustomPalette()}\n </Menu> : null }\n </div>;\n }\n}\n\nColorPicker.propTypes = {\n disabled: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n name: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n customPalette: PropTypes.array,\n};\n\n/** @type {typeof ColorPicker} */\nconst _export = withStyles(styles)(ColorPicker);\nexport default _export;\n"],"mappings":"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"}
package/Connection.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- export { PROGRESS };
2
1
  export default Connection;
3
2
  import { PROGRESS } from "@iobroker/socket-client/Connection";
3
+ import { ERRORS } from "@iobroker/socket-client/Connection";
4
+ import { PERMISSION_ERROR } from "@iobroker/socket-client/Connection";
4
5
  import { Connection } from "@iobroker/socket-client/Connection";
6
+ export { PROGRESS, ERRORS, PERMISSION_ERROR };
package/Connection.js CHANGED
@@ -3,6 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "ERRORS", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _socketClient.ERRORS;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "PERMISSION_ERROR", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _socketClient.PERMISSION_ERROR;
16
+ }
17
+ });
6
18
  Object.defineProperty(exports, "PROGRESS", {
7
19
  enumerable: true,
8
20
  get: function get() {
package/Connection.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Connection.js","names":["Connection"],"sources":["Connection.js"],"sourcesContent":["import { Connection, PROGRESS } from '@iobroker/socket-client';\n\nexport { PROGRESS };\n\nexport default Connection;\n"],"mappings":";;;;;;;;;;;;AAAA;AAA+D,eAIhDA,wBAAU;AAAA"}
1
+ {"version":3,"file":"Connection.js","names":["Connection"],"sources":["Connection.js"],"sourcesContent":["import { Connection, PROGRESS, ERRORS, PERMISSION_ERROR } from '@iobroker/socket-client';\n\nexport { PROGRESS, ERRORS, PERMISSION_ERROR };\n\nexport default Connection;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAyF,eAI1EA,wBAAU;AAAA"}
package/README.md CHANGED
@@ -10,7 +10,7 @@ If you want to create the configuration page with react:
10
10
  - Change `name` from `src` to `ADAPTERNAME-admin` (Of course replace `ADAPTERNAME` with yours)
11
11
  - Add to devDependencies:
12
12
  ```
13
- "@iobroker/adapter-react": "^4.0.1",
13
+ "@iobroker/adapter-react": "^4.0.3",
14
14
  ```
15
15
  Versions can be higher.
16
16
  So your src/package.json should look like:
@@ -611,7 +611,7 @@ This project uses icons from [Flaticon](https://www.flaticon.com/).
611
611
  ioBroker GmbH has a valid license for all of used icons.
612
612
  The icons may not be reused in other projects without the proper flaticon license or flaticon subscription.
613
613
 
614
- ## Migration to v5
614
+ ## Migration from adapter-react to adapter-react-v5
615
615
  ### In src/package.json => dependencies
616
616
  - `"@iobroker/adapter-react": "^2.0.22",` => `"@iobroker/adapter-react-v5": "^3.1.34",`
617
617
  - `"@material-ui/core": "^4.12.3",` => `"@mui/material": "^5.10.9",`
@@ -637,13 +637,33 @@ The icons may not be reused in other projects without the proper flaticon licens
637
637
 
638
638
  If you still have questions, try to find an answer [here](https://mui.com/guides/migration-v4/).
639
639
 
640
+ ## Migration from adapter-react-v5@3.x to adapter-react-v5@4.x
641
+ - Look for getObjectView socket requests and replace `socket.getObjectView('startKey', 'endKey', 'instance')` to `socket.getObjectViewSystem('instance', 'startKey', 'endKey')`
642
+ - Look for calls of custom like
643
+ ```
644
+ this.props.socket._socket.emit('getObjectView', 'system', 'custom', {startKey: '', endKey:'\u9999'}, (err, objs) => {
645
+ (objs?.rows || [])
646
+ .forEach(item => console.log(item.id, item.value));
647
+ });
648
+ ```
649
+ to
650
+ ```
651
+ socket.getObjectViewCustom('custom', 'state', 'startKey', 'endKey')
652
+ .then(objects => {
653
+ Object.keys(objects).forEach(obj => console.log(obj._id));
654
+ });
655
+ ```
656
+
640
657
  <!--
641
658
  Placeholder for the next version (at the beginning of the line):
642
659
  ### **WORK IN PROGRESS**
643
660
  -->
644
661
 
645
662
  ## Changelog
646
- ### 4.0.1 (2022-11-30)
663
+ ### 4.0.3 (2022-12-14)
664
+ * (bluefox) Added support of custom palette for color picker
665
+
666
+ ### 4.0.2 (2022-12-01)
647
667
  * (bluefox) use `@iobroker/socket-client` instead of `Connection.js`
648
668
 
649
669
  ### 3.5.3 (2022-11-30)
package/i18n.js CHANGED
@@ -69,6 +69,9 @@ var I18n = /*#__PURE__*/function () {
69
69
  Object.keys(words).forEach(function (lang) {
70
70
  var _words = {};
71
71
  Object.keys(words[lang]).forEach(function (word) {
72
+ if (!word) {
73
+ return;
74
+ }
72
75
  if (!word.startsWith(prefix)) {
73
76
  _words["".concat(prefix).concat(word)] = words[lang][word];
74
77
  } else {
package/i18n.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","names":["I18n","lang","words","prefix","Object","keys","forEach","_words","word","startsWith","console","warn","en","de","ru","translations","assign","e","error","translation","w","unknownTranslations","includes","push","_disableWarning","log","wordEn","args","arg","replace","filter","result","JSON","stringify","test","disable","window","sysLang","i18nShow","i18nDisableWarning","disableWarning"],"sources":["i18n.js"],"sourcesContent":["/***\n * Copyright 2018-2022 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 * List of unknown translations during development.\n * @type {string[]}\n */\n static unknownTranslations = [];\n\n /**\n * The currently displayed language.\n * @type {ioBroker.Languages}\n */\n static lang = window.sysLang || 'en';\n\n static _disableWarning = false;\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 // extend automatically all languages with prefix\n if (words.prefix) {\n if (typeof words.prefix === 'string') {\n const prefix = words.prefix;\n delete words.prefix;\n Object.keys(words).forEach(lang => {\n const _words = {};\n Object.keys(words[lang]).forEach(word => {\n if (!word.startsWith(prefix)) {\n _words[`${prefix}${word}`] = words[lang][word];\n } else {\n _words[word] = words[lang][word];\n }\n });\n words[lang] = _words;\n });\n } else {\n console.warn('Found prefix in translations, but it is not a string');\n }\n }\n\n try {\n if (!lang) {\n if (words.en && words.de && words.ru) {\n Object.keys(words).forEach(lang => {\n I18n.translations[lang] = I18n.translations[lang] || {};\n Object.assign(I18n.translations[lang], words[lang]);\n });\n } else {\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 }\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, ...) occurrences of %s\n */\n static t(word, ...args) {\n let translation = I18n.translations[I18n.lang];\n if (translation) {\n const w = translation[word];\n if (w) {\n word = w;\n } else {\n if (!I18n.unknownTranslations.includes(word)) {\n I18n.unknownTranslations.push(word);\n !I18n._disableWarning && console.log(`Translate: ${word}`);\n }\n // fallback to english\n if (I18n.lang !== 'en' && I18n.translations.en) {\n const wordEn = I18n.translations.en[word];\n if (wordEn) {\n word = wordEn;\n }\n }\n }\n }\n for (const arg of args) {\n word = word.replace('%s', arg);\n }\n return word;\n }\n\n /**\n * Show non-translated words\n * Required during development\n * @param {string | RegExp} filter filter words\n */\n static i18nShow(filter) {\n /**\n * List words with their translations.\n * @type {Record<string, string>}\n */\n const result = {};\n if (!filter) {\n I18n.unknownTranslations.forEach(word => {\n result[word] = word;\n });\n console.log(JSON.stringify(result, null, 2));\n } else if (typeof filter === 'string') {\n I18n.unknownTranslations.forEach(word => {\n if (word.startsWith(filter)) {\n result[word] = word.replace(filter, '');\n }\n });\n console.log(JSON.stringify(result, null, 2));\n } else if (typeof filter === 'object') {\n I18n.unknownTranslations.forEach(word => {\n if (filter.test(word)) {\n result[word] = word;\n }\n });\n console.log(JSON.stringify(result, null, 2));\n }\n }\n\n /**\n * Disable warning about non-translated words\n * Required during development\n * @param {boolean} disable Do the warning should be disabled\n */\n static disableWarning(disable) {\n I18n._disableWarning = !!disable;\n }\n}\n\n// install global handlers\nwindow.i18nShow = I18n.i18nShow;\nwindow.i18nDisableWarning = I18n.disableWarning;\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;"],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","names":["I18n","lang","words","prefix","Object","keys","forEach","_words","word","startsWith","console","warn","en","de","ru","translations","assign","e","error","translation","w","unknownTranslations","includes","push","_disableWarning","log","wordEn","args","arg","replace","filter","result","JSON","stringify","test","disable","window","sysLang","i18nShow","i18nDisableWarning","disableWarning"],"sources":["i18n.js"],"sourcesContent":["/***\n * Copyright 2018-2022 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 * List of unknown translations during development.\n * @type {string[]}\n */\n static unknownTranslations = [];\n\n /**\n * The currently displayed language.\n * @type {ioBroker.Languages}\n */\n static lang = window.sysLang || 'en';\n\n static _disableWarning = false;\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 // extend automatically all languages with prefix\n if (words.prefix) {\n if (typeof words.prefix === 'string') {\n const prefix = words.prefix;\n delete words.prefix;\n Object.keys(words).forEach(lang => {\n const _words = {};\n Object.keys(words[lang]).forEach(word => {\n if (!word) {\n return;\n }\n if (!word.startsWith(prefix)) {\n _words[`${prefix}${word}`] = words[lang][word];\n } else {\n _words[word] = words[lang][word];\n }\n });\n words[lang] = _words;\n });\n } else {\n console.warn('Found prefix in translations, but it is not a string');\n }\n }\n\n try {\n if (!lang) {\n if (words.en && words.de && words.ru) {\n Object.keys(words).forEach(lang => {\n I18n.translations[lang] = I18n.translations[lang] || {};\n Object.assign(I18n.translations[lang], words[lang]);\n });\n } else {\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 }\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, ...) occurrences of %s\n */\n static t(word, ...args) {\n let translation = I18n.translations[I18n.lang];\n if (translation) {\n const w = translation[word];\n if (w) {\n word = w;\n } else {\n if (!I18n.unknownTranslations.includes(word)) {\n I18n.unknownTranslations.push(word);\n !I18n._disableWarning && console.log(`Translate: ${word}`);\n }\n // fallback to english\n if (I18n.lang !== 'en' && I18n.translations.en) {\n const wordEn = I18n.translations.en[word];\n if (wordEn) {\n word = wordEn;\n }\n }\n }\n }\n for (const arg of args) {\n word = word.replace('%s', arg);\n }\n return word;\n }\n\n /**\n * Show non-translated words\n * Required during development\n * @param {string | RegExp} filter filter words\n */\n static i18nShow(filter) {\n /**\n * List words with their translations.\n * @type {Record<string, string>}\n */\n const result = {};\n if (!filter) {\n I18n.unknownTranslations.forEach(word => {\n result[word] = word;\n });\n console.log(JSON.stringify(result, null, 2));\n } else if (typeof filter === 'string') {\n I18n.unknownTranslations.forEach(word => {\n if (word.startsWith(filter)) {\n result[word] = word.replace(filter, '');\n }\n });\n console.log(JSON.stringify(result, null, 2));\n } else if (typeof filter === 'object') {\n I18n.unknownTranslations.forEach(word => {\n if (filter.test(word)) {\n result[word] = word;\n }\n });\n console.log(JSON.stringify(result, null, 2));\n }\n }\n\n /**\n * Disable warning about non-translated words\n * Required during development\n * @param {boolean} disable Do the warning should be disabled\n */\n static disableWarning(disable) {\n I18n._disableWarning = !!disable;\n }\n}\n\n// install global handlers\nwindow.i18nShow = I18n.i18nShow;\nwindow.i18nDisableWarning = I18n.disableWarning;\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;"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iobroker/adapter-react-v5",
3
- "version": "4.0.1",
3
+ "version": "4.0.3",
4
4
  "description": "React classes to develop admin interfaces for ioBroker with react.",
5
5
  "author": {
6
6
  "name": "bluefox",
@@ -29,19 +29,19 @@
29
29
  "dependencies": {
30
30
  "@emotion/react": "^11.10.5",
31
31
  "@emotion/styled": "^11.10.5",
32
- "@mui/icons-material": "^5.10.9",
33
- "@mui/material": "^5.10.12",
34
- "@mui/styles": "^5.10.10",
35
- "@mui/x-date-pickers": "5.0.2",
32
+ "@mui/icons-material": "^5.11.0",
33
+ "@mui/material": "^5.11.0",
34
+ "@mui/styles": "^5.11.0",
35
+ "@mui/x-date-pickers": "5.0.9",
36
36
  "@iobroker/socket-client": "^2.0.0",
37
37
  "react-cropper": "^2.1.8",
38
- "@sentry/browser": "^7.18.0",
39
- "@sentry/integrations": "^7.17.4",
38
+ "@sentry/browser": "^7.26.0",
39
+ "@sentry/integrations": "^7.26.0",
40
40
  "@types/iobroker": "^4.0.5",
41
41
  "react-color": "^2.19.3",
42
42
  "react-colorful": "^5.6.1",
43
43
  "react-dropzone": "^14.2.3",
44
- "react-icons": "^4.6.0",
44
+ "react-icons": "^4.7.1",
45
45
  "react-inlinesvg": "^3.0.1",
46
46
  "react-text-mask": "^5.5.0"
47
47
  }