UNPKG

iobroker.energiefluss-erweitert

Version:

This ioBroker adapter is the next Version of the energiefluss with the attribute 'erweitert' and allows to display an energyflow animation inside an iframe or HTML DIV.

2,432 lines (2,064 loc) 56 kB
@media (prefers-color-scheme: light) { :root { --primary: #538ea3; --secondary: #b2dfee; --black: #000; --blackTrans: rgba(0, 0, 0, 0.4); --white: #FFF; --darkestGrey: rgb(153, 153, 153); --transparent: transparent; --creme: #F5F5F5; --silvergrey: #d3d3d3; --darkgrey: #efefef; --red: lightcoral; --middle-grey: #edf2f5; --loading-background: rgba(153, 153, 153, 0.6); --green: #66b371; --box-shadow: 0 6px 12px rgba(0, 0, 0, .175); --box-shadow-hover: 0 12px 18px rgba(0, 0, 0, .200); --container-background: linear-gradient(to right, white 30%, rgba(255, 255, 255, 0)), linear-gradient(to right, rgba(255, 255, 255, 0), white 70%) 0 100%, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)) 0 100%; } } @media (prefers-color-scheme: dark) { :root { --primary: #d3d3d3; --secondary: #aaaaaa; --black: #ccc; --blackTrans: rgba(255, 255, 255, 0.4); --white: #323232; --darkestGrey: rgb(119, 119, 119); --transparent: #323232; --creme: #777; --silvergrey: #9e9d9d; --darkgrey: #a3a3a3; --red: #c96969; --middle-grey: #323232; --loading-background: rgba(119, 119, 119, 0.6); --green: rgb(2, 138, 2); --box-shadow: 0 6px 12px rgba(255, 255, 255, 0.175); --box-shadow-hover: 0 12px 18px rgba(255, 255, 255, .200); --container-background: linear-gradient(to right, #323232 30%, rgba(255, 255, 255, 0)), linear-gradient(to right, rgba(255, 255, 255, 0), #323232 70%) 0 100%, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)) 0 100%; } } :root { --folder-closed: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 24 24"%3E%3Cpath fill="%23538ea3" d="M10 4H4c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-8l-2-2Z"%2F%3E%3C%2Fsvg%3E'); --folder-open: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 24 24"%3E%3Cpath fill="%23538ea3" d="M19 20H4a2 2 0 0 1-2-2V6c0-1.11.89-2 2-2h6l2 2h7a2 2 0 0 1 2 2H4v10l2.14-8h17.07l-2.28 8.5c-.23.87-1.01 1.5-1.93 1.5Z"%2F%3E%3C%2Fsvg%3E'); --file: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 24 24"%3E%3Cpath fill="currentColor" d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6m4 18H6V4h7v5h5v11Z"%2F%3E%3C%2Fsvg%3E'); --file-selected: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 24 24"%3E%3Cpath fill="%23538ea3" d="M5 21q-.825 0-1.413-.588T3 19V5q0-.825.588-1.413T5 3h14q.2 0 .375.038t.35.112L17.875 5H5v14h14v-6.65l2-2V19q0 .825-.588 1.413T19 21H5Zm6.525-6.8l8.5-8.5q.275-.275.675-.275t.7.275q.3.275.3.7t-.3.725L12.225 16.3q-.3.3-.7.3t-.7-.3l-4.25-4.25q-.275-.275-.275-.7t.275-.7q.275-.275.7-.275t.7.275l3.55 3.55Z"%2F%3E%3C%2Fsvg%3E'); --icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M12 20c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m0-18C6.47 2 2 6.47 2 12s4.47 10 10 10s10-4.47 10-10S17.53 2 12 2m2.59 6L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41z'/%3E%3C/svg%3E"); --icon-swap: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m3-13.5V9h-4v2h4v2.5l3.5-3.5zm-6 4L5.5 14L9 17.5V15h4v-2H9z'/%3E%3C/svg%3E"); } /* Default HTML & Body */ html, body { margin: 0 auto; padding: 0; line-height: 20px; font-family: "Arial", sans-serif; font-size: 13px; -moz-user-select: none; -webkit-user-select: none; user-select: none; height: 98vh; width: 100%; background-color: var(--white); color: var(--black); } .info_error_icon, .config_icon { color: var(--primary); } .info_error_icon { animation: error_icon_animation 3s linear infinite; } @keyframes error_icon_animation { 50% { filter: drop-shadow(0px 0px 4px var(--red)) drop-shadow(0px 0px 4px var(--red)) drop-shadow(0px 0px 4px var(--red)); } 0%, 100% { filter: drop-shadow(0px 0px 4px var(--red)); } } a, a:visited, a:focus { border: none; outline: none; color: var(--primary); transition: all .5s; text-decoration: underline; } a:hover { color: var(--secondary); transition: all .5s; text-decoration: none; } /* Loading Animation before iFrame */ .ui-widget-overlay-fading, .ui-widget-overlay, #loading { -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); background-color: var(--loading-background); position: fixed; z-index: 1000; top: 0; left: 0; height: 100vh; width: 100vw; opacity: 1; } .flex-box { display: flex; height: 100%; min-height: 100%; max-height: 100%; flex-wrap: wrap; align-items: flex-start; } .flex-box>div { width: 100%; display: flex; flex-flow: row; float: left; flex: 1 1 auto; align-items: stretch; } #loading>span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: var(--black); font-size: 20px; margin-top: 55px; text-align: center; width: auto; min-width: 80%; } #loading #loading_text_error { display: none; font-size: 12px; top: 60%; } /* SVG Surface */ #svg_config, #svg_config:focus { border: 1px solid black; outline: none; } #svg_display { height: 100%; width: 100%; } stop { transition: .4s; } .stopAnimation { transition: offset 1s ease; } .align_element { float: left; } .scrollbar::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px var(--primary); box-shadow: inset 0 0 6px var(--primary); border-radius: 10px; background-color: var(--creme); } .scrollbar::-webkit-scrollbar { height: 8px; width: 8px; background-color: var(--creme); } .scrollbar::-webkit-scrollbar-thumb { border-radius: 10px; -webkit-box-shadow: inset 0 0 6px var(--primary); box-shadow: inset 0 0 6px var(--primary); background-color: var(--primary); } .scrollbar { scrollbar-arrow-color: rgba(0, 0, 0, .3); scrollbar-face-color: rgb(210, 210, 210); /* Firefox 63 compatibility */ scrollbar-track-color: var(--creme); /* Firefox 63 compatibility */ -moz-scrollbar-color: var(--primary) var(--creme); scrollbar-color: var(--primary) var(--creme); scrollbar-width: thin; } /* Main Working Container */ .menuContainer { display: flex; flex-direction: column; /* Height minus Menu Bar */ height: calc(100vh - 54px); margin-right: 14px; } .menuContainer>div { flex: 1 1 auto; width: 100%; box-sizing: border-box; } .menuContainer>div:nth-child(1) { height: 40px; max-height: 40px; min-height: 40px; display: flex; align-items: center; } .menuContainer>div:nth-child(2) { flex-flow: row; height: 1px; min-height: 186px; max-height: 186px; transition: all .5s ease-out; } .menuContainer>div:nth-child(3) { flex-grow: 1; flex-shrink: 1; flex-basis: auto; overflow: auto; white-space: nowrap; border: 1px solid var(--primary); padding: 5px; margin-top: 4px; overscroll-behavior: none; } /* Area Catch */ .tabbed.no_catch figure, .tabbed.no_catch nav { width: min-content; max-width: min-content; } .tabbed.no_catch figure .tab1 { max-width: 100% !important; width: min-content; margin-right: 10px; margin-bottom: 10px; max-height: calc(100vh - 38px); } .tabbed.no_catch figure .tab1 .menuContainer { height: calc(100% - 20px); } .tabbed.no_catch figure .tab1 .menuContainer>div:nth-child(1) { position: sticky; top: 0; background-color: var(--white); } .tabbed.no_catch figure .tab1 .menuContainer>div:nth-child(2) { position: sticky; top: 40px; background-color: var(--white); } .tabbed.no_catch figure .tab1 .menuContainer>div:nth-child(3) { display: block; width: min-content; } .container { background-color: var(--white); display: flex; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; background: var(--container-background); background-position-x: 0%, 0px, 0%, 0px; background-position-y: 0%, 100%, 0%, 100%; background-repeat: repeat, repeat, repeat, repeat; background-size: auto, auto, auto, auto; background-attachment: local, local, scroll, scroll; background-position: 0 0, 100%, 0 0, 100%; background-repeat: no-repeat; background-size: 2.5rem 100%, 2.5rem 100%, .875rem 100%, .875rem 100% } .menuContainer div:nth-child(2).hidden { height: 0; min-height: 0; max-height: 0; transition: min-height .5s ease-in; } .container.top fieldset { margin-top: 5px; } .container.top fieldset:nth-child(1) { min-width: 280px; } .container.top fieldset:nth-child(2) { min-width: 184px; } .container.top fieldset:nth-child(3) { min-width: 114px; max-width: 114px; } .container.top fieldset:nth-child(4) { min-width: 300px; max-width: 300px; } .container.top fieldset:nth-child(5) { min-width: 220px; max-width: 220px; } .container.top fieldset:nth-child(6) { min-width: 310px; } fieldset { border: solid 1px var(--primary); border-radius: 5px; padding: 8px; margin: 12px; min-width: 290px; width: max-content; -webkit-box-shadow: var(--box-shadow); box-shadow: var(--box-shadow); } .container.top fieldset:nth-child(3) legend { min-width: 98px; } .config_sec, legend { padding: 3px 6px; background: var(--primary); color: var(--white); height: 24px; font-size: 14px; line-height: 20px; border-radius: 5px; font-weight: 600; display: flex; min-width: 144px; align-items: center; -webkit-box-shadow: var(--box-shadow); box-shadow: var(--box-shadow); } .config_sec { padding-left: 12px; } legend>.legend { color: var(--white); } legend>span { margin-left: 4px; margin-top: 2px; } .popUpContainer { display: none; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 90vw; height: calc(100dvh - 50px); min-height: 40px; min-width: 40px; max-width: 100vw; max-height: 100vh; overflow: hidden; border-radius: 10px; -webkit-box-shadow: var(--box-shadow); box-shadow: var(--box-shadow); background-color: var(--white); z-index: 1000; border: 1px solid var(--darkestGrey); } .action_element { cursor: pointer; pointer-events: visible; } text.action_element:hover { opacity: .6; } #help_section, #dialog_section, #manage_shortcuts_section, #action_change_value, #action_change_value .additional_shortcuts { display: none; } #action_change_value { max-width: 312px; } .help { cursor: help; vertical-align: bottom; padding-left: 5px; width: 24px; height: 24px; } .help.margin { margin-top: 10px; } .title_bar { background-color: var(--primary); height: 34px; text-align: right; width: 100%; } .framed { width: 100%; height: calc(100% - 32px); border: none; margin: 0; display: block; overflow: hidden; } .hr-divide { height: 0.15em; background-color: #538ea3; border-radius: 5px; margin-top: 15px; margin-left: 15px; margin-right: 15px; } .draggable { cursor: move; pointer-events: visible; touch-action: none; } #help_grid { display: none; pointer-events: none; } .dragging { pointer-events: visible; opacity: 0.6 !important; cursor: move; outline: 1px dashed var(--red); outline-offset: 2px; } .draggable-multi:not(.active_element) { pointer-events: visible; cursor: move; animation-name: animation_blink; animation-timing-function: ease-in; animation-duration: 1.6s; animation-iteration-count: infinite; outline: 1px dashed var(--red); outline-offset: 2px; } .newVersion { animation: animation_blink 2s linear infinite; color: var(--green); cursor: pointer; } @keyframes animation_blink { 50% { opacity: 0.4; } } .noscroll { overflow: hidden !important; } .alignable, .clickable { pointer-events: visible; cursor: pointer; } .line { fill: none; } @keyframes drawAnimatedLine { to { stroke-dashoffset: 0; } } @keyframes eraseAnimatedLine { to { stroke-dashoffset: 100%; } } .line_cfg { cursor: pointer; pointer-events: all; } .added_elements.not_selectable, .line.not_selectable { cursor: not-allowed; } .animation { stroke-dasharray: 4 12 4 12 4 100; stroke-linecap: round; fill: none; stroke: #ffce4a; text-rendering: optimizeLegibility; } .animation_cfg { transition: .5s; animation-name: dashdraw; animation-duration: 2000ms; animation-timing-function: linear; animation-iteration-count: infinite; transform: translateZ(0); will-change: stroke-dashoffset; } @keyframes dashdraw { to { stroke-dashoffset: -136; } } .no_animation { visibility: hidden; fill: none; transition: .5s; } .anim_element { pointer-events: none; } .overview { color: var(--black); } .add_element_area { color: var(--primary); cursor: pointer; border-radius: 5px; border: 1px solid var(--primary); transition: .5s; height: 28px; width: 28px; } .add_element_area:hover { color: var(--secondary); transition: .5s; } .all_elements { transition: opacity .4s ease-in-out; } .border_fill { fill: none; filter: none; transform-box: fill-box; transform-origin: 50% 50%; transition: stroke-dashoffset 1s ease-in-out, stroke 1s ease-in-out; pointer-events: none; } /* Hover for detecting the element better */ #svg_config rect:not(#lasso_rect):hover, #svg_config circle:hover, #svg_config use:hover { stroke: var(--red) !important; } #svg_config text:hover { fill: var(--red) !important; } #svg_config svg:hover { color: var(--red) !important; } .faded_out { opacity: 0.25; transition: all .4s ease-in-out; } .active_element { outline: 1px dashed var(--red); outline-offset: 2px; } .no_click { pointer-events: none; } /* Mouse Contextmenu */ #mouse_contextmenu { display: none; min-width: 120px; border: 1px solid var(--silvergrey); text-align: left; position: absolute; border-radius: 5px; background-color: var(--white); width: auto; -webkit-box-shadow: var(--box-shadow); box-shadow: var(--box-shadow); } #mouse_contextmenu ul { list-style: none; padding: 0; margin: 0; display: block; outline: 0; border-radius: 5px; } #mouse_contextmenu ul li { cursor: pointer; white-space: nowrap; } #mouse_contextmenu ul li div { padding: 3px 1em 3px .4em; display: flex; } #mouse_contextmenu ul li div span { padding-left: 10px; } #mouse_contextmenu ul li.not_active { color: var(--darkestGrey); } #mouse_contextmenu ul li.not_active:hover { cursor: not-allowed; } #mouse_contextmenu ul li:first-child:hover { border-top-left-radius: 5px; border-top-right-radius: 5px; } #mouse_contextmenu ul li:last-child:hover { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } #mouse_contextmenu ul li:hover { background-color: var(--primary); color: var(--white); } /* Success and Failed balloons */ #message_success, #message_failed { display: none; min-width: 200px; border: 1px solid var(--silvergrey); text-align: center; border-radius: 5px; padding: 16px; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1002; background-color: var(--green); -webkit-box-shadow: var(--box-shadow); box-shadow: var(--box-shadow); } /* Failed balloon */ #message_failed { background-color: var(--red); } #config_link { position: fixed; bottom: 0; left: 0; } #info_error_area { position: fixed; bottom: 0; right: 0; display: none; } #errorLog { padding: 5px; } /* The slider itself */ .slider { -webkit-appearance: none; appearance: none; width: auto; height: 8px; background: #d3d3d3; outline: none; -webkit-transition: .2s; transition: opacity .2s; margin-top: 26px; } /* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */ .slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 10px; border-radius: 15px; height: 20px; background: var(--primary); cursor: grab; } .slider::-moz-range-thumb { -moz-appearance: none; width: 10px; height: 20px; border-radius: 15px; background: var(--primary); cursor: grab; } .form_div { position: relative; border: none; margin-top: 15px; width: 100%; } .form_div.textbox { margin-top: 22px; } .form_div.text { margin-top: 8px; } .form_div.button { margin-top: 16px; } .form_div.select { margin-top: 2px; } .form_div.info span { font-size: 12px; } .form_div span.red { color: var(--red); } .form_div span.green { color: var(--green); } .no_margin { margin: 1px; } .form_div:not(.button)::after { margin: 0 auto; position: absolute; content: ''; height: 4px; width: 0%; bottom: 0px; left: 0; right: 0; background: transparent; /* optional animation */ -o-transition: .5s; -ms-transition: .5s; -moz-transition: .5s; -webkit-transition: .5s; transition: .5s; } .form_div:not(.noFocusLine):focus-within::after { width: 100%; background: var(--primary); border-radius: 10px; } .slider_basic { display: flex; align-items: baseline; } .slider_basic>.form_div { margin-top: 8px; margin-right: 12px; width: auto; } .input_text, .input_number, .input_select, .input_textarea { width: 100%; font-size: 14px; border: none; outline: none; border-bottom: 2px solid var(--darkestGrey); padding: 5px 0; transition: border .5s; background-color: var(--transparent); color: var(--black); border-radius: 0; } .input_textarea { width: 100%; resize: none; } .input_text.color { width: calc(100% - 36px); } .input_select { appearance: none; cursor: pointer; text-overflow: ellipsis; padding-right: 18px; } .select-option { position: relative; } .select-option:after { content: ' '; height: 0; position: absolute; top: 50%; right: 5px; width: 0; border: 6px solid rgba(0, 0, 0, 0); border-top-color: #999; margin-top: -3px; /* optional animation */ -o-transition: .5s; -ms-transition: .5s; -moz-transition: .5s; -webkit-transition: .5s; transition: .5s; } .select-option:hover::after { border-top-color: var(--black); } .input_number_small { width: 90px; } .color-chooser { width: 180px; } .form_label { color: var(--primary); width: max-content; } .input_textarea:hover, .input_text:hover, .input_number:hover, .input_select:hover { border-color: var(--black); transition: .5s; } .input_textarea:focus, .input_text:focus, .input_number:focus, .input_select:focus { border-color: transparent; } .input_select optgroup { font-style: normal; } .yeah { position: absolute; border-bottom: 1px solid red; } .input_text~.form_label, .input_number~.form_label { font-size: 16px; position: absolute; left: 0; top: 0; color: #999; pointer-events: none; transform-origin: center left; transition: transform .3s; } .input_text:focus~.form_label, .input_number:focus~.form_label, .input_text:not(:placeholder-shown)~.form_label, .input_number:not(:placeholder-shown)~.form_label { transform: translateY(-20px) scale(0.8); color: var(--primary); } .input_text:invalid, .input_number:invalid { color: var(--red); } .input_text:read-only { cursor: not-allowed; } .input_button { width: 120px; height: 28px; border-radius: 5px; background: var(--primary); font-weight: bold; color: var(--white); padding: 4px; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 2px solid #eee; cursor: pointer; transition: .5s; text-overflow: ellipsis; overflow: hidden; } .input_button.autowidth { max-width: 90px; min-width: 40px; margin-top: 4px; margin-right: 4px; } .input_button.shortcut_inactive { background: var(--silvergrey); } .input_button.color_change { width: auto; max-width: 100%; } .input_button:active, .input_button:hover, .input_button:focus { opacity: .70; transition: .5s; font-weight: bold; color: var(--white); border: 2px solid #eee; background: var(--primary); } .input_button:focus { outline: none; } .icon_wrapper { position: absolute; right: 0; top: 0; z-index: 10; } .icon_wrapper2 { position: absolute; right: 26px; top: 0; z-index: 10; } /* Multiselect */ .ms-options-wrap>.ms-options { -webkit-box-shadow: var(--box-shadow); box-shadow: var(--box-shadow); } .ms-options-wrap>button { display: grid; } .ms-options-wrap>button>span { color: var(--black); overflow: hidden; text-overflow: ellipsis; width: 95%; margin-top: -2px; } .ms-options-wrap>.ms-options>ul { padding-right: 8px; } .ms-options-wrap>.ms-options>.ms-search input, .ms-options-wrap>.ms-options { background: var(--white); color: var(--black); } .ms-options-wrap>.ms-options>ul li { height: 28px; } .ms-options-wrap>.ms-options>ul label { cursor: pointer; } .ms-options-wrap>.ms-options>ul li.selected label { background-color: var(--darkgrey); } .ms-options-wrap>.ms-options>ul li label:hover { background-color: var(--primary); color: var(--white); } .ms-options-wrap>.ms-options>ul input[type="checkbox"]:hover { border-color: var(--white); } /* Checkbox Style for Multiselect */ .ms-options>ul input[type="checkbox"] { -webkit-appearance: none; appearance: none; margin: 0; font: inherit; color: currentColor; width: 1.15em; height: 1.15em; border: 1px solid var(--black); border-radius: 0.15em; transform: translateY(-0.075em); display: grid; place-content: center; cursor: pointer; } .ms-options>ul input[type="checkbox"]::before { content: ""; width: 0.75em; height: 0.75em; clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); transform: scale(0); transform-origin: bottom left; transition: 120ms transform ease-in-out; -webkit-box-shadow: inset 1em 1em var(--primary); box-shadow: inset 1em 1em var(--primary); background-color: CanvasText; } .ms-options>ul input[type="checkbox"]:hover::before { -webkit-box-shadow: inset 1em 1em var(--white); box-shadow: inset 1em 1em var(--white); } .ms-options>ul input[type="checkbox"]:checked::before { transform: scale(1); } .ms-options>ul input[type="checkbox"]:disabled { border: 1px solid var(--darkestGrey); cursor: not-allowed; } .ms-options>ul input[type="checkbox"]:disabled::before { -webkit-box-shadow: inset 1em 1em var(--darkestGrey); box-shadow: inset 1em 1em var(--darkestGrey); } .icon_in_input { position: relative; left: 0; top: 0; border: none; outline: none; background: transparent; cursor: pointer; width: 24px; height: 24px; padding-bottom: 4px; } .color_in_input { top: -4px; } .icon_in_input_pad { padding-right: 30px; width: calc(100% - 30px); } .icon_in_input_pad2 { padding-right: 50px; width: calc(100% - 50px); } textarea[disabled], input[disabled], select[disabled], button[disabled], a[disabled], .ui-dialog .ui-dialog-buttonpane button[disabled] { cursor: not-allowed; opacity: 0.5; } .input_button.red, .input_button.red:active, .input_button.red:focus, .input_button.red:hover { background: var(--red); } .red_icon { color: var(--red); } .detail_box { width: auto; background: var(--middle-grey); padding: 12px; margin: 16px 10px; flex: 1 1 auto; box-shadow: var(--box-shadow); -webkit-transition: box-shadow .2s linear; transition: box-shadow .2s, opacity .5s ease-in-out; border-radius: 5px; } .detail_box .contentBox { padding: 4px 10px; width: 100%; box-sizing: border-box; } .detail_box:hover { box-shadow: var(--box-shadow-hover); -webkit-transition: box-shadow .2s linear; transition: box-shadow .2s linear; } .detail_box.flex { flex-basis: 20%; flex-grow: 1; flex-shrink: 1; } .detail_box.shortcut { padding: 10px; margin: 10px 5px; display: flex; flex-direction: row; flex-wrap: wrap; } fieldset.flex { flex-basis: 380px; flex-grow: 1; flex-shrink: 1; } fieldset.flex .childContainer { display: flex; flex-wrap: wrap; } fieldset.small { width: 100%; min-width: 270px; margin: 8px; } .detail_h2 { font-size: 15px; color: var(--primary); font-weight: 600; border-bottom: 1px solid #dee3e5; padding-bottom: 10px; } /* New table Specs */ .ef-table-div { border-radius: 5px; border: 1px solid var(--silvergrey); width: 100%; overflow: auto; margin: 0 auto; box-sizing: border-box; min-height: 50px; } .ef-table { position: relative; border-spacing: 0; width: 100%; text-align: left; margin-bottom: 4px; thead.sortable th.filter { cursor: pointer; } thead.sortable th.no_filter { cursor: not-allowed; } th { background-color: var(--primary); color: var(--white); position: sticky; top: 0; } tr { height: 36px; } td, th { padding-right: 5px; vertical-align: middle; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; min-width: 200px; width: auto; z-index: 10; } td { border-top: 1px solid var(--silvergrey); } th:first-child, td:first-child { padding-left: 5px; } td:nth-child(3), th:nth-child(3) { min-width: 100px; width: 150px; } th:last-child, td:last-child { text-align: right; min-width: 65px; max-width: 65px; padding-right: 14px; text-overflow: inherit; } tbody tr { transition: background-color .5s; } tbody tr:nth-child(2n+1) { background-color: var(--creme); } tbody tr:hover { background-color: var(--darkgrey); transition: background-color .5s; } tbody tr.highlight-green, tbody tr.highlight-red { animation-duration: 2s; animation-iteration-count: 2; transition: background-color 2s linear; } tbody tr.highlight-green { animation-name: highlight-green; } tbody tr:nth-child(2n+1).highlight-green { animation-name: highlight-green-bg; } tbody tr.highlight-red { animation-name: highlight-red; } tbody tr:nth-child(2n+1).highlight-red { animation-name: highlight-red-bg; } } .ef-table.log { th, td { min-width: 90px; max-width: min-content; width: auto; } } .ef-table .btn-update, .ef-table .btn-cancel { display: none; } .ef-table .sortable .sort_icon { float: right; height: 20px; width: 24px; } #upload_errors-table { th:last-child, td:last-child { max-width: inherit; } } @keyframes highlight-green { 0% { background-color: inherit; } 50% { background-color: var(--green); } 100% { background-color: inherit; } } @keyframes highlight-green-bg { 0% { background-color: var(--creme); } 50% { background-color: var(--green); } 100% { background-color: var(--creme); } } @keyframes highlight-red { 0% { background-color: inherit; } 50% { background-color: var(--red); } 100% { background-color: inherit; } } @keyframes highlight-red-bg { 0% { background-color: var(--creme); } 50% { background-color: var(--red); } 100% { background-color: var(--creme); } } /* End of new Table Specs */ .label { cursor: pointer; } .dsInUseInfoTitle { padding: 10px 0; display: block; } /* Checkboxes Checkmark */ .cb_switch { margin: 12px 0px; display: flex; align-items: center; } .cb_switch div:last-child { flex: 1 0 auto; text-align: end; min-width: 24px; } .cb_switch .help { width: 24px; height: 24px; } .cb_switch label { display: flex; align-items: center; cursor: pointer; -webkit-tap-highlight-color: transparent; } .cb_switch [type="checkbox"] { display: none; } .cb_switch label span:first-child { position: relative; width: 50px; height: 26px; border-radius: 15px; box-shadow: inset 0 0 2px var(--blackTrans); background: var(--silvergrey); transition: all 0.3s; min-width: 50px; margin-right: 14px; } .cb_switch label span:first-child::before, .cb_switch label span:first-child::after { content: ""; position: absolute; } /* unchecked */ /* circle */ .cb_switch label span:first-child::before { left: 4px; top: 3px; width: 20px; height: 20px; background: var(--white); border-radius: 50%; z-index: 1; transition: transform 0.3s; } /* X */ .cb_switch label span:first-child::after { top: 3px; color: #a35353; right: 8px; width: 14px; height: 14px; content: "\2716"; } /* checked */ .cb_switch [type="checkbox"]:checked+label span:first-child { background: var(--green); } .cb_switch [type="checkbox"]:disabled+label { cursor: not-allowed; color: var(--darkestGrey); } /* circle */ .cb_switch [type="checkbox"]:checked+label span:first-child::before { transform: translateX(22px); } /* Checkmark */ .cb_switch [type="checkbox"]:checked+label span:first-child::after { color: var(--white); width: 14px; height: 14px; left: 10px; top: 3px; content: "\2714"; } .icon-xs { font-size: 18px; } #config_bar { width: 355px; max-width: 100%; border: 1px solid var(--primary); position: fixed; top: 0; bottom: 0; background-color: var(--white); z-index: 10; box-shadow: var(--box-shadow); transition: 0.5s ease-in-out; box-sizing: border-box; } #config_bar .tabbed { height: 100%; box-sizing: border-box; } #config_bar .tabbed figure { height: calc(100% - 72px); } #config_bar.right { border-top-left-radius: 10px; right: -357px; margin: 0 auto; } #config_bar.left { border-top-right-radius: 10px; left: -357px; margin: 0; } #config_bar.show.right { left: 100%; transform: translate(-100%, 0); } #config_bar.show.left { right: 100%; transform: translate(100%, 0); } #config_bar>.title, .popUpContainer>.title { background-color: var(--primary); width: 100%; height: 32px; font-size: 16px; color: var(--white); font-weight: 600; } #config_bar.left>.title { border-top-right-radius: 10px; } #config_bar.right>.title { border-top-left-radius: 10px; } #config_bar>.title>span, .popUpContainer>.title>span { display: inline-block; padding: 5px; } img { border: 0; } #config_bar>.title>.close, .popUpContainer>.title>.close, #help_section>.title>.close { position: absolute; right: 0; cursor: pointer; background-image: var(--icon-close); background-repeat: no-repeat; padding-right: 32px; height: 34px; display: inline-block; } #config_bar>.title>.swap { position: absolute; right: 50px; cursor: pointer; background-image: var(--icon-swap); background-repeat: no-repeat; padding-right: 32px; height: 32px; display: inline-block; } .ds_search_spinner { display: none; position: absolute; top: 0px; right: 26px; } .cv-spinner { height: 30px; display: flex; justify-content: center; align-items: center; } .spinner { width: 20px; height: 20px; border: 4px var(--darkgrey) solid; border-top: 4px var(--primary) solid; border-radius: 50%; animation: sp-anime 0.8s infinite linear; display: block; } /* Smaller Spinner for Input */ .ds_search_spinner .spinner { width: 16px; height: 16px; } @keyframes sp-anime { 100% { transform: rotate(360deg); } } #stateExplorerContainer>.button_area, #codeEditorContainer>.button_area { margin-top: 5px; width: 100%; border-top: 1px solid var(--primary); } #codeEditorContainer>.button_area div, #stateExplorerContainer>.button_area div { display: flex; } .icon_list { float: left; display: flex; flex-direction: row; flex-wrap: wrap; width: 110px; justify-content: start; padding-left: 5px; } .icon_list a { padding: 2px; } .icon_list a.not_active .add_element_area { color: var(--darkestGrey); } .icon_list a.not_active .add_element_area:hover { cursor: not-allowed; } #save_output, #own_css { width: 99%; height: 82vh; font-size: 13px; } #own_css .ace_scroller { padding-bottom: 20px; } text { text-rendering: geometricPrecision; -moz-user-select: none; -webkit-user-select: none; user-select: none; } .coord_desc { filter: drop-shadow(var(--blackTrans) 0px 3px 3px); overflow: visible; } .coord_desc div { color: var(--black); background-color: var(--white); border: 1px solid var(--red); border-radius: 5px; height: 16px; min-width: 94px; width: min-content; display: flex; align-items: center; padding: 2px 4px; vertical-align: top; white-space: nowrap; } .connPoints { stroke: var(--primary); stroke-width: 5px; transition: .5s; } .connPoints.red { stroke: var(--red); } .clickable { transition: .5s; } #availableDS { line-height: 2; list-style-type: none; } #availableDS li { display: flex; align-items: center; } .connPoints:hover, .clickable:hover { stroke: var(--secondary) !important; transition: .5s; } /* Tabs with Radio-Buttons in Detail-View */ .tabbed { width: 99%; } .tabbed figure { display: block; margin: -6px -4px; min-width: 100%; clear: both; max-width: 100%; } .tabbed>input, .tabbed figure>div { display: none; opacity: 0; } .tabbed>input:disabled, .tabbed nav label[disabled] { cursor: not-allowed; } .tabbed figure>div { margin: 5px; border: 1px solid silver; } .tabbed nav { margin: 0; padding-top: 0px; display: flex; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; min-width: 100%; clear: both; max-width: 100%; } .tabbed nav>.version { white-space: nowrap; padding-right: 5px; font-weight: 600; text-align: right; width: 100%; display: inline-block; } #tab1:checked~figure .tab1, #tab2:checked~figure .tab2, #tab3:checked~figure .tab3, #tab4:checked~figure .tab4, #tab5:checked~figure .tab5, #tab6:checked~figure .tab6, #tab7:checked~figure .tab7, #tab8:checked~figure .tab8, #tab1_config:checked~figure .tab1_config, #tab2_config:checked~figure .tab2_config { display: block; box-sizing: border-box; max-width: 99vw; max-height: calc(100vh - 38px); min-height: calc(100vh - 38px); overflow-y: auto; opacity: 1; } #tab1_config:checked~figure .tab1_config, #tab2_config:checked~figure .tab2_config { max-height: 100%; min-height: 100%; } .tabbed nav label { display: flex; float: left; padding: 5px 10px; border-top: 1px solid silver; border-right: 1px solid silver; background: var(--primary); color: var(--white); font-weight: 600; font-size: 14px; align-items: center; transition: all .5s; white-space: nowrap; } nav label>.menu { padding-right: 5px; } nav label:nth-child(1) { border-left: 1px solid silver; } nav label:hover { background: var(--secondary); color: var(--black); cursor: pointer; transition: all .5s; } nav label:active { background: var(--white); } .form_div>label, .frm-datasource, .all_datasource { cursor: pointer; transition: .5s; display: block; } .shortcuts_additional_buttons { color: var(--primary); display: block; width: 100%; } .frm-datasource.icon_in_input, .all_datasource { color: var(--primary); vertical-align: bottom; } .frm-datasource.icon_in_input:hover, .all_datasource:hover { color: var(--secondary); transition: .5s; } .ds_buttons { outline: none; background: transparent; border: none; display: inline; } .ds_buttons:disabled { cursor: not-allowed; } .img_button { color: var(--primary); outline: none; background: transparent; border: none; cursor: pointer; transition: .5s; } .img_button:hover { color: var(--secondary); transition: .5s; } .img_button:disabled { cursor: not-allowed; } #tab1:checked~nav label[for="tab1"], #tab2:checked~nav label[for="tab2"], #tab3:checked~nav label[for="tab3"], #tab4:checked~nav label[for="tab4"], #tab5:checked~nav label[for="tab5"], #tab6:checked~nav label[for="tab6"], #tab7:checked~nav label[for="tab7"], #tab8:checked~nav label[for="tab8"], #tab1_config:checked~nav label[for="tab1_config"], #tab2_config:checked~nav label[for="tab2_config"] { background: var(--white); color: var(--black); position: relative; border-bottom: none; } #tab1:checked~nav label[for="tab1"]:after, #tab2:checked~nav label[for="tab2"]:after, #tab3:checked~nav label[for="tab3"]:after, #tab4:checked~nav label[for="tab4"]:after, #tab5:checked~nav label[for="tab5"]:after, #tab6:checked~nav label[for="tab6"]:after, #tab7:checked~nav label[for="tab7"]:after, #tab8:checked~nav label[for="tab8"]:after, #tab1_config:checked~nav label[for="tab1_config"]:after, #tab2_config:checked~nav label[for="tab2_config"]:after { content: ""; display: block; position: absolute; height: 2px; width: 100%; background: var(--white); left: 0; bottom: -2px; } #svg_line_preview { border: 1px solid var(--black); } #preview_line_bg { stroke: black; } /* Dropzone */ #drop_zone { border: 2px dashed var(--darkestGrey); box-sizing: border-box; padding: 2px; height: 105px; } #drop_zone div { text-align: center; } #drop_zone.dragFile { border-color: var(--primary); background-color: var(--secondary); } #upload_progress { background-color: var(--darkgrey); border-radius: 13px; height: 15px; padding: 2px; width: 100%; } #upload_progress div { background-color: var(--primary); width: 0px; height: 15px; border-radius: 10px; position: absolute; left: 2px; transition: width 1s ease-in; } #upload_errors { padding-top: 5px; display: none; } #upload_info { align-items: center; display: flex; } .formFilter, #userImages_dummy, .userImages_noResults, #userImages_placeholder { grid-column: 1 / -1; } #userImages_dummy { display: none; } .userImages_noResults { display: none; } .userImages { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); column-gap: 16px; margin-left: 14px; margin-top: 0; padding-right: 16px; min-height: 221px; } .formFilter { position: sticky; top: 0; background-color: var(--white); padding-bottom: 5px; margin: 0 5px; } .userImages .imgContainer { min-width: 110px; display: flex; padding: 12px; margin: 16px 0; align-content: center; flex-wrap: wrap; border-radius: 5px; border: 1px solid var(--silvergrey); box-shadow: var(--box-shadow); -webkit-transition: box-shadow .2s linear; transition: box-shadow .2s linear; } .userImages .imgContainer:hover { box-shadow: var(--box-shadow-hover); -webkit-transition: box-shadow .2s linear; transition: box-shadow .2s linear; } .userImages .imgContainer div { text-align: center; padding-bottom: 5px; width: 100%; } .userImages .imgContainer div.uploads_img { width: 100%; height: 100px; display: flex; align-items: center; justify-content: center; } .userImages .imgContainer div img { height: auto; width: auto; max-height: 100px; max-width: 100px; -webkit-transition: all .4s ease; transition: all .4s ease; } .userImages .imgContainer div img:hover { -webkit-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); } .userImages .imgContainer div.uploads_name { width: 100%; overflow: hidden; text-overflow: ellipsis; display: block; white-space: nowrap; cursor: help; } .userImages .imgContainer div.uploads_btn input { width: 100px; } #userImagesBrowseDialog { display: none; padding-top: 0px; margin-top: 2px; } /* State Explorer */ #stateExplorer { overflow: auto; height: calc(100% - 140px); } #codeEditor { overflow: auto; height: calc(100% - 80px); width: 100%; } #stateRoot { margin: 0; padding: 0; white-space: nowrap; width: calc(100% - 18px); max-width: calc(100% - 18px); color: var(--primary); } #stateRoot .sub { display: none; } #stateRoot .green { color: var(--green); } #stateRoot div.root::before, #stateRoot div.sub::before { position: relative; top: -2px; height: 1.2em; width: 12px; color: white; border-bottom: 1px solid rgb(100, 100, 100); content: ""; display: inline-block; } #stateRoot .root, #stateRoot .sub { border-left: 1px solid rgb(100, 100, 100); margin-left: 15px; width: calc(100% - 18px); } #stateRoot .root.filter_hidden, #stateRoot .sub.filter_hidden { display: none; } #stateRoot .root:nth-last-child(-n + 1 of .filter), #stateRoot .sub:nth-last-child(-n + 1 of .filter), #stateRoot .root:last-child, #stateRoot .sub:last-child { border-left: none; } #stateRoot .root:nth-last-child(-n + 1 of .filter)::before, #stateRoot .sub:nth-last-child(-n + 1 of .filter)::before, #stateRoot .root:last-child::before, #stateRoot .sub:last-child::before { border-left: 1px solid rgb(100, 100, 100); } #stateRoot .title { display: inline-block; width: 99%; } #stateRoot .title:hover { background-color: var(--darkgrey); cursor: pointer; } #stateRoot .title.active { background-color: var(--darkgrey); } #stateRoot .title span { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #stateRoot .title span:nth-child(2) { width: 30%; } #stateRoot .title span:nth-child(3) { width: 30%; } #stateRoot .title span:nth-child(4) { width: 10%; } #stateRoot .title span:nth-child(5) { width: 12%; } #stateRoot .title span:nth-child(6) { width: 10%; } #stateRoot span { line-height: 28px; height: 28px; display: inline-block; vertical-align: top; } #stateRoot span.type { background-repeat: no-repeat; display: inline-block; width: 24px; height: 24px; padding-right: 4px; } #stateRoot span.file { background-image: var(--file); } #stateRoot span.folderOpen { background-image: var(--folder-open); } #stateRoot span.folderClosed { background-image: var(--folder-closed); } #stateRoot span.file-selected { background-image: var(--file-selected); } /* State Explorer - END */ /* jQuery UI Tweaks */ .ui-dialog { border-radius: 10px; -webkit-box-shadow: var(--box-shadow); box-shadow: var(--box-shadow); padding: 0; max-width: 98%; } .ui-menu { -webkit-box-shadow: var(--box-shadow); box-shadow: var(--box-shadow); border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; padding-bottom: 1px; } .ui-widget.ui-widget-content { border: 1px solid var(--darkestGrey); } .ui-widget-content { border: 1px solid var(--silvergrey); background: var(--white); color: var(--black); } .ui-dialog .ui-dialog-buttonpane { border-top: 1px solid var(--primary); border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; padding: 5px 10px; } .ui-dialog .ui-dialog-buttonpane button { margin: .5em .0 .5em .4em; } .ui-dialog .ui-dialog-title { font-size: 15px; } .ui-corner-all { border-radius: 10px; } .ui-button.ui-corner-all { border-radius: 5px; } .ui-widget-header { border: 1px solid var(--darkestGrey); background: var(--primary); color: var(--white); font-weight: bold; } .ui-dialog-titlebar { margin: -1px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; } /* JQuery Autocomplete */ .ui-autocomplete { max-height: 190px; overflow-y: auto; /* prevent horizontal scrollbar */ overflow-x: hidden; max-width: 100%; } .ui-autocomplete-icon { max-height: 204px; } .ui-menu-item-wrapper { padding-right: 10px; } .ui-menu-item .ui-menu-item-wrapper:active, .ui-menu-item .ui-menu-item-wrapper.ui-state-active { background-color: var(--primary); border: 1px solid var(--darkgrey); } .ui-menu-item .ui-menu-item-wrapper { white-space: nowrap; display: flex; align-items: center; } .no-close .ui-dialog-titlebar-close { display: none; } .ui-widget-shadow { -webkit-box-shadow: var(--box-shadow); box-shadow: var(--box-shadow); } .ui-selectmenu-button.ui-button { width: calc(100% - 18px); width: 100%; font-size: 14px; border: none; outline: none; border-bottom: 2px solid var(--darkestGrey); padding: 5px 0; transition: border .5s; background: var(--transparent); color: var(--black); border-radius: 0; } .ui-selectmenu-button.ui-button:hover { border-color: var(--black); transition: .5s; } .ui-selectmenu-button.ui-button:active, .ui-selectmenu-button.ui-button:focus { color: var(--black); } .ui-selectmenu-icon.ui-icon, .ui-button:hover .ui-icon, .ui-button:focus .ui-icon, .ui-selectmenu-button.ui-button:active .ui-icon { background-image: none; } .