UNPKG

@descope/sdk-component-drivers

Version:
3 lines (2 loc) 15.7 kB
"use strict";var e=require("tslib"),t=require("@descope/sdk-helpers");var i,l;class r{constructor(t,l){i.set(this,void 0),this.nodeName="",e.__classPrivateFieldSet(this,i,t,"f"),this.logger=l.logger}get asyncEle(){return(async(e,t)=>new Promise((i=>{const l=setInterval((()=>{const t="function"==typeof e?e():e;t&&(clearInterval(l),i(t))}),100);setTimeout((()=>{clearInterval(l),i(null)}),t)})))(e.__classPrivateFieldGet(this,i,"f"),1e3)}get ele(){var t,l;const r="function"==typeof e.__classPrivateFieldGet(this,i,"f")?e.__classPrivateFieldGet(this,i,"f").call(this):e.__classPrivateFieldGet(this,i,"f");return r?(null==r?void 0:r.localName)!==this.nodeName?(null===(l=this.logger)||void 0===l||l.debug(`node name do not match, expected "${this.nodeName}", received "${r.localName}" `,Error()),null):r:(null===(t=this.logger)||void 0===t||t.debug(`Driver element is not available for ${this.nodeName}`,new Error),null)}get isExists(){return!!this.ele}}i=new WeakMap;class s extends r{constructor(){super(...arguments),this.nodeName="descope-button"}onClick(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("click",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("click",e)}}disable(){var e;null===(e=this.ele)||void 0===e||e.setAttribute("disabled","true")}enable(){var e;null===(e=this.ele)||void 0===e||e.removeAttribute("disabled")}}const n=/^descope-grid-([^-]+)-column$/,o={text:class extends r{constructor(){super(...arguments),this.nodeName="descope-grid-text-column"}onSortDirectionChange(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("direction-changed",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("selected-items-changed",e)}}},custom:class extends r{constructor(){super(...arguments),this.nodeName="descope-grid-custom-column"}onSortDirectionChange(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("direction-changed",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("selected-items-changed",e)}}}};l=new WeakMap;var d,a,v,u;a=new WeakMap,v=new WeakMap,d=new WeakSet,u=function(){if(e.__classPrivateFieldGet(this,v,"f"))return;const t=this.ele;t&&(e.__classPrivateFieldSet(this,v,new MutationObserver((e=>{e.forEach(((i,l)=>{var r;const s="true"===i.oldValue,n=e[l+1]?e[l+1].oldValue:t.getAttribute("opened");s&&"true"!==n&&(null===(r=this.afterClose)||void 0===r||r.call(this))}))})),"f"),e.__classPrivateFieldGet(this,v,"f").observe(t,{attributes:!0,attributeFilter:["opened"],attributeOldValue:!0}))};class c extends r{constructor(){super(...arguments),this.nodeName="descope-combo-box"}onInput(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("input",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("input",e)}}get value(){var e;return null===(e=this.ele)||void 0===e?void 0:e.value}set value(e){this.ele&&(this.ele.value=e)}async setData(e){var t;null===(t=await this.asyncEle)||void 0===t||t.setAttribute("data",JSON.stringify(e.sort()))}setAllowCustomValue(e){this.ele&&this.ele.toggleAttribute("allow-custom-value",e)}}exports.AppsListDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-apps-list"}set data(e){this.ele&&(this.ele.data=e)}get data(){var e;return null===(e=this.ele)||void 0===e?void 0:e.data}get ele(){return super.ele}},exports.AvatarDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-avatar"}set displayName(e){var t;null===(t=this.ele)||void 0===t||t.setAttribute("display-name",e)}set image(e){var t;null===(t=this.ele)||void 0===t||t.setAttribute("img",e)}get flowId(){var e;return null===(e=this.ele)||void 0===e?void 0:e.getAttribute("flow-id")}onClick(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("click",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("click",e)}}},exports.ButtonDriver=s,exports.DeviceListDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-trusted-devices"}set displayName(e){var t;null===(t=this.ele)||void 0===t||t.setAttribute("display-name",e)}get ele(){return super.ele}get data(){var e;return null===(e=this.ele)||void 0===e?void 0:e.data}set data(e){this.ele&&(this.ele.data=e)}get flowId(){var e;return null===(e=this.ele)||void 0===e?void 0:e.getAttribute("flow-id")}onRemoveDeviceClick(e){var t;const i=t=>e(t.detail);return null===(t=this.ele)||void 0===t||t.addEventListener("remove-device-clicked",i),()=>{var e;return null===(e=this.ele)||void 0===e?void 0:e.removeEventListener("remove-device-clicked",i)}}},exports.FlowButtonDriver=class extends s{get flowId(){var e;return(null===(e=this.ele)||void 0===e?void 0:e.getAttribute("flow-id"))||""}},exports.FlowDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-wc"}set projectId(e){var t;null===(t=this.ele)||void 0===t||t.setAttribute("project-id",e)}set baseUrl(e){var t;null===(t=this.ele)||void 0===t||t.setAttribute("base-url",e)}set flowId(e){var t;null===(t=this.ele)||void 0===t||t.setAttribute("flow-id",e)}set theme(e){var t,i;e?null===(i=this.ele)||void 0===i||i.setAttribute("theme",e):null===(t=this.ele)||void 0===t||t.removeAttribute("theme")}onSuccess(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("success",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("success",e)}}onPageUpdated(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("page-updated",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("page-updated",e)}}},exports.GenericFlowButtonDriver=class extends s{get flowId(){var e;return(null===(e=this.ele)||void 0===e?void 0:e.getAttribute("flow-id"))||""}get enableMode(){var e;return null===(e=this.ele)||void 0===e?void 0:e.getAttribute("enable-mode")}},exports.GridDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-grid",l.set(this,void 0)}onSelectedItemsChange(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("selected-items-changed",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("selected-items-changed",e)}}get ele(){return super.ele}get data(){var e;return null===(e=this.ele)||void 0===e?void 0:e.data}set data(e){this.ele&&(this.ele.data=e)}get columns(){return this.ele?Array.from(this.ele.children).reduce(((e,t)=>{var i;const l=null===(i=n.exec(t.localName))||void 0===i?void 0:i[1],r=o[l];return r?(e.push(new r(t,{logger:this.logger})),e):e}),[]):[]}filterColumns(i){var r,s;const n=null===(r=this.ele.columns)||void 0===r?void 0:r.filter(i);n&&this.ele.columns&&(t.compareArrays(n,this.ele.columns)||(this.ele.columns=n,null===(s=e.__classPrivateFieldGet(this,l,"f"))||void 0===s||s.call(this,n)))}onColumnsChange(t){e.__classPrivateFieldSet(this,l,t,"f")}set renderColumn(e){this.ele.renderColumn=e}},exports.LastAuthBadgeDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-attachment"}set position(e){var t;null===(t=this.ele)||void 0===t||t.setAttribute("position",e)}get position(){var e,t;return null!==(t=null===(e=this.ele)||void 0===e?void 0:e.getAttribute("position"))&&void 0!==t?t:""}},exports.LinkDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-link"}get ele(){return super.ele}get href(){var e;return null===(e=this.ele)||void 0===e?void 0:e.getAttribute("href")}set href(e){var t;null===(t=this.ele)||void 0===t||t.setAttribute("href",null!=e?e:"")}},exports.ModalDriver=class extends r{constructor(...t){super(...t),d.add(this),a.set(this,void 0),v.set(this,void 0),this.nodeName="descope-modal",e.__classPrivateFieldGet(this,d,"m",u).call(this)}get isOpen(){var e;return"true"===(null===(e=this.ele)||void 0===e?void 0:e.getAttribute("opened"))}get isClosed(){return!this.isOpen}close(){var e;null===(e=this.ele)||void 0===e||e.removeAttribute("opened")}async open(){var t,i;await(null===(t=this.beforeOpen)||void 0===t?void 0:t.call(this)),e.__classPrivateFieldGet(this,d,"m",u).call(this),null===(i=this.ele)||void 0===i||i.setAttribute("opened","true")}reset(){var t;this.ele&&(this.ele.innerHTML=""),e.__classPrivateFieldGet(this,a,"f")&&(null===(t=this.ele)||void 0===t||t.append(e.__classPrivateFieldGet(this,a,"f").content.cloneNode(!0)))}setContent(t){e.__classPrivateFieldSet(this,a,t,"f"),this.reset()}remove(){var t,i;null===(t=e.__classPrivateFieldGet(this,v,"f"))||void 0===t||t.disconnect(),null===(i=this.ele)||void 0===i||i.remove()}},exports.MultiLineMappingsDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-multi-line-mappings"}setData(e){var t;null===(t=this.ele)||void 0===t||t.setAttribute("data",JSON.stringify(e))}get value(){var e;return(null===(e=this.ele)||void 0===e?void 0:e.value)||[]}set value(e){this.ele&&(this.ele.value=e)}get mergedValue(){return Object.entries(this.value.filter((({tenantId:e})=>!!e)).reduce(((e,{tenantId:t,roleNames:i})=>(e[t]=[...new Set([...e[t]||[],...i])],e)),{})).map((([e,t])=>({tenantId:e,roleNames:t})))}},exports.MultiSelectDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-multi-select-combo-box"}async setData(e){var t;null===(t=await this.asyncEle)||void 0===t||t.setAttribute("data",JSON.stringify(e.sort()))}},exports.MultiSsoConfigurationsDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-multi-sso"}set data(e){this.ele&&(this.ele.data=e)}get data(){var e;return null===(e=this.ele)||void 0===e?void 0:e.data}get ele(){return super.ele}get createFlowId(){var e;return(null===(e=this.ele)||void 0===e?void 0:e.getAttribute("data-create-flow-id"))||""}get deleteFlowId(){var e;return(null===(e=this.ele)||void 0===e?void 0:e.getAttribute("data-delete-flow-id"))||""}onCreateClicked(e){var t;const i=()=>e();return null===(t=this.ele)||void 0===t||t.addEventListener("create-clicked",i),()=>{var e;return null===(e=this.ele)||void 0===e?void 0:e.removeEventListener("create-clicked",i)}}onDeleteClicked(e){var t;const i=t=>e(t.detail);return null===(t=this.ele)||void 0===t||t.addEventListener("delete-clicked",i),()=>{var e;return null===(e=this.ele)||void 0===e?void 0:e.removeEventListener("delete-clicked",i)}}},exports.NotificationDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-notification"}close(){var e;null===(e=this.ele)||void 0===e||e.removeAttribute("opened")}show(){var e;null===(e=this.ele)||void 0===e||e.setAttribute("opened","true")}setContent(e){this.ele.innerHTML="",this.ele.appendChild(e.content.cloneNode(!0))}remove(){var e;null===(e=this.ele)||void 0===e||e.remove()}},exports.OutboundAppsListDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-outbound-apps"}set data(e){this.ele&&(this.ele.data=e)}get data(){var e;return null===(e=this.ele)||void 0===e?void 0:e.data}get ele(){return super.ele}get connectFlowId(){var e;return(null===(e=this.ele)||void 0===e?void 0:e.getAttribute("connect-flow-id"))||""}get disconnectFlowId(){var e;return(null===(e=this.ele)||void 0===e?void 0:e.getAttribute("disconnect-flow-id"))||""}onConnectClick(e){var t;const i=t=>e(t.detail);return null===(t=this.ele)||void 0===t||t.addEventListener("connect-clicked",i),()=>{var e;return null===(e=this.ele)||void 0===e?void 0:e.removeEventListener("connect-clicked",i)}}onDisconnectClick(e){var t;const i=t=>e(t.detail);return null===(t=this.ele)||void 0===t||t.addEventListener("disconnect-clicked",i),()=>{var e;return null===(e=this.ele)||void 0===e?void 0:e.removeEventListener("disconnect-clicked",i)}}},exports.SingleSelectDriver=c,exports.TenantSelectorDriver=class extends c{get action(){var e;return(null===(e=this.ele)||void 0===e?void 0:e.getAttribute("data-action"))||""}get refreshTimeout(){var e;return Number(null===(e=this.ele)||void 0===e?void 0:e.getAttribute("data-refresh-timeout"))||500}get shouldReload(){return"reload"===this.action}},exports.TextDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-text"}get ele(){return super.ele}get text(){var e;return null===(e=this.ele)||void 0===e?void 0:e.innerText}set text(e){this.ele&&(this.ele.innerText=e)}},exports.TextFieldDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-text-field"}onInput(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("input",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("input",e)}}get value(){var e;return null===(e=this.ele)||void 0===e?void 0:e.value}set value(e){this.ele&&(this.ele.value=e)}disable(){var e;null===(e=this.ele)||void 0===e||e.setAttribute("disabled","true")}enable(){var e;null===(e=this.ele)||void 0===e||e.removeAttribute("disabled")}},exports.UserAttributeDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-user-attribute"}set value(e){var t;null===(t=this.ele)||void 0===t||t.setAttribute("value",e)}set badgeLabel(e){var t;null===(t=this.ele)||void 0===t||t.setAttribute("badge-label",e)}get label(){var e;return(null===(e=this.ele)||void 0===e?void 0:e.getAttribute("label"))||""}get editFlowId(){var e;return(null===(e=this.ele)||void 0===e?void 0:e.getAttribute("edit-flow-id"))||""}get deleteFlowId(){var e;return(null===(e=this.ele)||void 0===e?void 0:e.getAttribute("delete-flow-id"))||""}onEditClick(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("edit-clicked",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("edit-clicked",e)}}onDeleteClick(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("delete-clicked",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("delete-clicked",e)}}},exports.UserAuthMethodDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-user-auth-method"}set fulfilled(e){var t,i;e?null===(t=this.ele)||void 0===t||t.setAttribute("fulfilled","true"):null===(i=this.ele)||void 0===i||i.removeAttribute("fulfilled")}onUnfulfilledButtonClick(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("button-clicked",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("button-clicked",e)}}onFulfilledButtonClick(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("fulfilled-button-clicked",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("fulfilled-button-clicked",e)}}get flowId(){var e;return null===(e=this.ele)||void 0===e?void 0:e.getAttribute("flow-id")}get fulfilledFlowId(){var e;return null===(e=this.ele)||void 0===e?void 0:e.getAttribute("fulfilled-flow-id")}},exports.UserPasskeysDriver=class extends r{constructor(){super(...arguments),this.nodeName="descope-user-passkeys"}get ele(){return super.ele}get data(){var e;return null===(e=this.ele)||void 0===e?void 0:e.data}set data(e){this.ele&&(this.ele.data=e)}get addPasskeyFlowId(){var e;return null===(e=this.ele)||void 0===e?void 0:e.getAttribute("add-passkey-flow-id")}get removePasskeyFlowId(){var e;return null===(e=this.ele)||void 0===e?void 0:e.getAttribute("remove-passkey-flow-id")}onAddPasskeyClick(e){var t;return null===(t=this.ele)||void 0===t||t.addEventListener("add-passkey-clicked",e),()=>{var t;return null===(t=this.ele)||void 0===t?void 0:t.removeEventListener("add-passkey-clicked",e)}}onRemovePasskeyClick(e){var t;const i=t=>e(t.detail);return null===(t=this.ele)||void 0===t||t.addEventListener("remove-passkey-clicked",i),()=>{var e;return null===(e=this.ele)||void 0===e?void 0:e.removeEventListener("remove-passkey-clicked",i)}}}; //# sourceMappingURL=index.cjs.js.map