iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
338 lines (277 loc) • 19.5 kB
JavaScript
/*! For license information please see chunk.64377349a26ee0e9e479.js.LICENSE.txt */
(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([[8941],{21006:(t,e,n)=>{"use strict";n.d(e,{V:()=>i});n(43437);const i={properties:{name:{type:String},value:{notify:!0,type:String},required:{type:Boolean,value:!1}},attached:function(){},detached:function(){}}},98235:(t,e,n)=>{"use strict";n.d(e,{x:()=>o});n(43437);var i=n(15112);let a=null;const o={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1,observer:"_invalidChanged"}},registered:function(){a=new i.P({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},get _validator(){return a&&a.byKey(this.validator)},hasValidator:function(){return null!=this._validator},validate:function(t){return void 0===t&&void 0!==this.value?this.invalid=!this._getValidity(this.value):this.invalid=!this._getValidity(t),!this.invalid},_getValidity:function(t){return!this.hasValidator()||this._validator.validate(t)}}},71765:(t,e,n)=>{"use strict";n.d(e,{o:()=>i});n(43437);const i={attached:function(){this.fire("addon-attached")},update:function(t){}}},66668:(t,e,n)=>{"use strict";n.d(e,{d0:()=>s});n(43437);var i=n(8621),a=n(26110),o=n(87156),l=n(28426);const r={NextLabelID:1,NextAddonID:1,NextInputID:1},p={properties:{label:{type:String},value:{notify:!0,type:String},disabled:{type:Boolean,value:!1},invalid:{type:Boolean,value:!1,notify:!0},allowedPattern:{type:String},type:{type:String},list:{type:String},pattern:{type:String},required:{type:Boolean,value:!1},errorMessage:{type:String},charCounter:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},autoValidate:{type:Boolean,value:!1},validator:{type:String},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,observer:"_autofocusChanged"},inputmode:{type:String},minlength:{type:Number},maxlength:{type:Number},min:{type:String},max:{type:String},step:{type:String},name:{type:String},placeholder:{type:String,value:""},readonly:{type:Boolean,value:!1},size:{type:Number},autocapitalize:{type:String,value:"none"},autocorrect:{type:String,value:"off"},autosave:{type:String},results:{type:Number},accept:{type:String},multiple:{type:Boolean},_ariaDescribedBy:{type:String,value:""},_ariaLabelledBy:{type:String,value:""},_inputId:{type:String,value:""}},listeners:{"addon-attached":"_onAddonAttached"},keyBindings:{"shift+tab:keydown":"_onShiftTabDown"},hostAttributes:{tabindex:0},get inputElement(){return this.$||(this.$={}),this.$.input||(this._generateInputId(),this.$.input=this.$$("#"+this._inputId)),this.$.input},get _focusableElement(){return this.inputElement},created:function(){this._typesThatHaveText=["date","datetime","datetime-local","month","time","week","file"]},attached:function(){this._updateAriaLabelledBy(),!l.H3&&this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.inputElement.type)&&(this.alwaysFloatLabel=!0)},_appendStringWithSpace:function(t,e){return t=t?t+" "+e:e},_onAddonAttached:function(t){var e=(0,o.vz)(t).rootTarget;if(e.id)this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,e.id);else{var n="paper-input-add-on-"+r.NextAddonID++;e.id=n,this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,n)}},validate:function(){return this.inputElement.validate()},_focusBlurHandler:function(t){a.a._focusBlurHandler.call(this,t),this.focused&&!this._shiftTabPressed&&this._focusableElement&&this._focusableElement.focus()},_onShiftTabDown:function(t){var e=this.getAttribute("tabindex");this._shiftTabPressed=!0,this.setAttribute("tabindex","-1"),this.async((function(){this.setAttribute("tabindex",e),this._shiftTabPressed=!1}),1)},_handleAutoValidate:function(){this.autoValidate&&this.validate()},updateValueAndPreserveCaret:function(t){try{var e=this.inputElement.selectionStart;this.value=t,this.inputElement.selectionStart=e,this.inputElement.selectionEnd=e}catch(n){this.value=t}},_computeAlwaysFloatLabel:function(t,e){return e||t},_updateAriaLabelledBy:function(){var t,e=(0,o.vz)(this.root).querySelector("label");e?(e.id?t=e.id:(t="paper-input-label-"+r.NextLabelID++,e.id=t),this._ariaLabelledBy=t):this._ariaLabelledBy=""},_generateInputId:function(){this._inputId&&""!==this._inputId||(this._inputId="input-"+r.NextInputID++)},_onChange:function(t){this.shadowRoot&&this.fire(t.type,{sourceEvent:t},{node:this,bubbles:t.bubbles,cancelable:t.cancelable})},_autofocusChanged:function(){if(this.autofocus&&this._focusableElement){var t=document.activeElement;t instanceof HTMLElement&&t!==document.body&&t!==document.documentElement||this._focusableElement.focus()}}},s=[a.a,i.G,p]},2178:(t,e,n)=>{"use strict";n(43437),n(47686);var i=n(9672),a=n(50856),o=n(71765);(0,i.k)({_template:a.d`
<style>
:host {
display: inline-block;
float: right;
--paper-font-caption;
--paper-input-char-counter;
}
:host([hidden]) {
display: none !important;
}
:host(:dir(rtl)) {
float: left;
}
</style>
<span>[[_charCounterStr]]</span>
`,is:"paper-input-char-counter",behaviors:[o.o],properties:{_charCounterStr:{type:String,value:"0"}},update:function(t){if(t.inputElement){t.value=t.value||"";var e=t.value.toString().length.toString();t.inputElement.hasAttribute("maxlength")&&(e+="/"+t.inputElement.getAttribute("maxlength")),this._charCounterStr=e}}})},98121:(t,e,n)=>{"use strict";n(43437),n(65660),n(1656),n(47686);var i=n(9672),a=n(87156),o=n(67130),l=n(50856);const r=l.d`
<custom-style>
<style is="custom-style">
html {
--paper-input-container-shared-input-style: {
position: relative; /* to make a stacking context */
outline: none;
box-shadow: none;
padding: 0;
margin: 0;
width: 100%;
max-width: 100%;
background: transparent;
border: none;
color: var(--paper-input-container-input-color, var(--primary-text-color));
-webkit-appearance: none;
text-align: inherit;
vertical-align: var(--paper-input-container-input-align, bottom);
--paper-font-subhead;
};
}
</style>
</custom-style>
`;r.setAttribute("style","display: none;"),document.head.appendChild(r.content),(0,i.k)({_template:l.d`
<style>
:host {
display: block;
padding: 8px 0;
--paper-input-container;
}
:host([inline]) {
display: inline-block;
}
:host([disabled]) {
pointer-events: none;
opacity: 0.33;
--paper-input-container-disabled;
}
:host([hidden]) {
display: none !important;
}
[hidden] {
display: none !important;
}
.floated-label-placeholder {
--paper-font-caption;
}
.underline {
height: 2px;
position: relative;
}
.focused-line {
--layout-fit;
border-bottom: 2px solid var(--paper-input-container-focus-color, var(--primary-color));
-webkit-transform-origin: center center;
transform-origin: center center;
-webkit-transform: scale3d(0,1,1);
transform: scale3d(0,1,1);
--paper-input-container-underline-focus;
}
.underline.is-highlighted .focused-line {
-webkit-transform: none;
transform: none;
-webkit-transition: -webkit-transform 0.25s;
transition: transform 0.25s;
--paper-transition-easing;
}
.underline.is-invalid .focused-line {
border-color: var(--paper-input-container-invalid-color, var(--error-color));
-webkit-transform: none;
transform: none;
-webkit-transition: -webkit-transform 0.25s;
transition: transform 0.25s;
--paper-transition-easing;
}
.unfocused-line {
--layout-fit;
border-bottom: 1px solid var(--paper-input-container-color, var(--secondary-text-color));
--paper-input-container-underline;
}
:host([disabled]) .unfocused-line {
border-bottom: 1px dashed;
border-color: var(--paper-input-container-color, var(--secondary-text-color));
--paper-input-container-underline-disabled;
}
.input-wrapper {
--layout-horizontal;
--layout-center;
position: relative;
}
.input-content {
--layout-flex-auto;
--layout-relative;
max-width: 100%;
}
.input-content ::slotted(label),
.input-content ::slotted(.paper-input-label) {
position: absolute;
top: 0;
left: 0;
width: 100%;
font: inherit;
color: var(--paper-input-container-color, var(--secondary-text-color));
-webkit-transition: -webkit-transform 0.25s, width 0.25s;
transition: transform 0.25s, width 0.25s;
-webkit-transform-origin: left top;
transform-origin: left top;
/* Fix for safari not focusing 0-height date/time inputs with -webkit-apperance: none; */
min-height: 1px;
--paper-font-common-nowrap;
--paper-font-subhead;
--paper-input-container-label;
--paper-transition-easing;
}
.input-content ::slotted(label):before,
.input-content ::slotted(.paper-input-label):before {
--paper-input-container-label-before;
}
.input-content ::slotted(label):after,
.input-content ::slotted(.paper-input-label):after {
--paper-input-container-label-after;
}
.input-content.label-is-floating ::slotted(label),
.input-content.label-is-floating ::slotted(.paper-input-label) {
-webkit-transform: translateY(-75%) scale(0.75);
transform: translateY(-75%) scale(0.75);
/* Since we scale to 75/100 of the size, we actually have 100/75 of the
original space now available */
width: 133%;
--paper-input-container-label-floating;
}
:host(:dir(rtl)) .input-content.label-is-floating ::slotted(label),
:host(:dir(rtl)) .input-content.label-is-floating ::slotted(.paper-input-label) {
right: 0;
left: auto;
-webkit-transform-origin: right top;
transform-origin: right top;
}
.input-content.label-is-highlighted ::slotted(label),
.input-content.label-is-highlighted ::slotted(.paper-input-label) {
color: var(--paper-input-container-focus-color, var(--primary-color));
--paper-input-container-label-focus;
}
.input-content.is-invalid ::slotted(label),
.input-content.is-invalid ::slotted(.paper-input-label) {
color: var(--paper-input-container-invalid-color, var(--error-color));
}
.input-content.label-is-hidden ::slotted(label),
.input-content.label-is-hidden ::slotted(.paper-input-label) {
visibility: hidden;
}
.input-content ::slotted(input),
.input-content ::slotted(iron-input),
.input-content ::slotted(textarea),
.input-content ::slotted(iron-autogrow-textarea),
.input-content ::slotted(.paper-input-input) {
--paper-input-container-shared-input-style;
/* The apply shim doesn't apply the nested color custom property,
so we have to re-apply it here. */
color: var(--paper-input-container-input-color, var(--primary-text-color));
--paper-input-container-input;
}
.input-content ::slotted(input)::-webkit-outer-spin-button,
.input-content ::slotted(input)::-webkit-inner-spin-button {
--paper-input-container-input-webkit-spinner;
}
.input-content.focused ::slotted(input),
.input-content.focused ::slotted(iron-input),
.input-content.focused ::slotted(textarea),
.input-content.focused ::slotted(iron-autogrow-textarea),
.input-content.focused ::slotted(.paper-input-input) {
--paper-input-container-input-focus;
}
.input-content.is-invalid ::slotted(input),
.input-content.is-invalid ::slotted(iron-input),
.input-content.is-invalid ::slotted(textarea),
.input-content.is-invalid ::slotted(iron-autogrow-textarea),
.input-content.is-invalid ::slotted(.paper-input-input) {
--paper-input-container-input-invalid;
}
.prefix ::slotted(*) {
display: inline-block;
--paper-font-subhead;
--layout-flex-none;
--paper-input-prefix;
}
.suffix ::slotted(*) {
display: inline-block;
--paper-font-subhead;
--layout-flex-none;
--paper-input-suffix;
}
/* Firefox sets a min-width on the input, which can cause layout issues */
.input-content ::slotted(input) {
min-width: 0;
}
.input-content ::slotted(textarea) {
resize: none;
}
.add-on-content {
position: relative;
}
.add-on-content.is-invalid ::slotted(*) {
color: var(--paper-input-container-invalid-color, var(--error-color));
}
.add-on-content.is-highlighted ::slotted(*) {
color: var(--paper-input-container-focus-color, var(--primary-color));
}
</style>
<div class="floated-label-placeholder" aria-hidden="true" hidden="[[noLabelFloat]]"> </div>
<div class="input-wrapper">
<span class="prefix"><slot name="prefix"></slot></span>
<div class$="[[_computeInputContentClass(noLabelFloat,alwaysFloatLabel,focused,invalid,_inputHasContent)]]" id="labelAndInputContainer">
<slot name="label"></slot>
<slot name="input"></slot>
</div>
<span class="suffix"><slot name="suffix"></slot></span>
</div>
<div class$="[[_computeUnderlineClass(focused,invalid)]]">
<div class="unfocused-line"></div>
<div class="focused-line"></div>
</div>
<div class$="[[_computeAddOnContentClass(focused,invalid)]]">
<slot name="add-on"></slot>
</div>
`,is:"paper-input-container",properties:{noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},attrForValue:{type:String,value:"bind-value"},autoValidate:{type:Boolean,value:!1},invalid:{observer:"_invalidChanged",type:Boolean,value:!1},focused:{readOnly:!0,type:Boolean,value:!1,notify:!0},_addons:{type:Array},_inputHasContent:{type:Boolean,value:!1},_inputSelector:{type:String,value:"input,iron-input,textarea,.paper-input-input"},_boundOnFocus:{type:Function,value:function(){return this._onFocus.bind(this)}},_boundOnBlur:{type:Function,value:function(){return this._onBlur.bind(this)}},_boundOnInput:{type:Function,value:function(){return this._onInput.bind(this)}},_boundValueChanged:{type:Function,value:function(){return this._onValueChanged.bind(this)}}},listeners:{"addon-attached":"_onAddonAttached","iron-input-validate":"_onIronInputValidate"},get _valueChangedEvent(){return this.attrForValue+"-changed"},get _propertyForValue(){return(0,o.z)(this.attrForValue)},get _inputElement(){return(0,a.vz)(this).querySelector(this._inputSelector)},get _inputElementValue(){return this._inputElement[this._propertyForValue]||this._inputElement.value},ready:function(){this.__isFirstValueUpdate=!0,this._addons||(this._addons=[]),this.addEventListener("focus",this._boundOnFocus,!0),this.addEventListener("blur",this._boundOnBlur,!0)},attached:function(){this.attrForValue?this._inputElement.addEventListener(this._valueChangedEvent,this._boundValueChanged):this.addEventListener("input",this._onInput),this._inputElementValue&&""!=this._inputElementValue?this._handleValueAndAutoValidate(this._inputElement):this._handleValue(this._inputElement)},_onAddonAttached:function(t){this._addons||(this._addons=[]);var e=t.target;-1===this._addons.indexOf(e)&&(this._addons.push(e),this.isAttached&&this._handleValue(this._inputElement))},_onFocus:function(){this._setFocused(!0)},_onBlur:function(){this._setFocused(!1),this._handleValueAndAutoValidate(this._inputElement)},_onInput:function(t){this._handleValueAndAutoValidate(t.target)},_onValueChanged:function(t){var e=t.target;this.__isFirstValueUpdate&&(this.__isFirstValueUpdate=!1,void 0===e.value||""===e.value)||this._handleValueAndAutoValidate(t.target)},_handleValue:function(t){var e=this._inputElementValue;e||0===e||"number"===t.type&&!t.checkValidity()?this._inputHasContent=!0:this._inputHasContent=!1,this.updateAddons({inputElement:t,value:e,invalid:this.invalid})},_handleValueAndAutoValidate:function(t){var e;this.autoValidate&&t&&(e=t.validate?t.validate(this._inputElementValue):t.checkValidity(),this.invalid=!e);this._handleValue(t)},_onIronInputValidate:function(t){this.invalid=this._inputElement.invalid},_invalidChanged:function(){this._addons&&this.updateAddons({invalid:this.invalid})},updateAddons:function(t){for(var e,n=0;e=this._addons[n];n++)e.update(t)},_computeInputContentClass:function(t,e,n,i,a){var o="input-content";if(t)a&&(o+=" label-is-hidden"),i&&(o+=" is-invalid");else{var l=this.querySelector("label");e||a?(o+=" label-is-floating",this.$.labelAndInputContainer.style.position="static",i?o+=" is-invalid":n&&(o+=" label-is-highlighted")):(l&&(this.$.labelAndInputContainer.style.position="relative"),i&&(o+=" is-invalid"))}return n&&(o+=" focused"),o},_computeUnderlineClass:function(t,e){var n="underline";return e?n+=" is-invalid":t&&(n+=" is-highlighted"),n},_computeAddOnContentClass:function(t,e){var n="add-on-content";return e?n+=" is-invalid":t&&(n+=" is-highlighted"),n}})},65911:(t,e,n)=>{"use strict";n(43437),n(1656),n(47686);var i=n(9672),a=n(50856),o=n(71765);(0,i.k)({_template:a.d`
<style>
:host {
display: inline-block;
visibility: hidden;
color: var(--paper-input-container-invalid-color, var(--error-color));
--paper-font-caption;
--paper-input-error;
position: absolute;
left:0;
right:0;
}
:host([invalid]) {
visibility: visible;
}
#a11yWrapper {
visibility: hidden;
}
:host([invalid]) #a11yWrapper {
visibility: visible;
}
</style>
<!--
If the paper-input-error element is directly referenced by an
\`aria-describedby\` attribute, such as when used as a paper-input add-on,
then applying \`visibility: hidden;\` to the paper-input-error element itself
does not hide the error.
For more information, see:
https://www.w3.org/TR/accname-1.1/#mapping_additional_nd_description
-->
<div id="a11yWrapper">
<slot></slot>
</div>
`,is:"paper-input-error",behaviors:[o.o],properties:{invalid:{readOnly:!0,reflectToAttribute:!0,type:Boolean}},update:function(t){this._setInvalid(t.invalid)}})}}]);
//# sourceMappingURL=chunk.64377349a26ee0e9e479.js.map