Brak opisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

circle-sensor-card.js.htm 135KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <link rel="dns-prefetch" href="https://assets-cdn.github.com">
  6. <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com">
  7. <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com">
  8. <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com">
  9. <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com">
  10. <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
  11. <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
  12. <link crossorigin="anonymous" media="all" integrity="sha512-lLo2nlsdl+bHLu6PGvC2j3wfP45RnK4wKQLiPnCDcuXfU38AiD+JCdMywnF3WbJC1jaxe3lAI6AM4uJuMFBLEw==" rel="stylesheet" href="https://assets-cdn.github.com/assets/frameworks-08fc49d3bd2694c870ea23d0906f3610.css" />
  13. <link crossorigin="anonymous" media="all" integrity="sha512-qkjThICsaVKvzH7MwNjTFb9AcEczVn7R5fUYOjyb5XBUctIsq6vRtyBok0kO4loJxqaNr7wnkWlFuV6rxIexlg==" rel="stylesheet" href="https://assets-cdn.github.com/assets/github-349d95b8186d79601a84c61aea15994d.css" />
  14. <link crossorigin="anonymous" media="all" integrity="sha512-PcJMPDRp7jbbEAmTk9kaL2kRQqg69QZ26WsZf07xsPyaipKsi3wVG0805PZNYXxotPDAliKKFvNSQPhD8fp1FQ==" rel="stylesheet" href="https://assets-cdn.github.com/assets/site-50c740d9290419d070dd6213a7cd03b5.css" />
  15. <meta name="viewport" content="width=device-width">
  16. <title>circle-sensor-card/circle-sensor-card.js at master · custom-cards/circle-sensor-card · GitHub</title>
  17. <meta name="description" content="A custom component for displaying sensor values as cards or elements - custom-cards/circle-sensor-card">
  18. <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
  19. <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
  20. <meta property="fb:app_id" content="1401488693436528">
  21. <meta property="og:image" content="https://avatars2.githubusercontent.com/u/40870129?s=400&amp;v=4" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="custom-cards/circle-sensor-card" /><meta property="og:url" content="https://github.com/custom-cards/circle-sensor-card" /><meta property="og:description" content="A custom component for displaying sensor values as cards or elements - custom-cards/circle-sensor-card" />
  22. <link rel="assets" href="https://assets-cdn.github.com/">
  23. <meta name="pjax-timeout" content="1000">
  24. <meta name="request-id" content="D148:0D32:12621BB:25C7070:5C100C43" data-pjax-transient>
  25. <meta name="selected-link" value="repo_source" data-pjax-transient>
  26. <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
  27. <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
  28. <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
  29. <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-dimension-request_id" content="D148:0D32:12621BB:25C7070:5C100C43" /><meta name="octolytics-dimension-region_edge" content="iad" /><meta name="octolytics-dimension-region_render" content="iad" />
  30. <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-pjax-transient="true" />
  31. <meta name="google-analytics" content="UA-3769691-2">
  32. <meta class="js-ga-set" name="dimension1" content="Logged Out">
  33. <meta name="hostname" content="github.com">
  34. <meta name="user-login" content="">
  35. <meta name="expected-hostname" content="github.com">
  36. <meta name="js-proxy-site-detection-payload" content="YzM2ZjA1MGNhNWM0NTY3NWNkNzg4M2EzNjNmZGZjM2QyN2MxMTk4ZWYwMzFkMDBlMTYzMGQ5NTAwZGEzZGJjYXx7InJlbW90ZV9hZGRyZXNzIjoiOTIuMjA5LjE2Ny4yNTEiLCJyZXF1ZXN0X2lkIjoiRDE0ODowRDMyOjEyNjIxQkI6MjVDNzA3MDo1QzEwMEM0MyIsInRpbWVzdGFtcCI6MTU0NDU1NTU4OCwiaG9zdCI6ImdpdGh1Yi5jb20ifQ==">
  37. <meta name="enabled-features" content="DASHBOARD_V2_LAYOUT_OPT_IN,EXPLORE_DISCOVER_REPOSITORIES,UNIVERSE_BANNER,MARKETPLACE_PLAN_RESTRICTION_EDITOR">
  38. <meta name="html-safe-nonce" content="6fe9c89658ea617a3b6c0c39bd96e19dfe7642a6">
  39. <meta http-equiv="x-pjax-version" content="db126e88dcbd892b05eaf334d819421c">
  40. <link href="https://github.com/custom-cards/circle-sensor-card/commits/master.atom" rel="alternate" title="Recent Commits to circle-sensor-card:master" type="application/atom+xml">
  41. <meta name="go-import" content="github.com/custom-cards/circle-sensor-card git https://github.com/custom-cards/circle-sensor-card.git">
  42. <meta name="octolytics-dimension-user_id" content="40870129" /><meta name="octolytics-dimension-user_login" content="custom-cards" /><meta name="octolytics-dimension-repository_id" content="141952963" /><meta name="octolytics-dimension-repository_nwo" content="custom-cards/circle-sensor-card" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="141952963" /><meta name="octolytics-dimension-repository_network_root_nwo" content="custom-cards/circle-sensor-card" /><meta name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" content="false" />
  43. <link rel="canonical" href="https://github.com/custom-cards/circle-sensor-card/blob/master/circle-sensor-card.js" data-pjax-transient>
  44. <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
  45. <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
  46. <link rel="mask-icon" href="https://assets-cdn.github.com/pinned-octocat.svg" color="#000000">
  47. <link rel="icon" type="image/x-icon" class="js-site-favicon" href="https://assets-cdn.github.com/favicon.ico">
  48. <meta name="theme-color" content="#1e2327">
  49. <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
  50. </head>
  51. <body class="logged-out env-production page-blob">
  52. <div class="position-relative js-header-wrapper ">
  53. <a href="#start-of-content" tabindex="1" class="px-2 py-4 bg-blue text-white show-on-focus js-skip-to-content">Skip to content</a>
  54. <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div>
  55. <header class="Header header-logged-out position-relative f4 py-3" role="banner">
  56. <div class="container-lg d-flex px-3">
  57. <div class="d-flex flex-justify-between flex-items-center">
  58. <a class="mr-4" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark; experiment:site_header_dropdowns; group:dropdowns">
  59. <svg height="32" class="octicon octicon-mark-github text-white" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
  60. </a>
  61. </div>
  62. <div class="HeaderMenu HeaderMenu--logged-out d-flex flex-justify-between flex-items-center flex-auto">
  63. <div class="d-none">
  64. <button class="btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false">
  65. <svg height="24" class="octicon octicon-x text-gray" viewBox="0 0 12 16" version="1.1" width="18" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
  66. </button>
  67. </div>
  68. <nav class="mt-0" aria-label="Global">
  69. <ul class="d-flex list-style-none">
  70. <li class=" mr-3 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
  71. <details class="HeaderMenu-details details-overlay details-reset width-full">
  72. <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-inline-block">
  73. Why GitHub?
  74. <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-relative">
  75. <path d="M1,1l6.2,6L13,1"></path>
  76. </svg>
  77. </summary>
  78. <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 mt-0 p-4 left-n4 position-absolute">
  79. <a href="/features" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a>
  80. <ul class="list-style-none f5 pb-3">
  81. <li class="edge-item-fix"><a href="/features/code-review/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code review">Code review</a></li>
  82. <li class="edge-item-fix"><a href="/features/project-management/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Project management">Project management</a></li>
  83. <li class="edge-item-fix"><a href="/features/integrations" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Integrations">Integrations</a></li>
  84. <li class="edge-item-fix"><a href="/features#team-management" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Team management">Team management</a></li>
  85. <li class="edge-item-fix"><a href="/features#social-coding" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Social coding">Social coding</a></li>
  86. <li class="edge-item-fix"><a href="/features#documentation" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Documentation">Documentation</a></li>
  87. <li class="edge-item-fix"><a href="/features#code-hosting" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code hosting">Code hosting</a></li>
  88. </ul>
  89. <ul class="list-style-none mb-0 border-lg-top pt-lg-3">
  90. <li class="edge-item-fix"><a href="/case-studies" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Case studies">Case Studies <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
  91. <li class="edge-item-fix"><a href="/security" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Security">Security <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
  92. </ul>
  93. </div>
  94. </details>
  95. </li>
  96. <li class=" mr-3 mr-lg-3">
  97. <a href="/business" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Business">Business</a>
  98. </li>
  99. <li class=" mr-3 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
  100. <details class="HeaderMenu-details details-overlay details-reset width-full">
  101. <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-inline-block">
  102. Explore
  103. <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-relative">
  104. <path d="M1,1l6.2,6L13,1"></path>
  105. </svg>
  106. </summary>
  107. <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-0 mt-0 p-4 left-n4 position-absolute">
  108. <ul class="list-style-none mb-3">
  109. <li class="edge-item-fix"><a href="/explore" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Explore GitHub <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
  110. </ul>
  111. <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-top pt-3">Learn &amp; contribute</h4>
  112. <ul class="list-style-none mb-3">
  113. <li class="edge-item-fix"><a href="/topics" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Topics">Topics</a></li>
  114. <li class="edge-item-fix"><a href="/collections" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Collections">Collections</a></li>
  115. <li class="edge-item-fix"><a href="/trending" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Trending">Trending</a></li>
  116. <li class="edge-item-fix"><a href="https://lab.github.com/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Learning lab">Learning Lab</a></li>
  117. <li class="edge-item-fix"><a href="https://opensource.guide" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Open source guides">Open source guides</a></li>
  118. </ul>
  119. <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-top pt-3">Connect with others</h4>
  120. <ul class="list-style-none mb-0">
  121. <li class="edge-item-fix"><a href="/events" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Events">Events</a></li>
  122. <li class="edge-item-fix"><a href="https://github.community" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Community forum">Community forum</a></li>
  123. <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to GitHub Education">GitHub Education</a></li>
  124. </ul>
  125. </div>
  126. </details>
  127. </li>
  128. <li class=" mr-3 mr-lg-3">
  129. <a href="/marketplace" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Marketplace">Marketplace</a>
  130. </li>
  131. <li class=" mr-3 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
  132. <details class="HeaderMenu-details details-overlay details-reset width-full">
  133. <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-inline-block">
  134. Pricing
  135. <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-relative">
  136. <path d="M1,1l6.2,6L13,1"></path>
  137. </svg>
  138. </summary>
  139. <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-4 mt-0 p-4 left-n4 position-absolute">
  140. <a href="/pricing" class="pb-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Pricing">Plans <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a>
  141. <ul class="list-style-none mb-3">
  142. <li class="edge-item-fix"><a href="/pricing#feature-comparison" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Compare features">Compare plans</a></li>
  143. <li class="edge-item-fix"><a href="https://enterprise.github.com/contact" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Compare features">Contact Sales</a></li>
  144. </ul>
  145. <ul class="list-style-none mb-0 border-top pt-3">
  146. <li class="edge-item-fix"><a href="/nonprofit" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Nonprofits">Nonprofit <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
  147. <li class="edge-item-fix"><a href="https://education.github.com/discount_requests/new" class="py-2 pb-0 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Education">Education <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
  148. </ul>
  149. </div>
  150. </details>
  151. </li>
  152. </ul>
  153. </nav>
  154. <div class="d-flex flex-items-center px-0 text-center text-left">
  155. <div class="d-lg-flex mr-3">
  156. <div class="header-search scoped-search site-scoped-search js-site-search position-relative js-jump-to"
  157. role="combobox"
  158. aria-owns="jump-to-results"
  159. aria-label="Search or jump to"
  160. aria-haspopup="listbox"
  161. aria-expanded="false"
  162. >
  163. <div class="position-relative">
  164. <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" data-scope-type="Repository" data-scope-id="141952963" data-scoped-search-url="/custom-cards/circle-sensor-card/search" data-unscoped-search-url="/search" action="/custom-cards/circle-sensor-card/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" />
  165. <label class="form-control header-search-wrapper header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center js-chromeless-input-container">
  166. <input type="text"
  167. class="form-control header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable"
  168. data-hotkey="s,/"
  169. name="q"
  170. value=""
  171. placeholder="Search"
  172. data-unscoped-placeholder="Search GitHub"
  173. data-scoped-placeholder="Search"
  174. autocapitalize="off"
  175. aria-autocomplete="list"
  176. aria-controls="jump-to-results"
  177. aria-label="Search"
  178. data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations#csrf-token=8uDnSRMwLgQfeN2uz0Mj0UdT68ixN3CZ+1biDU2YxVBsQxArWjsC/qFonTmg7zw6C1XJ/Fu7Sxhn7OOa5edhOw=="
  179. spellcheck="false"
  180. autocomplete="off"
  181. >
  182. <input type="hidden" class="js-site-search-type-field" name="type" >
  183. <img src="https://assets-cdn.github.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash">
  184. <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
  185. <ul class="d-none js-jump-to-suggestions-template-container">
  186. <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option">
  187. <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="">
  188. <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
  189. <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
  190. <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg>
  191. <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg>
  192. </div>
  193. <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
  194. <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
  195. </div>
  196. <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search">
  197. <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
  198. In this repository
  199. </span>
  200. <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
  201. All GitHub
  202. </span>
  203. <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
  204. </div>
  205. <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
  206. Jump to
  207. <span class="d-inline-block ml-1 v-align-middle">↵</span>
  208. </div>
  209. </a>
  210. </li>
  211. </ul>
  212. <ul class="d-none js-jump-to-no-results-template-container">
  213. <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2">
  214. <span class="text-gray">No suggested jump to results</span>
  215. </li>
  216. </ul>
  217. <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container">
  218. <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option">
  219. <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="">
  220. <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
  221. <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
  222. <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg>
  223. <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg>
  224. </div>
  225. <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
  226. <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
  227. </div>
  228. <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search">
  229. <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
  230. In this repository
  231. </span>
  232. <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
  233. All GitHub
  234. </span>
  235. <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
  236. </div>
  237. <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
  238. Jump to
  239. <span class="d-inline-block ml-1 v-align-middle">↵</span>
  240. </div>
  241. </a>
  242. </li>
  243. <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option">
  244. <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="">
  245. <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
  246. <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
  247. <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg>
  248. <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg>
  249. </div>
  250. <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
  251. <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
  252. </div>
  253. <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search">
  254. <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
  255. In this repository
  256. </span>
  257. <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
  258. All GitHub
  259. </span>
  260. <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
  261. </div>
  262. <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
  263. Jump to
  264. <span class="d-inline-block ml-1 v-align-middle">↵</span>
  265. </div>
  266. </a>
  267. </li>
  268. </ul>
  269. </div>
  270. </label>
  271. </form> </div>
  272. </div>
  273. </div>
  274. <a class="HeaderMenu-link no-underline mr-3" href="/login?return_to=%2Fcustom-cards%2Fcircle-sensor-card%2Fblob%2Fmaster%2Fcircle-sensor-card.js" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign&nbsp;in</a>
  275. <a class="HeaderMenu-link d-inline-block no-underline border border-gray-dark rounded-1 px-2 py-1" href="/join" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign&nbsp;up</a>
  276. </div>
  277. </div>
  278. </div>
  279. </header>
  280. </div>
  281. <div id="start-of-content" class="show-on-focus"></div>
  282. <div id="js-flash-container">
  283. </div>
  284. <div role="main" class="application-main " data-commit-hovercards-enabled>
  285. <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
  286. <div id="js-repo-pjax-container" data-pjax-container >
  287. <div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav ">
  288. <div class="repohead-details-container clearfix container">
  289. <ul class="pagehead-actions">
  290. <li>
  291. <a href="/login?return_to=%2Fcustom-cards%2Fcircle-sensor-card"
  292. class="btn btn-sm btn-with-count tooltipped tooltipped-s"
  293. aria-label="You must be signed in to watch a repository" rel="nofollow">
  294. <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg>
  295. Watch
  296. </a>
  297. <a class="social-count" href="/custom-cards/circle-sensor-card/watchers"
  298. aria-label="5 users are watching this repository">
  299. 5
  300. </a>
  301. </li>
  302. <li>
  303. <a href="/login?return_to=%2Fcustom-cards%2Fcircle-sensor-card"
  304. class="btn btn-sm btn-with-count tooltipped tooltipped-s"
  305. aria-label="You must be signed in to star a repository" rel="nofollow">
  306. <svg class="octicon octicon-star v-align-text-bottom" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"/></svg>
  307. Star
  308. </a>
  309. <a class="social-count js-social-count" href="/custom-cards/circle-sensor-card/stargazers"
  310. aria-label="10 users starred this repository">
  311. 10
  312. </a>
  313. </li>
  314. <li>
  315. <a href="/login?return_to=%2Fcustom-cards%2Fcircle-sensor-card"
  316. class="btn btn-sm btn-with-count tooltipped tooltipped-s"
  317. aria-label="You must be signed in to fork a repository" rel="nofollow">
  318. <svg class="octicon octicon-repo-forked v-align-text-bottom" viewBox="0 0 10 16" version="1.1" width="10" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
  319. Fork
  320. </a>
  321. <a href="/custom-cards/circle-sensor-card/network/members" class="social-count"
  322. aria-label="1 user forked this repository">
  323. 1
  324. </a>
  325. </li>
  326. </ul>
  327. <h1 class="public ">
  328. <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
  329. <span class="author" itemprop="author"><a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/custom-cards/hovercard" href="/custom-cards">custom-cards</a></span><!--
  330. --><span class="path-divider">/</span><!--
  331. --><strong itemprop="name"><a data-pjax="#js-repo-pjax-container" href="/custom-cards/circle-sensor-card">circle-sensor-card</a></strong>
  332. </h1>
  333. </div>
  334. <nav class="reponav js-repo-nav js-sidenav-container-pjax container"
  335. itemscope
  336. itemtype="http://schema.org/BreadcrumbList"
  337. aria-label="Repository"
  338. data-pjax="#js-repo-pjax-container">
  339. <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
  340. <a class="js-selected-navigation-item selected reponav-item" itemprop="url" data-hotkey="g c" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /custom-cards/circle-sensor-card" href="/custom-cards/circle-sensor-card">
  341. <svg class="octicon octicon-code" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg>
  342. <span itemprop="name">Code</span>
  343. <meta itemprop="position" content="1">
  344. </a> </span>
  345. <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
  346. <a itemprop="url" data-hotkey="g i" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /custom-cards/circle-sensor-card/issues" href="/custom-cards/circle-sensor-card/issues">
  347. <svg class="octicon octicon-issue-opened" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg>
  348. <span itemprop="name">Issues</span>
  349. <span class="Counter">4</span>
  350. <meta itemprop="position" content="2">
  351. </a> </span>
  352. <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
  353. <a data-hotkey="g p" itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /custom-cards/circle-sensor-card/pulls" href="/custom-cards/circle-sensor-card/pulls">
  354. <svg class="octicon octicon-git-pull-request" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
  355. <span itemprop="name">Pull requests</span>
  356. <span class="Counter">0</span>
  357. <meta itemprop="position" content="3">
  358. </a> </span>
  359. <a data-hotkey="g b" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /custom-cards/circle-sensor-card/projects" href="/custom-cards/circle-sensor-card/projects">
  360. <svg class="octicon octicon-project" viewBox="0 0 15 16" version="1.1" width="15" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg>
  361. Projects
  362. <span class="Counter" >0</span>
  363. </a>
  364. <a class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors dependency_graph pulse alerts security /custom-cards/circle-sensor-card/pulse" href="/custom-cards/circle-sensor-card/pulse">
  365. <svg class="octicon octicon-graph" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg>
  366. Insights
  367. </a>
  368. </nav>
  369. </div>
  370. <div class="container new-discussion-timeline experiment-repo-nav ">
  371. <div class="repository-content ">
  372. <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/custom-cards/circle-sensor-card/blob/9b3b78c46c9a648aeb94d2e3cb70bc4a86435112/circle-sensor-card.js">Permalink</a>
  373. <!-- blob contrib key: blob_contributors:v21:7413893e37012f609521e0186f81ba89 -->
  374. <div class="signup-prompt-bg rounded-1">
  375. <div class="signup-prompt p-4 text-center mb-4 rounded-1">
  376. <div class="position-relative">
  377. <!-- '"` --><!-- </textarea></xmp> --></option></form><form action="/site/dismiss_signup_prompt" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="authenticity_token" value="EWywQscZnVVsdNNsIKw76sFNK9wIL9Jp5AtFh/ew9gzD6b6DH6E/EcF9Y1M5QsadltTLdxSP6hU20nFGtBBRsQ==" />
  378. <button type="submit" class="position-absolute top-0 right-0 btn-link link-gray" data-ga-click="(Logged out) Sign up prompt, clicked Dismiss, text:dismiss">
  379. Dismiss
  380. </button>
  381. </form> <h3 class="pt-2">Join GitHub today</h3>
  382. <p class="col-6 mx-auto">GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.</p>
  383. <a class="btn btn-primary" href="/join?source=prompt-blob-show" data-ga-click="(Logged out) Sign up prompt, clicked Sign up, text:sign-up">Sign up</a>
  384. </div>
  385. </div>
  386. </div>
  387. <div class="file-navigation">
  388. <div class="select-menu branch-select-menu js-menu-container js-select-menu float-left">
  389. <button class=" btn btn-sm select-menu-button js-menu-target css-truncate" data-hotkey="w"
  390. type="button" aria-label="Switch branches or tags" aria-expanded="false" aria-haspopup="true">
  391. <i>Branch:</i>
  392. <span class="js-select-button css-truncate-target">master</span>
  393. </button>
  394. <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax>
  395. <div class="select-menu-modal">
  396. <div class="select-menu-header">
  397. <svg class="octicon octicon-x js-menu-close" role="img" aria-label="Close" viewBox="0 0 12 16" version="1.1" width="12" height="16"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
  398. <span class="select-menu-title">Switch branches/tags</span>
  399. </div>
  400. <tab-container>
  401. <div class="select-menu-filters">
  402. <div class="select-menu-text-filter">
  403. <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="form-control js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
  404. </div>
  405. <div class="select-menu-tabs" role="tablist">
  406. <ul>
  407. <li class="select-menu-tab">
  408. <button type="button" class="select-menu-tab-nav" data-filter-placeholder="Filter branches/tags" role="tab" aria-selected="true">Branches</button>
  409. </li>
  410. <li class="select-menu-tab">
  411. <button type="button" class="select-menu-tab-nav" data-filter-placeholder="Find a tag…" role="tab">Tags</button>
  412. </li>
  413. </ul>
  414. </div>
  415. </div>
  416. <div class="select-menu-list" role="tabpanel">
  417. <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
  418. <a class="select-menu-item js-navigation-item js-navigation-open selected"
  419. href="/custom-cards/circle-sensor-card/blob/master/circle-sensor-card.js"
  420. data-name="master"
  421. data-skip-pjax="true"
  422. rel="nofollow">
  423. <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
  424. <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
  425. master
  426. </span>
  427. </a>
  428. </div>
  429. <div class="select-menu-no-results">Nothing to show</div>
  430. </div>
  431. <div class="select-menu-list" role="tabpanel" hidden>
  432. <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
  433. <a class="select-menu-item js-navigation-item js-navigation-open "
  434. href="/custom-cards/circle-sensor-card/tree/1.2.0/circle-sensor-card.js"
  435. data-name="1.2.0"
  436. data-skip-pjax="true"
  437. rel="nofollow">
  438. <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
  439. <span class="select-menu-item-text css-truncate-target" title="1.2.0">
  440. 1.2.0
  441. </span>
  442. </a>
  443. <a class="select-menu-item js-navigation-item js-navigation-open "
  444. href="/custom-cards/circle-sensor-card/tree/1.1.0/circle-sensor-card.js"
  445. data-name="1.1.0"
  446. data-skip-pjax="true"
  447. rel="nofollow">
  448. <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
  449. <span class="select-menu-item-text css-truncate-target" title="1.1.0">
  450. 1.1.0
  451. </span>
  452. </a>
  453. <a class="select-menu-item js-navigation-item js-navigation-open "
  454. href="/custom-cards/circle-sensor-card/tree/1.0.0/circle-sensor-card.js"
  455. data-name="1.0.0"
  456. data-skip-pjax="true"
  457. rel="nofollow">
  458. <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg>
  459. <span class="select-menu-item-text css-truncate-target" title="1.0.0">
  460. 1.0.0
  461. </span>
  462. </a>
  463. </div>
  464. <div class="select-menu-no-results">Nothing to show</div>
  465. </div>
  466. </tab-container>
  467. </div>
  468. </div>
  469. </div>
  470. <div class="BtnGroup float-right">
  471. <a href="/custom-cards/circle-sensor-card/find/master"
  472. class="js-pjax-capture-input btn btn-sm BtnGroup-item"
  473. data-pjax
  474. data-hotkey="t">
  475. Find file
  476. </a>
  477. <clipboard-copy for="blob-path" class="btn btn-sm BtnGroup-item">
  478. Copy path
  479. </clipboard-copy>
  480. </div>
  481. <div id="blob-path" class="breadcrumb">
  482. <span class="repo-root js-repo-root"><span class="js-path-segment"><a data-pjax="true" href="/custom-cards/circle-sensor-card"><span>circle-sensor-card</span></a></span></span><span class="separator">/</span><strong class="final-path">circle-sensor-card.js</strong>
  483. </div>
  484. </div>
  485. <div class="commit-tease">
  486. <span class="float-right">
  487. <a class="commit-tease-sha" href="/custom-cards/circle-sensor-card/commit/9b3b78c46c9a648aeb94d2e3cb70bc4a86435112" data-pjax>
  488. 9b3b78c
  489. </a>
  490. <relative-time datetime="2018-08-08T02:36:03Z">Aug 8, 2018</relative-time>
  491. </span>
  492. <div>
  493. <a rel="contributor" data-skip-pjax="true" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=1287159" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/iantrich"><img class="avatar" src="https://avatars1.githubusercontent.com/u/1287159?s=40&amp;v=4" width="20" height="20" alt="@iantrich" /></a>
  494. <a class="user-mention" rel="contributor" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=1287159" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/iantrich">iantrich</a>
  495. <a data-pjax="true" title="Config to specify attribute as max and config to show max value (#8)" class="message" href="/custom-cards/circle-sensor-card/commit/9b3b78c46c9a648aeb94d2e3cb70bc4a86435112">Config to specify attribute as max and config to show max value (</a><a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="348115909" data-permission-text="Issue title is private" data-url="https://github.com/custom-cards/circle-sensor-card/issues/8" data-hovercard-type="pull_request" data-hovercard-url="/custom-cards/circle-sensor-card/pull/8/hovercard" href="https://github.com/custom-cards/circle-sensor-card/pull/8">#8</a><a data-pjax="true" title="Config to specify attribute as max and config to show max value (#8)" class="message" href="/custom-cards/circle-sensor-card/commit/9b3b78c46c9a648aeb94d2e3cb70bc4a86435112">)</a>
  496. </div>
  497. <div class="commit-tease-contributors">
  498. <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark float-left mr-2" id="blob_contributors_box">
  499. <summary class="btn-link" aria-haspopup="dialog" >
  500. <span><strong>2</strong> contributors</span>
  501. </summary>
  502. <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast " aria-label="Users who have contributed to this file">
  503. <div class="Box-header">
  504. <button class="Box-btn-octicon btn-octicon float-right" type="button" aria-label="Close dialog" data-close-dialog>
  505. <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
  506. </button>
  507. <h3 class="Box-title">Users who have contributed to this file</h3>
  508. </div>
  509. <ul class="list-style-none overflow-auto">
  510. <li class="Box-row">
  511. <a class="link-gray-dark no-underline" href="/iantrich">
  512. <img class="avatar mr-2" alt="" src="https://avatars1.githubusercontent.com/u/1287159?s=40&amp;v=4" width="20" height="20" />
  513. iantrich
  514. </a> </li>
  515. <li class="Box-row">
  516. <a class="link-gray-dark no-underline" href="/jeradM">
  517. <img class="avatar mr-2" alt="" src="https://avatars0.githubusercontent.com/u/11150179?s=40&amp;v=4" width="20" height="20" />
  518. jeradM
  519. </a> </li>
  520. </ul>
  521. </details-dialog>
  522. </details>
  523. <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=1287159" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/custom-cards/circle-sensor-card/commits/master/circle-sensor-card.js?author=iantrich">
  524. <img class="avatar" src="https://avatars1.githubusercontent.com/u/1287159?s=40&amp;v=4" width="20" height="20" alt="@iantrich" />
  525. </a> <a class="avatar-link" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=11150179" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/custom-cards/circle-sensor-card/commits/master/circle-sensor-card.js?author=jeradM">
  526. <img class="avatar" src="https://avatars0.githubusercontent.com/u/11150179?s=40&amp;v=4" width="20" height="20" alt="@jeradM" />
  527. </a>
  528. </div>
  529. </div>
  530. <div class="file ">
  531. <div class="file-header">
  532. <div class="file-actions">
  533. <div class="BtnGroup">
  534. <a id="raw-url" class="btn btn-sm BtnGroup-item" href="/custom-cards/circle-sensor-card/raw/master/circle-sensor-card.js">Raw</a>
  535. <a class="btn btn-sm js-update-url-with-hash BtnGroup-item" data-hotkey="b" href="/custom-cards/circle-sensor-card/blame/master/circle-sensor-card.js">Blame</a>
  536. <a rel="nofollow" class="btn btn-sm BtnGroup-item" href="/custom-cards/circle-sensor-card/commits/master/circle-sensor-card.js">History</a>
  537. </div>
  538. <a class="btn-octicon tooltipped tooltipped-nw"
  539. href="https://desktop.github.com"
  540. aria-label="Open this file in GitHub Desktop"
  541. data-ga-click="Repository, open with desktop, type:windows">
  542. <svg class="octicon octicon-device-desktop" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M15 2H1c-.55 0-1 .45-1 1v9c0 .55.45 1 1 1h5.34c-.25.61-.86 1.39-2.34 2h8c-1.48-.61-2.09-1.39-2.34-2H15c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm0 9H1V3h14v8z"/></svg>
  543. </a>
  544. <button type="button" class="btn-octicon disabled tooltipped tooltipped-nw"
  545. aria-label="You must be signed in to make or propose changes">
  546. <svg class="octicon octicon-pencil" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 12v3h3l8-8-3-3-8 8zm3 2H1v-2h1v1h1v1zm10.3-9.3L12 6 9 3l1.3-1.3a.996.996 0 0 1 1.41 0l1.59 1.59c.39.39.39 1.02 0 1.41z"/></svg>
  547. </button>
  548. <button type="button" class="btn-octicon btn-octicon-danger disabled tooltipped tooltipped-nw"
  549. aria-label="You must be signed in to make or propose changes">
  550. <svg class="octicon octicon-trashcan" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 2H9c0-.55-.45-1-1-1H5c-.55 0-1 .45-1 1H2c-.55 0-1 .45-1 1v1c0 .55.45 1 1 1v9c0 .55.45 1 1 1h7c.55 0 1-.45 1-1V5c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm-1 12H3V5h1v8h1V5h1v8h1V5h1v8h1V5h1v9zm1-10H2V3h9v1z"/></svg>
  551. </button>
  552. </div>
  553. <div class="file-info">
  554. 250 lines (220 sloc)
  555. <span class="file-info-divider"></span>
  556. 6.74 KB
  557. </div>
  558. </div>
  559. <div itemprop="text" class="blob-wrapper data type-javascript ">
  560. <table class="highlight tab-size js-file-line-container" data-tab-size="8">
  561. <tr>
  562. <td id="L1" class="blob-num js-line-number" data-line-number="1"></td>
  563. <td id="LC1" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> {</td>
  564. </tr>
  565. <tr>
  566. <td id="L2" class="blob-num js-line-number" data-line-number="2"></td>
  567. <td id="LC2" class="blob-code blob-code-inner js-file-line"> <span class="pl-smi">LitElement</span>, <span class="pl-smi">html</span></td>
  568. </tr>
  569. <tr>
  570. <td id="L3" class="blob-num js-line-number" data-line-number="3"></td>
  571. <td id="LC3" class="blob-code blob-code-inner js-file-line">} <span class="pl-k">from</span> <span class="pl-s"><span class="pl-pds">&#39;</span>https://unpkg.com/@polymer/lit-element@^0.5.2/lit-element.js?module<span class="pl-pds">&#39;</span></span>;</td>
  572. </tr>
  573. <tr>
  574. <td id="L4" class="blob-num js-line-number" data-line-number="4"></td>
  575. <td id="LC4" class="blob-code blob-code-inner js-file-line">
  576. </td>
  577. </tr>
  578. <tr>
  579. <td id="L5" class="blob-num js-line-number" data-line-number="5"></td>
  580. <td id="LC5" class="blob-code blob-code-inner js-file-line"><span class="pl-k">class</span> <span class="pl-en">CircleSensorCard</span> <span class="pl-k">extends</span> <span class="pl-e">LitElement</span> {</td>
  581. </tr>
  582. <tr>
  583. <td id="L6" class="blob-num js-line-number" data-line-number="6"></td>
  584. <td id="LC6" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">static</span> <span class="pl-k">get</span> <span class="pl-en">properties</span>() {</td>
  585. </tr>
  586. <tr>
  587. <td id="L7" class="blob-num js-line-number" data-line-number="7"></td>
  588. <td id="LC7" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> {</td>
  589. </tr>
  590. <tr>
  591. <td id="L8" class="blob-num js-line-number" data-line-number="8"></td>
  592. <td id="LC8" class="blob-code blob-code-inner js-file-line"> hass<span class="pl-k">:</span> <span class="pl-c1">Object</span>,</td>
  593. </tr>
  594. <tr>
  595. <td id="L9" class="blob-num js-line-number" data-line-number="9"></td>
  596. <td id="LC9" class="blob-code blob-code-inner js-file-line"> config<span class="pl-k">:</span> <span class="pl-c1">Object</span>,</td>
  597. </tr>
  598. <tr>
  599. <td id="L10" class="blob-num js-line-number" data-line-number="10"></td>
  600. <td id="LC10" class="blob-code blob-code-inner js-file-line"> state<span class="pl-k">:</span> <span class="pl-c1">Object</span>,</td>
  601. </tr>
  602. <tr>
  603. <td id="L11" class="blob-num js-line-number" data-line-number="11"></td>
  604. <td id="LC11" class="blob-code blob-code-inner js-file-line"> dashArray<span class="pl-k">:</span> <span class="pl-c1">String</span></td>
  605. </tr>
  606. <tr>
  607. <td id="L12" class="blob-num js-line-number" data-line-number="12"></td>
  608. <td id="LC12" class="blob-code blob-code-inner js-file-line"> }</td>
  609. </tr>
  610. <tr>
  611. <td id="L13" class="blob-num js-line-number" data-line-number="13"></td>
  612. <td id="LC13" class="blob-code blob-code-inner js-file-line"> }</td>
  613. </tr>
  614. <tr>
  615. <td id="L14" class="blob-num js-line-number" data-line-number="14"></td>
  616. <td id="LC14" class="blob-code blob-code-inner js-file-line">
  617. </td>
  618. </tr>
  619. <tr>
  620. <td id="L15" class="blob-num js-line-number" data-line-number="15"></td>
  621. <td id="LC15" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">_render</span>({ state, dashArray, config }) {</td>
  622. </tr>
  623. <tr>
  624. <td id="L16" class="blob-num js-line-number" data-line-number="16"></td>
  625. <td id="LC16" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-s"><span class="pl-en">html</span><span class="pl-pds">`</span></span></td>
  626. </tr>
  627. <tr>
  628. <td id="L17" class="blob-num js-line-number" data-line-number="17"></td>
  629. <td id="LC17" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;<span class="pl-ent">style</span>&gt;<span class="pl-s1"></span></span></td>
  630. </tr>
  631. <tr>
  632. <td id="L18" class="blob-num js-line-number" data-line-number="18"></td>
  633. <td id="LC18" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-e">:host</span> {</span></span></td>
  634. </tr>
  635. <tr>
  636. <td id="L19" class="blob-num js-line-number" data-line-number="19"></td>
  637. <td id="LC19" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">cursor</span></span>: <span class="pl-c1">pointer</span>;</span></span></td>
  638. </tr>
  639. <tr>
  640. <td id="L20" class="blob-num js-line-number" data-line-number="20"></td>
  641. <td id="LC20" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> }</span></span></td>
  642. </tr>
  643. <tr>
  644. <td id="L21" class="blob-num js-line-number" data-line-number="21"></td>
  645. <td id="LC21" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"></span></span></td>
  646. </tr>
  647. <tr>
  648. <td id="L22" class="blob-num js-line-number" data-line-number="22"></td>
  649. <td id="LC22" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-e">.container</span> {</span></span></td>
  650. </tr>
  651. <tr>
  652. <td id="L23" class="blob-num js-line-number" data-line-number="23"></td>
  653. <td id="LC23" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">position</span></span>: <span class="pl-c1">relative</span>;</span></span></td>
  654. </tr>
  655. <tr>
  656. <td id="L24" class="blob-num js-line-number" data-line-number="24"></td>
  657. <td id="LC24" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">height</span></span>: <span class="pl-c1">100<span class="pl-k">%</span></span>;</span></span></td>
  658. </tr>
  659. <tr>
  660. <td id="L25" class="blob-num js-line-number" data-line-number="25"></td>
  661. <td id="LC25" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">display</span></span>: <span class="pl-c1">flex</span>;</span></span></td>
  662. </tr>
  663. <tr>
  664. <td id="L26" class="blob-num js-line-number" data-line-number="26"></td>
  665. <td id="LC26" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">flex-direction</span></span>: <span class="pl-c1">column</span>;</span></span></td>
  666. </tr>
  667. <tr>
  668. <td id="L27" class="blob-num js-line-number" data-line-number="27"></td>
  669. <td id="LC27" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> }</span></span></td>
  670. </tr>
  671. <tr>
  672. <td id="L28" class="blob-num js-line-number" data-line-number="28"></td>
  673. <td id="LC28" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"></span></span></td>
  674. </tr>
  675. <tr>
  676. <td id="L29" class="blob-num js-line-number" data-line-number="29"></td>
  677. <td id="LC29" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-e">.labelContainer</span> {</span></span></td>
  678. </tr>
  679. <tr>
  680. <td id="L30" class="blob-num js-line-number" data-line-number="30"></td>
  681. <td id="LC30" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">position</span></span>: <span class="pl-c1">absolute</span>;</span></span></td>
  682. </tr>
  683. <tr>
  684. <td id="L31" class="blob-num js-line-number" data-line-number="31"></td>
  685. <td id="LC31" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">top</span></span>: <span class="pl-c1">0</span>;</span></span></td>
  686. </tr>
  687. <tr>
  688. <td id="L32" class="blob-num js-line-number" data-line-number="32"></td>
  689. <td id="LC32" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">left</span></span>: <span class="pl-c1">0</span>;</span></span></td>
  690. </tr>
  691. <tr>
  692. <td id="L33" class="blob-num js-line-number" data-line-number="33"></td>
  693. <td id="LC33" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">width</span></span>: <span class="pl-c1">100<span class="pl-k">%</span></span>;</span></span></td>
  694. </tr>
  695. <tr>
  696. <td id="L34" class="blob-num js-line-number" data-line-number="34"></td>
  697. <td id="LC34" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">height</span></span>: <span class="pl-c1">100<span class="pl-k">%</span></span>;</span></span></td>
  698. </tr>
  699. <tr>
  700. <td id="L35" class="blob-num js-line-number" data-line-number="35"></td>
  701. <td id="LC35" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">display</span></span>: <span class="pl-c1">flex</span>;</span></span></td>
  702. </tr>
  703. <tr>
  704. <td id="L36" class="blob-num js-line-number" data-line-number="36"></td>
  705. <td id="LC36" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">flex-direction</span></span>: <span class="pl-c1">column</span>;</span></span></td>
  706. </tr>
  707. <tr>
  708. <td id="L37" class="blob-num js-line-number" data-line-number="37"></td>
  709. <td id="LC37" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">align-items</span></span>: <span class="pl-c1">center</span>;</span></span></td>
  710. </tr>
  711. <tr>
  712. <td id="L38" class="blob-num js-line-number" data-line-number="38"></td>
  713. <td id="LC38" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">justify-content</span></span>: <span class="pl-c1">center</span>;</span></span></td>
  714. </tr>
  715. <tr>
  716. <td id="L39" class="blob-num js-line-number" data-line-number="39"></td>
  717. <td id="LC39" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> }</span></span></td>
  718. </tr>
  719. <tr>
  720. <td id="L40" class="blob-num js-line-number" data-line-number="40"></td>
  721. <td id="LC40" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> </span></span></td>
  722. </tr>
  723. <tr>
  724. <td id="L41" class="blob-num js-line-number" data-line-number="41"></td>
  725. <td id="LC41" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-e">#label</span> {</span></span></td>
  726. </tr>
  727. <tr>
  728. <td id="L42" class="blob-num js-line-number" data-line-number="42"></td>
  729. <td id="LC42" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">display</span></span>: <span class="pl-c1">flex</span>;</span></span></td>
  730. </tr>
  731. <tr>
  732. <td id="L43" class="blob-num js-line-number" data-line-number="43"></td>
  733. <td id="LC43" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">line-height</span></span>: <span class="pl-c1">1</span>;</span></span></td>
  734. </tr>
  735. <tr>
  736. <td id="L44" class="blob-num js-line-number" data-line-number="44"></td>
  737. <td id="LC44" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> }</span></span></td>
  738. </tr>
  739. <tr>
  740. <td id="L45" class="blob-num js-line-number" data-line-number="45"></td>
  741. <td id="LC45" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> </span></span></td>
  742. </tr>
  743. <tr>
  744. <td id="L46" class="blob-num js-line-number" data-line-number="46"></td>
  745. <td id="LC46" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-e">#label</span><span class="pl-e">.bold</span> {</span></span></td>
  746. </tr>
  747. <tr>
  748. <td id="L47" class="blob-num js-line-number" data-line-number="47"></td>
  749. <td id="LC47" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">font-weight</span></span>: <span class="pl-c1">bold</span>;</span></span></td>
  750. </tr>
  751. <tr>
  752. <td id="L48" class="blob-num js-line-number" data-line-number="48"></td>
  753. <td id="LC48" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> }</span></span></td>
  754. </tr>
  755. <tr>
  756. <td id="L49" class="blob-num js-line-number" data-line-number="49"></td>
  757. <td id="LC49" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> </span></span></td>
  758. </tr>
  759. <tr>
  760. <td id="L50" class="blob-num js-line-number" data-line-number="50"></td>
  761. <td id="LC50" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-e">#label</span>, <span class="pl-e">#name</span> {</span></span></td>
  762. </tr>
  763. <tr>
  764. <td id="L51" class="blob-num js-line-number" data-line-number="51"></td>
  765. <td id="LC51" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">margin</span></span>: <span class="pl-c1">1<span class="pl-k">%</span></span> <span class="pl-c1">0</span>;</span></span></td>
  766. </tr>
  767. <tr>
  768. <td id="L52" class="blob-num js-line-number" data-line-number="52"></td>
  769. <td id="LC52" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> }</span></span></td>
  770. </tr>
  771. <tr>
  772. <td id="L53" class="blob-num js-line-number" data-line-number="53"></td>
  773. <td id="LC53" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"></span></span></td>
  774. </tr>
  775. <tr>
  776. <td id="L54" class="blob-num js-line-number" data-line-number="54"></td>
  777. <td id="LC54" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-e">.text</span>, <span class="pl-e">#name</span> {</span></span></td>
  778. </tr>
  779. <tr>
  780. <td id="L55" class="blob-num js-line-number" data-line-number="55"></td>
  781. <td id="LC55" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">font-size</span></span>: <span class="pl-c1">100<span class="pl-k">%</span></span>;</span></span></td>
  782. </tr>
  783. <tr>
  784. <td id="L56" class="blob-num js-line-number" data-line-number="56"></td>
  785. <td id="LC56" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> }</span></span></td>
  786. </tr>
  787. <tr>
  788. <td id="L57" class="blob-num js-line-number" data-line-number="57"></td>
  789. <td id="LC57" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> </span></span></td>
  790. </tr>
  791. <tr>
  792. <td id="L58" class="blob-num js-line-number" data-line-number="58"></td>
  793. <td id="LC58" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-e">.unit</span> {</span></span></td>
  794. </tr>
  795. <tr>
  796. <td id="L59" class="blob-num js-line-number" data-line-number="59"></td>
  797. <td id="LC59" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-c1"><span class="pl-c1">font-size</span></span>: <span class="pl-c1">75<span class="pl-k">%</span></span>;</span></span></td>
  798. </tr>
  799. <tr>
  800. <td id="L60" class="blob-num js-line-number" data-line-number="60"></td>
  801. <td id="LC60" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> }</span></span></td>
  802. </tr>
  803. <tr>
  804. <td id="L61" class="blob-num js-line-number" data-line-number="61"></td>
  805. <td id="LC61" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"></span></span></td>
  806. </tr>
  807. <tr>
  808. <td id="L62" class="blob-num js-line-number" data-line-number="62"></td>
  809. <td id="LC62" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> </span>&lt;/<span class="pl-ent">style</span>&gt;</span></td>
  810. </tr>
  811. <tr>
  812. <td id="L63" class="blob-num js-line-number" data-line-number="63"></td>
  813. <td id="LC63" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;<span class="pl-ent">div</span> <span class="pl-e">class</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>container<span class="pl-pds">&quot;</span></span> <span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>container<span class="pl-pds">&quot;</span></span> <span class="pl-e">on-click</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>${() =&gt; this._click()}<span class="pl-pds">&quot;</span></span>&gt;</span></td>
  814. </tr>
  815. <tr>
  816. <td id="L64" class="blob-num js-line-number" data-line-number="64"></td>
  817. <td id="LC64" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;<span class="pl-ent">svg</span> <span class="pl-e">viewbox</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>0 0 200 200<span class="pl-pds">&quot;</span></span> <span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>svg<span class="pl-pds">&quot;</span></span>&gt;</span></td>
  818. </tr>
  819. <tr>
  820. <td id="L65" class="blob-num js-line-number" data-line-number="65"></td>
  821. <td id="LC65" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;<span class="pl-ent">circle</span> <span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>circle<span class="pl-pds">&quot;</span></span> <span class="pl-e">cx</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>50%<span class="pl-pds">&quot;</span></span> <span class="pl-e">cy</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>50%<span class="pl-pds">&quot;</span></span> <span class="pl-e">r</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>45%<span class="pl-pds">&quot;</span></span></span></td>
  822. </tr>
  823. <tr>
  824. <td id="L66" class="blob-num js-line-number" data-line-number="66"></td>
  825. <td id="LC66" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> <span class="pl-e">fill$</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>${config.fill || &#39;rgba(255, 255, 255, .75)&#39;}<span class="pl-pds">&quot;</span></span></span></td>
  826. </tr>
  827. <tr>
  828. <td id="L67" class="blob-num js-line-number" data-line-number="67"></td>
  829. <td id="LC67" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> <span class="pl-e">stroke$</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>${config.stroke_color || &#39;#03a9f4&#39;}<span class="pl-pds">&quot;</span></span></span></td>
  830. </tr>
  831. <tr>
  832. <td id="L68" class="blob-num js-line-number" data-line-number="68"></td>
  833. <td id="LC68" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> <span class="pl-e">stroke-dasharray$</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>${dashArray}<span class="pl-pds">&quot;</span></span></span></td>
  834. </tr>
  835. <tr>
  836. <td id="L69" class="blob-num js-line-number" data-line-number="69"></td>
  837. <td id="LC69" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> <span class="pl-e">stroke-width$</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>${config.stroke_width || 6}<span class="pl-pds">&quot;</span></span> </span></td>
  838. </tr>
  839. <tr>
  840. <td id="L70" class="blob-num js-line-number" data-line-number="70"></td>
  841. <td id="LC70" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> <span class="pl-e">transform</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>rotate(-90 100 100)<span class="pl-pds">&quot;</span></span>/&gt;</span></td>
  842. </tr>
  843. <tr>
  844. <td id="L71" class="blob-num js-line-number" data-line-number="71"></td>
  845. <td id="LC71" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;/<span class="pl-ent">svg</span>&gt;</span></td>
  846. </tr>
  847. <tr>
  848. <td id="L72" class="blob-num js-line-number" data-line-number="72"></td>
  849. <td id="LC72" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;<span class="pl-ent">span</span> <span class="pl-e">class</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>labelContainer<span class="pl-pds">&quot;</span></span>&gt;</span></td>
  850. </tr>
  851. <tr>
  852. <td id="L73" class="blob-num js-line-number" data-line-number="73"></td>
  853. <td id="LC73" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> <span class="pl-s1"><span class="pl-pse">${</span><span class="pl-smi">config</span>.<span class="pl-c1">name</span> <span class="pl-k">!=</span> <span class="pl-c1">null</span> <span class="pl-k">?</span> <span class="pl-s"><span class="pl-en">html</span><span class="pl-pds">`</span>&lt;<span class="pl-ent">span</span> <span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>name<span class="pl-pds">&quot;</span></span>&gt;<span class="pl-s1"><span class="pl-pse">${</span><span class="pl-smi">config</span>.<span class="pl-c1">name</span><span class="pl-pse">}</span></span>&lt;/<span class="pl-ent">span</span>&gt;<span class="pl-pds">`</span></span> <span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">&#39;</span><span class="pl-pds">&#39;</span></span><span class="pl-pse">}</span></span></span></td>
  854. </tr>
  855. <tr>
  856. <td id="L74" class="blob-num js-line-number" data-line-number="74"></td>
  857. <td id="LC74" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;<span class="pl-ent">span</span> <span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>label<span class="pl-pds">&quot;</span></span> <span class="pl-e">class$</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>${!!config.name ? &#39;bold&#39; : &#39;&#39;}<span class="pl-pds">&quot;</span></span>&gt;</span></td>
  858. </tr>
  859. <tr>
  860. <td id="L75" class="blob-num js-line-number" data-line-number="75"></td>
  861. <td id="LC75" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;<span class="pl-ent">span</span> <span class="pl-e">class</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>text<span class="pl-pds">&quot;</span></span>&gt;</span></td>
  862. </tr>
  863. <tr>
  864. <td id="L76" class="blob-num js-line-number" data-line-number="76"></td>
  865. <td id="LC76" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> <span class="pl-s1"><span class="pl-pse">${</span><span class="pl-smi">config</span>.<span class="pl-smi">attribute</span> <span class="pl-k">?</span> <span class="pl-smi">state</span>.<span class="pl-c1">attributes</span>[<span class="pl-smi">config</span>.<span class="pl-smi">attribute</span>] <span class="pl-k">:</span> <span class="pl-smi">state</span>.<span class="pl-smi">state</span><span class="pl-pse">}</span></span></span></td>
  866. </tr>
  867. <tr>
  868. <td id="L77" class="blob-num js-line-number" data-line-number="77"></td>
  869. <td id="LC77" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;/<span class="pl-ent">span</span>&gt;</span></td>
  870. </tr>
  871. <tr>
  872. <td id="L78" class="blob-num js-line-number" data-line-number="78"></td>
  873. <td id="LC78" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;<span class="pl-ent">span</span> <span class="pl-e">class</span>=<span class="pl-s"><span class="pl-pds">&quot;</span>unit<span class="pl-pds">&quot;</span></span>&gt;</span></td>
  874. </tr>
  875. <tr>
  876. <td id="L79" class="blob-num js-line-number" data-line-number="79"></td>
  877. <td id="LC79" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> <span class="pl-s1"><span class="pl-pse">${</span><span class="pl-smi">config</span>.<span class="pl-smi">show_max</span></span></span></td>
  878. </tr>
  879. <tr>
  880. <td id="L80" class="blob-num js-line-number" data-line-number="80"></td>
  881. <td id="LC80" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-k">?</span> <span class="pl-s"><span class="pl-en">html</span><span class="pl-pds">`</span>&amp;nbsp/ <span class="pl-s1"><span class="pl-pse">${</span><span class="pl-smi">config</span>.<span class="pl-smi">attribute_max</span> <span class="pl-k">?</span> <span class="pl-smi">state</span>.<span class="pl-c1">attributes</span>[<span class="pl-smi">config</span>.<span class="pl-smi">attribute_max</span>] <span class="pl-k">:</span> <span class="pl-smi">config</span>.<span class="pl-smi">max</span><span class="pl-pse">}</span></span><span class="pl-pds">`</span></span></span></span></td>
  882. </tr>
  883. <tr>
  884. <td id="L81" class="blob-num js-line-number" data-line-number="81"></td>
  885. <td id="LC81" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-s1"> <span class="pl-k">:</span> (<span class="pl-smi">config</span>.<span class="pl-smi">units</span> <span class="pl-k">?</span> <span class="pl-smi">config</span>.<span class="pl-smi">units</span> <span class="pl-k">:</span> <span class="pl-smi">state</span>.<span class="pl-c1">attributes</span>.<span class="pl-smi">unit_of_measurement</span>)<span class="pl-pse">}</span></span></span></td>
  886. </tr>
  887. <tr>
  888. <td id="L82" class="blob-num js-line-number" data-line-number="82"></td>
  889. <td id="LC82" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;/<span class="pl-ent">span</span>&gt;</span></td>
  890. </tr>
  891. <tr>
  892. <td id="L83" class="blob-num js-line-number" data-line-number="83"></td>
  893. <td id="LC83" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;/<span class="pl-ent">span</span>&gt;</span></td>
  894. </tr>
  895. <tr>
  896. <td id="L84" class="blob-num js-line-number" data-line-number="84"></td>
  897. <td id="LC84" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;/<span class="pl-ent">span</span>&gt;</span></td>
  898. </tr>
  899. <tr>
  900. <td id="L85" class="blob-num js-line-number" data-line-number="85"></td>
  901. <td id="LC85" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> &lt;/<span class="pl-ent">div</span>&gt;</span></td>
  902. </tr>
  903. <tr>
  904. <td id="L86" class="blob-num js-line-number" data-line-number="86"></td>
  905. <td id="LC86" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> <span class="pl-pds">`</span></span>;</td>
  906. </tr>
  907. <tr>
  908. <td id="L87" class="blob-num js-line-number" data-line-number="87"></td>
  909. <td id="LC87" class="blob-code blob-code-inner js-file-line"> }</td>
  910. </tr>
  911. <tr>
  912. <td id="L88" class="blob-num js-line-number" data-line-number="88"></td>
  913. <td id="LC88" class="blob-code blob-code-inner js-file-line">
  914. </td>
  915. </tr>
  916. <tr>
  917. <td id="L89" class="blob-num js-line-number" data-line-number="89"></td>
  918. <td id="LC89" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">_createRoot</span>() {</td>
  919. </tr>
  920. <tr>
  921. <td id="L90" class="blob-num js-line-number" data-line-number="90"></td>
  922. <td id="LC90" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">shadow</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-en">attachShadow</span>({ mode<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">&#39;</span>open<span class="pl-pds">&#39;</span></span> })</td>
  923. </tr>
  924. <tr>
  925. <td id="L91" class="blob-num js-line-number" data-line-number="91"></td>
  926. <td id="LC91" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-k">!</span><span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">show_card</span>) {</td>
  927. </tr>
  928. <tr>
  929. <td id="L92" class="blob-num js-line-number" data-line-number="92"></td>
  930. <td id="LC92" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> shadow;</td>
  931. </tr>
  932. <tr>
  933. <td id="L93" class="blob-num js-line-number" data-line-number="93"></td>
  934. <td id="LC93" class="blob-code blob-code-inner js-file-line"> }</td>
  935. </tr>
  936. <tr>
  937. <td id="L94" class="blob-num js-line-number" data-line-number="94"></td>
  938. <td id="LC94" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">card</span> <span class="pl-k">=</span> <span class="pl-c1">document</span>.<span class="pl-c1">createElement</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>ha-card<span class="pl-pds">&#39;</span></span>);</td>
  939. </tr>
  940. <tr>
  941. <td id="L95" class="blob-num js-line-number" data-line-number="95"></td>
  942. <td id="LC95" class="blob-code blob-code-inner js-file-line"> <span class="pl-smi">shadow</span>.<span class="pl-c1">appendChild</span>(card);</td>
  943. </tr>
  944. <tr>
  945. <td id="L96" class="blob-num js-line-number" data-line-number="96"></td>
  946. <td id="LC96" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> card;</td>
  947. </tr>
  948. <tr>
  949. <td id="L97" class="blob-num js-line-number" data-line-number="97"></td>
  950. <td id="LC97" class="blob-code blob-code-inner js-file-line"> }</td>
  951. </tr>
  952. <tr>
  953. <td id="L98" class="blob-num js-line-number" data-line-number="98"></td>
  954. <td id="LC98" class="blob-code blob-code-inner js-file-line">
  955. </td>
  956. </tr>
  957. <tr>
  958. <td id="L99" class="blob-num js-line-number" data-line-number="99"></td>
  959. <td id="LC99" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">_didRender</span>() {</td>
  960. </tr>
  961. <tr>
  962. <td id="L100" class="blob-num js-line-number" data-line-number="100"></td>
  963. <td id="LC100" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">this</span>.<span class="pl-smi">circle</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-smi">_root</span>.<span class="pl-c1">querySelector</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>#circle<span class="pl-pds">&#39;</span></span>);</td>
  964. </tr>
  965. <tr>
  966. <td id="L101" class="blob-num js-line-number" data-line-number="101"></td>
  967. <td id="LC101" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-c1">this</span>.<span class="pl-smi">config</span>) {</td>
  968. </tr>
  969. <tr>
  970. <td id="L102" class="blob-num js-line-number" data-line-number="102"></td>
  971. <td id="LC102" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">this</span>.<span class="pl-en">_updateConfig</span>();</td>
  972. </tr>
  973. <tr>
  974. <td id="L103" class="blob-num js-line-number" data-line-number="103"></td>
  975. <td id="LC103" class="blob-code blob-code-inner js-file-line"> }</td>
  976. </tr>
  977. <tr>
  978. <td id="L104" class="blob-num js-line-number" data-line-number="104"></td>
  979. <td id="LC104" class="blob-code blob-code-inner js-file-line"> }</td>
  980. </tr>
  981. <tr>
  982. <td id="L105" class="blob-num js-line-number" data-line-number="105"></td>
  983. <td id="LC105" class="blob-code blob-code-inner js-file-line">
  984. </td>
  985. </tr>
  986. <tr>
  987. <td id="L106" class="blob-num js-line-number" data-line-number="106"></td>
  988. <td id="LC106" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">setConfig</span>(<span class="pl-smi">config</span>) {</td>
  989. </tr>
  990. <tr>
  991. <td id="L107" class="blob-num js-line-number" data-line-number="107"></td>
  992. <td id="LC107" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-k">!</span><span class="pl-smi">config</span>.<span class="pl-smi">entity</span>) {</td>
  993. </tr>
  994. <tr>
  995. <td id="L108" class="blob-num js-line-number" data-line-number="108"></td>
  996. <td id="LC108" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">throw</span> <span class="pl-c1">Error</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>No entity defined<span class="pl-pds">&#39;</span></span>)</td>
  997. </tr>
  998. <tr>
  999. <td id="L109" class="blob-num js-line-number" data-line-number="109"></td>
  1000. <td id="LC109" class="blob-code blob-code-inner js-file-line"> }</td>
  1001. </tr>
  1002. <tr>
  1003. <td id="L110" class="blob-num js-line-number" data-line-number="110"></td>
  1004. <td id="LC110" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">this</span>.<span class="pl-smi">config</span> <span class="pl-k">=</span> config;</td>
  1005. </tr>
  1006. <tr>
  1007. <td id="L111" class="blob-num js-line-number" data-line-number="111"></td>
  1008. <td id="LC111" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-c1">this</span>.<span class="pl-smi">circle</span>) {</td>
  1009. </tr>
  1010. <tr>
  1011. <td id="L112" class="blob-num js-line-number" data-line-number="112"></td>
  1012. <td id="LC112" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">this</span>.<span class="pl-en">_updateConfig</span>();</td>
  1013. </tr>
  1014. <tr>
  1015. <td id="L113" class="blob-num js-line-number" data-line-number="113"></td>
  1016. <td id="LC113" class="blob-code blob-code-inner js-file-line"> }</td>
  1017. </tr>
  1018. <tr>
  1019. <td id="L114" class="blob-num js-line-number" data-line-number="114"></td>
  1020. <td id="LC114" class="blob-code blob-code-inner js-file-line"> }</td>
  1021. </tr>
  1022. <tr>
  1023. <td id="L115" class="blob-num js-line-number" data-line-number="115"></td>
  1024. <td id="LC115" class="blob-code blob-code-inner js-file-line">
  1025. </td>
  1026. </tr>
  1027. <tr>
  1028. <td id="L116" class="blob-num js-line-number" data-line-number="116"></td>
  1029. <td id="LC116" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">getCardSize</span>() {</td>
  1030. </tr>
  1031. <tr>
  1032. <td id="L117" class="blob-num js-line-number" data-line-number="117"></td>
  1033. <td id="LC117" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-c1">3</span>;</td>
  1034. </tr>
  1035. <tr>
  1036. <td id="L118" class="blob-num js-line-number" data-line-number="118"></td>
  1037. <td id="LC118" class="blob-code blob-code-inner js-file-line"> }</td>
  1038. </tr>
  1039. <tr>
  1040. <td id="L119" class="blob-num js-line-number" data-line-number="119"></td>
  1041. <td id="LC119" class="blob-code blob-code-inner js-file-line">
  1042. </td>
  1043. </tr>
  1044. <tr>
  1045. <td id="L120" class="blob-num js-line-number" data-line-number="120"></td>
  1046. <td id="LC120" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">_updateConfig</span>() {</td>
  1047. </tr>
  1048. <tr>
  1049. <td id="L121" class="blob-num js-line-number" data-line-number="121"></td>
  1050. <td id="LC121" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">container</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-smi">_root</span>.<span class="pl-c1">querySelector</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>.labelContainer<span class="pl-pds">&#39;</span></span>);</td>
  1051. </tr>
  1052. <tr>
  1053. <td id="L122" class="blob-num js-line-number" data-line-number="122"></td>
  1054. <td id="LC122" class="blob-code blob-code-inner js-file-line"> <span class="pl-smi">container</span>.<span class="pl-c1">style</span>.<span class="pl-c1">color</span> <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">&#39;</span>var(--primary-text-color)<span class="pl-pds">&#39;</span></span>;</td>
  1055. </tr>
  1056. <tr>
  1057. <td id="L123" class="blob-num js-line-number" data-line-number="123"></td>
  1058. <td id="LC123" class="blob-code blob-code-inner js-file-line">
  1059. </td>
  1060. </tr>
  1061. <tr>
  1062. <td id="L124" class="blob-num js-line-number" data-line-number="124"></td>
  1063. <td id="LC124" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">font_style</span>) {</td>
  1064. </tr>
  1065. <tr>
  1066. <td id="L125" class="blob-num js-line-number" data-line-number="125"></td>
  1067. <td id="LC125" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">Object</span>.<span class="pl-c1">keys</span>(<span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">font_style</span>).<span class="pl-c1">forEach</span>((<span class="pl-smi">prop</span>) <span class="pl-k">=&gt;</span> {</td>
  1068. </tr>
  1069. <tr>
  1070. <td id="L126" class="blob-num js-line-number" data-line-number="126"></td>
  1071. <td id="LC126" class="blob-code blob-code-inner js-file-line"> <span class="pl-smi">container</span>.<span class="pl-c1">style</span>.<span class="pl-en">setProperty</span>(prop, <span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">font_style</span>[prop]);</td>
  1072. </tr>
  1073. <tr>
  1074. <td id="L127" class="blob-num js-line-number" data-line-number="127"></td>
  1075. <td id="LC127" class="blob-code blob-code-inner js-file-line"> });</td>
  1076. </tr>
  1077. <tr>
  1078. <td id="L128" class="blob-num js-line-number" data-line-number="128"></td>
  1079. <td id="LC128" class="blob-code blob-code-inner js-file-line"> }</td>
  1080. </tr>
  1081. <tr>
  1082. <td id="L129" class="blob-num js-line-number" data-line-number="129"></td>
  1083. <td id="LC129" class="blob-code blob-code-inner js-file-line"> }</td>
  1084. </tr>
  1085. <tr>
  1086. <td id="L130" class="blob-num js-line-number" data-line-number="130"></td>
  1087. <td id="LC130" class="blob-code blob-code-inner js-file-line">
  1088. </td>
  1089. </tr>
  1090. <tr>
  1091. <td id="L131" class="blob-num js-line-number" data-line-number="131"></td>
  1092. <td id="LC131" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">set</span> <span class="pl-en">hass</span>(<span class="pl-smi">hass</span>) {</td>
  1093. </tr>
  1094. <tr>
  1095. <td id="L132" class="blob-num js-line-number" data-line-number="132"></td>
  1096. <td id="LC132" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">this</span>.<span class="pl-smi">state</span> <span class="pl-k">=</span> <span class="pl-smi">hass</span>.<span class="pl-smi">states</span>[<span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">entity</span>];</td>
  1097. </tr>
  1098. <tr>
  1099. <td id="L133" class="blob-num js-line-number" data-line-number="133"></td>
  1100. <td id="LC133" class="blob-code blob-code-inner js-file-line">
  1101. </td>
  1102. </tr>
  1103. <tr>
  1104. <td id="L134" class="blob-num js-line-number" data-line-number="134"></td>
  1105. <td id="LC134" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">attribute</span>) {</td>
  1106. </tr>
  1107. <tr>
  1108. <td id="L135" class="blob-num js-line-number" data-line-number="135"></td>
  1109. <td id="LC135" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-k">!</span><span class="pl-c1">this</span>.<span class="pl-smi">state</span>.<span class="pl-c1">attributes</span>[<span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">attribute</span>] <span class="pl-k">||</span></td>
  1110. </tr>
  1111. <tr>
  1112. <td id="L136" class="blob-num js-line-number" data-line-number="136"></td>
  1113. <td id="LC136" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">isNaN</span>(<span class="pl-c1">this</span>.<span class="pl-smi">state</span>.<span class="pl-c1">attributes</span>[<span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">attribute</span>])) {</td>
  1114. </tr>
  1115. <tr>
  1116. <td id="L137" class="blob-num js-line-number" data-line-number="137"></td>
  1117. <td id="LC137" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">console</span>.<span class="pl-c1">error</span>(<span class="pl-s"><span class="pl-pds">`</span>Attribute [<span class="pl-s1"><span class="pl-pse">${</span><span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">attribute</span><span class="pl-pse">}</span></span>] is not a number<span class="pl-pds">`</span></span>);</td>
  1118. </tr>
  1119. <tr>
  1120. <td id="L138" class="blob-num js-line-number" data-line-number="138"></td>
  1121. <td id="LC138" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span>;</td>
  1122. </tr>
  1123. <tr>
  1124. <td id="L139" class="blob-num js-line-number" data-line-number="139"></td>
  1125. <td id="LC139" class="blob-code blob-code-inner js-file-line"> }</td>
  1126. </tr>
  1127. <tr>
  1128. <td id="L140" class="blob-num js-line-number" data-line-number="140"></td>
  1129. <td id="LC140" class="blob-code blob-code-inner js-file-line"> } <span class="pl-k">else</span> {</td>
  1130. </tr>
  1131. <tr>
  1132. <td id="L141" class="blob-num js-line-number" data-line-number="141"></td>
  1133. <td id="LC141" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-k">!</span><span class="pl-c1">this</span>.<span class="pl-smi">state</span> <span class="pl-k">||</span> <span class="pl-c1">isNaN</span>(<span class="pl-c1">this</span>.<span class="pl-smi">state</span>.<span class="pl-smi">state</span>)) {</td>
  1134. </tr>
  1135. <tr>
  1136. <td id="L142" class="blob-num js-line-number" data-line-number="142"></td>
  1137. <td id="LC142" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">console</span>.<span class="pl-c1">error</span>(<span class="pl-s"><span class="pl-pds">`</span>State is not a number<span class="pl-pds">`</span></span>);</td>
  1138. </tr>
  1139. <tr>
  1140. <td id="L143" class="blob-num js-line-number" data-line-number="143"></td>
  1141. <td id="LC143" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span>;</td>
  1142. </tr>
  1143. <tr>
  1144. <td id="L144" class="blob-num js-line-number" data-line-number="144"></td>
  1145. <td id="LC144" class="blob-code blob-code-inner js-file-line"> }</td>
  1146. </tr>
  1147. <tr>
  1148. <td id="L145" class="blob-num js-line-number" data-line-number="145"></td>
  1149. <td id="LC145" class="blob-code blob-code-inner js-file-line"> }</td>
  1150. </tr>
  1151. <tr>
  1152. <td id="L146" class="blob-num js-line-number" data-line-number="146"></td>
  1153. <td id="LC146" class="blob-code blob-code-inner js-file-line">
  1154. </td>
  1155. </tr>
  1156. <tr>
  1157. <td id="L147" class="blob-num js-line-number" data-line-number="147"></td>
  1158. <td id="LC147" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">state</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">attribute</span></td>
  1159. </tr>
  1160. <tr>
  1161. <td id="L148" class="blob-num js-line-number" data-line-number="148"></td>
  1162. <td id="LC148" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">?</span> <span class="pl-c1">this</span>.<span class="pl-smi">state</span>.<span class="pl-c1">attributes</span>[<span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">attribute</span>]</td>
  1163. </tr>
  1164. <tr>
  1165. <td id="L149" class="blob-num js-line-number" data-line-number="149"></td>
  1166. <td id="LC149" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">:</span> <span class="pl-c1">this</span>.<span class="pl-smi">state</span>.<span class="pl-smi">state</span>;</td>
  1167. </tr>
  1168. <tr>
  1169. <td id="L150" class="blob-num js-line-number" data-line-number="150"></td>
  1170. <td id="LC150" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">r</span> <span class="pl-k">=</span> <span class="pl-c1">200</span> <span class="pl-k">*</span> <span class="pl-c1">.45</span>;</td>
  1171. </tr>
  1172. <tr>
  1173. <td id="L151" class="blob-num js-line-number" data-line-number="151"></td>
  1174. <td id="LC151" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">min</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">min</span> <span class="pl-k">||</span> <span class="pl-c1">0</span>;</td>
  1175. </tr>
  1176. <tr>
  1177. <td id="L152" class="blob-num js-line-number" data-line-number="152"></td>
  1178. <td id="LC152" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">max</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">attribute_max</span></td>
  1179. </tr>
  1180. <tr>
  1181. <td id="L153" class="blob-num js-line-number" data-line-number="153"></td>
  1182. <td id="LC153" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">?</span> <span class="pl-c1">this</span>.<span class="pl-smi">state</span>.<span class="pl-c1">attributes</span>[<span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">attribute_max</span>]</td>
  1183. </tr>
  1184. <tr>
  1185. <td id="L154" class="blob-num js-line-number" data-line-number="154"></td>
  1186. <td id="LC154" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">:</span> (<span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">max</span> <span class="pl-k">||</span> <span class="pl-c1">100</span>);</td>
  1187. </tr>
  1188. <tr>
  1189. <td id="L155" class="blob-num js-line-number" data-line-number="155"></td>
  1190. <td id="LC155" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">val</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-en">_calculateValueBetween</span>(min, max, state);</td>
  1191. </tr>
  1192. <tr>
  1193. <td id="L156" class="blob-num js-line-number" data-line-number="156"></td>
  1194. <td id="LC156" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">score</span> <span class="pl-k">=</span> val <span class="pl-k">*</span> <span class="pl-c1">2</span> <span class="pl-k">*</span> <span class="pl-c1">Math</span>.<span class="pl-c1">PI</span> <span class="pl-k">*</span> r;</td>
  1195. </tr>
  1196. <tr>
  1197. <td id="L157" class="blob-num js-line-number" data-line-number="157"></td>
  1198. <td id="LC157" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">total</span> <span class="pl-k">=</span> <span class="pl-c1">10</span> <span class="pl-k">*</span> r;</td>
  1199. </tr>
  1200. <tr>
  1201. <td id="L158" class="blob-num js-line-number" data-line-number="158"></td>
  1202. <td id="LC158" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">this</span>.<span class="pl-smi">dashArray</span> <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">`</span><span class="pl-s1"><span class="pl-pse">${</span>score<span class="pl-pse">}</span></span> <span class="pl-s1"><span class="pl-pse">${</span>total<span class="pl-pse">}</span></span><span class="pl-pds">`</span></span>;</td>
  1203. </tr>
  1204. <tr>
  1205. <td id="L159" class="blob-num js-line-number" data-line-number="159"></td>
  1206. <td id="LC159" class="blob-code blob-code-inner js-file-line">
  1207. </td>
  1208. </tr>
  1209. <tr>
  1210. <td id="L160" class="blob-num js-line-number" data-line-number="160"></td>
  1211. <td id="LC160" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">let</span> colorStops <span class="pl-k">=</span> {};</td>
  1212. </tr>
  1213. <tr>
  1214. <td id="L161" class="blob-num js-line-number" data-line-number="161"></td>
  1215. <td id="LC161" class="blob-code blob-code-inner js-file-line"> colorStops[min] <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">stroke_color</span> <span class="pl-k">||</span> <span class="pl-s"><span class="pl-pds">&#39;</span>#03a9f4<span class="pl-pds">&#39;</span></span>;</td>
  1216. </tr>
  1217. <tr>
  1218. <td id="L162" class="blob-num js-line-number" data-line-number="162"></td>
  1219. <td id="LC162" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">color_stops</span>) {</td>
  1220. </tr>
  1221. <tr>
  1222. <td id="L163" class="blob-num js-line-number" data-line-number="163"></td>
  1223. <td id="LC163" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">Object</span>.<span class="pl-c1">keys</span>(<span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">color_stops</span>).<span class="pl-c1">forEach</span>((<span class="pl-smi">key</span>) <span class="pl-k">=&gt;</span> {</td>
  1224. </tr>
  1225. <tr>
  1226. <td id="L164" class="blob-num js-line-number" data-line-number="164"></td>
  1227. <td id="LC164" class="blob-code blob-code-inner js-file-line"> colorStops[key] <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">color_stops</span>[key];</td>
  1228. </tr>
  1229. <tr>
  1230. <td id="L165" class="blob-num js-line-number" data-line-number="165"></td>
  1231. <td id="LC165" class="blob-code blob-code-inner js-file-line"> });</td>
  1232. </tr>
  1233. <tr>
  1234. <td id="L166" class="blob-num js-line-number" data-line-number="166"></td>
  1235. <td id="LC166" class="blob-code blob-code-inner js-file-line"> }</td>
  1236. </tr>
  1237. <tr>
  1238. <td id="L167" class="blob-num js-line-number" data-line-number="167"></td>
  1239. <td id="LC167" class="blob-code blob-code-inner js-file-line">
  1240. </td>
  1241. </tr>
  1242. <tr>
  1243. <td id="L168" class="blob-num js-line-number" data-line-number="168"></td>
  1244. <td id="LC168" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-c1">this</span>.<span class="pl-smi">circle</span>) {</td>
  1245. </tr>
  1246. <tr>
  1247. <td id="L169" class="blob-num js-line-number" data-line-number="169"></td>
  1248. <td id="LC169" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">stroke</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-en">_calculateStrokeColor</span>(state, colorStops);</td>
  1249. </tr>
  1250. <tr>
  1251. <td id="L170" class="blob-num js-line-number" data-line-number="170"></td>
  1252. <td id="LC170" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">this</span>.<span class="pl-smi">circle</span>.<span class="pl-c1">setAttribute</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>stroke<span class="pl-pds">&#39;</span></span>, stroke);</td>
  1253. </tr>
  1254. <tr>
  1255. <td id="L171" class="blob-num js-line-number" data-line-number="171"></td>
  1256. <td id="LC171" class="blob-code blob-code-inner js-file-line"> }</td>
  1257. </tr>
  1258. <tr>
  1259. <td id="L172" class="blob-num js-line-number" data-line-number="172"></td>
  1260. <td id="LC172" class="blob-code blob-code-inner js-file-line"> }</td>
  1261. </tr>
  1262. <tr>
  1263. <td id="L173" class="blob-num js-line-number" data-line-number="173"></td>
  1264. <td id="LC173" class="blob-code blob-code-inner js-file-line">
  1265. </td>
  1266. </tr>
  1267. <tr>
  1268. <td id="L174" class="blob-num js-line-number" data-line-number="174"></td>
  1269. <td id="LC174" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">_click</span>() {</td>
  1270. </tr>
  1271. <tr>
  1272. <td id="L175" class="blob-num js-line-number" data-line-number="175"></td>
  1273. <td id="LC175" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">this</span>.<span class="pl-en">_fire</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>hass-more-info<span class="pl-pds">&#39;</span></span>, { entityId<span class="pl-k">:</span> <span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">entity</span> });</td>
  1274. </tr>
  1275. <tr>
  1276. <td id="L176" class="blob-num js-line-number" data-line-number="176"></td>
  1277. <td id="LC176" class="blob-code blob-code-inner js-file-line"> }</td>
  1278. </tr>
  1279. <tr>
  1280. <td id="L177" class="blob-num js-line-number" data-line-number="177"></td>
  1281. <td id="LC177" class="blob-code blob-code-inner js-file-line">
  1282. </td>
  1283. </tr>
  1284. <tr>
  1285. <td id="L178" class="blob-num js-line-number" data-line-number="178"></td>
  1286. <td id="LC178" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">_calculateStrokeColor</span>(<span class="pl-smi">state</span>, <span class="pl-smi">stops</span>) {</td>
  1287. </tr>
  1288. <tr>
  1289. <td id="L179" class="blob-num js-line-number" data-line-number="179"></td>
  1290. <td id="LC179" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">sortedStops</span> <span class="pl-k">=</span> <span class="pl-c1">Object</span>.<span class="pl-c1">keys</span>(stops).<span class="pl-en">map</span>(<span class="pl-smi">n</span> <span class="pl-k">=&gt;</span> <span class="pl-c1">Number</span>(n)).<span class="pl-c1">sort</span>((<span class="pl-smi">a</span>, <span class="pl-smi">b</span>) <span class="pl-k">=&gt;</span> a <span class="pl-k">-</span> b);</td>
  1291. </tr>
  1292. <tr>
  1293. <td id="L180" class="blob-num js-line-number" data-line-number="180"></td>
  1294. <td id="LC180" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">let</span> start, end, val;</td>
  1295. </tr>
  1296. <tr>
  1297. <td id="L181" class="blob-num js-line-number" data-line-number="181"></td>
  1298. <td id="LC181" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">l</span> <span class="pl-k">=</span> <span class="pl-smi">sortedStops</span>.<span class="pl-c1">length</span>;</td>
  1299. </tr>
  1300. <tr>
  1301. <td id="L182" class="blob-num js-line-number" data-line-number="182"></td>
  1302. <td id="LC182" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (state <span class="pl-k">&lt;=</span> sortedStops[<span class="pl-c1">0</span>]) {</td>
  1303. </tr>
  1304. <tr>
  1305. <td id="L183" class="blob-num js-line-number" data-line-number="183"></td>
  1306. <td id="LC183" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> stops[sortedStops[<span class="pl-c1">0</span>]];</td>
  1307. </tr>
  1308. <tr>
  1309. <td id="L184" class="blob-num js-line-number" data-line-number="184"></td>
  1310. <td id="LC184" class="blob-code blob-code-inner js-file-line"> } <span class="pl-k">else</span> <span class="pl-k">if</span> (state <span class="pl-k">&gt;=</span> sortedStops[l <span class="pl-k">-</span> <span class="pl-c1">1</span>]) {</td>
  1311. </tr>
  1312. <tr>
  1313. <td id="L185" class="blob-num js-line-number" data-line-number="185"></td>
  1314. <td id="LC185" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> stops[sortedStops[l <span class="pl-k">-</span> <span class="pl-c1">1</span>]];</td>
  1315. </tr>
  1316. <tr>
  1317. <td id="L186" class="blob-num js-line-number" data-line-number="186"></td>
  1318. <td id="LC186" class="blob-code blob-code-inner js-file-line"> } <span class="pl-k">else</span> {</td>
  1319. </tr>
  1320. <tr>
  1321. <td id="L187" class="blob-num js-line-number" data-line-number="187"></td>
  1322. <td id="LC187" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> (<span class="pl-k">let</span> i <span class="pl-k">=</span> <span class="pl-c1">0</span>; i <span class="pl-k">&lt;</span> l <span class="pl-k">-</span> <span class="pl-c1">1</span>; i<span class="pl-k">++</span>) {</td>
  1323. </tr>
  1324. <tr>
  1325. <td id="L188" class="blob-num js-line-number" data-line-number="188"></td>
  1326. <td id="LC188" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">s1</span> <span class="pl-k">=</span> sortedStops[i];</td>
  1327. </tr>
  1328. <tr>
  1329. <td id="L189" class="blob-num js-line-number" data-line-number="189"></td>
  1330. <td id="LC189" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">s2</span> <span class="pl-k">=</span> sortedStops[i <span class="pl-k">+</span> <span class="pl-c1">1</span>];</td>
  1331. </tr>
  1332. <tr>
  1333. <td id="L190" class="blob-num js-line-number" data-line-number="190"></td>
  1334. <td id="LC190" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (state <span class="pl-k">&gt;=</span> s1 <span class="pl-k">&amp;&amp;</span> state <span class="pl-k">&lt;</span> s2) {</td>
  1335. </tr>
  1336. <tr>
  1337. <td id="L191" class="blob-num js-line-number" data-line-number="191"></td>
  1338. <td id="LC191" class="blob-code blob-code-inner js-file-line"> [start, end] <span class="pl-k">=</span> [stops[s1], stops[s2]];</td>
  1339. </tr>
  1340. <tr>
  1341. <td id="L192" class="blob-num js-line-number" data-line-number="192"></td>
  1342. <td id="LC192" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-k">!</span><span class="pl-c1">this</span>.<span class="pl-smi">config</span>.<span class="pl-smi">gradient</span>) {</td>
  1343. </tr>
  1344. <tr>
  1345. <td id="L193" class="blob-num js-line-number" data-line-number="193"></td>
  1346. <td id="LC193" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> start;</td>
  1347. </tr>
  1348. <tr>
  1349. <td id="L194" class="blob-num js-line-number" data-line-number="194"></td>
  1350. <td id="LC194" class="blob-code blob-code-inner js-file-line"> }</td>
  1351. </tr>
  1352. <tr>
  1353. <td id="L195" class="blob-num js-line-number" data-line-number="195"></td>
  1354. <td id="LC195" class="blob-code blob-code-inner js-file-line"> val <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-en">_calculateValueBetween</span>(s1, s2, state);</td>
  1355. </tr>
  1356. <tr>
  1357. <td id="L196" class="blob-num js-line-number" data-line-number="196"></td>
  1358. <td id="LC196" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">break</span>;</td>
  1359. </tr>
  1360. <tr>
  1361. <td id="L197" class="blob-num js-line-number" data-line-number="197"></td>
  1362. <td id="LC197" class="blob-code blob-code-inner js-file-line"> }</td>
  1363. </tr>
  1364. <tr>
  1365. <td id="L198" class="blob-num js-line-number" data-line-number="198"></td>
  1366. <td id="LC198" class="blob-code blob-code-inner js-file-line"> }</td>
  1367. </tr>
  1368. <tr>
  1369. <td id="L199" class="blob-num js-line-number" data-line-number="199"></td>
  1370. <td id="LC199" class="blob-code blob-code-inner js-file-line"> }</td>
  1371. </tr>
  1372. <tr>
  1373. <td id="L200" class="blob-num js-line-number" data-line-number="200"></td>
  1374. <td id="LC200" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-c1">this</span>.<span class="pl-en">_getGradientValue</span>(start, end, val);</td>
  1375. </tr>
  1376. <tr>
  1377. <td id="L201" class="blob-num js-line-number" data-line-number="201"></td>
  1378. <td id="LC201" class="blob-code blob-code-inner js-file-line"> }</td>
  1379. </tr>
  1380. <tr>
  1381. <td id="L202" class="blob-num js-line-number" data-line-number="202"></td>
  1382. <td id="LC202" class="blob-code blob-code-inner js-file-line">
  1383. </td>
  1384. </tr>
  1385. <tr>
  1386. <td id="L203" class="blob-num js-line-number" data-line-number="203"></td>
  1387. <td id="LC203" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">_calculateValueBetween</span>(<span class="pl-smi">start</span>, <span class="pl-smi">end</span>, <span class="pl-smi">val</span>) {</td>
  1388. </tr>
  1389. <tr>
  1390. <td id="L204" class="blob-num js-line-number" data-line-number="204"></td>
  1391. <td id="LC204" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> (val <span class="pl-k">-</span> start) <span class="pl-k">/</span> (end <span class="pl-k">-</span> start);</td>
  1392. </tr>
  1393. <tr>
  1394. <td id="L205" class="blob-num js-line-number" data-line-number="205"></td>
  1395. <td id="LC205" class="blob-code blob-code-inner js-file-line"> }</td>
  1396. </tr>
  1397. <tr>
  1398. <td id="L206" class="blob-num js-line-number" data-line-number="206"></td>
  1399. <td id="LC206" class="blob-code blob-code-inner js-file-line">
  1400. </td>
  1401. </tr>
  1402. <tr>
  1403. <td id="L207" class="blob-num js-line-number" data-line-number="207"></td>
  1404. <td id="LC207" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">_getGradientValue</span>(<span class="pl-smi">colorA</span>, <span class="pl-smi">colorB</span>, <span class="pl-smi">val</span>) {</td>
  1405. </tr>
  1406. <tr>
  1407. <td id="L208" class="blob-num js-line-number" data-line-number="208"></td>
  1408. <td id="LC208" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">v1</span> <span class="pl-k">=</span> <span class="pl-c1">1</span> <span class="pl-k">-</span> val;</td>
  1409. </tr>
  1410. <tr>
  1411. <td id="L209" class="blob-num js-line-number" data-line-number="209"></td>
  1412. <td id="LC209" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">v2</span> <span class="pl-k">=</span> val;</td>
  1413. </tr>
  1414. <tr>
  1415. <td id="L210" class="blob-num js-line-number" data-line-number="210"></td>
  1416. <td id="LC210" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">decA</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-en">_hexColorToDecimal</span>(colorA);</td>
  1417. </tr>
  1418. <tr>
  1419. <td id="L211" class="blob-num js-line-number" data-line-number="211"></td>
  1420. <td id="LC211" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">decB</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-en">_hexColorToDecimal</span>(colorB);</td>
  1421. </tr>
  1422. <tr>
  1423. <td id="L212" class="blob-num js-line-number" data-line-number="212"></td>
  1424. <td id="LC212" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">rDec</span> <span class="pl-k">=</span> <span class="pl-c1">Math</span>.<span class="pl-c1">floor</span>((decA[<span class="pl-c1">0</span>] <span class="pl-k">*</span> v1) <span class="pl-k">+</span> (decB[<span class="pl-c1">0</span>] <span class="pl-k">*</span> v2));</td>
  1425. </tr>
  1426. <tr>
  1427. <td id="L213" class="blob-num js-line-number" data-line-number="213"></td>
  1428. <td id="LC213" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">gDec</span> <span class="pl-k">=</span> <span class="pl-c1">Math</span>.<span class="pl-c1">floor</span>((decA[<span class="pl-c1">1</span>] <span class="pl-k">*</span> v1) <span class="pl-k">+</span> (decB[<span class="pl-c1">1</span>] <span class="pl-k">*</span> v2));</td>
  1429. </tr>
  1430. <tr>
  1431. <td id="L214" class="blob-num js-line-number" data-line-number="214"></td>
  1432. <td id="LC214" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">bDec</span> <span class="pl-k">=</span> <span class="pl-c1">Math</span>.<span class="pl-c1">floor</span>((decA[<span class="pl-c1">2</span>] <span class="pl-k">*</span> v1) <span class="pl-k">+</span> (decB[<span class="pl-c1">2</span>] <span class="pl-k">*</span> v2));</td>
  1433. </tr>
  1434. <tr>
  1435. <td id="L215" class="blob-num js-line-number" data-line-number="215"></td>
  1436. <td id="LC215" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">rHex</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-en">_padZero</span>(<span class="pl-smi">rDec</span>.<span class="pl-c1">toString</span>(<span class="pl-c1">16</span>));</td>
  1437. </tr>
  1438. <tr>
  1439. <td id="L216" class="blob-num js-line-number" data-line-number="216"></td>
  1440. <td id="LC216" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">gHex</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-en">_padZero</span>(<span class="pl-smi">gDec</span>.<span class="pl-c1">toString</span>(<span class="pl-c1">16</span>));</td>
  1441. </tr>
  1442. <tr>
  1443. <td id="L217" class="blob-num js-line-number" data-line-number="217"></td>
  1444. <td id="LC217" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">bHex</span> <span class="pl-k">=</span> <span class="pl-c1">this</span>.<span class="pl-en">_padZero</span>(<span class="pl-smi">bDec</span>.<span class="pl-c1">toString</span>(<span class="pl-c1">16</span>));</td>
  1445. </tr>
  1446. <tr>
  1447. <td id="L218" class="blob-num js-line-number" data-line-number="218"></td>
  1448. <td id="LC218" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-s"><span class="pl-pds">`</span>#<span class="pl-s1"><span class="pl-pse">${</span>rHex<span class="pl-pse">}${</span>gHex<span class="pl-pse">}${</span>bHex<span class="pl-pse">}</span></span><span class="pl-pds">`</span></span>;</td>
  1449. </tr>
  1450. <tr>
  1451. <td id="L219" class="blob-num js-line-number" data-line-number="219"></td>
  1452. <td id="LC219" class="blob-code blob-code-inner js-file-line"> }</td>
  1453. </tr>
  1454. <tr>
  1455. <td id="L220" class="blob-num js-line-number" data-line-number="220"></td>
  1456. <td id="LC220" class="blob-code blob-code-inner js-file-line">
  1457. </td>
  1458. </tr>
  1459. <tr>
  1460. <td id="L221" class="blob-num js-line-number" data-line-number="221"></td>
  1461. <td id="LC221" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">_hexColorToDecimal</span>(<span class="pl-smi">color</span>) {</td>
  1462. </tr>
  1463. <tr>
  1464. <td id="L222" class="blob-num js-line-number" data-line-number="222"></td>
  1465. <td id="LC222" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">let</span> c <span class="pl-k">=</span> <span class="pl-smi">color</span>.<span class="pl-c1">substr</span>(<span class="pl-c1">1</span>);</td>
  1466. </tr>
  1467. <tr>
  1468. <td id="L223" class="blob-num js-line-number" data-line-number="223"></td>
  1469. <td id="LC223" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-smi">c</span>.<span class="pl-c1">length</span> <span class="pl-k">===</span> <span class="pl-c1">3</span>) {</td>
  1470. </tr>
  1471. <tr>
  1472. <td id="L224" class="blob-num js-line-number" data-line-number="224"></td>
  1473. <td id="LC224" class="blob-code blob-code-inner js-file-line"> c <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">`</span><span class="pl-s1"><span class="pl-pse">${</span>c[<span class="pl-c1">0</span>]<span class="pl-pse">}${</span>c[<span class="pl-c1">0</span>]<span class="pl-pse">}${</span>c[<span class="pl-c1">1</span>]<span class="pl-pse">}${</span>c[<span class="pl-c1">1</span>]<span class="pl-pse">}${</span>c[<span class="pl-c1">2</span>]<span class="pl-pse">}${</span>c[<span class="pl-c1">2</span>]<span class="pl-pse">}</span></span><span class="pl-pds">`</span></span>;</td>
  1474. </tr>
  1475. <tr>
  1476. <td id="L225" class="blob-num js-line-number" data-line-number="225"></td>
  1477. <td id="LC225" class="blob-code blob-code-inner js-file-line"> }</td>
  1478. </tr>
  1479. <tr>
  1480. <td id="L226" class="blob-num js-line-number" data-line-number="226"></td>
  1481. <td id="LC226" class="blob-code blob-code-inner js-file-line">
  1482. </td>
  1483. </tr>
  1484. <tr>
  1485. <td id="L227" class="blob-num js-line-number" data-line-number="227"></td>
  1486. <td id="LC227" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> [<span class="pl-c1">r</span>, <span class="pl-c1">g</span>, <span class="pl-c1">b</span>] <span class="pl-k">=</span> <span class="pl-smi">c</span>.<span class="pl-c1">match</span>(<span class="pl-sr"><span class="pl-pds">/</span><span class="pl-c1">.</span><span class="pl-k">{2}</span><span class="pl-pds">/</span>g</span>);</td>
  1487. </tr>
  1488. <tr>
  1489. <td id="L228" class="blob-num js-line-number" data-line-number="228"></td>
  1490. <td id="LC228" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> [<span class="pl-c1">parseInt</span>(r, <span class="pl-c1">16</span>), <span class="pl-c1">parseInt</span>(g, <span class="pl-c1">16</span>), <span class="pl-c1">parseInt</span>(b, <span class="pl-c1">16</span>)];</td>
  1491. </tr>
  1492. <tr>
  1493. <td id="L229" class="blob-num js-line-number" data-line-number="229"></td>
  1494. <td id="LC229" class="blob-code blob-code-inner js-file-line"> }</td>
  1495. </tr>
  1496. <tr>
  1497. <td id="L230" class="blob-num js-line-number" data-line-number="230"></td>
  1498. <td id="LC230" class="blob-code blob-code-inner js-file-line">
  1499. </td>
  1500. </tr>
  1501. <tr>
  1502. <td id="L231" class="blob-num js-line-number" data-line-number="231"></td>
  1503. <td id="LC231" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">_padZero</span>(<span class="pl-smi">val</span>) {</td>
  1504. </tr>
  1505. <tr>
  1506. <td id="L232" class="blob-num js-line-number" data-line-number="232"></td>
  1507. <td id="LC232" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> (<span class="pl-smi">val</span>.<span class="pl-c1">length</span> <span class="pl-k">&lt;</span> <span class="pl-c1">2</span>) {</td>
  1508. </tr>
  1509. <tr>
  1510. <td id="L233" class="blob-num js-line-number" data-line-number="233"></td>
  1511. <td id="LC233" class="blob-code blob-code-inner js-file-line"> val <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">`</span>0<span class="pl-s1"><span class="pl-pse">${</span>val<span class="pl-pse">}</span></span><span class="pl-pds">`</span></span>;</td>
  1512. </tr>
  1513. <tr>
  1514. <td id="L234" class="blob-num js-line-number" data-line-number="234"></td>
  1515. <td id="LC234" class="blob-code blob-code-inner js-file-line"> }</td>
  1516. </tr>
  1517. <tr>
  1518. <td id="L235" class="blob-num js-line-number" data-line-number="235"></td>
  1519. <td id="LC235" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-smi">val</span>.<span class="pl-c1">substr</span>(<span class="pl-c1">0</span>, <span class="pl-c1">2</span>);</td>
  1520. </tr>
  1521. <tr>
  1522. <td id="L236" class="blob-num js-line-number" data-line-number="236"></td>
  1523. <td id="LC236" class="blob-code blob-code-inner js-file-line"> }</td>
  1524. </tr>
  1525. <tr>
  1526. <td id="L237" class="blob-num js-line-number" data-line-number="237"></td>
  1527. <td id="LC237" class="blob-code blob-code-inner js-file-line">
  1528. </td>
  1529. </tr>
  1530. <tr>
  1531. <td id="L238" class="blob-num js-line-number" data-line-number="238"></td>
  1532. <td id="LC238" class="blob-code blob-code-inner js-file-line"> <span class="pl-en">_fire</span>(<span class="pl-smi">type</span>, <span class="pl-smi">detail</span>) {</td>
  1533. </tr>
  1534. <tr>
  1535. <td id="L239" class="blob-num js-line-number" data-line-number="239"></td>
  1536. <td id="LC239" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">const</span> <span class="pl-c1">event</span> <span class="pl-k">=</span> <span class="pl-k">new</span> <span class="pl-en">Event</span>(type, {</td>
  1537. </tr>
  1538. <tr>
  1539. <td id="L240" class="blob-num js-line-number" data-line-number="240"></td>
  1540. <td id="LC240" class="blob-code blob-code-inner js-file-line"> bubbles<span class="pl-k">:</span> <span class="pl-c1">true</span>,</td>
  1541. </tr>
  1542. <tr>
  1543. <td id="L241" class="blob-num js-line-number" data-line-number="241"></td>
  1544. <td id="LC241" class="blob-code blob-code-inner js-file-line"> cancelable<span class="pl-k">:</span> <span class="pl-c1">false</span>,</td>
  1545. </tr>
  1546. <tr>
  1547. <td id="L242" class="blob-num js-line-number" data-line-number="242"></td>
  1548. <td id="LC242" class="blob-code blob-code-inner js-file-line"> composed<span class="pl-k">:</span> <span class="pl-c1">true</span></td>
  1549. </tr>
  1550. <tr>
  1551. <td id="L243" class="blob-num js-line-number" data-line-number="243"></td>
  1552. <td id="LC243" class="blob-code blob-code-inner js-file-line"> });</td>
  1553. </tr>
  1554. <tr>
  1555. <td id="L244" class="blob-num js-line-number" data-line-number="244"></td>
  1556. <td id="LC244" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">event</span>.<span class="pl-smi">detail</span> <span class="pl-k">=</span> detail <span class="pl-k">||</span> {};</td>
  1557. </tr>
  1558. <tr>
  1559. <td id="L245" class="blob-num js-line-number" data-line-number="245"></td>
  1560. <td id="LC245" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">this</span>.<span class="pl-smi">shadowRoot</span>.<span class="pl-c1">dispatchEvent</span>(<span class="pl-c1">event</span>);</td>
  1561. </tr>
  1562. <tr>
  1563. <td id="L246" class="blob-num js-line-number" data-line-number="246"></td>
  1564. <td id="LC246" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-c1">event</span>;</td>
  1565. </tr>
  1566. <tr>
  1567. <td id="L247" class="blob-num js-line-number" data-line-number="247"></td>
  1568. <td id="LC247" class="blob-code blob-code-inner js-file-line"> }</td>
  1569. </tr>
  1570. <tr>
  1571. <td id="L248" class="blob-num js-line-number" data-line-number="248"></td>
  1572. <td id="LC248" class="blob-code blob-code-inner js-file-line">}</td>
  1573. </tr>
  1574. <tr>
  1575. <td id="L249" class="blob-num js-line-number" data-line-number="249"></td>
  1576. <td id="LC249" class="blob-code blob-code-inner js-file-line"><span class="pl-smi">customElements</span>.<span class="pl-en">define</span>(<span class="pl-s"><span class="pl-pds">&#39;</span>circle-sensor-card<span class="pl-pds">&#39;</span></span>, CircleSensorCard);</td>
  1577. </tr>
  1578. </table>
  1579. <details class="details-reset details-overlay BlobToolbar position-absolute js-file-line-actions dropdown d-none" aria-hidden="true">
  1580. <summary class="btn-octicon ml-0 px-2 p-0 bg-white border border-gray-dark rounded-1" aria-label="Inline file action toolbar">
  1581. <svg class="octicon octicon-kebab-horizontal" viewBox="0 0 13 16" version="1.1" width="13" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm5 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM13 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/></svg>
  1582. </summary>
  1583. <details-menu>
  1584. <ul class="BlobToolbar-dropdown dropdown-menu dropdown-menu-se mt-2">
  1585. <li><clipboard-copy role="menuitem" class="dropdown-item" id="js-copy-lines" style="cursor:pointer;" data-original-text="Copy lines">Copy lines</clipboard-copy></li>
  1586. <li><clipboard-copy role="menuitem" class="dropdown-item" id="js-copy-permalink" style="cursor:pointer;" data-original-text="Copy permalink">Copy permalink</clipboard-copy></li>
  1587. <li><a class="dropdown-item js-update-url-with-hash" id="js-view-git-blame" role="menuitem" href="/custom-cards/circle-sensor-card/blame/9b3b78c46c9a648aeb94d2e3cb70bc4a86435112/circle-sensor-card.js">View git blame</a></li>
  1588. <li><a class="dropdown-item" id="js-new-issue" role="menuitem" href="/custom-cards/circle-sensor-card/issues/new">Open new issue</a></li>
  1589. </ul>
  1590. </details-menu>
  1591. </details>
  1592. </div>
  1593. </div>
  1594. <details class="details-reset details-overlay details-overlay-dark">
  1595. <summary data-hotkey="l" aria-label="Jump to line"></summary>
  1596. <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast linejump" aria-label="Jump to line">
  1597. <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-jump-to-line-form Box-body d-flex" action="" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" />
  1598. <input class="form-control flex-auto mr-3 linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" aria-label="Jump to line" autofocus>
  1599. <button type="submit" class="btn" data-close-dialog>Go</button>
  1600. </form> </details-dialog>
  1601. </details>
  1602. </div>
  1603. <div class="modal-backdrop js-touch-events"></div>
  1604. </div>
  1605. </div>
  1606. </div>
  1607. </div>
  1608. <div class="footer container-lg px-3" role="contentinfo">
  1609. <div class="position-relative d-flex flex-justify-between pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light ">
  1610. <ul class="list-style-none d-flex flex-wrap ">
  1611. <li class="mr-3">&copy; 2018 <span title="0.19377s from unicorn-657544ffd-47vh6">GitHub</span>, Inc.</li>
  1612. <li class="mr-3"><a data-ga-click="Footer, go to terms, text:terms" href="https://github.com/site/terms">Terms</a></li>
  1613. <li class="mr-3"><a data-ga-click="Footer, go to privacy, text:privacy" href="https://github.com/site/privacy">Privacy</a></li>
  1614. <li class="mr-3"><a href="/security" data-ga-click="Footer, go to security, text:security">Security</a></li>
  1615. <li class="mr-3"><a href="https://status.github.com/" data-ga-click="Footer, go to status, text:status">Status</a></li>
  1616. <li><a data-ga-click="Footer, go to help, text:help" href="https://help.github.com">Help</a></li>
  1617. </ul>
  1618. <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-lg-4" href="https://github.com">
  1619. <svg height="24" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
  1620. </a>
  1621. <ul class="list-style-none d-flex flex-wrap ">
  1622. <li class="mr-3"><a data-ga-click="Footer, go to contact, text:contact" href="https://github.com/contact">Contact GitHub</a></li>
  1623. <li class="mr-3"><a href="https://github.com/pricing" data-ga-click="Footer, go to Pricing, text:Pricing">Pricing</a></li>
  1624. <li class="mr-3"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li>
  1625. <li class="mr-3"><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li>
  1626. <li class="mr-3"><a href="https://blog.github.com" data-ga-click="Footer, go to blog, text:blog">Blog</a></li>
  1627. <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li>
  1628. </ul>
  1629. </div>
  1630. <div class="d-flex flex-justify-center pb-6">
  1631. <span class="f6 text-gray-light"></span>
  1632. </div>
  1633. </div>
  1634. <div id="ajax-error-message" class="ajax-error-message flash flash-error">
  1635. <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg>
  1636. <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
  1637. <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
  1638. </button>
  1639. You can’t perform that action at this time.
  1640. </div>
  1641. <script crossorigin="anonymous" integrity="sha512-092+yG9tBLtacCexwGKGjTtkuRfZo0YUa8VrsiKW+Zh/nyA2j7MvftFLeoIor9CGQ9uDFYNIcbFDbbTPw7tV3Q==" type="application/javascript" src="https://assets-cdn.github.com/assets/frameworks-176ef037f2b2ddbb94c6810c7bce4ec9.js"></script>
  1642. <script crossorigin="anonymous" async="async" integrity="sha512-W/rwaeot3DL0Ts4UJnt+ecrHRSexnZrzgPzSm2RxIeDyU1rn+I6kEjiTdO69Nto6j/uFVSCmOKt+LUwvvZQudQ==" type="application/javascript" src="https://assets-cdn.github.com/assets/github-bcb89f5b145473f52b2574c2c3b95419.js"></script>
  1643. <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner d-none">
  1644. <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg>
  1645. <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>
  1646. <span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>
  1647. </div>
  1648. <div class="facebox" id="facebox" style="display:none;">
  1649. <div class="facebox-popup">
  1650. <div class="facebox-content" role="dialog" aria-labelledby="facebox-header" aria-describedby="facebox-description">
  1651. </div>
  1652. <button type="button" class="facebox-close js-facebox-close" aria-label="Close modal">
  1653. <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
  1654. </button>
  1655. </div>
  1656. </div>
  1657. <template id="site-details-dialog">
  1658. <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark" open>
  1659. <summary aria-haspopup="dialog" aria-label="Close dialog"></summary>
  1660. <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast">
  1661. <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
  1662. <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
  1663. </button>
  1664. <div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
  1665. </details-dialog>
  1666. </details>
  1667. </template>
  1668. <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
  1669. <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;">
  1670. </div>
  1671. </div>
  1672. <div id="hovercard-aria-description" class="sr-only">
  1673. Press h to open a hovercard with more details.
  1674. </div>
  1675. </body>
  1676. </html>