@block-auth.io/blockauth-sdk-react 0.3.2 → 0.4.0

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.
@@ -1,142 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./main-DjvR41j1.cjs"),t=e.i`
2
- :host {
3
- z-index: var(--w3m-z-index);
4
- display: block;
5
- backface-visibility: hidden;
6
- will-change: opacity;
7
- position: fixed;
8
- top: 0;
9
- left: 0;
10
- right: 0;
11
- bottom: 0;
12
- pointer-events: none;
13
- opacity: 0;
14
- background-color: var(--wui-cover);
15
- transition: opacity 0.2s var(--wui-ease-out-power-2);
16
- will-change: opacity;
17
- }
18
-
19
- :host(.open) {
20
- opacity: 1;
21
- }
22
-
23
- wui-card {
24
- max-width: var(--w3m-modal-width);
25
- width: 100%;
26
- position: relative;
27
- animation: zoom-in 0.2s var(--wui-ease-out-power-2);
28
- animation-fill-mode: backwards;
29
- outline: none;
30
- }
31
-
32
- wui-card[shake='true'] {
33
- animation:
34
- zoom-in 0.2s var(--wui-ease-out-power-2),
35
- w3m-shake 0.5s var(--wui-ease-out-power-2);
36
- }
37
-
38
- wui-flex {
39
- overflow-x: hidden;
40
- overflow-y: auto;
41
- display: flex;
42
- align-items: center;
43
- justify-content: center;
44
- width: 100%;
45
- height: 100%;
46
- }
47
-
48
- @media (max-height: 700px) and (min-width: 431px) {
49
- wui-flex {
50
- align-items: flex-start;
51
- }
52
-
53
- wui-card {
54
- margin: var(--wui-spacing-xxl) 0px;
55
- }
56
- }
57
-
58
- @media (max-width: 430px) {
59
- wui-flex {
60
- align-items: flex-end;
61
- }
62
-
63
- wui-card {
64
- max-width: 100%;
65
- border-bottom-left-radius: 0;
66
- border-bottom-right-radius: 0;
67
- border-bottom: none;
68
- animation: slide-in 0.2s var(--wui-ease-out-power-2);
69
- }
70
-
71
- wui-card[shake='true'] {
72
- animation:
73
- slide-in 0.2s var(--wui-ease-out-power-2),
74
- w3m-shake 0.5s var(--wui-ease-out-power-2);
75
- }
76
- }
77
-
78
- @keyframes zoom-in {
79
- 0% {
80
- transform: scale(0.95) translateY(0);
81
- }
82
- 100% {
83
- transform: scale(1) translateY(0);
84
- }
85
- }
86
-
87
- @keyframes slide-in {
88
- 0% {
89
- transform: scale(1) translateY(50px);
90
- }
91
- 100% {
92
- transform: scale(1) translateY(0);
93
- }
94
- }
95
-
96
- @keyframes w3m-shake {
97
- 0% {
98
- transform: scale(1) rotate(0deg);
99
- }
100
- 20% {
101
- transform: scale(1) rotate(-1deg);
102
- }
103
- 40% {
104
- transform: scale(1) rotate(1.5deg);
105
- }
106
- 60% {
107
- transform: scale(1) rotate(-1.5deg);
108
- }
109
- 80% {
110
- transform: scale(1) rotate(1deg);
111
- }
112
- 100% {
113
- transform: scale(1) rotate(0deg);
114
- }
115
- }
116
-
117
- @keyframes w3m-view-height {
118
- from {
119
- height: var(--prev-height);
120
- }
121
- to {
122
- height: var(--new-height);
123
- }
124
- }
125
- `;var o=function(e,t,o,i){var r,a=arguments.length,s=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,i);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(s=(a<3?r(s):a>3?r(t,o,s):r(t,o))||s);return a>3&&s&&Object.defineProperty(t,o,s),s};exports.W3mModal=class extends e.i$1{constructor(){super(),this.unsubscribe=[],this.abortController=void 0,this.open=e.ModalController.state.open,this.caipAddress=e.ChainController.state.activeCaipAddress,this.caipNetwork=e.ChainController.state.activeCaipNetwork,this.isSiweEnabled=e.OptionsController.state.isSiweEnabled,this.shake=e.ModalController.state.shake,this.initializeTheming(),e.ApiController.prefetch(),this.unsubscribe.push(e.ModalController.subscribeKey("open",e=>e?this.onOpen():this.onClose()),e.ModalController.subscribeKey("shake",e=>this.shake=e),e.AccountController.subscribeKey("siweStatus",e=>this.onSiweStatusChange(e),"eip155"),e.ChainController.subscribeKey("activeCaipNetwork",e=>this.onNewNetwork(e)),e.ChainController.subscribeKey("activeCaipAddress",e=>this.onNewAddress(e)),e.OptionsController.subscribeKey("isSiweEnabled",e=>this.isSiweEnabled=e)),e.EventsController.sendEvent({type:"track",event:"MODAL_LOADED"})}disconnectedCallback(){this.unsubscribe.forEach(e=>e()),this.onRemoveKeyboardListener()}render(){return this.open?e.b`
126
- <wui-flex @click=${this.onOverlayClick.bind(this)} data-testid="w3m-modal-overlay">
127
- <wui-card
128
- shake="${this.shake}"
129
- role="alertdialog"
130
- aria-modal="true"
131
- tabindex="0"
132
- data-testid="w3m-modal-card"
133
- >
134
- <w3m-header></w3m-header>
135
- <w3m-router></w3m-router>
136
- <w3m-snackbar></w3m-snackbar>
137
- <w3m-alertbar></w3m-alertbar>
138
- </wui-card>
139
- </wui-flex>
140
- <w3m-tooltip></w3m-tooltip>
141
- `:null}async onOverlayClick(e){e.target===e.currentTarget&&await this.handleClose()}async handleClose(){const t="ConnectingSiwe"===e.RouterController.state.view,o="ApproveTransaction"===e.RouterController.state.view;if(this.isSiweEnabled){const{SIWEController:i}=await Promise.resolve().then(()=>require("./index-BSWVqmGZ.cjs"));"success"!==i.state.status&&(t||o)?e.ModalController.shake():e.ModalController.close()}else e.ModalController.close()}initializeTheming(){const{themeVariables:t,themeMode:o}=e.ThemeController.state,i=e.UiHelperUtil.getColorTheme(o);e.initializeTheming(t,i)}onClose(){this.open=!1,this.classList.remove("open"),this.onScrollUnlock(),e.SnackController.hide(),this.onRemoveKeyboardListener()}onOpen(){this.open=!0,this.classList.add("open"),this.onScrollLock(),this.onAddKeyboardListener()}onScrollLock(){const e=document.createElement("style");e.dataset.w3m="scroll-lock",e.textContent="\n body {\n touch-action: none;\n overflow: hidden;\n overscroll-behavior: contain;\n }\n w3m-modal {\n pointer-events: auto;\n }\n ",document.head.appendChild(e)}onScrollUnlock(){const e=document.head.querySelector('style[data-w3m="scroll-lock"]');e&&e.remove()}onAddKeyboardListener(){var e;this.abortController=new AbortController;const t=null==(e=this.shadowRoot)?void 0:e.querySelector("wui-card");null==t||t.focus(),window.addEventListener("keydown",e=>{if("Escape"===e.key)this.handleClose();else if("Tab"===e.key){const{tagName:o}=e.target;!o||o.includes("W3M-")||o.includes("WUI-")||null==t||t.focus()}},this.abortController)}onRemoveKeyboardListener(){var e;null==(e=this.abortController)||e.abort(),this.abortController=void 0}onSiweStatusChange(t){"success"===t&&e.ModalController.close()}async onNewAddress(t){var o;const i=this.caipAddress?e.CoreHelperUtil.getPlainAddress(this.caipAddress):void 0,r=t?e.CoreHelperUtil.getPlainAddress(t):void 0;if(r&&!(i===r)&&this.isSiweEnabled){const{SIWEController:t}=await Promise.resolve().then(()=>require("./index-BSWVqmGZ.cjs")),a="success"===e.AccountController.state.siweStatus;!i&&r?this.onSiweNavigation():a&&i&&r&&i!==r&&(null==(o=t.state._client)?void 0:o.options.signOutOnAccountChange)&&(await t.signOut(),this.onSiweNavigation())}r||e.ModalController.close(),this.caipAddress=t}async onNewNetwork(t){var o,i,r,a;if(!this.caipAddress)return this.caipNetwork=t,void e.RouterController.goBack();const s=null==(i=null==(o=this.caipNetwork)?void 0:o.id)?void 0:i.toString(),n=null==(r=null==t?void 0:t.id)?void 0:r.toString();if(s&&n&&s!==n)if(this.isSiweEnabled){const{SIWEController:t}=await Promise.resolve().then(()=>require("./index-BSWVqmGZ.cjs"));(null==(a=t.state._client)?void 0:a.options.signOutOnNetworkChange)?(await t.signOut(),this.onSiweNavigation()):e.RouterController.goBack()}else e.RouterController.goBack();this.caipNetwork=t}onSiweNavigation(){const t=e.ChainController.state.activeChain===e.ConstantsUtil.CHAIN.EVM;!("success"===e.AccountController.state.siweStatus)&&t?this.open?e.RouterController.replace("ConnectingSiwe"):e.ModalController.open({view:"ConnectingSiwe"}):e.RouterController.goBack()}},exports.W3mModal.styles=t,o([e.r()],exports.W3mModal.prototype,"open",void 0),o([e.r()],exports.W3mModal.prototype,"caipAddress",void 0),o([e.r()],exports.W3mModal.prototype,"caipNetwork",void 0),o([e.r()],exports.W3mModal.prototype,"isSiweEnabled",void 0),o([e.r()],exports.W3mModal.prototype,"shake",void 0),exports.W3mModal=o([e.customElement("w3m-modal")],exports.W3mModal);
142
- //# sourceMappingURL=w3m-modal-DHYAl4bG.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"w3m-modal-DHYAl4bG.cjs","sources":["../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/modal/w3m-modal/styles.js","../node_modules/@reown/appkit-scaffold-ui/dist/esm/src/modal/w3m-modal/index.js"],"sourcesContent":["import { css } from 'lit';\nexport default css `\n :host {\n z-index: var(--w3m-z-index);\n display: block;\n backface-visibility: hidden;\n will-change: opacity;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n opacity: 0;\n background-color: var(--wui-cover);\n transition: opacity 0.2s var(--wui-ease-out-power-2);\n will-change: opacity;\n }\n\n :host(.open) {\n opacity: 1;\n }\n\n wui-card {\n max-width: var(--w3m-modal-width);\n width: 100%;\n position: relative;\n animation: zoom-in 0.2s var(--wui-ease-out-power-2);\n animation-fill-mode: backwards;\n outline: none;\n }\n\n wui-card[shake='true'] {\n animation:\n zoom-in 0.2s var(--wui-ease-out-power-2),\n w3m-shake 0.5s var(--wui-ease-out-power-2);\n }\n\n wui-flex {\n overflow-x: hidden;\n overflow-y: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n\n @media (max-height: 700px) and (min-width: 431px) {\n wui-flex {\n align-items: flex-start;\n }\n\n wui-card {\n margin: var(--wui-spacing-xxl) 0px;\n }\n }\n\n @media (max-width: 430px) {\n wui-flex {\n align-items: flex-end;\n }\n\n wui-card {\n max-width: 100%;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: none;\n animation: slide-in 0.2s var(--wui-ease-out-power-2);\n }\n\n wui-card[shake='true'] {\n animation:\n slide-in 0.2s var(--wui-ease-out-power-2),\n w3m-shake 0.5s var(--wui-ease-out-power-2);\n }\n }\n\n @keyframes zoom-in {\n 0% {\n transform: scale(0.95) translateY(0);\n }\n 100% {\n transform: scale(1) translateY(0);\n }\n }\n\n @keyframes slide-in {\n 0% {\n transform: scale(1) translateY(50px);\n }\n 100% {\n transform: scale(1) translateY(0);\n }\n }\n\n @keyframes w3m-shake {\n 0% {\n transform: scale(1) rotate(0deg);\n }\n 20% {\n transform: scale(1) rotate(-1deg);\n }\n 40% {\n transform: scale(1) rotate(1.5deg);\n }\n 60% {\n transform: scale(1) rotate(-1.5deg);\n }\n 80% {\n transform: scale(1) rotate(1deg);\n }\n 100% {\n transform: scale(1) rotate(0deg);\n }\n }\n\n @keyframes w3m-view-height {\n from {\n height: var(--prev-height);\n }\n to {\n height: var(--new-height);\n }\n }\n`;\n//# sourceMappingURL=styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { AccountController, ApiController, ChainController, CoreHelperUtil, EventsController, ModalController, OptionsController, RouterController, SnackController, ThemeController } from '@reown/appkit-core';\nimport { UiHelperUtil, customElement, initializeTheming } from '@reown/appkit-ui';\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators.js';\nimport styles from './styles.js';\nimport { ConstantsUtil } from '@reown/appkit-common';\nconst SCROLL_LOCK = 'scroll-lock';\nlet W3mModal = class W3mModal extends LitElement {\n constructor() {\n super();\n this.unsubscribe = [];\n this.abortController = undefined;\n this.open = ModalController.state.open;\n this.caipAddress = ChainController.state.activeCaipAddress;\n this.caipNetwork = ChainController.state.activeCaipNetwork;\n this.isSiweEnabled = OptionsController.state.isSiweEnabled;\n this.shake = ModalController.state.shake;\n this.initializeTheming();\n ApiController.prefetch();\n this.unsubscribe.push(...[\n ModalController.subscribeKey('open', val => (val ? this.onOpen() : this.onClose())),\n ModalController.subscribeKey('shake', val => (this.shake = val)),\n AccountController.subscribeKey('siweStatus', val => this.onSiweStatusChange(val), 'eip155'),\n ChainController.subscribeKey('activeCaipNetwork', val => this.onNewNetwork(val)),\n ChainController.subscribeKey('activeCaipAddress', val => this.onNewAddress(val)),\n OptionsController.subscribeKey('isSiweEnabled', val => (this.isSiweEnabled = val))\n ]);\n EventsController.sendEvent({ type: 'track', event: 'MODAL_LOADED' });\n }\n disconnectedCallback() {\n this.unsubscribe.forEach(unsubscribe => unsubscribe());\n this.onRemoveKeyboardListener();\n }\n render() {\n return this.open\n ? html `\n <wui-flex @click=${this.onOverlayClick.bind(this)} data-testid=\"w3m-modal-overlay\">\n <wui-card\n shake=\"${this.shake}\"\n role=\"alertdialog\"\n aria-modal=\"true\"\n tabindex=\"0\"\n data-testid=\"w3m-modal-card\"\n >\n <w3m-header></w3m-header>\n <w3m-router></w3m-router>\n <w3m-snackbar></w3m-snackbar>\n <w3m-alertbar></w3m-alertbar>\n </wui-card>\n </wui-flex>\n <w3m-tooltip></w3m-tooltip>\n `\n : null;\n }\n async onOverlayClick(event) {\n if (event.target === event.currentTarget) {\n await this.handleClose();\n }\n }\n async handleClose() {\n const isSiweSignScreen = RouterController.state.view === 'ConnectingSiwe';\n const isApproveSignScreen = RouterController.state.view === 'ApproveTransaction';\n if (this.isSiweEnabled) {\n const { SIWEController } = await import('@reown/appkit-siwe');\n const isUnauthenticated = SIWEController.state.status !== 'success';\n if (isUnauthenticated && (isSiweSignScreen || isApproveSignScreen)) {\n ModalController.shake();\n }\n else {\n ModalController.close();\n }\n }\n else {\n ModalController.close();\n }\n }\n initializeTheming() {\n const { themeVariables, themeMode } = ThemeController.state;\n const defaultThemeMode = UiHelperUtil.getColorTheme(themeMode);\n initializeTheming(themeVariables, defaultThemeMode);\n }\n onClose() {\n this.open = false;\n this.classList.remove('open');\n this.onScrollUnlock();\n SnackController.hide();\n this.onRemoveKeyboardListener();\n }\n onOpen() {\n this.open = true;\n this.classList.add('open');\n this.onScrollLock();\n this.onAddKeyboardListener();\n }\n onScrollLock() {\n const styleTag = document.createElement('style');\n styleTag.dataset['w3m'] = SCROLL_LOCK;\n styleTag.textContent = `\n body {\n touch-action: none;\n overflow: hidden;\n overscroll-behavior: contain;\n }\n w3m-modal {\n pointer-events: auto;\n }\n `;\n document.head.appendChild(styleTag);\n }\n onScrollUnlock() {\n const styleTag = document.head.querySelector(`style[data-w3m=\"${SCROLL_LOCK}\"]`);\n if (styleTag) {\n styleTag.remove();\n }\n }\n onAddKeyboardListener() {\n this.abortController = new AbortController();\n const card = this.shadowRoot?.querySelector('wui-card');\n card?.focus();\n window.addEventListener('keydown', event => {\n if (event.key === 'Escape') {\n this.handleClose();\n }\n else if (event.key === 'Tab') {\n const { tagName } = event.target;\n if (tagName && !tagName.includes('W3M-') && !tagName.includes('WUI-')) {\n card?.focus();\n }\n }\n }, this.abortController);\n }\n onRemoveKeyboardListener() {\n this.abortController?.abort();\n this.abortController = undefined;\n }\n onSiweStatusChange(nextStatus) {\n if (nextStatus === 'success') {\n ModalController.close();\n }\n }\n async onNewAddress(caipAddress) {\n const prevConnected = this.caipAddress\n ? CoreHelperUtil.getPlainAddress(this.caipAddress)\n : undefined;\n const nextConnected = caipAddress ? CoreHelperUtil.getPlainAddress(caipAddress) : undefined;\n const isSameAddress = prevConnected === nextConnected;\n if (nextConnected && !isSameAddress && this.isSiweEnabled) {\n const { SIWEController } = await import('@reown/appkit-siwe');\n const signed = AccountController.state.siweStatus === 'success';\n if (!prevConnected && nextConnected) {\n this.onSiweNavigation();\n }\n else if (signed && prevConnected && nextConnected && prevConnected !== nextConnected) {\n if (SIWEController.state._client?.options.signOutOnAccountChange) {\n await SIWEController.signOut();\n this.onSiweNavigation();\n }\n }\n }\n if (!nextConnected) {\n ModalController.close();\n }\n this.caipAddress = caipAddress;\n }\n async onNewNetwork(nextCaipNetwork) {\n if (!this.caipAddress) {\n this.caipNetwork = nextCaipNetwork;\n RouterController.goBack();\n return;\n }\n const prevCaipNetworkId = this.caipNetwork?.id?.toString();\n const nextNetworkId = nextCaipNetwork?.id?.toString();\n if (prevCaipNetworkId && nextNetworkId && prevCaipNetworkId !== nextNetworkId) {\n if (this.isSiweEnabled) {\n const { SIWEController } = await import('@reown/appkit-siwe');\n if (SIWEController.state._client?.options.signOutOnNetworkChange) {\n await SIWEController.signOut();\n this.onSiweNavigation();\n }\n else {\n RouterController.goBack();\n }\n }\n else {\n RouterController.goBack();\n }\n }\n this.caipNetwork = nextCaipNetwork;\n }\n onSiweNavigation() {\n const isEIP155Namespace = ChainController.state.activeChain === ConstantsUtil.CHAIN.EVM;\n const authenticated = AccountController.state.siweStatus === 'success';\n if (!authenticated && isEIP155Namespace) {\n if (this.open) {\n RouterController.replace('ConnectingSiwe');\n }\n else {\n ModalController.open({\n view: 'ConnectingSiwe'\n });\n }\n }\n else {\n RouterController.goBack();\n }\n }\n};\nW3mModal.styles = styles;\n__decorate([\n state()\n], W3mModal.prototype, \"open\", void 0);\n__decorate([\n state()\n], W3mModal.prototype, \"caipAddress\", void 0);\n__decorate([\n state()\n], W3mModal.prototype, \"caipNetwork\", void 0);\n__decorate([\n state()\n], W3mModal.prototype, \"isSiweEnabled\", void 0);\n__decorate([\n state()\n], W3mModal.prototype, \"shake\", void 0);\nW3mModal = __decorate([\n customElement('w3m-modal')\n], W3mModal);\nexport { W3mModal };\n//# sourceMappingURL=index.js.map"],"names":["styles","css","__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","W3mModal","LitElement","[object Object]","super","this","unsubscribe","abortController","open","ModalController","state","caipAddress","ChainController","activeCaipAddress","caipNetwork","activeCaipNetwork","isSiweEnabled","OptionsController","shake","initializeTheming","ApiController","prefetch","push","subscribeKey","val","onOpen","onClose","AccountController","onSiweStatusChange","onNewNetwork","onNewAddress","EventsController","sendEvent","type","event","forEach","onRemoveKeyboardListener","html","onOverlayClick","bind","currentTarget","handleClose","isSiweSignScreen","RouterController","view","isApproveSignScreen","SIWEController","Promise","resolve","then","require","status","close","themeVariables","themeMode","ThemeController","defaultThemeMode","UiHelperUtil","getColorTheme","classList","remove","onScrollUnlock","SnackController","hide","add","onScrollLock","onAddKeyboardListener","styleTag","document","createElement","dataset","textContent","head","appendChild","querySelector","AbortController","card","_a","shadowRoot","focus","window","addEventListener","tagName","includes","abort","nextStatus","prevConnected","CoreHelperUtil","getPlainAddress","nextConnected","signed","siweStatus","onSiweNavigation","_client","options","signOutOnAccountChange","signOut","nextCaipNetwork","goBack","prevCaipNetworkId","_b","id","toString","nextNetworkId","_c","_d","signOutOnNetworkChange","isEIP155Namespace","activeChain","ConstantsUtil","CHAIN","EVM","replace","prototype","customElement"],"mappings":"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","x_google_ignoreList":[0,1]}