123456 |
- /*!
- * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
- * v1.0.0-beta.82
- */
- import{r as registerInstance,h,g as getElement}from"./index-8ece2564.js";import{h as hexToRGB,i as isValidHex}from"./utils-040a2a22.js";import{b as getThemeName}from"./dom-da697a3f.js";import"./guid-b4461004.js";function stringToHex(a){var t=0;for(var e=0;e<a.length;e++){t=a.charCodeAt(e)+((t<<5)-t)}var i="#";for(var r=0;r<3;r++){var n=t>>r*8&255;i+=("00"+n.toString(16)).substr(-2)}return i}function rgbToHue(a){var t=a.r,e=a.g,i=a.b;t/=255;e/=255;i/=255;var r=Math.max(t,e,i);var n=Math.min(t,e,i);var o=r-n;if(r===n){return 0}var s=(r+n)/2;switch(r){case t:s=(e-i)/o+(e<i?6:0);break;case e:s=(i-t)/o+2;break;case i:s=(t-e)/o+4;break}return Math.round(s*60)}function hexToHue(a){return rgbToHue(hexToRGB(a))}var avatarCss="@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-popper-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{display:inline-block;overflow:hidden;border-radius:50%}:host([scale=s]){height:1.5rem;width:1.5rem;font-size:var(--calcite-font-size--3)}:host([scale=m]){height:2rem;width:2rem;font-size:var(--calcite-font-size--2)}:host([scale=l]){height:2.75rem;width:2.75rem;font-size:var(--calcite-font-size-0)}.icon{display:-ms-flexbox;display:flex}.background{display:-ms-flexbox;display:flex;height:100%;width:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border-radius:50%}.initials{font-weight:var(--calcite-font-weight-bold);text-transform:uppercase;color:var(--calcite-ui-text-3)}.thumbnail{height:100%;width:100%;border-radius:50%}";var Avatar=function(){function a(a){registerInstance(this,a);this.scale="m";this.error=false}a.prototype.render=function(){return this.determineContent()};a.prototype.determineContent=function(){var a=this;if(this.thumbnail&&!this.error){return h("img",{alt:"",class:"thumbnail",onError:function(){return a.error=true},src:this.thumbnail})}var t=this.generateInitials();var e=this.generateFillColor();return h("span",{class:"background",style:{backgroundColor:e}},t?h("span",{"aria-hidden":"true",class:"initials"},t):h("calcite-icon",{class:"icon",icon:"user",scale:this.scale}))};a.prototype.generateFillColor=function(){var a=this,t=a.userId,e=a.username,i=a.fullName,r=a.el;var n=getThemeName(r);var o=t&&"#".concat(t.substr(t.length-6));var s=e||i||"";var c=o&&isValidHex(o)?o:stringToHex(s);if(!t&&!s||!isValidHex(c)){return"var(--calcite-ui-foreground-2)"}var l=hexToHue(c);var m=n==="dark"?20:90;return"hsl(".concat(l,", 60%, ").concat(m,"%)")};a.prototype.generateInitials=function(){var a=this,t=a.fullName,e=a.username;if(t){return t.trim().split(" ").map((function(a){return a.substring(0,1)})).join("")}else if(e){return e.substring(0,2)}return false};Object.defineProperty(a.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return a}();Avatar.style=avatarCss;export{Avatar as calcite_avatar};
|