@thenamespace/ens-components 0.0.1-alpha

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 (60) hide show
  1. package/README.md +201 -0
  2. package/dist/index.css +2 -0
  3. package/dist/index.css.map +1 -0
  4. package/dist/index.d.ts +8642 -0
  5. package/dist/index.js +30966 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/types/components/atoms/button/Button.d.ts +13 -0
  8. package/dist/types/components/atoms/chain-icon/ChainIcon.d.ts +9 -0
  9. package/dist/types/components/atoms/icon/Icon.d.ts +12 -0
  10. package/dist/types/components/atoms/icon/custom/DiscordIcon.d.ts +6 -0
  11. package/dist/types/components/atoms/icon/custom/GithubIcon.d.ts +6 -0
  12. package/dist/types/components/atoms/icon/custom/TelegramIcon.d.ts +6 -0
  13. package/dist/types/components/atoms/icon/custom/XIcon.d.ts +6 -0
  14. package/dist/types/components/atoms/icon/custom/YoutubeIcon.d.ts +6 -0
  15. package/dist/types/components/atoms/icon/custom/index.d.ts +5 -0
  16. package/dist/types/components/atoms/index.d.ts +6 -0
  17. package/dist/types/components/atoms/input/Input.d.ts +15 -0
  18. package/dist/types/components/atoms/text/Text.d.ts +14 -0
  19. package/dist/types/components/atoms/tooltip/Tooltip.d.ts +17 -0
  20. package/dist/types/components/ens-records-form/EnsRecordsForm.d.ts +13 -0
  21. package/dist/types/components/ens-records-form/record-diff/RecordDiff.d.ts +6 -0
  22. package/dist/types/components/index.d.ts +4 -0
  23. package/dist/types/components/molecules/alert/Alert.d.ts +13 -0
  24. package/dist/types/components/molecules/contenthash/ContenthashIcon.d.ts +7 -0
  25. package/dist/types/components/molecules/contenthash/icons/ArweaveIcon.d.ts +5 -0
  26. package/dist/types/components/molecules/contenthash/icons/IpfsIcon.d.ts +5 -0
  27. package/dist/types/components/molecules/contenthash/icons/OnionIcon.d.ts +5 -0
  28. package/dist/types/components/molecules/contenthash/icons/SkynetIcon.d.ts +5 -0
  29. package/dist/types/components/molecules/contenthash/icons/SwarmIcon.d.ts +5 -0
  30. package/dist/types/components/molecules/dropdown/Dropdown.d.ts +13 -0
  31. package/dist/types/components/molecules/index.d.ts +4 -0
  32. package/dist/types/components/molecules/modal/Modal.d.ts +23 -0
  33. package/dist/types/components/pending-transaction/PendingTransaction.d.ts +14 -0
  34. package/dist/types/components/select-records-form/SelectRecordsForm.d.ts +7 -0
  35. package/dist/types/components/select-records-form/address-record/AddressRecords.d.ts +9 -0
  36. package/dist/types/components/select-records-form/contenthash-records/ContenthashRecord.d.ts +10 -0
  37. package/dist/types/components/select-records-form/image-records/ImageRecords.d.ts +9 -0
  38. package/dist/types/components/select-records-form/records-selector/RecordsSelector.d.ts +18 -0
  39. package/dist/types/components/select-records-form/text-records/TextRecords.d.ts +11 -0
  40. package/dist/types/constants/index.d.ts +3 -0
  41. package/dist/types/constants/records/addressConstants.d.ts +14 -0
  42. package/dist/types/constants/records/contenthashConstants.d.ts +8 -0
  43. package/dist/types/constants/records/textConstants.d.ts +16 -0
  44. package/dist/types/hooks/index.d.ts +2 -0
  45. package/dist/types/hooks/useWaitForTransaction.d.ts +3 -0
  46. package/dist/types/hooks/useWeb3Clients.d.ts +8041 -0
  47. package/dist/types/index.d.ts +9 -0
  48. package/dist/types/providers/TransactionProvider.d.ts +1 -0
  49. package/dist/types/styles.d.ts +1 -0
  50. package/dist/types/theme/ThemeProvider.d.ts +15 -0
  51. package/dist/types/types/index.d.ts +1 -0
  52. package/dist/types/types/records.d.ts +24 -0
  53. package/dist/types/utils/coins.d.ts +1 -0
  54. package/dist/types/utils/index.d.ts +3 -0
  55. package/dist/types/utils/records.d.ts +13 -0
  56. package/dist/types/utils/resolver.d.ts +2 -0
  57. package/dist/types/utils/strings.d.ts +3 -0
  58. package/dist/types/web3/index.d.ts +1 -0
  59. package/dist/types/web3/resolver-abi.d.ts +56 -0
  60. package/package.json +91 -0
