@verdocs/web-sdk 6.8.8 → 6.8.10

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.
Files changed (55) hide show
  1. package/dist/cjs/verdocs-auth.cjs.entry.js +22 -0
  2. package/dist/cjs/verdocs-auth.entry.cjs.js.map +1 -1
  3. package/dist/cjs/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.cjs.js.map +1 -1
  4. package/dist/cjs/verdocs-preview_6.cjs.entry.js +13 -3
  5. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js +23 -1
  6. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js.map +1 -1
  7. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +6 -3
  8. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js.map +1 -1
  9. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +7 -0
  10. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
  11. package/dist/components/{p-Dj2R-VU1.js → p-Cj8PYi4t.js} +8 -5
  12. package/dist/components/p-Cj8PYi4t.js.map +1 -0
  13. package/dist/components/{p-BEI7Iwuj.js → p-DNYvorxL.js} +9 -2
  14. package/dist/components/p-DNYvorxL.js.map +1 -0
  15. package/dist/components/verdocs-auth.js +22 -0
  16. package/dist/components/verdocs-auth.js.map +1 -1
  17. package/dist/components/verdocs-build.js +2 -2
  18. package/dist/components/verdocs-preview.js +1 -1
  19. package/dist/components/verdocs-template-fields.js +1 -1
  20. package/dist/esm/verdocs-auth.entry.js +22 -0
  21. package/dist/esm/verdocs-auth.entry.js.map +1 -1
  22. package/dist/esm/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.js.map +1 -1
  23. package/dist/esm/verdocs-preview_6.entry.js +13 -3
  24. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  25. package/dist/esm-es5/verdocs-auth.entry.js.map +1 -1
  26. package/dist/esm-es5/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.js.map +1 -1
  27. package/dist/esm-es5/verdocs-preview_6.entry.js +1 -1
  28. package/dist/esm-es5/verdocs-preview_6.entry.js.map +1 -1
  29. package/dist/types/components/embeds/verdocs-auth/verdocs-auth.d.ts +4 -1
  30. package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +1 -0
  31. package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
  32. package/dist/verdocs-web-sdk/p-BC0LsUzY.system.js.map +1 -0
  33. package/dist/verdocs-web-sdk/p-H1Y4Zb4E.system.js.map +1 -0
  34. package/dist/verdocs-web-sdk/p-ae1318c0.entry.js +2 -0
  35. package/dist/verdocs-web-sdk/p-ae1318c0.entry.js.map +1 -0
  36. package/dist/verdocs-web-sdk/p-bcf3f5ed.system.entry.js +2 -0
  37. package/dist/verdocs-web-sdk/p-bcf3f5ed.system.entry.js.map +1 -0
  38. package/dist/verdocs-web-sdk/{p-abfa8b47.system.entry.js → p-d4e3efdb.system.entry.js} +3 -3
  39. package/dist/verdocs-web-sdk/p-d4e3efdb.system.entry.js.map +1 -0
  40. package/dist/verdocs-web-sdk/{p-0e4aa0d1.entry.js → p-fc308ef0.entry.js} +2 -2
  41. package/dist/verdocs-web-sdk/p-fc308ef0.entry.js.map +1 -0
  42. package/dist/verdocs-web-sdk/verdocs-auth.entry.esm.js.map +1 -1
  43. package/dist/verdocs-web-sdk/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.entry.esm.js.map +1 -1
  44. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  45. package/package.json +1 -1
  46. package/dist/components/p-BEI7Iwuj.js.map +0 -1
  47. package/dist/components/p-Dj2R-VU1.js.map +0 -1
  48. package/dist/verdocs-web-sdk/p-0e4aa0d1.entry.js.map +0 -1
  49. package/dist/verdocs-web-sdk/p-898b4c05.entry.js +0 -2
  50. package/dist/verdocs-web-sdk/p-898b4c05.entry.js.map +0 -1
  51. package/dist/verdocs-web-sdk/p-CHowGhis.system.js.map +0 -1
  52. package/dist/verdocs-web-sdk/p-Db5fIu2w.system.js.map +0 -1
  53. package/dist/verdocs-web-sdk/p-abfa8b47.system.entry.js.map +0 -1
  54. package/dist/verdocs-web-sdk/p-fde71466.system.entry.js +0 -2
  55. package/dist/verdocs-web-sdk/p-fde71466.system.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["registerInstance","createEvent","h","Host","Fragment","getElement","interact","VerdocsEndpoint","getTemplate","integerSequence","getOrganizationContacts","isValidEmail","createEnvelope","formatFullName","getRGBA","createTemplateDocument","deleteTemplateDocument","updateField","createField","updateTemplateRole","createTemplateRole","renderDocumentField","getFieldId","updateCssTransform","removeCssTransform","setControlStyles","defaultHeight","defaultWidth","SDKError","Store","DefaultEndpoint","VerdocsToast","DocIcon","PngIcon","JpgIcon","PdfIcon","FileIcon","PageCountIcon","TrashIcon","DocumentPageIcon","verdocsPreviewCss","VerdocsPreview","constructor","hostRef","this","sdkError","templateListenerId","renderedPages","endpoint","getDefault","templateId","loading","template","disconnectedCallback","unlistenToTemplate","listenToTemplate","subscribe","store","delListener","onTemplateIdChanged","newTemplateId","console","log","componentWillLoad","_a","_b","_c","loadSession","session","e","emit","message","response","status","data","componentDidRender","hostEl","querySelectorAll","forEach","el","unset","handlePageRendered","pageInfo","detail","documentId","pageNumber","fields","filter","field","page","disabled","editable","draggable","render","documents","map","document","pageNumbers","pages","pageSize","page_sizes","width","height","template_id","id","done","virtualWidth","virtualHeight","onPageRendered","layers","name","type","watchers","style","getRoleNames","roles","role","getRoleIndex","role_name","Math","max","findIndex","verdocsSendCss","editIcon","startIcon","stepIcon","doneIcon","VerdocsSend","beforeSend","send","exit","searchContacts","environment","showCancel","containerId","random","toString","substring","showPickerForId","sessionContacts","sending","rolesCompleted","recomputeRolesCompleted","reset","onSessionChanged","_endpoint","_session","profile","me","first_name","last_name","email","phone","then","contacts","catch","rolesAtLevel","level","sequence","length","push","getSequenceNumbers","sequences","Object","keys","s","sort","a","b","getRolesAtLevel","index","getLevelIcon","class","innerHTML","handleSelectContact","preventDefault","handleClickRole","stopPropagation","handleSend","details","initial_reminder","followup_reminders","recipients","values","beforeSendResult","defaultPrevented","r","envelope_id","envelope","error","handleCancel","display","levels","rolesAssigned","recipient","allRolesAssigned","assignedEmails","toLowerCase","hasDuplicateEmails","Set","size","sendable","is_sendable","unknown","roleName","elId","roleIndex","rgba","completed","backgroundColor","border","onClick","anchor","onClickAway","onExit","onNext","contactSuggestions","templateRole","onSearchContacts","label","variant","verdocsTemplateAttachmentsCss","VerdocsTemplateAttachments","next","templateUpdated","uploading","progressLabel","progressPercent","showDeleteError","confirmDeleteDocument","handleUploadProgress","percent","handleUpload","_d","file","bind","event","handleNext","confirmDelete","handleDelete","getFileIcon","mime","title","showPercent","onFileSelected","heading","verdocsTemplateBuildTabsCss","VerdocsTemplateBuildTabs","stepChanged","step","onStepChanged","newStep","handleSelect","tab","canEditRoles","canEditFields","canPreview","tabs","isActive","classes","join","xmlns","viewBox","points","fill","verdocsTemplateFieldsCss","iconTextbox","iconCheck","iconRadio","iconDatepicker","iconSignature","iconInitial","iconDropdown","iconAttachment","separator","menuOptions","tooltip","icon","VerdocsTemplateFields","toolbarTargetId","placing","showMustSelectRole","selectedRoleName","pageHeights","cachedPageInfo","handleKeyDown","ev","key","handleFieldSettingsChanged","handleFieldDeleted","dynamicDrop","makeDraggable","toolbarTarget","getElementById","toolbarEl","remove","append","componentWillUpdate","find","sorted","xScale","yScale","naturalHeight","setAttribute","String","document_id","listeners","move","handleMoveField","end","handleMoveEnd","oldX","target","getAttribute","oldY","newX","dx","newY","dy","_e","_f","_g","_h","naturalWidth","renderedHeight","clientRect","getBoundingClientRect","parent","parentElement","parentRect","left","bottom","newPageNumber","parseInt","min","x","y","viewCoordinatesToPageCoordinates","params","updatedField","newTemplate","JSON","parse","stringify","fieldIndex","updateTemplate","removeAttribute","generateFieldName","i","fieldName","some","viewX","viewY","xMax","yMax","floor","handleClickPage","clickedX","offsetX","clickedY","offsetY","cachedPage","coords","required","validator","default","placeholder","group","settings","multiline","readonly","options","newField","sortedRoles","selectableRoles","value","full_name","onSubmit","onInput","option","text","_defineProperty","t","_toPropertyKey","defineProperty","enumerable","configurable","writable","_extends","assign","n","arguments","hasOwnProperty","call","apply","ownKeys","getOwnPropertySymbols","o","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_toPrimitive","Symbol","toPrimitive","TypeError","Number","_typeof","iterator","prototype","version","userAgent","pattern","window","navigator","match","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","capture","passive","on","fn","addEventListener","off","removeEventListener","matches","selector","msMatchesSelector","webkitMatchesSelector","_","getParentOrHost","host","nodeType","parentNode","closest","ctx","includeCTX","R_SPACE","toggleClass","state","classList","className","replace","css","prop","val","defaultView","getComputedStyle","currentStyle","matrix","selfOnly","appliedTransforms","transform","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","tagName","list","getElementsByTagName","getWindowScrollingElement","scrollingElement","documentElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","container","elRect","top","right","innerHeight","innerWidth","containerRect","elMatrix","scaleX","scaleY","d","isScrolledPast","elSide","parentSide","getParentAutoScrollElement","elSideVal","parentSideVal","visible","getChild","childNum","includeDragEl","currentChild","children","Sortable","ghost","dragged","lastChild","last","lastElementChild","previousElementSibling","nodeName","toUpperCase","clone","getRelativeScrollOffset","offsetLeft","offsetTop","winScroller","scrollLeft","scrollTop","indexOfObject","arr","obj","includeSelf","elem","gotSelf","clientWidth","scrollWidth","clientHeight","scrollHeight","elemCSS","overflowX","overflowY","body","extend","dst","src","isRectEqual","rect1","rect2","round","_throttleTimeout","throttle","callback","ms","args","_this","setTimeout","cancelThrottle","clearTimeout","scrollBy","Polymer","$","jQuery","Zepto","dom","cloneNode","getChildContainingRectFromElement","ghostEl","rect","Array","from","child","_rect$left","_rect$top","_rect$right","_rect$bottom","animated","childRect","Infinity","expando","Date","getTime","AnimationStateManager","animationStates","animationCallbackId","captureAnimationState","animation","slice","fromRect","thisAnimationDuration","childMatrix","f","addAnimationState","removeAnimationState","splice","animateAll","animating","animationTime","time","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","calculateRealTime","animate","animationResetTimer","currentRect","duration","translateX","translateY","animatingX","animatingY","forRepaintDummy","repaint","easing","offsetWidth","sqrt","pow","plugins","defaults","initializeByDefault","PluginManager","mount","plugin","p","pluginName","concat","pluginEvent","eventName","sortable","evt","eventCanceled","cancel","eventNameGlobal","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","dispatchEvent","_ref","rootEl","targetEl","cloneEl","toEl","fromEl","oldIndex","newIndex","oldDraggableIndex","newDraggableIndex","originalEvent","putSortable","extraEventProperties","onName","charAt","substr","CustomEvent","bubbles","cancelable","initEvent","to","item","pullMode","lastPutMode","undefined","allEventProperties","_excluded","dragEl","parentEl","nextEl","lastDownEl","cloneHidden","dragStarted","moved","activeSortable","active","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","info","activeGroup","awaitingDragStarted","ignoreNextClick","sortables","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","pastFirstInvertThresh","isCircumstantialInvert","targetMoveDistance","ghostRelativeParent","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","createElement","supportCssPointerEvents","cssText","pointerEvents","_detectDirection","elCSS","elWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","marginLeft","marginRight","secondChildWidth","flexDirection","gridTemplateColumns","split","touchingSideChild2","clear","_dragElInRowColumn","dragRect","targetRect","vertical","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_detectNearestEmptySortable","ret","threshold","emptyInsertThreshold","insideHorizontally","insideVertically","_prepareGroup","toFn","pull","sameGroup","otherGroup","originalGroup","checkPull","checkPut","put","revertClone","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","handle","test","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","setData","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","get","contains","_getDirection","touch","pointerType","originalTarget","shadowRoot","path","composedPath","_saveInputCheckedState","button","isContentEditable","criteria","trim","_prepareDragStart","ownerDocument","dragStartFn","nextSibling","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDraggable","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","abs","_onTouchMove","_onDragStart","selection","_nextTick","empty","getSelection","removeAllRanges","err","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","inserted","ghostMatrix","relativeScrollOffset","c","cssMatrix","appendChild","_hideClone","cloneId","insertBefore","_loopId","setInterval","effectAllowed","_dragStartId","revert","isOwner","canSort","fromSortable","completedFired","dragOverEvent","extra","axis","onMove","after","_onMove","changed","insertion","_showClone","_ignoreWhileAnimating","elLastChild","_ghostIsLast","_ghostIsFirst","firstChild","targetBeforeFirstSwap","differentLevel","differentRowCol","side1","scrolledPastTop","scrollBefore","_getSwapDirection","sibling","dragIndex","nextElementSibling","moveVector","_unsilent","_offMoveEvents","_offUpEvents","clearInterval","_cancelNextTick","removeChild","save","checkEl","checked","handleEvent","_globalDragOver","toArray","order","_generateId","useAnimation","items","set","closest$1","destroy","dropEffect","willInsertAfter","onMoveFn","retVal","draggedRect","related","relatedRect","firstElRect","childContainingRect","spacer","lastElRect","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","str","href","sum","charCodeAt","root","inputs","idx","utils","is","nextTick","cancelNextTick","detectDirection","element","_len","_key","create","autoScrolls","scrollEl","scrollRootEl","scrolling","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","AutoScrollPlugin","AutoScroll","scroll","forceAutoScrollFallback","scrollSensitivity","scrollSpeed","bubbleScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","_ref2","dragOverBubble","drop","clearPointerElemChangedInterval","clearAutoScrolls","nulling","autoScroll","ogElemScroller","newElem","pid","isFallback","sens","speed","scrollThisInstance","scrollCustomFn","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","toSortable","changedTouches","onSpill","Revert","startIndex","dragStart","_ref3","Remove","_ref4","parentSortable","verdocsTemplateRolesCss","settingsIcon","plusIcon","iconSigner","iconApprover","iconCC","VerdocsTemplateRoles","rolesUpdated","showingRoleDialog","sender","dragging","sortableRefs","cleanupSortables","sr","sequenceNumbers","onEnd","onChoose","onUnchoose","fromSeq","dataset","toSeq","fromIndex","toIndex","sortableRoles","ras","getRolesAtSequence","renumberRequests","entries","targetSeq","targetOrder","Promise","all","async","handleSubmit","getSortedRoles","renumberTemplateRoles","targetOrderMinusOne","reduce","acc","seq","getNextRoleName","nextNumber","callCreateRole","delegator","name_locked","handleAddRole","handleAddStep","roleNames","nextSequence","autocomplete","onClose","onDelete"],"sources":["0"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"verdocs-auth.entry.esm.js","sources":["src/components/embeds/verdocs-auth/verdocs-auth.scss?tag=verdocs-auth","src/components/embeds/verdocs-auth/verdocs-auth.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-auth {\n font-family: $verdocs-primary-font;\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n\n .form {\n width: 320px;\n display: flex;\n padding: 20px;\n max-width: 90%;\n align-items: center;\n flex-direction: column;\n box-sizing: border-box;\n justify-content: center;\n background: $verdocs-grey-4;\n }\n\n .logo {\n width: 128px;\n max-width: 100%;\n margin: 20px 0 30px;\n }\n\n h3 {\n color: $verdocs-grey-0;\n text-align: center;\n font-weight: 400;\n font-size: 18px;\n line-height: 1.75;\n margin: 0;\n }\n\n em {\n font-size: 14px;\n margin: 15px 0;\n }\n\n .buttons {\n gap: 20px;\n margin: 20px 0 0 0;\n display: flex;\n flex-direction: row;\n justify-content: center;\n }\n\n .status-result {\n display: none;\n\n &.debug {\n white-space: pre-wrap;\n font-size: 14px;\n background: #fff;\n padding: 10px;\n display: block;\n flex-direction: row;\n justify-content: center;\n }\n }\n\n form {\n width: 100%;\n }\n\n verdocs-text-input {\n margin-bottom: 10px;\n }\n\n .account-option {\n gap: 8px;\n margin: 20px 0 8px 0;\n display: flex;\n flex-direction: row;\n }\n\n p {\n color: $verdocs-grey-0;\n margin: 1em 0;\n font-size: 14px;\n }\n\n // Our <p>s are in a flex layout which prevents margins from collapsing because each item creates its own row\n p + p {\n margin-top: 0;\n }\n\n verdocs-help-icon {\n margin-top: 18px;\n display: flex;\n width: 32px;\n height: 32px;\n flex: 0 0 32px;\n }\n\n .already-have {\n color: $verdocs-grey-0;\n margin: 0.5em 0;\n font-size: 14px;\n }\n}\n","import {TSession, VerdocsEndpoint, createProfile, authenticate, resendVerification, resetPassword, verifyEmail, IAuthenticateResponse, getMyUser, IProfile} from '@verdocs/js-sdk';\nimport {Component, Prop, State, h, Event, EventEmitter} from '@stencil/core';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface IAuthStatus {\n authenticated: boolean;\n session: TSession;\n profile: IProfile | null;\n}\n\n/**\n * Display an authentication dialog that allows the user to login or sign up. If the user is\n * already authenticated with a valid session, this component will hide itself and fire the\n * success callback immediately. It is up to the host application to render the next appropriate\n * view for the application.\n *\n * To simplify UI development, a visibility flag can force this component to never display. This\n * allows you to subscribe to notifications from client apps without calling the lower-level JS SDK.\n *\n * This embed is responsive / mobile-friendly, but the calling application should provide at\n * least a 300px wide container to allow sufficient space for the required forms.\n *\n * ```ts\n * <verdocs-auth\n * onAuthenticated={({ detail }) => console.log('Authentication state:', detail) }\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-auth',\n styleUrl: 'verdocs-auth.scss',\n shadow: false,\n})\nexport class VerdocsAuth {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Normally, if the user has a valid session, this embed will be invisible, otherwise it will display\n * login / signup forms. If this is set to false, this embed will be invisible in both cases. Apps may\n * use this to verify if a user has a valid session without needing a separate call to Verdocs JS SDK.\n */\n @Prop() visible: boolean = true;\n\n /**\n * By default, a Verdocs logo will be displayed above the login/signup forms. This may be used to\n * override its source. (Alternatively, you may simply hide it via CSS overrides.) Logos should be\n * in SVG format for best results.\n */\n @Prop() logo: string = 'https://app.verdocs.com/assets/blue-logo.svg';\n\n /**\n * The display mode to start in.\n */\n @Prop({mutable: true}) displayMode: 'login' | 'forgot' | 'reset' | 'signup' | 'verify' = 'login';\n\n /**\n * Event fired when session authentication process has completed. Check the event\n * contents for completion status. This event will always be called at least once,\n * when the component is first rendered.\n */\n @Event({composed: true}) authenticated: EventEmitter<IAuthStatus>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() org_name: string = '';\n @State() first_name: string = '';\n @State() last_name: string = '';\n @State() email: string = '';\n @State() verificationCode: string = '';\n @State() newPassword: string = '';\n @State() password: string = '';\n @State() confirmpass: string = '';\n @State() submitting: boolean = false;\n @State() resendDisabled = false;\n @State() session: TSession = null;\n @State() profile: IProfile | null = null;\n\n resendDisabledTimer = null;\n\n // We can't instantly log in on the default endpoint because other listeners might see\n // its events and incorrectly trigger before we're done. So we manage our own temp\n // endpoint and pass the final tokens to the default once we're ready.\n tempAuthEndpoint = new VerdocsEndpoint({\n baseURL: VerdocsEndpoint.getDefault().getBaseURL(),\n persist: false,\n });\n\n componentWillLoad() {\n this.endpoint.loadSession();\n VerdocsEndpoint.getDefault().onSessionChanged((_endpoint, session, profile) => {\n this.session = session;\n this.profile = profile;\n if (session) {\n this.authenticated?.emit({authenticated: true, session, profile});\n } else {\n this.authenticated?.emit({authenticated: false, session, profile});\n }\n });\n }\n\n isPasswordComplex(password: string) {\n const isUppercase = (ch: string) => /[A-Z]/.test(ch);\n const isLowercase = (ch: string) => /[a-z]/.test(ch);\n const isSpecialChar = (ch: string) => /[`!@#$%^&*()_\\-+=\\[\\]{};':\"\\\\|,.<>\\/?~ ]/.test(ch);\n let countOfUpperCase = 0,\n countOfLowerCase = 0,\n countOfSpecialChar = 0;\n for (let i = 0; i < password.length; i++) {\n let ch = password.charAt(i);\n if (isUppercase(ch)) countOfUpperCase++;\n else if (isLowercase(ch)) countOfLowerCase++;\n else if (isSpecialChar(ch)) countOfSpecialChar++;\n }\n return password.length >= 8 && countOfLowerCase > 0 && countOfUpperCase > 0 && countOfSpecialChar > 0;\n }\n\n handleSignup() {\n if (!this.isPasswordComplex(this.password)) {\n VerdocsToast('Password must be at least 8 characters long and contain at least one uppercase, one lowercase, and one special character.', {style: 'error'});\n return;\n }\n\n if (this.password !== this.confirmpass) {\n VerdocsToast('Passwords do not match.', {style: 'error'});\n return;\n }\n\n this.submitting = true;\n this.tempAuthEndpoint.clearSession();\n createProfile(this.tempAuthEndpoint, {\n email: this.email,\n password: this.password,\n first_name: this.first_name,\n last_name: this.last_name,\n org_name: this.org_name,\n })\n .then(r => {\n console.log('[AUTH] Profile creation result', r);\n this.tempAuthEndpoint.setToken(r.access_token);\n // We can't clearForms because we need email to stick around\n this.password = '';\n this.first_name = '';\n this.last_name = '';\n this.org_name = '';\n this.displayMode = 'verify';\n this.submitting = false;\n })\n .catch(e => {\n console.log('[AUTH] Signup error', e.response);\n this.submitting = false;\n this.authenticated?.emit({authenticated: false, profile: null, session: null});\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n\n VerdocsToast('Signup failed: ' + e.response?.data?.error || 'Unknown Error', {style: 'error'});\n });\n }\n\n async handleVerification() {\n this.submitting = true;\n\n try {\n this.submitting = false;\n const verificationResult = await verifyEmail(this.tempAuthEndpoint, {email: this.email, token: this.verificationCode});\n VerdocsToast('Thank you for verifying your email address.', {style: 'success'});\n this.completeLogin(verificationResult);\n } catch (e) {\n this.submitting = false;\n console.log('Verification error', e);\n VerdocsToast('Verification error, please check the code and try again.');\n }\n }\n\n completeLogin(result: IAuthenticateResponse) {\n this.clearForms();\n this.tempAuthEndpoint.clearSession();\n this.endpoint.setToken(result.access_token);\n }\n\n async loginAndCheckVerification() {\n if (this.submitting) {\n return;\n }\n\n this.submitting = true;\n this.tempAuthEndpoint.clearSession();\n\n try {\n this.submitting = false;\n const authResult = await authenticate(this.tempAuthEndpoint, {username: this.email.trim(), password: this.password, grant_type: 'password'});\n console.log('[AUTH] Authenticated, checking email verification');\n this.tempAuthEndpoint.setToken(authResult.access_token);\n\n const user = await getMyUser(this.tempAuthEndpoint);\n\n if (!user.email_verified) {\n console.log('[AUTH] Logged in, pending email address verification');\n this.displayMode = 'verify';\n } else {\n console.log('[AUTH] Email address is verified, completing login');\n this.completeLogin(authResult);\n }\n } catch (e) {\n this.submitting = false;\n console.log('[AUTH] Authentication failed', e.response?.data || e);\n VerdocsToast(e.response?.data?.error || 'Login failed. Please check your credentials and try again.', {style: 'error'});\n }\n }\n\n clearForms() {\n this.submitting = false;\n this.resendDisabled = false;\n this.email = '';\n this.password = '';\n this.newPassword = '';\n this.confirmpass = '';\n this.verificationCode = '';\n this.first_name = '';\n this.last_name = '';\n this.org_name = '';\n }\n\n handleLogout() {\n console.log('logging out');\n this.endpoint.clearSession();\n this.tempAuthEndpoint.clearSession();\n this.clearForms();\n this.displayMode = 'login';\n }\n\n handleResendVerification() {\n // Avoid the user just click-spamming this pathway. The server rate-limits this anyway so it's not a\n // security issue but it's a poor user experience to allow it.\n this.resendDisabled = true;\n this.resendDisabledTimer = setTimeout(() => {\n this.resendDisabled = false;\n this.resendDisabledTimer = null;\n }, 30000);\n\n resendVerification(this.tempAuthEndpoint)\n .then(r => {\n console.log('[AUTH] Verification request resent', r);\n VerdocsToast('Please check your email for a verification code.', {style: 'info'});\n })\n .catch((e: any) => {\n console.log('[AUTH] Unable to resend verification', e);\n VerdocsToast('Unable to resend code. Please try again later.', {style: 'error'});\n });\n }\n\n handleResendReset() {\n // Avoid the user just click-spamming this pathway. The server rate-limits this anyway so it's not a\n // security issue but it's a poor user experience to allow it.\n this.resendDisabled = true;\n this.resendDisabledTimer = setTimeout(() => {\n this.resendDisabled = false;\n this.resendDisabledTimer = null;\n }, 30000);\n\n resetPassword(this.tempAuthEndpoint, {email: this.email})\n .then(r => {\n console.log('[AUTH] Resend-code request resent', r);\n VerdocsToast('Please check your email again for a verification code.', {style: 'info'});\n })\n .catch((e: any) => {\n console.log('[AUTH] Unable to resend reset request', e);\n VerdocsToast('Unable to resend code. Please try again later.', {style: 'error'});\n });\n }\n\n async handleResetGetCode() {\n this.submitting = true;\n this.confirmpass = '';\n this.newPassword = '';\n\n try {\n this.submitting = false;\n const result = await resetPassword(this.endpoint, {email: this.email});\n console.log('[AUTH] Reset result', result);\n VerdocsToast('Please check your email inbox for a password reset code.', {style: 'success'});\n this.verificationCode = '';\n this.confirmpass = '';\n this.newPassword = '';\n this.displayMode = 'reset';\n } catch (e) {\n this.submitting = false;\n console.log('Reset request error', e);\n VerdocsToast('Request failed. Please check your email address and try again.');\n }\n }\n\n async handleResetPassword() {\n if (!this.isPasswordComplex(this.newPassword)) {\n VerdocsToast('Password must be at least 8 characters long and contain at least one uppercase, one lowercase, and one special character.', {style: 'error'});\n return;\n }\n\n if (this.newPassword !== this.confirmpass) {\n VerdocsToast('Passwords do not match.', {style: 'error'});\n return;\n }\n\n this.submitting = true;\n try {\n this.submitting = false;\n const resetResult = await resetPassword(this.endpoint, {email: this.email, code: this.verificationCode, new_password: this.newPassword});\n console.log('reset result', resetResult);\n VerdocsToast('Your password has been reset. You may now use your new password to login.', {style: 'success'});\n this.verificationCode = '';\n this.confirmpass = '';\n this.newPassword = '';\n this.password = '';\n this.displayMode = 'login';\n } catch (e) {\n this.submitting = false;\n console.log('Verification error', e);\n VerdocsToast('Verification error, please check the code and try again.');\n }\n }\n\n async handleReset() {\n this.submitting = true;\n\n try {\n const result = await resetPassword(this.endpoint, {email: this.email});\n console.log('[AUTH] Reset sent', result);\n this.submitting = false;\n this.displayMode = 'login';\n VerdocsToast('If your email address is registered, you will receive instructions on resetting your password shortly.', {style: 'info'});\n } catch (e) {\n console.log('[AUTH] Unable to reset password', e);\n this.submitting = false;\n VerdocsToast('Unable to reset password. Please check your email address and try again.', {style: 'error'});\n }\n }\n\n render() {\n if (!this.visible) {\n return <div style={{display: 'none'}}>Authenticated</div>;\n }\n\n if (this.session) {\n return (\n <verdocs-button\n label=\"Sign Out\"\n disabled={this.submitting}\n onClick={() => this.handleLogout()}\n style={{display: 'flex', justifyContent: 'center', margin: '30px auto 0'}}\n />\n );\n }\n\n if (this.displayMode === 'signup') {\n const invalid = this.submitting || !this.first_name || !this.last_name || !this.email || !this.password || !this.confirmpass || !this.org_name;\n\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Sign up for a free account</h3>\n <div class=\"already-have\">\n Already have an account?\n <verdocs-button label=\"Log In\" variant=\"text\" onClick={() => (this.displayMode = 'login')} disabled={this.submitting} />\n </div>\n\n <form onSubmit={() => this.handleSignup()}>\n <div style={{display: 'flex', flexDirection: 'row', columnGap: '20px'}}>\n <verdocs-text-input\n label=\"First Name\"\n autocomplete=\"first\"\n required={true}\n value={this.first_name}\n onInput={(e: any) => (this.first_name = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Last Name\"\n autocomplete=\"last\"\n required={true}\n value={this.last_name}\n onInput={(e: any) => (this.last_name = e.target.value)}\n disabled={this.submitting}\n />\n </div>\n <verdocs-text-input\n label=\"Email Address\"\n autocomplete=\"email\"\n required={true}\n value={this.email}\n onInput={(e: any) => (this.email = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n required={true}\n autocomplete=\"new-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Confirm Password\"\n type=\"password\"\n required={true}\n autocomplete=\"off\"\n value={this.confirmpass}\n onInput={(e: any) => (this.confirmpass = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Organization Name\"\n autocomplete=\"org\"\n required={true}\n value={this.org_name}\n onInput={(e: any) => (this.org_name = e.target.value)}\n disabled={this.submitting}\n style={{flex: '1'}}\n />\n\n <div style={{marginTop: '30px'}} />\n\n <verdocs-button\n label=\"Next\"\n disabled={invalid}\n onClick={invalid ? () => {} : () => this.handleSignup()}\n style={{display: 'flex', justifyContent: 'center', margin: '30px auto 0'}}\n />\n </form>\n </div>\n );\n }\n\n if (this.displayMode === 'verify') {\n return (\n <div class=\"form\">\n <form onSubmit={() => this.handleVerification()}>\n <p>Please check your e-mail inbox for a verification code and enter it below.</p>\n\n <verdocs-text-input\n label=\"Verification Code\"\n required={true}\n value={this.verificationCode}\n onInput={(e: any) => (this.verificationCode = e.target.value)}\n disabled={this.submitting}\n />\n\n <div class=\"buttons\">\n <verdocs-button label=\"Sign Out\" variant=\"outline\" disabled={this.submitting} onClick={() => this.handleLogout()} />\n <verdocs-button label=\"Verify\" disabled={this.submitting || !this.verificationCode || this.verificationCode.length !== 6} onClick={() => this.handleVerification()} />\n </div>\n <div class=\"buttons\">\n <verdocs-button variant=\"text\" label=\"Resend Code\" disabled={this.resendDisabled || this.submitting} onClick={() => this.handleResendVerification()} />\n </div>\n </form>\n </div>\n );\n }\n\n if (this.displayMode === 'forgot') {\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Forgot your password?</h3>\n\n <p>\n Enter your e-mail address below. If the e-mail address is valid, a password reset code will be sent to your inbox. Please allow up to 15 minutes to arrive, and check\n your spam folder if you do not receive the message.\n </p>\n\n <form onSubmit={() => this.handleResetGetCode()}>\n <verdocs-text-input\n label=\"Email Address\"\n autocomplete=\"email\"\n required={true}\n value={this.email}\n onInput={(e: any) => (this.email = e.target.value)}\n disabled={this.submitting}\n />\n\n <div style={{marginTop: '30px'}} />\n\n <div class=\"buttons\">\n <verdocs-button size=\"small\" label=\"Cancel\" variant=\"outline\" disabled={this.submitting} onClick={() => (this.displayMode = 'login')} />\n <verdocs-button size=\"small\" label=\"Request Code\" disabled={this.submitting} onClick={() => this.handleResetGetCode()} />\n </div>\n </form>\n </div>\n );\n }\n\n if (this.displayMode === 'reset') {\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Forgot your password?</h3>\n\n <p>\n Enter your e-mail address below, and reset instructions will be sent to your Inbox. Please allow up to 15 minutes to arrive. Check your spam folder if you do not\n receive the message.\n </p>\n\n <form onSubmit={() => this.handleResetPassword()}>\n <verdocs-text-input\n label=\"Verification Code\"\n required={true}\n value={this.verificationCode}\n onInput={(e: any) => (this.verificationCode = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n required={true}\n autocomplete=\"off\"\n value={this.newPassword}\n onInput={(e: any) => (this.newPassword = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Confirm Password\"\n type=\"password\"\n required={true}\n autocomplete=\"off\"\n value={this.confirmpass}\n onInput={(e: any) => (this.confirmpass = e.target.value)}\n disabled={this.submitting}\n />\n\n <div style={{marginTop: '30px'}} />\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" disabled={this.submitting} onClick={() => (this.displayMode = 'login')} />\n <verdocs-button label=\"Reset\" disabled={this.submitting} onClick={() => this.handleResetPassword()} />\n </div>\n\n <div class=\"buttons\">\n <verdocs-button variant=\"text\" label=\"Resend Code\" disabled={this.resendDisabled || this.submitting} onClick={() => this.handleResendReset()} />\n </div>\n </form>\n </div>\n );\n }\n\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Log in to your account</h3>\n <div class=\"already-have\">\n Don't have an account?\n <verdocs-button label=\"Sign Up\" variant=\"text\" onClick={() => (this.displayMode = 'signup')} disabled={this.submitting} />\n </div>\n\n <form onSubmit={() => this.loginAndCheckVerification()}>\n <verdocs-text-input label=\"Email\" autocomplete=\"username\" value={this.email} onInput={(e: any) => (this.email = e.target.value)} disabled={this.submitting} />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n autocomplete=\"current-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.submitting}\n />\n\n <verdocs-button\n label=\"Forgot Your Password?\"\n variant=\"text\"\n onClick={() => (this.displayMode = 'forgot')}\n disabled={this.submitting}\n style={{display: 'flex', justifyContent: 'center', margin: '10px auto 20px'}}\n />\n\n <verdocs-button\n label=\"Login\"\n disabled={this.submitting}\n onClick={() => this.loginAndCheckVerification()}\n style={{display: 'flex', justifyContent: 'center', margin: '10px auto 0'}}\n />\n </form>\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verdocs-auth.entry.esm.js","sources":["src/components/embeds/verdocs-auth/verdocs-auth.scss?tag=verdocs-auth","src/components/embeds/verdocs-auth/verdocs-auth.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-auth {\n font-family: $verdocs-primary-font;\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n\n .form {\n width: 320px;\n display: flex;\n padding: 20px;\n max-width: 90%;\n align-items: center;\n flex-direction: column;\n box-sizing: border-box;\n justify-content: center;\n background: $verdocs-grey-4;\n }\n\n .logo {\n width: 128px;\n max-width: 100%;\n margin: 20px 0 30px;\n }\n\n h3 {\n color: $verdocs-grey-0;\n text-align: center;\n font-weight: 400;\n font-size: 18px;\n line-height: 1.75;\n margin: 0;\n }\n\n em {\n font-size: 14px;\n margin: 15px 0;\n }\n\n .buttons {\n gap: 20px;\n margin: 20px 0 0 0;\n display: flex;\n flex-direction: row;\n justify-content: center;\n }\n\n .status-result {\n display: none;\n\n &.debug {\n white-space: pre-wrap;\n font-size: 14px;\n background: #fff;\n padding: 10px;\n display: block;\n flex-direction: row;\n justify-content: center;\n }\n }\n\n form {\n width: 100%;\n }\n\n verdocs-text-input {\n margin-bottom: 10px;\n }\n\n .account-option {\n gap: 8px;\n margin: 20px 0 8px 0;\n display: flex;\n flex-direction: row;\n }\n\n p {\n color: $verdocs-grey-0;\n margin: 1em 0;\n font-size: 14px;\n }\n\n // Our <p>s are in a flex layout which prevents margins from collapsing because each item creates its own row\n p + p {\n margin-top: 0;\n }\n\n verdocs-help-icon {\n margin-top: 18px;\n display: flex;\n width: 32px;\n height: 32px;\n flex: 0 0 32px;\n }\n\n .already-have {\n color: $verdocs-grey-0;\n margin: 0.5em 0;\n font-size: 14px;\n }\n}\n","import {Component, Prop, State, h, Event, EventEmitter} from '@stencil/core';\nimport {TSession, VerdocsEndpoint, createProfile, authenticate, resendVerification, resetPassword, verifyEmail, IAuthenticateResponse, getMyUser, IProfile} from '@verdocs/js-sdk';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\n\nexport interface IAuthStatus {\n authenticated: boolean;\n session: TSession;\n profile: IProfile | null;\n}\n\n/**\n * Display an authentication dialog that allows the user to login or sign up. If the user is\n * already authenticated with a valid session, this component will hide itself and fire the\n * success callback immediately. It is up to the host application to render the next appropriate\n * view for the application.\n *\n * To simplify UI development, a visibility flag can force this component to never display. This\n * allows you to subscribe to notifications from client apps without calling the lower-level JS SDK.\n *\n * This embed is responsive / mobile-friendly, but the calling application should provide at\n * least a 300px wide container to allow sufficient space for the required forms.\n *\n * ```ts\n * <verdocs-auth\n * onAuthenticated={({ detail }) => console.log('Authentication state:', detail) }\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-auth',\n styleUrl: 'verdocs-auth.scss',\n shadow: false,\n})\nexport class VerdocsAuth {\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Normally, if the user has a valid session, this embed will be invisible, otherwise it will display\n * login / signup forms. If this is set to false, this embed will be invisible in both cases. Apps may\n * use this to verify if a user has a valid session without needing a separate call to Verdocs JS SDK.\n */\n @Prop() visible: boolean = true;\n\n /**\n * By default, a Verdocs logo will be displayed above the login/signup forms. This may be used to\n * override its source. (Alternatively, you may simply hide it via CSS overrides.) Logos should be\n * in SVG format for best results.\n */\n @Prop() logo: string = 'https://app.verdocs.com/assets/blue-logo.svg';\n\n /**\n * The display mode to start in.\n */\n @Prop({mutable: true}) displayMode: 'login' | 'forgot' | 'reset' | 'signup' | 'verify' = 'login';\n\n /**\n * Event fired when session authentication process has completed. Check the event\n * contents for completion status. This event will always be called at least once,\n * when the component is first rendered.\n */\n @Event({composed: true}) authenticated: EventEmitter<IAuthStatus>;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() org_name: string = '';\n @State() first_name: string = '';\n @State() last_name: string = '';\n @State() email: string = '';\n @State() verificationCode: string = '';\n @State() newPassword: string = '';\n @State() password: string = '';\n @State() confirmpass: string = '';\n @State() submitting: boolean = false;\n @State() resendDisabled = false;\n @State() session: TSession = null;\n @State() profile: IProfile | null = null;\n\n resendDisabledTimer = null;\n\n // We can't instantly log in on the default endpoint because other listeners might see\n // its events and incorrectly trigger before we're done. So we manage our own temp\n // endpoint and pass the final tokens to the default once we're ready.\n tempAuthEndpoint = new VerdocsEndpoint({\n baseURL: VerdocsEndpoint.getDefault().getBaseURL(),\n persist: false,\n });\n\n componentWillLoad() {\n this.endpoint.loadSession();\n this.applyHashDisplayMode();\n\n // We need to listen to the hashchange to know when we're being sent to #forgot-password\n if (typeof window !== 'undefined') {\n window.addEventListener('hashchange', this.handleHashChange);\n }\n\n VerdocsEndpoint.getDefault().onSessionChanged((_endpoint, session, profile) => {\n this.session = session;\n this.profile = profile;\n if (session) {\n this.authenticated?.emit({authenticated: true, session, profile});\n } else {\n this.authenticated?.emit({authenticated: false, session, profile});\n }\n });\n }\n\n disconnectedCallback() {\n if (typeof window !== 'undefined') {\n window.removeEventListener('hashchange', this.handleHashChange);\n }\n }\n\n handleHashChange = () => {\n this.applyHashDisplayMode();\n };\n\n applyHashDisplayMode() {\n if (typeof window === 'undefined') {\n return;\n }\n\n const hash = (window.location.hash || '').replace(/^#/, '').toLowerCase();\n if (hash === 'forgot-password' || hash === 'forgot') {\n this.displayMode = 'forgot';\n }\n }\n\n isPasswordComplex(password: string) {\n const isUppercase = (ch: string) => /[A-Z]/.test(ch);\n const isLowercase = (ch: string) => /[a-z]/.test(ch);\n const isSpecialChar = (ch: string) => /[`!@#$%^&*()_\\-+=\\[\\]{};':\"\\\\|,.<>\\/?~ ]/.test(ch);\n let countOfUpperCase = 0,\n countOfLowerCase = 0,\n countOfSpecialChar = 0;\n for (let i = 0; i < password.length; i++) {\n let ch = password.charAt(i);\n if (isUppercase(ch)) countOfUpperCase++;\n else if (isLowercase(ch)) countOfLowerCase++;\n else if (isSpecialChar(ch)) countOfSpecialChar++;\n }\n return password.length >= 8 && countOfLowerCase > 0 && countOfUpperCase > 0 && countOfSpecialChar > 0;\n }\n\n handleSignup() {\n if (!this.isPasswordComplex(this.password)) {\n VerdocsToast('Password must be at least 8 characters long and contain at least one uppercase, one lowercase, and one special character.', {style: 'error'});\n return;\n }\n\n if (this.password !== this.confirmpass) {\n VerdocsToast('Passwords do not match.', {style: 'error'});\n return;\n }\n\n this.submitting = true;\n this.tempAuthEndpoint.clearSession();\n createProfile(this.tempAuthEndpoint, {\n email: this.email,\n password: this.password,\n first_name: this.first_name,\n last_name: this.last_name,\n org_name: this.org_name,\n })\n .then(r => {\n console.log('[AUTH] Profile creation result', r);\n this.tempAuthEndpoint.setToken(r.access_token);\n // We can't clearForms because we need email to stick around\n this.password = '';\n this.first_name = '';\n this.last_name = '';\n this.org_name = '';\n this.displayMode = 'verify';\n this.submitting = false;\n })\n .catch(e => {\n console.log('[AUTH] Signup error', e.response);\n this.submitting = false;\n this.authenticated?.emit({authenticated: false, profile: null, session: null});\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n\n VerdocsToast('Signup failed: ' + e.response?.data?.error || 'Unknown Error', {style: 'error'});\n });\n }\n\n async handleVerification() {\n this.submitting = true;\n\n try {\n this.submitting = false;\n const verificationResult = await verifyEmail(this.tempAuthEndpoint, {email: this.email, token: this.verificationCode});\n VerdocsToast('Thank you for verifying your email address.', {style: 'success'});\n this.completeLogin(verificationResult);\n } catch (e) {\n this.submitting = false;\n console.log('Verification error', e);\n VerdocsToast('Verification error, please check the code and try again.');\n }\n }\n\n completeLogin(result: IAuthenticateResponse) {\n this.clearForms();\n this.tempAuthEndpoint.clearSession();\n this.endpoint.setToken(result.access_token);\n }\n\n async loginAndCheckVerification() {\n if (this.submitting) {\n return;\n }\n\n this.submitting = true;\n this.tempAuthEndpoint.clearSession();\n\n try {\n this.submitting = false;\n const authResult = await authenticate(this.tempAuthEndpoint, {username: this.email.trim(), password: this.password, grant_type: 'password'});\n console.log('[AUTH] Authenticated, checking email verification');\n this.tempAuthEndpoint.setToken(authResult.access_token);\n\n const user = await getMyUser(this.tempAuthEndpoint);\n\n if (!user.email_verified) {\n console.log('[AUTH] Logged in, pending email address verification');\n this.displayMode = 'verify';\n } else {\n console.log('[AUTH] Email address is verified, completing login');\n this.completeLogin(authResult);\n }\n } catch (e) {\n this.submitting = false;\n console.log('[AUTH] Authentication failed', e.response?.data || e);\n VerdocsToast(e.response?.data?.error || 'Login failed. Please check your credentials and try again.', {style: 'error'});\n }\n }\n\n clearForms() {\n this.submitting = false;\n this.resendDisabled = false;\n this.email = '';\n this.password = '';\n this.newPassword = '';\n this.confirmpass = '';\n this.verificationCode = '';\n this.first_name = '';\n this.last_name = '';\n this.org_name = '';\n }\n\n handleLogout() {\n console.log('logging out');\n this.endpoint.clearSession();\n this.tempAuthEndpoint.clearSession();\n this.clearForms();\n this.displayMode = 'login';\n }\n\n handleResendVerification() {\n // Avoid the user just click-spamming this pathway. The server rate-limits this anyway so it's not a\n // security issue but it's a poor user experience to allow it.\n this.resendDisabled = true;\n this.resendDisabledTimer = setTimeout(() => {\n this.resendDisabled = false;\n this.resendDisabledTimer = null;\n }, 30000);\n\n resendVerification(this.tempAuthEndpoint)\n .then(r => {\n console.log('[AUTH] Verification request resent', r);\n VerdocsToast('Please check your email for a verification code.', {style: 'info'});\n })\n .catch((e: any) => {\n console.log('[AUTH] Unable to resend verification', e);\n VerdocsToast('Unable to resend code. Please try again later.', {style: 'error'});\n });\n }\n\n handleResendReset() {\n // Avoid the user just click-spamming this pathway. The server rate-limits this anyway so it's not a\n // security issue but it's a poor user experience to allow it.\n this.resendDisabled = true;\n this.resendDisabledTimer = setTimeout(() => {\n this.resendDisabled = false;\n this.resendDisabledTimer = null;\n }, 30000);\n\n resetPassword(this.tempAuthEndpoint, {email: this.email})\n .then(r => {\n console.log('[AUTH] Resend-code request resent', r);\n VerdocsToast('Please check your email again for a verification code.', {style: 'info'});\n })\n .catch((e: any) => {\n console.log('[AUTH] Unable to resend reset request', e);\n VerdocsToast('Unable to resend code. Please try again later.', {style: 'error'});\n });\n }\n\n async handleResetGetCode() {\n this.submitting = true;\n this.confirmpass = '';\n this.newPassword = '';\n\n try {\n this.submitting = false;\n const result = await resetPassword(this.endpoint, {email: this.email});\n console.log('[AUTH] Reset result', result);\n VerdocsToast('Please check your email inbox for a password reset code.', {style: 'success'});\n this.verificationCode = '';\n this.confirmpass = '';\n this.newPassword = '';\n this.displayMode = 'reset';\n } catch (e) {\n this.submitting = false;\n console.log('Reset request error', e);\n VerdocsToast('Request failed. Please check your email address and try again.');\n }\n }\n\n async handleResetPassword() {\n if (!this.isPasswordComplex(this.newPassword)) {\n VerdocsToast('Password must be at least 8 characters long and contain at least one uppercase, one lowercase, and one special character.', {style: 'error'});\n return;\n }\n\n if (this.newPassword !== this.confirmpass) {\n VerdocsToast('Passwords do not match.', {style: 'error'});\n return;\n }\n\n this.submitting = true;\n try {\n this.submitting = false;\n const resetResult = await resetPassword(this.endpoint, {email: this.email, code: this.verificationCode, new_password: this.newPassword});\n console.log('reset result', resetResult);\n VerdocsToast('Your password has been reset. You may now use your new password to login.', {style: 'success'});\n this.verificationCode = '';\n this.confirmpass = '';\n this.newPassword = '';\n this.password = '';\n this.displayMode = 'login';\n } catch (e) {\n this.submitting = false;\n console.log('Verification error', e);\n VerdocsToast('Verification error, please check the code and try again.');\n }\n }\n\n async handleReset() {\n this.submitting = true;\n\n try {\n const result = await resetPassword(this.endpoint, {email: this.email});\n console.log('[AUTH] Reset sent', result);\n this.submitting = false;\n this.displayMode = 'login';\n VerdocsToast('If your email address is registered, you will receive instructions on resetting your password shortly.', {style: 'info'});\n } catch (e) {\n console.log('[AUTH] Unable to reset password', e);\n this.submitting = false;\n VerdocsToast('Unable to reset password. Please check your email address and try again.', {style: 'error'});\n }\n }\n\n render() {\n if (!this.visible) {\n return <div style={{display: 'none'}}>Authenticated</div>;\n }\n\n if (this.session) {\n return (\n <verdocs-button\n label=\"Sign Out\"\n disabled={this.submitting}\n onClick={() => this.handleLogout()}\n style={{display: 'flex', justifyContent: 'center', margin: '30px auto 0'}}\n />\n );\n }\n\n if (this.displayMode === 'signup') {\n const invalid = this.submitting || !this.first_name || !this.last_name || !this.email || !this.password || !this.confirmpass || !this.org_name;\n\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Sign up for a free account</h3>\n <div class=\"already-have\">\n Already have an account?\n <verdocs-button label=\"Log In\" variant=\"text\" onClick={() => (this.displayMode = 'login')} disabled={this.submitting} />\n </div>\n\n <form onSubmit={() => this.handleSignup()}>\n <div style={{display: 'flex', flexDirection: 'row', columnGap: '20px'}}>\n <verdocs-text-input\n label=\"First Name\"\n autocomplete=\"first\"\n required={true}\n value={this.first_name}\n onInput={(e: any) => (this.first_name = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Last Name\"\n autocomplete=\"last\"\n required={true}\n value={this.last_name}\n onInput={(e: any) => (this.last_name = e.target.value)}\n disabled={this.submitting}\n />\n </div>\n <verdocs-text-input\n label=\"Email Address\"\n autocomplete=\"email\"\n required={true}\n value={this.email}\n onInput={(e: any) => (this.email = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n required={true}\n autocomplete=\"new-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Confirm Password\"\n type=\"password\"\n required={true}\n autocomplete=\"off\"\n value={this.confirmpass}\n onInput={(e: any) => (this.confirmpass = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Organization Name\"\n autocomplete=\"org\"\n required={true}\n value={this.org_name}\n onInput={(e: any) => (this.org_name = e.target.value)}\n disabled={this.submitting}\n style={{flex: '1'}}\n />\n\n <div style={{marginTop: '30px'}} />\n\n <verdocs-button\n label=\"Next\"\n disabled={invalid}\n onClick={invalid ? () => {} : () => this.handleSignup()}\n style={{display: 'flex', justifyContent: 'center', margin: '30px auto 0'}}\n />\n </form>\n </div>\n );\n }\n\n if (this.displayMode === 'verify') {\n return (\n <div class=\"form\">\n <form onSubmit={() => this.handleVerification()}>\n <p>Please check your e-mail inbox for a verification code and enter it below.</p>\n\n <verdocs-text-input\n label=\"Verification Code\"\n required={true}\n value={this.verificationCode}\n onInput={(e: any) => (this.verificationCode = e.target.value)}\n disabled={this.submitting}\n />\n\n <div class=\"buttons\">\n <verdocs-button label=\"Sign Out\" variant=\"outline\" disabled={this.submitting} onClick={() => this.handleLogout()} />\n <verdocs-button label=\"Verify\" disabled={this.submitting || !this.verificationCode || this.verificationCode.length !== 6} onClick={() => this.handleVerification()} />\n </div>\n <div class=\"buttons\">\n <verdocs-button variant=\"text\" label=\"Resend Code\" disabled={this.resendDisabled || this.submitting} onClick={() => this.handleResendVerification()} />\n </div>\n </form>\n </div>\n );\n }\n\n if (this.displayMode === 'forgot') {\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Forgot your password?</h3>\n\n <p>\n Enter your e-mail address below. If the e-mail address is valid, a password reset code will be sent to your inbox. Please allow up to 15 minutes to arrive, and check\n your spam folder if you do not receive the message.\n </p>\n\n <form onSubmit={() => this.handleResetGetCode()}>\n <verdocs-text-input\n label=\"Email Address\"\n autocomplete=\"email\"\n required={true}\n value={this.email}\n onInput={(e: any) => (this.email = e.target.value)}\n disabled={this.submitting}\n />\n\n <div style={{marginTop: '30px'}} />\n\n <div class=\"buttons\">\n <verdocs-button size=\"small\" label=\"Cancel\" variant=\"outline\" disabled={this.submitting} onClick={() => (this.displayMode = 'login')} />\n <verdocs-button size=\"small\" label=\"Request Code\" disabled={this.submitting} onClick={() => this.handleResetGetCode()} />\n </div>\n </form>\n </div>\n );\n }\n\n if (this.displayMode === 'reset') {\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Forgot your password?</h3>\n\n <p>\n Enter your e-mail address below, and reset instructions will be sent to your Inbox. Please allow up to 15 minutes to arrive. Check your spam folder if you do not\n receive the message.\n </p>\n\n <form onSubmit={() => this.handleResetPassword()}>\n <verdocs-text-input\n label=\"Verification Code\"\n required={true}\n value={this.verificationCode}\n onInput={(e: any) => (this.verificationCode = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n required={true}\n autocomplete=\"off\"\n value={this.newPassword}\n onInput={(e: any) => (this.newPassword = e.target.value)}\n disabled={this.submitting}\n />\n <verdocs-text-input\n label=\"Confirm Password\"\n type=\"password\"\n required={true}\n autocomplete=\"off\"\n value={this.confirmpass}\n onInput={(e: any) => (this.confirmpass = e.target.value)}\n disabled={this.submitting}\n />\n\n <div style={{marginTop: '30px'}} />\n\n <div class=\"buttons\">\n <verdocs-button label=\"Cancel\" variant=\"outline\" disabled={this.submitting} onClick={() => (this.displayMode = 'login')} />\n <verdocs-button label=\"Reset\" disabled={this.submitting} onClick={() => this.handleResetPassword()} />\n </div>\n\n <div class=\"buttons\">\n <verdocs-button variant=\"text\" label=\"Resend Code\" disabled={this.resendDisabled || this.submitting} onClick={() => this.handleResendReset()} />\n </div>\n </form>\n </div>\n );\n }\n\n return (\n <div class=\"form\">\n <a href=\"https://verdocs.com/en/\">\n <img src={this.logo} alt=\"Verdocs Logo\" class=\"logo\" />\n </a>\n\n <h3>Log in to your account</h3>\n <div class=\"already-have\">\n Don't have an account?\n <verdocs-button label=\"Sign Up\" variant=\"text\" onClick={() => (this.displayMode = 'signup')} disabled={this.submitting} />\n </div>\n\n <form onSubmit={() => this.loginAndCheckVerification()}>\n <verdocs-text-input label=\"Email\" autocomplete=\"username\" value={this.email} onInput={(e: any) => (this.email = e.target.value)} disabled={this.submitting} />\n <verdocs-text-input\n label=\"Password\"\n type=\"password\"\n autocomplete=\"current-password\"\n value={this.password}\n onInput={(e: any) => (this.password = e.target.value)}\n disabled={this.submitting}\n />\n\n <verdocs-button\n label=\"Forgot Your Password?\"\n variant=\"text\"\n onClick={() => (this.displayMode = 'forgot')}\n disabled={this.submitting}\n style={{display: 'flex', justifyContent: 'center', margin: '10px auto 20px'}}\n />\n\n <verdocs-button\n label=\"Login\"\n disabled={this.submitting}\n onClick={() => this.loginAndCheckVerification()}\n style={{display: 'flex', justifyContent: 'center', margin: '10px auto 0'}}\n />\n </form>\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}