@iobroker/adapter-react-v5 3.1.34 → 3.2.0

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 (244) hide show
  1. package/Components/404.js +0 -23
  2. package/Components/404.js.map +1 -1
  3. package/Components/ColorPicker.js +6 -37
  4. package/Components/ColorPicker.js.map +1 -1
  5. package/Components/ComplexCron.js +10 -84
  6. package/Components/ComplexCron.js.map +1 -1
  7. package/Components/CustomModal.js +29 -54
  8. package/Components/CustomModal.js.map +1 -1
  9. package/Components/FileBrowser.js +15 -265
  10. package/Components/FileBrowser.js.map +1 -1
  11. package/Components/FileViewer.js +7 -68
  12. package/Components/FileViewer.js.map +1 -1
  13. package/Components/Icon.d.ts +1 -1
  14. package/Components/Icon.js +2 -42
  15. package/Components/Icon.js.map +1 -1
  16. package/Components/IconPicker.js +6 -28
  17. package/Components/IconPicker.js.map +1 -1
  18. package/Components/IconSelector.js +3 -55
  19. package/Components/IconSelector.js.map +1 -1
  20. package/Components/Image.js +1 -38
  21. package/Components/Image.js.map +1 -1
  22. package/Components/JsonConfigComponent/ChipInput.js +66 -197
  23. package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
  24. package/Components/JsonConfigComponent/ConfigAlive.js +0 -31
  25. package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
  26. package/Components/JsonConfigComponent/ConfigAutocomplete.js +6 -39
  27. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
  28. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +6 -52
  29. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
  30. package/Components/JsonConfigComponent/ConfigCRON.js +5 -39
  31. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
  32. package/Components/JsonConfigComponent/ConfigCertificateSelect.js +4 -42
  33. package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
  34. package/Components/JsonConfigComponent/ConfigCheckbox.js +0 -28
  35. package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
  36. package/Components/JsonConfigComponent/ConfigChip.js +4 -33
  37. package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
  38. package/Components/JsonConfigComponent/ConfigColor.js +0 -34
  39. package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
  40. package/Components/JsonConfigComponent/ConfigCoordinates.js +0 -33
  41. package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
  42. package/Components/JsonConfigComponent/ConfigCustom.js +14 -73
  43. package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
  44. package/Components/JsonConfigComponent/ConfigDatePicker.js +0 -25
  45. package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
  46. package/Components/JsonConfigComponent/ConfigFile.js +0 -46
  47. package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
  48. package/Components/JsonConfigComponent/ConfigFileSelector.js +7 -126
  49. package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
  50. package/Components/JsonConfigComponent/ConfigFunc.js +0 -34
  51. package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
  52. package/Components/JsonConfigComponent/ConfigGeneric.js +15 -110
  53. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  54. package/Components/JsonConfigComponent/ConfigIP.js +2 -35
  55. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
  56. package/Components/JsonConfigComponent/ConfigImageUpload.js +4 -44
  57. package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
  58. package/Components/JsonConfigComponent/ConfigInstanceSelect.js +1 -59
  59. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  60. package/Components/JsonConfigComponent/ConfigJsonEditor.js +7 -40
  61. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
  62. package/Components/JsonConfigComponent/ConfigLanguage.js +2 -42
  63. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
  64. package/Components/JsonConfigComponent/ConfigNumber.js +2 -45
  65. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
  66. package/Components/JsonConfigComponent/ConfigObjectId.js +6 -40
  67. package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
  68. package/Components/JsonConfigComponent/ConfigPanel.js +7 -91
  69. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
  70. package/Components/JsonConfigComponent/ConfigPassword.js +0 -42
  71. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
  72. package/Components/JsonConfigComponent/ConfigPattern.js +0 -25
  73. package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
  74. package/Components/JsonConfigComponent/ConfigRoom.js +0 -34
  75. package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
  76. package/Components/JsonConfigComponent/ConfigSelect.js +4 -34
  77. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
  78. package/Components/JsonConfigComponent/ConfigSelectSendTo.js +11 -67
  79. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
  80. package/Components/JsonConfigComponent/ConfigSendto.js +8 -91
  81. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
  82. package/Components/JsonConfigComponent/ConfigSetState.js +0 -55
  83. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
  84. package/Components/JsonConfigComponent/ConfigSlider.js +0 -28
  85. package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
  86. package/Components/JsonConfigComponent/ConfigStaticDivider.js +0 -21
  87. package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
  88. package/Components/JsonConfigComponent/ConfigStaticHeader.js +0 -24
  89. package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
  90. package/Components/JsonConfigComponent/ConfigStaticImage.js +0 -23
  91. package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
  92. package/Components/JsonConfigComponent/ConfigStaticText.js +0 -31
  93. package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
  94. package/Components/JsonConfigComponent/ConfigTable.js +13 -105
  95. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  96. package/Components/JsonConfigComponent/ConfigTabs.js +2 -35
  97. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
  98. package/Components/JsonConfigComponent/ConfigText.js +0 -34
  99. package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
  100. package/Components/JsonConfigComponent/ConfigTextSendTo.js +0 -37
  101. package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
  102. package/Components/JsonConfigComponent/ConfigTimePicker.js +0 -25
  103. package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
  104. package/Components/JsonConfigComponent/ConfigTopic.js +0 -29
  105. package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
  106. package/Components/JsonConfigComponent/ConfigUser.js +2 -40
  107. package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
  108. package/Components/JsonConfigComponent/index.js +5 -81
  109. package/Components/JsonConfigComponent/index.js.map +1 -1
  110. package/Components/Loader.js +2 -20
  111. package/Components/Loader.js.map +1 -1
  112. package/Components/Loaders/PT.js +2 -20
  113. package/Components/Loaders/PT.js.map +1 -1
  114. package/Components/Loaders/Vendor.js +2 -21
  115. package/Components/Loaders/Vendor.js.map +1 -1
  116. package/Components/Logo.js +6 -39
  117. package/Components/Logo.js.map +1 -1
  118. package/Components/MDUtils.js +3 -27
  119. package/Components/MDUtils.js.map +1 -1
  120. package/Components/ObjectBrowser.d.ts +1 -1
  121. package/Components/ObjectBrowser.js +181 -788
  122. package/Components/ObjectBrowser.js.map +1 -1
  123. package/Components/Router.js +7 -31
  124. package/Components/Router.js.map +1 -1
  125. package/Components/SaveCloseButtons.js +2 -32
  126. package/Components/SaveCloseButtons.js.map +1 -1
  127. package/Components/Schedule.js +29 -251
  128. package/Components/Schedule.js.map +1 -1
  129. package/Components/SelectWithIcon.d.ts +1 -1
  130. package/Components/SelectWithIcon.js +0 -48
  131. package/Components/SelectWithIcon.js.map +1 -1
  132. package/Components/SimpleCron/cron2text.js +45 -91
  133. package/Components/SimpleCron/cron2text.js.map +1 -1
  134. package/Components/SimpleCron/cronText.js +0 -6
  135. package/Components/SimpleCron/cronText.js.map +1 -1
  136. package/Components/SimpleCron/index.js +19 -102
  137. package/Components/SimpleCron/index.js.map +1 -1
  138. package/Components/SimpleCron/jquery.cron.locale.js +44 -24
  139. package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
  140. package/Components/TabContainer.js +2 -23
  141. package/Components/TabContainer.js.map +1 -1
  142. package/Components/TabContent.js +2 -22
  143. package/Components/TabContent.js.map +1 -1
  144. package/Components/TabHeader.js +1 -17
  145. package/Components/TabHeader.js.map +1 -1
  146. package/Components/TableResize.js +6 -51
  147. package/Components/TableResize.js.map +1 -1
  148. package/Components/TextWithIcon.js +0 -20
  149. package/Components/TextWithIcon.js.map +1 -1
  150. package/Components/ToggleThemeMenu.js +5 -13
  151. package/Components/ToggleThemeMenu.js.map +1 -1
  152. package/Components/TreeTable.js +4 -121
  153. package/Components/TreeTable.js.map +1 -1
  154. package/Components/UploadImage.js +17 -60
  155. package/Components/UploadImage.js.map +1 -1
  156. package/Components/Utils.js +87 -263
  157. package/Components/Utils.js.map +1 -1
  158. package/Components/copy-to-clipboard.js +16 -38
  159. package/Components/copy-to-clipboard.js.map +1 -1
  160. package/Components/withWidth.js +2 -10
  161. package/Components/withWidth.js.map +1 -1
  162. package/Connection.d.ts +1 -0
  163. package/Connection.js +156 -527
  164. package/Connection.js.map +1 -1
  165. package/Dialogs/ComplexCron.js +0 -34
  166. package/Dialogs/ComplexCron.js.map +1 -1
  167. package/Dialogs/Confirm.js +1 -39
  168. package/Dialogs/Confirm.js.map +1 -1
  169. package/Dialogs/Cron.js +1 -37
  170. package/Dialogs/Cron.js.map +1 -1
  171. package/Dialogs/Error.d.ts +1 -1
  172. package/Dialogs/Error.js +2 -29
  173. package/Dialogs/Error.js.map +1 -1
  174. package/Dialogs/FileSelect.js +2 -36
  175. package/Dialogs/FileSelect.js.map +1 -1
  176. package/Dialogs/Message.js +2 -27
  177. package/Dialogs/Message.js.map +1 -1
  178. package/Dialogs/SelectID.d.ts +1 -1
  179. package/Dialogs/SelectID.js +3 -40
  180. package/Dialogs/SelectID.js.map +1 -1
  181. package/Dialogs/SimpleCron.js +1 -33
  182. package/Dialogs/SimpleCron.js.map +1 -1
  183. package/Dialogs/TextInput.js +2 -34
  184. package/Dialogs/TextInput.js.map +1 -1
  185. package/GenericApp.js +55 -150
  186. package/GenericApp.js.map +1 -1
  187. package/Prompt.js +0 -2
  188. package/Prompt.js.map +1 -1
  189. package/README.md +11 -4
  190. package/Theme.js +7 -22
  191. package/Theme.js.map +1 -1
  192. package/i18n/uk.json +326 -0
  193. package/i18n.d.ts +2 -0
  194. package/i18n.js +9 -29
  195. package/i18n.js.map +1 -1
  196. package/icons/IconAdapter.d.ts +2 -2
  197. package/icons/IconAdapter.js +2 -6
  198. package/icons/IconAdapter.js.map +1 -1
  199. package/icons/IconAlias.d.ts +2 -2
  200. package/icons/IconAlias.js +2 -6
  201. package/icons/IconAlias.js.map +1 -1
  202. package/icons/IconChannel.d.ts +2 -2
  203. package/icons/IconChannel.js +2 -6
  204. package/icons/IconChannel.js.map +1 -1
  205. package/icons/IconClearFilter.d.ts +2 -2
  206. package/icons/IconClearFilter.js +0 -5
  207. package/icons/IconClearFilter.js.map +1 -1
  208. package/icons/IconClosed.d.ts +2 -2
  209. package/icons/IconClosed.js +0 -5
  210. package/icons/IconClosed.js.map +1 -1
  211. package/icons/IconCopy.d.ts +2 -2
  212. package/icons/IconCopy.js +0 -5
  213. package/icons/IconCopy.js.map +1 -1
  214. package/icons/IconDevice.d.ts +2 -2
  215. package/icons/IconDevice.js +0 -5
  216. package/icons/IconDevice.js.map +1 -1
  217. package/icons/IconDocument.d.ts +2 -2
  218. package/icons/IconDocument.js +0 -5
  219. package/icons/IconDocument.js.map +1 -1
  220. package/icons/IconDocumentReadOnly.d.ts +2 -2
  221. package/icons/IconDocumentReadOnly.js +0 -5
  222. package/icons/IconDocumentReadOnly.js.map +1 -1
  223. package/icons/IconExpert.d.ts +2 -2
  224. package/icons/IconExpert.js +0 -5
  225. package/icons/IconExpert.js.map +1 -1
  226. package/icons/IconFx.d.ts +2 -2
  227. package/icons/IconFx.js +0 -5
  228. package/icons/IconFx.js.map +1 -1
  229. package/icons/IconInstance.d.ts +2 -2
  230. package/icons/IconInstance.js +0 -5
  231. package/icons/IconInstance.js.map +1 -1
  232. package/icons/IconLogout.d.ts +2 -2
  233. package/icons/IconLogout.js +0 -5
  234. package/icons/IconLogout.js.map +1 -1
  235. package/icons/IconNoIcon.d.ts +2 -2
  236. package/icons/IconNoIcon.js +0 -5
  237. package/icons/IconNoIcon.js.map +1 -1
  238. package/icons/IconOpen.d.ts +2 -2
  239. package/icons/IconOpen.js +0 -5
  240. package/icons/IconOpen.js.map +1 -1
  241. package/icons/IconState.d.ts +2 -2
  242. package/icons/IconState.js +0 -6
  243. package/icons/IconState.js.map +1 -1
  244. package/package.json +15 -15