@@ -0,0 +1,9 @@
1
+ export * from "./components";
2
+ export * from "./constants";
3
+ export * from "./hooks";
4
+ export * from "./types";
5
+ export * from "./utils";
6
+ export * from "./web3";
7
+ export * from "./theme/ThemeProvider";
8
+ import "./styles/global.css";
9
+ import "./styles/utils.css";
@@ -0,0 +1 @@
1
+ export declare const TransactionProvider: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import './styles/index.css';
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import "../styles/global.css";
3
+ export type ThemeName = "light" | "dark";
4
+ export interface ThemeContextValue {
5
+ theme: ThemeName;
6
+ setTheme: (theme: ThemeName) => void;
7
+ toggleTheme: () => void;
8
+ }
9
+ export interface ThemeProviderProps {
10
+ initialTheme?: ThemeName;
11
+ useDocument?: boolean;
12
+ children: React.ReactNode;
13
+ }
14
+ export declare const ThemeProvider: React.FC<ThemeProviderProps>;
15
+ export declare const useTheme: () => ThemeContextValue;
@@ -0,0 +1 @@
1
+ export * from "./records";
@@ -0,0 +1,24 @@
1
+ export interface EnsRecords {
2
+ addresses: EnsAddressRecord[];
3
+ texts: EnsTextRecord[];
4
+ contenthash?: EnsContenthashRecord;
5
+ }
6
+ export interface EnsTextRecord {
7
+ key: string;
8
+ value: string;
9
+ }
10
+ export interface EnsAddressRecord {
11
+ coinType: number;
12
+ value: string;
13
+ }
14
+ export interface EnsContenthashRecord {
15
+ protocol: ContenthashProtocol;
16
+ value: string;
17
+ }
18
+ export declare enum ContenthashProtocol {
19
+ Ipfs = "ipfs",
20
+ Onion = "onion3",
21
+ Arweave = "arweave",
22
+ Skynet = "skynet",
23
+ Swarm = "swarm"
24
+ }
@@ -0,0 +1 @@
1
+ export declare function convertEVMChainIdToCoinType(chainId: number): number;
@@ -0,0 +1,3 @@
1
+ export * from "./strings";
2
+ export * from "./coins";
3
+ export * from "./records";
@@ -0,0 +1,13 @@
1
+ import { EnsAddressRecord, EnsContenthashRecord, EnsRecords, EnsTextRecord } from "@/types";
2
+ export interface EnsRecordsDiff {
3
+ textsAdded: EnsTextRecord[];
4
+ textsModified: EnsTextRecord[];
5
+ textsRemoved: EnsTextRecord[];
6
+ addressesAdded: EnsAddressRecord[];
7
+ addressesRemoved: EnsAddressRecord[];
8
+ addressesModified: EnsAddressRecord[];
9
+ contenthashAdded?: EnsContenthashRecord;
10
+ contenthashRemoved: boolean;
11
+ contenthashModified?: EnsContenthashRecord;
12
+ }
13
+ export declare const getEnsRecordsDiff: (oldRecords: EnsRecords, newRecords: EnsRecords) => EnsRecordsDiff;
@@ -0,0 +1,2 @@
1
+ import { EnsRecordsDiff } from "./records";
2
+ export declare const convertToMulticallResolverData: (name: string, recordsDiff: EnsRecordsDiff) => `0x${string}`[];
@@ -0,0 +1,3 @@
1
+ export declare const capitalize: (value: string) => string;
2
+ export declare const equalsIgnoreCase: (a: string, b: string) => boolean;
3
+ export declare const deepCopy: (a: any) => any;
@@ -0,0 +1 @@
1
+ export * from "./resolver-abi";
@@ -0,0 +1,56 @@
1
+ export declare const SET_TEXT_FUNC = "function setText(bytes32 node, string key, string value)";
2
+ export declare const SET_ADDRESS_FUNC = "function setAddr(bytes32 node, uint256 coin, bytes value)";
3
+ export declare const SET_CONTENTHASH_FUNC = "function setContenthash(bytes32 node, bytes value)";
4
+ export declare const MULTICALL = "function multicall(bytes[] data)";
5
+ export declare const ENS_RESOLVER_ABI: readonly [{
6
+ readonly name: "setText";
7
+ readonly type: "function";
8
+ readonly stateMutability: "nonpayable";
9
+ readonly inputs: readonly [{
10
+ readonly type: "bytes32";
11
+ readonly name: "node";
12
+ }, {
13
+ readonly type: "string";
14
+ readonly name: "key";
15
+ }, {
16
+ readonly type: "string";
17
+ readonly name: "value";
18
+ }];
19
+ readonly outputs: readonly [];
20
+ }, {
21
+ readonly name: "setAddr";
22
+ readonly type: "function";
23
+ readonly stateMutability: "nonpayable";
24
+ readonly inputs: readonly [{
25
+ readonly type: "bytes32";
26
+ readonly name: "node";
27
+ }, {
28
+ readonly type: "uint256";
29
+ readonly name: "coin";
30
+ }, {
31
+ readonly type: "bytes";
32
+ readonly name: "value";
33
+ }];
34
+ readonly outputs: readonly [];
35
+ }, {
36
+ readonly name: "setContenthash";
37
+ readonly type: "function";
38
+ readonly stateMutability: "nonpayable";
39
+ readonly inputs: readonly [{
40
+ readonly type: "bytes32";
41
+ readonly name: "node";
42
+ }, {
43
+ readonly type: "bytes";
44
+ readonly name: "value";
45
+ }];
46
+ readonly outputs: readonly [];
47
+ }, {
48
+ readonly name: "multicall";
49
+ readonly type: "function";
50
+ readonly stateMutability: "nonpayable";
51
+ readonly inputs: readonly [{
52
+ readonly type: "bytes[]";
53
+ readonly name: "data";
54
+ }];
55
+ readonly outputs: readonly [];
56
+ }];
package/package.json ADDED
@@ -0,0 +1,91 @@
1
+ {
2
+ "name": "@thenamespace/ens-components",
3
+ "version": "0.0.1-alpha",
4
+ "description": "",
5
+ "main": "dist/index.cjs",
6
+ "module": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "sideEffects": [
12
+ "**/*.css"
13
+ ],
14
+ "peerDependencies": {
15
+ "@ensdomains/address-encoder": "^1.1.4",
16
+ "@ensdomains/content-hash": "^3.0.0",
17
+ "lucide-react": "^0.542.0",
18
+ "react": ">=18",
19
+ "react-dom": ">=18",
20
+ "viem": "^2.36.0",
21
+ "wagmi": "^2.16.8"
22
+ },
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/index.d.ts",
26
+ "import": "./dist/index.js",
27
+ "require": "./dist/index.cjs"
28
+ },
29
+ "./styles": {
30
+ "import": "./dist/styles/index.js",
31
+ "require": "./dist/styles/index.cjs"
32
+ },
33
+ "./styles.css": {
34
+ "import": "./dist/index.css",
35
+ "require": "./dist/index.css"
36
+ },
37
+ "./package.json": "./package.json"
38
+ },
39
+ "scripts": {
40
+ "test": "echo \"Error: no test specified\" && exit 1",
41
+ "dev": "tsup --watch",
42
+ "clean": "rimraf dist",
43
+ "lint": "eslint .",
44
+ "storybook": "storybook dev -p 6006",
45
+ "build-storybook": "storybook build",
46
+ "test-app": "vite --port 4000",
47
+ "format": "prettier --write .",
48
+ "format:check": "prettier --check .",
49
+ "build:types": "tsc -p tsconfig.types.json",
50
+ "build": "npm run clean && npm run build:types && rollup -c"
51
+ },
52
+ "keywords": [],
53
+ "author": "",
54
+ "license": "ISC",
55
+ "type": "module",
56
+ "publishConfig": {
57
+ "access": "public"
58
+ },
59
+ "devDependencies": {
60
+ "@rainbow-me/rainbowkit": "^2.2.8",
61
+ "@rollup/plugin-alias": "^5.1.1",
62
+ "@rollup/plugin-commonjs": "^28.0.6",
63
+ "@rollup/plugin-json": "^6.1.0",
64
+ "@rollup/plugin-node-resolve": "^16.0.1",
65
+ "@rollup/plugin-typescript": "^12.1.4",
66
+ "@storybook/addon-essentials": "^8.6.14",
67
+ "@storybook/addon-interactions": "^8.6.14",
68
+ "@storybook/react-vite": "^8.6.14",
69
+ "@types/react": "^19.1.12",
70
+ "@types/react-dom": "^19.1.9",
71
+ "@vitejs/plugin-react": "^5.0.2",
72
+ "autoprefixer": "^10.4.21",
73
+ "axios": "^1.11.0",
74
+ "bootstrap": "^5.3.8",
75
+ "cssnano": "^7.1.1",
76
+ "eslint": "^9.34.0",
77
+ "prettier": "^3.6.2",
78
+ "react": "^18.3.1",
79
+ "react-dom": "^18.3.1",
80
+ "rimraf": "^6.0.1",
81
+ "rollup": "^4.50.1",
82
+ "rollup-plugin-dts": "^6.2.3",
83
+ "rollup-plugin-esbuild": "^6.2.1",
84
+ "rollup-plugin-postcss": "^4.0.2",
85
+ "storybook": "^8.6.14",
86
+ "typescript": "^5.9.2",
87
+ "vite": "^6.3.5",
88
+ "vite-tsconfig-paths": "^5.1.4",
89
+ "@tanstack/react-query": "^5.87.0"
90
+ }
91
+ }