c.0193255c.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import{_ as e,j as a,e as o,y as t,aD as i,k as s,aC as l,d as n,n as r,a5 as c,az as d,ae as h,av as p,af as m,aE as u,aF as f,aG as b,aH as g,N as v,aI as y,I as _,ah as w,aJ as k,aK as $}from"./main-ec7846c8.js";import"./c.eea05cf6.js";import"./c.27e9c060.js";import{g as z}from"./c.f2bb3724.js";import{s as x}from"./c.cb96fbc8.js";e([r("ha-icon-overflow-menu")],(function(e,a){return{F:class extends a{constructor(...a){super(...a),e(this)}},d:[{kind:"field",decorators:[o({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[o({type:Array})],key:"items",value:()=>[]},{kind:"field",decorators:[o({type:Boolean})],key:"narrow",value:()=>!1},{kind:"method",key:"render",value:function(){return t`
  2. ${this.narrow?t` <!-- Collapsed representation for small screens -->
  3. <ha-button-menu
  4. @click=${this._handleIconOverflowMenuOpened}
  5. @closed=${this._handleIconOverflowMenuClosed}
  6. class="ha-icon-overflow-menu-overflow"
  7. corner="BOTTOM_START"
  8. absolute
  9. >
  10. <ha-icon-button
  11. .label=${this.hass.localize("ui.common.overflow_menu")}
  12. .path=${i}
  13. slot="trigger"
  14. ></ha-icon-button>
  15. ${this.items.map((e=>e.divider?t`<li divider role="separator"></li>`:t`<mwc-list-item
  16. graphic="icon"
  17. ?disabled=${e.disabled}
  18. @click=${e.action}
  19. class=${s({warning:Boolean(e.warning)})}
  20. >
  21. <div slot="graphic">
  22. <ha-svg-icon
  23. class=${s({warning:Boolean(e.warning)})}
  24. .path=${e.path}
  25. ></ha-svg-icon>
  26. </div>
  27. ${e.label}
  28. </mwc-list-item> `))}
  29. </ha-button-menu>`:t`
  30. <!-- Icon representation for big screens -->
  31. ${this.items.map((e=>e.narrowOnly?"":e.divider?t`<div role="separator"></div>`:t`<div>
  32. ${e.tooltip?t`<paper-tooltip animation-delay="0" position="left">
  33. ${e.tooltip}
  34. </paper-tooltip>`:""}
  35. <ha-icon-button
  36. @click=${e.action}
  37. .label=${e.label}
  38. .path=${e.path}
  39. ?disabled=${e.disabled}
  40. ></ha-icon-button>
  41. </div> `))}
  42. `}
  43. `}},{kind:"method",key:"_handleIconOverflowMenuOpened",value:function(e){e.stopPropagation();const a=this.closest(".mdc-data-table__row");a&&(a.style.zIndex="1")}},{kind:"method",key:"_handleIconOverflowMenuClosed",value:function(){const e=this.closest(".mdc-data-table__row");e&&(e.style.zIndex="")}},{kind:"get",static:!0,key:"styles",value:function(){return[l,n`
  44. :host {
  45. display: flex;
  46. justify-content: flex-end;
  47. }
  48. li[role="separator"] {
  49. border-bottom-color: var(--divider-color);
  50. }
  51. div[role="separator"] {
  52. border-right: 1px solid var(--divider-color);
  53. width: 1px;
  54. }
  55. `]}}]}}),a);const E=c(((e,a)=>[..."HACS-EXPERIMENTAL-PANEL"===e.nodeName?[{path:d,label:e.hacs.localize("common.show"),action:()=>h(`/hacs/repository/${a.id}`)}]:[],{path:p,label:e.hacs.localize("common.repository"),action:()=>m.open(`https://github.com/${a.full_name}`,"_blank","noreferrer=true")},{path:u,label:e.hacs.localize("repository_card.update_information"),action:async()=>{await f(e.hass,String(a.id))}},...a.installed_version?[{path:b,label:e.hacs.localize("repository_card.redownload"),action:()=>I(e,a.id),hideForUninstalled:!0}]:[],..."plugin"===a.category&&a.installed_version?[{path:g,label:e.hacs.localize("repository_card.open_source"),action:()=>m.open(`/hacsfiles/${a.local_path.split("/").pop()}/${a.file_name}`,"_blank","noreferrer=true")}]:[],{divider:!0},{path:v,label:e.hacs.localize("repository_card.open_issue"),action:()=>m.open(`https://github.com/${a.full_name}/issues`,"_blank","noreferrer=true")},..."172733314"!==a.id&&a.installed_version?[{path:y,label:e.hacs.localize("repository_card.report"),action:()=>m.open(`https://github.com/hacs/integration/issues/new?assignees=ludeeus&labels=flag&template=removal.yml&repo=${a.full_name}&title=Request for removal of ${a.full_name}`,"_blank","noreferrer=true"),warning:!0},{path:_,label:e.hacs.localize("common.remove"),action:async()=>{if("integration"===a.category&&a.config_flow){if((await z(e.hass)).some((e=>e.domain===a.domain))){if(await x(e,{title:e.hacs.localize("dialog.configured.title"),text:e.hacs.localize("dialog.configured.message",{name:a.name}),dismissText:e.hacs.localize("common.ignore"),confirmText:e.hacs.localize("common.navigate"),confirm:()=>{h("/config/integrations",{replace:!0})}}))return}}e.dispatchEvent(new CustomEvent("hacs-dialog",{detail:{type:"progress",title:e.hacs.localize("dialog.remove.title"),confirmText:e.hacs.localize("dialog.remove.title"),content:e.hacs.localize("dialog.remove.message",{name:a.name}),confirm:async()=>{await O(e,a)}},bubbles:!0,composed:!0}))},warning:!0}]:[]])),I=(e,a)=>{e.dispatchEvent(new CustomEvent("hacs-dialog",{detail:{type:"download",repository:a},bubbles:!0,composed:!0}))},O=async(e,a)=>{var o;if("plugin"===a.category&&"yaml"!==(null===(o=e.hacs.info)||void 0===o?void 0:o.lovelace_mode)){(await w(e.hass)).filter((e=>e.url.startsWith(`/hacsfiles/${a.full_name.split("/")[1]}/${a.file_name}`))).forEach((async a=>{await k(e.hass,String(a.id))}))}await $(e.hass,String(a.id)),"HACS-REPOSITORY-PANEL"===e.nodeName&&history.back()},C=e=>a=>({kind:"method",placement:"prototype",key:a.key,descriptor:{set(e){this[`__${String(a.key)}`]=e},get(){return this[`__${String(a.key)}`]},enumerable:!0,configurable:!0},finisher(o){const t=o.prototype.connectedCallback;o.prototype.connectedCallback=function(){if(t.call(this),this[a.key]){const o=this.renderRoot.querySelector(e);if(!o)return;o.scrollTop=this[a.key]}}}});export{E as a,C as r};