@@ -1,55 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
14
  var _react = _interopRequireDefault(require("react"));
23
-
24
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
16
  var _IconNoIcon = _interopRequireDefault(require("../icons/IconNoIcon"));
27
-
28
17
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
29
-
30
18
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
-
32
19
  function getElementFromSource(src) {
33
20
  var svgContainer = document.createElement('div');
34
21
  svgContainer.innerHTML = src;
35
22
  var svg = svgContainer.firstElementChild;
36
-
37
23
  if (svg.remove) {
38
24
  svg.remove();
39
25
  } else {
40
26
  svgContainer.removeChild(svg);
41
27
  }
42
-
43
28
  svgContainer.remove();
44
29
  return svg;
45
30
  }
46
-
47
31
  function serializeAttrs(map) {
48
32
  var ret = {};
49
-
50
33
  for (var prop, i = 0; i < map.length; i++) {
51
34
  var key = map[i].name;
52
-
53
35
  if (key === 'class') {
54
36
  prop = 'className';
55
37
  } else if (!key.startsWith('data-')) {
@@ -59,12 +41,11 @@ function serializeAttrs(map) {
59
41
  } else {
60
42
  prop = key;
61
43
  }
62
-
63
44
  ret[prop] = map[i].value;
64
45
  }
65
-
66
46
  return ret;
67
47
  }
48
+
68
49
  /**
69
50
  * @typedef {object} ImageProps
70
51
  * @property {string} [color] The color.
@@ -75,16 +56,11 @@ function serializeAttrs(map) {
75
56
  *
76
57
  * @extends {React.Component<ImageProps>}
77
58
  */
78
-
79
-
80
59
  var Image = /*#__PURE__*/function (_React$Component) {
81
60
  (0, _inherits2["default"])(Image, _React$Component);
82
-
83
61
  var _super = _createSuper(Image);
84
-
85
62
  function Image(props) {
86
63
  var _this;
87
-
88
64
  (0, _classCallCheck2["default"])(this, Image);
89
65
  _this = _super.call(this, props);
90
66
  _this.state = {
@@ -98,18 +74,14 @@ var Image = /*#__PURE__*/function (_React$Component) {
98
74
  _this.svg = _this.state.svg ? _this.getSvgFromData(_this.state.src) : null;
99
75
  return _this;
100
76
  }
101
-
102
77
  (0, _createClass2["default"])(Image, [{
103
78
  key: "getSvgFromData",
104
79
  value: function getSvgFromData(src) {
105
80
  var len = 'data:image/svg+xml;base64,';
106
-
107
81
  if (!src.startsWith(len)) {
108
82
  return null;
109
83
  }
110
-
111
84
  src = src.substring(len.length);
112
-
113
85
  try {
114
86
  src = atob(src);
115
87
  var svg = getElementFromSource(src);
@@ -127,25 +99,21 @@ var Image = /*#__PURE__*/function (_React$Component) {
127
99
  }
128
100
  }));
129
101
  } catch (e) {}
130
-
131
102
  return null;
132
103
  }
133
104
  }, {
134
105
  key: "render",
135
106
  value: function render() {
136
107
  var _this2 = this;
137
-
138
108
  if (this.state.svg) {
139
109
  if (!this.state.created) {
140
110
  setTimeout(function () {
141
111
  _this2.svg = _this2.getSvgFromData(_this2.state.src);
142
-
143
112
  _this2.setState({
144
113
  created: true
145
114
  });
146
115
  }, 50);
147
116
  }
148
-
149
117
  return this.svg;
150
118
  } else if (this.state.src) {
151
119
  if (this.state.imgError || !this.state.src) {
@@ -175,31 +143,26 @@ var Image = /*#__PURE__*/function (_React$Component) {
175
143
  value: function getDerivedStateFromProps(props, state) {
176
144
  var newState = {};
177
145
  var changed = false;
178
-
179
146
  if (props && state && props.src !== state.src) {
180
147
  newState.src = props.src;
181
148
  newState.svg = props.src && props.src.startsWith('data:');
182
149
  newState.created = false;
183
150
  changed = true;
184
151
  }
185
-
186
152
  if (props && state && props.color !== state.color) {
187
153
  newState.color = props.color;
188
154
  newState.created = false;
189
155
  changed = true;
190
156
  }
191
-
192
157
  if (props && state && props.showError !== state.showError) {
193
158
  newState.showError = props.showError;
194
159
  changed = true;
195
160
  }
196
-
197
161
  return changed ? newState : null;
198
162
  }
199
163
  }]);
200
164
  return Image;
201
165
  }(_react["default"].Component);
202
-
203
166
  Image.propTypes = {
204
167
  color: _propTypes["default"].string,
205
168
  src: _propTypes["default"].string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","names":["getElementFromSource","src","svgContainer","document","createElement","innerHTML","svg","firstElementChild","remove","removeChild","serializeAttrs","map","ret","prop","i","length","key","name","startsWith","replace","g","toUpperCase","value","Image","props","state","created","color","imgError","showError","getSvgFromData","len","substring","atob","inner","svgProps","attributes","className","__html","e","setTimeout","setState","imagePrefix","newState","changed","React","Component","propTypes","PropTypes","string","isRequired"],"sources":["Image.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport IconNoIcon from '../icons/IconNoIcon';\n\nfunction getElementFromSource(src) {\n const svgContainer = document.createElement('div');\n svgContainer.innerHTML = src;\n const svg = svgContainer.firstElementChild;\n if (svg.remove) {\n svg.remove();\n } else {\n svgContainer.removeChild(svg);\n }\n\n svgContainer.remove();\n return svg;\n}\n\nfunction serializeAttrs(map) {\n const ret = {};\n for (let prop, i = 0; i < map.length; i++) {\n const key = map[i].name;\n if (key === 'class') {\n prop = 'className';\n }\n else if (!key.startsWith('data-')) {\n prop = key.replace(/[-|:]([a-z])/g, g => g[1].toUpperCase());\n } else {\n prop = key;\n }\n\n ret[prop] = map[i].value;\n }\n return ret;\n}\n\n/**\n * @typedef {object} ImageProps\n * @property {string} [color] The color.\n * @property {string} [src] The source of the image.\n * @property {string} [imagePrefix] The image prefix (default: './files/')\n * @property {string} [className] The CSS class name.\n * @property {boolean} [showError] Show image errors (or just show no image)?\n *\n * @extends {React.Component<ImageProps>}\n */\nclass Image extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n svg: !!(this.props.src && this.props.src.startsWith('data:')),\n created: true,\n color: this.props.color || '',\n src: this.props.src || '',\n imgError: false,\n showError: this.props.showError,\n };\n\n this.svg = this.state.svg ? this.getSvgFromData(this.state.src) : null;\n }\n\n static getDerivedStateFromProps(props, state) {\n const newState = {};\n let changed = false;\n\n if (props && state && props.src !== state.src) {\n newState.src = props.src;\n newState.svg = props.src && props.src.startsWith('data:');\n newState.created = false;\n changed = true;\n }\n\n if (props && state && props.color !== state.color) {\n newState.color = props.color;\n newState.created = false;\n changed = true;\n }\n\n if (props && state && props.showError !== state.showError) {\n newState.showError = props.showError;\n changed = true;\n }\n\n return changed ? newState : null;\n }\n\n getSvgFromData(src) {\n const len = 'data:image/svg+xml;base64,';\n if (!src.startsWith(len)) {\n return null;\n }\n src = src.substring(len.length);\n try {\n src = atob(src);\n const svg = getElementFromSource(src);\n const inner = svg.innerHTML;\n const svgProps = serializeAttrs(svg.attributes || []);\n\n svg.remove();\n\n return <svg\n className={this.props.className}\n style={this.state.color ? {color: this.state.color} : {}}\n {...svgProps}\n dangerouslySetInnerHTML={{ __html: inner }}\n />;\n } catch (e) {\n\n }\n return null;\n }\n\n render() {\n if (this.state.svg) {\n if (!this.state.created) {\n setTimeout(() => {\n this.svg = this.getSvgFromData(this.state.src);\n this.setState({created: true});\n }, 50);\n }\n\n return this.svg;\n } else if (this.state.src) {\n if (this.state.imgError || !this.state.src) {\n return <IconNoIcon className={this.props.className} />;\n } else {\n return <img\n className={this.props.className}\n src={(this.props.imagePrefix || '') + this.state.src}\n alt=\"\"\n onError={() => this.props.showError ? this.setState({imgError: true}) : this.setState({src: ''})}\n />;\n }\n } else {\n return null;\n }\n }\n}\n\nImage.propTypes = {\n color: PropTypes.string,\n src: PropTypes.string.isRequired,\n className: PropTypes.string,\n imagePrefix: PropTypes.string,\n};\n\nexport default Image;"],"mappings":"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"}
1
+ {"version":3,"file":"Image.js","names":["getElementFromSource","src","svgContainer","document","createElement","innerHTML","svg","firstElementChild","remove","removeChild","serializeAttrs","map","ret","prop","i","length","key","name","startsWith","replace","g","toUpperCase","value","Image","props","state","created","color","imgError","showError","getSvgFromData","len","substring","atob","inner","svgProps","attributes","className","__html","e","setTimeout","setState","imagePrefix","newState","changed","React","Component","propTypes","PropTypes","string","isRequired"],"sources":["Image.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport IconNoIcon from '../icons/IconNoIcon';\n\nfunction getElementFromSource(src) {\n const svgContainer = document.createElement('div');\n svgContainer.innerHTML = src;\n const svg = svgContainer.firstElementChild;\n if (svg.remove) {\n svg.remove();\n } else {\n svgContainer.removeChild(svg);\n }\n\n svgContainer.remove();\n return svg;\n}\n\nfunction serializeAttrs(map) {\n const ret = {};\n for (let prop, i = 0; i < map.length; i++) {\n const key = map[i].name;\n if (key === 'class') {\n prop = 'className';\n }\n else if (!key.startsWith('data-')) {\n prop = key.replace(/[-|:]([a-z])/g, g => g[1].toUpperCase());\n } else {\n prop = key;\n }\n\n ret[prop] = map[i].value;\n }\n return ret;\n}\n\n/**\n * @typedef {object} ImageProps\n * @property {string} [color] The color.\n * @property {string} [src] The source of the image.\n * @property {string} [imagePrefix] The image prefix (default: './files/')\n * @property {string} [className] The CSS class name.\n * @property {boolean} [showError] Show image errors (or just show no image)?\n *\n * @extends {React.Component<ImageProps>}\n */\nclass Image extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n svg: !!(this.props.src && this.props.src.startsWith('data:')),\n created: true,\n color: this.props.color || '',\n src: this.props.src || '',\n imgError: false,\n showError: this.props.showError,\n };\n\n this.svg = this.state.svg ? this.getSvgFromData(this.state.src) : null;\n }\n\n static getDerivedStateFromProps(props, state) {\n const newState = {};\n let changed = false;\n\n if (props && state && props.src !== state.src) {\n newState.src = props.src;\n newState.svg = props.src && props.src.startsWith('data:');\n newState.created = false;\n changed = true;\n }\n\n if (props && state && props.color !== state.color) {\n newState.color = props.color;\n newState.created = false;\n changed = true;\n }\n\n if (props && state && props.showError !== state.showError) {\n newState.showError = props.showError;\n changed = true;\n }\n\n return changed ? newState : null;\n }\n\n getSvgFromData(src) {\n const len = 'data:image/svg+xml;base64,';\n if (!src.startsWith(len)) {\n return null;\n }\n src = src.substring(len.length);\n try {\n src = atob(src);\n const svg = getElementFromSource(src);\n const inner = svg.innerHTML;\n const svgProps = serializeAttrs(svg.attributes || []);\n\n svg.remove();\n\n return <svg\n className={this.props.className}\n style={this.state.color ? {color: this.state.color} : {}}\n {...svgProps}\n dangerouslySetInnerHTML={{ __html: inner }}\n />;\n } catch (e) {\n\n }\n return null;\n }\n\n render() {\n if (this.state.svg) {\n if (!this.state.created) {\n setTimeout(() => {\n this.svg = this.getSvgFromData(this.state.src);\n this.setState({created: true});\n }, 50);\n }\n\n return this.svg;\n } else if (this.state.src) {\n if (this.state.imgError || !this.state.src) {\n return <IconNoIcon className={this.props.className} />;\n } else {\n return <img\n className={this.props.className}\n src={(this.props.imagePrefix || '') + this.state.src}\n alt=\"\"\n onError={() => this.props.showError ? this.setState({imgError: true}) : this.setState({src: ''})}\n />;\n }\n } else {\n return null;\n }\n }\n}\n\nImage.propTypes = {\n color: PropTypes.string,\n src: PropTypes.string.isRequired,\n className: PropTypes.string,\n imagePrefix: PropTypes.string,\n};\n\nexport default Image;"],"mappings":"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"}