@hunterchen/canvas 0.3.0 → 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.
- package/README.md +173 -0
- package/dist/components/canvas/backgrounds.d.ts +70 -0
- package/dist/components/canvas/backgrounds.d.ts.map +1 -0
- package/dist/components/canvas/backgrounds.js +47 -0
- package/dist/components/canvas/backgrounds.js.map +1 -0
- package/dist/components/canvas/canvas.d.ts +4 -1
- package/dist/components/canvas/canvas.d.ts.map +1 -1
- package/dist/components/canvas/canvas.js +5 -17
- package/dist/components/canvas/canvas.js.map +1 -1
- package/dist/components/canvas/component.js +2 -2
- package/dist/components/canvas/component.js.map +1 -1
- package/dist/components/canvas/wrapper.d.ts +4 -2
- package/dist/components/canvas/wrapper.d.ts.map +1 -1
- package/dist/components/canvas/wrapper.js +6 -11
- package/dist/components/canvas/wrapper.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/utils.d.ts +7 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +10 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/styles.css +1 -1
- package/package.json +5 -4
- package/src/components/canvas/backgrounds.tsx +205 -0
- package/src/components/canvas/canvas.tsx +28 -42
- package/src/components/canvas/component.tsx +2 -2
- package/src/components/canvas/wrapper.tsx +13 -27
- package/src/index.ts +17 -1
- package/src/lib/utils.ts +10 -0
- package/dist/components/canvas/reset.d.ts +0 -5
- package/dist/components/canvas/reset.d.ts.map +0 -1
- package/dist/components/canvas/reset.js +0 -7
- package/dist/components/canvas/reset.js.map +0 -1
- package/src/components/canvas/reset.tsx +0 -21
package/README.md
CHANGED
|
@@ -132,6 +132,170 @@ const navItems: NavItem[] = [
|
|
|
132
132
|
|
|
133
133
|
When `navItems` is provided, the canvas will render a navbar with buttons to navigate between sections. The navbar uses Lucide icons, so make sure the icon names match available Lucide icons.
|
|
134
134
|
|
|
135
|
+
## Customization
|
|
136
|
+
|
|
137
|
+
### Background Customization
|
|
138
|
+
|
|
139
|
+
The canvas comes with neutral gray default backgrounds. You can fully customize the canvas background, intro/wrapper background, and intro content.
|
|
140
|
+
|
|
141
|
+
#### Canvas Background
|
|
142
|
+
|
|
143
|
+
The canvas background consists of a gradient, dot pattern, and noise filter. Customize it by passing a `canvasBackground` prop:
|
|
144
|
+
|
|
145
|
+
```tsx
|
|
146
|
+
import { Canvas, DefaultCanvasBackground } from '@hunterchen/canvas';
|
|
147
|
+
|
|
148
|
+
// Option 1: Use the default component with custom props
|
|
149
|
+
<Canvas
|
|
150
|
+
homeCoordinates={homeCoordinates}
|
|
151
|
+
canvasBackground={
|
|
152
|
+
<DefaultCanvasBackground
|
|
153
|
+
gradientStyle="radial-gradient(circle, #ff6b6b 0%, #4ecdc4 100%)"
|
|
154
|
+
dotColor="#333333"
|
|
155
|
+
dotOpacity={0.5}
|
|
156
|
+
showFilter={false}
|
|
157
|
+
/>
|
|
158
|
+
}
|
|
159
|
+
>
|
|
160
|
+
{/* ... */}
|
|
161
|
+
</Canvas>
|
|
162
|
+
|
|
163
|
+
// Option 2: Pass your own custom background component
|
|
164
|
+
<Canvas
|
|
165
|
+
homeCoordinates={homeCoordinates}
|
|
166
|
+
canvasBackground={<MyCustomBackground />}
|
|
167
|
+
>
|
|
168
|
+
{/* ... */}
|
|
169
|
+
</Canvas>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**DefaultCanvasBackground props:**
|
|
173
|
+
| Prop | Type | Default | Description |
|
|
174
|
+
|------|------|---------|-------------|
|
|
175
|
+
| `gradientStyle` | `string` | neutral gray gradient | CSS gradient string |
|
|
176
|
+
| `showDots` | `boolean` | `true` | Show dot pattern overlay |
|
|
177
|
+
| `dotColor` | `string` | `#888888` | Dot pattern color |
|
|
178
|
+
| `dotSize` | `number` | `1.5` | Dot size in pixels |
|
|
179
|
+
| `dotSpacing` | `number` | `22` | Dot spacing in pixels |
|
|
180
|
+
| `dotOpacity` | `number` | `0.35` | Dot pattern opacity (0-1) |
|
|
181
|
+
| `showFilter` | `boolean` | `true` | Show noise filter |
|
|
182
|
+
| `filterOpacity` | `number` | `0.6` | Noise filter opacity (0-1) |
|
|
183
|
+
|
|
184
|
+
#### Intro/Wrapper Background
|
|
185
|
+
|
|
186
|
+
Customize the background shown during the intro animation:
|
|
187
|
+
|
|
188
|
+
```tsx
|
|
189
|
+
import { Canvas, DefaultWrapperBackground } from '@hunterchen/canvas';
|
|
190
|
+
|
|
191
|
+
// Option 1: Simple gradient string
|
|
192
|
+
<Canvas
|
|
193
|
+
homeCoordinates={homeCoordinates}
|
|
194
|
+
introBackgroundGradient="linear-gradient(to bottom, #667eea 0%, #764ba2 100%)"
|
|
195
|
+
>
|
|
196
|
+
{/* ... */}
|
|
197
|
+
</Canvas>
|
|
198
|
+
|
|
199
|
+
// Option 2: Custom wrapper background component
|
|
200
|
+
<Canvas
|
|
201
|
+
homeCoordinates={homeCoordinates}
|
|
202
|
+
wrapperBackground={
|
|
203
|
+
<DefaultWrapperBackground
|
|
204
|
+
gradient="linear-gradient(to top, #FEB6AF 0%, #EAD2DF 50%)"
|
|
205
|
+
/>
|
|
206
|
+
}
|
|
207
|
+
>
|
|
208
|
+
{/* ... */}
|
|
209
|
+
</Canvas>
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
#### Intro Content
|
|
213
|
+
|
|
214
|
+
Customize the logo and title shown during loading:
|
|
215
|
+
|
|
216
|
+
```tsx
|
|
217
|
+
import { Canvas, DefaultIntroContent } from '@hunterchen/canvas';
|
|
218
|
+
|
|
219
|
+
<Canvas
|
|
220
|
+
homeCoordinates={homeCoordinates}
|
|
221
|
+
introContent={
|
|
222
|
+
<DefaultIntroContent
|
|
223
|
+
logoSrc="/my-logo.svg"
|
|
224
|
+
logoAlt="My App Logo"
|
|
225
|
+
logoWidth={80}
|
|
226
|
+
logoHeight={80}
|
|
227
|
+
title="MY APP"
|
|
228
|
+
titleClassName="text-blue-600"
|
|
229
|
+
/>
|
|
230
|
+
}
|
|
231
|
+
loadingText="Loading..."
|
|
232
|
+
>
|
|
233
|
+
{/* ... */}
|
|
234
|
+
</Canvas>
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
#### Complete Theming Example (Hack Western Style)
|
|
238
|
+
|
|
239
|
+
Here's a complete example showing how to apply a custom theme:
|
|
240
|
+
|
|
241
|
+
```tsx
|
|
242
|
+
import {
|
|
243
|
+
Canvas,
|
|
244
|
+
DefaultCanvasBackground,
|
|
245
|
+
DefaultIntroContent,
|
|
246
|
+
DefaultWrapperBackground,
|
|
247
|
+
canvasWidth,
|
|
248
|
+
canvasHeight,
|
|
249
|
+
} from '@hunterchen/canvas';
|
|
250
|
+
|
|
251
|
+
// Define your theme colors
|
|
252
|
+
const CANVAS_GRADIENT = `radial-gradient(ellipse ${canvasWidth}px ${canvasHeight}px at ${canvasWidth / 2}px ${canvasHeight}px, var(--coral) 0%, var(--salmon) 41%, var(--lilac) 59%, var(--beige) 90%)`;
|
|
253
|
+
const INTRO_GRADIENT = "linear-gradient(to top, #FEB6AF 0%, #EAD2DF 15%, #EFE3E1 50%)";
|
|
254
|
+
const BOX_GRADIENT = "radial-gradient(130.38% 95% at 50.03% 97.25%, #EFB8A0 0%, #EAD2DF 48.09%, #EFE3E1 100%)";
|
|
255
|
+
|
|
256
|
+
function App() {
|
|
257
|
+
return (
|
|
258
|
+
<Canvas
|
|
259
|
+
homeCoordinates={homeCoordinates}
|
|
260
|
+
navItems={navItems}
|
|
261
|
+
introBackgroundGradient={INTRO_GRADIENT}
|
|
262
|
+
canvasBoxGradient={BOX_GRADIENT}
|
|
263
|
+
introContent={
|
|
264
|
+
<DefaultIntroContent
|
|
265
|
+
logoSrc="/logo.svg"
|
|
266
|
+
logoAlt="Logo"
|
|
267
|
+
title="MY BRAND"
|
|
268
|
+
/>
|
|
269
|
+
}
|
|
270
|
+
loadingText="LOADING..."
|
|
271
|
+
canvasBackground={
|
|
272
|
+
<DefaultCanvasBackground
|
|
273
|
+
gradientStyle={CANVAS_GRADIENT}
|
|
274
|
+
dotColor="#776780"
|
|
275
|
+
/>
|
|
276
|
+
}
|
|
277
|
+
wrapperBackground={
|
|
278
|
+
<DefaultWrapperBackground gradient={INTRO_GRADIENT} />
|
|
279
|
+
}
|
|
280
|
+
>
|
|
281
|
+
{/* Your canvas content */}
|
|
282
|
+
</Canvas>
|
|
283
|
+
);
|
|
284
|
+
}
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### Exported Constants
|
|
288
|
+
|
|
289
|
+
The library exports default gradient values you can use as a starting point:
|
|
290
|
+
|
|
291
|
+
```tsx
|
|
292
|
+
import {
|
|
293
|
+
DEFAULT_CANVAS_GRADIENT, // Default canvas background gradient
|
|
294
|
+
DEFAULT_INTRO_GRADIENT, // Default intro background gradient
|
|
295
|
+
DEFAULT_CANVAS_BOX_GRADIENT // Default blur mask gradient
|
|
296
|
+
} from '@hunterchen/canvas';
|
|
297
|
+
```
|
|
298
|
+
|
|
135
299
|
## Usage Examples
|
|
136
300
|
|
|
137
301
|
### Basic Canvas with Draggable Elements
|
|
@@ -193,6 +357,14 @@ npm run type-check
|
|
|
193
357
|
- `CanvasToolbar` - Coordinate/zoom display toolbar
|
|
194
358
|
- `CanvasNavbar` - Navigation buttons
|
|
195
359
|
|
|
360
|
+
### Background Components
|
|
361
|
+
- `DefaultCanvasBackground` - Customizable canvas background with gradient, dots, and filter
|
|
362
|
+
- `DefaultWrapperBackground` - Customizable intro/wrapper background
|
|
363
|
+
- `DefaultIntroContent` - Customizable intro logo and title
|
|
364
|
+
- `DEFAULT_CANVAS_GRADIENT` - Default canvas gradient constant
|
|
365
|
+
- `DEFAULT_INTRO_GRADIENT` - Default intro gradient constant
|
|
366
|
+
- `DEFAULT_CANVAS_BOX_GRADIENT` - Default blur mask gradient constant
|
|
367
|
+
|
|
196
368
|
### Contexts
|
|
197
369
|
- `CanvasProvider` - Canvas state context provider
|
|
198
370
|
- `useCanvasContext` - Hook to access canvas context
|
|
@@ -204,6 +376,7 @@ npm run type-check
|
|
|
204
376
|
- `usePerformanceModeLegacy` - Legacy performance optimization
|
|
205
377
|
|
|
206
378
|
### Utilities
|
|
379
|
+
- `cn` - Tailwind class merging utility (uses `clsx` + `tailwind-merge`)
|
|
207
380
|
- Canvas utility functions (pan, zoom, coordinates)
|
|
208
381
|
- Performance detection utilities
|
|
209
382
|
- Constants and types
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import React, { type ReactNode } from "react";
|
|
2
|
+
export interface DefaultCanvasBackgroundProps {
|
|
3
|
+
/** Custom gradient CSS string. If not provided, uses the default radial gradient. */
|
|
4
|
+
gradientStyle?: string;
|
|
5
|
+
/** Whether to show the dot pattern. Default: true */
|
|
6
|
+
showDots?: boolean;
|
|
7
|
+
/** Dot pattern color. Default: #888888 */
|
|
8
|
+
dotColor?: string;
|
|
9
|
+
/** Dot pattern size in pixels. Default: 1.5 */
|
|
10
|
+
dotSize?: number;
|
|
11
|
+
/** Dot pattern spacing in pixels. Default: 22 */
|
|
12
|
+
dotSpacing?: number;
|
|
13
|
+
/** Dot pattern opacity (0-1). Default: 0.35 */
|
|
14
|
+
dotOpacity?: number;
|
|
15
|
+
/** Whether to show the noise filter. Default: true */
|
|
16
|
+
showFilter?: boolean;
|
|
17
|
+
/** Filter opacity (0-1). Default: 0.6 */
|
|
18
|
+
filterOpacity?: number;
|
|
19
|
+
/** Additional className for the gradient layer */
|
|
20
|
+
gradientClassName?: string;
|
|
21
|
+
/** Additional className for the dots layer */
|
|
22
|
+
dotsClassName?: string;
|
|
23
|
+
/** Additional className for the filter layer */
|
|
24
|
+
filterClassName?: string;
|
|
25
|
+
/** Additional children to render in the background */
|
|
26
|
+
children?: ReactNode;
|
|
27
|
+
}
|
|
28
|
+
/** The default canvas gradient (neutral gray) */
|
|
29
|
+
export declare const DEFAULT_CANVAS_GRADIENT = "radial-gradient(ellipse 6000px 4000px at 3000px 4000px, #e5e5e5 0%, #d4d4d4 41%, #a3a3a3 59%, #f5f5f5 90%)";
|
|
30
|
+
/**
|
|
31
|
+
* Default canvas background with gradient, dots, and noise filter.
|
|
32
|
+
* All aspects are customizable via props.
|
|
33
|
+
*/
|
|
34
|
+
export declare const DefaultCanvasBackground: React.FC<DefaultCanvasBackgroundProps>;
|
|
35
|
+
export interface DefaultWrapperBackgroundProps {
|
|
36
|
+
/** Background gradient for the intro screen */
|
|
37
|
+
gradient?: string;
|
|
38
|
+
/** Additional className */
|
|
39
|
+
className?: string;
|
|
40
|
+
/** Additional inline styles */
|
|
41
|
+
style?: React.CSSProperties;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Default wrapper/intro background gradient.
|
|
45
|
+
*/
|
|
46
|
+
export declare const DefaultWrapperBackground: React.FC<DefaultWrapperBackgroundProps>;
|
|
47
|
+
export interface DefaultIntroContentProps {
|
|
48
|
+
/** Logo image source */
|
|
49
|
+
logoSrc?: string;
|
|
50
|
+
/** Logo alt text */
|
|
51
|
+
logoAlt?: string;
|
|
52
|
+
/** Logo width */
|
|
53
|
+
logoWidth?: number;
|
|
54
|
+
/** Logo height */
|
|
55
|
+
logoHeight?: number;
|
|
56
|
+
/** Title text */
|
|
57
|
+
title?: string;
|
|
58
|
+
/** Additional className for the container */
|
|
59
|
+
className?: string;
|
|
60
|
+
/** Additional className for the title */
|
|
61
|
+
titleClassName?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Default intro content shown during loading.
|
|
65
|
+
* Can be customized or replaced entirely.
|
|
66
|
+
*/
|
|
67
|
+
export declare const DefaultIntroContent: React.FC<DefaultIntroContentProps>;
|
|
68
|
+
export declare const DEFAULT_INTRO_GRADIENT = "linear-gradient(to top, #d4d4d4 0%, #e5e5e5 50%, #f5f5f5 100%)";
|
|
69
|
+
export declare const DEFAULT_CANVAS_BOX_GRADIENT = "radial-gradient(130.38% 95% at 50.03% 97.25%, #d4d4d4 0%, #e5e5e5 48.09%, #f5f5f5 100%)";
|
|
70
|
+
//# sourceMappingURL=backgrounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backgrounds.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/backgrounds.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAO9C,MAAM,WAAW,4BAA4B;IAC3C,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iDAAiD;AACjD,eAAO,MAAM,uBAAuB,+GAA6J,CAAC;AAElM;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CA6D1E,CAAC;AAIF,MAAM,WAAW,6BAA6B;IAC5C,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAc5E,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA0ClE,CAAC;AAGF,eAAO,MAAM,sBAAsB,mEAC+B,CAAC;AAEnE,eAAO,MAAM,2BAA2B,4FACmD,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { motion } from "framer-motion";
|
|
3
|
+
import { canvasWidth, canvasHeight } from "../../lib/canvas";
|
|
4
|
+
import { cn } from "../../lib/utils";
|
|
5
|
+
/** The default canvas gradient (neutral gray) */
|
|
6
|
+
export const DEFAULT_CANVAS_GRADIENT = `radial-gradient(ellipse ${canvasWidth}px ${canvasHeight}px at ${canvasWidth / 2}px ${canvasHeight}px, #e5e5e5 0%, #d4d4d4 41%, #a3a3a3 59%, #f5f5f5 90%)`;
|
|
7
|
+
/**
|
|
8
|
+
* Default canvas background with gradient, dots, and noise filter.
|
|
9
|
+
* All aspects are customizable via props.
|
|
10
|
+
*/
|
|
11
|
+
export const DefaultCanvasBackground = ({ gradientStyle, showDots = true, dotColor = "#888888", dotSize = 1.5, dotSpacing = 22, dotOpacity = 0.35, showFilter = true, filterOpacity = 0.6, gradientClassName, dotsClassName, filterClassName, children, }) => {
|
|
12
|
+
const gradientImage = gradientStyle ?? DEFAULT_CANVAS_GRADIENT;
|
|
13
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: cn("pointer-events-none absolute inset-0 h-full w-full", gradientClassName), style: {
|
|
14
|
+
backgroundImage: gradientImage,
|
|
15
|
+
} }), showDots && (_jsx("div", { className: cn("pointer-events-none absolute inset-0 h-full w-full", dotsClassName), style: {
|
|
16
|
+
backgroundImage: `radial-gradient(${dotColor} ${dotSize}px, transparent ${dotSize}px)`,
|
|
17
|
+
backgroundSize: `${dotSpacing}px ${dotSpacing}px`,
|
|
18
|
+
opacity: dotOpacity,
|
|
19
|
+
} })), showFilter && (_jsx("div", { className: cn("pointer-events-none absolute inset-0 hidden h-full w-full bg-none filter md:inline md:bg-noise", filterClassName), style: {
|
|
20
|
+
opacity: filterOpacity,
|
|
21
|
+
filter: "contrast(0.6)",
|
|
22
|
+
} })), children] }));
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Default wrapper/intro background gradient.
|
|
26
|
+
*/
|
|
27
|
+
export const DefaultWrapperBackground = ({ gradient = "linear-gradient(to top, #d4d4d4 0%, #e5e5e5 50%, #f5f5f5 100%)", className, style, }) => {
|
|
28
|
+
return (_jsx("div", { className: cn("absolute inset-0 h-full w-full", className), style: {
|
|
29
|
+
backgroundImage: gradient,
|
|
30
|
+
...style,
|
|
31
|
+
} }));
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Default intro content shown during loading.
|
|
35
|
+
* Can be customized or replaced entirely.
|
|
36
|
+
*/
|
|
37
|
+
export const DefaultIntroContent = ({ logoSrc, logoAlt = "Logo", logoWidth = 64, logoHeight = 64, title, className, titleClassName, }) => {
|
|
38
|
+
// If no logo or title provided, render nothing
|
|
39
|
+
if (!logoSrc && !title) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return (_jsxs("div", { className: cn("absolute left-1/2 top-24 flex -translate-x-1/2 flex-col items-center text-center", className), children: [logoSrc && (_jsx(motion.img, { src: logoSrc, alt: logoAlt, width: logoWidth, height: logoHeight, className: "mb-4" })), title && (_jsx("div", { className: cn("font-sans font-semibold text-neutral-600", titleClassName), children: title }))] }));
|
|
43
|
+
};
|
|
44
|
+
// Default gradient values for export (neutral grays)
|
|
45
|
+
export const DEFAULT_INTRO_GRADIENT = "linear-gradient(to top, #d4d4d4 0%, #e5e5e5 50%, #f5f5f5 100%)";
|
|
46
|
+
export const DEFAULT_CANVAS_BOX_GRADIENT = "radial-gradient(130.38% 95% at 50.03% 97.25%, #d4d4d4 0%, #e5e5e5 48.09%, #f5f5f5 100%)";
|
|
47
|
+
//# sourceMappingURL=backgrounds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backgrounds.js","sourceRoot":"","sources":["../../../src/components/canvas/backgrounds.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,11 @@ interface Props {
|
|
|
21
21
|
growTransition?: Transition;
|
|
22
22
|
/** Custom blur transition */
|
|
23
23
|
blurTransition?: Transition;
|
|
24
|
+
/** Custom canvas background. If not provided, uses DefaultCanvasBackground. */
|
|
25
|
+
canvasBackground?: ReactNode;
|
|
26
|
+
/** Custom wrapper/intro background. If not provided, uses introBackgroundGradient. */
|
|
27
|
+
wrapperBackground?: ReactNode;
|
|
24
28
|
}
|
|
25
29
|
declare const Canvas: FC<Props>;
|
|
26
|
-
export declare const gradientBgImage = "radial-gradient(ellipse 6000px 4000px at 3000px 4000px, var(--coral) 0%, var(--salmon) 41%, var(--lilac) 59%, var(--beige) 90%)";
|
|
27
30
|
export default Canvas;
|
|
28
31
|
//# sourceMappingURL=canvas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/canvas.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,EAIZ,KAAK,EAAE,EAIR,MAAM,OAAO,CAAC;AAwBf,OAAO,KAAK,EAAiB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/canvas.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,EAIZ,KAAK,EAAE,EAIR,MAAM,OAAO,CAAC;AAwBf,OAAO,KAAK,EAAiB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,UAAU,KAAK;IACb,eAAe,EAAE,kBAAkB,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAG1B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAGrB,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,UAAU,CAAC;IAG5B,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,SAAS,CAAC;CAC/B;AAYD,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,KAAK,CAwlBrB,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { motion, useMotionValue, animate, useTransform, } from "framer-motion";
|
|
3
|
-
import
|
|
3
|
+
import { useState, useRef, useEffect, useCallback, useMemo, } from "react";
|
|
4
4
|
import { CanvasProvider } from "../../contexts/CanvasContext";
|
|
5
5
|
import { calcInitialBoxWidth, canvasHeight, canvasWidth, getDistance, getMidpoint, getScreenSizeEnum, getSectionPanCoordinates, INTERACTIVE_SELECTOR, MAX_ZOOM, MIN_ZOOMS, panToOffsetScene, ZOOM_BOUND, } from "../../lib/canvas";
|
|
6
6
|
import { STAGE2_TRANSITION, MOUSE_WHEEL_ZOOM_SENSITIVITY, TRACKPAD_ZOOM_SENSITIVITY, } from "../../lib/constants";
|
|
@@ -9,12 +9,13 @@ import Navbar from "./navbar";
|
|
|
9
9
|
import Toolbar from "./toolbar";
|
|
10
10
|
import { CanvasWrapper } from "./wrapper";
|
|
11
11
|
import { usePerformanceMode } from "../../hooks/usePerformanceMode";
|
|
12
|
+
import { DefaultCanvasBackground } from "./backgrounds";
|
|
12
13
|
const stopAllMotion = (x, y, scale) => {
|
|
13
14
|
x.stop();
|
|
14
15
|
y.stop();
|
|
15
16
|
scale.stop();
|
|
16
17
|
};
|
|
17
|
-
const Canvas = ({ children, homeCoordinates, navItems, skipIntro = false, introContent, loadingText, introBackgroundGradient, canvasBoxGradient, growTransition, blurTransition, }) => {
|
|
18
|
+
const Canvas = ({ children, homeCoordinates, navItems, skipIntro = false, introContent, loadingText, introBackgroundGradient, canvasBoxGradient, growTransition, blurTransition, canvasBackground, wrapperBackground, }) => {
|
|
18
19
|
const { height: windowHeight, width: windowWidth } = useWindowDimensions();
|
|
19
20
|
const { mode } = usePerformanceMode();
|
|
20
21
|
const hasNavbar = Boolean(navItems && navItems.length > 0);
|
|
@@ -369,7 +370,7 @@ const Canvas = ({ children, homeCoordinates, navItems, skipIntro = false, introC
|
|
|
369
370
|
y: -offset.y,
|
|
370
371
|
}, viewportRef, onComplete, zoom);
|
|
371
372
|
}, [panToOffset, viewportRef]);
|
|
372
|
-
return (_jsx(CanvasWrapper, { introProgress: introProgress, onIntroGrowComplete: startStage2, skipIntro: skipIntro, introContent: introContent, loadingText: loadingText, introBackgroundGradient: introBackgroundGradient, canvasBoxGradient: canvasBoxGradient, growTransition: growTransition, blurTransition: blurTransition, children: _jsxs(CanvasProvider, { x: x, y: y, scale: scale, isResetting: isResetting, maxZIndex: maxZIndex, setMaxZIndex: setMaxZIndex, animationStage: animationStage, nextTargetSection: nextTargetSection, setNextTargetSection: setNextTargetSection, children: [animationStage >= 2 && (_jsxs(_Fragment, { children: [_jsx(Toolbar, { homeCoordinates: offsetHomeCoordinates }), hasNavbar && navItems ? (_jsx(Navbar, { panToOffset: handlePanToOffset, onReset: onResetViewAndItems, items: navItems })) : null] })), _jsx("div", { ref: setViewportRef, className: "relative h-full w-full touch-none select-none overflow-hidden", style: {
|
|
373
|
+
return (_jsx(CanvasWrapper, { introProgress: introProgress, onIntroGrowComplete: startStage2, skipIntro: skipIntro, introContent: introContent, loadingText: loadingText, introBackgroundGradient: introBackgroundGradient, wrapperBackground: wrapperBackground, canvasBoxGradient: canvasBoxGradient, growTransition: growTransition, blurTransition: blurTransition, children: _jsxs(CanvasProvider, { x: x, y: y, scale: scale, isResetting: isResetting, maxZIndex: maxZIndex, setMaxZIndex: setMaxZIndex, animationStage: animationStage, nextTargetSection: nextTargetSection, setNextTargetSection: setNextTargetSection, children: [animationStage >= 2 && (_jsxs(_Fragment, { children: [_jsx(Toolbar, { homeCoordinates: offsetHomeCoordinates }), hasNavbar && navItems ? (_jsx(Navbar, { panToOffset: handlePanToOffset, onReset: onResetViewAndItems, items: navItems })) : null] })), _jsx("div", { ref: setViewportRef, className: "relative h-full w-full touch-none select-none overflow-hidden", style: {
|
|
373
374
|
touchAction: "none",
|
|
374
375
|
pointerEvents: animationStage >= 2 ? "auto" : "none",
|
|
375
376
|
overscrollBehavior: "contain",
|
|
@@ -382,20 +383,7 @@ const Canvas = ({ children, homeCoordinates, navItems, skipIntro = false, introC
|
|
|
382
383
|
willChange: mode !== "high" && (animationStage < 2 || isPanning)
|
|
383
384
|
? "transform"
|
|
384
385
|
: "auto",
|
|
385
|
-
}, children: [_jsx(
|
|
386
|
-
(mode === "high" ? (_jsxs(motion.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, transition: { duration: 0.5, ease: "easeIn" }, children: [_jsx(Filter, {}), _jsx(Dots, {})] })) : (_jsxs(_Fragment, { children: [_jsx(Filter, {}), _jsx(Dots, {})] }))), children] }) })] }) }));
|
|
386
|
+
}, children: [canvasBackground !== undefined ? (canvasBackground) : (_jsx(_Fragment, { children: animationStage >= 1 && mode === "high" ? (_jsx(motion.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, transition: { duration: 0.5, ease: "easeIn" }, children: _jsx(DefaultCanvasBackground, {}) })) : (_jsx(DefaultCanvasBackground, {})) })), children] }) })] }) }));
|
|
387
387
|
};
|
|
388
|
-
export const gradientBgImage = `radial-gradient(ellipse ${canvasWidth}px ${canvasHeight}px at ${canvasWidth / 2}px ${canvasHeight}px, var(--coral) 0%, var(--salmon) 41%, var(--lilac) 59%, var(--beige) 90%)`;
|
|
389
|
-
const Gradient = React.memo(function Gradient() {
|
|
390
|
-
return (_jsx("div", { className: "pointer-events-none absolute inset-0 h-full w-full opacity-100", style: {
|
|
391
|
-
backgroundImage: gradientBgImage,
|
|
392
|
-
} }));
|
|
393
|
-
});
|
|
394
|
-
const Dots = React.memo(function Dots() {
|
|
395
|
-
return (_jsx("div", { className: "pointer-events-none absolute inset-0 h-full w-full bg-[radial-gradient(#776780_1.5px,transparent_1px)] opacity-35 [background-size:22px_22px] " }));
|
|
396
|
-
});
|
|
397
|
-
const Filter = React.memo(function Filter() {
|
|
398
|
-
return (_jsx("div", { className: "contrast-60 md:bg-noise pointer-events-none absolute inset-0 hidden h-full w-full bg-none opacity-60 filter md:inline" }));
|
|
399
|
-
});
|
|
400
388
|
export default Canvas;
|
|
401
389
|
//# sourceMappingURL=canvas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/components/canvas/canvas.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/components/canvas/canvas.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from "react";
|
|
3
3
|
import { useCanvasContext } from "../../contexts/CanvasContext";
|
|
4
|
-
import
|
|
4
|
+
import { motion } from "framer-motion";
|
|
5
5
|
import useWindowDimensions from "../../hooks/useWindowDimensions";
|
|
6
6
|
import { usePerformanceMode } from "../../hooks/usePerformanceMode";
|
|
7
7
|
import { VIEWPORT_HYSTERESIS_BUFFER, IMAGE_FALLBACK_WIDTH_THRESHOLD, } from "../../lib/constants";
|
|
@@ -166,7 +166,7 @@ export const CanvasComponent = ({ children, offset, imageFallback, coordinatesTo
|
|
|
166
166
|
...margin(),
|
|
167
167
|
width: offset?.width ? offset.width + "px" : "100vw",
|
|
168
168
|
height: offset?.height ? offset.height + "px" : "100vh",
|
|
169
|
-
}, children: shouldShowFallback ? (_jsx(
|
|
169
|
+
}, children: shouldShowFallback ? (_jsx(motion.img, { src: imageFallback, alt: "Canvas Fallback", width: offset?.width ?? 1920, height: offset?.height ?? 1080, className: "m-auto h-auto w-full object-contain" })) : (
|
|
170
170
|
// In high mode always render; otherwise render when within visibility OR predicted next target
|
|
171
171
|
(mode === "high" ||
|
|
172
172
|
visible ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/canvas/component.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/canvas/component.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,10 @@ interface CanvasWrapperProps {
|
|
|
13
13
|
introContent?: ReactNode;
|
|
14
14
|
/** Custom loading text (default: "LOADING CANVAS") */
|
|
15
15
|
loadingText?: string;
|
|
16
|
-
/** Background gradient for intro screen */
|
|
16
|
+
/** Background gradient for intro screen (CSS gradient string) */
|
|
17
17
|
introBackgroundGradient?: string;
|
|
18
|
+
/** Custom wrapper background component (overrides introBackgroundGradient if provided) */
|
|
19
|
+
wrapperBackground?: ReactNode;
|
|
18
20
|
/** Canvas box gradient for blur mask */
|
|
19
21
|
canvasBoxGradient?: string;
|
|
20
22
|
/** Grow animation transition config */
|
|
@@ -22,5 +24,5 @@ interface CanvasWrapperProps {
|
|
|
22
24
|
/** Blur animation transition config */
|
|
23
25
|
blurTransition?: Transition;
|
|
24
26
|
}
|
|
25
|
-
export declare const CanvasWrapper: ({ children, introProgress, onIntroGrowComplete, skipIntro, introContent, loadingText, introBackgroundGradient, canvasBoxGradient, growTransition, blurTransition, }: CanvasWrapperProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare const CanvasWrapper: ({ children, introProgress, onIntroGrowComplete, skipIntro, introContent, loadingText, introBackgroundGradient, wrapperBackground, canvasBoxGradient, growTransition, blurTransition, }: CanvasWrapperProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
28
|
//# sourceMappingURL=wrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,KAAK,UAAU,EAAkB,MAAM,eAAe,CAAC;AAC1F,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,KAAK,UAAU,EAAkB,MAAM,eAAe,CAAC;AAC1F,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASpE,OAAO,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAExE,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,uDAAuD;IACvD,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IAGjC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kDAAkD;IAClD,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0FAA0F;IAC1F,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,wCAAwC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,uCAAuC;IACvC,cAAc,CAAC,EAAE,UAAU,CAAC;CAC7B;AAED,eAAO,MAAM,aAAa,GAAI,wLAY3B,kBAAkB,4CA0JpB,CAAC"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { motion } from "framer-motion";
|
|
3
3
|
import { useState, useEffect, useRef } from "react";
|
|
4
|
-
import Image from "next/image";
|
|
5
4
|
import { MAX_DIM_RATIO, GROW_TRANSITION, BLUR_TRANSITION, INTRO_ASPECT_RATIO, } from "../../lib/constants";
|
|
6
5
|
// Re-export for backward compatibility
|
|
7
6
|
export { GROW_TRANSITION as growTransition } from "../../lib/constants";
|
|
8
|
-
|
|
9
|
-
* Default intro content (Hack Western branding)
|
|
10
|
-
* Positioned in the upper third of the screen
|
|
11
|
-
*/
|
|
12
|
-
const DefaultIntroContent = () => (_jsxs("div", { className: "absolute left-1/2 top-24 flex -translate-x-1/2 flex-col items-center text-center", children: [_jsx(Image, { src: "/horse.svg", alt: "Hack Western Logo", width: 64, height: 64, className: "mb-4" }), _jsx("div", { className: "font-canvas-jetbrains-mono font-semibold text-[#543C5AB2]", children: "HACK WESTERN 12" })] }));
|
|
13
|
-
export const CanvasWrapper = ({ children, introProgress, onIntroGrowComplete, skipIntro = false, introContent, loadingText = "LOADING CANVAS", introBackgroundGradient = "linear-gradient(to top, #FEB6AF 0%, var(--canvas-salmon) 15%, var(--canvas-beige) 50%)", canvasBoxGradient = "radial-gradient(130.38% 95% at 50.03% 97.25%, #EFB8A0 0%, #EAD2DF 48.09%, #EFE3E1 100%)", growTransition = GROW_TRANSITION, blurTransition = BLUR_TRANSITION, }) => {
|
|
7
|
+
export const CanvasWrapper = ({ children, introProgress, onIntroGrowComplete, skipIntro = false, introContent, loadingText = "LOADING CANVAS", introBackgroundGradient = "linear-gradient(to top, #d4d4d4 0%, #e5e5e5 50%, #f5f5f5 100%)", wrapperBackground, canvasBoxGradient = "radial-gradient(130.38% 95% at 50.03% 97.25%, #d4d4d4 0%, #e5e5e5 48.09%, #f5f5f5 100%)", growTransition = GROW_TRANSITION, blurTransition = BLUR_TRANSITION, }) => {
|
|
14
8
|
const [dimensions, setDimensions] = useState(null);
|
|
15
9
|
const [dots, setDots] = useState("..");
|
|
16
10
|
const [stage1NotFinished, setStage1NotFinished] = useState(true);
|
|
@@ -67,11 +61,12 @@ export const CanvasWrapper = ({ children, introProgress, onIntroGrowComplete, sk
|
|
|
67
61
|
}, onContextMenu: (e) => e.preventDefault(), children: children }));
|
|
68
62
|
}
|
|
69
63
|
return (_jsxs(motion.div, { className: "fixed inset-0 overflow-hidden", style: {
|
|
70
|
-
|
|
64
|
+
// Only use gradient style if no custom wrapperBackground is provided
|
|
65
|
+
backgroundImage: stage1NotFinished && !wrapperBackground ? introBackgroundGradient : undefined,
|
|
71
66
|
touchAction: "none",
|
|
72
67
|
userSelect: "none",
|
|
73
68
|
pointerEvents: "none",
|
|
74
|
-
}, onContextMenu: (e) => e.preventDefault(), children: [stage1NotFinished && (_jsx(_Fragment, { children: introContent
|
|
69
|
+
}, onContextMenu: (e) => e.preventDefault(), children: [stage1NotFinished && wrapperBackground, stage1NotFinished && (_jsx(_Fragment, { children: introContent })), dimensions && (_jsxs(_Fragment, { children: [_jsx(motion.div, { initial: {
|
|
75
70
|
width: dimensions.width,
|
|
76
71
|
height: dimensions.height,
|
|
77
72
|
opacity: 1,
|
|
@@ -102,6 +97,6 @@ export const CanvasWrapper = ({ children, introProgress, onIntroGrowComplete, sk
|
|
|
102
97
|
setStage1NotFinished(false);
|
|
103
98
|
onIntroGrowComplete?.();
|
|
104
99
|
}
|
|
105
|
-
}, className: "absolute left-1/2 top-1/2 z-10 origin-center -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-lg shadow-[0_20px_40px_rgba(103,86,86,0.15)]", children: _jsx("div", { className: "h-full w-full", children: children }) })] })), stage1NotFinished && loadingText && (_jsxs("div", { className: "absolute bottom-24 left-1/2 -translate-x-1/2 text-center font-
|
|
100
|
+
}, className: "absolute left-1/2 top-1/2 z-10 origin-center -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-lg shadow-[0_20px_40px_rgba(103,86,86,0.15)]", children: _jsx("div", { className: "h-full w-full", children: children }) })] })), stage1NotFinished && loadingText && (_jsxs("div", { className: "absolute bottom-24 left-1/2 -translate-x-1/2 text-center font-mono font-semibold text-neutral-500", children: [loadingText, dots] }))] }));
|
|
106
101
|
};
|
|
107
102
|
//# sourceMappingURL=wrapper.js.map
|