UNPKG

iobroker.lovelace

Version:

With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI

605 lines (525 loc) 19.7 kB
/*! For license information please see chunk.14586ceb4dff1d5f948a.js.LICENSE.txt */ (self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([[7046],{21157:(e,t,n)=>{"use strict";n(43437);const o=n(50856).d` /* Most common used flex styles*/ <dom-module id="iron-flex"> <template> <style> .layout.horizontal, .layout.vertical { display: -ms-flexbox; display: -webkit-flex; display: flex; } .layout.inline { display: -ms-inline-flexbox; display: -webkit-inline-flex; display: inline-flex; } .layout.horizontal { -ms-flex-direction: row; -webkit-flex-direction: row; flex-direction: row; } .layout.vertical { -ms-flex-direction: column; -webkit-flex-direction: column; flex-direction: column; } .layout.wrap { -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; } .layout.no-wrap { -ms-flex-wrap: nowrap; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; } .layout.center, .layout.center-center { -ms-flex-align: center; -webkit-align-items: center; align-items: center; } .layout.center-justified, .layout.center-center { -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; } .flex { -ms-flex: 1 1 0.000000001px; -webkit-flex: 1; flex: 1; -webkit-flex-basis: 0.000000001px; flex-basis: 0.000000001px; } .flex-auto { -ms-flex: 1 1 auto; -webkit-flex: 1 1 auto; flex: 1 1 auto; } .flex-none { -ms-flex: none; -webkit-flex: none; flex: none; } </style> </template> </dom-module> /* Basic flexbox reverse styles */ <dom-module id="iron-flex-reverse"> <template> <style> .layout.horizontal-reverse, .layout.vertical-reverse { display: -ms-flexbox; display: -webkit-flex; display: flex; } .layout.horizontal-reverse { -ms-flex-direction: row-reverse; -webkit-flex-direction: row-reverse; flex-direction: row-reverse; } .layout.vertical-reverse { -ms-flex-direction: column-reverse; -webkit-flex-direction: column-reverse; flex-direction: column-reverse; } .layout.wrap-reverse { -ms-flex-wrap: wrap-reverse; -webkit-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse; } </style> </template> </dom-module> /* Flexbox alignment */ <dom-module id="iron-flex-alignment"> <template> <style> /** * Alignment in cross axis. */ .layout.start { -ms-flex-align: start; -webkit-align-items: flex-start; align-items: flex-start; } .layout.center, .layout.center-center { -ms-flex-align: center; -webkit-align-items: center; align-items: center; } .layout.end { -ms-flex-align: end; -webkit-align-items: flex-end; align-items: flex-end; } .layout.baseline { -ms-flex-align: baseline; -webkit-align-items: baseline; align-items: baseline; } /** * Alignment in main axis. */ .layout.start-justified { -ms-flex-pack: start; -webkit-justify-content: flex-start; justify-content: flex-start; } .layout.center-justified, .layout.center-center { -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; } .layout.end-justified { -ms-flex-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end; } .layout.around-justified { -ms-flex-pack: distribute; -webkit-justify-content: space-around; justify-content: space-around; } .layout.justified { -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; } /** * Self alignment. */ .self-start { -ms-align-self: flex-start; -webkit-align-self: flex-start; align-self: flex-start; } .self-center { -ms-align-self: center; -webkit-align-self: center; align-self: center; } .self-end { -ms-align-self: flex-end; -webkit-align-self: flex-end; align-self: flex-end; } .self-stretch { -ms-align-self: stretch; -webkit-align-self: stretch; align-self: stretch; } .self-baseline { -ms-align-self: baseline; -webkit-align-self: baseline; align-self: baseline; } /** * multi-line alignment in main axis. */ .layout.start-aligned { -ms-flex-line-pack: start; /* IE10 */ -ms-align-content: flex-start; -webkit-align-content: flex-start; align-content: flex-start; } .layout.end-aligned { -ms-flex-line-pack: end; /* IE10 */ -ms-align-content: flex-end; -webkit-align-content: flex-end; align-content: flex-end; } .layout.center-aligned { -ms-flex-line-pack: center; /* IE10 */ -ms-align-content: center; -webkit-align-content: center; align-content: center; } .layout.between-aligned { -ms-flex-line-pack: justify; /* IE10 */ -ms-align-content: space-between; -webkit-align-content: space-between; align-content: space-between; } .layout.around-aligned { -ms-flex-line-pack: distribute; /* IE10 */ -ms-align-content: space-around; -webkit-align-content: space-around; align-content: space-around; } </style> </template> </dom-module> /* Non-flexbox positioning helper styles */ <dom-module id="iron-flex-factors"> <template> <style> .flex, .flex-1 { -ms-flex: 1 1 0.000000001px; -webkit-flex: 1; flex: 1; -webkit-flex-basis: 0.000000001px; flex-basis: 0.000000001px; } .flex-2 { -ms-flex: 2; -webkit-flex: 2; flex: 2; } .flex-3 { -ms-flex: 3; -webkit-flex: 3; flex: 3; } .flex-4 { -ms-flex: 4; -webkit-flex: 4; flex: 4; } .flex-5 { -ms-flex: 5; -webkit-flex: 5; flex: 5; } .flex-6 { -ms-flex: 6; -webkit-flex: 6; flex: 6; } .flex-7 { -ms-flex: 7; -webkit-flex: 7; flex: 7; } .flex-8 { -ms-flex: 8; -webkit-flex: 8; flex: 8; } .flex-9 { -ms-flex: 9; -webkit-flex: 9; flex: 9; } .flex-10 { -ms-flex: 10; -webkit-flex: 10; flex: 10; } .flex-11 { -ms-flex: 11; -webkit-flex: 11; flex: 11; } .flex-12 { -ms-flex: 12; -webkit-flex: 12; flex: 12; } </style> </template> </dom-module> <dom-module id="iron-positioning"> <template> <style> .block { display: block; } [hidden] { display: none !important; } .invisible { visibility: hidden !important; } .relative { position: relative; } .fit { position: absolute; top: 0; right: 0; bottom: 0; left: 0; } body.fullbleed { margin: 0; height: 100vh; } .scroll { -webkit-overflow-scrolling: touch; overflow: auto; } /* fixed position */ .fixed-bottom, .fixed-left, .fixed-right, .fixed-top { position: fixed; } .fixed-top { top: 0; left: 0; right: 0; } .fixed-right { top: 0; right: 0; bottom: 0; } .fixed-bottom { right: 0; bottom: 0; left: 0; } .fixed-left { top: 0; bottom: 0; left: 0; } </style> </template> </dom-module> `;o.setAttribute("style","display: none;"),document.head.appendChild(o.content)},46002:(e,t,n)=>{"use strict";n(43437),n(8621),n(63207),n(78814),n(1656),n(57548),n(73962);var o=n(51644),l=n(26110),i=n(21006),a=n(98235),r=n(84938),s=n(9672),p=n(87156),d=n(81668),c=n(50856);(0,s.k)({_template:c.d` <style include="paper-dropdown-menu-shared-styles"> :host(:focus) { outline: none; } :host { width: 200px; /* Default size of an <input> */ } /** * All of these styles below are for styling the fake-input display */ [slot="dropdown-trigger"] { box-sizing: border-box; position: relative; width: 100%; padding: 16px 0 8px 0; } :host([disabled]) [slot="dropdown-trigger"] { pointer-events: none; opacity: var(--paper-dropdown-menu-disabled-opacity, 0.33); } :host([no-label-float]) [slot="dropdown-trigger"] { padding-top: 8px; /* If there's no label, we need less space up top. */ } #input { @apply --paper-font-subhead; @apply --paper-font-common-nowrap; line-height: 1.5; border-bottom: 1px solid var(--paper-dropdown-menu-color, var(--secondary-text-color)); color: var(--paper-dropdown-menu-color, var(--primary-text-color)); width: 100%; box-sizing: border-box; padding: 12px 20px 0 0; /* Right padding so that text doesn't overlap the icon */ outline: none; @apply --paper-dropdown-menu-input; } #input:dir(rtl) { padding-right: 0px; padding-left: 20px; } :host([disabled]) #input { border-bottom: 1px dashed var(--paper-dropdown-menu-color, var(--secondary-text-color)); } :host([invalid]) #input { border-bottom: 2px solid var(--paper-dropdown-error-color, var(--error-color)); } :host([no-label-float]) #input { padding-top: 0; /* If there's no label, we need less space up top. */ } label { @apply --paper-font-subhead; @apply --paper-font-common-nowrap; display: block; position: absolute; bottom: 0; left: 0; right: 0; /** * The container has a 16px top padding, and there's 12px of padding * between the input and the label (from the input's padding-top) */ top: 28px; box-sizing: border-box; width: 100%; padding-right: 20px; /* Right padding so that text doesn't overlap the icon */ text-align: left; transition-duration: .2s; transition-timing-function: cubic-bezier(.4,0,.2,1); color: var(--paper-dropdown-menu-color, var(--secondary-text-color)); @apply --paper-dropdown-menu-label; } label:dir(rtl) { padding-right: 0px; padding-left: 20px; } :host([no-label-float]) label { top: 8px; /* Since the label doesn't need to float, remove the animation duration which slows down visibility changes (i.e. when a selection is made) */ transition-duration: 0s; } label.label-is-floating { font-size: 12px; top: 8px; } label.label-is-hidden { visibility: hidden; } :host([focused]) label.label-is-floating { color: var(--paper-dropdown-menu-focus-color, var(--primary-color)); } :host([invalid]) label.label-is-floating { color: var(--paper-dropdown-error-color, var(--error-color)); } /** * Sets up the focused underline. It's initially hidden, and becomes * visible when it's focused. */ label:after { background-color: var(--paper-dropdown-menu-focus-color, var(--primary-color)); bottom: 7px; /* The container has an 8px bottom padding */ content: ''; height: 2px; left: 45%; position: absolute; transition-duration: .2s; transition-timing-function: cubic-bezier(.4,0,.2,1); visibility: hidden; width: 8px; z-index: 10; } :host([invalid]) label:after { background-color: var(--paper-dropdown-error-color, var(--error-color)); } :host([no-label-float]) label:after { bottom: 7px; /* The container has a 8px bottom padding */ } :host([focused]:not([disabled])) label:after { left: 0; visibility: visible; width: 100%; } iron-icon { position: absolute; right: 0px; bottom: 8px; /* The container has an 8px bottom padding */ @apply --paper-font-subhead; color: var(--disabled-text-color); @apply --paper-dropdown-menu-icon; } iron-icon:dir(rtl) { left: 0; right: auto; } :host([no-label-float]) iron-icon { margin-top: 0px; } .error { display: inline-block; visibility: hidden; color: var(--paper-dropdown-error-color, var(--error-color)); @apply --paper-font-caption; position: absolute; left:0; right:0; bottom: -12px; } :host([invalid]) .error { visibility: visible; } </style> <!-- this div fulfills an a11y requirement for combobox, do not remove --> <span role="button"></span> <paper-menu-button id="menuButton" vertical-align="[[verticalAlign]]" horizontal-align="[[horizontalAlign]]" vertical-offset="[[_computeMenuVerticalOffset(noLabelFloat, verticalOffset)]]" disabled="[[disabled]]" no-animations="[[noAnimations]]" on-iron-select="_onIronSelect" on-iron-deselect="_onIronDeselect" opened="{{opened}}" close-on-activate allow-outside-scroll="[[allowOutsideScroll]]"> <!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via <content> --> <div class="dropdown-trigger" slot="dropdown-trigger"> <label class\$="[[_computeLabelClass(noLabelFloat,alwaysFloatLabel,hasContent)]]"> [[label]] </label> <div id="input" tabindex="-1">&nbsp;</div> <iron-icon icon="paper-dropdown-menu:arrow-drop-down"></iron-icon> <span class="error">[[errorMessage]]</span> </div> <slot id="content" name="dropdown-content" slot="dropdown-content"></slot> </paper-menu-button> `,is:"paper-dropdown-menu-light",behaviors:[o.P,l.a,r.o,i.V,a.x],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0,observer:"_valueChanged"},label:{type:String},placeholder:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},verticalOffset:Number,hasContent:{type:Boolean,readOnly:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{tabindex:0,role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){for(var e=(0,p.vz)(this.$.content).getDistributedNodes(),t=0,n=e.length;t<n;t++)if(e[t].nodeType===Node.ELEMENT_NODE)return e[t]},open:function(){this.$.menuButton.open()},close:function(){this.$.menuButton.close()},_onIronSelect:function(e){this._setSelectedItem(e.detail.item)},_onIronDeselect:function(e){this._setSelectedItem(null)},_onTap:function(e){d.nJ(e)===this&&this.open()},_selectedItemChanged:function(e){var t="";t=e?e.label||e.getAttribute("label")||e.textContent.trim():"",this.value=t,this._setSelectedItemLabel(t)},_computeMenuVerticalOffset:function(e,t){return t||(e?-4:8)},_getValidity:function(e){return this.disabled||!this.required||this.required&&!!this.value},_openedChanged:function(){var e=this.opened?"true":"false",t=this.contentElement;t&&t.setAttribute("aria-expanded",e)},_computeLabelClass:function(e,t,n){var o="";return!0===e?n?"label-is-hidden":"":((n||!0===t)&&(o+=" label-is-floating"),o)},_valueChanged:function(){this.$.input&&this.$.input.textContent!==this.value&&(this.$.input.textContent=this.value),this._setHasContent(!!this.value)}})},33760:(e,t,n)=>{"use strict";n.d(t,{U:()=>i});n(43437);var o=n(51644),l=n(26110);const i=[o.P,l.a,{hostAttributes:{role:"option",tabindex:"0"}}]},97968:(e,t,n)=>{"use strict";n(65660),n(15495),n(1656),n(47686);const o=document.createElement("template");o.setAttribute("style","display: none;"),o.innerHTML="<dom-module id=\"paper-item-shared-styles\">\n <template>\n <style>\n :host, .paper-item {\n display: block;\n position: relative;\n min-height: var(--paper-item-min-height, 48px);\n padding: 0px 16px;\n }\n\n .paper-item {\n @apply --paper-font-subhead;\n border:none;\n outline: none;\n background: white;\n width: 100%;\n text-align: left;\n }\n\n :host([hidden]), .paper-item[hidden] {\n display: none !important;\n }\n\n :host(.iron-selected), .paper-item.iron-selected {\n font-weight: var(--paper-item-selected-weight, bold);\n\n @apply --paper-item-selected;\n }\n\n :host([disabled]), .paper-item[disabled] {\n color: var(--paper-item-disabled-color, var(--disabled-text-color));\n\n @apply --paper-item-disabled;\n }\n\n :host(:focus), .paper-item:focus {\n position: relative;\n outline: 0;\n\n @apply --paper-item-focused;\n }\n\n :host(:focus):before, .paper-item:focus:before {\n @apply --layout-fit;\n\n background: currentColor;\n content: '';\n opacity: var(--dark-divider-opacity);\n pointer-events: none;\n\n @apply --paper-item-focused-before;\n }\n </style>\n </template>\n</dom-module>",document.head.appendChild(o.content)},53973:(e,t,n)=>{"use strict";n(43437),n(65660),n(97968);var o=n(9672),l=n(50856),i=n(33760);(0,o.k)({_template:l.d` <style include="paper-item-shared-styles"> :host { @apply --layout-horizontal; @apply --layout-center; @apply --paper-font-subhead; @apply --paper-item; } </style> <slot></slot> `,is:"paper-item",behaviors:[i.U]})}}]); //# sourceMappingURL=chunk.14586ceb4dff1d5f948a.js.map