@iobroker/adapter-react-v5 6.0.12 → 6.0.13

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.
@@ -15,6 +15,7 @@
15
15
  */
16
16
  import React, { Component } from 'react';
17
17
  import { type RGBColor } from 'react-color';
18
+ import { IobTheme } from '../types';
18
19
  interface ColorPickerProps {
19
20
  /** Set to true to disable the color picker. */
20
21
  disabled?: boolean;
@@ -32,11 +33,11 @@ interface ColorPickerProps {
32
33
  style?: React.CSSProperties;
33
34
  /** The CSS class name. */
34
35
  className?: string;
35
- /** Open the color picker above the field? */
36
36
  customPalette?: string[];
37
37
  noInputField?: boolean;
38
38
  barWidth?: number;
39
39
  sx?: Record<string, any>;
40
+ theme?: IobTheme;
40
41
  }
41
42
  interface ColorPickerState {
42
43
  displayColorPicker: boolean;
@@ -53,15 +53,13 @@ const styles = {
53
53
  borderRadius: 2,
54
54
  },
55
55
  delButton: {
56
- // width: 32,
57
- // height: 32,
58
56
  marginTop: 16,
59
57
  },
60
58
  swatch: {
61
- marginTop: 16,
62
- padding: 5,
63
- background: 'background.paper',
64
- borderRadius: 1,
59
+ mt: '16px',
60
+ p: '5px',
61
+ backgroundColor: 'background.paper',
62
+ borderRadius: '1px',
65
63
  boxShadow: '0 0 0 1px rgba(0,0,0,.1)',
66
64
  display: 'inline-block',
67
65
  cursor: 'pointer',
@@ -72,10 +70,11 @@ const styles = {
72
70
  cursor: 'default',
73
71
  },
74
72
  popover: {
75
- // position: 'absolute',
76
- // zIndex: 2,
77
- backgroundColor: '#00000000',
78
- textAlign: 'right',
73
+ '& .MuiPaper-root': {
74
+ textAlign: 'right',
75
+ backgroundColor: '#00000000',
76
+ boxShadow: 'none',
77
+ },
79
78
  },
80
79
  popoverList: {
81
80
  padding: 0,
@@ -189,30 +188,25 @@ class ColorPicker extends react_1.Component {
189
188
  react_1.default.createElement("div", { style: Object.assign(Object.assign({}, styles.iconButton), { background: color }) }))));
190
189
  }
191
190
  render() {
191
+ var _a;
192
192
  const style = Object.assign({}, (this.props.style || {}));
193
193
  style.position = 'relative';
194
194
  const { color } = this.state;
195
195
  return react_1.default.createElement(material_1.Box, { component: "div", style: style, sx: this.props.sx || undefined, className: this.props.className || '' },
196
- this.props.noInputField ? null : react_1.default.createElement(material_1.TextField, { disabled: this.props.disabled, variant: "standard", id: "ar_color_picker_name", label: this.props.label || this.props.name || 'color', value: color || '', margin: "dense", sx: {
196
+ this.props.noInputField ? null : react_1.default.createElement(material_1.TextField, { disabled: this.props.disabled, variant: "standard", id: "ar_color_picker_name", label: this.props.label || this.props.name, value: color || '', margin: "dense", sx: {
197
197
  '&.MuiFormControl-root': styles.textDense,
198
198
  width: color ? 'calc(100% - 80px)' : 'calc(100% - 56px)',
199
199
  mr: color ? undefined : 1,
200
200
  }, onChange: e => this.handleChange(e.target.value) }),
201
- !this.props.noInputField && color ? react_1.default.createElement(material_1.IconButton, { disabled: this.props.disabled, onClick: () => this.handleChange(''), size: "small", style: Object.assign(Object.assign({}, styles.delButton), (color ? undefined : { opacity: 0, cursor: 'default' })) },
201
+ !this.props.noInputField && color ? react_1.default.createElement(material_1.IconButton, { disabled: this.props.disabled, onClick: () => this.handleChange(''), size: "small", style: Object.assign(Object.assign({}, (this.props.label || this.props.name ? styles.delButton : undefined)), (color ? undefined : { opacity: 0, cursor: 'default' })) },
202
202
  react_1.default.createElement(icons_material_1.Delete, null)) : null,
203
- react_1.default.createElement("div", { onClick: e => !this.props.disabled && this.handleClick(e), title: i18n_1.default.t('ra_Select color'), style: Object.assign(Object.assign(Object.assign({}, styles.swatch), (this.props.disabled ? styles.swatchDisabled : undefined)), { background: color ? undefined : 'transparent', border: color ? undefined : '1px dashed #ccc', boxSizing: 'border-box', marginTop: this.props.noInputField ? 0 : undefined }) },
204
- react_1.default.createElement("div", { style: Object.assign(Object.assign({}, styles.color), { background: ColorPicker.getColor(color), width: this.props.noInputField ? (this.props.barWidth || 16) : (this.props.barWidth || undefined) }) })),
205
- this.state.displayColorPicker && !this.props.disabled ? react_1.default.createElement(material_1.Menu, { classes: { paper: styles.popover, list: styles.popoverList }, anchorEl: this.state.anchorEl, open: !0, onClose: () => this.handleClose() },
206
- react_1.default.createElement(react_color_1.ChromePicker
207
- // todo
208
- // sx={styles.picker}
209
- , {
210
- // todo
211
- // sx={styles.picker}
212
- color: this.state.color || undefined, onChangeComplete: _color => this.handleChange(_color.rgb), styles: {
203
+ react_1.default.createElement(material_1.Box, { component: "div", onClick: e => !this.props.disabled && this.handleClick(e), title: i18n_1.default.t('ra_Select color'), sx: Object.assign(Object.assign(Object.assign({}, styles.swatch), (this.props.disabled ? styles.swatchDisabled : undefined)), { background: color ? undefined : 'transparent', border: color ? undefined : '1px dashed #ccc', boxSizing: 'border-box', marginTop: this.props.noInputField || !(this.props.label || this.props.name) ? 0 : undefined }) },
204
+ react_1.default.createElement("div", { style: Object.assign(Object.assign({}, styles.color), { background: ColorPicker.getColor(color), width: this.props.noInputField ? (this.props.barWidth || 16) : this.props.barWidth || 36 }) })),
205
+ this.state.displayColorPicker && !this.props.disabled ? react_1.default.createElement(material_1.Menu, { sx: Object.assign(Object.assign({}, styles.popover), { '&. MuiMenu-list': styles.popoverList }), anchorEl: this.state.anchorEl, open: !0, onClose: () => this.handleClose() },
206
+ react_1.default.createElement(react_color_1.ChromePicker, { color: this.state.color || undefined, onChangeComplete: (_color) => this.handleChange(_color.rgb), styles: {
213
207
  default: {
214
208
  picker: {
215
- backgroundColor: '#112233',
209
+ backgroundColor: ((_a = this.props.theme) === null || _a === void 0 ? void 0 : _a.palette.background.paper) || '#888',
216
210
  },
217
211
  },
218
212
  } }),
package/README.md CHANGED
@@ -771,6 +771,9 @@ The best practice is to replace `padding` with `p` and `margin` with `m`, so you
771
771
  -->
772
772
 
773
773
  ## Changelog
774
+ ### 6.0.13 (2024-06-30)
775
+ * (bluefox) Corrected color picker
776
+
774
777
  ### 6.0.12 (2024-06-29)
775
778
  * (bluefox) Added support for the overrides in the theme
776
779
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iobroker/adapter-react-v5",
3
- "version": "6.0.12",
3
+ "version": "6.0.13",
4
4
  "description": "React classes to develop admin interfaces for ioBroker with react.",
5
5
  "author": {
6
6
  "name": "Denis Haev (bluefox)",