@midnames/sdk 0.1.1 → 0.1.3
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.
- package/dist/core.d.ts +1 -0
- package/dist/core.js +1 -1
- package/dist/holographic-card.css +536 -0
- package/dist/managed/index.d.ts +4 -4
- package/dist/managed/index.js +2 -2
- package/dist/managed/index.js.map +1 -0
- package/dist/managed/leaf.compact +258 -0
- package/dist/managed/{leaf → managed/leaf}/contract/index.cjs +126 -76
- package/dist/managed/managed/leaf/contract/index.cjs.map +8 -0
- package/dist/managed/{leaf → managed/leaf}/contract/index.d.cts +5 -1
- package/dist/managed/witnesses.js.map +1 -0
- package/dist/react/DomainProfileWidget.d.ts +26 -1
- package/dist/react/DomainProfileWidget.js +71 -6
- package/dist/react/HolographicCard.d.ts +36 -0
- package/dist/react/HolographicCard.js +191 -0
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.js +2 -0
- package/dist/styles.css +45 -0
- package/package.json +4 -4
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PublicDataProvider } from '@midnight-ntwrk/midnight-js-types';
|
|
3
|
+
import { MidNamesError } from '../types.js';
|
|
4
|
+
/**
|
|
5
|
+
* HolographicCard props
|
|
6
|
+
*/
|
|
7
|
+
export interface HolographicCardProps {
|
|
8
|
+
/** Domain name to resolve and display */
|
|
9
|
+
domain: string;
|
|
10
|
+
/** Public data provider for fetching domain information */
|
|
11
|
+
publicDataProvider: PublicDataProvider;
|
|
12
|
+
/** Custom CSS gradient string for the background gradient effect */
|
|
13
|
+
behindGradient?: string;
|
|
14
|
+
/** Custom CSS gradient string for the inner card gradient */
|
|
15
|
+
innerGradient?: string;
|
|
16
|
+
/** Whether to display the background gradient effect */
|
|
17
|
+
showBehindGradient?: boolean;
|
|
18
|
+
/** Additional CSS classes to apply to the card wrapper */
|
|
19
|
+
className?: string;
|
|
20
|
+
/** Enable or disable the 3D tilt effect on mouse hover */
|
|
21
|
+
enableTilt?: boolean;
|
|
22
|
+
/** Enable or disable the 3D tilt effect on mobile devices */
|
|
23
|
+
enableMobileTilt?: boolean;
|
|
24
|
+
/** Sensitivity of the 3D tilt effect on mobile devices */
|
|
25
|
+
mobileTiltSensitivity?: number;
|
|
26
|
+
/** Text displayed on the contact button */
|
|
27
|
+
contactText?: string;
|
|
28
|
+
/** Whether to display the user information section */
|
|
29
|
+
showUserInfo?: boolean;
|
|
30
|
+
/** Callback function called when the contact button is clicked */
|
|
31
|
+
onContactClick?: () => void;
|
|
32
|
+
/** Callback function called when an error occurs */
|
|
33
|
+
onError?: (error: MidNamesError) => void;
|
|
34
|
+
}
|
|
35
|
+
declare const HolographicCard: React.NamedExoticComponent<HolographicCardProps>;
|
|
36
|
+
export default HolographicCard;
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useEffect, useRef, useCallback, useMemo, useState } from 'react';
|
|
3
|
+
import { MidNamesError } from '../types.js';
|
|
4
|
+
import { getDomainProfile } from '../core.js';
|
|
5
|
+
const DEFAULT_BEHIND_GRADIENT = 'radial-gradient(farthest-side circle at var(--midnames-holo-pointer-x) var(--midnames-holo-pointer-y),hsla(266,100%,90%,var(--midnames-holo-card-opacity)) 4%,hsla(266,50%,80%,calc(var(--midnames-holo-card-opacity)*0.75)) 10%,hsla(266,25%,70%,calc(var(--midnames-holo-card-opacity)*0.5)) 50%,hsla(266,0%,60%,0) 100%),radial-gradient(35% 52% at 55% 20%,#00ffaac4 0%,#073aff00 100%),radial-gradient(100% 100% at 50% 50%,#00c1ffff 1%,#073aff00 76%),conic-gradient(from 124deg at 50% 50%,#c137ffff 0%,#07c6ffff 40%,#07c6ffff 60%,#c137ffff 100%)';
|
|
6
|
+
const DEFAULT_INNER_GRADIENT = 'linear-gradient(145deg,#60496e8c 0%,#71C4FF44 100%)';
|
|
7
|
+
const ANIMATION_CONFIG = {
|
|
8
|
+
SMOOTH_DURATION: 600,
|
|
9
|
+
INITIAL_DURATION: 1500,
|
|
10
|
+
INITIAL_X_OFFSET: 70,
|
|
11
|
+
INITIAL_Y_OFFSET: 60,
|
|
12
|
+
DEVICE_BETA_OFFSET: 20,
|
|
13
|
+
};
|
|
14
|
+
const clamp = (v, min = 0, max = 100) => Math.min(Math.max(v, min), max);
|
|
15
|
+
const round = (v, p = 3) => parseFloat(v.toFixed(p));
|
|
16
|
+
const adjust = (v, a, b, c, d) => round(c + ((d - c) * (v - a)) / (b - a));
|
|
17
|
+
const easeInOutCubic = (x) => (x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2);
|
|
18
|
+
const HolographicCardComponent = ({ domain, publicDataProvider, behindGradient, innerGradient, showBehindGradient = true, className = '', enableTilt = true, enableMobileTilt = false, mobileTiltSensitivity = 5, contactText = 'Contact', showUserInfo = true, onContactClick, onError, }) => {
|
|
19
|
+
const wrapRef = useRef(null);
|
|
20
|
+
const cardRef = useRef(null);
|
|
21
|
+
const lastXY = useRef(null);
|
|
22
|
+
// Domain data state
|
|
23
|
+
const [loading, setLoading] = useState(false);
|
|
24
|
+
const [data, setData] = useState(null);
|
|
25
|
+
const [error, setError] = useState(null);
|
|
26
|
+
// Fetch domain data
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
let mounted = true;
|
|
29
|
+
setLoading(true);
|
|
30
|
+
setError(null);
|
|
31
|
+
getDomainProfile(publicDataProvider, domain)
|
|
32
|
+
.then((result) => {
|
|
33
|
+
var _a, _b, _c, _d;
|
|
34
|
+
if (mounted) {
|
|
35
|
+
if (result.success) {
|
|
36
|
+
setData(result.data);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const err = new MidNamesError((_b = (_a = result.error) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : 'Unknown error', (_d = (_c = result.error) === null || _c === void 0 ? void 0 : _c.code) !== null && _d !== void 0 ? _d : 'UNKNOWN', result.error);
|
|
40
|
+
setError(err);
|
|
41
|
+
if (onError)
|
|
42
|
+
onError(err);
|
|
43
|
+
setData(null);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
})
|
|
47
|
+
.catch((err) => {
|
|
48
|
+
if (mounted) {
|
|
49
|
+
const midnamesError = err instanceof MidNamesError ? err : new MidNamesError('Unknown error', 'UNKNOWN', err);
|
|
50
|
+
setError(midnamesError);
|
|
51
|
+
if (onError)
|
|
52
|
+
onError(midnamesError);
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
.finally(() => mounted && setLoading(false));
|
|
56
|
+
return () => {
|
|
57
|
+
mounted = false;
|
|
58
|
+
};
|
|
59
|
+
}, [publicDataProvider, domain, onError]);
|
|
60
|
+
// Extract fields from domain data
|
|
61
|
+
const fieldsMap = useMemo(() => {
|
|
62
|
+
const m = {};
|
|
63
|
+
((data === null || data === void 0 ? void 0 : data.fields) || []).forEach(([k, v]) => (m[k.toLowerCase()] = v));
|
|
64
|
+
return m;
|
|
65
|
+
}, [data]);
|
|
66
|
+
const displayName = fieldsMap['name'] || fieldsMap['displayname'] || fieldsMap['handle'] || '';
|
|
67
|
+
const avatarUrl = fieldsMap['avatar'] || fieldsMap['image'] || fieldsMap['pfp'] || '';
|
|
68
|
+
const handle = fieldsMap['handle'] || '';
|
|
69
|
+
// Animation logic
|
|
70
|
+
const animation = useMemo(() => {
|
|
71
|
+
if (!enableTilt)
|
|
72
|
+
return null;
|
|
73
|
+
let raf = null;
|
|
74
|
+
const update = (x, y, card, wrap) => {
|
|
75
|
+
const w = card.clientWidth;
|
|
76
|
+
const h = card.clientHeight;
|
|
77
|
+
const px = clamp((100 / w) * x);
|
|
78
|
+
const py = clamp((100 / h) * y);
|
|
79
|
+
const cx = px - 50;
|
|
80
|
+
const cy = py - 50;
|
|
81
|
+
const props = {
|
|
82
|
+
'--midnames-holo-pointer-x': `${px}%`,
|
|
83
|
+
'--midnames-holo-pointer-y': `${py}%`,
|
|
84
|
+
'--midnames-holo-background-x': `${adjust(px, 0, 100, 35, 65)}%`,
|
|
85
|
+
'--midnames-holo-background-y': `${adjust(py, 0, 100, 35, 65)}%`,
|
|
86
|
+
'--midnames-holo-pointer-from-center': `${clamp(Math.hypot(py - 50, px - 50) / 50, 0, 1)}`,
|
|
87
|
+
'--midnames-holo-pointer-from-top': `${py / 100}`,
|
|
88
|
+
'--midnames-holo-pointer-from-left': `${px / 100}`,
|
|
89
|
+
'--midnames-holo-rotate-x': `${round(-(cx / 5))}deg`,
|
|
90
|
+
'--midnames-holo-rotate-y': `${round(cy / 4)}deg`,
|
|
91
|
+
};
|
|
92
|
+
Object.entries(props).forEach(([k, v]) => wrap.style.setProperty(k, v));
|
|
93
|
+
};
|
|
94
|
+
const animateToCenter = (dur, sx, sy, card, wrap) => {
|
|
95
|
+
const start = performance.now();
|
|
96
|
+
const tx = card.clientWidth / 2;
|
|
97
|
+
const ty = card.clientHeight / 2;
|
|
98
|
+
const loop = (t) => {
|
|
99
|
+
const p = clamp((t - start) / dur);
|
|
100
|
+
const e = easeInOutCubic(p);
|
|
101
|
+
update(adjust(e, 0, 1, sx, tx), adjust(e, 0, 1, sy, ty), card, wrap);
|
|
102
|
+
if (p < 1)
|
|
103
|
+
raf = requestAnimationFrame(loop);
|
|
104
|
+
};
|
|
105
|
+
raf = requestAnimationFrame(loop);
|
|
106
|
+
};
|
|
107
|
+
return { update, animateToCenter, cancel: () => raf && cancelAnimationFrame(raf) };
|
|
108
|
+
}, [enableTilt]);
|
|
109
|
+
const onPointerMove = useCallback((e) => {
|
|
110
|
+
const card = cardRef.current, wrap = wrapRef.current;
|
|
111
|
+
if (!card || !wrap || !animation)
|
|
112
|
+
return;
|
|
113
|
+
const rect = card.getBoundingClientRect();
|
|
114
|
+
const x = e.clientX - rect.left;
|
|
115
|
+
const y = e.clientY - rect.top;
|
|
116
|
+
lastXY.current = { x, y };
|
|
117
|
+
animation.update(x, y, card, wrap);
|
|
118
|
+
}, [animation]);
|
|
119
|
+
const onPointerEnter = useCallback(() => {
|
|
120
|
+
const card = cardRef.current, wrap = wrapRef.current;
|
|
121
|
+
if (!card || !wrap || !animation)
|
|
122
|
+
return;
|
|
123
|
+
animation.cancel();
|
|
124
|
+
wrap.classList.add('midnames-holo-active');
|
|
125
|
+
card.classList.add('midnames-holo-active');
|
|
126
|
+
lastXY.current = { x: card.clientWidth / 2, y: card.clientHeight / 2 };
|
|
127
|
+
}, [animation]);
|
|
128
|
+
const onPointerLeave = useCallback(() => {
|
|
129
|
+
const card = cardRef.current, wrap = wrapRef.current;
|
|
130
|
+
if (!card || !wrap || !animation)
|
|
131
|
+
return;
|
|
132
|
+
const { x, y } = lastXY.current || { x: card.clientWidth / 2, y: card.clientHeight / 2 };
|
|
133
|
+
animation.animateToCenter(ANIMATION_CONFIG.SMOOTH_DURATION, x, y, card, wrap);
|
|
134
|
+
wrap.classList.remove('midnames-holo-active');
|
|
135
|
+
card.classList.remove('midnames-holo-active');
|
|
136
|
+
}, [animation]);
|
|
137
|
+
const onDeviceOrientation = useCallback((e) => {
|
|
138
|
+
const card = cardRef.current, wrap = wrapRef.current;
|
|
139
|
+
if (!card || !wrap || !animation)
|
|
140
|
+
return;
|
|
141
|
+
const { beta, gamma } = e;
|
|
142
|
+
if (beta == null || gamma == null)
|
|
143
|
+
return;
|
|
144
|
+
animation.update(card.clientHeight / 2 + gamma * mobileTiltSensitivity, card.clientWidth / 2 + (beta - ANIMATION_CONFIG.DEVICE_BETA_OFFSET) * mobileTiltSensitivity, card, wrap);
|
|
145
|
+
}, [animation, mobileTiltSensitivity]);
|
|
146
|
+
useEffect(() => {
|
|
147
|
+
if (!enableTilt || !animation)
|
|
148
|
+
return;
|
|
149
|
+
const card = cardRef.current, wrap = wrapRef.current;
|
|
150
|
+
if (!card || !wrap)
|
|
151
|
+
return;
|
|
152
|
+
const pm = onPointerMove;
|
|
153
|
+
const pe = onPointerEnter;
|
|
154
|
+
const pl = onPointerLeave;
|
|
155
|
+
const doHandler = onDeviceOrientation;
|
|
156
|
+
const askMotion = () => {
|
|
157
|
+
if (!enableMobileTilt || location.protocol !== 'https:')
|
|
158
|
+
return;
|
|
159
|
+
const AnyMotion = window.DeviceMotionEvent;
|
|
160
|
+
if (AnyMotion && typeof AnyMotion.requestPermission === 'function') {
|
|
161
|
+
AnyMotion.requestPermission().then((s) => s === 'granted' && window.addEventListener('deviceorientation', doHandler));
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
window.addEventListener('deviceorientation', doHandler);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
card.addEventListener('pointerenter', pe);
|
|
168
|
+
card.addEventListener('pointermove', pm);
|
|
169
|
+
card.addEventListener('pointerleave', pl);
|
|
170
|
+
card.addEventListener('click', askMotion);
|
|
171
|
+
const ix = wrap.clientWidth - ANIMATION_CONFIG.INITIAL_X_OFFSET;
|
|
172
|
+
const iy = ANIMATION_CONFIG.INITIAL_Y_OFFSET;
|
|
173
|
+
animation.update(ix, iy, card, wrap);
|
|
174
|
+
animation.animateToCenter(ANIMATION_CONFIG.INITIAL_DURATION, ix, iy, card, wrap);
|
|
175
|
+
return () => {
|
|
176
|
+
card.removeEventListener('pointerenter', pe);
|
|
177
|
+
card.removeEventListener('pointermove', pm);
|
|
178
|
+
card.removeEventListener('pointerleave', pl);
|
|
179
|
+
card.removeEventListener('click', askMotion);
|
|
180
|
+
window.removeEventListener('deviceorientation', doHandler);
|
|
181
|
+
animation.cancel();
|
|
182
|
+
};
|
|
183
|
+
}, [enableTilt, enableMobileTilt, animation, onPointerMove, onPointerEnter, onPointerLeave, onDeviceOrientation]);
|
|
184
|
+
const cardStyle = useMemo(() => ({
|
|
185
|
+
'--midnames-holo-behind-gradient': showBehindGradient ? (behindGradient !== null && behindGradient !== void 0 ? behindGradient : DEFAULT_BEHIND_GRADIENT) : 'none',
|
|
186
|
+
'--midnames-holo-inner-gradient': innerGradient !== null && innerGradient !== void 0 ? innerGradient : DEFAULT_INNER_GRADIENT,
|
|
187
|
+
}), [showBehindGradient, behindGradient, innerGradient]);
|
|
188
|
+
return (_jsx("div", { ref: wrapRef, className: `midnames-holo-card-wrapper ${className}`.trim(), style: cardStyle, children: _jsx("section", { ref: cardRef, className: "midnames-holo-card", children: _jsxs("div", { className: "midnames-holo-inside", children: [_jsx("div", { className: "midnames-holo-shine" }), _jsx("div", { className: "midnames-holo-glare" }), _jsxs("div", { className: "midnames-holo-content midnames-holo-avatar-content", children: [loading && (_jsx("div", { className: "midnames-holo-loading", children: "Loading domain..." })), error && !loading && (_jsxs("div", { className: "midnames-holo-error", children: [_jsx("div", { children: "Failed to load domain" }), _jsx("div", { style: { fontSize: '12px', opacity: 0.8, marginTop: '8px' }, children: error.message })] })), avatarUrl && !loading && !error && (_jsx("img", { className: "midnames-holo-avatar", src: avatarUrl, alt: `${displayName || domain} avatar`, loading: "lazy", onError: (e) => { e.target.style.display = 'none'; } })), showUserInfo && !loading && !error && (displayName || handle || contactText) && (_jsxs("div", { className: "midnames-holo-user-info", children: [_jsxs("div", { className: "midnames-holo-user-details", children: [_jsx("div", { className: "midnames-holo-mini-avatar", children: _jsx("img", { src: avatarUrl || '', alt: "mini", loading: "lazy", onError: (e) => { e.target.style.display = 'none'; } }) }), _jsxs("div", { className: "midnames-holo-user-text", children: [displayName && _jsx("div", { className: "midnames-holo-handle", children: displayName }), handle && _jsxs("div", { className: "midnames-holo-status", children: ["@", handle] }), _jsx("div", { className: "midnames-holo-status", children: domain })] })] }), _jsx("button", { className: "midnames-holo-contact-btn", onClick: onContactClick, type: "button", children: contactText })] }))] })] }) }) }));
|
|
189
|
+
};
|
|
190
|
+
const HolographicCard = React.memo(HolographicCardComponent);
|
|
191
|
+
export default HolographicCard;
|
package/dist/react/index.d.ts
CHANGED
package/dist/react/index.js
CHANGED
package/dist/styles.css
CHANGED
|
@@ -1,4 +1,49 @@
|
|
|
1
1
|
.midnames-card{border:1px solid rgba(255,255,255,.12);background:transparent;border-radius:12px;padding:12px;max-width:640px}
|
|
2
|
+
|
|
3
|
+
/* Variant styles */
|
|
4
|
+
.midnames-card-compact{padding:8px;max-width:400px}
|
|
5
|
+
.midnames-card-compact .midnames-header{gap:8px}
|
|
6
|
+
.midnames-card-compact .midnames-avatar{height:48px;width:48px}
|
|
7
|
+
.midnames-card-compact .midnames-name{font-size:16px}
|
|
8
|
+
.midnames-card-compact .midnames-domain{font-size:11px}
|
|
9
|
+
.midnames-card-compact .midnames-bio{font-size:13px}
|
|
10
|
+
.midnames-card-compact .midnames-grid{gap:6px;margin-top:8px}
|
|
11
|
+
.midnames-card-compact .midnames-box{padding:6px}
|
|
12
|
+
|
|
13
|
+
.midnames-card-inline{display:flex;align-items:center;gap:12px;padding:8px 12px;max-width:none}
|
|
14
|
+
.midnames-card-inline .midnames-header{margin-top:0;flex:1}
|
|
15
|
+
.midnames-card-inline .midnames-banner{display:none}
|
|
16
|
+
.midnames-card-inline .midnames-bio{display:none}
|
|
17
|
+
.midnames-card-inline .midnames-grid{display:none}
|
|
18
|
+
.midnames-card-inline .midnames-links{display:none}
|
|
19
|
+
.midnames-card-inline .midnames-actions{margin-left:auto}
|
|
20
|
+
|
|
21
|
+
.midnames-card-minimal{padding:6px 8px;max-width:300px}
|
|
22
|
+
.midnames-card-minimal .midnames-header{gap:6px}
|
|
23
|
+
.midnames-card-minimal .midnames-avatar{height:32px;width:32px;font-size:12px}
|
|
24
|
+
.midnames-card-minimal .midnames-name{font-size:14px}
|
|
25
|
+
.midnames-card-minimal .midnames-status{font-size:10px;padding:2px 6px}
|
|
26
|
+
.midnames-card-minimal .midnames-banner{display:none}
|
|
27
|
+
.midnames-card-minimal .midnames-bio{display:none}
|
|
28
|
+
.midnames-card-minimal .midnames-grid{display:none}
|
|
29
|
+
.midnames-card-minimal .midnames-links{display:none}
|
|
30
|
+
|
|
31
|
+
/* Theme styles */
|
|
32
|
+
.midnames-theme-light{background:rgba(255,255,255,.05);border-color:rgba(0,0,0,.12);color:#000}
|
|
33
|
+
.midnames-theme-dark{background:rgba(0,0,0,.3);border-color:rgba(255,255,255,.12);color:#fff}
|
|
34
|
+
|
|
35
|
+
/* Border radius styles */
|
|
36
|
+
.midnames-border-none{border-radius:0}
|
|
37
|
+
.midnames-border-sm{border-radius:4px}
|
|
38
|
+
.midnames-border-lg{border-radius:16px}
|
|
39
|
+
|
|
40
|
+
/* Padding styles */
|
|
41
|
+
.midnames-padding-none{padding:0}
|
|
42
|
+
.midnames-padding-sm{padding:8px}
|
|
43
|
+
.midnames-padding-lg{padding:16px}
|
|
44
|
+
|
|
45
|
+
/* Actions */
|
|
46
|
+
.midnames-actions{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
|
|
2
47
|
.midnames-banner{width:100%;height:120px;object-fit:cover;border-radius:8px}
|
|
3
48
|
.midnames-header{display:flex;gap:12px;align-items:center;margin-top:8px}
|
|
4
49
|
.midnames-avatar{height:64px;width:64px;border-radius:9999px;background:rgba(0,170,255,.1);color:#0af;display:flex;align-items:center;justify-content:center;font-weight:600;overflow:hidden}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@midnames/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "SDK for Midnames - Midnight Name Service",
|
|
5
5
|
"keywords": ["midnight", "nameservice", "dns", "blockchain", "midnames", "widget", "domain", "resolver"],
|
|
6
6
|
"type": "module",
|
|
@@ -20,10 +20,11 @@
|
|
|
20
20
|
"require": "./dist/react/index.js",
|
|
21
21
|
"default": "./dist/react/index.js"
|
|
22
22
|
},
|
|
23
|
-
"./styles.css": "./dist/styles.css"
|
|
23
|
+
"./styles.css": "./dist/styles.css",
|
|
24
|
+
"./holographic-card.css": "./dist/holographic-card.css"
|
|
24
25
|
},
|
|
25
26
|
"scripts": {
|
|
26
|
-
"build": "npx tsc -b && rm -rf dist && tsc -p tsconfig.json && cp src/styles.css dist/styles.css && cp -r managed dist/",
|
|
27
|
+
"build": "npx tsc -b && rm -rf dist && tsc -p tsconfig.json && cp src/styles.css dist/styles.css && cp src/holographic-card.css dist/holographic-card.css && cp -r managed dist/",
|
|
27
28
|
"prepublish": "npm run --prefix .. copy-contract-keys-sdk && npm run build"
|
|
28
29
|
},
|
|
29
30
|
"peerDependencies": {
|
|
@@ -50,4 +51,3 @@
|
|
|
50
51
|
"author": "Midnames",
|
|
51
52
|
"dependencies": {}
|
|
52
53
|
}
|
|
53
|
-
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["./src/core.ts","./src/index.ts","./src/types.ts","./src/react/DomainProfileWidget.tsx","./src/react/HolographicCard.tsx","./src/react/index.ts","./src/utils/address.ts","./src/utils/domain.ts"],"version":"5.9.2"}
|