From f59c51e0c4f45f11e64b3db6f446f472bd9bb6a4 Mon Sep 17 00:00:00 2001 From: Nicolae Farmache Date: Mon, 25 Sep 2023 01:29:44 +0200 Subject: [PATCH] bump version --- dist/big-slider-card.js | 2 +- package.json | 2 +- src/const.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dist/big-slider-card.js b/dist/big-slider-card.js index cc057a2..a52f50a 100644 --- a/dist/big-slider-card.js +++ b/dist/big-slider-card.js @@ -49,7 +49,7 @@ var at,lt,ct;function dt(){return(dt=Object.assign||function(t){for(var e=1;e=100?"mdi:battery":s<=0?"mdi:battery-alert":"hass:battery-"+s}var o=t.attributes.unit_of_measurement;return"°C"===o||"°F"===o?"mdi:thermometer":vt("sensor")},input_datetime:function(t){return t.attributes.has_date?t.attributes.has_time?vt("input_datetime"):"mdi:calendar":"mdi:clock"}};class $t{#t;#e;#i=0;#s=0;#o=0;#r=0;#n;#a=!1;#l;#c;#d;constructor(t,e,{touchActions:i,stopScrollDirection:s}={}){this.#t=t,this.#e=i,this.#n=e,this.#l=s,this.#c=this.#h.bind(this),this.#d=this.#u.bind(this),this.addListeners()}addListeners(){this.#t.addEventListener("pointerdown",this.#d),this.#t.addEventListener("pointermove",this.#d),this.#t.addEventListener("pointerup",this.#d),this.#t.addEventListener("pointercancel",this.#d),window.addEventListener("touchmove",this.#c,{passive:!1}),this.#e&&(this.#t.style.touchAction=this.#e)}removeListeners(){this.#t.removeEventListener("pointerdown",this.#d),this.#t.removeEventListener("pointermove",this.#d),this.#t.removeEventListener("pointerup",this.#d),this.#t.removeEventListener("pointercancel",this.#d),window.removeEventListener("touchmove",this.#c),this.#e&&(this.#t.style.touchAction=null)}#p(){this.#a=!0}#m(){this.#a=!1}#h(t){this.#a&&t.preventDefault()}#u(t){if("pointerdown"===t.type&&(this.#t.setPointerCapture(t.pointerId),this.#i=t.pageX,this.#s=t.pageY),this.#t.hasPointerCapture(t.pointerId)&&"pointercancel"!==t.type&&"function"==typeof this.#n){const e=t.pageX-this.#i,i=t.pageY-this.#s;"horizontal"===this.#l&&Math.abs(e/i)>1&&this.#p(),"vertical"===this.#l&&Math.abs(e/i)<1&&this.#p(),this.#n(t,{startX:this.#i,startY:this.#s,relativeX:e,relativeY:i,totalX:e+this.#o,totalY:i+this.#r})}"pointerup"===t.type&&(this.#o=+this.#o+t.pageX-this.#i,this.#r=+this.#r+t.pageY-this.#s,this.#t.releasePointerCapture(t.pointerId),this.#m()),"pointercancel"===t.type&&(this.#n(t,{startX:this.#i,startY:this.#s,relativeX:0,relativeY:0,totalX:this.#o,totalY:this.#r}),this.#t.releasePointerCapture(t.pointerId),this.#m())}}const wt="brightness";var At={version:"Version",invalid_configuration:"Invalid configuration",show_warning:"Show Warning",no_entity_set:"Entity not set",no_entity:"Entity not available",on:"On",off:"Off"},St={common:At},Et={version:"Versiunea",invalid_configuration:"Configurație invalidă",show_warning:"Show Warning",no_entity_set:"Entitatea nu e setată",no_entity:"Entitatea nu e disponibilă",on:"Pornit",off:"Oprit"},kt={common:Et};const xt={en:Object.freeze({__proto__:null,common:At,default:St}),ro:Object.freeze({__proto__:null,common:Et,default:kt})};function Tt(t,e="",i=""){const s=(localStorage.getItem("selectedLanguage")||"en").replace(/['"]+/g,"").replace("-","_");let o;try{o=t.split(".").reduce(((t,e)=>t[e]),xt[s])}catch(e){o=t.split(".").reduce(((t,e)=>t[e]),xt.en)}return void 0===o&&(o=t.split(".").reduce(((t,e)=>t[e]),xt.en)),""!==e&&""!==i&&(o=o.replace(e,i)),o}var Pt;console.info(`%c BIG-SLIDER-CARD \n%c ${Tt("common.version")} 1.1.2 `,"color: orange; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray"),window.customCards=null!==(Pt=window.customCards)&&void 0!==Pt?Pt:[],window.customCards.push({type:"big-slider-card",name:"Big Slider Card",description:"Big slider card for light entities."});let Ct=class extends st{static getStubConfig(){return{}}constructor(){super(),this._handleContextMenu=t=>{const e=null!=t?t:window.event;return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0,e.returnValue=!1,!1},this._handlePointer=(t,e)=>{var i;this.mousePos={x:t.pageX,y:t.pageY};const s=null!==(i=this.config.min_slide_time)&&void 0!==i?i:0;if("pointerdown"===t.type&&(this._press(),this.isTap=!0,this.isHold=!1,this.holdTimer=window.setTimeout(this._setHold,this.config.hold_time),this.trackingStartTime=Date.now(),this._resetTrack()),["pointerdown","pointermove","pointerup"].includes(t.type)&&this._updateValue(),"pointermove"===t.type){if(this.isTap&&Math.abs(e.relativeX)<5&&Math.abs(e.relativeY)<5)return;this.isTap=!1,clearTimeout(this.holdTimer),this._stopUpdates()}if("pointercancel"===t.type&&(clearTimeout(this.holdTimer),this._unpress(),this._startUpdates()),"pointerup"===t.type){if(clearTimeout(this.holdTimer),this._unpress(),this._startUpdates(),this.isTap)return void this._handleTap();Date.now()-this.trackingStartTime>s&&(this._setValue(),this._startUpdates(!0))}},this._setHold=()=>{this.isTap=!1,this.isHold=!0,gt(this,this.hass,this.config,!0,!1)},this._handleTap=()=>{var t;clearTimeout(this.holdTimer),(null===(t=this.config)||void 0===t?void 0:t.tap_action)&&(this.isHold||gt(this,this.hass,this.config,!1,!1))},this.mouseStartPos={x:0,y:0},this.mousePos={x:0,y:0},this.containerWidth=0,this.oldValue=0,this.currentValue=30,this.stateObj=null,this.isTap=!1,this.isHold=!1,this.holdTimer=0,this._shouldUpdate=!0,this.updateTimeout=0,this.pressTimeout=0,this.trackingStartTime=0}connectedCallback(){super.connectedCallback(),this.addEventListener("contextmenu",this._handleContextMenu),this.slideGesture=new $t(this,this._handlePointer.bind(this),{touchActions:"pan-y",stopScrollDirection:"horizontal"})}disconnectedCallback(){this.removeEventListener("contextmenu",this._handleContextMenu),this.slideGesture.removeListeners(),super.disconnectedCallback()}_log(t){console.log(`%c BIG-SLIDER-CARD ${this._getName()} %c ${t} `,"color: orange; font-weight: bold; background: black","")}_updateValue(){const t=this.containerWidth,e=this.mousePos.x-this.mouseStartPos.x,i=Math.round(100*e/t);this.currentValue=this.oldValue+i,this._checklimits(),this._updateSlider()}_resetTrack(){this.mouseStartPos={x:this.mousePos.x,y:this.mousePos.y},this.oldValue=this.currentValue}_press(){var t;this.pressTimeout&&clearTimeout(this.pressTimeout),this.pressTimeout=window.setTimeout((()=>this.setAttribute("pressed","")),null!==(t=this.config.min_slide_time)&&void 0!==t?t:0),this.setAttribute("half-pressed","")}_unpress(){this.pressTimeout&&clearTimeout(this.pressTimeout),this.removeAttribute("pressed"),this.removeAttribute("half-pressed")}_checklimits(){var t,e;const i=null!==(t=this.config.min)&&void 0!==t?t:0,s=null!==(e=this.config.max)&&void 0!==e?e:100;this.currentValues&&(this.currentValue=s,this._resetTrack())}_updateSlider(){var t;this.style.setProperty("--bsc-percent",this.currentValue+"%");const e=null===(t=null==this?void 0:this.shadowRoot)||void 0===t?void 0:t.getElementById("percentage");e&&(e.innerText=Math.round(this.currentValue)+"%")}_updateColors(){var t,e,i,s,o;let r="var(--bsc-color)",n="0%",a="50%",l=!1;if(this.stateObj)if("on"==this.stateObj.state){const o=null!==(e=null===(t=this.stateObj.attributes)||void 0===t?void 0:t.rgb_color)&&void 0!==e?e:[255,255,255],c=null!==(s=null===(i=this.stateObj.attributes)||void 0===i?void 0:i.brightness)&&void 0!==s?s:255;l=!0,o&&(r=`rgb(${o.join(",")})`),c&&(n=`${Math.ceil(100*c/255)}%`,a=`${Math.ceil(100*c/510+50)}%`)}else r="var(--bsc-off-color)";const c=null===(o=null==this?void 0:this.shadowRoot)||void 0===o?void 0:o.getElementById("percentage");l||c&&(c.innerText=Tt("common.off")),this.style.setProperty("--bsc-entity-color",r),this.style.setProperty("--bsc-brightness",n),this.style.setProperty("--bsc-brightness-ui",a),this.config.icon_color&&l&&this.style.setProperty("--bsc-icon-color",this.config.icon_color),this.config.icon_color&&!l&&this.style.removeProperty("--bsc-icon-color")}_getValue(){var t,e,i,s,o,r;if(!this._shouldUpdate)return;if(!this.stateObj)return;const n=null!==(e=null===(t=this.config)||void 0===t?void 0:t.attribute)&&void 0!==e?e:wt;let a=0;if("unavailable"==this.stateObj.state?(this.config.min=0,this.config.max=0,this.style.setProperty("--bsc-opacity","0.5")):(this.config.min=this.config.original_min,this.config.max=this.config.original_max,this.style.removeProperty("--bsc-opacity")),"on"!=this.stateObj.state)a=null!==(i=this.config.min)&&void 0!==i?i:0;else switch(n){case"brightness":a=Math.round(100*(null!==(s=this.stateObj.attributes.brightness)&&void 0!==s?s:255)/255);break;case"red":case"green":case"blue":const t=null!==(o=this.stateObj.attributes.rgb_color)&&void 0!==o?o:[255,255,255];"red"===n&&(a=t[0]),"green"===n&&(a=t[1]),"blue"===n&&(a=t[2]),a=Math.ceil(100*a/255);break;case"hue":case"saturation":const e=null!==(r=this.stateObj.attributes.hs_color)&&void 0!==r?r:[100,100];"hue"===n&&(a=e[0]),"saturation"===n&&(a=e[1])}this.currentValue=a,this._updateSlider()}_setValue(){var t,e,i;let s,o=this.currentValue,r=null!==(t=this.config.attribute)&&void 0!==t?t:wt,n=!0;switch(r){case"brightness":o=Math.ceil(o/100*255),o||(n=!1);break;case"red":case"green":case"blue":s=null!==(e=this.stateObj.attributes.rgb_color)&&void 0!==e?e:[255,255,255],"red"===r&&(s[0]=o),"green"===r&&(s[1]=o),"blue"===r&&(s[2]=o),o=s,r="rgb_color";break;case"hue":case"saturation":s=null!==(i=this.stateObj.attributes.hs_color)&&void 0!==i?i:[100,100],"hue"===r&&(s[0]=o),"saturation"===r&&(s[1]=o),o=s,r="hs_color"}const a={entity_id:this.stateObj.entity_id};n?(a[r]=o,this.config.transition&&(a.transition=this.config.transition),this.hass.callService("light","turn_on",a)):this.hass.callService("light","turn_off",a)}setConfig(t){if(!t)throw new Error(Tt("common.invalid_configuration"));if(!t.entity)throw new Error(Tt("common.no_entity_set"));t.test_gui&&function(){var t=document.querySelector("home-assistant");if(t=(t=(t=(t=(t=(t=(t=(t=t&&t.shadowRoot)&&t.querySelector("home-assistant-main"))&&t.shadowRoot)&&t.querySelector("app-drawer-layout partial-panel-resolver"))&&t.shadowRoot||t)&&t.querySelector("ha-panel-lovelace"))&&t.shadowRoot)&&t.querySelector("hui-root")){var e=t.lovelace;return e.current_view=t.___curView,e}return null}().setEditMode(!0),this.config=Object.assign({attribute:wt,tap_action:{action:"toggle",haptic:"light"},hold_time:600,settle_time:3e3,min:0,max:100},t),this.config.original_min=this.config.min,this.config.original_max=this.config.max}_stopUpdates(){var t,e,i;this.updateTimeout&&clearTimeout(this.updateTimeout),this._shouldUpdate&&(null===(i=null===(e=null===(t=this.shadowRoot)||void 0===t?void 0:t.getElementById("slider"))||void 0===e?void 0:e.classList)||void 0===i||i.remove("animate"),this._shouldUpdate=!1)}_startUpdates(t=!1){this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=window.setTimeout((()=>{var t,e,i;this._shouldUpdate=!0,null===(i=null===(e=null===(t=this.shadowRoot)||void 0===t?void 0:t.getElementById("slider"))||void 0===e?void 0:e.classList)||void 0===i||i.add("animate"),this.requestUpdate()}),t?this.config.settle_time:0)}shouldUpdate(t){return!!this.config&&function(t,e,i){if(e.has("config")||i)return!0;if(t.config.entity){var s=e.get("hass");return!s||s.states[t.config.entity]!==t.hass.states[t.config.entity]}return!1}(this,t,!1)}updated(){var t,e,i;this.containerWidth=null!==(i=null===(e=null===(t=this.shadowRoot)||void 0===t?void 0:t.getElementById("container"))||void 0===e?void 0:e.clientWidth)&&void 0!==i?i:0,this._getValue(),this._updateColors()}render(){var t,e,i,s,o;if(this.config||(this.stateObj=null),this.config.entity||(this.stateObj=null),!this.config.entity||!(this.config.entity in this.hass.states))return this.stateObj=null,this._showError(`${Tt("common.no_entity")}: ${this.config.entity}`);this.stateObj=this.config.entity&&this.hass.states[this.config.entity];const r=this._getName(),n=null!==(t=this.config.icon)&&void 0!==t?t:function(t){if(!t)return"mdi:bookmark";if(t.attributes.icon)return t.attributes.icon;var e=ht(t.entity_id);return e in yt?yt[e](t):vt(e,t.state)}(this.stateObj),a=null!==(e=this.config.colorize&&!0)&&void 0!==e&&e,l=null!==(i=this.config.show_percentage&&!0)&&void 0!==i&&i,c=null!==(s=this.config.bold_text&&!0)&&void 0!==s&&s;return this._setStyleProperty("--bsc-background",this.config.background_color),this._setStyleProperty("--bsc-primary-text-color",this.config.text_color),this._setStyleProperty("--bsc-slider-color",this.config.color),this._setStyleProperty("--bsc-border-color",this.config.border_color),this._setStyleProperty("--bsc-border-radius",this.config.border_radius),this._setStyleProperty("--bsc-border-style",this.config.border_style),this._setStyleProperty("--bsc-border-width",this.config.border_width),this._setStyleProperty("--bsc-height",this.config.height,(t=>`${t}px`)),N` +console.warn("The main 'lit-element' module entrypoint is deprecated. Please update your imports to use the 'lit' package: 'lit' and 'lit/decorators.ts' or import from 'lit-element/lit-element.ts'. See https://lit.dev/msg/deprecated-import-path for more information."),function(t){t.language="language",t.system="system",t.comma_decimal="comma_decimal",t.decimal_comma="decimal_comma",t.space_comma="space_comma",t.none="none"}(lt||(lt={})),function(t){t.language="language",t.system="system",t.am_pm="12",t.twenty_four="24"}(ct||(ct={}));var ut=["closed","locked","off"],pt=function(t,e,i,s){s=s||{},i=null==i?{}:i;var o=new Event(e,{bubbles:void 0===s.bubbles||s.bubbles,cancelable:Boolean(s.cancelable),composed:void 0===s.composed||s.composed});return o.detail=i,t.dispatchEvent(o),o},mt={alert:"mdi:alert",automation:"mdi:playlist-play",calendar:"mdi:calendar",camera:"mdi:video",climate:"mdi:thermostat",configurator:"mdi:settings",conversation:"mdi:text-to-speech",device_tracker:"mdi:account",fan:"mdi:fan",group:"mdi:google-circles-communities",history_graph:"mdi:chart-line",homeassistant:"mdi:home-assistant",homekit:"mdi:home-automation",image_processing:"mdi:image-filter-frames",input_boolean:"mdi:drawing",input_datetime:"mdi:calendar-clock",input_number:"mdi:ray-vertex",input_select:"mdi:format-list-bulleted",input_text:"mdi:textbox",light:"mdi:lightbulb",mailbox:"mdi:mailbox",notify:"mdi:comment-alert",person:"mdi:account",plant:"mdi:flower",proximity:"mdi:apple-safari",remote:"mdi:remote",scene:"mdi:google-pages",script:"mdi:file-document",sensor:"mdi:eye",simple_alarm:"mdi:bell",sun:"mdi:white-balance-sunny",switch:"mdi:flash",timer:"mdi:timer",updater:"mdi:cloud-upload",vacuum:"mdi:robot-vacuum",water_heater:"mdi:thermometer",weblink:"mdi:open-in-new"};function vt(t,e){if(t in mt)return mt[t];switch(t){case"alarm_control_panel":switch(e){case"armed_home":return"mdi:bell-plus";case"armed_night":return"mdi:bell-sleep";case"disarmed":return"mdi:bell-outline";case"triggered":return"mdi:bell-ring";default:return"mdi:bell"}case"binary_sensor":return e&&"off"===e?"mdi:radiobox-blank":"mdi:checkbox-marked-circle";case"cover":return"closed"===e?"mdi:window-closed":"mdi:window-open";case"lock":return e&&"unlocked"===e?"mdi:lock-open":"mdi:lock";case"media_player":return e&&"off"!==e&&"idle"!==e?"mdi:cast-connected":"mdi:cast";case"zwave":switch(e){case"dead":return"mdi:emoticon-dead";case"sleeping":return"mdi:sleep";case"initializing":return"mdi:timer-sand";default:return"mdi:z-wave"}default:return console.warn("Unable to find icon for domain "+t+" ("+e+")"),"mdi:bookmark"}}var ft=function(t){pt(window,"haptic",t)},bt=function(t,e){return function(t,e,i){void 0===i&&(i=!0);var s,o=ht(e),r="group"===o?"homeassistant":o;switch(o){case"lock":s=i?"unlock":"lock";break;case"cover":s=i?"open_cover":"close_cover";break;default:s=i?"turn_on":"turn_off"}return t.callService(r,s,{entity_id:e})}(t,e,ut.includes(t.states[e].state))},gt=function(t,e,i,s,o){var r;if(o&&i.double_tap_action?r=i.double_tap_action:s&&i.hold_action?r=i.hold_action:!s&&i.tap_action&&(r=i.tap_action),r||(r={action:"more-info"}),!r.confirmation||r.confirmation.exemptions&&r.confirmation.exemptions.some((function(t){return t.user===e.user.id}))||confirm(r.confirmation.text||"Are you sure you want to "+r.action+"?"))switch(r.action){case"more-info":(r.entity||i.entity||i.camera_image)&&(pt(t,"hass-more-info",{entityId:r.entity?r.entity:i.entity?i.entity:i.camera_image}),r.haptic&&ft(r.haptic));break;case"navigate":r.navigation_path&&(function(t,e,i){void 0===i&&(i=!1),i?history.replaceState(null,"",e):history.pushState(null,"",e),pt(window,"location-changed",{replace:i})}(0,r.navigation_path),r.haptic&&ft(r.haptic));break;case"url":r.url_path&&window.open(r.url_path),r.haptic&&ft(r.haptic);break;case"toggle":i.entity&&(bt(e,i.entity),r.haptic&&ft(r.haptic));break;case"call-service":if(!r.service)return;var n=r.service.split(".",2),a=n[0],l=n[1],c=dt({},r.service_data);"entity"===c.entity_id&&(c.entity_id=i.entity),e.callService(a,l,c,r.target),r.haptic&&ft(r.haptic);break;case"fire-dom-event":pt(t,"ll-custom",r),r.haptic&&ft(r.haptic)}};var _t={humidity:"mdi:water-percent",illuminance:"mdi:brightness-5",temperature:"mdi:thermometer",pressure:"mdi:gauge",power:"mdi:flash",signal_strength:"mdi:wifi"},yt={binary_sensor:function(t,e){var i="off"===t;switch(null==e?void 0:e.attributes.device_class){case"battery":return i?"mdi:battery":"mdi:battery-outline";case"battery_charging":return i?"mdi:battery":"mdi:battery-charging";case"cold":return i?"mdi:thermometer":"mdi:snowflake";case"connectivity":return i?"mdi:server-network-off":"mdi:server-network";case"door":return i?"mdi:door-closed":"mdi:door-open";case"garage_door":return i?"mdi:garage":"mdi:garage-open";case"power":case"plug":return i?"mdi:power-plug-off":"mdi:power-plug";case"gas":case"problem":case"safety":case"tamper":return i?"mdi:check-circle":"mdi:alert-circle";case"smoke":return i?"mdi:check-circle":"mdi:smoke";case"heat":return i?"mdi:thermometer":"mdi:fire";case"light":return i?"mdi:brightness-5":"mdi:brightness-7";case"lock":return i?"mdi:lock":"mdi:lock-open";case"moisture":return i?"mdi:water-off":"mdi:water";case"motion":return i?"mdi:walk":"mdi:run";case"occupancy":case"presence":return i?"mdi:home-outline":"mdi:home";case"opening":return i?"mdi:square":"mdi:square-outline";case"running":return i?"mdi:stop":"mdi:play";case"sound":return i?"mdi:music-note-off":"mdi:music-note";case"update":return i?"mdi:package":"mdi:package-up";case"vibration":return i?"mdi:crop-portrait":"mdi:vibrate";case"window":return i?"mdi:window-closed":"mdi:window-open";default:return i?"mdi:radiobox-blank":"mdi:checkbox-marked-circle"}},cover:function(t){var e="closed"!==t.state;switch(t.attributes.device_class){case"garage":return e?"mdi:garage-open":"mdi:garage";case"door":return e?"mdi:door-open":"mdi:door-closed";case"shutter":return e?"mdi:window-shutter-open":"mdi:window-shutter";case"blind":return e?"mdi:blinds-open":"mdi:blinds";case"window":return e?"mdi:window-open":"mdi:window-closed";default:return vt("cover",t.state)}},sensor:function(t){var e=t.attributes.device_class;if(e&&e in _t)return _t[e];if("battery"===e){var i=Number(t.state);if(isNaN(i))return"mdi:battery-unknown";var s=10*Math.round(i/10);return s>=100?"mdi:battery":s<=0?"mdi:battery-alert":"hass:battery-"+s}var o=t.attributes.unit_of_measurement;return"°C"===o||"°F"===o?"mdi:thermometer":vt("sensor")},input_datetime:function(t){return t.attributes.has_date?t.attributes.has_time?vt("input_datetime"):"mdi:calendar":"mdi:clock"}};class $t{#t;#e;#i=0;#s=0;#o=0;#r=0;#n;#a=!1;#l;#c;#d;constructor(t,e,{touchActions:i,stopScrollDirection:s}={}){this.#t=t,this.#e=i,this.#n=e,this.#l=s,this.#c=this.#h.bind(this),this.#d=this.#u.bind(this),this.addListeners()}addListeners(){this.#t.addEventListener("pointerdown",this.#d),this.#t.addEventListener("pointermove",this.#d),this.#t.addEventListener("pointerup",this.#d),this.#t.addEventListener("pointercancel",this.#d),window.addEventListener("touchmove",this.#c,{passive:!1}),this.#e&&(this.#t.style.touchAction=this.#e)}removeListeners(){this.#t.removeEventListener("pointerdown",this.#d),this.#t.removeEventListener("pointermove",this.#d),this.#t.removeEventListener("pointerup",this.#d),this.#t.removeEventListener("pointercancel",this.#d),window.removeEventListener("touchmove",this.#c),this.#e&&(this.#t.style.touchAction=null)}#p(){this.#a=!0}#m(){this.#a=!1}#h(t){this.#a&&t.preventDefault()}#u(t){if("pointerdown"===t.type&&(this.#t.setPointerCapture(t.pointerId),this.#i=t.pageX,this.#s=t.pageY),this.#t.hasPointerCapture(t.pointerId)&&"pointercancel"!==t.type&&"function"==typeof this.#n){const e=t.pageX-this.#i,i=t.pageY-this.#s;"horizontal"===this.#l&&Math.abs(e/i)>1&&this.#p(),"vertical"===this.#l&&Math.abs(e/i)<1&&this.#p(),this.#n(t,{startX:this.#i,startY:this.#s,relativeX:e,relativeY:i,totalX:e+this.#o,totalY:i+this.#r})}"pointerup"===t.type&&(this.#o=+this.#o+t.pageX-this.#i,this.#r=+this.#r+t.pageY-this.#s,this.#t.releasePointerCapture(t.pointerId),this.#m()),"pointercancel"===t.type&&(this.#n(t,{startX:this.#i,startY:this.#s,relativeX:0,relativeY:0,totalX:this.#o,totalY:this.#r}),this.#t.releasePointerCapture(t.pointerId),this.#m())}}const wt="brightness";var At={version:"Version",invalid_configuration:"Invalid configuration",show_warning:"Show Warning",no_entity_set:"Entity not set",no_entity:"Entity not available",on:"On",off:"Off"},St={common:At},Et={version:"Versiunea",invalid_configuration:"Configurație invalidă",show_warning:"Show Warning",no_entity_set:"Entitatea nu e setată",no_entity:"Entitatea nu e disponibilă",on:"Pornit",off:"Oprit"},kt={common:Et};const xt={en:Object.freeze({__proto__:null,common:At,default:St}),ro:Object.freeze({__proto__:null,common:Et,default:kt})};function Tt(t,e="",i=""){const s=(localStorage.getItem("selectedLanguage")||"en").replace(/['"]+/g,"").replace("-","_");let o;try{o=t.split(".").reduce(((t,e)=>t[e]),xt[s])}catch(e){o=t.split(".").reduce(((t,e)=>t[e]),xt.en)}return void 0===o&&(o=t.split(".").reduce(((t,e)=>t[e]),xt.en)),""!==e&&""!==i&&(o=o.replace(e,i)),o}var Pt;console.info(`%c BIG-SLIDER-CARD \n%c ${Tt("common.version")} 1.1.3 `,"color: orange; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray"),window.customCards=null!==(Pt=window.customCards)&&void 0!==Pt?Pt:[],window.customCards.push({type:"big-slider-card",name:"Big Slider Card",description:"Big slider card for light entities."});let Ct=class extends st{static getStubConfig(){return{}}constructor(){super(),this._handleContextMenu=t=>{const e=null!=t?t:window.event;return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0,e.returnValue=!1,!1},this._handlePointer=(t,e)=>{var i;this.mousePos={x:t.pageX,y:t.pageY};const s=null!==(i=this.config.min_slide_time)&&void 0!==i?i:0;if("pointerdown"===t.type&&(this._press(),this.isTap=!0,this.isHold=!1,this.holdTimer=window.setTimeout(this._setHold,this.config.hold_time),this.trackingStartTime=Date.now(),this._resetTrack()),["pointerdown","pointermove","pointerup"].includes(t.type)&&this._updateValue(),"pointermove"===t.type){if(this.isTap&&Math.abs(e.relativeX)<5&&Math.abs(e.relativeY)<5)return;this.isTap=!1,clearTimeout(this.holdTimer),this._stopUpdates()}if("pointercancel"===t.type&&(clearTimeout(this.holdTimer),this._unpress(),this._startUpdates()),"pointerup"===t.type){if(clearTimeout(this.holdTimer),this._unpress(),this._startUpdates(),this.isTap)return void this._handleTap();Date.now()-this.trackingStartTime>s&&(this._setValue(),this._startUpdates(!0))}},this._setHold=()=>{this.isTap=!1,this.isHold=!0,gt(this,this.hass,this.config,!0,!1)},this._handleTap=()=>{var t;clearTimeout(this.holdTimer),(null===(t=this.config)||void 0===t?void 0:t.tap_action)&&(this.isHold||gt(this,this.hass,this.config,!1,!1))},this.mouseStartPos={x:0,y:0},this.mousePos={x:0,y:0},this.containerWidth=0,this.oldValue=0,this.currentValue=30,this.stateObj=null,this.isTap=!1,this.isHold=!1,this.holdTimer=0,this._shouldUpdate=!0,this.updateTimeout=0,this.pressTimeout=0,this.trackingStartTime=0}connectedCallback(){super.connectedCallback(),this.addEventListener("contextmenu",this._handleContextMenu),this.slideGesture=new $t(this,this._handlePointer.bind(this),{touchActions:"pan-y",stopScrollDirection:"horizontal"})}disconnectedCallback(){this.removeEventListener("contextmenu",this._handleContextMenu),this.slideGesture.removeListeners(),super.disconnectedCallback()}_log(t){console.log(`%c BIG-SLIDER-CARD ${this._getName()} %c ${t} `,"color: orange; font-weight: bold; background: black","")}_updateValue(){const t=this.containerWidth,e=this.mousePos.x-this.mouseStartPos.x,i=Math.round(100*e/t);this.currentValue=this.oldValue+i,this._checklimits(),this._updateSlider()}_resetTrack(){this.mouseStartPos={x:this.mousePos.x,y:this.mousePos.y},this.oldValue=this.currentValue}_press(){var t;this.pressTimeout&&clearTimeout(this.pressTimeout),this.pressTimeout=window.setTimeout((()=>this.setAttribute("pressed","")),null!==(t=this.config.min_slide_time)&&void 0!==t?t:0),this.setAttribute("half-pressed","")}_unpress(){this.pressTimeout&&clearTimeout(this.pressTimeout),this.removeAttribute("pressed"),this.removeAttribute("half-pressed")}_checklimits(){var t,e;const i=null!==(t=this.config.min)&&void 0!==t?t:0,s=null!==(e=this.config.max)&&void 0!==e?e:100;this.currentValues&&(this.currentValue=s,this._resetTrack())}_updateSlider(){var t;this.style.setProperty("--bsc-percent",this.currentValue+"%");const e=null===(t=null==this?void 0:this.shadowRoot)||void 0===t?void 0:t.getElementById("percentage");e&&(e.innerText=Math.round(this.currentValue)+"%")}_updateColors(){var t,e,i,s,o;let r="var(--bsc-color)",n="0%",a="50%",l=!1;if(this.stateObj)if("on"==this.stateObj.state){const o=null!==(e=null===(t=this.stateObj.attributes)||void 0===t?void 0:t.rgb_color)&&void 0!==e?e:[255,255,255],c=null!==(s=null===(i=this.stateObj.attributes)||void 0===i?void 0:i.brightness)&&void 0!==s?s:255;l=!0,o&&(r=`rgb(${o.join(",")})`),c&&(n=`${Math.ceil(100*c/255)}%`,a=`${Math.ceil(100*c/510+50)}%`)}else r="var(--bsc-off-color)";const c=null===(o=null==this?void 0:this.shadowRoot)||void 0===o?void 0:o.getElementById("percentage");l||c&&(c.innerText=Tt("common.off")),this.style.setProperty("--bsc-entity-color",r),this.style.setProperty("--bsc-brightness",n),this.style.setProperty("--bsc-brightness-ui",a),this.config.icon_color&&l&&this.style.setProperty("--bsc-icon-color",this.config.icon_color),this.config.icon_color&&!l&&this.style.removeProperty("--bsc-icon-color")}_getValue(){var t,e,i,s,o,r;if(!this._shouldUpdate)return;if(!this.stateObj)return;const n=null!==(e=null===(t=this.config)||void 0===t?void 0:t.attribute)&&void 0!==e?e:wt;let a=0;if("unavailable"==this.stateObj.state?(this.config.min=0,this.config.max=0,this.style.setProperty("--bsc-opacity","0.5")):(this.config.min=this.config.original_min,this.config.max=this.config.original_max,this.style.removeProperty("--bsc-opacity")),"on"!=this.stateObj.state)a=null!==(i=this.config.min)&&void 0!==i?i:0;else switch(n){case"brightness":a=Math.round(100*(null!==(s=this.stateObj.attributes.brightness)&&void 0!==s?s:255)/255);break;case"red":case"green":case"blue":const t=null!==(o=this.stateObj.attributes.rgb_color)&&void 0!==o?o:[255,255,255];"red"===n&&(a=t[0]),"green"===n&&(a=t[1]),"blue"===n&&(a=t[2]),a=Math.ceil(100*a/255);break;case"hue":case"saturation":const e=null!==(r=this.stateObj.attributes.hs_color)&&void 0!==r?r:[100,100];"hue"===n&&(a=e[0]),"saturation"===n&&(a=e[1])}this.currentValue=a,this._updateSlider()}_setValue(){var t,e,i;let s,o=this.currentValue,r=null!==(t=this.config.attribute)&&void 0!==t?t:wt,n=!0;switch(r){case"brightness":o=Math.ceil(o/100*255),o||(n=!1);break;case"red":case"green":case"blue":s=null!==(e=this.stateObj.attributes.rgb_color)&&void 0!==e?e:[255,255,255],"red"===r&&(s[0]=o),"green"===r&&(s[1]=o),"blue"===r&&(s[2]=o),o=s,r="rgb_color";break;case"hue":case"saturation":s=null!==(i=this.stateObj.attributes.hs_color)&&void 0!==i?i:[100,100],"hue"===r&&(s[0]=o),"saturation"===r&&(s[1]=o),o=s,r="hs_color"}const a={entity_id:this.stateObj.entity_id};n?(a[r]=o,this.config.transition&&(a.transition=this.config.transition),this.hass.callService("light","turn_on",a)):this.hass.callService("light","turn_off",a)}setConfig(t){if(!t)throw new Error(Tt("common.invalid_configuration"));if(!t.entity)throw new Error(Tt("common.no_entity_set"));t.test_gui&&function(){var t=document.querySelector("home-assistant");if(t=(t=(t=(t=(t=(t=(t=(t=t&&t.shadowRoot)&&t.querySelector("home-assistant-main"))&&t.shadowRoot)&&t.querySelector("app-drawer-layout partial-panel-resolver"))&&t.shadowRoot||t)&&t.querySelector("ha-panel-lovelace"))&&t.shadowRoot)&&t.querySelector("hui-root")){var e=t.lovelace;return e.current_view=t.___curView,e}return null}().setEditMode(!0),this.config=Object.assign({attribute:wt,tap_action:{action:"toggle",haptic:"light"},hold_time:600,settle_time:3e3,min:0,max:100},t),this.config.original_min=this.config.min,this.config.original_max=this.config.max}_stopUpdates(){var t,e,i;this.updateTimeout&&clearTimeout(this.updateTimeout),this._shouldUpdate&&(null===(i=null===(e=null===(t=this.shadowRoot)||void 0===t?void 0:t.getElementById("slider"))||void 0===e?void 0:e.classList)||void 0===i||i.remove("animate"),this._shouldUpdate=!1)}_startUpdates(t=!1){this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=window.setTimeout((()=>{var t,e,i;this._shouldUpdate=!0,null===(i=null===(e=null===(t=this.shadowRoot)||void 0===t?void 0:t.getElementById("slider"))||void 0===e?void 0:e.classList)||void 0===i||i.add("animate"),this.requestUpdate()}),t?this.config.settle_time:0)}shouldUpdate(t){return!!this.config&&function(t,e,i){if(e.has("config")||i)return!0;if(t.config.entity){var s=e.get("hass");return!s||s.states[t.config.entity]!==t.hass.states[t.config.entity]}return!1}(this,t,!1)}updated(){var t,e,i;this.containerWidth=null!==(i=null===(e=null===(t=this.shadowRoot)||void 0===t?void 0:t.getElementById("container"))||void 0===e?void 0:e.clientWidth)&&void 0!==i?i:0,this._getValue(),this._updateColors()}render(){var t,e,i,s,o;if(this.config||(this.stateObj=null),this.config.entity||(this.stateObj=null),!this.config.entity||!(this.config.entity in this.hass.states))return this.stateObj=null,this._showError(`${Tt("common.no_entity")}: ${this.config.entity}`);this.stateObj=this.config.entity&&this.hass.states[this.config.entity];const r=this._getName(),n=null!==(t=this.config.icon)&&void 0!==t?t:function(t){if(!t)return"mdi:bookmark";if(t.attributes.icon)return t.attributes.icon;var e=ht(t.entity_id);return e in yt?yt[e](t):vt(e,t.state)}(this.stateObj),a=null!==(e=this.config.colorize&&!0)&&void 0!==e&&e,l=null!==(i=this.config.show_percentage&&!0)&&void 0!==i&&i,c=null!==(s=this.config.bold_text&&!0)&&void 0!==s&&s;return this._setStyleProperty("--bsc-background",this.config.background_color),this._setStyleProperty("--bsc-primary-text-color",this.config.text_color),this._setStyleProperty("--bsc-slider-color",this.config.color),this._setStyleProperty("--bsc-border-color",this.config.border_color),this._setStyleProperty("--bsc-border-radius",this.config.border_radius),this._setStyleProperty("--bsc-border-style",this.config.border_style),this._setStyleProperty("--bsc-border-width",this.config.border_width),this._setStyleProperty("--bsc-height",this.config.height,(t=>`${t}px`)),N`