iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
3 lines • 13 kB
JavaScript
/*! For license information please see chunk.9657f26d9630aa59c30f.js.LICENSE.txt */
(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([[9526],{8878:function(e,t,n){"use strict";n(65233),n(8621),n(63207),n(30879),n(78814),n(60748),n(1656),n(57548),n(73962);var a,i,r,o=n(51644),l=n(26110),s=n(21006),d=n(98235),p=n(9672),u=n(87156),c=n(81668),h=n(50856);(0,p.k)({_template:(0,h.d)(a||(i=['\n <style include="paper-dropdown-menu-shared-styles"></style>\n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n <span role="button"></span>\n <paper-menu-button id="menuButton" vertical-align="[[verticalAlign]]" horizontal-align="[[horizontalAlign]]" dynamic-align="[[dynamicAlign]]" 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]]" restore-focus-on-close="[[restoreFocusOnClose]]">\n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via <content> --\x3e\n <div class="dropdown-trigger" slot="dropdown-trigger">\n <paper-ripple></paper-ripple>\n \x3c!-- paper-input has type="text" for a11y, do not remove --\x3e\n <paper-input type="text" invalid="[[invalid]]" readonly disabled="[[disabled]]" value="[[value]]" placeholder="[[placeholder]]" error-message="[[errorMessage]]" always-float-label="[[alwaysFloatLabel]]" no-label-float="[[noLabelFloat]]" label="[[label]]">\n \x3c!-- support hybrid mode: user might be using paper-input 1.x which distributes via <content> --\x3e\n <iron-icon icon="paper-dropdown-menu:arrow-drop-down" suffix slot="suffix"></iron-icon>\n </paper-input>\n </div>\n <slot id="content" name="dropdown-content" slot="dropdown-content"></slot>\n </paper-menu-button>\n'],r||(r=i.slice(0)),a=Object.freeze(Object.defineProperties(i,{raw:{value:Object.freeze(r)}})))),is:"paper-dropdown-menu",behaviors:[o.P,l.a,s.V,d.x],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0},label:{type:String},placeholder:{type:String},errorMessage:{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,dynamicAlign:{type:Boolean},restoreFocusOnClose:{type:Boolean,value:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{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,u.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){c.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)}})},25856:function(e,t,n){"use strict";n(65233),n(65660);var a,i,r,o=n(26110),l=n(98235),s=n(9672),d=n(87156),p=n(50856);(0,s.k)({_template:(0,p.d)(a||(i=['\n <style>\n :host {\n display: inline-block;\n position: relative;\n width: 400px;\n border: 1px solid;\n padding: 2px;\n -moz-appearance: textarea;\n -webkit-appearance: textarea;\n overflow: hidden;\n }\n\n .mirror-text {\n visibility: hidden;\n word-wrap: break-word;\n @apply --iron-autogrow-textarea;\n }\n\n .fit {\n @apply --layout-fit;\n }\n\n textarea {\n position: relative;\n outline: none;\n border: none;\n resize: none;\n background: inherit;\n color: inherit;\n /* see comments in template */\n width: 100%;\n height: 100%;\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n text-align: inherit;\n @apply --iron-autogrow-textarea;\n }\n\n textarea::-webkit-input-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea:-moz-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea::-moz-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea:-ms-input-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n </style>\n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead of to allow this element to be used in XHTML --\x3e\n <div id="mirror" class="mirror-text" aria-hidden="true"> </div>\n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n <div class="textarea-container fit">\n <textarea id="textarea" name$="[[name]]" aria-label$="[[label]]" autocomplete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode]]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" required$="[[required]]" disabled$="[[disabled]]" rows$="[[rows]]" minlength$="[[minlength]]" maxlength$="[[maxlength]]"></textarea>\n </div>\n'],r=['\n <style>\n :host {\n display: inline-block;\n position: relative;\n width: 400px;\n border: 1px solid;\n padding: 2px;\n -moz-appearance: textarea;\n -webkit-appearance: textarea;\n overflow: hidden;\n }\n\n .mirror-text {\n visibility: hidden;\n word-wrap: break-word;\n @apply --iron-autogrow-textarea;\n }\n\n .fit {\n @apply --layout-fit;\n }\n\n textarea {\n position: relative;\n outline: none;\n border: none;\n resize: none;\n background: inherit;\n color: inherit;\n /* see comments in template */\n width: 100%;\n height: 100%;\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n text-align: inherit;\n @apply --iron-autogrow-textarea;\n }\n\n textarea::-webkit-input-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea:-moz-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea::-moz-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea:-ms-input-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n </style>\n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead of to allow this element to be used in XHTML --\x3e\n <div id="mirror" class="mirror-text" aria-hidden="true"> </div>\n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n <div class="textarea-container fit">\n <textarea id="textarea" name\\$="[[name]]" aria-label\\$="[[label]]" autocomplete\\$="[[autocomplete]]" autofocus\\$="[[autofocus]]" inputmode\\$="[[inputmode]]" placeholder\\$="[[placeholder]]" readonly\\$="[[readonly]]" required\\$="[[required]]" disabled\\$="[[disabled]]" rows\\$="[[rows]]" minlength\\$="[[minlength]]" maxlength\\$="[[maxlength]]"></textarea>\n </div>\n'],r||(r=i.slice(0)),a=Object.freeze(Object.defineProperties(i,{raw:{value:Object.freeze(r)}})))),is:"iron-autogrow-textarea",behaviors:[l.x,o.a],properties:{value:{observer:"_valueChanged",type:String,notify:!0},bindValue:{observer:"_bindValueChanged",type:String,notify:!0},rows:{type:Number,value:1,observer:"_updateCached"},maxRows:{type:Number,value:0,observer:"_updateCached"},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,value:!1},inputmode:{type:String},placeholder:{type:String},readonly:{type:String},required:{type:Boolean},minlength:{type:Number},maxlength:{type:Number},label:{type:String}},listeners:{input:"_onInput"},get textarea(){return this.$.textarea},get selectionStart(){return this.$.textarea.selectionStart},get selectionEnd(){return this.$.textarea.selectionEnd},set selectionStart(e){this.$.textarea.selectionStart=e},set selectionEnd(e){this.$.textarea.selectionEnd=e},attached:function(){navigator.userAgent.match(/iP(?:[oa]d|hone)/)&&(this.$.textarea.style.marginLeft="-3px")},validate:function(){var e=this.$.textarea.validity.valid;return e&&(this.required&&""===this.value?e=!1:this.hasValidator()&&(e=l.x.validate.call(this,this.value))),this.invalid=!e,this.fire("iron-input-validate"),e},_bindValueChanged:function(e){this.value=e},_valueChanged:function(e){var t=this.textarea;t&&(t.value!==e&&(t.value=e||0===e?e:""),this.bindValue=e,this.$.mirror.innerHTML=this._valueForMirror(),this.fire("bind-value-changed",{value:this.bindValue}))},_onInput:function(e){var t=(0,d.vz)(e).path;this.value=t?t[0].value:e.target.value},_constrain:function(e){var t;for(e=e||[""],t=this.maxRows>0&&e.length>this.maxRows?e.slice(0,this.maxRows):e.slice(0);this.rows>0&&t.length<this.rows;)t.push("");return t.join("<br/>")+" "},_valueForMirror:function(){var e=this.textarea;if(e)return this.tokens=e&&e.value?e.value.replace(/&/gm,"&").replace(/"/gm,""").replace(/'/gm,"'").replace(/</gm,"<").replace(/>/gm,">").split("\n"):[""],this._constrain(this.tokens)},_updateCached:function(){this.$.mirror.innerHTML=this._constrain(this.tokens)}});n(2178),n(98121),n(65911);var u,c=n(21006),h=n(66668);(0,s.k)({_template:(0,p.d)(u||(u=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n <style>\n :host {\n display: block;\n }\n\n :host([hidden]) {\n display: none ;\n }\n\n label {\n pointer-events: none;\n }\n </style>\n\n <paper-input-container no-label-float$="[[noLabelFloat]]" always-float-label="[[_computeAlwaysFloatLabel(alwaysFloatLabel,placeholder)]]" auto-validate$="[[autoValidate]]" disabled$="[[disabled]]" invalid="[[invalid]]">\n\n <label hidden$="[[!label]]" aria-hidden="true" for$="[[_inputId]]" slot="label">[[label]]</label>\n\n <iron-autogrow-textarea class="paper-input-input" slot="input" id$="[[_inputId]]" aria-labelledby$="[[_ariaLabelledBy]]" aria-describedby$="[[_ariaDescribedBy]]" bind-value="{{value}}" invalid="{{invalid}}" validator$="[[validator]]" disabled$="[[disabled]]" autocomplete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode]]" name$="[[name]]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" required$="[[required]]" minlength$="[[minlength]]" maxlength$="[[maxlength]]" autocapitalize$="[[autocapitalize]]" rows$="[[rows]]" max-rows$="[[maxRows]]" on-change="_onChange"></iron-autogrow-textarea>\n\n <template is="dom-if" if="[[errorMessage]]">\n <paper-input-error aria-live="assertive" slot="add-on">[[errorMessage]]</paper-input-error>\n </template>\n\n <template is="dom-if" if="[[charCounter]]">\n <paper-input-char-counter slot="add-on"></paper-input-char-counter>\n </template>\n\n </paper-input-container>\n']))),is:"paper-textarea",behaviors:[h.d0,c.V],properties:{_ariaLabelledBy:{observer:"_ariaLabelledByChanged",type:String},_ariaDescribedBy:{observer:"_ariaDescribedByChanged",type:String},value:{type:String},rows:{type:Number,value:1},maxRows:{type:Number,value:0}},get selectionStart(){return this.$.input.textarea.selectionStart},set selectionStart(e){this.$.input.textarea.selectionStart=e},get selectionEnd(){return this.$.input.textarea.selectionEnd},set selectionEnd(e){this.$.input.textarea.selectionEnd=e},_ariaLabelledByChanged:function(e){this._focusableElement.setAttribute("aria-labelledby",e)},_ariaDescribedByChanged:function(e){this._focusableElement.setAttribute("aria-describedby",e)},get _focusableElement(){return this.inputElement.textarea}})}}]);
//# sourceMappingURL=chunk.9657f26d9630aa59c30f.js.map