UNPKG

@nopwdio/sdk-js

Version:
35 lines (27 loc) 2.53 kB
import{c as b}from"../chunk-MI4LMNWM.js";import{c as u,i as d,j as g}from"../chunk-PJMUNIPM.js";import{a as s}from"../chunk-HHPIKOXT.js";import{a as p,b as m}from"../chunk-325E7D5T.js";import{a as c,b as e,d as i,e as l,f as a}from"../chunk-X5RZB7NH.js";import"../chunk-4DGRMKHT.js";import"../chunk-XGY7T5A3.js";import"../chunk-VS4C5FIV.js";import"../chunk-EX74VC7J.js";import{a as o}from"../chunk-JFKSI6I7.js";var h=c` :host { display: flex; } button { display: flex; flex-grow: 1; gap: var(--np-component-icon-gap); justify-content: center; align-items: center; margin: 0; padding: var(--np-component-padding); border: solid var(--np-component-border-color) var(--np-component-border-width); border-radius: var(--np-component-border-radius); font-size: var(--np-component-font-size); font-weight: var(--np-component-font-weight); color: var(--np-component-text-color); background-color: var(--np-component-background-color); } :host { --np-component-border-color: var(--np-core-color-black); --np-component-text-color: var(--np-core-color-white); --np-component-background-color: var(--np-core-color-black); } `;var f=(r=>(r.LOGGINGOUT="loggingout",r.LOGGEDOUT="loggedout",r.ERROR="error",r))(f||{}),t=class extends i{constructor(){super(...arguments);this.state=void 0;this.resetDuration=2e3}async connectedCallback(){super.connectedCallback()}async disconnectedCallback(){super.disconnectedCallback()}async logout(){if(!this.state)try{this.state="loggingout",await b(),this.state="loggedout",await this.signalSuccess()}catch(n){return this.signalError(n)}}async onClick(){await this.logout()}async signalSuccess(){this.state="loggedout",this.dispatchEvent(new CustomEvent("np:logout",{composed:!0,cancelable:!0,bubbles:!0})),await s(this.resetDuration),this.state=void 0}async signalError(n){this.state="error",this.dispatchEvent(new CustomEvent("np:error",{composed:!0,cancelable:!0,bubbles:!0,detail:n})),await s(this.resetDuration),this.state=void 0}render(){return e`<button @click=${this.onClick} part="button"> ${this.state?this.state==="loggingout"?e`${d}<slot name="loggingout">Logging out...</slot>`:this.state==="loggedout"?e`${u}<slot name="loggedout">Logged out!</slot>`:e`${g}<slot name="error">Logout</slot>`:e`<slot>Logout</slot>`} </button>`}};t.styles=[p,m,h],o([a({reflect:!0})],t.prototype,"state",2),o([a({type:Number})],t.prototype,"resetDuration",2),t=o([l("np-logout")],t);export{t as NpLogout,f as State};