UNPKG

iobroker.lovelace

Version:

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

3 lines 17.8 kB
/*! For license information please see chunk.956b0efa2d518e3720ab.js.LICENSE.txt */ (self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([[1838],{21157:function(n,e,t){"use strict";var i;t(65233);var l,a,o=(0,t(50856).d)(i||(l=['\n/* Most common used flex styles*/\n<dom-module id="iron-flex">\n <template>\n <style>\n .layout.horizontal,\n .layout.vertical {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n }\n\n .layout.inline {\n display: -ms-inline-flexbox;\n display: -webkit-inline-flex;\n display: inline-flex;\n }\n\n .layout.horizontal {\n -ms-flex-direction: row;\n -webkit-flex-direction: row;\n flex-direction: row;\n }\n\n .layout.vertical {\n -ms-flex-direction: column;\n -webkit-flex-direction: column;\n flex-direction: column;\n }\n\n .layout.wrap {\n -ms-flex-wrap: wrap;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n }\n\n .layout.no-wrap {\n -ms-flex-wrap: nowrap;\n -webkit-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n\n .layout.center,\n .layout.center-center {\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n }\n\n .layout.center-justified,\n .layout.center-center {\n -ms-flex-pack: center;\n -webkit-justify-content: center;\n justify-content: center;\n }\n\n .flex {\n -ms-flex: 1 1 0.000000001px;\n -webkit-flex: 1;\n flex: 1;\n -webkit-flex-basis: 0.000000001px;\n flex-basis: 0.000000001px;\n }\n\n .flex-auto {\n -ms-flex: 1 1 auto;\n -webkit-flex: 1 1 auto;\n flex: 1 1 auto;\n }\n\n .flex-none {\n -ms-flex: none;\n -webkit-flex: none;\n flex: none;\n }\n </style>\n </template>\n</dom-module>\n/* Basic flexbox reverse styles */\n<dom-module id="iron-flex-reverse">\n <template>\n <style>\n .layout.horizontal-reverse,\n .layout.vertical-reverse {\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n }\n\n .layout.horizontal-reverse {\n -ms-flex-direction: row-reverse;\n -webkit-flex-direction: row-reverse;\n flex-direction: row-reverse;\n }\n\n .layout.vertical-reverse {\n -ms-flex-direction: column-reverse;\n -webkit-flex-direction: column-reverse;\n flex-direction: column-reverse;\n }\n\n .layout.wrap-reverse {\n -ms-flex-wrap: wrap-reverse;\n -webkit-flex-wrap: wrap-reverse;\n flex-wrap: wrap-reverse;\n }\n </style>\n </template>\n</dom-module>\n/* Flexbox alignment */\n<dom-module id="iron-flex-alignment">\n <template>\n <style>\n /**\n * Alignment in cross axis.\n */\n .layout.start {\n -ms-flex-align: start;\n -webkit-align-items: flex-start;\n align-items: flex-start;\n }\n\n .layout.center,\n .layout.center-center {\n -ms-flex-align: center;\n -webkit-align-items: center;\n align-items: center;\n }\n\n .layout.end {\n -ms-flex-align: end;\n -webkit-align-items: flex-end;\n align-items: flex-end;\n }\n\n .layout.baseline {\n -ms-flex-align: baseline;\n -webkit-align-items: baseline;\n align-items: baseline;\n }\n\n /**\n * Alignment in main axis.\n */\n .layout.start-justified {\n -ms-flex-pack: start;\n -webkit-justify-content: flex-start;\n justify-content: flex-start;\n }\n\n .layout.center-justified,\n .layout.center-center {\n -ms-flex-pack: center;\n -webkit-justify-content: center;\n justify-content: center;\n }\n\n .layout.end-justified {\n -ms-flex-pack: end;\n -webkit-justify-content: flex-end;\n justify-content: flex-end;\n }\n\n .layout.around-justified {\n -ms-flex-pack: distribute;\n -webkit-justify-content: space-around;\n justify-content: space-around;\n }\n\n .layout.justified {\n -ms-flex-pack: justify;\n -webkit-justify-content: space-between;\n justify-content: space-between;\n }\n\n /**\n * Self alignment.\n */\n .self-start {\n -ms-align-self: flex-start;\n -webkit-align-self: flex-start;\n align-self: flex-start;\n }\n\n .self-center {\n -ms-align-self: center;\n -webkit-align-self: center;\n align-self: center;\n }\n\n .self-end {\n -ms-align-self: flex-end;\n -webkit-align-self: flex-end;\n align-self: flex-end;\n }\n\n .self-stretch {\n -ms-align-self: stretch;\n -webkit-align-self: stretch;\n align-self: stretch;\n }\n\n .self-baseline {\n -ms-align-self: baseline;\n -webkit-align-self: baseline;\n align-self: baseline;\n }\n\n /**\n * multi-line alignment in main axis.\n */\n .layout.start-aligned {\n -ms-flex-line-pack: start; /* IE10 */\n -ms-align-content: flex-start;\n -webkit-align-content: flex-start;\n align-content: flex-start;\n }\n\n .layout.end-aligned {\n -ms-flex-line-pack: end; /* IE10 */\n -ms-align-content: flex-end;\n -webkit-align-content: flex-end;\n align-content: flex-end;\n }\n\n .layout.center-aligned {\n -ms-flex-line-pack: center; /* IE10 */\n -ms-align-content: center;\n -webkit-align-content: center;\n align-content: center;\n }\n\n .layout.between-aligned {\n -ms-flex-line-pack: justify; /* IE10 */\n -ms-align-content: space-between;\n -webkit-align-content: space-between;\n align-content: space-between;\n }\n\n .layout.around-aligned {\n -ms-flex-line-pack: distribute; /* IE10 */\n -ms-align-content: space-around;\n -webkit-align-content: space-around;\n align-content: space-around;\n }\n </style>\n </template>\n</dom-module>\n/* Non-flexbox positioning helper styles */\n<dom-module id="iron-flex-factors">\n <template>\n <style>\n .flex,\n .flex-1 {\n -ms-flex: 1 1 0.000000001px;\n -webkit-flex: 1;\n flex: 1;\n -webkit-flex-basis: 0.000000001px;\n flex-basis: 0.000000001px;\n }\n\n .flex-2 {\n -ms-flex: 2;\n -webkit-flex: 2;\n flex: 2;\n }\n\n .flex-3 {\n -ms-flex: 3;\n -webkit-flex: 3;\n flex: 3;\n }\n\n .flex-4 {\n -ms-flex: 4;\n -webkit-flex: 4;\n flex: 4;\n }\n\n .flex-5 {\n -ms-flex: 5;\n -webkit-flex: 5;\n flex: 5;\n }\n\n .flex-6 {\n -ms-flex: 6;\n -webkit-flex: 6;\n flex: 6;\n }\n\n .flex-7 {\n -ms-flex: 7;\n -webkit-flex: 7;\n flex: 7;\n }\n\n .flex-8 {\n -ms-flex: 8;\n -webkit-flex: 8;\n flex: 8;\n }\n\n .flex-9 {\n -ms-flex: 9;\n -webkit-flex: 9;\n flex: 9;\n }\n\n .flex-10 {\n -ms-flex: 10;\n -webkit-flex: 10;\n flex: 10;\n }\n\n .flex-11 {\n -ms-flex: 11;\n -webkit-flex: 11;\n flex: 11;\n }\n\n .flex-12 {\n -ms-flex: 12;\n -webkit-flex: 12;\n flex: 12;\n }\n </style>\n </template>\n</dom-module>\n<dom-module id="iron-positioning">\n <template>\n <style>\n .block {\n display: block;\n }\n\n [hidden] {\n display: none !important;\n }\n\n .invisible {\n visibility: hidden !important;\n }\n\n .relative {\n position: relative;\n }\n\n .fit {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n body.fullbleed {\n margin: 0;\n height: 100vh;\n }\n\n .scroll {\n -webkit-overflow-scrolling: touch;\n overflow: auto;\n }\n\n /* fixed position */\n .fixed-bottom,\n .fixed-left,\n .fixed-right,\n .fixed-top {\n position: fixed;\n }\n\n .fixed-top {\n top: 0;\n left: 0;\n right: 0;\n }\n\n .fixed-right {\n top: 0;\n right: 0;\n bottom: 0;\n }\n\n .fixed-bottom {\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n .fixed-left {\n top: 0;\n bottom: 0;\n left: 0;\n }\n </style>\n </template>\n</dom-module>\n'],a||(a=l.slice(0)),i=Object.freeze(Object.defineProperties(l,{raw:{value:Object.freeze(a)}}))));o.setAttribute("style","display: none;"),document.head.appendChild(o.content)},75717:function(n,e,t){"use strict";t.d(e,{hI:function(){return i},Ry:function(){return l}});var i="number",l=function(n,e,t,i){n.callService("alarm_control_panel","alarm_".concat(t),{entity_id:e,code:i})}},81838:function(n,e,t){"use strict";t.r(e);t(53918),t(21157),t(30879);var i,l=t(50856),a=t(28426),o=t(47181),r=t(75717);function s(n){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function c(n,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}}function d(n,e){return(d=Object.setPrototypeOf||function(n,e){return n.__proto__=e,n})(n,e)}function f(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(n){return!1}}();return function(){var t,i=m(n);if(e){var l=m(this).constructor;t=Reflect.construct(i,arguments,l)}else t=i.apply(this,arguments);return u(this,t)}}function u(n,e){return!e||"object"!==s(e)&&"function"!=typeof e?function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(n):e}function m(n){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(n){return n.__proto__||Object.getPrototypeOf(n)})(n)}var b=function(n){!function(n,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&d(n,e)}(u,n);var e,t,a,s=f(u);function u(){var n;return function(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}(this,u),(n=s.call(this))._armedStates=["armed_home","armed_away","armed_night","armed_custom_bypass"],n}return e=u,a=[{key:"template",get:function(){return(0,l.d)(i||(n=['\n <style include="iron-flex"></style>\n <style>\n paper-input {\n margin: auto;\n max-width: 200px;\n }\n .pad {\n display: flex;\n justify-content: center;\n margin-bottom: 24px;\n }\n .pad div {\n display: flex;\n flex-direction: column;\n }\n .pad mwc-button {\n padding: 8px;\n width: 80px;\n }\n .actions mwc-button {\n flex: 1 0 50%;\n margin: 0 4px 16px;\n max-width: 200px;\n }\n mwc-button.disarm {\n color: var(--error-color);\n }\n </style>\n\n <template is="dom-if" if="[[_codeFormat]]">\n <paper-input\n label="[[localize(\'ui.card.alarm_control_panel.code\')]]"\n value="{{_enteredCode}}"\n type="password"\n inputmode="[[_inputMode]]"\n disabled="[[!_inputEnabled]]"\n ></paper-input>\n\n <template is="dom-if" if="[[_isNumber(_codeFormat)]]">\n <div class="pad">\n <div>\n <mwc-button\n on-click="_digitClicked"\n disabled="[[!_inputEnabled]]"\n data-digit="1"\n outlined\n >1</mwc-button\n >\n <mwc-button\n on-click="_digitClicked"\n disabled="[[!_inputEnabled]]"\n data-digit="4"\n outlined\n >4</mwc-button\n >\n <mwc-button\n on-click="_digitClicked"\n disabled="[[!_inputEnabled]]"\n data-digit="7"\n outlined\n >7</mwc-button\n >\n </div>\n <div>\n <mwc-button\n on-click="_digitClicked"\n disabled="[[!_inputEnabled]]"\n data-digit="2"\n outlined\n >2</mwc-button\n >\n <mwc-button\n on-click="_digitClicked"\n disabled="[[!_inputEnabled]]"\n data-digit="5"\n outlined\n >5</mwc-button\n >\n <mwc-button\n on-click="_digitClicked"\n disabled="[[!_inputEnabled]]"\n data-digit="8"\n outlined\n >8</mwc-button\n >\n <mwc-button\n on-click="_digitClicked"\n disabled="[[!_inputEnabled]]"\n data-digit="0"\n outlined\n >0</mwc-button\n >\n </div>\n <div>\n <mwc-button\n on-click="_digitClicked"\n disabled="[[!_inputEnabled]]"\n data-digit="3"\n outlined\n >3</mwc-button\n >\n <mwc-button\n on-click="_digitClicked"\n disabled="[[!_inputEnabled]]"\n data-digit="6"\n outlined\n >6</mwc-button\n >\n <mwc-button\n on-click="_digitClicked"\n disabled="[[!_inputEnabled]]"\n data-digit="9"\n outlined\n >9</mwc-button\n >\n <mwc-button\n on-click="_clearEnteredCode"\n disabled="[[!_inputEnabled]]"\n outlined\n >\n [[localize(\'ui.card.alarm_control_panel.clear_code\')]]\n </mwc-button>\n </div>\n </div>\n </template>\n </template>\n\n <div class="layout horizontal center-justified actions">\n <template is="dom-if" if="[[_disarmVisible]]">\n <mwc-button\n outlined\n class="disarm"\n on-click="_callService"\n data-service="alarm_disarm"\n disabled="[[!_codeValid]]"\n >\n [[localize(\'ui.card.alarm_control_panel.disarm\')]]\n </mwc-button>\n </template>\n <template is="dom-if" if="[[_armVisible]]">\n <mwc-button\n outlined\n on-click="_callService"\n data-service="alarm_arm_home"\n disabled="[[!_codeValid]]"\n >\n [[localize(\'ui.card.alarm_control_panel.arm_home\')]]\n </mwc-button>\n <mwc-button\n outlined\n on-click="_callService"\n data-service="alarm_arm_away"\n disabled="[[!_codeValid]]"\n >\n [[localize(\'ui.card.alarm_control_panel.arm_away\')]]\n </mwc-button>\n </template>\n </div>\n '],e||(e=n.slice(0)),i=Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))));var n,e}},{key:"properties",get:function(){return{hass:Object,stateObj:{type:Object,observer:"_stateObjChanged"},_enteredCode:{type:String,value:""},_codeFormat:{type:String,value:""},_codeValid:{type:Boolean,computed:"_validateCode(_enteredCode, _codeFormat, _armVisible, _codeArmRequired)"},_disarmVisible:{type:Boolean,value:!1},_armVisible:{type:Boolean,value:!1},_inputEnabled:{type:Boolean,value:!1},_inputMode:{type:String,computed:"_getInputMode(_codeFormat)"}}}}],(t=[{key:"_stateObjChanged",value:function(n,e){var t=this;if(n){var i=n.state,l={_codeFormat:n.attributes.code_format,_armVisible:"disarmed"===i,_codeArmRequired:n.attributes.code_arm_required,_disarmVisible:this._armedStates.includes(i)||"pending"===i||"triggered"===i||"arming"===i};l._inputEnabled=l._disarmVisible||l._armVisible,this.setProperties(l)}e&&setTimeout((function(){(0,o.B)(t,"iron-resize")}),500)}},{key:"_getInputMode",value:function(n){return this._isNumber(n)?"numeric":"text"}},{key:"_isNumber",value:function(n){return n===r.hI}},{key:"_validateCode",value:function(n,e,t,i){return!e||n.length>0||t&&!i}},{key:"_digitClicked",value:function(n){this._enteredCode+=n.target.getAttribute("data-digit")}},{key:"_clearEnteredCode",value:function(){this._enteredCode=""}},{key:"_callService",value:function(n){var e=this,t=n.target.getAttribute("data-service"),i={entity_id:this.stateObj.entity_id,code:this._enteredCode};this.hass.callService("alarm_control_panel",t,i).then((function(){e._enteredCode=""}))}}])&&c(e.prototype,t),a&&c(e,a),u}((0,t(1265).Z)(a.H3));customElements.define("more-info-alarm_control_panel",b)}}]); //# sourceMappingURL=chunk.956b0efa2d518e3720ab.js.map