iobroker.vis-2-widgets-collection 1.8.1 → 2.0.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.
- package/README.md +24 -0
- package/io-package.json +16 -15
- package/package.json +20 -20
- package/widgets/vis-2-widgets-collection/customWidgets.js +2691 -2
- package/widgets/vis-2-widgets-collection/asset-manifest.json +0 -59
- package/widgets/vis-2-widgets-collection/customWidgets.js.map +0 -1
- package/widgets/vis-2-widgets-collection/img/prev-collection-checkbox.png +0 -0
- package/widgets/vis-2-widgets-collection/img/prev-collection-dialog.png +0 -0
- package/widgets/vis-2-widgets-collection/img/prev-collection-gauge.png +0 -0
- package/widgets/vis-2-widgets-collection/img/prev-collection-light.png +0 -0
- package/widgets/vis-2-widgets-collection/img/prev-collection-radio-group.png +0 -0
- package/widgets/vis-2-widgets-collection/img/prev-collection-select.png +0 -0
- package/widgets/vis-2-widgets-collection/index.html +0 -1
- package/widgets/vis-2-widgets-collection/static/js/main.61661d92.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/main.61661d92.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/node_modules_prop-types_index_js.7f922324.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/node_modules_prop-types_index_js.7f922324.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/node_modules_react_index_js.a5285de4.chunk.js +0 -3
- package/widgets/vis-2-widgets-collection/static/js/node_modules_react_index_js.a5285de4.chunk.js.LICENSE.txt +0 -9
- package/widgets/vis-2-widgets-collection/static/js/node_modules_react_index_js.a5285de4.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/src_ButtonGroupCollectionWidget_ButtonGroupCollectionWidget_jsx.6714917c.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/src_ButtonGroupCollectionWidget_ButtonGroupCollectionWidget_jsx.6714917c.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/src_CheckboxCollectionWidget_CheckboxCollectionWidget_jsx.45087583.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/src_CheckboxCollectionWidget_CheckboxCollectionWidget_jsx.45087583.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/src_DialogCollectionWidget_DialogCollectionWidget_jsx.bc8befed.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/src_DialogCollectionWidget_DialogCollectionWidget_jsx.bc8befed.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/src_GaugeCollectionWidget_GaugeCollectionWidget_jsx.6b7eda92.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/src_GaugeCollectionWidget_GaugeCollectionWidget_jsx.6b7eda92.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/src_LightCollectionWidget_LightCollectionWidget_jsx.fb54720e.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/src_LightCollectionWidget_LightCollectionWidget_jsx.fb54720e.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/src_RadioGroupCollectionWidget_RadioGroupCollectionWidget_jsx.c12bfcb8.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/src_RadioGroupCollectionWidget_RadioGroupCollectionWidget_jsx.c12bfcb8.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/src_SelectCollectionWidget_SelectCollectionWidget_jsx.a8694cbf.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/src_SelectCollectionWidget_SelectCollectionWidget_jsx.a8694cbf.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/src_StateCollectionWidget_StateCollectionWidget_jsx.f9a0cb99.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/src_StateCollectionWidget_StateCollectionWidget_jsx.f9a0cb99.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/src_SwitchCollectionWidget_SwitchCollectionWidget_jsx.a4aed4b6.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/src_SwitchCollectionWidget_SwitchCollectionWidget_jsx.a4aed4b6.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/src_components_CollectionDivider_jsx.bf1c1de5.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/src_components_CollectionDivider_jsx.bf1c1de5.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/src_translations_js.c2b86983.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/src_translations_js.c2b86983.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_canvas-gauges_gauge_min_js.d2cb37fb.chunk.js +0 -3
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_canvas-gauges_gauge_min_js.d2cb37fb.chunk.js.LICENSE.txt +0 -25
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_canvas-gauges_gauge_min_js.d2cb37fb.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_jaames_iro_dist_iro_es_js-node_modules_mui_icons-material_PowerSettingsNew_js.cffe4b84.chunk.js +0 -3
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_jaames_iro_dist_iro_es_js-node_modules_mui_icons-material_PowerSettingsNew_js.cffe4b84.chunk.js.LICENSE.txt +0 -6
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_jaames_iro_dist_iro_es_js-node_modules_mui_icons-material_PowerSettingsNew_js.cffe4b84.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_icons-material_Delete_js-node_modules_rxjs_dist_esm5_internal_Subjec-42397f.bb47ef22.chunk.js +0 -3
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_icons-material_Delete_js-node_modules_rxjs_dist_esm5_internal_Subjec-42397f.bb47ef22.chunk.js.LICENSE.txt +0 -18
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_icons-material_Delete_js-node_modules_rxjs_dist_esm5_internal_Subjec-42397f.bb47ef22.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_material_Switch_Switch_js.928081a1.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_material_Switch_Switch_js.928081a1.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_material_index_js.8ba01614.chunk.js +0 -3
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_material_index_js.8ba01614.chunk.js.LICENSE.txt +0 -7
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_material_index_js.8ba01614.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_material_styles_useTheme_js-node_modules_mui_material_utils_index_js.d38263c1.chunk.js +0 -3
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_material_styles_useTheme_js-node_modules_mui_material_utils_index_js.d38263c1.chunk.js.LICENSE.txt +0 -9
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_material_styles_useTheme_js-node_modules_mui_material_utils_index_js.d38263c1.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_styled-engine_index_js-node_modules_mui_system_esm_DefaultPropsProvi-fe7987.9c21ae2e.chunk.js +0 -3
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_styled-engine_index_js-node_modules_mui_system_esm_DefaultPropsProvi-fe7987.9c21ae2e.chunk.js.LICENSE.txt +0 -18
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_styled-engine_index_js-node_modules_mui_system_esm_DefaultPropsProvi-fe7987.9c21ae2e.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_system_esm_RtlProvider_index_js-node_modules_mui_system_esm_Unstable-9da0e4.116e9fa1.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_system_esm_RtlProvider_index_js-node_modules_mui_system_esm_Unstable-9da0e4.116e9fa1.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_system_esm_index_js.b8618c63.chunk.js +0 -2
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_mui_system_esm_index_js.b8618c63.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_react-dom_index_js.190f0c6e.chunk.js +0 -3
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_react-dom_index_js.190f0c6e.chunk.js.LICENSE.txt +0 -19
- package/widgets/vis-2-widgets-collection/static/js/vendors-node_modules_react-dom_index_js.190f0c6e.chunk.js.map +0 -1
- package/widgets/vis-2-widgets-collection/static/media/colorWheel.275a183afdc7f1fdc3c81de08d07fe27.svg +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/src_components_CollectionDivider_jsx.bf1c1de5.chunk.js","mappings":"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","sources":["Generic.jsx","lib/sliderFields.jsx","SliderCollectionWidget/CollectionMark.jsx","SliderCollectionWidget/SliderCollection.jsx","SliderCollectionWidget/SliderCollectionWidget.jsx","hooks/useSignals.js","hooks/useSize.js","components/CollectionBase.jsx","components/CollectionBaseImage.jsx","components/CollectionDivider.jsx","components/CollectionProvider.jsx","components/withCollectionProvider.jsx","hooks/useData.js","hooks/useElementDimensions.js","hooks/useOidValue.js","hooks/useStyles.js","lib/helper/isNumber.js","hooks/useDebounce.js","hooks/useValueState.js","components/CollectionGradientColorPicker.jsx","lib/commonFields.jsx","lib/commonObjectFields.jsx","lib/delayFields.js"],"sourcesContent":["import { Box, CssBaseline } from \"@mui/material\";\n\nconst VALUE_NOT_CHANGED_TIMESTAMP = 1111111111111;\n\nclass Generic extends window.visRxWidget {\n\tstatic getI18nPrefix() {\n\t\treturn \"vis_2_widgets_collection_\";\n\t}\n\n\tgetPropertyValue = (stateName) =>\n\t\tthis.state.values[`${this.state.rxData[stateName]}.val`];\n\n\thasPropertyValueChanged = (stateName) => {\n\t\tconst lastChange = this.state.values[`${this.state.rxData[stateName]}.lc`];\n\t\tconst timestamp = this.state.values[`${this.state.rxData[stateName]}.ts`];\n\t\tconst ack = this.state.values[`${this.state.rxData[stateName]}.ack`];\n\n\t\t//console.log(\"stateName\", stateName);\n\t\t//console.log(\"lastChange\", lastChange);\n\t\t//console.log(\"timestamp\", timestamp);\n\t\t//console.log(\"ack\", ack);\n\n\t\tif (lastChange === VALUE_NOT_CHANGED_TIMESTAMP) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn timestamp === lastChange && ack === false;\n\t};\n\n\tsetValue = (id, value, ack = false) => {\n\t\tif (!id || id === \"nothing_selected\") return;\n\n\t\tthis.props.context.socket\n\t\t\t.setState(id, value, ack)\n\t\t\t.catch((e) => console.error(`Cannot set state ${id}: ${e}`));\n\t};\n\n\tasync getParentObject(id) {\n\t\tconst parts = id.split(\".\");\n\t\tparts.pop();\n\t\tconst parentOID = parts.join(\".\");\n\t\treturn this.props.context.socket.getObject(parentOID);\n\t}\n\n\tstatic getObjectIcon(obj, id, imagePrefix) {\n\t\timagePrefix = imagePrefix || \"../..\"; // http://localhost:8081';\n\t\tlet src = \"\";\n\t\tconst common = obj && obj.common;\n\n\t\tif (common) {\n\t\t\tconst cIcon = common.icon;\n\t\t\tif (cIcon) {\n\t\t\t\tif (!cIcon.startsWith(\"data:image/\")) {\n\t\t\t\t\tif (cIcon.includes(\".\")) {\n\t\t\t\t\t\tlet instance;\n\t\t\t\t\t\tif (obj.type === \"instance\" || obj.type === \"adapter\") {\n\t\t\t\t\t\t\tsrc = `${imagePrefix}/adapter/${common.name}/${cIcon}`;\n\t\t\t\t\t\t} else if (id && id.startsWith(\"system.adapter.\")) {\n\t\t\t\t\t\t\tinstance = id.split(\".\", 3);\n\t\t\t\t\t\t\tif (cIcon[0] === \"/\") {\n\t\t\t\t\t\t\t\tinstance[2] += cIcon;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tinstance[2] += `/${cIcon}`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsrc = `${imagePrefix}/adapter/${instance[2]}`;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tinstance = id.split(\".\", 2);\n\t\t\t\t\t\t\tif (cIcon[0] === \"/\") {\n\t\t\t\t\t\t\t\tinstance[0] += cIcon;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tinstance[0] += `/${cIcon}`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsrc = `${imagePrefix}/adapter/${instance[0]}`;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsrc = cIcon;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn src || null;\n\t}\n\n\tasync createStateObjectAsync(stateName) {\n\t\tif (\n\t\t\t!this.state.rxData[stateName] ||\n\t\t\tthis.state.rxData[stateName] === \"nothing_selected\"\n\t\t) {\n\t\t\tthis.setState({ [`${stateName}Object`]: { common: {}, noObject: true } });\n\n\t\t\tif (this.state.rxData.icon) {\n\t\t\t\tthis.setState({\n\t\t\t\t\t[`${stateName}Object`]: {\n\t\t\t\t\t\tcommon: {\n\t\t\t\t\t\t\ticon: this.state.rxData.icon,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tnoObject: true,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\t\t// read object itself\n\t\tlet object = await this.props.context.socket.getObject(\n\t\t\tthis.state.rxData[stateName],\n\t\t);\n\n\t\tif (!object) {\n\t\t\tobject = { common: {}, noObject: true };\n\t\t} else {\n\t\t\tobject = {\n\t\t\t\tcommon: object.common,\n\t\t\t\t_id: object._id,\n\t\t\t\ttype: object.type,\n\t\t\t\tnoObject: false,\n\t\t\t};\n\t\t}\n\n\t\tobject.common = object.common || {};\n\t\tif (object.common.type === \"number\") {\n\t\t\tif (object.common.max === undefined) {\n\t\t\t\tobject.common.max = 100;\n\t\t\t}\n\t\t\tif (object.common.min === undefined) {\n\t\t\t\tobject.common.min = 0;\n\t\t\t}\n\t\t}\n\n\t\tif (object.common.states && Array.isArray(object.common.states)) {\n\t\t\t// convert to {'state1': 'state1', 'state2': 'state2', ...}\n\t\t\tconst states = {};\n\t\t\tobject.common.states.forEach((state) => {\n\t\t\t\tstates[state] = state;\n\t\t\t});\n\t\t\tobject.common.states = states;\n\t\t}\n\n\t\tif (object.common.name && typeof object.common.name === \"object\") {\n\t\t\tobject.common.name =\n\t\t\t\tobject.common.name[Generic.getLanguage()] || object.common.name.en;\n\t\t}\n\n\t\tif (\n\t\t\tJSON.stringify(this.state[`${stateName}Object`]) !==\n\t\t\tJSON.stringify(object)\n\t\t) {\n\t\t\tthis.setState({ [`${stateName}Object`]: object });\n\t\t}\n\t}\n\n\twrapContent(content) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<CssBaseline />\n\t\t\t\t<Box\n\t\t\t\t\tclassName=\"GENERIC-0\"\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\t\toverflow: \"hidden\",\n\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\theight: \"100%\",\n\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Box\n\t\t\t\t\t\tclassName=\"GENERIC-1\"\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\twidth: this.wrappedContent ? \"calc(100% - 8px)\" : \"100%\",\n\t\t\t\t\t\t\theight: this.wrappedContent ? \"calc(100% - 8px)\" : \"100%\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</Box>\n\t\t\t\t</Box>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default Generic;\n","import CollectionDivider from \"../components/CollectionDivider\";\n\nconst sliderFields = () => [\n\t{\n\t\ttype: \"custom\",\n\t\tcomponent: () => <CollectionDivider />,\n\t},\n\t{\n\t\tname: \"sliderSize\",\n\t\tlabel: \"slider_size\",\n\t\ttype: \"select\",\n\t\toptions: [\n\t\t\t{ value: \"small\", label: \"slider_small\" },\n\t\t\t{ value: \"medium\", label: \"slider_medium\" },\n\t\t],\n\t\tdefault: \"medium\",\n\t},\n\t{\n\t\tname: \"sliderOrientation\",\n\t\tlabel: \"slider_orientation\",\n\t\ttype: \"select\",\n\t\toptions: [\n\t\t\t{ value: \"horizontal\", label: \"horizontal\" },\n\t\t\t{ value: \"vertical\", label: \"vertical\" },\n\t\t],\n\t\tdefault: \"horizontal\",\n\t},\n\t{\n\t\tname: \"valueLabelDisplay\",\n\t\tlabel: \"value_label_display\",\n\t\ttype: \"select\",\n\t\toptions: [\n\t\t\t{ value: \"on\", label: \"label_on\" },\n\t\t\t{ value: \"off\", label: \"label_off\" },\n\t\t\t{ value: \"auto\", label: \"label_auto\" },\n\t\t],\n\t\tdefault: \"off\",\n\t},\n\t{\n\t\tname: \"labelPosition\",\n\t\tlabel: \"label_position\",\n\t\ttype: \"text\",\n\t\tdefault: \"-5px\",\n\t\thidden: \"data.valueLabelDisplay === 'off'\",\n\t},\n\t{\n\t\tname: \"sliderColor\",\n\t\tlabel: \"slider_color\",\n\t\ttype: \"color\",\n\t},\n\t{\n\t\ttype: \"custom\",\n\t\tcomponent: () => <CollectionDivider dividerText=\"values\" />,\n\t},\n\t{\n\t\tname: \"minValue\",\n\t\ttype: \"number\",\n\t\tlabel: \"min_value\",\n\t\tdefault: 0,\n\t},\n\t{\n\t\tname: \"maxValue\",\n\t\ttype: \"number\",\n\t\tlabel: \"max_value\",\n\t\tdefault: 100,\n\t},\n\t{\n\t\tname: \"step\",\n\t\ttype: \"number\",\n\t\tlabel: \"step\",\n\t\tdefault: 10,\n\t},\n\t{\n\t\ttype: \"custom\",\n\t\tcomponent: () => <CollectionDivider />,\n\t\thidden: \"!data.values_count\",\n\t},\n\t{\n\t\tname: \"onlyStates\",\n\t\ttype: \"checkbox\",\n\t\tlabel: \"only_states\",\n\t\tdefault: false,\n\t\thidden: \"!data.values_count\",\n\t},\n\t{\n\t\ttype: \"custom\",\n\t\tcomponent: () => <CollectionDivider dividerText=\"marks\" />,\n\t},\n\t{\n\t\tname: \"marks\",\n\t\ttype: \"checkbox\",\n\t\tlabel: \"marks\",\n\t\tdefault: false,\n\t\t// hidden: \"data.onlyStates\",\n\t},\n\t{\n\t\ttype: \"custom\",\n\t\tcomponent: () => <CollectionDivider />,\n\t\thidden: \"!data.marks\",\n\t},\n\t{\n\t\tname: \"markPosition\",\n\t\tlabel: \"mark_position\",\n\t\ttype: \"text\",\n\t\tdefault: \"30px\",\n\t\thidden: \"!data.marks\",\n\t},\n\t{\n\t\tname: \"markStep\",\n\t\ttype: \"number\",\n\t\tlabel: \"mark_step\",\n\t\tdefault: 10,\n\t\thidden: \"!data.marks\",\n\t},\n\t{\n\t\ttype: \"custom\",\n\t\tcomponent: () => <CollectionDivider />,\n\t\thidden: \"!data.marks\",\n\t},\n\t{\n\t\tname: \"markerTextColor\",\n\t\tlabel: \"text_color\",\n\t\ttype: \"color\",\n\t\thidden: \"!data.marks\",\n\t},\n\t{\n\t\tname: \"markerTextSize\",\n\t\tlabel: \"marker_text_size\",\n\t\ttype: \"slider\",\n\t\tmin: 0,\n\t\tmax: 500,\n\t\tdefault: 80,\n\t\tstep: 1,\n\t\thidden: \"!data.marks\",\n\t},\n\t{\n\t\ttype: \"custom\",\n\t\tcomponent: () => <CollectionDivider dividerText=\"icon\" />,\n\t},\n\t{\n\t\tname: \"iconSmallMin\",\n\t\tlabel: \"icon_small_min\",\n\t\ttype: \"icon64\",\n\t\thidden: \"data.iconMin\",\n\t},\n\t{\n\t\tname: \"iconMin\",\n\t\tlabel: \"icon_min\",\n\t\ttype: \"image\",\n\t\thidden: \"data.iconSmallMin\",\n\t},\n\t{\n\t\tname: \"iconSizeStart\",\n\t\tlabel: \"icon_size\",\n\t\ttype: \"text\",\n\t\tdefault: \"24px\",\n\t\thidden: \"!data.iconMin && !data.iconSmallMin\",\n\t},\n\t{\n\t\tname: \"startIconColor\",\n\t\tlabel: \"icon_color\",\n\t\ttype: \"color\",\n\t\thidden: \"!data.iconMin && !data.iconSmallMin\",\n\t},\n\t{\n\t\ttype: \"custom\",\n\t\tcomponent: () => <CollectionDivider dividerText=\"icon\" />,\n\t},\n\t{\n\t\tname: \"iconSmallMax\",\n\t\tlabel: \"icon_small_max\",\n\t\ttype: \"icon64\",\n\t\thidden: \"data.iconMax\",\n\t},\n\t{\n\t\tname: \"iconMax\",\n\t\tlabel: \"icon_max\",\n\t\ttype: \"image\",\n\t\thidden: \"data.iconSmallMax\",\n\t},\n\t{\n\t\tname: \"iconSizeEnd\",\n\t\tlabel: \"icon_size\",\n\t\ttype: \"text\",\n\t\tdefault: \"24px\",\n\t\thidden: \"!data.iconMax && !data.iconSmallMax\",\n\t},\n\t{\n\t\tname: \"endIconColor\",\n\t\tlabel: \"icon_color\",\n\t\ttype: \"color\",\n\t\thidden: \"!data.iconMax && !data.iconSmallMax\",\n\t},\n];\n\nexport default sliderFields;\n","import { SliderMarkLabel } from \"@mui/material\";\nimport { Box } from \"@mui/material\";\nimport React, { useState, useEffect } from \"react\";\n\nconst CollectionMark = ({ marks, sliderOrientation, ...props }) => {\n\tconst [ref, setRef] = useState(null);\n\n\tconst index = props[\"data-index\"];\n\tconst mark = props.ownerState.marks[index];\n\n\t// console.log(\"props.ownerState.marks\", props.ownerState.marks);\n\n\tuseEffect(() => {\n\t\tif (ref) {\n\t\t\tref.innerHTML = mark.label;\n\t\t}\n\t}, [mark.label, ref]);\n\n\treturn marks ? (\n\t\t<SliderMarkLabel\n\t\t\tstyle={{\n\t\t\t\tcolor: \"red\",\n\t\t\t}}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Box\n\t\t\t\tsx={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tflexDirection: sliderOrientation === \"vertical\" ? \"row\" : \"column\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Box\n\t\t\t\t\tdata-font=\"active\"\n\t\t\t\t\tref={setRef}\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\tpr: sliderOrientation === \"vertical\" ? 1 : 0,\n\t\t\t\t\t\tpb: sliderOrientation === \"vertical\" ? 0 : 1,\n\n\t\t\t\t\t\t// fontSize: typeof mark.fontSize === \"number\" && mark.fontSize}%`,\n\t\t\t\t\t\tfontSize: mark.fontSize,\n\n\t\t\t\t\t\tcolor: mark.textColor,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<Box\n\t\t\t\t\tdata-position=\"active\"\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\t\tbottom: mark.iconYOffset,\n\t\t\t\t\t\tleft: mark.iconXOffset,\n\n\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tdata-img=\"active\"\n\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\tmark.icon ||\n\t\t\t\t\t\t\t\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\t\t\twidth: `${(24 * mark.iconWidth) / 100}px`,\n\t\t\t\t\t\t\theight: `${(24 * mark.iconHeight) / 100}px`,\n\n\t\t\t\t\t\t\tcolor: mark.iconColor || null,\n\t\t\t\t\t\t\tfilter: mark.iconColor ? \"drop-shadow(0px 10000px 0)\" : null,\n\t\t\t\t\t\t\ttransform: mark.iconColor ? \"translateY(-10000px)\" : null,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Box>\n\t\t\t</Box>\n\t\t</SliderMarkLabel>\n\t) : null;\n};\n\nexport default CollectionMark;\n","import { Box, Slider } from \"@mui/material\";\nimport React, { useState, useMemo, useContext, useEffect } from \"react\";\nimport CollectionBase from \"../components/CollectionBase\";\nimport CollectionBaseImage from \"../components/CollectionBaseImage\";\nimport { CollectionContext } from \"../components/CollectionProvider\";\nimport useData from \"../hooks/useData\";\nimport useValueState from \"../hooks/useValueState\";\nimport CollectionMark from \"./CollectionMark\";\n\nfunction SliderCollection() {\n\tconst { oidObject, widget } = useContext(CollectionContext);\n\tconst { data, states, minValue, maxValue } = useData(\"oid\");\n\tconst [sliderMarksIndex, setSliderMarksIndex] = useState(null);\n\tconst { value: oidValue, setValueState: setOidValueState } =\n\t\tuseValueState(\"oid\");\n\n\tconst startIconColor =\n\t\twidget.data.startIconColor ||\n\t\twidget.data.sliderColor ||\n\t\tdata.iconColor ||\n\t\tdata.textColor;\n\tconst endIconColor =\n\t\twidget.data.endIconColor ||\n\t\twidget.data.sliderColor ||\n\t\tdata.iconColor ||\n\t\tdata.textColor;\n\n\tconst oidType = oidObject?.common?.type;\n\n\tconst isValidType = oidType === \"number\";\n\n\tconst sliderMinValue = useMemo(\n\t\t() =>\n\t\t\t!widget.data.onlyStates && widget.data.minValue !== undefined\n\t\t\t\t? Number(widget.data.minValue)\n\t\t\t\t: minValue,\n\t\t[widget.data.onlyStates, widget.data.minValue, minValue],\n\t);\n\n\tconst sliderMaxValue = useMemo(\n\t\t() =>\n\t\t\t!widget.data.onlyStates && widget.data.maxValue !== undefined\n\t\t\t\t? Number(widget.data.maxValue)\n\t\t\t\t: maxValue,\n\t\t[widget.data.onlyStates, widget.data.maxValue, maxValue],\n\t);\n\n\tconst sliderMarks = useMemo(() => {\n\t\tconst _sliderMarks = JSON.parse(JSON.stringify(states));\n\n\t\tif (widget.data.onlyStates) {\n\t\t\treturn _sliderMarks.sort((a, b) => a.value - b.value);\n\t\t}\n\t\t// Ensure minimum and maximum values are included\n\t\tconst minValue = sliderMinValue;\n\t\tconst maxValue = sliderMaxValue;\n\n\t\tif (\n\t\t\t_sliderMarks &&\n\t\t\t!_sliderMarks.some((state) => state.value === minValue)\n\t\t) {\n\t\t\t_sliderMarks.push({\n\t\t\t\tvalue: minValue,\n\t\t\t\tlabel: `${minValue}${widget.data.unit}`,\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\t_sliderMarks &&\n\t\t\t!_sliderMarks.some((state) => state.value === maxValue)\n\t\t) {\n\t\t\t_sliderMarks.push({\n\t\t\t\tvalue: maxValue,\n\t\t\t\tlabel: `${maxValue}${widget.data.unit}`,\n\t\t\t});\n\t\t}\n\n\t\t// Add step divisions\n\t\tconst step = Number(widget.data.markStep) || 1;\n\t\tfor (let i = minValue + step; i < maxValue; i += step) {\n\t\t\tif (!_sliderMarks.some((state) => state.value === i)) {\n\t\t\t\t_sliderMarks.push({\n\t\t\t\t\tvalue: i,\n\t\t\t\t\tlabel: `${i}${widget.data.unit}`,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// Sort the states by value\n\t\t_sliderMarks.sort((a, b) => a.value - b.value);\n\n\t\treturn _sliderMarks;\n\t}, [\n\t\tstates,\n\t\tsliderMinValue,\n\t\tsliderMaxValue,\n\t\twidget.data.markStep,\n\t\twidget.data.unit,\n\t\twidget.data.onlyStates,\n\t]);\n\n\tuseEffect(() => {\n\t\tif (oidValue === undefined) return;\n\n\t\tconst index = sliderMarks.findIndex(\n\t\t\t(mark) => String(mark.value) === String(oidValue),\n\t\t);\n\n\t\tif (index !== -1) {\n\t\t\tsetSliderMarksIndex(index);\n\t\t}\n\t}, [oidValue, sliderMarks]);\n\n\treturn (\n\t\t<CollectionBase isValidType={isValidType} data={data} oidValue={oidValue}>\n\t\t\t<CollectionBaseImage data={data} widget={widget} />\n\t\t\t<Box\n\t\t\t\tsx={{\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\theight: \"100%\",\n\n\t\t\t\t\tp: 1,\n\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tflexDirection:\n\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\" ? \"row\" : \"column\",\n\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Box\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\t\tbottom:\n\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\" &&\n\t\t\t\t\t\t\t(widget.data.onlyStates || widget.data.marks)\n\t\t\t\t\t\t\t\t? \"10px\"\n\t\t\t\t\t\t\t\t: \"0px\",\n\n\t\t\t\t\t\tright:\n\t\t\t\t\t\t\twidget.data.sliderOrientation === \"vertical\" &&\n\t\t\t\t\t\t\t(widget.data.onlyStates || widget.data.marks)\n\t\t\t\t\t\t\t\t? \"22px\"\n\t\t\t\t\t\t\t\t: \"0px\",\n\n\t\t\t\t\t\tp: 1,\n\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{((widget.data.sliderOrientation === \"horizontal\" &&\n\t\t\t\t\t\t(widget.data.iconMin || widget.data.iconSmallMin)) ||\n\t\t\t\t\t\t(widget.data.sliderOrientation === \"vertical\" &&\n\t\t\t\t\t\t\t(widget.data.iconMax || widget.data.iconSmallMax))) && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\"\n\t\t\t\t\t\t\t\t\t? widget.data.iconMin || widget.data.iconSmallMin\n\t\t\t\t\t\t\t\t\t: widget.data.iconMax || widget.data.iconSmallMax\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\"\n\t\t\t\t\t\t\t\t\t\t? widget.data.iconSizeStart || \"24px\"\n\t\t\t\t\t\t\t\t\t\t: widget.data.iconSizeEnd || \"24px\",\n\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\"\n\t\t\t\t\t\t\t\t\t\t? widget.data.iconSizeStart || \"24px\"\n\t\t\t\t\t\t\t\t\t\t: widget.data.iconSizeEnd || \"24px\",\n\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\"\n\t\t\t\t\t\t\t\t\t\t? startIconColor\n\t\t\t\t\t\t\t\t\t\t: endIconColor,\n\t\t\t\t\t\t\t\tfilter: \"drop-shadow(0px 10000px 0)\",\n\t\t\t\t\t\t\t\ttransform: \"translateY(-10000px)\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Box>\n\t\t\t\t<Box\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tp: 1,\n\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{typeof oidValue === \"number\" && (\n\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\tslots={{\n\t\t\t\t\t\t\t\tmarkLabel: CollectionMark,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tslotProps={{\n\t\t\t\t\t\t\t\tmarkLabel: {\n\t\t\t\t\t\t\t\t\tmarks: widget.data.marks,\n\t\t\t\t\t\t\t\t\tsliderOrientation: widget.data.sliderOrientation,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={oidType !== \"number\"}\n\t\t\t\t\t\t\tvalueLabelDisplay={widget.data.valueLabelDisplay}\n\t\t\t\t\t\t\torientation={widget.data.sliderOrientation}\n\t\t\t\t\t\t\tmin={sliderMinValue}\n\t\t\t\t\t\t\tmax={sliderMaxValue}\n\t\t\t\t\t\t\tmarks={sliderMarks}\n\t\t\t\t\t\t\tstep={!widget.data.onlyStates ? widget.data.step : null}\n\t\t\t\t\t\t\tsize={widget.data.sliderSize}\n\t\t\t\t\t\t\tvalue={oidValue}\n\t\t\t\t\t\t\tonChange={(_, value) => setOidValueState(value)}\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tmb:\n\t\t\t\t\t\t\t\t\twidget.data.marks &&\n\t\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\"\n\t\t\t\t\t\t\t\t\t\t? \"20px\"\n\t\t\t\t\t\t\t\t\t\t: \"0px\",\n\n\t\t\t\t\t\t\t\tmr:\n\t\t\t\t\t\t\t\t\twidget.data.marks &&\n\t\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"vertical\"\n\t\t\t\t\t\t\t\t\t\t? \"44px\"\n\t\t\t\t\t\t\t\t\t\t: \"0px\",\n\t\t\t\t\t\t\t\t/* \"&.MuiSlider-root\": {\n\t\t\t\t\t\t\t\tcolor: data.textColor,\n\t\t\t\t\t\t\t}, */\n\t\t\t\t\t\t\t\t\"& .MuiSlider-thumb\": {\n\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\t/* data.textColorActive ||\n\t\t\t\t\t\t\t\t\twidget.data.markerTextColor || */\n\t\t\t\t\t\t\t\t\t\twidget.data.sliderColor,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"& .MuiSlider-rail\": {\n\t\t\t\t\t\t\t\t\tcolor: widget.data.sliderColor || \"primary.main\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"& .MuiSlider-track\": {\n\t\t\t\t\t\t\t\t\tcolor: widget.data.sliderColor || \"primary.main\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"& .MuiSlider-mark\": {\n\t\t\t\t\t\t\t\t\tcolor: widget.data.sliderColor || \"primary.main\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"& .MuiSlider-markActive\": {\n\t\t\t\t\t\t\t\t\tbgcolor: widget.data.sliderColor || \"primary.main\",\n\t\t\t\t\t\t\t\t\tfilter: \"brightness(2.5)\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"& .MuiSlider-valueLabel\": {\n\t\t\t\t\t\t\t\t\tfontSize:\n\t\t\t\t\t\t\t\t\t\tdata.valueSizeActive ||\n\t\t\t\t\t\t\t\t\t\t(widget.data.markerTextSize &&\n\t\t\t\t\t\t\t\t\t\t\t`${widget.data.markerTextSize}%`) ||\n\t\t\t\t\t\t\t\t\t\tdata.valueSize ||\n\t\t\t\t\t\t\t\t\t\t\"1em\",\n\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\tdata.textColorActive ||\n\t\t\t\t\t\t\t\t\t\twidget.data.markerTextColor ||\n\t\t\t\t\t\t\t\t\t\tdata.textColor,\n\t\t\t\t\t\t\t\t\tbgcolor: \"transparent\",\n\t\t\t\t\t\t\t\t\ttop:\n\t\t\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\"\n\t\t\t\t\t\t\t\t\t\t\t? widget.data.labelPosition\n\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\tright:\n\t\t\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"vertical\"\n\t\t\t\t\t\t\t\t\t\t\t? widget.data.labelPosition\n\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"& .MuiSlider-markLabel\": {\n\t\t\t\t\t\t\t\t\tfontSize:\n\t\t\t\t\t\t\t\t\t\t(typeof widget.data.markerTextSize === \"number\" &&\n\t\t\t\t\t\t\t\t\t\t\t`${widget.data.markerTextSize}%`) ||\n\t\t\t\t\t\t\t\t\t\tdata.valueSize ||\n\t\t\t\t\t\t\t\t\t\t\"1em\",\n\n\t\t\t\t\t\t\t\t\tcolor: widget.data.markerTextColor || data.textColor,\n\n\t\t\t\t\t\t\t\t\ttop:\n\t\t\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\"\n\t\t\t\t\t\t\t\t\t\t\t? widget.data.markPosition\n\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"vertical\"\n\t\t\t\t\t\t\t\t\t\t\t? widget.data.markPosition\n\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"& .MuiSlider-markLabelActive\": {\n\t\t\t\t\t\t\t\t\t[`&[data-index='${sliderMarksIndex}']`]: {\n\t\t\t\t\t\t\t\t\t\t\"& div[data-font='active']\": {\n\t\t\t\t\t\t\t\t\t\t\tcolor: `${widget.data.textColorActive} !important`,\n\n\t\t\t\t\t\t\t\t\t\t\tfontSize:\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof widget.data.valueSizeActive === \"number\" &&\n\t\t\t\t\t\t\t\t\t\t\t\t`${widget.data.valueSizeActive}% !important`,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"& div[data-position='active']\": {\n\t\t\t\t\t\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\t\t\t\t\t\t(!!widget.data.iconXOffsetActive &&\n\t\t\t\t\t\t\t\t\t\t\t\t\twidget.data.iconXOffsetActive !== \"0px\" &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t`${widget.data.iconXOffsetActive} !important`) ||\n\t\t\t\t\t\t\t\t\t\t\t\t\"0px\",\n\n\t\t\t\t\t\t\t\t\t\t\tbottom:\n\t\t\t\t\t\t\t\t\t\t\t\t(!!widget.data.iconYOffsetActive &&\n\t\t\t\t\t\t\t\t\t\t\t\t\twidget.data.iconYOffsetActive !== \"0px\" &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t`${widget.data.iconYOffsetActive} !important`) ||\n\t\t\t\t\t\t\t\t\t\t\t\t\"0px !important\",\n\t\t\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t\t\t\"& img[data-img='active']\": {\n\t\t\t\t\t\t\t\t\t\t\twidth: `${\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof widget.data.iconSizeActive === \"number\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `${(24 * widget.data.iconSizeActive) / 100}px !important`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: \"24px !important\"\n\t\t\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t\t\t\theight: `${\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof widget.data.iconSizeActive === \"number\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `${(24 * widget.data.iconSizeActive) / 100}px !important`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: \"24px !important\"\n\t\t\t\t\t\t\t\t\t\t\t}`,\n\n\t\t\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\t\t\twidget.data.iconColorActive &&\n\t\t\t\t\t\t\t\t\t\t\t\t`${widget.data.iconColorActive}!important`,\n\t\t\t\t\t\t\t\t\t\t\tfilter:\n\t\t\t\t\t\t\t\t\t\t\t\twidget.data.iconColorActive &&\n\t\t\t\t\t\t\t\t\t\t\t\t\"drop-shadow(0px 10000px 0)\",\n\t\t\t\t\t\t\t\t\t\t\ttransform:\n\t\t\t\t\t\t\t\t\t\t\t\twidget.data.iconColorActive && \"translateY(-10000px)\",\n\n\t\t\t\t\t\t\t\t\t\t\t// -----------------------------\n\t\t\t\t\t\t\t\t\t\t\tpl:\n\t\t\t\t\t\t\t\t\t\t\t\t(!!widget.data.iconActive ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t!!widget.data.iconSmallActive) &&\n\t\t\t\t\t\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof widget.data.iconSizeActive === \"number\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `${(24 * widget.data.iconSizeActive) / 100}px !important`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"24px\"\n\t\t\t\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t\t\t\tdisplay:\n\t\t\t\t\t\t\t\t\t\t\t\t(!!widget.data.iconActive ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t!!widget.data.iconSmallActive) &&\n\t\t\t\t\t\t\t\t\t\t\t\t\"block\",\n\t\t\t\t\t\t\t\t\t\t\tboxSizing:\n\t\t\t\t\t\t\t\t\t\t\t\t(!!widget.data.iconActive ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t!!widget.data.iconSmallActive) &&\n\t\t\t\t\t\t\t\t\t\t\t\t\"border-box\",\n\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t(!!widget.data.iconActive ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t!!widget.data.iconSmallActive) &&\n\t\t\t\t\t\t\t\t\t\t\t\t`url('${widget.data.iconSmallActive || widget.data.iconActive}') no-repeat center center`,\n\t\t\t\t\t\t\t\t\t\t\tbackgroundSize:\n\t\t\t\t\t\t\t\t\t\t\t\t(!!widget.data.iconActive ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t!!widget.data.iconSmallActive) &&\n\t\t\t\t\t\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof widget.data.iconSizeActive === \"number\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `${(24 * widget.data.iconSizeActive) / 100}px`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"24px\"\n\t\t\t\t\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof widget.data.iconSizeActive === \"number\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `${(24 * widget.data.iconSizeActive) / 100}px`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"24px\"\n\t\t\t\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t\t\t\t// -----------------------------\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Box>\n\t\t\t\t<Box\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\t\tbottom:\n\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\" &&\n\t\t\t\t\t\t\t(widget.data.onlyStates || widget.data.marks)\n\t\t\t\t\t\t\t\t? \"10px\"\n\t\t\t\t\t\t\t\t: \"0px\",\n\n\t\t\t\t\t\tright:\n\t\t\t\t\t\t\twidget.data.sliderOrientation === \"vertical\" &&\n\t\t\t\t\t\t\t(widget.data.onlyStates || widget.data.marks)\n\t\t\t\t\t\t\t\t? \"22px\"\n\t\t\t\t\t\t\t\t: \"0px\",\n\n\t\t\t\t\t\tp: 1,\n\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{((widget.data.sliderOrientation === \"horizontal\" &&\n\t\t\t\t\t\t(widget.data.iconMax || widget.data.iconSmallMax)) ||\n\t\t\t\t\t\t(widget.data.sliderOrientation === \"vertical\" &&\n\t\t\t\t\t\t\t(widget.data.iconMin || widget.data.iconSmallMin))) && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\"\n\t\t\t\t\t\t\t\t\t? widget.data.iconMax || widget.data.iconSmallMax\n\t\t\t\t\t\t\t\t\t: widget.data.iconMin || widget.data.iconSmallMin\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\"\n\t\t\t\t\t\t\t\t\t\t? widget.data.iconSizeEnd || \"24px\"\n\t\t\t\t\t\t\t\t\t\t: widget.data.iconSizeStart || \"24px\",\n\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\"\n\t\t\t\t\t\t\t\t\t\t? widget.data.iconSizeEnd || \"24px\"\n\t\t\t\t\t\t\t\t\t\t: widget.data.iconSizeStart || \"24px\",\n\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\twidget.data.sliderOrientation === \"horizontal\"\n\t\t\t\t\t\t\t\t\t\t? endIconColor\n\t\t\t\t\t\t\t\t\t\t: startIconColor,\n\t\t\t\t\t\t\t\tfilter: \"drop-shadow(0px 10000px 0)\",\n\t\t\t\t\t\t\t\ttransform: \"translateY(-10000px)\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Box>\n\t\t\t</Box>\n\t\t</CollectionBase>\n\t);\n}\n\nexport default SliderCollection;\n","import React from \"react\";\nimport Generic from \"../Generic\";\nimport withCollectionProvider from \"../components/withCollectionProvider\";\nimport commonFields from \"../lib/commonFields\";\nimport commonObjectFields from \"../lib/commonObjectFields\";\nimport delayFields from \"../lib/delayFields\";\nimport sliderFields from \"../lib/sliderFields\";\nimport SliderCollection from \"./SliderCollection\";\n\nclass SliderCollectionWidget extends Generic {\n\tstatic getWidgetInfo() {\n\t\treturn {\n\t\t\tid: \"tplSliderCollectionWidget\",\n\t\t\tvisSet: \"vis-2-widgets-collection\", // Widget set name in which this widget is located\n\t\t\tvisSetLabel: \"widgets_collection\", // Widget set translated label (should be defined only in one widget of a set)\n\t\t\tvisName: \"SliderCollectionWidget\", // Name of widget\n\t\t\tvisWidgetLabel: \"slider_collection_widget\", // Label for widget\n\t\t\tvisOrder: 4,\n\t\t\tvisAttrs: [\n\t\t\t\t{\n\t\t\t\t\tname: \"common\", // group name\n\t\t\t\t\tfields: [...commonFields()],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"slider\",\n\t\t\t\t\tlabel: \"group_slider\",\n\t\t\t\t\tfields: [\n\t\t\t\t\t\t...commonObjectFields([\"number\"]),\n\t\t\t\t\t\t...delayFields(),\n\t\t\t\t\t\t...sliderFields(),\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"active\",\n\t\t\t\t\tlabel: \"group_active\",\n\t\t\t\t\tfields: [...commonFields({ groupName: \"Active\", allFields: false })],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"values\",\n\t\t\t\t\tlabel: \"values\",\n\t\t\t\t\tindexFrom: 1,\n\t\t\t\t\tindexTo: \"values_count\",\n\t\t\t\t\tfields: [...commonFields({ groupName: \"\", allFields: false })],\n\t\t\t\t},\n\n\t\t\t\t// check here all possible types https://github.com/ioBroker/ioBroker.vis/blob/react/src/src/Attributes/Widget/SCHEMA.md\n\t\t\t],\n\t\t\tvisDefaultStyle: {\n\t\t\t\twidth: \"100%\",\n\t\t\t\theight: \"100px\",\n\t\t\t\tposition: \"relative\",\n\t\t\t},\n\t\t\tvisPrev:\n\t\t\t\t\"widgets/vis-2-widgets-collection/img/prev-collection-slider.png\",\n\t\t};\n\t}\n\n\t// Do not delete this method. It is used by vis to read the widget configuration.\n\t// eslint-disable-next-line class-methods-use-this\n\tgetWidgetInfo() {\n\t\treturn SliderCollectionWidget.getWidgetInfo();\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tasync propertiesUpdate() {\n\t\t// The widget has 3 important states\n\t\t// 1. this.state.values - contains all state values, that are used in widget (automatically collected from widget info).\n\t\t// So you can use `this.state.values[this.state.rxData.oid + '.val']` to get the value of state with id this.state.rxData.oid\n\t\t// 2. this.state.rxData - contains all widget data with replaced bindings. E.g. if this.state.data.type is `{system.adapter.admin.0.alive}`,\n\t\t// then this.state.rxData.type will have state value of `system.adapter.admin.0.alive`\n\t\t// 3. this.state.rxStyle - contains all widget styles with replaced bindings. E.g. if this.state.styles.width is `{javascript.0.width}px`,\n\t\t// then this.state.rxData.type will have state value of `javascript.0.width` + 'px\n\n\t\t// console.log(\"inside propertiesUpdate\", this.state.values);\n\n\t\tconst actualRxData = JSON.stringify(this.state.rxData);\n\t\tif (this.lastRxData === actualRxData) {\n\t\t\treturn;\n\t\t}\n\t\tthis.lastRxData = actualRxData;\n\n\t\tawait this.createStateObjectAsync(\"oid\");\n\t}\n\n\t// This function is called every time when rxData is changed\n\tasync onRxDataChanged(payload) {\n\t\tawait this.propertiesUpdate();\n\t}\n\n\t// This function is called every time when rxStyle is changed\n\t// eslint-disable-next-line class-methods-use-this\n\tonRxStyleChanged() { }\n\n\t// This function is called every time when some Object State updated, but all changes lands into this.state.values too\n\t// eslint-disable-next-line class-methods-use-this, no-unused-vars\n\tonStateUpdated(id, state) { }\n\n\tasync componentDidMount() {\n\t\tsuper.componentDidMount();\n\t\t// Update data\n\t\tawait this.propertiesUpdate();\n\t}\n\n\trenderWidgetBody(props) {\n\t\tsuper.renderWidgetBody(props);\n\n\t\tconst collectionContext = {\n\t\t\tid: props.id,\n\t\t\trefService: props.refService,\n\t\t\tstyle: props.style,\n\t\t\twidget: {\n\t\t\t\t...props.widget,\n\t\t\t\tdata: this.state.rxData,\n\t\t\t\tstyle: this.state.rxStyle,\n\t\t\t},\n\t\t\tsetValue: this.setValue,\n\t\t\tsetState: this.setState.bind(this),\n\t\t\toidObject: this.state.oidObject,\n\t\t\tvalues: this.state.values,\n\t\t\tisSignalVisible: this.isSignalVisible.bind(this),\n\t\t\tgetPropertyValue: this.getPropertyValue.bind(this),\n\t\t\thasPropertyValueChanged: this.hasPropertyValueChanged.bind(this),\n\t\t\tmode: this.props.context.themeType,\n\t\t\tsocket: this.props.context.socket,\n\t\t\ttheme: this.props.context.theme,\n\n\t\t\twrappedContent: this.wrappedContent,\n\t\t};\n\n\t\tif (props.widget.data.noCard || props.widget.usedInWidget) {\n\t\t\tthis.wrappedContent = false;\n\t\t} else {\n\t\t\tthis.wrappedContent = true;\n\t\t}\n\n\t\treturn withCollectionProvider(\n\t\t\tthis.wrapContent(<SliderCollection />),\n\t\t\tcollectionContext,\n\t\t);\n\t}\n}\n\nexport default SliderCollectionWidget;\n","import { useEffect } from \"react\";\nimport { useContext } from \"react\";\nimport { CollectionContext } from \"../components/CollectionProvider\";\n\nconst useSignals = () => {\n\tconst { isSignalVisible, refService, widget } = useContext(CollectionContext);\n\n\tuseEffect(() => {\n\t\tif (!refService?.current) return;\n\n\t\tconst _current = refService.current?.children;\n\n\t\tconst visible = [];\n\t\tfor (let i = 0; i < widget.data[\"signals-count\"]; i++) {\n\t\t\tif (isSignalVisible(i)) visible.push(i);\n\t\t}\n\n\t\tconst children = [];\n\t\tObject.values(_current).forEach((child) => {\n\t\t\tif (child.children[0]?.className === \"vis-signal-icon iconOwn\")\n\t\t\t\tchildren.push(child.children[0]);\n\t\t});\n\n\t\tchildren.forEach((child, idx) => {\n\t\t\tconst signalColor = widget.data[`signals-color-${visible[idx]}`];\n\n\t\t\tchild.style.color = signalColor;\n\t\t\tchild.style.filter = signalColor ? \"drop-shadow(0px 10000px 0)\" : null;\n\t\t\tchild.style.transform = signalColor ? \"translateY(-10000px)\" : null;\n\t\t});\n\t}, [widget, refService, isSignalVisible]);\n};\n\nexport default useSignals;\n","import { useContext, useEffect, useState } from \"react\";\nimport { CollectionContext } from \"../components/CollectionProvider\";\nimport useElementDimensions from \"./useElementDimensions\";\n\nconst useSize = (ref) => {\n\tconst { widget } = useContext(CollectionContext);\n\n\tconst [width, setWidth] = useState(\"100%\");\n\tconst [height, setHeight] = useState(\"100%\");\n\n\tconst { width: clientWidth, height: clientHeight } =\n\t\tuseElementDimensions(ref);\n\n\tuseEffect(() => {\n\t\tif (!clientWidth || !clientHeight) return;\n\n\t\tif (clientWidth >= 0 && clientHeight >= 0) {\n\t\t\tif (widget.data.square || widget.data.circle) {\n\t\t\t\tif (\n\t\t\t\t\tclientWidth < widget.data.basePadding * 16 ||\n\t\t\t\t\tclientHeight < widget.data.basePadding * 16\n\t\t\t\t) {\n\t\t\t\t\tsetWidth(\"0px\");\n\t\t\t\t\tsetHeight(\"0px\");\n\t\t\t\t} else {\n\t\t\t\t\tif (clientWidth < clientHeight) {\n\t\t\t\t\t\tsetWidth(`${clientWidth - widget.data.basePadding * 16}px`);\n\t\t\t\t\t\tsetHeight(`${clientWidth - widget.data.basePadding * 16}px`);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetWidth(`${clientHeight - widget.data.basePadding * 16}px`);\n\t\t\t\t\t\tsetHeight(`${clientHeight - widget.data.basePadding * 16}px`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsetWidth(\"100%\");\n\t\t\t\tsetHeight(\"100%\");\n\t\t\t}\n\t\t}\n\t}, [\n\t\tclientWidth,\n\t\tclientHeight,\n\t\twidget.data.basePadding,\n\t\twidget.data.square,\n\t\twidget.data.circle,\n\t]);\n\n\treturn { width, height };\n};\n\nexport default useSize;\n","import { Box, Paper, Typography } from \"@mui/material\";\nimport React, {\n\tuseRef,\n\tforwardRef,\n\tuseImperativeHandle,\n\tuseState,\n\tuseContext,\n\tuseEffect,\n} from \"react\";\nimport { CollectionContext } from \"../components/CollectionProvider\";\nimport useSignals from \"../hooks/useSignals\";\nimport useSize from \"../hooks/useSize\";\nimport useStyles from \"../hooks/useStyles\";\n\nconst CollectionBase = forwardRef(\n\t(\n\t\t{\n\t\t\tchildren,\n\t\t\tdata,\n\t\t\toidValue = null,\n\t\t\tisValidType = true,\n\t\t\tbgActive = true,\n\t\t\tsx = {},\n\t\t},\n\t\tbaseRef,\n\t) => {\n\t\tconst paper0Ref = useRef(null);\n\t\tconst paper1Ref = useRef(null);\n\t\tconst [ref, setRef] = useState(null);\n\t\tconst [headerRef, setHeaderRef] = useState(null);\n\t\tconst headerRef1 = useRef(null);\n\t\tconst [footerRef, setFooterRef] = useState(null);\n\t\tconst { wrappedContent, widget, oidObject } = useContext(CollectionContext);\n\t\tconst { backgroundStyles, borderStyles, textStyles, fontStyles } =\n\t\t\tuseStyles(widget.style);\n\t\tconst { width, height } = useSize(ref);\n\n\t\tconst oidValueUnit =\n\t\t\t(oidValue || oidValue === 0 || oidValue === false) &&\n\t\t\t`${oidValue}${widget.data.unit === undefined ? \"\" : widget.data.unit}`;\n\n\t\tuseSignals();\n\n\t\tconst oid = oidObject?._id;\n\n\t\tconst footerValue =\n\t\t\tdata.footer || data.alias || data.value || oidValueUnit || \"\";\n\n\t\tuseEffect(() => {\n\t\t\tif (widget.data.noFooter) return;\n\t\t\tif (footerRef) footerRef.innerHTML = footerValue;\n\t\t}, [footerValue, widget.data.noFooter, footerRef]);\n\n\t\tuseEffect(() => {\n\t\t\tif (widget.data.noHeader) return;\n\t\t\tif (headerRef) headerRef.innerHTML = data.header;\n\t\t}, [data.header, widget.data.noHeader, headerRef]);\n\n\t\tuseImperativeHandle(baseRef, () => ({\n\t\t\tget paper0() {\n\t\t\t\treturn paper0Ref?.current;\n\t\t\t},\n\t\t\tget paper1() {\n\t\t\t\treturn paper1Ref?.current;\n\t\t\t},\n\n\t\t\tget header() {\n\t\t\t\treturn headerRef1?.current;\n\t\t\t},\n\t\t}));\n\n\t\treturn (\n\t\t\t<Paper\n\t\t\t\tref={paper0Ref}\n\t\t\t\tclassName=\"BASE-PAPER-0\"\n\t\t\t\tsquare={widget.data.squaredCorner}\n\t\t\t\tvariant={widget.data.outlinedFrame ? \"outlined\" : \"elevation\"}\n\t\t\t\tsx={{\n\t\t\t\t\toverflow: \"hidden\",\n\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\theight: \"100%\",\n\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\talignItems: \"center\",\n\n\t\t\t\t\t...backgroundStyles,\n\t\t\t\t\t// ...borderStyles,\n\t\t\t\t\tborder: !wrappedContent ? null : borderStyles.border,\n\t\t\t\t\tborderWidth: !wrappedContent ? null : borderStyles.borderWidth,\n\t\t\t\t\tborderStyle: !wrappedContent ? null : borderStyles.borderStyle,\n\t\t\t\t\tborderRadius: !wrappedContent ? null : borderStyles.borderRadius,\n\t\t\t\t\tborderColor: !wrappedContent\n\t\t\t\t\t\t? data.frameBackgroundColorActive ||\n\t\t\t\t\t\t\tdata.frameBackgroundColor ||\n\t\t\t\t\t\t\tborderStyles.borderColor\n\t\t\t\t\t\t: borderStyles.borderColor,\n\t\t\t\t\tbackground: wrappedContent\n\t\t\t\t\t\t? widget.data.frameBackgroundColorActive ||\n\t\t\t\t\t\t\tdata.frameBackgroundColorActive ||\n\t\t\t\t\t\t\tdata.frameBackgroundColor ||\n\t\t\t\t\t\t\twidget.data.frameBackgroundActive ||\n\t\t\t\t\t\t\tdata.frameBackgroundActive ||\n\t\t\t\t\t\t\tdata.frameBackground\n\t\t\t\t\t\t: \"transparent\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{!!isValidType && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\twidth: !widget.data.noHeader ? \"100%\" : \"0%\",\n\t\t\t\t\t\t\t\theight: widget.data.noHeader ? \"0%\" : \"auto\",\n\t\t\t\t\t\t\t\tmt: widget.data.basePadding / 2,\n\t\t\t\t\t\t\t\tmb: -widget.data.basePadding / 2,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\t\t// ref={setHeaderRef}\n\t\t\t\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\t\t\t\tsetHeaderRef(ref);\n\t\t\t\t\t\t\t\t\theaderRef1.current = ref;\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tnoWrap\n\t\t\t\t\t\t\t\tvariant=\"body2\"\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t...fontStyles,\n\t\t\t\t\t\t\t\t\t...textStyles,\n\t\t\t\t\t\t\t\t\tfontSize: data.headerSize,\n\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\twidget.data.textColor ||\n\t\t\t\t\t\t\t\t\t\tdata.textColorActive ||\n\t\t\t\t\t\t\t\t\t\tdata.textColor,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Box>\n\n\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\tclassName=\"BASE-BOX-1\"\n\t\t\t\t\t\t\tref={setRef}\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\n\t\t\t\t\t\t\t\tp: widget.data.basePadding,\n\n\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\theight: \"100%\",\n\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Paper\n\t\t\t\t\t\t\t\tref={paper1Ref}\n\t\t\t\t\t\t\t\tclassName=\"BASE-PAPER-1\"\n\t\t\t\t\t\t\t\televation={widget.data.baseElevation}\n\t\t\t\t\t\t\t\tsquare={!widget.data.basePadding || widget.data.squaredCorner}\n\t\t\t\t\t\t\t\tvariant={widget.data.outlined ? \"outlined\" : \"elevation\"}\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\n\t\t\t\t\t\t\t\t\twidth: width,\n\t\t\t\t\t\t\t\t\theight: height,\n\n\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\n\t\t\t\t\t\t\t\t\tborderColor: !wrappedContent\n\t\t\t\t\t\t\t\t\t\t? data.backgroundColorActive ||\n\t\t\t\t\t\t\t\t\t\t\tdata.backgroundColor ||\n\t\t\t\t\t\t\t\t\t\t\tborderStyles.borderColor\n\t\t\t\t\t\t\t\t\t\t: borderStyles.borderColor,\n\t\t\t\t\t\t\t\t\tbackground: wrappedContent\n\t\t\t\t\t\t\t\t\t\t? widget.data.backgroundColorActive ||\n\t\t\t\t\t\t\t\t\t\t\t(bgActive && data.backgroundColorActive) ||\n\t\t\t\t\t\t\t\t\t\t\tdata.backgroundColor ||\n\t\t\t\t\t\t\t\t\t\t\twidget.data.backgroundActive ||\n\t\t\t\t\t\t\t\t\t\t\t(bgActive && data.backgroundActive) ||\n\t\t\t\t\t\t\t\t\t\t\tdata.background\n\t\t\t\t\t\t\t\t\t\t: \"transparent\",\n\t\t\t\t\t\t\t\t\tborderRadius:\n\t\t\t\t\t\t\t\t\t\twidget.data.circle || widget.data.ellipse ? \"50%\" : null,\n\t\t\t\t\t\t\t\t\t...sx,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t</Paper>\n\t\t\t\t\t\t</Box>\n\n\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\twidth: !widget.data.noFooter ? \"100%\" : \"0%\",\n\t\t\t\t\t\t\t\theight: widget.data.noFooter ? \"0%\" : \"auto\",\n\t\t\t\t\t\t\t\tmt: -widget.data.basePadding / 2,\n\t\t\t\t\t\t\t\tmb: widget.data.basePadding / 2,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\t\tref={setFooterRef}\n\t\t\t\t\t\t\t\tnoWrap\n\t\t\t\t\t\t\t\tvariant=\"body2\"\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t...fontStyles,\n\t\t\t\t\t\t\t\t\t...textStyles,\n\t\t\t\t\t\t\t\t\tfontSize: data.footerSize,\n\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\twidget.data.textColor ||\n\t\t\t\t\t\t\t\t\t\tdata.textColorActive ||\n\t\t\t\t\t\t\t\t\t\tdata.textColor,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{!isValidType && (\n\t\t\t\t\t<Box\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\theight: \"100%\",\n\n\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\tcolor=\"primary.main\"\n\t\t\t\t\t\t\tvariant=\"body2\"\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tp: 1,\n\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\ttextAlign: \"center\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{oid\n\t\t\t\t\t\t\t\t? `${oid} has an invalid type!`\n\t\t\t\t\t\t\t\t: \"Please select an object ID\"}\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t</Box>\n\t\t\t\t)}\n\t\t\t</Paper>\n\t\t);\n\t},\n);\n\nexport default CollectionBase;\n","import React from \"react\";\n\nconst CollectionBaseImage = ({ data, widget }) => {\n\treturn !widget.data.noHeaderIcon && (data.icon || data.iconActive) ? (\n\t\t<img\n\t\t\talt=\"\"\n\t\t\tsrc={data.icon || data.iconActive}\n\t\t\tstyle={{\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: `calc(0px - ${widget.data.iconYOffset})`,\n\t\t\t\tright: `calc(0px - ${widget.data.iconXOffset})`,\n\t\t\t\twidth: data.iconSize || data.iconSizeActive,\n\t\t\t\theight: data.iconSize || data.iconSizeActive,\n\t\t\t\tcolor: data.iconColorActive || data.iconColor,\n\t\t\t\tfilter:\n\t\t\t\t\tdata.iconColorActive || data.iconColor\n\t\t\t\t\t\t? \"drop-shadow(0px 10000px 0)\"\n\t\t\t\t\t\t: null,\n\t\t\t\ttransform:\n\t\t\t\t\tdata.iconColorActive || data.iconColor\n\t\t\t\t\t\t? \"translateY(-10000px)\"\n\t\t\t\t\t\t: null,\n\t\t\t}}\n\t\t/>\n\t) : null;\n};\n\nexport default CollectionBaseImage;\n","import { Box, Divider, Typography } from \"@mui/material\";\nimport React from \"react\";\nimport SliderCollectionWidget from \"../SliderCollectionWidget/SliderCollectionWidget\";\n\nfunction CollectionDivider({ dividerText = \"\" }) {\n\tconst style = {\n\t\tposition: \"absolute\",\n\t\tleft: 0,\n\t\twidth: \"100%\",\n\t};\n\n\treturn (\n\t\t<Box\n\t\t\tsx={{\n\t\t\t\tdisplay: \"block\",\n\t\t\t\tpt: 1.5,\n\t\t\t\tpb: dividerText ? 2 : 1.5,\n\t\t\t}}\n\t\t>\n\t\t\t{dividerText ? (\n\t\t\t\t<Divider sx={style}>\n\t\t\t\t\t<Typography\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\topacity: 0.5,\n\t\t\t\t\t\t\tcolor: \"primary.main\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"caption\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{SliderCollectionWidget.t(dividerText)}\n\t\t\t\t\t</Typography>\n\t\t\t\t</Divider>\n\t\t\t) : (\n\t\t\t\t<Divider sx={style} />\n\t\t\t)}\n\t\t</Box>\n\t);\n}\n\nexport default CollectionDivider;\n","import { ThemeProvider, createTheme } from \"@mui/material\";\nimport { deepmerge } from \"@mui/utils\";\nimport React, { createContext, useMemo } from \"react\";\n\nconst CollectionContext = createContext({});\n\nfunction CollectionProvider({ children, context }) {\n\t/* const _context = useMemo(() => {\n\t\treturn context;\n\t}, [context]); */\n\t/* const color = context.widget.style.color;\n\tconst textAlign = context.widget.style[\"text-align\"];\n\tconst fontFamily = context.widget.style[\"font-family\"];\n\tconst fontStyle = context.widget.style[\"font-style\"];\n\tconst fontSize = context.widget.style[\"font-size\"];\n\tconst lineHeight = context.widget.style[\"line-height\"];\n\tconst fontWeight = context.widget.style[\"font-weight\"];\n\tconst letterSpacing = context.widget.style[\"letter-spacing\"]; */\n\tconst mode = context.mode;\n\tconst theme = context.theme;\n\n\t// console.log(\"CONTEXT\", context);\n\n\tconst _theme = useMemo(() => {\n\t\t// console.log(\"inside useMemo\");\n\t\tconst mergeOptions =\n\t\t\tmode === \"dark\"\n\t\t\t\t? {\n\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\tmode: \"dark\",\n\t\t\t\t\t\t\t/* primary: {\n\t\t\t\t\t\t\t\tmain: \"#0f0\",\n\t\t\t\t\t\t\t}, */\n\t\t\t\t\t\t\t/* background: {\n\t\t\t\t\t\t\t\tdefault: \"#111111\",\n\t\t\t\t\t\t\t\tpaper: \"#212121\",\n\t\t\t\t\t\t\t}, */\n\t\t\t\t\t\t},\n\t\t\t\t\t\t/* typography: {\n\t\t\t\t\t\t\tfontFamily: \"Open Sans\",\n\t\t\t\t\t\t\th1: {\n\t\t\t\t\t\t\t\tfontFamily: \"Ubuntu Mono\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\th2: {\n\t\t\t\t\t\t\t\tfontFamily: \"Ubuntu Mono\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\th3: {\n\t\t\t\t\t\t\t\tfontFamily: \"Ubuntu Mono\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\th4: {\n\t\t\t\t\t\t\t\tfontFamily: \"Ubuntu Mono\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\th6: {\n\t\t\t\t\t\t\t\tfontFamily: \"Ubuntu Mono\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\th5: {\n\t\t\t\t\t\t\t\tfontFamily: \"Ubuntu Mono\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsubtitle1: {\n\t\t\t\t\t\t\t\tfontFamily: \"Ubuntu Mono\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsubtitle2: {\n\t\t\t\t\t\t\t\tfontFamily: \"Ubuntu Mono\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\tfontFamily: \"Ubuntu Mono\",\n\t\t\t\t\t\t\t\tfontWeight: 900,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\toverline: {\n\t\t\t\t\t\t\t\tfontFamily: \"Ubuntu Mono\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}, */\n\t\t\t\t\t}\n\t\t\t\t: {};\n\n\t\treturn createTheme(\n\t\t\tdeepmerge(\n\t\t\t\ttheme,\n\t\t\t\tdeepmerge(mergeOptions, {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\tMuiTypography: {\n\t\t\t\t\t\t\t/* defaultProps: {\n\t\t\t\t\t\t\t\tcolor,\n\t\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t\t\tfontFamily,\n\t\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\t\tfontSize,\n\t\t\t\t\t\t\t\tlineHeight,\n\t\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t\t\tletterSpacing,\n\t\t\t\t\t\t\t}, */\n\t\t\t\t\t\t\t/* styleOverrides: {\n\t\t\t\t\t\t\t\troot: {\n\t\t\t\t\t\t\t\t\twordBreak: \"break-word\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}, */\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t);\n\t}, [\n\t\tmode,\n\t\ttheme,\n\t\t/* color,\n\t\ttextAlign,\n\t\tfontFamily,\n\t\tfontStyle,\n\t\tfontSize,\n\t\tlineHeight,\n\t\tfontWeight,\n\t\tletterSpacing, */\n\t]);\n\n\treturn (\n\t\t<ThemeProvider theme={_theme}>\n\t\t\t<CollectionContext.Provider value={context}>\n\t\t\t\t{children}\n\t\t\t</CollectionContext.Provider>\n\t\t</ThemeProvider>\n\t);\n}\n\nexport { CollectionContext };\nexport default CollectionProvider;\n","import React from \"react\";\nimport CollectionProvider from \"./CollectionProvider\";\n\nfunction withCollectionProvider(component, context) {\n\treturn <CollectionProvider context={context}>{component}</CollectionProvider>;\n}\n\nexport default withCollectionProvider;\n","import { useCallback, useContext, useMemo, useState } from \"react\";\nimport { CollectionContext } from \"../components/CollectionProvider\";\n// import useOidValue from \"./useOidValue\";\nimport useStyles from \"./useStyles\";\n\nfunction useData(oid) {\n\tconst {\n\t\ttheme,\n\t\twidget,\n\t\t[`${oid}Object`]: oidObject,\n\t\tgetPropertyValue,\n\t} = useContext(CollectionContext);\n\n\tconst { fontStyles, textStyles, backgroundStyles } = useStyles(widget.style);\n\tconst [activeIndex, setActiveIndex] = useState();\n\t// const oidValue = useOidValue(oid);\n\tconst oidValue = getPropertyValue(oid);\n\n\tconst oidName = oidObject?.common?.name;\n\n\t// Hilfsfunktionen\n\tconst formatSize = useCallback(\n\t\t(size) => (typeof size === \"number\" ? `${size}%` : null),\n\t\t[],\n\t);\n\tconst getDataValue = useCallback(\n\t\t(key, ext = \"\") => widget.data[`${key}${ext}`],\n\t\t[widget.data],\n\t);\n\n\t// States-Berechnung\n\tconst { states, widgetStates, minValue, maxValue } = useMemo(() => {\n\t\tconst processStates = () => {\n\t\t\tconst states = [];\n\t\t\tconst widgetStates = {};\n\t\t\tlet minValue = null;\n\t\t\tlet maxValue = null;\n\n\t\t\tconst oidType = oidObject?.common?.type;\n\t\t\tconst oidStates = oidObject?.common?.states || {};\n\t\t\tconst oidEntries = Object.entries(oidStates);\n\n\t\t\tif (\n\t\t\t\toidType === \"number\" ||\n\t\t\t\toidType === \"string\" ||\n\t\t\t\toidType === \"boolean\" ||\n\t\t\t\toidType === \"mixed\"\n\t\t\t) {\n\t\t\t\tfor (let i = 1; i <= Number(widget.data.values_count); i++) {\n\t\t\t\t\tconst _value = widget.data[`value${i}`];\n\t\t\t\t\tconst _alias = widget.data[`alias${i}`];\n\t\t\t\t\tconst _unit = widget.data.unit;\n\n\t\t\t\t\tif (_value !== undefined && _value !== null && /\\S/.test(_value)) {\n\t\t\t\t\t\tconst oidEntry = oidEntries.find(([value]) => value === _value);\n\n\t\t\t\t\t\tif (oidEntry && oidType === \"number\") {\n\t\t\t\t\t\t\toidEntry[0] = Number(oidEntry[0]);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstates.push({\n\t\t\t\t\t\t\tvalue: oidEntry\n\t\t\t\t\t\t\t\t? oidEntry[0]\n\t\t\t\t\t\t\t\t: oidType === \"number\"\n\t\t\t\t\t\t\t\t\t? Number(_value)\n\t\t\t\t\t\t\t\t\t: _value,\n\t\t\t\t\t\t\tlabel: (\n\t\t\t\t\t\t\t\t_alias || (oidEntry ? oidEntry[1] : `${_value}${_unit}`)\n\t\t\t\t\t\t\t).replace(/(\\r\\n|\\n|\\r)/gm, \"\"),\n\n\t\t\t\t\t\t\tfontSize: formatSize(widget.data[`valueSize${i}`]),\n\n\t\t\t\t\t\t\ttextColor: widget.data[`textColor${i}`],\n\n\t\t\t\t\t\t\ticon:\n\t\t\t\t\t\t\t\twidget.data[`icon${i}`] ||\n\t\t\t\t\t\t\t\twidget.data[`iconSmall${i}`] ||\n\t\t\t\t\t\t\t\twidget.data.icon ||\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\ticonSize:\n\t\t\t\t\t\t\t\ttypeof widget.data[`iconSize${i}`] === \"number\"\n\t\t\t\t\t\t\t\t\t? widget.data[`iconSize${i}`]\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\ticonWidth:\n\t\t\t\t\t\t\t\ttypeof widget.data[`iconSize${i}`] === \"number\"\n\t\t\t\t\t\t\t\t\t? widget.data[`iconSize${i}`]\n\t\t\t\t\t\t\t\t\t: typeof widget.data.iconSize === \"number\"\n\t\t\t\t\t\t\t\t\t\t? widget.data.iconSize\n\t\t\t\t\t\t\t\t\t\t: 100,\n\t\t\t\t\t\t\ticonHeight:\n\t\t\t\t\t\t\t\ttypeof widget.data[`iconSize${i}`] === \"number\"\n\t\t\t\t\t\t\t\t\t? widget.data[`iconSize${i}`]\n\t\t\t\t\t\t\t\t\t: typeof widget.data.iconSize === \"number\"\n\t\t\t\t\t\t\t\t\t\t? widget.data.iconSize\n\t\t\t\t\t\t\t\t\t\t: 100,\n\t\t\t\t\t\t\ticonXOffset:\n\t\t\t\t\t\t\t\t(!!getDataValue(\"iconXOffset\", i) &&\n\t\t\t\t\t\t\t\t\tgetDataValue(\"iconXOffset\", i) !== \"0px\" &&\n\t\t\t\t\t\t\t\t\tgetDataValue(\"iconXOffset\", i)) ||\n\t\t\t\t\t\t\t\t\"0px\",\n\t\t\t\t\t\t\ticonYOffset:\n\t\t\t\t\t\t\t\t(!!getDataValue(\"iconYOffset\", i) &&\n\t\t\t\t\t\t\t\t\tgetDataValue(\"iconYOffset\", i) !== \"0px\" &&\n\t\t\t\t\t\t\t\t\tgetDataValue(\"iconYOffset\", i)) ||\n\t\t\t\t\t\t\t\t\"0px\",\n\t\t\t\t\t\t\ticonColor:\n\t\t\t\t\t\t\t\twidget.data[`iconColor${i}`] || widget.data.iconColor || null,\n\n\t\t\t\t\t\t\tbackgroundColor:\n\t\t\t\t\t\t\t\twidget.data.backgroundColor || backgroundStyles.backgroundColor,\n\t\t\t\t\t\t\tbackgroundColorActive: getDataValue(\"backgroundColor\", i),\n\n\t\t\t\t\t\t\tbackground: widget.data.background || backgroundStyles.background,\n\t\t\t\t\t\t\tbackgroundActive: getDataValue(\"background\", i),\n\n\t\t\t\t\t\t\tframeBackgroundColor:\n\t\t\t\t\t\t\t\twidget.data.frameBackgroundColor ||\n\t\t\t\t\t\t\t\tbackgroundStyles.backgroundColor,\n\t\t\t\t\t\t\tframeBackgroundColorActive: getDataValue(\n\t\t\t\t\t\t\t\t\"frameBackgroundColor\",\n\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t),\n\n\t\t\t\t\t\t\tframeBackground:\n\t\t\t\t\t\t\t\twidget.data.frameBackground || backgroundStyles.background,\n\t\t\t\t\t\t\tframeBackgroundActive: getDataValue(\"frameBackground\", i),\n\t\t\t\t\t\t});\n\t\t\t\t\t\twidgetStates[oidEntry ? String(oidEntry[0]) : _value] =\n\t\t\t\t\t\t\t_alias || (oidEntry ? oidEntry[1] : `${_value}${_unit}`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (oidType === \"number\" && states.length) {\n\t\t\t\t\tminValue = Math.min(...states.map((state) => state.value));\n\t\t\t\t\tmaxValue = Math.max(...states.map((state) => state.value));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/* if (oidType === \"boolean\") {\n\t\t\t\tfor (let i = 1; i <= Number(widget.data.values_count); i++) {\n\t\t\t\t\tconst _value = widget.data[`value${i}`];\n\t\t\t\t\tconst _alias = widget.data[`alias${i}`];\n\n\t\t\t\t\tstates.push({\n\t\t\t\t\t\tvalue: _value,\n\t\t\t\t\t\tlabel: _alias,\n\t\t\t\t\t});\n\t\t\t\t\twidgetStates[String(_value)] = _value;\n\t\t\t\t}\n\t\t\t} */\n\n\t\t\treturn { states, widgetStates, minValue, maxValue };\n\t\t};\n\n\t\treturn processStates();\n\t}, [oidObject, widget.data, getDataValue, formatSize, backgroundStyles]);\n\n\t// Styling-Daten\n\tconst data = useMemo(() => {\n\t\tconst getStyleData = (ext = \"\") => ({\n\t\t\ttextColor:\n\t\t\t\twidget.data.textColor || textStyles.color || theme.palette.primary.main,\n\t\t\ttextColorActive: getDataValue(\"textColor\", ext),\n\n\t\t\theader: (\n\t\t\t\twidget.data.headerActive ||\n\t\t\t\tgetDataValue(\"header\", ext) ||\n\t\t\t\twidget.data.header ||\n\t\t\t\toidName ||\n\t\t\t\t\"\"\n\t\t\t).replace(/(\\r\\n|\\n|\\r)/gm, \"\"),\n\t\t\theaderSize:\n\t\t\t\tformatSize(widget.data.headerSize) ||\n\t\t\t\tformatSize(widget.data.headerSizeActive) ||\n\t\t\t\tformatSize(getDataValue(\"headerSize\", ext)) ||\n\t\t\t\tfontStyles.fontSize,\n\n\t\t\tfooter: (\n\t\t\t\twidget.data.footerActive ||\n\t\t\t\tgetDataValue(\"footer\", ext) ||\n\t\t\t\twidget.data.footer ||\n\t\t\t\t\"\"\n\t\t\t).replace(/(\\r\\n|\\n|\\r)/gm, \"\"),\n\t\t\tfooterSize:\n\t\t\t\tformatSize(widget.data.footerSize) ||\n\t\t\t\tformatSize(widget.data.footerSizeActive) ||\n\t\t\t\tformatSize(getDataValue(\"footerSize\", ext)) ||\n\t\t\t\tfontStyles.fontSize,\n\n\t\t\talias: (getDataValue(\"alias\", ext) || \"\").replace(/(\\r\\n|\\n|\\r)/gm, \"\"),\n\n\t\t\tvalue:\n\t\t\t\tgetDataValue(\"value\", ext) &&\n\t\t\t\t`${getDataValue(\"value\", ext)}${widget.data.unit !== undefined ? widget.data.unit : \"\"}`,\n\t\t\tvalueSize: formatSize(widget.data.valueSize) || fontStyles.fontSize,\n\t\t\tvalueSizeActive:\n\t\t\t\ttypeof getDataValue(\"valueSize\", ext) === \"number\" &&\n\t\t\t\tformatSize(getDataValue(\"valueSize\", ext)),\n\n\t\t\ticon: !widget.data.noIcon && (widget.data.icon || widget.data.iconSmall),\n\t\t\ticonActive:\n\t\t\t\t!widget.data.noIcon &&\n\t\t\t\t(getDataValue(\"icon\", ext) || getDataValue(\"iconSmall\", ext)),\n\t\t\ticonSize:\n\t\t\t\t(typeof widget.data.iconSize === \"number\" &&\n\t\t\t\t\t`calc(24px * ${widget.data.iconSize} / 100)`) ||\n\t\t\t\t\"24px\",\n\t\t\ticonSizeActive:\n\t\t\t\tgetDataValue(\"iconSize\", ext) &&\n\t\t\t\t`calc(24px * ${getDataValue(\"iconSize\", ext)} / 100)`,\n\n\t\t\ticonSizeActiveOnly: getDataValue(\"iconSize\", ext),\n\t\t\ticonSizeOnly:\n\t\t\t\tgetDataValue(\"iconSize\", ext) || getDataValue(\"iconSize\", ext) === 0\n\t\t\t\t\t? getDataValue(\"iconSize\", ext)\n\t\t\t\t\t: widget.data.iconSize,\n\n\t\t\ticonColor: widget.data.iconColor,\n\t\t\ticonColorActive: getDataValue(\"iconColor\", ext),\n\n\t\t\ticonHover: widget.data.iconHover && `${widget.data.iconHover}%`,\n\t\t\ticonHoverActive:\n\t\t\t\tgetDataValue(\"iconHover\", ext) && `${getDataValue(\"iconHover\", ext)}%`,\n\n\t\t\ticonXOffset:\n\t\t\t\t(!!getDataValue(\"iconXOffset\", ext) &&\n\t\t\t\t\tgetDataValue(\"iconXOffset\", ext) !== \"0px\" &&\n\t\t\t\t\tgetDataValue(\"iconXOffset\", ext)) ||\n\t\t\t\t/* (!!widget.data.iconXOffset &&\n\t\t\t\t\twidget.data.iconXOffset !== \"0px\" &&\n\t\t\t\t\twidget.data.iconXOffset) || */\n\t\t\t\t\"0px\",\n\t\t\ticonYOffset:\n\t\t\t\t(!!getDataValue(\"iconYOffset\", ext) &&\n\t\t\t\t\tgetDataValue(\"iconYOffset\", ext) !== \"0px\" &&\n\t\t\t\t\tgetDataValue(\"iconYOffset\", ext)) ||\n\t\t\t\t/* (!!widget.data.iconYOffset &&\n\t\t\t\t\twidget.data.iconYOffset !== \"0px\" &&\n\t\t\t\t\twidget.data.iconYOffset) || */\n\t\t\t\t\"0px\",\n\n\t\t\tbackgroundColor:\n\t\t\t\twidget.data.backgroundColor || backgroundStyles.backgroundColor,\n\t\t\tbackgroundColorActive: getDataValue(\"backgroundColor\", ext),\n\n\t\t\tbackground: widget.data.background || backgroundStyles.background,\n\t\t\tbackgroundActive: getDataValue(\"background\", ext),\n\n\t\t\tframeBackgroundColor:\n\t\t\t\twidget.data.frameBackgroundColor || backgroundStyles.backgroundColor,\n\t\t\tframeBackgroundColorActive: getDataValue(\"frameBackgroundColor\", ext),\n\n\t\t\tframeBackground:\n\t\t\t\twidget.data.frameBackground || backgroundStyles.background,\n\t\t\tframeBackgroundActive: getDataValue(\"frameBackground\", ext),\n\t\t});\n\n\t\tconst oidType = oidObject?.common?.type;\n\n\t\tswitch (oidType) {\n\t\t\tcase \"mixed\":\n\t\t\tcase \"boolean\":\n\t\t\tcase \"number\":\n\t\t\tcase \"string\": {\n\t\t\t\tconst _activeIndex = states.findIndex(\n\t\t\t\t\t(state) => String(state.value) === String(oidValue),\n\t\t\t\t);\n\n\t\t\t\tif (_activeIndex !== -1) {\n\t\t\t\t\tsetActiveIndex(_activeIndex + 1);\n\t\t\t\t\treturn getStyleData(_activeIndex + 1);\n\t\t\t\t}\n\n\t\t\t\treturn getStyleData(\"\");\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\treturn getStyleData(\"\");\n\t\t}\n\t}, [\n\t\toidObject,\n\t\toidValue,\n\t\toidName,\n\t\twidget.data,\n\t\tstates,\n\t\ttheme,\n\t\tfontStyles,\n\t\ttextStyles,\n\t\tbackgroundStyles,\n\t\tformatSize,\n\t\tgetDataValue,\n\t]);\n\n\treturn {\n\t\tstates,\n\t\twidgetStates,\n\t\tminValue,\n\t\tmaxValue,\n\t\tdata,\n\t\tactiveIndex,\n\t\tsetActiveIndex,\n\t\toidValue,\n\t};\n}\n\nexport default useData;\n","import { useEffect, useState } from \"react\";\n\nconst useRefDimensions = (element) => {\n\tconst [dimensions, setDimensions] = useState({ width: null, height: null });\n\n\tuseEffect(() => {\n\t\tif (!element) return;\n\n\t\tconst observer = new ResizeObserver((entries) => {\n\t\t\tconst clientWidth = entries[0].contentRect.width;\n\t\t\tconst clientHeight = entries[0].contentRect.height;\n\n\t\t\tsetDimensions({\n\t\t\t\twidth: Math.round(clientWidth),\n\t\t\t\theight: Math.round(clientHeight),\n\t\t\t});\n\t\t});\n\n\t\tobserver.observe(element);\n\t\t// return () => element && observer.unobserve(element);\n\t\treturn () => element && observer.disconnect();\n\t}, [element]);\n\n\treturn dimensions;\n};\n\nexport default useRefDimensions;\n","import { useEffect, useState } from \"react\";\nimport { useContext } from \"react\";\nimport { CollectionContext } from \"../components/CollectionProvider\";\n\nconst useOidValue = (oid) => {\n\tconst { getPropertyValue } = useContext(CollectionContext);\n\n\tconst oidValue = getPropertyValue(oid);\n\n\tconst [value, setValue] = useState(oidValue);\n\n\tuseEffect(() => {\n\t\tif (oidValue !== undefined) setValue(oidValue);\n\t}, [oidValue]);\n\n\treturn value;\n};\n\nexport default useOidValue;\n","import { useEffect, useMemo, useState } from \"react\";\n\nconst POSSIBLE_MUI_STYLES = [\n\t\"background\",\n\t\"background-color\",\n\t\"background-image\",\n\t\"background-position\",\n\t\"background-repeat\",\n\t\"background-size\",\n\t\"background-clip\",\n\t\"background-origin\",\n\t\"border\",\n\t\"border-width\",\n\t\"border-style\",\n\t\"border-color\",\n\t\"border-radius\",\n\t\"color\",\n\t\"text-align\",\n\t\"text-shadow\",\n\t\"font-family\",\n\t\"font-size\",\n\t\"font-weight\",\n\t\"font-style\",\n\t\"font-variant\",\n\t\"line-height\",\n\t\"letter-spacing\",\n\t\"word-spacing\",\n\t\"box-sizing\",\n\t\"box-shadow\",\n];\n\nconst useStyles = (_styles) => {\n\tconst [backgroundStyles, setBackgroundStyles] = useState({});\n\tconst [borderStyles, setBorderStyles] = useState({});\n\tconst [textStyles, setTextStyles] = useState({});\n\tconst [fontStyles, setFontStyles] = useState({});\n\tconst [boxStyles, setBoxStyles] = useState({});\n\n\tconst _stylesJSON = JSON.stringify(_styles);\n\n\tconst possibleMuiStyles = useMemo(() => {\n\t\tconst _backgroundStyles = {};\n\t\tconst _borderStyles = {};\n\t\tconst _textStyles = {};\n\t\tconst _fontStyles = {};\n\t\tconst _boxStyles = {};\n\n\t\tconst _styles = JSON.parse(_stylesJSON);\n\n\t\tPOSSIBLE_MUI_STYLES.forEach((style) => {\n\t\t\tif (_styles[style]) {\n\t\t\t\tconst _camelCaseStyle = style.replace(/(-\\w)/g, (text) =>\n\t\t\t\t\ttext[1].toUpperCase(),\n\t\t\t\t);\n\n\t\t\t\tif (style.includes(\"background\")) {\n\t\t\t\t\t_backgroundStyles[_camelCaseStyle] = _styles[style];\n\t\t\t\t} else if (style.includes(\"border\")) {\n\t\t\t\t\t_borderStyles[_camelCaseStyle] = _styles[style];\n\t\t\t\t} else if (\n\t\t\t\t\tstyle.includes(\"font\") ||\n\t\t\t\t\tstyle.includes(\"line-height\") ||\n\t\t\t\t\tstyle.includes(\"letter-spacing\") ||\n\t\t\t\t\tstyle.includes(\"word-spacing\")\n\t\t\t\t) {\n\t\t\t\t\t_fontStyles[_camelCaseStyle] = _styles[style];\n\t\t\t\t} else if (style.includes(\"text\") || style.includes(\"color\")) {\n\t\t\t\t\t_textStyles[_camelCaseStyle] = _styles[style];\n\t\t\t\t} else {\n\t\t\t\t\t_boxStyles[_camelCaseStyle] = _styles[style];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\t_backgroundStyles,\n\t\t\t_borderStyles,\n\t\t\t_textStyles,\n\t\t\t_fontStyles,\n\t\t\t_boxStyles,\n\t\t};\n\t}, [_stylesJSON]);\n\n\tuseEffect(() => {\n\t\tsetBackgroundStyles(possibleMuiStyles._backgroundStyles);\n\t\tsetBorderStyles(possibleMuiStyles._borderStyles);\n\t\tsetTextStyles(possibleMuiStyles._textStyles);\n\t\tsetFontStyles(possibleMuiStyles._fontStyles);\n\t\tsetBoxStyles(possibleMuiStyles._boxStyles);\n\t}, [possibleMuiStyles]);\n\n\treturn { boxStyles, backgroundStyles, borderStyles, textStyles, fontStyles };\n};\n\nexport default useStyles;\n","function isNumber(x) {\n\tif (x == null || `${x}`.trim() === \"\" || Number.isNaN(+x)) return false;\n\n\treturn true;\n}\n\nexport default isNumber;\n","import { useContext, useEffect, useRef } from \"react\";\nimport { Subject, debounceTime, throttleTime } from \"rxjs\";\nimport { CollectionContext } from \"../components/CollectionProvider\";\n\nfunction useDebounce({\n\toidObject,\n\tdata: { sampleInterval, sampleIntervalValue, delay },\n}) {\n\tconst { setValue } = useContext(CollectionContext);\n\tconst delayDurationRef = useRef(new Subject());\n\n\tconst _delay = sampleInterval ? Number(sampleIntervalValue) : Number(delay);\n\tconst oid = oidObject?._id;\n\n\tuseEffect(() => {\n\t\tif (!oid) return;\n\n\t\tconst delayDurationSubscription = delayDurationRef.current\n\t\t\t.pipe(\n\t\t\t\tsampleInterval\n\t\t\t\t\t? throttleTime(_delay, undefined, { leading: false, trailing: true })\n\t\t\t\t\t: debounceTime(_delay),\n\t\t\t)\n\t\t\t.subscribe((value) => {\n\t\t\t\t/* console.log(\n\t\t\t\t\t`useDebounce -> delayDuration -> oid, value: ${oid}. ${value}`,\n\t\t\t\t); */\n\t\t\t\tsetValue(oid, value);\n\t\t\t});\n\n\t\treturn () => {\n\t\t\treturn delayDurationSubscription.unsubscribe();\n\t\t};\n\t}, [oid, setValue, sampleInterval, _delay]);\n\n\treturn delayDurationRef.current;\n}\n\nexport default useDebounce;\n","import { useCallback, useContext } from \"react\";\nimport { CollectionContext } from \"../components/CollectionProvider\";\nimport isNumber from \"../lib/helper/isNumber\";\nimport useDebounce from \"./useDebounce\";\nimport useOidValue from \"./useOidValue\";\n\nconst useValueState = (idName) => {\n\tconst {\n\t\t[`${idName}Object`]: oidObject,\n\t\tsetState,\n\t\twidget,\n\t\tgetPropertyValue,\n\t\thasPropertyValueChanged,\n\t} = useContext(CollectionContext);\n\n\t// const value = useOidValue(idName);\n\tconst value = getPropertyValue(idName);\n\tconst hasValueChanged = hasPropertyValueChanged(idName);\n\n\tconst debounce = useDebounce({\n\t\toidObject,\n\t\tdata: widget.data,\n\t});\n\n\tconst setValueState = useCallback(\n\t\t(value, onlyValues = false) => {\n\t\t\tconst _oid = oidObject?._id;\n\n\t\t\tif (!_oid) return;\n\n\t\t\tconst oidType = oidObject?.common?.type;\n\t\t\tswitch (oidType) {\n\t\t\t\tcase \"string\":\n\t\t\t\t\tvalue = String(value);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"number\":\n\t\t\t\t\t// console.log(\"Number(value): \", Number(value));\n\t\t\t\t\t// console.log(\"isNumber(value): \", isNumber(value));\n\t\t\t\t\tvalue = isNumber(value) ? Number(value) : \"NaN\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"mixed\":\n\t\t\t\t\tvalue = /^true$/i.test(value)\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: /^false$/i.test(value)\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: (value = isNumber(value) ? Number(value) : String(value));\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"boolean\":\n\t\t\t\t\tvalue = /^true$/i.test(String(value));\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (value === undefined || value === null || value === \"NaN\") return;\n\n\t\t\tif (onlyValues) {\n\t\t\t\tsetState((prevState) => ({\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\t...prevState.values,\n\t\t\t\t\t\t[`${_oid}.val`]: value,\n\t\t\t\t\t\t[`${_oid}.lc`]: 1111111111111,\n\t\t\t\t\t},\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\t/* console.log(\n\t\t\t\t\t`useValueState -> setState -> oid: ${_oid}, value: ${value}`,\n\t\t\t\t); */\n\t\t\t\tsetState((prevState) => ({\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\t...prevState.values,\n\t\t\t\t\t\t[`${_oid}.val`]: value,\n\t\t\t\t\t\t[`${_oid}.lc`]: 1111111111111,\n\t\t\t\t\t},\n\t\t\t\t}));\n\t\t\t\tif (debounce) debounce.next(value);\n\t\t\t}\n\t\t},\n\t\t[oidObject, setState, debounce],\n\t);\n\n\treturn { value, hasValueChanged, setValueState };\n};\n\nexport default useValueState;\n","import DeleteIcon from \"@mui/icons-material/Delete\";\nimport { Box, IconButton, Popover } from \"@mui/material\";\nimport { useTheme } from \"@mui/material/styles\";\nimport React, { useRef, useEffect, useState } from \"react\";\n\nimport ColorPicker, { useColorPicker } from \"react-best-gradient-color-picker\";\n\nfunction CollectionGradientColorPicker({ field, data, onDataChange }) {\n\tconst fieldName = field?.name;\n\tconst theme = useTheme();\n\tconst refOnDataChange = useRef(onDataChange);\n\tconst [color, setColor] = useState(data[fieldName] || null);\n\tconst { setGradient } = useColorPicker(color, setColor);\n\n\tconst [anchorEl, setAnchorEl] = useState(null);\n\n\tconst handleClick = (event) => {\n\t\tsetAnchorEl(event.currentTarget);\n\t\tcolor ? setGradient(color) : setGradient();\n\t};\n\n\tconst handleClose = () => {\n\t\tsetAnchorEl(null);\n\t};\n\n\tconst onChangeHandler = (gradient) => {\n\t\tsetColor(gradient);\n\t\tonDataChange({ [fieldName]: color });\n\t};\n\n\tconst open = Boolean(anchorEl);\n\n\tuseEffect(() => {\n\t\tif (fieldName) refOnDataChange.current({ [fieldName]: color });\n\t}, [color, fieldName]);\n\n\treturn (\n\t\t<>\n\t\t\t<Box\n\t\t\t\tsx={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{!!color && (\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\tedge=\"start\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tonDataChange({ [fieldName]: null });\n\t\t\t\t\t\t\tsetColor(null);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DeleteIcon />\n\t\t\t\t\t</IconButton>\n\t\t\t\t)}\n\n\t\t\t\t<Box\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tmt: \"7px\",\n\t\t\t\t\t\tboxSizing: \"border-box\",\n\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\tborderRadius: \"2px\",\n\t\t\t\t\t\twidth: \"46px\",\n\t\t\t\t\t\theight: \"24px\",\n\t\t\t\t\t\tborder: !color ? \"1px dashed\" : \"5px solid rgb(18, 18, 18)\",\n\t\t\t\t\t\tborderColor: theme.name === \"light\" && \"action.disabledBackground\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Box\n\t\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tp: \"5px\",\n\t\t\t\t\t\t\tbackground: color || \"transparent\",\n\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Box>\n\t\t\t</Box>\n\n\t\t\t<Popover\n\t\t\t\tslotProps={{\n\t\t\t\t\tpaper: {\n\t\t\t\t\t\televation: 0,\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\tp: \"9px\",\n\t\t\t\t\t\t\tborderRadius: \"6px\",\n\t\t\t\t\t\t\tbackgroundColor: \"rgb(32,32,32)\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\topen={open}\n\t\t\t\tanchorEl={anchorEl}\n\t\t\t\tonClose={handleClose}\n\t\t\t\ttransformOrigin={{\n\t\t\t\t\tvertical: \"top\",\n\t\t\t\t\thorizontal: \"center\",\n\t\t\t\t}}\n\t\t\t\tanchorOrigin={{\n\t\t\t\t\tvertical: \"bottom\",\n\t\t\t\t\thorizontal: \"center\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Box\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tborderRadius: \"6px\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\tvalue={color}\n\t\t\t\t\t\tonChange={onChangeHandler}\n\t\t\t\t\t\thidePresets\n\t\t\t\t\t\t// hideInputs\n\t\t\t\t\t\thideEyeDrop\n\t\t\t\t\t\thideAdvancedSliders\n\t\t\t\t\t\thideColorGuide\n\t\t\t\t\t\thideInputType\n\t\t\t\t\t\thideColorTypeBtns\n\t\t\t\t\t/>\n\t\t\t\t</Box>\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n\nexport default CollectionGradientColorPicker;\n","import CollectionDivider from \"../components/CollectionDivider\";\nimport CollectionGradientColorPicker from \"../components/CollectionGradientColorPicker\";\n\nconst commonFields = (settings) => {\n\tconst { groupName = \"\", allFields = true } = settings || {};\n\n\tconst fields = [\n\t\t{\n\t\t\tlabel: \"\",\n\t\t\ttype: \"custom\",\n\t\t\tcomponent: () => <CollectionDivider dividerText=\"icon\" />,\n\t\t\thidden: \"data.noIcon\",\n\t\t},\n\t\t{\n\t\t\tname: `iconSmall${groupName}`,\n\t\t\tlabel: \"small_icon\",\n\t\t\ttype: \"icon64\",\n\t\t\thidden: (data, i) =>\n\t\t\t\tdata.noIcon ||\n\t\t\t\tdata[`icon${i === undefined ? \"\" : i}`] ||\n\t\t\t\t(`icon${groupName}` === \"iconActive\" && data[`icon${groupName}`]),\n\t\t},\n\t\t{\n\t\t\tname: `icon${groupName}`,\n\t\t\tlabel: \"icon\",\n\t\t\ttype: \"image\",\n\t\t\thidden: (data, i) =>\n\t\t\t\tdata.noIcon ||\n\t\t\t\tdata[`iconSmall${i === undefined ? \"\" : i}`] ||\n\t\t\t\t(`iconSmall${groupName}` === \"iconSmallActive\" &&\n\t\t\t\t\tdata[`iconSmall${groupName}`]),\n\t\t},\n\t\t{\n\t\t\tname: `iconSize${groupName}`,\n\t\t\tlabel: \"icon_size\",\n\t\t\ttype: \"slider\",\n\t\t\tmin: 1,\n\t\t\tmax: 500,\n\t\t\t// default: 0,\n\t\t\tstep: 1,\n\t\t\thidden: \"data.noIcon\",\n\t\t},\n\t\t{\n\t\t\tname: `iconColor${groupName}`,\n\t\t\tlabel: \"icon_color\",\n\t\t\ttype: \"color\",\n\t\t\thidden: \"data.noIcon\",\n\t\t},\n\t\t{\n\t\t\tname: `iconHover${groupName}`,\n\t\t\tlabel: \"icon_hover\",\n\t\t\ttype: \"slider\",\n\t\t\tmin: 0,\n\t\t\tmax: 300,\n\n\t\t\tstep: 1,\n\t\t\thidden: \"data.noIcon\",\n\t\t},\n\t\t{\n\t\t\tname: `iconXOffset${groupName}`,\n\t\t\tlabel: \"icon_x_offset\",\n\t\t\ttype: \"text\",\n\t\t\tdefault: \"0px\",\n\t\t\thidden: \"data.noIcon\",\n\t\t},\n\t\t{\n\t\t\tname: `iconYOffset${groupName}`,\n\t\t\tlabel: \"icon_y_offset\",\n\t\t\ttype: \"text\",\n\t\t\tdefault: \"0px\",\n\t\t\thidden: \"data.noIcon\",\n\t\t},\n\t\t{\n\t\t\tlabel: \"\",\n\t\t\ttype: \"custom\",\n\t\t\tcomponent: () => <CollectionDivider dividerText=\"header\" />,\n\t\t\thidden: (data) => data.noHeader && !allFields,\n\t\t},\n\t\t{\n\t\t\tname: `noHeader${groupName}`,\n\t\t\ttype: \"checkbox\",\n\t\t\tlabel: \"no_header\",\n\t\t},\n\t\t{\n\t\t\tname: `noHeaderIcon${groupName}`,\n\t\t\ttype: \"checkbox\",\n\t\t\tlabel: \"no_header_icon\",\n\t\t\tdefault: false,\n\t\t\thidden: \"data.noHeader\",\n\t\t},\n\t\t{\n\t\t\tname: `header${groupName}`,\n\t\t\tlabel: \"header_text\",\n\t\t\ttype: \"html\",\n\t\t\tdefault: \"\",\n\t\t\thidden: \"data.noHeader\",\n\t\t},\n\t\t{\n\t\t\tname: `headerSize${groupName}`,\n\t\t\tlabel: \"header_size\",\n\t\t\ttype: \"slider\",\n\t\t\tmin: 0,\n\t\t\tmax: 500,\n\n\t\t\tstep: 1,\n\t\t\thidden: \"data.noHeader\",\n\t\t},\n\t\t{\n\t\t\tlabel: \"\",\n\t\t\ttype: \"custom\",\n\t\t\tcomponent: () => <CollectionDivider dividerText=\"value\" />,\n\t\t},\n\t\t{\n\t\t\tname: `alias${groupName}`,\n\t\t\tlabel: \"alias\",\n\t\t\ttype: \"html\",\n\t\t\tdefault: \"\",\n\t\t},\n\t\t{\n\t\t\tname: `value${groupName}`,\n\t\t\tlabel: \"value\",\n\t\t\ttype: \"text\",\n\t\t\tdefault: \"\",\n\t\t\thidden: (data) =>\n\t\t\t\tdata.oidType === \"boolean\" || data.name === \"valueActive\",\n\t\t},\n\t\t{\n\t\t\tname: `valueSize${groupName}`,\n\t\t\tlabel: \"value_size\",\n\t\t\ttype: \"slider\",\n\t\t\tmin: 0,\n\t\t\tmax: 500,\n\n\t\t\tstep: 1,\n\t\t},\n\t\t{\n\t\t\tlabel: \"\",\n\t\t\ttype: \"custom\",\n\t\t\tcomponent: () => <CollectionDivider dividerText=\"footer\" />,\n\t\t\thidden: (data) => data.noFooter && !allFields,\n\t\t},\n\t\t{\n\t\t\tname: `noFooter${groupName}`,\n\t\t\tlabel: \"no_footer\",\n\t\t\ttype: \"checkbox\",\n\t\t},\n\t\t{\n\t\t\tname: `footer${groupName}`,\n\t\t\tlabel: \"footer_text\",\n\t\t\ttype: \"html\",\n\t\t\tdefault: \"\",\n\t\t\thidden: \"data.noFooter\",\n\t\t},\n\t\t{\n\t\t\tname: `footerSize${groupName}`,\n\t\t\tlabel: \"footer_size\",\n\t\t\ttype: \"slider\",\n\t\t\tmin: 0,\n\t\t\tmax: 500,\n\n\t\t\tstep: 1,\n\t\t\thidden: \"data.noFooter\",\n\t\t},\n\t\t{\n\t\t\tlabel: \"\",\n\t\t\ttype: \"custom\",\n\t\t\tcomponent: () => <CollectionDivider dividerText=\"characteristics\" />,\n\t\t},\n\t\t{\n\t\t\tname: `noCard${groupName}`,\n\t\t\tlabel: \"without_card\",\n\t\t\ttype: \"checkbox\",\n\t\t},\n\t\t{\n\t\t\tname: `squaredCorner${groupName}`,\n\t\t\tlabel: \"squared_corner\",\n\t\t\ttype: \"checkbox\",\n\t\t},\n\t\t{\n\t\t\tname: `textColor${groupName}`,\n\t\t\tlabel: \"text_color\",\n\t\t\ttype: \"color\",\n\t\t},\n\t\t{\n\t\t\tlabel: \"\",\n\t\t\tname: \"allFieldsDivider\",\n\t\t\ttype: \"custom\",\n\t\t\tcomponent: () => <CollectionDivider />,\n\t\t},\n\t\t{\n\t\t\tname: `outlined${groupName}`,\n\t\t\tlabel: \"outlined\",\n\t\t\ttype: \"checkbox\",\n\t\t},\n\t\t{\n\t\t\tname: `outlinedFrame${groupName}`,\n\t\t\tlabel: \"outlined_frame\",\n\t\t\ttype: \"checkbox\",\n\t\t},\n\t\t{\n\t\t\tlabel: \"\",\n\t\t\tname: \"allFieldsDivider\",\n\t\t\ttype: \"custom\",\n\t\t\tcomponent: () => <CollectionDivider />,\n\t\t},\n\t\t{\n\t\t\tname: `basePadding${groupName}`,\n\t\t\tlabel: \"base_padding\",\n\t\t\ttype: \"slider\",\n\t\t\tmin: 0,\n\t\t\tmax: 10,\n\t\t\tstep: 0.1,\n\t\t\tdefault: 1,\n\t\t},\n\t\t{\n\t\t\tname: `baseElevation${groupName}`,\n\t\t\tlabel: \"base_elevation\",\n\t\t\ttype: \"slider\",\n\t\t\tmin: 0,\n\t\t\tmax: 24,\n\t\t\tstep: 1,\n\t\t\tdefault: 4,\n\t\t},\n\t\t{\n\t\t\tlabel: \"\",\n\t\t\tname: \"allFieldsDivider\",\n\t\t\ttype: \"custom\",\n\t\t\tcomponent: () => <CollectionDivider dividerText=\"geometry\" />,\n\t\t},\n\t\t{\n\t\t\tname: `square${groupName}`,\n\t\t\tlabel: \"square\",\n\t\t\ttype: \"checkbox\",\n\t\t\thidden: \"data.circle || data.ellipse\",\n\t\t},\n\t\t{\n\t\t\tname: `ellipse${groupName}`,\n\t\t\tlabel: \"ellipse\",\n\t\t\ttype: \"checkbox\",\n\t\t\thidden: \"data.circle || data.square\",\n\t\t},\n\t\t{\n\t\t\tname: `circle${groupName}`,\n\t\t\tlabel: \"circle\",\n\t\t\ttype: \"checkbox\",\n\t\t\thidden: \"data.ellipse || data.square\",\n\t\t},\n\t\t{\n\t\t\tlabel: \"\",\n\t\t\ttype: \"custom\",\n\t\t\tcomponent: () => <CollectionDivider dividerText=\"background\" />,\n\t\t},\n\n\t\t{\n\t\t\tname: `background${groupName}`,\n\t\t\tlabel: \"background\",\n\t\t\tdefault: \"\",\n\t\t\ttype: \"custom\", // important\n\t\t\tcomponent: (\n\t\t\t\t// important\n\t\t\t\tfield, // field properties: {name, label, type, set, singleName, component,...}\n\t\t\t\tdata, // widget data\n\t\t\t\tonDataChange, // function to call, when data changed\n\t\t\t\tprops, // additional properties : {socket, projectName, instance, adapterName, selectedView, selectedWidgets, project, widgetID}\n\t\t\t\t// widgetID: widget ID or widgets IDs. If selecteld more than one widget, it is array of IDs\n\t\t\t\t// project object: {VIEWS..., [view]: {widgets: {[widgetID]: {tpl, data, style}}, settings, parentId, rerender, filterList, activeWidgets}, ___settings: {}}\n\t\t\t) => (\n\t\t\t\t<CollectionGradientColorPicker\n\t\t\t\t\tfield={field}\n\t\t\t\t\tdata={data}\n\t\t\t\t\tonDataChange={onDataChange}\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tname: `backgroundColor${groupName}`,\n\t\t\tlabel: \"background_color\",\n\t\t\ttype: \"color\",\n\t\t},\n\t\t{\n\t\t\tlabel: \"\",\n\t\t\ttype: \"custom\",\n\t\t\tcomponent: () => <CollectionDivider dividerText=\"frame_background\" />,\n\t\t},\n\t\t{\n\t\t\tname: `frameBackground${groupName}`,\n\t\t\tlabel: \"frame_background\",\n\t\t\tdefault: \"\",\n\t\t\ttype: \"custom\", // important\n\t\t\tcomponent: (\n\t\t\t\t// important\n\t\t\t\tfield, // field properties: {name, label, type, set, singleName, component,...}\n\t\t\t\tdata, // widget data\n\t\t\t\tonDataChange, // function to call, when data changed\n\t\t\t\tprops, // additional properties : {socket, projectName, instance, adapterName, selectedView, selectedWidgets, project, widgetID}\n\t\t\t\t// widgetID: widget ID or widgets IDs. If selecteld more than one widget, it is array of IDs\n\t\t\t\t// project object: {VIEWS..., [view]: {widgets: {[widgetID]: {tpl, data, style}}, settings, parentId, rerender, filterList, activeWidgets}, ___settings: {}}\n\t\t\t) => (\n\t\t\t\t<CollectionGradientColorPicker\n\t\t\t\t\tfield={field}\n\t\t\t\t\tdata={data}\n\t\t\t\t\tonDataChange={onDataChange}\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tname: `frameBackgroundColor${groupName}`,\n\t\t\tlabel: \"frame_background_color\",\n\t\t\ttype: \"color\",\n\t\t},\n\t];\n\n\tif (allFields) {\n\t\tconst valuesToDelete = [`alias${groupName}`, `value${groupName}`];\n\n\t\treturn fields.filter((obj) => !valuesToDelete.includes(obj.name));\n\t}\n\n\tconst valuesToDelete = [\n\t\t\"allFieldsDivider\",\n\t\t`noHeader${groupName}`,\n\t\t`noHeaderIcon${groupName}`,\n\t\tgroupName === \"Active\" ? `value${groupName}` : \"\",\n\t\t`noFooter${groupName}`,\n\t\t`noCard${groupName}`,\n\t\t`squaredCorner${groupName}`,\n\t\t`outlined${groupName}`,\n\t\t`outlinedFrame${groupName}`,\n\t\t`basePadding${groupName}`,\n\t\t`baseElevation${groupName}`,\n\t\t`square${groupName}`,\n\t\t`ellipse${groupName}`,\n\t\t`circle${groupName}`,\n\t];\n\n\treturn fields.filter((obj) => !valuesToDelete.includes(obj.name));\n};\n\nexport default commonFields;\n","import CollectionDivider from \"../components/CollectionDivider\";\n\nasync function getObjectIconAsync(socket, object) {\n\tlet icon = null;\n\n\tconst idArray = object._id.split(\".\");\n\n\tfor (let i = idArray.length; i > 0; i--) {\n\t\tconst parentObject = await socket.getObject(idArray.slice(0, i).join(\".\"));\n\n\t\tif (parentObject?.common?.icon) {\n\t\t\ticon = parentObject.common.icon;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn icon;\n}\n\nexport const oidChangeHandlerAsync =\n\t(allowedTypes, oid = \"oid\") =>\n\tasync (field, data, changeData, socket) => {\n\t\tif (data[oid]) {\n\t\t\tconst object = await socket.getObject(data[oid]);\n\t\t\tif (!object) return;\n\n\t\t\tconst oidType = object.common?.type;\n\t\t\tif (!allowedTypes.includes(oidType)) return;\n\n\t\t\tconst _icon = await getObjectIconAsync(socket, object);\n\n\t\t\tdata.oidType = oidType;\n\t\t\tdata.write = object?.common?.write;\n\t\t\tdata.onlyDisplay = !object?.common?.write;\n\t\t\tdata.unit = object?.common?.unit || \"\";\n\t\t\tdata.minValue = object?.common?.min || 0;\n\t\t\tdata.maxValue = object?.common?.max || 100;\n\n\t\t\tdata.icon = _icon;\n\n\t\t\tif (object?.common?.states) {\n\t\t\t\tif (Array.isArray(object.common.states)) {\n\t\t\t\t\t// convert to {'state1': 'state1', 'state2': 'state2', ...}\n\t\t\t\t\tconst states = {};\n\t\t\t\t\tobject.common.states.forEach((state) => {\n\t\t\t\t\t\tstates[state] = state;\n\t\t\t\t\t});\n\t\t\t\t\tobject.common.states = states;\n\t\t\t\t}\n\n\t\t\t\tdata.values_count = Object.keys(object.common.states).length;\n\n\t\t\t\tObject.entries(object.common.states).forEach(\n\t\t\t\t\t([value, alias], index) => {\n\t\t\t\t\t\tswitch (oidType) {\n\t\t\t\t\t\t\tcase \"boolean\":\n\t\t\t\t\t\t\t\tdata[`value${index + 1}`] = value === \"true\";\n\t\t\t\t\t\t\t\tdata[`alias${index + 1}`] = alias;\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase \"number\":\n\t\t\t\t\t\t\t\tdata[`value${index + 1}`] = Number(value);\n\t\t\t\t\t\t\t\tdata[`alias${index + 1}`] = alias;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"string\":\n\t\t\t\t\t\t\t\tdata[`value${index + 1}`] = value;\n\t\t\t\t\t\t\t\tdata[`alias${index + 1}`] = alias;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"mixed\":\n\t\t\t\t\t\t\t\tdata[`value${index + 1}`] = value;\n\t\t\t\t\t\t\t\tdata[`alias${index + 1}`] = alias;\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tchangeData(data);\n\t\t\t} else if (object?.common?.type === \"boolean\") {\n\t\t\t\tdata.values_count = 2;\n\t\t\t\tdata.value1 = true;\n\t\t\t\tdata.alias1 = \"TRUE\";\n\t\t\t\tdata.value2 = false;\n\t\t\t\tdata.alias2 = \"FALSE\";\n\n\t\t\t\tchangeData(data);\n\t\t\t} else if (object?.common) {\n\t\t\t\tdata.values_count = 0;\n\n\t\t\t\tchangeData(data);\n\t\t\t}\n\t\t} else {\n\t\t\t// no oid\n\t\t\tdata.icon = null;\n\t\t\tdata.onlyStates = null;\n\t\t\tdata.write = false;\n\t\t\tdata.onlyDisplay = true;\n\t\t\tfor (let i = 1; i <= Number(data.values_count); i++) {\n\t\t\t\tdelete data[`iconSmall${i}`];\n\t\t\t\tdelete data[`icon${i}`];\n\t\t\t\tdelete data[`iconSize${i}`];\n\t\t\t\tdelete data[`iconColor${i}`];\n\t\t\t\tdelete data[`iconHover${i}`];\n\t\t\t\tdelete data[`iconXOffset${i}`];\n\t\t\t\tdelete data[`iconYOffset${i}`];\n\t\t\t\tdelete data[`noHeader${i}`];\n\t\t\t\tdelete data[`header${i}`];\n\t\t\t\tdelete data[`headerSize${i}`];\n\t\t\t\tdelete data[`alias${i}`];\n\t\t\t\tdelete data[`value${i}`];\n\t\t\t\tdelete data[`valueSize${i}`];\n\t\t\t\tdelete data[`noFooter${i}`];\n\t\t\t\tdelete data[`footer${i}`];\n\t\t\t\tdelete data[`footerSize${i}`];\n\t\t\t\tdelete data[`noCard${i}`];\n\t\t\t\tdelete data[`squaredCorner${i}`];\n\t\t\t\tdelete data[`textColor${i}`];\n\t\t\t\tdelete data[`outlined${i}`];\n\t\t\t\tdelete data[`outlinedFrame${i}`];\n\t\t\t\tdelete data[`basePadding${i}`];\n\t\t\t\tdelete data[`baseElevation${i}`];\n\t\t\t\tdelete data[`square${i}`];\n\t\t\t\tdelete data[`ellipse${i}`];\n\t\t\t\tdelete data[`circle${i}`];\n\t\t\t\tdelete data[`background${i}`];\n\t\t\t\tdelete data[`backgroundColor${i}`];\n\t\t\t\tdelete data[`frameBackground${i}`];\n\t\t\t\tdelete data[`frameBackgroundColor${i}`];\n\t\t\t}\n\t\t\tdata.values_count = 0;\n\n\t\t\tchangeData(data);\n\t\t}\n\t};\n\nconst commonObjectFields = (allowedTypes) => [\n\t{\n\t\tname: \"oid\",\n\t\ttype: \"id\",\n\t\tlabel: \"oid\",\n\t\tonChange: oidChangeHandlerAsync(allowedTypes),\n\t},\n\t{\n\t\tlabel: \"\",\n\t\ttype: \"custom\",\n\t\tcomponent: () => <CollectionDivider />,\n\t},\n\t{\n\t\tname: \"unit\",\n\t\tlabel: \"unit\",\n\t\ttype: \"text\",\n\t\tdefault: \"\",\n\t},\n\t{\n\t\tlabel: \"\",\n\t\ttype: \"custom\",\n\t\tcomponent: () => <CollectionDivider />,\n\t\thidden: \"data.oidType === 'boolean'\",\n\t},\n\t{\n\t\tname: \"values_count\",\n\t\ttype: \"number\",\n\t\tdefault: 0,\n\t\tlabel: \"values_count\",\n\t\thidden: \"data.oidType === 'boolean'\",\n\t},\n];\n\nexport default commonObjectFields;\n","import CollectionDivider from \"../components/CollectionDivider\";\n\nconst delayFields = () => [\n\t{\n\t\tlabel: \"\",\n\t\ttype: \"custom\",\n\t\tcomponent: () => <CollectionDivider dividerText=\"write_value\" />,\n\t},\n\t{\n\t\tname: \"sampleInterval\",\n\t\ttype: \"checkbox\",\n\t\tlabel: \"sample_interval\",\n\t\tdefault: false,\n\t},\n\t{\n\t\tname: \"sampleIntervalValue\",\n\t\ttype: \"number\",\n\t\tlabel: \"sample_interval_value\",\n\t\tdefault: 200,\n\t\tmin: 0,\n\t\tmax: 10000,\n\t\tstep: 1,\n\t\thidden: \"!data.sampleInterval\",\n\t},\n\t{\n\t\tname: \"delay\",\n\t\ttype: \"number\",\n\t\tlabel: \"delay\",\n\t\tdefault: 300,\n\t\tmin: 0,\n\t\tmax: 10000,\n\t\tstep: 1,\n\t\thidden: \"data.sampleInterval\",\n\t},\n];\n\nexport default delayFields;\n"],"names":["Generic","window","visRxWidget","constructor","_this","arguments","this","getPropertyValue","stateName","state","values","concat","rxData","hasPropertyValueChanged","lastChange","timestamp","ack","setValue","id","value","length","undefined","props","context","socket","setState","catch","e","console","error","getI18nPrefix","getParentObject","parts","split","pop","parentOID","join","getObject","getObjectIcon","obj","imagePrefix","src","common","cIcon","icon","startsWith","includes","instance","type","name","createStateObjectAsync","noObject","object","_id","max","min","states","Array","isArray","forEach","getLanguage","en","JSON","stringify","wrapContent","content","_jsxs","_Fragment","children","_jsx","CssBaseline","Box","className","sx","position","overflow","width","height","display","justifyContent","alignItems","wrappedContent","sliderFields","component","CollectionDivider","label","options","default","hidden","dividerText","step","_ref","marks","sliderOrientation","_objectWithoutProperties","_excluded","ref","setRef","useState","index","mark","ownerState","useEffect","innerHTML","SliderMarkLabel","_objectSpread","style","color","flexDirection","flexGrow","pr","pb","fontSize","textColor","bottom","iconYOffset","left","iconXOffset","alt","iconWidth","iconHeight","iconColor","filter","transform","_oidObject$common","oidObject","widget","useContext","CollectionContext","data","minValue","maxValue","useData","sliderMarksIndex","setSliderMarksIndex","oidValue","setValueState","setOidValueState","useValueState","startIconColor","sliderColor","endIconColor","oidType","isValidType","sliderMinValue","useMemo","onlyStates","Number","sliderMaxValue","sliderMarks","_sliderMarks","parse","sort","a","b","some","push","unit","markStep","i","findIndex","String","CollectionBase","CollectionBaseImage","p","right","iconMin","iconSmallMin","iconMax","iconSmallMax","iconSizeStart","iconSizeEnd","Slider","slots","markLabel","CollectionMark","slotProps","disabled","valueLabelDisplay","orientation","size","sliderSize","onChange","_","mb","mr","bgcolor","valueSizeActive","markerTextSize","valueSize","textColorActive","markerTextColor","top","labelPosition","markPosition","iconXOffsetActive","iconYOffsetActive","iconSizeActive","iconColorActive","pl","iconActive","iconSmallActive","boxSizing","background","backgroundSize","SliderCollectionWidget","getWidgetInfo","visSet","visSetLabel","visName","visWidgetLabel","visOrder","visAttrs","fields","commonFields","commonObjectFields","delayFields","groupName","allFields","indexFrom","indexTo","visDefaultStyle","visPrev","propertiesUpdate","actualRxData","lastRxData","onRxDataChanged","payload","onRxStyleChanged","onStateUpdated","componentDidMount","super","renderWidgetBody","collectionContext","refService","rxStyle","bind","isSignalVisible","mode","themeType","theme","noCard","usedInWidget","withCollectionProvider","SliderCollection","useSignals","_refService$current","current","_current","visible","Object","child","_child$children$","idx","signalColor","setWidth","setHeight","clientWidth","clientHeight","useElementDimensions","square","circle","basePadding","forwardRef","baseRef","bgActive","paper0Ref","useRef","paper1Ref","headerRef","setHeaderRef","headerRef1","footerRef","setFooterRef","backgroundStyles","borderStyles","textStyles","fontStyles","useStyles","useSize","oidValueUnit","oid","footerValue","footer","alias","noFooter","noHeader","header","useImperativeHandle","paper0","paper1","Paper","squaredCorner","variant","outlinedFrame","border","borderWidth","borderStyle","borderRadius","borderColor","frameBackgroundColorActive","frameBackgroundColor","frameBackgroundActive","frameBackground","mt","Typography","noWrap","headerSize","elevation","baseElevation","outlined","backgroundColorActive","backgroundColor","backgroundActive","ellipse","footerSize","textAlign","noHeaderIcon","iconSize","pt","Divider","opacity","t","createContext","_theme","mergeOptions","palette","createTheme","deepmerge","components","MuiTypography","ThemeProvider","Provider","CollectionProvider","activeIndex","setActiveIndex","oidName","formatSize","useCallback","getDataValue","key","ext","widgetStates","processStates","_oidObject$common2","_oidObject$common3","oidStates","oidEntries","entries","values_count","_value","_alias","_unit","test","oidEntry","find","replace","Math","map","_oidObject$common4","getStyleData","primary","main","headerActive","headerSizeActive","footerActive","footerSizeActive","noIcon","iconSmall","iconSizeActiveOnly","iconSizeOnly","iconHover","iconHoverActive","_activeIndex","element","dimensions","setDimensions","observer","ResizeObserver","contentRect","round","observe","disconnect","POSSIBLE_MUI_STYLES","_styles","setBackgroundStyles","setBorderStyles","setTextStyles","setFontStyles","boxStyles","setBoxStyles","_stylesJSON","possibleMuiStyles","_backgroundStyles","_borderStyles","_textStyles","_fontStyles","_boxStyles","_camelCaseStyle","text","toUpperCase","x","trim","isNaN","sampleInterval","sampleIntervalValue","delay","delayDurationRef","Subject","_delay","delayDurationSubscription","pipe","throttleTime","leading","trailing","debounceTime","subscribe","unsubscribe","idName","hasValueChanged","debounce","useDebounce","onlyValues","_oid","isNumber","prevState","next","field","onDataChange","fieldName","useTheme","refOnDataChange","setColor","setGradient","useColorPicker","anchorEl","setAnchorEl","open","Boolean","IconButton","edge","onClick","DeleteIcon","event","currentTarget","cursor","Popover","paper","onClose","handleClose","transformOrigin","vertical","horizontal","anchorOrigin","ColorPicker","gradient","hidePresets","hideEyeDrop","hideAdvancedSliders","hideColorGuide","hideInputType","hideColorTypeBtns","settings","CollectionGradientColorPicker","valuesToDelete","oidChangeHandlerAsync","allowedTypes","async","changeData","_object$common","_object$common2","_object$common3","_object$common4","_object$common5","_object$common6","_object$common7","_object$common8","_icon","idArray","_parentObject$common","parentObject","slice","getObjectIconAsync","write","onlyDisplay","keys","value1","alias1","value2","alias2"],"sourceRoot":""}
|