examples/vite-vanilla/src/components/custom-elements.ts 1.9 K raw
1
interface ContractCallElement extends HTMLElement {
2
  setAttribute('contract-address', value: string): void;
3
  setAttribute('chain-id', value: string): void;
4
  setAttribute('method-name', value: string): void;
5
  setAttribute('method-args', value: string): void;
6
  setAttribute('abi-url', value: string): void;
7
  setAttribute('abi', value: string): void;
8
  setAttribute('button-text', value: string): void;
9
  setAttribute('background', value: string): void;
10
  setAttribute('foreground', value: string): void;
11
  setAttribute('primary', value: string): void;
12
  setAttribute('secondary', value: string): void;
13
  setAttribute('border-radius', value: string): void;
14
  setAttribute('error-color', value: string): void;
15
  setAttribute('success-color', value: string): void;
16
  addEventListener(type: 'abi-loaded', listener: (event: CustomEvent) => void): void;
17
  addEventListener(type: 'abi-error', listener: (event: CustomEvent) => void): void;
18
  addEventListener(type: 'contract-call-success', listener: (event: CustomEvent) => void): void;
19
  addEventListener(type: 'contract-call-error', listener: (event: CustomEvent) => void): void;
20
}
21
22
interface ConnectWalletElement extends HTMLElement {
23
  setAttribute('chain-id', value: string): void;
24
  setAttribute('background', value: string): void;
25
  setAttribute('foreground', value: string): void;
26
  setAttribute('primary', value: string): void;
27
  setAttribute('secondary', value: string): void;
28
  setAttribute('border-radius', value: string): void;
29
  addEventListener(type: 'wallet-connected', listener: (event: CustomEvent) => void): void;
30
  addEventListener(type: 'wallet-error', listener: (event: CustomEvent) => void): void;
31
  addEventListener(type: 'wallet-disconnected', listener: (event: CustomEvent) => void): void;
32
}
33
34
declare global {
35
  interface HTMLElementTagNameMap {
36
  'contract-call': ContractCallElement;
37
  'connect-wallet': ConnectWalletElement;
38
  }
39
}
40
41
export {};