@grasco/profile-picture 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/styles.css CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--np-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--np-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--np-color-gray-100:oklch(96.7% .003 264.542);--np-spacing:.25rem;--np-radius-xl:.75rem;--np-default-font-family:var(--np-font-sans);--np-default-mono-font-family:var(--np-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--np-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--np-default-font-feature-settings,normal);font-variation-settings:var(--np-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--np-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--np-default-mono-font-feature-settings,normal);font-variation-settings:var(--np-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.np\:absolute{position:absolute}.np\:inset-0{inset:calc(var(--np-spacing)*0)}.np\:top-0{top:calc(var(--np-spacing)*0)}.np\:right-0{right:calc(var(--np-spacing)*0)}.np\:bottom-0{bottom:calc(var(--np-spacing)*0)}.np\:left-0{left:calc(var(--np-spacing)*0)}.np\:origin-center{transform-origin:50%}.np\:-translate-x-1\/4{--tw-translate-x:calc(calc(1/4*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.np\:translate-x-1\/4{--tw-translate-x:calc(1/4*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.np\:-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.np\:translate-y-1\/2{--tw-translate-y:calc(1/2*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.np\:-rotate-45{rotate:-45deg}.np\:rotate-45{rotate:45deg}.np\:transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.np\:rounded-\[30\%\]{border-radius:30%}.np\:rounded-full{border-radius:3.40282e38px}.np\:rounded-none{border-radius:0}.np\:rounded-xl{border-radius:var(--np-radius-xl)}.np\:border{border-style:var(--tw-border-style);border-width:1px}.np\:border-2{border-style:var(--tw-border-style);border-width:2px}.np\:border-4{border-style:var(--tw-border-style);border-width:4px}.np\:border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.np\:bg-gray-100{background-color:var(--np-color-gray-100)}}:root{--pp-duration-fast:.15s;--pp-duration-normal:.2s;--pp-duration-slow:.3s;--pp-ease-default:cubic-bezier(.4,0,.2,1);--pp-ease-spring:cubic-bezier(.34,1.56,.64,1);--pp-ease-bounce:cubic-bezier(.68,-.55,.265,1.55);--pp-color-primary:#007aff;--pp-color-success:#30d158;--pp-color-warning:#ffd60a;--pp-color-error:#ff453a;--pp-color-gray:#8e8e93;--pp-shadow-sm:0 1px 2px 0 #0000000d;--pp-shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--pp-shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--pp-shadow-glow:0 0 20px 0 #6366f14d;--pp-focus-ring:0 0 0 3px #007aff66}@keyframes pp-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.98)}}@keyframes pp-skeleton{0%,to{opacity:1}50%{opacity:.5}}@keyframes pp-badge-bounce{0%{opacity:0;transform:scale(0)translateY(10px)}50%{transform:scale(1.2)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes pp-ring-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pp-presence-pulse{0%,to{box-shadow:0 0}50%{box-shadow:0 0 0 4px #0000}}@keyframes pp-glow{0%,to{box-shadow:0 0 20px 0 var(--pp-glow-color,#6366f14d)}50%{box-shadow:0 0 30px 5px var(--pp-glow-color,#6366f180)}}@keyframes pp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pp-scale-in{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes np-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.np-shimmer{background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%) 0 0/200% 100%;animation:1.5s infinite np-shimmer}.pp-container{--pp-transition-duration:var(--pp-duration-normal);--pp-transition-timing:var(--pp-ease-default);--pp-spring-timing:var(--pp-ease-spring);-webkit-user-select:none;user-select:none;backface-visibility:hidden;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;transform:translateZ(0)}.pp-inner{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.pp-interactive{cursor:pointer;transition:transform var(--pp-transition-duration)var(--pp-spring-timing),box-shadow var(--pp-transition-duration)var(--pp-transition-timing),filter var(--pp-transition-duration)var(--pp-transition-timing)}.pp-interactive:hover{filter:brightness(1.02);transform:scale(1.05)}.pp-interactive:active{filter:brightness(.98);transform:scale(.95)}.pp-interactive:focus-visible{box-shadow:var(--pp-focus-ring);outline:none}.pp-image{object-fit:cover;width:100%;height:100%;transition:opacity var(--pp-transition-duration)var(--pp-transition-timing);position:absolute;inset:0}.pp-image-loading{opacity:0}.pp-image-loaded{opacity:1}.pp-fallback{color:#fffffff2;text-shadow:0 1px 2px #0000001a;letter-spacing:.02em;justify-content:center;align-items:center;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;font-weight:500;display:flex}.pp-fallback-icon{color:#9ca3afcc}.pp-shimmer{position:absolute;inset:0;overflow:hidden}.pp-shimmer:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%);animation:1.5s infinite pp-shimmer;position:absolute;inset:0}.pp-pulse{animation:2s ease-in-out infinite pp-pulse}.pp-skeleton{background:linear-gradient(90deg,#e5e7eb 0%,#f3f4f6 50%,#e5e7eb 100%) 0 0/200% 100%;animation:1.5s ease-in-out infinite pp-skeleton}.pp-badge{animation:pp-badge-bounce .4s var(--pp-spring-timing);z-index:10;border:2px solid #fff;border-radius:9999px;justify-content:center;align-items:center;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-weight:600;line-height:1;display:flex;position:absolute;box-shadow:0 2px 4px #00000026}.pp-badge-pulse{animation:pp-badge-bounce .4s var(--pp-spring-timing),pp-presence-pulse 2s ease-in-out infinite .4s}.pp-badge-glow{box-shadow:0 0 10px 2px var(--pp-badge-glow-color,currentColor)}.pp-ribbon-container{z-index:10;pointer-events:none;position:absolute;overflow:hidden}.pp-ribbon{text-align:center;text-transform:uppercase;letter-spacing:.05em;width:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-weight:600;position:absolute;box-shadow:0 2px 4px #0003}.pp-ring{border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;position:absolute;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.pp-ring-animated{animation:3s linear infinite pp-ring-rotate}.pp-presence{z-index:10;border:2px solid #fff;border-radius:9999px;position:absolute;box-shadow:0 1px 3px #00000026}.pp-presence-animated{animation:2s ease-in-out infinite pp-presence-pulse}.pp-glow{animation:2s ease-in-out infinite pp-glow}@media (prefers-reduced-motion:reduce){.pp-container,.pp-interactive,.pp-image,.pp-shimmer:after,.pp-pulse,.pp-skeleton,.pp-badge,.pp-badge-pulse,.pp-ring-animated,.pp-presence-animated,.pp-glow,.np-shimmer{transition:none!important;animation:none!important}.pp-interactive:hover,.pp-interactive:active{transform:none!important}}@media (prefers-contrast:high){.pp-badge,.pp-presence{border-width:3px}.pp-container{outline:2px solid #0000}.pp-interactive:focus-visible{outline-offset:2px;outline:3px solid}}@media (prefers-color-scheme:dark){:root{--pp-shadow-sm:0 1px 2px 0 #0003;--pp-shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;--pp-shadow-lg:0 10px 15px -3px #0006,0 4px 6px -4px #0000004d}.pp-skeleton{background:linear-gradient(90deg,#374151 0%,#4b5563 50%,#374151 100%)}.pp-fallback-icon{color:#d1d5db99}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--np-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--np-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--np-spacing:.25rem;--np-radius-xl:.75rem;--np-default-font-family:var(--np-font-sans);--np-default-mono-font-family:var(--np-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--np-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--np-default-font-feature-settings,normal);font-variation-settings:var(--np-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--np-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--np-default-mono-font-feature-settings,normal);font-variation-settings:var(--np-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.np\:absolute{position:absolute}.np\:inset-0{inset:calc(var(--np-spacing)*0)}.np\:top-0{top:calc(var(--np-spacing)*0)}.np\:right-0{right:calc(var(--np-spacing)*0)}.np\:bottom-0{bottom:calc(var(--np-spacing)*0)}.np\:left-0{left:calc(var(--np-spacing)*0)}.np\:origin-center{transform-origin:50%}.np\:-translate-x-1\/4{--tw-translate-x:calc(calc(1/4*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.np\:translate-x-1\/4{--tw-translate-x:calc(1/4*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.np\:-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.np\:translate-y-1\/2{--tw-translate-y:calc(1/2*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.np\:-rotate-45{rotate:-45deg}.np\:rotate-45{rotate:45deg}.np\:transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.np\:rounded-\[30\%\]{border-radius:30%}.np\:rounded-full{border-radius:3.40282e38px}.np\:rounded-none{border-radius:0}.np\:rounded-xl{border-radius:var(--np-radius-xl)}.np\:border{border-style:var(--tw-border-style);border-width:1px}.np\:border-2{border-style:var(--tw-border-style);border-width:2px}.np\:border-4{border-style:var(--tw-border-style);border-width:4px}.np\:border-8{border-style:var(--tw-border-style);border-width:8px}.np\:border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.np\:border-\[5px\]{border-style:var(--tw-border-style);border-width:5px}.np\:border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}}:root{--pp-duration-fast:.15s;--pp-duration-normal:.2s;--pp-duration-slow:.3s;--pp-ease-default:cubic-bezier(.4,0,.2,1);--pp-ease-spring:cubic-bezier(.34,1.56,.64,1);--pp-ease-bounce:cubic-bezier(.68,-.55,.265,1.55);--pp-color-primary:#007aff;--pp-color-success:#30d158;--pp-color-warning:#ffd60a;--pp-color-error:#ff453a;--pp-color-gray:#8e8e93;--pp-shadow-sm:0 1px 2px 0 #0000000d;--pp-shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--pp-shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--pp-shadow-glow:0 0 20px 0 #6366f14d;--pp-focus-ring:0 0 0 3px #007aff66}@keyframes pp-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.98)}}@keyframes pp-skeleton{0%,to{opacity:1}50%{opacity:.5}}@keyframes pp-badge-bounce{0%{opacity:0;transform:scale(0)translateY(10px)}50%{transform:scale(1.2)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes pp-ring-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pp-presence-pulse{0%,to{box-shadow:0 0}50%{box-shadow:0 0 0 4px #0000}}@keyframes pp-glow{0%,to{box-shadow:0 0 20px 0 var(--pp-glow-color,#6366f14d)}50%{box-shadow:0 0 30px 5px var(--pp-glow-color,#6366f180)}}@keyframes pp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pp-scale-in{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes np-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.np-shimmer{background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%) 0 0/200% 100%;animation:1.5s infinite np-shimmer}.pp-container{--pp-transition-duration:var(--pp-duration-normal);--pp-transition-timing:var(--pp-ease-default);--pp-spring-timing:var(--pp-ease-spring);-webkit-user-select:none;user-select:none;backface-visibility:hidden;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;transform:translateZ(0)}.pp-inner{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.pp-interactive{cursor:pointer;transition:transform var(--pp-transition-duration)var(--pp-spring-timing),box-shadow var(--pp-transition-duration)var(--pp-transition-timing),filter var(--pp-transition-duration)var(--pp-transition-timing)}.pp-interactive:hover{filter:brightness(1.02);transform:scale(1.05)}.pp-interactive:active{filter:brightness(.98);transform:scale(.95)}.pp-interactive:focus-visible{box-shadow:var(--pp-focus-ring);outline:none}.pp-image{object-fit:cover;width:100%;height:100%;transition:opacity var(--pp-transition-duration)var(--pp-transition-timing);position:absolute;inset:0}.pp-image-loading{opacity:0}.pp-image-loaded{opacity:1}.pp-fallback{color:#fffffff2;text-shadow:0 1px 2px #0000001a;letter-spacing:.02em;justify-content:center;align-items:center;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;font-weight:500;display:flex}.pp-fallback-icon{color:#9ca3afcc}.pp-shimmer{position:absolute;inset:0;overflow:hidden}.pp-shimmer:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%);animation:1.5s infinite pp-shimmer;position:absolute;inset:0}.pp-pulse{animation:2s ease-in-out infinite pp-pulse}.pp-skeleton{background:linear-gradient(90deg,#e5e7eb 0%,#f3f4f6 50%,#e5e7eb 100%) 0 0/200% 100%;animation:1.5s ease-in-out infinite pp-skeleton}.pp-badge{animation:pp-badge-bounce .4s var(--pp-spring-timing);z-index:10;border-radius:9999px;justify-content:center;align-items:center;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-weight:600;line-height:1;display:flex;position:absolute;box-shadow:0 2px 4px #00000026}.pp-badge-pulse{animation:pp-badge-bounce .4s var(--pp-spring-timing),pp-presence-pulse 2s ease-in-out infinite .4s}.pp-badge-glow{box-shadow:0 0 10px 2px var(--pp-badge-glow-color,currentColor)}.pp-ribbon-container{z-index:10;pointer-events:none;position:absolute;overflow:hidden}.pp-ribbon{text-align:center;text-transform:uppercase;letter-spacing:.05em;width:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-weight:600;position:absolute;box-shadow:0 2px 4px #0003}.pp-ring{border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;position:absolute;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.pp-ring-animated{animation:3s linear infinite pp-ring-rotate}.pp-presence{z-index:10;border:2px solid #fff;border-radius:9999px;position:absolute;box-shadow:0 1px 3px #00000026}.pp-presence-animated{animation:2s ease-in-out infinite pp-presence-pulse}.pp-glow{animation:2s ease-in-out infinite pp-glow}@media (prefers-reduced-motion:reduce){.pp-container,.pp-interactive,.pp-image,.pp-shimmer:after,.pp-pulse,.pp-skeleton,.pp-badge,.pp-badge-pulse,.pp-ring-animated,.pp-presence-animated,.pp-glow,.np-shimmer{transition:none!important;animation:none!important}.pp-interactive:hover,.pp-interactive:active{transform:none!important}}@media (prefers-contrast:high){.pp-badge,.pp-presence{border-width:3px}.pp-container{outline:2px solid #0000}.pp-interactive:focus-visible{outline-offset:2px;outline:3px solid}}@media (prefers-color-scheme:dark){:root{--pp-shadow-sm:0 1px 2px 0 #0003;--pp-shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;--pp-shadow-lg:0 10px 15px -3px #0006,0 4px 6px -4px #0000004d}.pp-skeleton{background:linear-gradient(90deg,#374151 0%,#4b5563 50%,#374151 100%)}.pp-fallback-icon{color:#d1d5db99}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
package/dist/svelte.cjs CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';var lit=require('lit'),decorators_js=require('lit/decorators.js'),styleMap_js=require('lit/directives/style-map.js');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;var H=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var a=(t,r,e,n)=>{for(var i=n>1?void 0:n?W(r,e):r,p=t.length-1,l;p>=0;p--)(l=t[p])&&(i=(n?l(r,e,i):l(i))||i);return n&&i&&H(r,e,i),i};var C="grasco-profile-picture-styles",x=false;function k(){if(x||typeof document>"u")return;if(document.getElementById(C)){x=true;return}if(document.querySelector('link[href*="profile-picture"][href$="styles.css"]')){x=true;return}let r=Y();if(!r)return;let e=document.createElement("link");e.id=C,e.rel="stylesheet",e.href=r,document.head.appendChild(e),x=true;}function Y(){if(typeof window<"u"&&window.__GRASCO_PROFILE_PICTURE_CSS__)return window.__GRASCO_PROFILE_PICTURE_CSS__;try{let r=(typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('svelte.cjs', document.baseURI).href));if(r)return `${r.substring(0,r.lastIndexOf("/")+1)}styles.css`}catch{}let t=document.currentScript;if(t?.src){let r=new URL(t.src);return `${r.href.substring(0,r.href.lastIndexOf("/")+1)}styles.css`}return null}var w={"2xs":20,xs:24,sm:32,md:40,lg:48,xl:64,"2xl":80,"3xl":120},z={online:"#30D158",away:"#FFD60A",busy:"#FF453A",offline:"#8E8E93",dnd:"#FF453A"},$={none:"none",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",glow:"0 0 20px 0 rgba(99, 102, 241, 0.3)"},c={size:"md",variant:"circle",loading:"lazy",placeholder:"shimmer",borderWidth:2,borderColor:"#ffffff",placeholderColor:"#f3f4f6",shadow:"sm"};var m={circle:"9999px",rounded:"12px",squircle:"30%",square:"0px"};function f(...t){return t.filter(Boolean).join(" ")}function y(t){return /^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/.test(t)}function R(t){return {"top-left":"np:top-0 np:left-0","top-right":"np:top-0 np:right-0","bottom-left":"np:bottom-0 np:left-0","bottom-right":"np:bottom-0 np:right-0"}[t]}function I(t){return {"top-left":"np:-rotate-45 np:-translate-x-1/4 np:-translate-y-1/2","top-right":"np:rotate-45 np:translate-x-1/4 np:-translate-y-1/2","bottom-left":"np:rotate-45 np:-translate-x-1/4 np:translate-y-1/2","bottom-right":"np:-rotate-45 np:translate-x-1/4 np:translate-y-1/2"}[t]}function A(t){let e=t.trim().replace(/[^\w\s]/g,"").split(/\s+/).filter(Boolean);return e.length===0?"?":e.length===1?e[0].slice(0,1).toUpperCase():(e[0][0]+e[e.length-1][0]).toUpperCase()}function S(t){return Math.round(t*.38)}function E(t,r){let n=Math.max(r?18:10,Math.round(t*(r?.32:.22))),i=Math.round(n*.6);return {size:n,fontSize:i}}function M(t,r){return Math.max(8,Math.round(t*.25))+(r-1)*2}function L(t,r){return typeof t=="string"?t:r&&t>r?`${r}+`:t.toString()}function D(t){return t.length===0?"transparent":t.length===1?t[0]:`conic-gradient(${t.map((e,n)=>{let i=n/t.length*360,p=(n+1)/t.length*360;return `${e} ${i}deg ${p}deg`}).join(", ")})`}function q(t){let r=0;for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);r=(r<<5)-r+n,r&=r;}return Math.abs(r)}function F(t){let r=["linear-gradient(135deg, #667eea 0%, #764ba2 100%)","linear-gradient(135deg, #f093fb 0%, #f5576c 100%)","linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)","linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)","linear-gradient(135deg, #fa709a 0%, #fee140 100%)","linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)","linear-gradient(135deg, #d299c2 0%, #fef9d7 100%)","linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%)","linear-gradient(135deg, #cd9cf2 0%, #f6f3ff 100%)","linear-gradient(135deg, #fddb92 0%, #d1fdff 100%)"],e=q(t)%r.length;return r[e]}function B(t){return {circle:"np:rounded-full",rounded:"np:rounded-xl",squircle:"np:rounded-[30%]",square:"np:rounded-none"}[t]}function T(t,r){return {className:{1:"np:border",2:"np:border-2",3:"np:border-[3px]",4:"np:border-4"}[t],style:{borderColor:r,borderStyle:"solid"}}}function G(t,r){return r?{className:"",style:{background:r}}:t?t.includes("gradient")?{className:"",style:{background:t}}:{className:"",style:{backgroundColor:t}}:{className:"np:bg-gray-100"}}function U(t){return {boxShadow:$[t]}}var Z={shimmer:`
1
+ 'use strict';var lit=require('lit'),decorators_js=require('lit/decorators.js'),styleMap_js=require('lit/directives/style-map.js');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;var Q=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var s=(t,r,e,n)=>{for(var i=n>1?void 0:n?_(r,e):r,a=t.length-1,d;a>=0;a--)(d=t[a])&&(i=(n?d(r,e,i):d(i))||i);return n&&i&&Q(r,e,i),i};var I="grasco-profile-picture-styles",w=false;function $(){if(w||typeof document>"u")return;if(document.getElementById(I)){w=true;return}if(document.querySelector('link[href*="profile-picture"][href$="styles.css"]')){w=true;return}let r=P();if(!r)return;let e=document.createElement("link");e.id=I,e.rel="stylesheet",e.href=r,document.head.appendChild(e),w=true;}function P(){if(typeof window<"u"&&window.__GRASCO_PROFILE_PICTURE_CSS__)return window.__GRASCO_PROFILE_PICTURE_CSS__;try{let r=(typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('svelte.cjs', document.baseURI).href));if(r)return `${r.substring(0,r.lastIndexOf("/")+1)}dist/styles.css`}catch{}let t=document.currentScript;if(t?.src){let r=new URL(t.src);return `${r.href.substring(0,r.href.lastIndexOf("/")+1)}dist/styles.css`}return null}var v={"2xs":20,xs:24,sm:32,md:40,lg:48,xl:64,"2xl":80,"3xl":120},R={online:"#30D158",away:"#FFD60A",busy:"#FF453A",offline:"#8E8E93",dnd:"#FF453A"},z={none:"none",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",glow:"0 0 20px 0 rgba(99, 102, 241, 0.3)"},u={size:"md",variant:"circle",loading:"lazy",placeholder:"shimmer",borderWidth:2,borderColor:"#ffffff",placeholderColor:"#f3f4f6",shadow:"sm"};var x={circle:"9999px",rounded:"12px",squircle:"30%",square:"0px"};function b(...t){return t.filter(Boolean).join(" ")}function y(t){return /^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/.test(t)}function E(t){return {"top-left":"np:top-0 np:left-0","top-right":"np:top-0 np:right-0","bottom-left":"np:bottom-0 np:left-0","bottom-right":"np:bottom-0 np:right-0"}[t]}function A(t){return {"top-left":"np:-rotate-45 np:-translate-x-1/4 np:-translate-y-1/2","top-right":"np:rotate-45 np:translate-x-1/4 np:-translate-y-1/2","bottom-left":"np:rotate-45 np:-translate-x-1/4 np:translate-y-1/2","bottom-right":"np:-rotate-45 np:translate-x-1/4 np:translate-y-1/2"}[t]}function T(t){let e=t.trim().replace(/[^\w\s]/g,"").split(/\s+/).filter(Boolean);return e.length===0?"?":e.length===1?e[0].slice(0,1).toUpperCase():(e[0][0]+e[e.length-1][0]).toUpperCase()}function S(t){return Math.round(t*.38)}function L(t,r){let n=Math.max(r?18:10,Math.round(t*(r?.32:.22))),i=Math.round(n*.6);return {size:n,fontSize:i}}function B(t,r){return Math.max(8,Math.round(t*.25))+(r-1)*2}function U(t,r){return typeof t=="string"?t:r&&t>r?`${r}+`:t.toString()}function F(t){return t.length===0?"transparent":t.length===1?t[0]:`conic-gradient(${t.map((e,n)=>{let i=n/t.length*360,a=(n+1)/t.length*360;return `${e} ${i}deg ${a}deg`}).join(", ")})`}function ee(t){let r=0;for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);r=(r<<5)-r+n,r&=r;}return Math.abs(r)}function M(t,r,e){let i=Math.max(0,Math.min(100,t))/100*360;return `conic-gradient(from 270deg, ${r} 0deg ${i}deg, ${e} ${i}deg 360deg)`}function D(t){let r=["linear-gradient(135deg, #667eea 0%, #764ba2 100%)","linear-gradient(135deg, #f093fb 0%, #f5576c 100%)","linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)","linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)","linear-gradient(135deg, #fa709a 0%, #fee140 100%)","linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)","linear-gradient(135deg, #d299c2 0%, #fef9d7 100%)","linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%)","linear-gradient(135deg, #cd9cf2 0%, #f6f3ff 100%)","linear-gradient(135deg, #fddb92 0%, #d1fdff 100%)"],e=ee(t)%r.length;return r[e]}function N(t){return t<=80?"80":t<=120?"120":t<=240?"240":t<=480?"480":"960"}function O(t){if(!(t&&y(t)))return "light";let r=t.replace("#","");r.length===3&&(r=r.split("").map(d=>d+d).join(""));let e=Number.parseInt(r.slice(0,2),16),n=Number.parseInt(r.slice(2,4),16),i=Number.parseInt(r.slice(4,6),16);return (.299*e+.587*n+.114*i)/255>.5?"light":"dark"}function G(t,r,e,n,i){let a=t.endsWith("/")?t.slice(0,-1):t,d=`${r}_${e}_${n}.webp`;return `${a}/api/profile-picture/cdn/${d}?hostname=${i}`}function j(t){return {circle:"np:rounded-full",rounded:"np:rounded-xl",squircle:"np:rounded-[30%]",square:"np:rounded-none"}[t]}function V(t,r){return {className:{1:"np:border",2:"np:border-2",3:"np:border-[3px]",4:"np:border-4",5:"np:border-[5px]",6:"np:border-[6px]",8:"np:border-8"}[t],style:{borderColor:r,borderStyle:"solid"}}}function Y(t,r){return r?{className:"",style:{background:r}}:t?t.includes("gradient")?{className:"",style:{background:t}}:{className:"",style:{backgroundColor:t}}:{className:"",style:{backgroundColor:"#e7e7e7"}}}function H(t){return {boxShadow:z[t]}}var te={shimmer:`
2
2
  @keyframes pp-shimmer {
3
3
  0% { transform: translateX(-100%); }
4
4
  100% { transform: translateX(100%); }
@@ -36,8 +36,8 @@
36
36
  0% { transform: scale(0.8); opacity: 0; }
37
37
  50% { transform: scale(1.05); }
38
38
  100% { transform: scale(1); opacity: 1; }
39
- }`},_=Object.values(Z).join(`
40
- `),K=`
39
+ }`},ne=Object.values(te).join(`
40
+ `),re=`
41
41
  /* Profile Picture Component Styles */
42
42
  .pp-container {
43
43
  --pp-transition-duration: 200ms;
@@ -160,7 +160,18 @@
160
160
  line-height: 1;
161
161
  animation: pp-badge-bounce 0.4s var(--pp-spring-timing);
162
162
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
163
- border: 2px solid white;
163
+ }
164
+
165
+ .pp-badge-with-icon {
166
+ gap: 4px;
167
+ }
168
+
169
+ .pp-badge-icon {
170
+ display: inline-flex;
171
+ align-items: center;
172
+ justify-content: center;
173
+ line-height: 1;
174
+ flex-shrink: 0;
164
175
  }
165
176
 
166
177
  .pp-badge-pulse {
@@ -201,12 +212,18 @@
201
212
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
202
213
  -webkit-mask-composite: xor;
203
214
  mask-composite: exclude;
215
+ transition: background 0.3s ease;
204
216
  }
205
217
 
206
218
  .pp-ring-animated {
207
219
  animation: pp-ring-rotate 3s linear infinite;
208
220
  }
209
221
 
222
+ .pp-ring-progress {
223
+ /* Progress rings should not animate rotation */
224
+ animation: none;
225
+ }
226
+
210
227
  /* Presence indicator */
211
228
  .pp-presence {
212
229
  position: absolute;
@@ -242,8 +259,8 @@
242
259
  transition: none !important;
243
260
  }
244
261
  }
245
- `,O=`${_}
246
- ${K}`,j=`
262
+ `,W=`${ne}
263
+ ${re}`,J=`
247
264
  @keyframes np-shimmer {
248
265
  0% { background-position: -200% 0; }
249
266
  100% { background-position: 200% 0; }
@@ -253,10 +270,10 @@ ${K}`,j=`
253
270
  background-size: 200% 100%;
254
271
  animation: np-shimmer 1.5s infinite;
255
272
  }
256
- `;function N(t,r=.3){if(y(t)){let e=Number.parseInt(t.slice(1,3),16),n=Number.parseInt(t.slice(3,5),16),i=Number.parseInt(t.slice(5,7),16);return `0 0 20px 0 rgba(${e}, ${n}, ${i}, ${r})`}return `0 0 20px 0 ${t}`}var o=class extends lit.LitElement{constructor(){super(...arguments);this.src="";this.alt="";this.size=c.size;this.variant=c.variant;this.shadow=c.shadow;this.border=false;this.borderWidth=c.borderWidth;this.borderColor=c.borderColor;this.loading=c.loading;this.placeholder=c.placeholder;this.placeholderColor=c.placeholderColor;this.isLoaded=false;this.hasError=false;this.previousSrc="";}createRenderRoot(){return o.injectStylesOnce(),this}static injectStylesOnce(){if(o.stylesInjected||typeof document>"u")return;let e=document.createElement("style");e.textContent=O,document.head.appendChild(e),o.stylesInjected=true;}get pixelSize(){let e=this.size;return typeof e=="number"?e:w[e]??w[c.size]}willUpdate(e){e.has("src")&&this.src!==this.previousSrc&&(this.isLoaded=false,this.hasError=false,this.previousSrc=this.src);}handleLoad(){this.isLoaded=true,this.dispatchEvent(new CustomEvent("load",{bubbles:true,composed:true}));}handleError(){this.hasError=true,this.isLoaded=true,this.dispatchEvent(new CustomEvent("error",{bubbles:true,composed:true}));}getContainerStyles(){let e=G(this.bgColor,this.bgGradient),n=this.border?T(this.borderWidth,this.borderColor):null,i=U(this.shadow),p={};if(this.glow){let u=this.glow.color??this.borderColor??"#6366f1";p={"--pp-glow-color":u,boxShadow:N(u,this.glow.intensity??.3)};}let l=this.interactive?.hoverable||this.interactive?.pressable;return {classes:f("pp-container",B(this.variant),e.className,n?.className,l&&"pp-interactive",this.glow?.animate&&"pp-glow"),styles:{width:`${this.pixelSize}px`,height:`${this.pixelSize}px`,borderRadius:m[this.variant],...e.style,...n?.style,...i,...p,cursor:this.interactive?.cursor??(l?"pointer":"default")}}}renderPlaceholder(){if(this.isLoaded||this.placeholder==="none")return lit.nothing;let e={shimmer:"pp-shimmer",pulse:"pp-pulse",skeleton:"pp-skeleton",blur:"",none:""}[this.placeholder];return lit.html`
257
- ${this.placeholder==="shimmer"?lit.html`<style>${j}</style>`:lit.nothing}
273
+ `;function q(t,r=.3){if(y(t)){let e=Number.parseInt(t.slice(1,3),16),n=Number.parseInt(t.slice(3,5),16),i=Number.parseInt(t.slice(5,7),16);return `0 0 20px 0 rgba(${e}, ${n}, ${i}, ${r})`}return `0 0 20px 0 ${t}`}var o=class extends lit.LitElement{constructor(){super(...arguments);this.src="";this.alt="";this.size=u.size;this.variant=u.variant;this.shadow=u.shadow;this.border=false;this.borderWidth=u.borderWidth;this.borderColor=u.borderColor;this.rotation=0;this.loading=u.loading;this.placeholder=u.placeholder;this.placeholderColor=u.placeholderColor;this.isLoaded=false;this.hasError=false;this.cdnLoadFailed=false;this.previousSrc="";this.RETRY_DELAY_MS=3e4;}static setCdnBaseUrl(e){o.cdnBaseUrl=e,o.instances.forEach(n=>{n.extCustomerId&&!n.cdnImageUrl&&(n.cdnLoadFailed=false,n.retryTimeoutId&&(clearTimeout(n.retryTimeoutId),n.retryTimeoutId=void 0),n.previousExtCustomerId||(n.previousExtCustomerId=n.extCustomerId),n.loadCdnImage());});}static getCdnBaseUrl(){return o.cdnBaseUrl}createRenderRoot(){return o.injectStylesOnce(),this}static injectStylesOnce(){if(o.stylesInjected||typeof document>"u")return;let e=document.createElement("style");e.textContent=W,document.head.appendChild(e),o.stylesInjected=true;}get pixelSize(){let e=this.size;return typeof e=="number"?e:v[e]??v[u.size]}connectedCallback(){super.connectedCallback(),o.instances.add(this);}disconnectedCallback(){super.disconnectedCallback(),o.instances.delete(this),this.retryTimeoutId&&(clearTimeout(this.retryTimeoutId),this.retryTimeoutId=void 0);}firstUpdated(){this.extCustomerId&&o.cdnBaseUrl&&(this.previousExtCustomerId=this.extCustomerId,this.loadCdnImage());}updated(e){super.updated(e),this.extCustomerId&&o.cdnBaseUrl&&!this.cdnImageUrl&&(this.cdnLoadFailed||!this.previousExtCustomerId)&&(this.previousExtCustomerId||(this.previousExtCustomerId=this.extCustomerId),this.cdnLoadFailed=false,this.loadCdnImage());}willUpdate(e){e.has("src")&&this.src!==this.previousSrc&&(this.isLoaded=false,this.hasError=false,this.previousSrc=this.src),(e.has("extCustomerId")||e.has("size")||e.has("bgColor"))&&this.extCustomerId!==this.previousExtCustomerId&&(this.previousExtCustomerId=this.extCustomerId,this.cdnImageUrl=void 0,this.cdnLoadFailed=false,this.isLoaded=false,this.hasError=false,this.retryTimeoutId&&(clearTimeout(this.retryTimeoutId),this.retryTimeoutId=void 0),this.loadCdnImage());}handleLoad(){this.isLoaded=true,this.dispatchEvent(new CustomEvent("load",{bubbles:true,composed:true}));}handleError(){if(this.cdnImageUrl&&!this.cdnLoadFailed){this.cdnLoadFailed=true,this.cdnImageUrl=void 0,this.dispatchEvent(new CustomEvent("cdn-error",{bubbles:true,composed:true,detail:{error:"Image load failed"}})),this.retryTimeoutId&&clearTimeout(this.retryTimeoutId),this.retryTimeoutId=setTimeout(()=>{this.retryTimeoutId=void 0,this.extCustomerId&&o.cdnBaseUrl&&(this.cdnLoadFailed=false,this.hasError=false,this.isLoaded=false,this.loadCdnImage());},this.RETRY_DELAY_MS);return}this.hasError=true,this.isLoaded=true,this.dispatchEvent(new CustomEvent("error",{bubbles:true,composed:true}));}loadCdnImage(){if(!(this.extCustomerId&&o.cdnBaseUrl)){this.cdnLoadFailed=true;return}let e=N(this.pixelSize),n=O(this.bgColor),i=typeof window<"u"?window.location.hostname:"localhost";this.cdnImageUrl=G(o.cdnBaseUrl,this.extCustomerId,e,n,i);}getContainerStyles(){let e=Y(this.bgColor,this.bgGradient),n=this.border?V(this.borderWidth,this.borderColor):null,i=H(this.shadow),a={};if(this.glow){let f=this.glow.color??this.borderColor??"#6366f1";a={"--pp-glow-color":f,boxShadow:q(f,this.glow.intensity??.3)};}let d=this.interactive?.hoverable||this.interactive?.pressable;return {classes:b("pp-container",j(this.variant),e.className,n?.className,d&&"pp-interactive",this.glow?.animate&&"pp-glow"),styles:{width:`${this.pixelSize}px`,height:`${this.pixelSize}px`,borderRadius:x[this.variant],...e.style,...n?.style,...i,...a,cursor:this.interactive?.cursor??(d?"pointer":"default"),transform:this.rotation?`rotate(${this.rotation}deg)`:void 0}}}renderPlaceholder(){if(this.isLoaded||this.placeholder==="none")return lit.nothing;let e={shimmer:"pp-shimmer",pulse:"pp-pulse",skeleton:"pp-skeleton",blur:"",none:""}[this.placeholder];return lit.html`
274
+ ${this.placeholder==="shimmer"?lit.html`<style>${J}</style>`:lit.nothing}
258
275
  <div
259
- class=${f("np:absolute np:inset-0",e)}
276
+ class=${b("np:absolute np:inset-0",e)}
260
277
  style=${styleMap_js.styleMap({backgroundColor:this.placeholderColor,borderRadius:"inherit"})}>
261
278
  </div>
262
279
  `}renderFallback(){if(this.fallback)return lit.html`
@@ -265,11 +282,11 @@ ${K}`,j=`
265
282
  style=${styleMap_js.styleMap({fontSize:`${S(this.pixelSize)}px`})}>
266
283
  ${this.fallback}
267
284
  </span>
268
- `;if(this.alt){let n=F(this.alt);return lit.html`
285
+ `;if(this.alt){let n=D(this.alt);return lit.html`
269
286
  <div
270
287
  class="pp-fallback np:absolute np:inset-0"
271
288
  style=${styleMap_js.styleMap({background:this.bgColor??n,fontSize:`${S(this.pixelSize)}px`})}>
272
- ${A(this.alt)}
289
+ ${T(this.alt)}
273
290
  </div>
274
291
  `}let e=this.pixelSize*.5;return lit.html`
275
292
  <svg
@@ -279,40 +296,41 @@ ${K}`,j=`
279
296
  viewBox="0 0 24 24">
280
297
  <path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" />
281
298
  </svg>
282
- `}renderImage(){return this.hasError||!this.src?this.renderFallback():lit.html`
299
+ `}renderImage(){let e=!!(this.extCustomerId&&o.cdnBaseUrl),n;return this.cdnImageUrl?n=this.cdnImageUrl:(!e||this.cdnLoadFailed)&&(n=this.src),this.hasError||!n?this.renderFallback():lit.html`
283
300
  <img
284
- src=${this.src}
301
+ src=${n}
285
302
  alt=${this.alt}
286
303
  loading=${this.loading}
287
304
  decoding="async"
288
305
  @load=${this.handleLoad}
289
306
  @error=${this.handleError}
290
- class=${f("pp-image",this.isLoaded?"pp-image-loaded":"pp-image-loading")}
307
+ class=${b("pp-image",this.isLoaded?"pp-image-loaded":"pp-image-loading")}
291
308
  draggable="false" />
292
- `}renderRing(){if(!this.ring?.show)return lit.nothing;let e=this.ring.width??3,n=this.ring.gap??3,i=e+n,p;return this.ring.gradient&&this.ring.gradient.length>0?p=D(this.ring.gradient):p=this.ring.color??"linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888)",lit.html`
309
+ `}renderRing(){if(!this.ring?.show)return lit.nothing;let e=this.ring.width??3,n=this.ring.gap??3,i=e+n,a,d=this.ring.progress!==void 0;if(d){let f=this.ring.progress??0,m=this.ring.color??"#30D158",h=this.ring.emptyColor??"#8E8E93";a=M(f,m,h);}else this.ring.gradient&&this.ring.gradient.length>0?a=F(this.ring.gradient):a=this.ring.color??"linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888)";return lit.html`
293
310
  <div
294
- class=${f("pp-ring",this.ring.animate&&"pp-ring-animated")}
295
- style=${styleMap_js.styleMap({inset:`-${i}px`,padding:`${e}px`,background:p,borderRadius:m[this.variant]})}>
311
+ class=${b("pp-ring",this.ring.animate&&!d&&"pp-ring-animated",d&&"pp-ring-progress")}
312
+ style=${styleMap_js.styleMap({inset:`-${i}px`,padding:`${e}px`,background:a,borderRadius:x[this.variant]})}>
296
313
  </div>
297
- `}renderPresence(){if(!this.presence)return lit.nothing;let e=this.presence.thickness??2,n=M(this.pixelSize,e),i=z[this.presence.status],p=Math.max(0,this.pixelSize*.02);return lit.html`
314
+ `}renderPresence(){if(!this.presence)return lit.nothing;let e=this.presence.thickness??2,n=B(this.pixelSize,e),i=R[this.presence.status],a=Math.max(0,this.pixelSize*.02);return lit.html`
298
315
  <div
299
- class=${f("pp-presence",this.presence.animate&&"pp-presence-animated")}
300
- style=${styleMap_js.styleMap({width:`${n}px`,height:`${n}px`,backgroundColor:i,bottom:`${p}px`,right:`${p}px`,color:i})}
316
+ class=${b("pp-presence",this.presence.animate&&"pp-presence-animated")}
317
+ style=${styleMap_js.styleMap({width:`${n}px`,height:`${n}px`,backgroundColor:i,bottom:`${a}px`,right:`${a}px`,color:i})}
301
318
  title=${this.presence.status}>
302
319
  </div>
303
- `}renderBadge(){if(!this.badge)return lit.nothing;let e=this.badge.position??"bottom-right",n=this.badge.content!==void 0,{size:i,fontSize:p}=E(this.pixelSize,n),l=this.badge.bgColor??"#22c55e",u=this.badge.color??"#ffffff",v=n&&this.badge.content!==void 0?L(this.badge.content,this.badge.max):null,h={"top-left":{top:"-4px",left:"-4px"},"top-right":{top:"-4px",right:"-4px"},"bottom-left":{bottom:"-4px",left:"-4px"},"bottom-right":{bottom:"-4px",right:"-4px"}};return lit.html`
320
+ `}renderBadge(){if(!this.badge)return lit.nothing;let e=this.badge.position??"bottom-right",n=this.badge.content!==void 0,i=this.badge.icon!==void 0,a=n||i,{size:d,fontSize:f}=L(this.pixelSize,a),m=this.badge.bgColor??"#22c55e",h=this.badge.color??"#ffffff",Z=n&&this.badge.content!==void 0?U(this.badge.content,this.badge.max):null,k=i?this.badge.icon:null,K=f*.9,X={"top-left":{top:"-4px",left:"-4px"},"top-right":{top:"-4px",right:"-4px"},"bottom-left":{bottom:"-4px",left:"-4px"},"bottom-right":{bottom:"-4px",right:"-4px"}};return lit.html`
304
321
  <div
305
- class=${f("pp-badge",this.badge.pulse&&"pp-badge-pulse",this.badge.glow&&"pp-badge-glow")}
306
- style=${styleMap_js.styleMap({width:n?"auto":`${i}px`,minWidth:`${i}px`,height:`${i}px`,padding:n?"0 6px":"0",fontSize:`${p}px`,backgroundColor:l,color:u,"--pp-badge-glow-color":l,...h[e]})}>
307
- ${v??lit.nothing}
322
+ class=${b("pp-badge",this.badge.pulse&&"pp-badge-pulse",this.badge.glow&&"pp-badge-glow",i&&"pp-badge-with-icon")}
323
+ style=${styleMap_js.styleMap({width:a?"auto":`${d}px`,minWidth:`${d}px`,height:`${d}px`,padding:a?"0 6px":"0",fontSize:`${f}px`,backgroundColor:m,color:h,"--pp-badge-glow-color":m,gap:i&&n?"4px":"0",...X[e]})}>
324
+ ${k?lit.html`<span class="pp-badge-icon" style=${styleMap_js.styleMap({fontSize:`${K}px`})}>${k}</span>`:lit.nothing}
325
+ ${Z??lit.nothing}
308
326
  </div>
309
- `}renderRibbon(){if(!this.ribbon)return lit.nothing;let e=this.ribbon.position??"top-right",n=this.ribbon.bgColor??"#ef4444",i=this.ribbon.color??"#ffffff",p=y(n)?{backgroundColor:n}:{background:n},l={color:i},u=this.pixelSize*.9,v=this.pixelSize*.4,h=Math.max(8,this.pixelSize*.11);return lit.html`
327
+ `}renderRibbon(){if(!this.ribbon)return lit.nothing;let e=this.ribbon.position??"top-right",n=this.ribbon.bgColor??"#ef4444",i=this.ribbon.color??"#ffffff",a=y(n)?{backgroundColor:n}:{background:n},d={color:i},f=this.pixelSize*.9,m=this.pixelSize*.4,h=Math.max(8,this.pixelSize*.11);return lit.html`
310
328
  <div
311
- class=${f("pp-ribbon-container",R(e))}
312
- style=${styleMap_js.styleMap({width:`${u}px`,height:`${v}px`})}>
329
+ class=${b("pp-ribbon-container",E(e))}
330
+ style=${styleMap_js.styleMap({width:`${f}px`,height:`${m}px`})}>
313
331
  <div
314
- class=${f("pp-ribbon np:origin-center np:transform",I(e))}
315
- style=${styleMap_js.styleMap({fontSize:`${h}px`,padding:`${h*.3}px 0`,...p,...l})}>
332
+ class=${b("pp-ribbon np:origin-center np:transform",A(e))}
333
+ style=${styleMap_js.styleMap({fontSize:`${h}px`,padding:`${h*.3}px 0`,...a,...d})}>
316
334
  ${this.ribbon.icon?lit.html`<span style="margin-right: 2px">${this.ribbon.icon}</span>`:lit.nothing}
317
335
  ${this.ribbon.text}
318
336
  </div>
@@ -332,7 +350,7 @@ ${K}`,j=`
332
350
  <!-- Inner container for image clipping -->
333
351
  <div
334
352
  class="pp-inner"
335
- style=${styleMap_js.styleMap({borderRadius:m[this.variant]})}>
353
+ style=${styleMap_js.styleMap({borderRadius:x[this.variant]})}>
336
354
  <!-- Placeholder -->
337
355
  ${this.renderPlaceholder()}
338
356
 
@@ -349,5 +367,5 @@ ${K}`,j=`
349
367
  <!-- Presence Indicator -->
350
368
  ${this.renderPresence()}
351
369
  </div>
352
- `}};o.stylesInjected=false,a([decorators_js.property({type:String})],o.prototype,"src",2),a([decorators_js.property({type:String})],o.prototype,"alt",2),a([decorators_js.property({type:String})],o.prototype,"size",2),a([decorators_js.property({type:String})],o.prototype,"variant",2),a([decorators_js.property({type:String})],o.prototype,"shadow",2),a([decorators_js.property({type:Boolean})],o.prototype,"border",2),a([decorators_js.property({type:Number,attribute:"border-width"})],o.prototype,"borderWidth",2),a([decorators_js.property({type:String,attribute:"border-color"})],o.prototype,"borderColor",2),a([decorators_js.property({type:String,attribute:"bg-color"})],o.prototype,"bgColor",2),a([decorators_js.property({type:String,attribute:"bg-gradient"})],o.prototype,"bgGradient",2),a([decorators_js.property({type:Object,attribute:false})],o.prototype,"ring",2),a([decorators_js.property({type:Object,attribute:false})],o.prototype,"presence",2),a([decorators_js.property({type:Object,attribute:false})],o.prototype,"glow",2),a([decorators_js.property({type:Object,attribute:false})],o.prototype,"ribbon",2),a([decorators_js.property({type:Object,attribute:false})],o.prototype,"badge",2),a([decorators_js.property({type:String})],o.prototype,"loading",2),a([decorators_js.property({type:String})],o.prototype,"placeholder",2),a([decorators_js.property({type:String,attribute:"placeholder-color"})],o.prototype,"placeholderColor",2),a([decorators_js.property({type:String})],o.prototype,"fallback",2),a([decorators_js.property({type:Object,attribute:false})],o.prototype,"interactive",2),a([decorators_js.state()],o.prototype,"isLoaded",2),a([decorators_js.state()],o.prototype,"hasError",2),o=a([decorators_js.customElement("profile-picture")],o);k();//# sourceMappingURL=svelte.cjs.map
370
+ `}};o.stylesInjected=false,o.cdnBaseUrl="",o.instances=new Set,s([decorators_js.property({type:String})],o.prototype,"src",2),s([decorators_js.property({type:String})],o.prototype,"alt",2),s([decorators_js.property({type:String,attribute:"ext-customer-id"})],o.prototype,"extCustomerId",2),s([decorators_js.property({type:String})],o.prototype,"size",2),s([decorators_js.property({type:String})],o.prototype,"variant",2),s([decorators_js.property({type:String})],o.prototype,"shadow",2),s([decorators_js.property({type:Boolean})],o.prototype,"border",2),s([decorators_js.property({type:Number,attribute:"border-width"})],o.prototype,"borderWidth",2),s([decorators_js.property({type:String,attribute:"border-color"})],o.prototype,"borderColor",2),s([decorators_js.property({type:Number})],o.prototype,"rotation",2),s([decorators_js.property({type:String,attribute:"bg-color"})],o.prototype,"bgColor",2),s([decorators_js.property({type:String,attribute:"bg-gradient"})],o.prototype,"bgGradient",2),s([decorators_js.property({type:Object,attribute:"ring",converter:{fromAttribute:e=>{if(e)try{return JSON.parse(e)}catch{return}},toAttribute:e=>e?JSON.stringify(e):null}})],o.prototype,"ring",2),s([decorators_js.property({type:Object,attribute:"presence",converter:{fromAttribute:e=>{if(e)try{return JSON.parse(e)}catch{return}},toAttribute:e=>e?JSON.stringify(e):null}})],o.prototype,"presence",2),s([decorators_js.property({type:Object,attribute:"glow",converter:{fromAttribute:e=>{if(e)try{return JSON.parse(e)}catch{return}},toAttribute:e=>e?JSON.stringify(e):null}})],o.prototype,"glow",2),s([decorators_js.property({type:Object,attribute:"ribbon",converter:{fromAttribute:e=>{if(e)try{return JSON.parse(e)}catch{return}},toAttribute:e=>e?JSON.stringify(e):null}})],o.prototype,"ribbon",2),s([decorators_js.property({type:Object,attribute:"badge",converter:{fromAttribute:e=>{if(e)try{return JSON.parse(e)}catch{return}},toAttribute:e=>e?JSON.stringify(e):null}})],o.prototype,"badge",2),s([decorators_js.property({type:String})],o.prototype,"loading",2),s([decorators_js.property({type:String})],o.prototype,"placeholder",2),s([decorators_js.property({type:String,attribute:"placeholder-color"})],o.prototype,"placeholderColor",2),s([decorators_js.property({type:String})],o.prototype,"fallback",2),s([decorators_js.property({type:Object,attribute:"interactive",converter:{fromAttribute:e=>{if(e)try{return JSON.parse(e)}catch{return}},toAttribute:e=>e?JSON.stringify(e):null}})],o.prototype,"interactive",2),s([decorators_js.state()],o.prototype,"isLoaded",2),s([decorators_js.state()],o.prototype,"hasError",2),s([decorators_js.state()],o.prototype,"cdnImageUrl",2),s([decorators_js.state()],o.prototype,"cdnLoadFailed",2),o=s([decorators_js.customElement("profile-picture")],o);$();//# sourceMappingURL=svelte.cjs.map
353
371
  //# sourceMappingURL=svelte.cjs.map