@vibecuting/video-project-core 0.1.29 → 0.1.30
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/package.json +5 -4
- package/src/base/BaseRemotionScene.test.tsx +11 -1
- package/src/base/index.ts +1 -0
- package/src/base/utils/asset-source.ts +11 -0
- package/src/base/utils/background-audio-layer.tsx +90 -0
- package/src/base/utils/background-layer.tsx +84 -0
- package/src/base/utils/chapter-progress-foreground.tsx +125 -0
- package/src/base/utils/chapter-progress-state.test.ts +28 -0
- package/src/base/utils/chapter-progress-state.ts +33 -0
- package/src/base/utils/display-motion.test.ts +21 -0
- package/src/base/utils/display-motion.ts +52 -0
- package/src/base/utils/display-surface.ts +57 -0
- package/src/base/utils/index.ts +10 -0
- package/src/base/utils/subtitle-style.ts +28 -0
- package/src/base/utils/video-layer-types.test.ts +145 -0
- package/src/base/utils/video-layer-types.ts +220 -0
- package/src/base/utils/voice-captions-foreground.tsx +170 -0
- package/src/core/intro/index.ts +18 -18
- package/src/core/outro/index.ts +33 -33
- package/src/core/scene/2dscene/{default-2d-scene-Horizontal.stories.tsx → default-2d-scene/default-2d-scene-Horizontal.stories.tsx} +1 -1
- package/src/core/scene/2dscene/{default-2d-scene-Horizontal.tsx → default-2d-scene/default-2d-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/2dscene/{default-2d-scene-Landscape.tsx → default-2d-scene/default-2d-scene-Landscape.tsx} +1 -1
- package/src/core/scene/2dscene/{default-2d-scene.stories.tsx → default-2d-scene/default-2d-scene.stories.tsx} +1 -1
- package/src/core/scene/2dscene/{default-2d-scene.tsx → default-2d-scene/default-2d-scene.tsx} +4 -4
- package/src/core/scene/2dscene/index.ts +3 -3
- package/src/core/scene/3dscene/{default-3d-scene-Horizontal.stories.tsx → default-3d-scene/default-3d-scene-Horizontal.stories.tsx} +1 -1
- package/src/core/scene/3dscene/{default-3d-scene-Horizontal.tsx → default-3d-scene/default-3d-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/3dscene/{default-3d-scene-Landscape.tsx → default-3d-scene/default-3d-scene-Landscape.tsx} +1 -1
- package/src/core/scene/3dscene/{default-3d-scene.stories.tsx → default-3d-scene/default-3d-scene.stories.tsx} +1 -1
- package/src/core/scene/3dscene/{default-3d-scene.tsx → default-3d-scene/default-3d-scene.tsx} +4 -4
- package/src/core/scene/3dscene/index.ts +3 -3
- package/src/core/scene/html-in-canvas/browser/default-html-in-canvas-browser-scene-Horizontal.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/browser/default-html-in-canvas-browser-scene-Landscape.stories.tsx +80 -0
- package/src/core/scene/html-in-canvas/dashboard/default-html-in-canvas-dashboard-scene-Horizontal.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/dashboard/default-html-in-canvas-dashboard-scene-Landscape.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/dashboard-shell/default-dashboard-shell-html-in-canvas-scene.stories.tsx +40 -0
- package/src/core/scene/html-in-canvas/dashboard-shell/default-dashboard-shell-html-in-canvas-scene.tsx +44 -0
- package/src/core/scene/html-in-canvas/dashboard-shell/index.ts +8 -0
- package/src/core/scene/html-in-canvas/docs/default-html-in-canvas-docs-scene-Horizontal.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/docs/default-html-in-canvas-docs-scene-Landscape.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/document/article/default-article-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/document/article/default-article-html-in-canvas-scene.tsx +50 -0
- package/src/core/scene/html-in-canvas/document/article/index.ts +8 -0
- package/src/core/scene/html-in-canvas/document/default-document-html-in-canvas-scene.stories.tsx +40 -0
- package/src/core/scene/html-in-canvas/document/default-document-html-in-canvas-scene.tsx +50 -0
- package/src/core/scene/html-in-canvas/document/index.ts +31 -0
- package/src/core/scene/html-in-canvas/document/report/default-report-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/document/report/default-report-html-in-canvas-scene.tsx +51 -0
- package/src/core/scene/html-in-canvas/document/report/index.ts +8 -0
- package/src/core/scene/html-in-canvas/document/whitepaper/default-whitepaper-html-in-canvas-scene.stories.tsx +41 -0
- package/src/core/scene/html-in-canvas/document/whitepaper/default-whitepaper-html-in-canvas-scene.tsx +50 -0
- package/src/core/scene/html-in-canvas/document/whitepaper/index.ts +8 -0
- package/src/core/scene/html-in-canvas/editor/default-html-in-canvas-editor-scene-Horizontal.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/editor/default-html-in-canvas-editor-scene-Landscape.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/full-bleed/default-full-bleed-html-in-canvas-scene.stories.tsx +40 -0
- package/src/core/scene/html-in-canvas/full-bleed/default-full-bleed-html-in-canvas-scene.tsx +38 -0
- package/src/core/scene/html-in-canvas/full-bleed/index.ts +8 -0
- package/src/core/scene/html-in-canvas/index.ts +6 -0
- package/src/core/scene/html-in-canvas/landing-page/default-landing-page-html-in-canvas-scene.stories.tsx +40 -0
- package/src/core/scene/html-in-canvas/landing-page/default-landing-page-html-in-canvas-scene.tsx +46 -0
- package/src/core/scene/html-in-canvas/landing-page/feature-grid/default-feature-grid-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/landing-page/feature-grid/default-feature-grid-html-in-canvas-scene.tsx +41 -0
- package/src/core/scene/html-in-canvas/landing-page/feature-grid/index.ts +8 -0
- package/src/core/scene/html-in-canvas/landing-page/hero/default-hero-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/landing-page/hero/default-hero-html-in-canvas-scene.tsx +46 -0
- package/src/core/scene/html-in-canvas/landing-page/hero/index.ts +8 -0
- package/src/core/scene/html-in-canvas/landing-page/index.ts +31 -0
- package/src/core/scene/html-in-canvas/landing-page/pricing/default-pricing-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/landing-page/pricing/default-pricing-html-in-canvas-scene.tsx +42 -0
- package/src/core/scene/html-in-canvas/landing-page/pricing/index.ts +8 -0
- package/src/core/scene/html-in-canvas/media-wall/collage/default-collage-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/media-wall/collage/default-collage-html-in-canvas-scene.tsx +42 -0
- package/src/core/scene/html-in-canvas/media-wall/collage/index.ts +8 -0
- package/src/core/scene/html-in-canvas/media-wall/default-media-wall-html-in-canvas-scene.stories.tsx +40 -0
- package/src/core/scene/html-in-canvas/media-wall/default-media-wall-html-in-canvas-scene.tsx +35 -0
- package/src/core/scene/html-in-canvas/media-wall/gallery/default-gallery-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/media-wall/gallery/default-gallery-html-in-canvas-scene.tsx +43 -0
- package/src/core/scene/html-in-canvas/media-wall/gallery/index.ts +8 -0
- package/src/core/scene/html-in-canvas/media-wall/grid/default-grid-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/media-wall/grid/default-grid-html-in-canvas-scene.tsx +35 -0
- package/src/core/scene/html-in-canvas/media-wall/grid/index.ts +8 -0
- package/src/core/scene/html-in-canvas/media-wall/index.ts +31 -0
- package/src/core/scene/html-in-canvas/shared/default-html-in-canvas-scene.tsx +1315 -0
- package/src/core/scene/index.ts +1 -0
- package/src/core/scene/photo/3dvr-photo/{default-3dvr-photo-scene.stories.tsx → default-3dvr-photo-scene/default-3dvr-photo-scene.stories.tsx} +2 -2
- package/src/core/scene/photo/3dvr-photo/{default-3dvr-photo-scene.tsx → default-3dvr-photo-scene/default-3dvr-photo-scene.tsx} +3 -3
- package/src/core/scene/photo/3dvr-photo/{default-3dvr-photo-scene-Horizontal.stories.tsx → default-3dvr-photo-scene-Horizontal/default-3dvr-photo-scene-Horizontal.stories.tsx} +1 -1
- package/src/core/scene/photo/3dvr-photo/{default-3dvr-photo-scene-Horizontal.tsx → default-3dvr-photo-scene-Horizontal/default-3dvr-photo-scene-Horizontal.tsx} +4 -4
- package/src/core/scene/photo/3dvr-photo/{default-3dvr-photo-scene-Landscape.tsx → default-3dvr-photo-scene-Landscape/default-3dvr-photo-scene-Landscape.tsx} +4 -4
- package/src/core/scene/photo/3dvr-photo/default-dolly-3dvr-photo-scene/default-dolly-3dvr-photo-scene.stories.tsx +38 -0
- package/src/core/scene/photo/3dvr-photo/default-dolly-3dvr-photo-scene/default-dolly-3dvr-photo-scene.tsx +36 -0
- package/src/core/scene/photo/3dvr-photo/default-orbit-3dvr-photo-scene/default-orbit-3dvr-photo-scene.stories.tsx +38 -0
- package/src/core/scene/photo/3dvr-photo/default-orbit-3dvr-photo-scene/default-orbit-3dvr-photo-scene.tsx +34 -0
- package/src/core/scene/photo/3dvr-photo/default-poster-3dvr-photo-scene/default-poster-3dvr-photo-scene.stories.tsx +38 -0
- package/src/core/scene/photo/3dvr-photo/default-poster-3dvr-photo-scene/default-poster-3dvr-photo-scene.tsx +39 -0
- package/src/core/scene/photo/3dvr-photo/index.ts +6 -3
- package/src/core/scene/photo/effects-photo/default-chrome-effects-photo-scene/default-chrome-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-chrome-effects-photo-scene/default-chrome-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-cool-tone-effects-photo-scene/default-cool-tone-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-cool-tone-effects-photo-scene/default-cool-tone-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-dream-effects-photo-scene/default-dream-effects-photo-scene.stories.tsx +23 -0
- package/src/core/scene/photo/effects-photo/default-dream-effects-photo-scene/default-dream-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-duotone-effects-photo-scene/default-duotone-effects-photo-scene.stories.tsx +25 -0
- package/src/core/scene/photo/effects-photo/default-duotone-effects-photo-scene/default-duotone-effects-photo-scene.tsx +41 -0
- package/src/core/scene/photo/effects-photo/{default-effects-photo-scene.stories.tsx → default-effects-photo-scene/default-effects-photo-scene.stories.tsx} +2 -2
- package/src/core/scene/photo/effects-photo/default-effects-photo-scene/default-effects-photo-scene.tsx +639 -0
- package/src/core/scene/photo/effects-photo/{default-effects-photo-scene-Horizontal.stories.tsx → default-effects-photo-scene-Horizontal/default-effects-photo-scene-Horizontal.stories.tsx} +1 -1
- package/src/core/scene/photo/effects-photo/{default-effects-photo-scene-Horizontal.tsx → default-effects-photo-scene-Horizontal/default-effects-photo-scene-Horizontal.tsx} +4 -4
- package/src/core/scene/photo/effects-photo/{default-effects-photo-scene-Landscape.tsx → default-effects-photo-scene-Landscape/default-effects-photo-scene-Landscape.tsx} +4 -4
- package/src/core/scene/photo/effects-photo/default-glow-effects-photo-scene/default-glow-effects-photo-scene.stories.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-glow-effects-photo-scene/default-glow-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-grain-effects-photo-scene/default-grain-effects-photo-scene.stories.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-grain-effects-photo-scene/default-grain-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-halation-effects-photo-scene/default-halation-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-halation-effects-photo-scene/default-halation-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-infrared-effects-photo-scene/default-infrared-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-infrared-effects-photo-scene/default-infrared-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-light-leak-effects-photo-scene/default-light-leak-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-light-leak-effects-photo-scene/default-light-leak-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-mono-effects-photo-scene/default-mono-effects-photo-scene.stories.tsx +23 -0
- package/src/core/scene/photo/effects-photo/default-mono-effects-photo-scene/default-mono-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-noir-effects-photo-scene/default-noir-effects-photo-scene.stories.tsx +23 -0
- package/src/core/scene/photo/effects-photo/default-noir-effects-photo-scene/default-noir-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-pastel-effects-photo-scene/default-pastel-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-pastel-effects-photo-scene/default-pastel-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-retro-effects-photo-scene/default-retro-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-retro-effects-photo-scene/default-retro-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-sepia-effects-photo-scene/default-sepia-effects-photo-scene.stories.tsx +23 -0
- package/src/core/scene/photo/effects-photo/default-sepia-effects-photo-scene/default-sepia-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-soft-focus-effects-photo-scene/default-soft-focus-effects-photo-scene.stories.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-soft-focus-effects-photo-scene/default-soft-focus-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-vibrant-effects-photo-scene/default-vibrant-effects-photo-scene.stories.tsx +23 -0
- package/src/core/scene/photo/effects-photo/default-vibrant-effects-photo-scene/default-vibrant-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-vignette-effects-photo-scene/default-vignette-effects-photo-scene.stories.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-vignette-effects-photo-scene/default-vignette-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-warmth-effects-photo-scene/default-warmth-effects-photo-scene.stories.tsx +40 -0
- package/src/core/scene/photo/effects-photo/default-warmth-effects-photo-scene/default-warmth-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/index.ts +21 -3
- package/src/core/scene/photo/index.ts +25 -9
- package/src/core/scene/photo/{default-live-photo-scene-Horizontal.stories.tsx → live-photo/default-live-photo-scene-Horizontal.stories.tsx} +1 -1
- package/src/core/scene/photo/{default-live-photo-scene-Horizontal.tsx → live-photo/default-live-photo-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/photo/{default-live-photo-scene-Landscape.tsx → live-photo/default-live-photo-scene-Landscape.tsx} +1 -1
- package/src/core/scene/photo/{default-live-photo-scene.stories.tsx → live-photo/default-live-photo-scene.stories.tsx} +1 -1
- package/src/core/scene/photo/{default-live-photo-scene.tsx → live-photo/default-live-photo-scene.tsx} +5 -3
- package/src/core/scene/photo/photo-storybook.test.tsx +2 -2
- package/src/core/scene/photo/{default-photo-strip-scene-Horizontal.tsx → photo-strip/default-photo-strip-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/photo/{default-photo-strip-scene-Landscape.tsx → photo-strip/default-photo-strip-scene-Landscape.tsx} +1 -1
- package/src/core/scene/photo/{default-photo-strip-scene.stories.tsx → photo-strip/default-photo-strip-scene.stories.tsx} +1 -1
- package/src/core/scene/photo/{default-photo-strip-scene.tsx → photo-strip/default-photo-strip-scene.tsx} +2 -2
- package/src/core/scene/photo/{default-photo-wall-scene-Horizontal.tsx → photo-wall/default-photo-wall-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/photo/{default-photo-wall-scene-Landscape.tsx → photo-wall/default-photo-wall-scene-Landscape.tsx} +1 -1
- package/src/core/scene/photo/{default-photo-wall-scene.stories.tsx → photo-wall/default-photo-wall-scene.stories.tsx} +1 -1
- package/src/core/scene/photo/{default-photo-wall-scene.tsx → photo-wall/default-photo-wall-scene.tsx} +2 -2
- package/src/core/scene/slide/{default-slide-scene-Horizontal.animated.stories.tsx → default-slide-scene/default-slide-scene-Horizontal.animated.stories.tsx} +1 -1
- package/src/core/scene/slide/{default-slide-scene-Horizontal.tsx → default-slide-scene/default-slide-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/slide/{default-slide-scene-Landscape.tsx → default-slide-scene/default-slide-scene-Landscape.tsx} +1 -1
- package/src/core/scene/slide/{default-slide-scene.animated.stories.tsx → default-slide-scene/default-slide-scene.animated.stories.tsx} +1 -1
- package/src/core/scene/slide/{default-slide-scene.tsx → default-slide-scene/default-slide-scene.tsx} +5 -5
- package/src/core/scene/slide/index.ts +3 -3
- package/src/core/scene/video/{default-video-scene-Horizontal.stories.tsx → default-video-scene/default-video-scene-Horizontal.stories.tsx} +1 -1
- package/src/core/scene/video/{default-video-scene-Horizontal.tsx → default-video-scene/default-video-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/video/{default-video-scene-Landscape.tsx → default-video-scene/default-video-scene-Landscape.tsx} +1 -1
- package/src/core/scene/video/{default-video-scene.stories.tsx → default-video-scene/default-video-scene.stories.tsx} +1 -1
- package/src/core/scene/video/{default-video-scene.tsx → default-video-scene/default-video-scene.tsx} +3 -3
- package/src/core/scene/video/{default-video-split-scene-Horizontal.tsx → default-video-split-scene/default-video-split-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/video/{default-video-split-scene-Landscape.tsx → default-video-split-scene/default-video-split-scene-Landscape.tsx} +1 -1
- package/src/core/scene/video/{default-video-split-scene.stories.tsx → default-video-split-scene/default-video-split-scene.stories.tsx} +1 -1
- package/src/core/scene/video/{default-video-split-scene.tsx → default-video-split-scene/default-video-split-scene.tsx} +2 -2
- package/src/core/scene/video/{default-video-wall-scene-Horizontal.tsx → default-video-wall-scene/default-video-wall-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/video/{default-video-wall-scene-Landscape.tsx → default-video-wall-scene/default-video-wall-scene-Landscape.tsx} +1 -1
- package/src/core/scene/video/{default-video-wall-scene.stories.tsx → default-video-wall-scene/default-video-wall-scene.stories.tsx} +1 -1
- package/src/core/scene/video/{default-video-wall-scene.tsx → default-video-wall-scene/default-video-wall-scene.tsx} +2 -2
- package/src/core/scene/video/index.ts +9 -9
- package/src/storybook/remotion-preview.tsx +44 -0
- package/src/core/scene/photo/effects-photo/default-effects-photo-scene.tsx +0 -352
- /package/src/core/scene/slide/{default-slide-scene-Horizontal.stories.tsx → default-slide-scene/default-slide-scene-Horizontal.stories.tsx} +0 -0
- /package/src/core/scene/slide/{default-slide-scene.stories.tsx → default-slide-scene/default-slide-scene.stories.tsx} +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DefaultHtmlInCanvasHeroSceneLandscape, heroHtml } from './default-hero-html-in-canvas-scene'
|
|
2
|
+
|
|
3
|
+
const meta = {
|
|
4
|
+
title: 'core/scene/html-in-canvas/landing-page/hero/DefaultHtmlInCanvasHeroSceneLandscape',
|
|
5
|
+
component: DefaultHtmlInCanvasHeroSceneLandscape,
|
|
6
|
+
args: {
|
|
7
|
+
html: heroHtml,
|
|
8
|
+
},
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default meta
|
|
12
|
+
|
|
13
|
+
export const Default = {
|
|
14
|
+
parameters: {
|
|
15
|
+
scenePreviewAspectRatio: '16:9',
|
|
16
|
+
},
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const Animated = {
|
|
20
|
+
parameters: {
|
|
21
|
+
scenePreviewAspectRatio: '16:9',
|
|
22
|
+
scenePreviewMode: 'animation',
|
|
23
|
+
},
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const Both = {
|
|
27
|
+
parameters: {
|
|
28
|
+
scenePreviewAspectRatio: '16:9',
|
|
29
|
+
scenePreviewMode: 'both',
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const Vertical = {
|
|
34
|
+
parameters: {
|
|
35
|
+
scenePreviewAspectRatio: '9:16',
|
|
36
|
+
},
|
|
37
|
+
}
|
|
38
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createHtmlInCanvasScene } from '../../shared/default-html-in-canvas-scene'
|
|
2
|
+
|
|
3
|
+
const heroLandscape = createHtmlInCanvasScene({
|
|
4
|
+
name: 'DefaultHtmlInCanvasHeroSceneLandscape',
|
|
5
|
+
description: 'Hero landing HtmlInCanvas scene for 16:9 landscape previews',
|
|
6
|
+
sourceFile: 'src/core/scene/html-in-canvas/landing-page/hero/default-hero-html-in-canvas-scene.tsx',
|
|
7
|
+
pluginKey: 'core.html-in-canvas.landing-page.hero',
|
|
8
|
+
aspectRatio: '16:9',
|
|
9
|
+
template: 'browser',
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
const heroHorizontal = createHtmlInCanvasScene({
|
|
13
|
+
name: 'DefaultHtmlInCanvasHeroSceneHorizontal',
|
|
14
|
+
description: 'Hero landing HtmlInCanvas scene for 9:16 vertical previews',
|
|
15
|
+
sourceFile: 'src/core/scene/html-in-canvas/landing-page/hero/default-hero-html-in-canvas-scene.tsx',
|
|
16
|
+
pluginKey: 'core.html-in-canvas.landing-page.hero',
|
|
17
|
+
aspectRatio: '9:16',
|
|
18
|
+
template: 'browser',
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
export const DefaultHtmlInCanvasHeroSceneLandscape = heroLandscape.Scene
|
|
22
|
+
export const DefaultHtmlInCanvasHeroSceneHorizontal = heroHorizontal.Scene
|
|
23
|
+
export const DefaultHtmlInCanvasHeroSceneLandscapeMetadata = heroLandscape.componentMetadata
|
|
24
|
+
export const DefaultHtmlInCanvasHeroSceneHorizontalMetadata = heroHorizontal.componentMetadata
|
|
25
|
+
|
|
26
|
+
export const heroHtml = String.raw`
|
|
27
|
+
<main style="width:100%;height:100%;display:grid;grid-template-columns:1.05fr .95fr;background:linear-gradient(135deg,#0f172a 0%,#111827 55%,#1d4ed8 100%);color:#f8fafc;overflow:hidden;">
|
|
28
|
+
<section style="display:grid;align-content:center;padding:clamp(24px,4vw,72px);gap:22px;max-width:1000px;">
|
|
29
|
+
<div style="display:inline-flex;align-items:center;gap:10px;letter-spacing:.24em;text-transform:uppercase;font-size:11px;color:#bfdbfe;">
|
|
30
|
+
<span style="width:10px;height:10px;border-radius:9999px;background:#60a5fa;"></span>
|
|
31
|
+
Hero
|
|
32
|
+
</div>
|
|
33
|
+
<h1 style="margin:0;font-size:clamp(46px,7vw,98px);line-height:.9;letter-spacing:-.08em;">A landing page hero that fills the frame</h1>
|
|
34
|
+
<p style="margin:0;max-width:680px;font-size:clamp(16px,2vw,22px);line-height:1.7;color:#dbeafe;">
|
|
35
|
+
The hero layout gives the most space to headline and primary action, while supporting media stays fully visible.
|
|
36
|
+
</p>
|
|
37
|
+
<div style="display:flex;gap:12px;flex-wrap:wrap;">
|
|
38
|
+
<button style="padding:14px 18px;border:1px solid rgba(255,255,255,.14);background:#f8fafc;color:#020617;">Get started</button>
|
|
39
|
+
<button style="padding:14px 18px;border:1px solid rgba(255,255,255,.14);background:transparent;color:#f8fafc;">Watch demo</button>
|
|
40
|
+
</div>
|
|
41
|
+
</section>
|
|
42
|
+
<section style="display:grid;place-items:center;padding:clamp(20px,3vw,48px);">
|
|
43
|
+
<div style="width:min(100%,520px);aspect-ratio:1;border:1px solid rgba(255,255,255,.14);background:rgba(2,6,23,.38);display:grid;place-items:center;">Hero media</div>
|
|
44
|
+
</section>
|
|
45
|
+
</main>
|
|
46
|
+
`
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export {
|
|
2
|
+
DefaultHtmlInCanvasLandingPageSceneLandscape,
|
|
3
|
+
DefaultHtmlInCanvasLandingPageSceneHorizontal,
|
|
4
|
+
DefaultHtmlInCanvasLandingPageSceneLandscapeMetadata,
|
|
5
|
+
DefaultHtmlInCanvasLandingPageSceneHorizontalMetadata,
|
|
6
|
+
landingPageHtml,
|
|
7
|
+
} from './default-landing-page-html-in-canvas-scene'
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
DefaultHtmlInCanvasHeroSceneLandscape,
|
|
11
|
+
DefaultHtmlInCanvasHeroSceneHorizontal,
|
|
12
|
+
DefaultHtmlInCanvasHeroSceneLandscapeMetadata,
|
|
13
|
+
DefaultHtmlInCanvasHeroSceneHorizontalMetadata,
|
|
14
|
+
heroHtml,
|
|
15
|
+
} from './hero'
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
DefaultHtmlInCanvasPricingSceneLandscape,
|
|
19
|
+
DefaultHtmlInCanvasPricingSceneHorizontal,
|
|
20
|
+
DefaultHtmlInCanvasPricingSceneLandscapeMetadata,
|
|
21
|
+
DefaultHtmlInCanvasPricingSceneHorizontalMetadata,
|
|
22
|
+
pricingHtml,
|
|
23
|
+
} from './pricing'
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
DefaultHtmlInCanvasFeatureGridSceneLandscape,
|
|
27
|
+
DefaultHtmlInCanvasFeatureGridSceneHorizontal,
|
|
28
|
+
DefaultHtmlInCanvasFeatureGridSceneLandscapeMetadata,
|
|
29
|
+
DefaultHtmlInCanvasFeatureGridSceneHorizontalMetadata,
|
|
30
|
+
featureGridHtml,
|
|
31
|
+
} from './feature-grid'
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DefaultHtmlInCanvasPricingSceneLandscape, pricingHtml } from './default-pricing-html-in-canvas-scene'
|
|
2
|
+
|
|
3
|
+
const meta = {
|
|
4
|
+
title: 'core/scene/html-in-canvas/landing-page/pricing/DefaultHtmlInCanvasPricingSceneLandscape',
|
|
5
|
+
component: DefaultHtmlInCanvasPricingSceneLandscape,
|
|
6
|
+
args: {
|
|
7
|
+
html: pricingHtml,
|
|
8
|
+
},
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default meta
|
|
12
|
+
|
|
13
|
+
export const Default = {
|
|
14
|
+
parameters: {
|
|
15
|
+
scenePreviewAspectRatio: '16:9',
|
|
16
|
+
},
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const Animated = {
|
|
20
|
+
parameters: {
|
|
21
|
+
scenePreviewAspectRatio: '16:9',
|
|
22
|
+
scenePreviewMode: 'animation',
|
|
23
|
+
},
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const Both = {
|
|
27
|
+
parameters: {
|
|
28
|
+
scenePreviewAspectRatio: '16:9',
|
|
29
|
+
scenePreviewMode: 'both',
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const Vertical = {
|
|
34
|
+
parameters: {
|
|
35
|
+
scenePreviewAspectRatio: '9:16',
|
|
36
|
+
},
|
|
37
|
+
}
|
|
38
|
+
|
package/src/core/scene/html-in-canvas/landing-page/pricing/default-pricing-html-in-canvas-scene.tsx
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createHtmlInCanvasScene } from '../../shared/default-html-in-canvas-scene'
|
|
2
|
+
|
|
3
|
+
const pricingLandscape = createHtmlInCanvasScene({
|
|
4
|
+
name: 'DefaultHtmlInCanvasPricingSceneLandscape',
|
|
5
|
+
description: 'Pricing HtmlInCanvas scene for 16:9 landscape previews',
|
|
6
|
+
sourceFile: 'src/core/scene/html-in-canvas/landing-page/pricing/default-pricing-html-in-canvas-scene.tsx',
|
|
7
|
+
pluginKey: 'core.html-in-canvas.landing-page.pricing',
|
|
8
|
+
aspectRatio: '16:9',
|
|
9
|
+
template: 'browser',
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
const pricingHorizontal = createHtmlInCanvasScene({
|
|
13
|
+
name: 'DefaultHtmlInCanvasPricingSceneHorizontal',
|
|
14
|
+
description: 'Pricing HtmlInCanvas scene for 9:16 vertical previews',
|
|
15
|
+
sourceFile: 'src/core/scene/html-in-canvas/landing-page/pricing/default-pricing-html-in-canvas-scene.tsx',
|
|
16
|
+
pluginKey: 'core.html-in-canvas.landing-page.pricing',
|
|
17
|
+
aspectRatio: '9:16',
|
|
18
|
+
template: 'browser',
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
export const DefaultHtmlInCanvasPricingSceneLandscape = pricingLandscape.Scene
|
|
22
|
+
export const DefaultHtmlInCanvasPricingSceneHorizontal = pricingHorizontal.Scene
|
|
23
|
+
export const DefaultHtmlInCanvasPricingSceneLandscapeMetadata = pricingLandscape.componentMetadata
|
|
24
|
+
export const DefaultHtmlInCanvasPricingSceneHorizontalMetadata = pricingHorizontal.componentMetadata
|
|
25
|
+
|
|
26
|
+
export const pricingHtml = String.raw`
|
|
27
|
+
<section style="width:100%;height:100%;display:grid;grid-template-columns:.95fr 1.05fr;background:#020617;color:#f8fafc;overflow:hidden;">
|
|
28
|
+
<aside style="display:grid;align-content:center;padding:clamp(20px,3vw,48px);gap:16px;background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(2,6,23,.94));border-right:1px solid rgba(255,255,255,.08);">
|
|
29
|
+
<div style="display:inline-flex;align-items:center;gap:10px;letter-spacing:.24em;text-transform:uppercase;font-size:11px;color:#cbd5e1;">
|
|
30
|
+
<span style="width:10px;height:10px;border-radius:9999px;background:#22c55e;"></span>
|
|
31
|
+
Pricing
|
|
32
|
+
</div>
|
|
33
|
+
<h1 style="margin:0;font-size:clamp(34px,5vw,72px);line-height:.92;letter-spacing:-.07em;">Compare plans at a glance</h1>
|
|
34
|
+
<p style="margin:0;font-size:clamp(15px,1.8vw,20px);line-height:1.6;color:#cbd5e1;">Clear pricing cards with one emphasized option.</p>
|
|
35
|
+
</aside>
|
|
36
|
+
<div style="display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;">
|
|
37
|
+
<div style="padding:24px;border-left:1px solid rgba(255,255,255,.08);background:#0f172a;display:grid;align-content:start;gap:12px;">Starter</div>
|
|
38
|
+
<div style="padding:24px;border-left:1px solid rgba(255,255,255,.08);background:#111827;display:grid;align-content:start;gap:12px;">Pro</div>
|
|
39
|
+
<div style="padding:24px;border-left:1px solid rgba(255,255,255,.08);background:#1d4ed8;display:grid;align-content:start;gap:12px;">Enterprise</div>
|
|
40
|
+
</div>
|
|
41
|
+
</section>
|
|
42
|
+
`
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export {
|
|
2
|
+
DefaultHtmlInCanvasPricingSceneLandscape,
|
|
3
|
+
DefaultHtmlInCanvasPricingSceneHorizontal,
|
|
4
|
+
DefaultHtmlInCanvasPricingSceneLandscapeMetadata,
|
|
5
|
+
DefaultHtmlInCanvasPricingSceneHorizontalMetadata,
|
|
6
|
+
pricingHtml,
|
|
7
|
+
} from './default-pricing-html-in-canvas-scene'
|
|
8
|
+
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DefaultHtmlInCanvasCollageSceneLandscape, collageHtml } from './default-collage-html-in-canvas-scene'
|
|
2
|
+
|
|
3
|
+
const meta = {
|
|
4
|
+
title: 'core/scene/html-in-canvas/media-wall/collage/DefaultHtmlInCanvasCollageSceneLandscape',
|
|
5
|
+
component: DefaultHtmlInCanvasCollageSceneLandscape,
|
|
6
|
+
args: {
|
|
7
|
+
html: collageHtml,
|
|
8
|
+
},
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default meta
|
|
12
|
+
|
|
13
|
+
export const Default = {
|
|
14
|
+
parameters: {
|
|
15
|
+
scenePreviewAspectRatio: '16:9',
|
|
16
|
+
},
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const Animated = {
|
|
20
|
+
parameters: {
|
|
21
|
+
scenePreviewAspectRatio: '16:9',
|
|
22
|
+
scenePreviewMode: 'animation',
|
|
23
|
+
},
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const Both = {
|
|
27
|
+
parameters: {
|
|
28
|
+
scenePreviewAspectRatio: '16:9',
|
|
29
|
+
scenePreviewMode: 'both',
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const Vertical = {
|
|
34
|
+
parameters: {
|
|
35
|
+
scenePreviewAspectRatio: '9:16',
|
|
36
|
+
},
|
|
37
|
+
}
|
|
38
|
+
|
package/src/core/scene/html-in-canvas/media-wall/collage/default-collage-html-in-canvas-scene.tsx
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createHtmlInCanvasScene } from '../../shared/default-html-in-canvas-scene'
|
|
2
|
+
|
|
3
|
+
const collageLandscape = createHtmlInCanvasScene({
|
|
4
|
+
name: 'DefaultHtmlInCanvasCollageSceneLandscape',
|
|
5
|
+
description: 'Collage-style HtmlInCanvas scene for 16:9 landscape previews',
|
|
6
|
+
sourceFile: 'src/core/scene/html-in-canvas/media-wall/collage/default-collage-html-in-canvas-scene.tsx',
|
|
7
|
+
pluginKey: 'core.html-in-canvas.media-wall.collage',
|
|
8
|
+
aspectRatio: '16:9',
|
|
9
|
+
template: 'browser',
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
const collageHorizontal = createHtmlInCanvasScene({
|
|
13
|
+
name: 'DefaultHtmlInCanvasCollageSceneHorizontal',
|
|
14
|
+
description: 'Collage-style HtmlInCanvas scene for 9:16 vertical previews',
|
|
15
|
+
sourceFile: 'src/core/scene/html-in-canvas/media-wall/collage/default-collage-html-in-canvas-scene.tsx',
|
|
16
|
+
pluginKey: 'core.html-in-canvas.media-wall.collage',
|
|
17
|
+
aspectRatio: '9:16',
|
|
18
|
+
template: 'browser',
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
export const DefaultHtmlInCanvasCollageSceneLandscape = collageLandscape.Scene
|
|
22
|
+
export const DefaultHtmlInCanvasCollageSceneHorizontal = collageHorizontal.Scene
|
|
23
|
+
export const DefaultHtmlInCanvasCollageSceneLandscapeMetadata = collageLandscape.componentMetadata
|
|
24
|
+
export const DefaultHtmlInCanvasCollageSceneHorizontalMetadata = collageHorizontal.componentMetadata
|
|
25
|
+
|
|
26
|
+
export const collageHtml = String.raw`
|
|
27
|
+
<section style="width:100%;height:100%;display:grid;grid-template-columns:1fr .85fr;background:#020617;color:#f8fafc;overflow:hidden;">
|
|
28
|
+
<div style="display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr .75fr;gap:0;">
|
|
29
|
+
<div style="grid-row:1 / span 2;background:linear-gradient(135deg,#1d4ed8,#38bdf8);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Hero image</div>
|
|
30
|
+
<div style="background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Inset A</div>
|
|
31
|
+
<div style="background:linear-gradient(135deg,#111827,#312e81);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Inset B</div>
|
|
32
|
+
</div>
|
|
33
|
+
<aside style="display:grid;align-content:center;padding:clamp(20px,3vw,44px);gap:16px;background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(2,6,23,.94));border-left:1px solid rgba(255,255,255,.08);">
|
|
34
|
+
<div style="display:inline-flex;align-items:center;gap:10px;letter-spacing:.24em;text-transform:uppercase;font-size:11px;color:#cbd5e1;">
|
|
35
|
+
<span style="width:10px;height:10px;border-radius:9999px;background:#60a5fa;"></span>
|
|
36
|
+
Collage
|
|
37
|
+
</div>
|
|
38
|
+
<h1 style="margin:0;font-size:clamp(34px,5vw,72px);line-height:.92;letter-spacing:-.07em;">Mixed media collage</h1>
|
|
39
|
+
<p style="margin:0;font-size:clamp(15px,1.8vw,20px);line-height:1.6;color:#cbd5e1;">A stronger editorial montage layout for promos and collection pages.</p>
|
|
40
|
+
</aside>
|
|
41
|
+
</section>
|
|
42
|
+
`
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export {
|
|
2
|
+
DefaultHtmlInCanvasCollageSceneLandscape,
|
|
3
|
+
DefaultHtmlInCanvasCollageSceneHorizontal,
|
|
4
|
+
DefaultHtmlInCanvasCollageSceneLandscapeMetadata,
|
|
5
|
+
DefaultHtmlInCanvasCollageSceneHorizontalMetadata,
|
|
6
|
+
collageHtml,
|
|
7
|
+
} from './default-collage-html-in-canvas-scene'
|
|
8
|
+
|
package/src/core/scene/html-in-canvas/media-wall/default-media-wall-html-in-canvas-scene.stories.tsx
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DefaultHtmlInCanvasMediaWallSceneLandscape,
|
|
3
|
+
mediaWallHtml,
|
|
4
|
+
} from './default-media-wall-html-in-canvas-scene'
|
|
5
|
+
|
|
6
|
+
const meta = {
|
|
7
|
+
title: 'core/scene/html-in-canvas/media-wall/DefaultHtmlInCanvasMediaWallSceneLandscape',
|
|
8
|
+
component: DefaultHtmlInCanvasMediaWallSceneLandscape,
|
|
9
|
+
args: {
|
|
10
|
+
html: mediaWallHtml,
|
|
11
|
+
},
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default meta
|
|
15
|
+
|
|
16
|
+
export const Default = {
|
|
17
|
+
parameters: {
|
|
18
|
+
scenePreviewAspectRatio: '16:9',
|
|
19
|
+
},
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const Animated = {
|
|
23
|
+
parameters: {
|
|
24
|
+
scenePreviewAspectRatio: '16:9',
|
|
25
|
+
scenePreviewMode: 'animation',
|
|
26
|
+
},
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export const Both = {
|
|
30
|
+
parameters: {
|
|
31
|
+
scenePreviewAspectRatio: '16:9',
|
|
32
|
+
scenePreviewMode: 'both',
|
|
33
|
+
},
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const Vertical = {
|
|
37
|
+
parameters: {
|
|
38
|
+
scenePreviewAspectRatio: '9:16',
|
|
39
|
+
},
|
|
40
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createHtmlInCanvasScene } from '../shared/default-html-in-canvas-scene'
|
|
2
|
+
|
|
3
|
+
const mediaWallLandscape = createHtmlInCanvasScene({
|
|
4
|
+
name: 'DefaultHtmlInCanvasMediaWallSceneLandscape',
|
|
5
|
+
description: 'Media wall HtmlInCanvas scene for 16:9 landscape previews',
|
|
6
|
+
sourceFile: 'src/core/scene/html-in-canvas/media-wall/default-media-wall-html-in-canvas-scene.tsx',
|
|
7
|
+
pluginKey: 'core.html-in-canvas.media-wall',
|
|
8
|
+
aspectRatio: '16:9',
|
|
9
|
+
template: 'browser',
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
const mediaWallHorizontal = createHtmlInCanvasScene({
|
|
13
|
+
name: 'DefaultHtmlInCanvasMediaWallSceneHorizontal',
|
|
14
|
+
description: 'Media wall HtmlInCanvas scene for 9:16 vertical previews',
|
|
15
|
+
sourceFile: 'src/core/scene/html-in-canvas/media-wall/default-media-wall-html-in-canvas-scene.tsx',
|
|
16
|
+
pluginKey: 'core.html-in-canvas.media-wall',
|
|
17
|
+
aspectRatio: '9:16',
|
|
18
|
+
template: 'browser',
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
export const DefaultHtmlInCanvasMediaWallSceneLandscape = mediaWallLandscape.Scene
|
|
22
|
+
export const DefaultHtmlInCanvasMediaWallSceneHorizontal = mediaWallHorizontal.Scene
|
|
23
|
+
export const DefaultHtmlInCanvasMediaWallSceneLandscapeMetadata = mediaWallLandscape.componentMetadata
|
|
24
|
+
export const DefaultHtmlInCanvasMediaWallSceneHorizontalMetadata = mediaWallHorizontal.componentMetadata
|
|
25
|
+
|
|
26
|
+
export const mediaWallHtml = String.raw`
|
|
27
|
+
<section style="width:100%;height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:0;background:#020617;color:#f8fafc;overflow:hidden;">
|
|
28
|
+
<div style="background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Media 1</div>
|
|
29
|
+
<div style="background:linear-gradient(135deg,#0f172a,#1e3a8a);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Media 2</div>
|
|
30
|
+
<div style="background:linear-gradient(135deg,#1d4ed8,#38bdf8);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Media 3</div>
|
|
31
|
+
<div style="background:linear-gradient(135deg,#111827,#0f172a);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Media 4</div>
|
|
32
|
+
<div style="background:linear-gradient(135deg,#0f172a,#312e81);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Media 5</div>
|
|
33
|
+
<div style="background:linear-gradient(135deg,#2563eb,#0f172a);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Media 6</div>
|
|
34
|
+
</section>
|
|
35
|
+
`
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DefaultHtmlInCanvasGallerySceneLandscape, galleryHtml } from './default-gallery-html-in-canvas-scene'
|
|
2
|
+
|
|
3
|
+
const meta = {
|
|
4
|
+
title: 'core/scene/html-in-canvas/media-wall/gallery/DefaultHtmlInCanvasGallerySceneLandscape',
|
|
5
|
+
component: DefaultHtmlInCanvasGallerySceneLandscape,
|
|
6
|
+
args: {
|
|
7
|
+
html: galleryHtml,
|
|
8
|
+
},
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default meta
|
|
12
|
+
|
|
13
|
+
export const Default = {
|
|
14
|
+
parameters: {
|
|
15
|
+
scenePreviewAspectRatio: '16:9',
|
|
16
|
+
},
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const Animated = {
|
|
20
|
+
parameters: {
|
|
21
|
+
scenePreviewAspectRatio: '16:9',
|
|
22
|
+
scenePreviewMode: 'animation',
|
|
23
|
+
},
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const Both = {
|
|
27
|
+
parameters: {
|
|
28
|
+
scenePreviewAspectRatio: '16:9',
|
|
29
|
+
scenePreviewMode: 'both',
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const Vertical = {
|
|
34
|
+
parameters: {
|
|
35
|
+
scenePreviewAspectRatio: '9:16',
|
|
36
|
+
},
|
|
37
|
+
}
|
|
38
|
+
|
package/src/core/scene/html-in-canvas/media-wall/gallery/default-gallery-html-in-canvas-scene.tsx
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { createHtmlInCanvasScene } from '../../shared/default-html-in-canvas-scene'
|
|
2
|
+
|
|
3
|
+
const galleryLandscape = createHtmlInCanvasScene({
|
|
4
|
+
name: 'DefaultHtmlInCanvasGallerySceneLandscape',
|
|
5
|
+
description: 'Gallery-style HtmlInCanvas scene for 16:9 landscape previews',
|
|
6
|
+
sourceFile: 'src/core/scene/html-in-canvas/media-wall/gallery/default-gallery-html-in-canvas-scene.tsx',
|
|
7
|
+
pluginKey: 'core.html-in-canvas.media-wall.gallery',
|
|
8
|
+
aspectRatio: '16:9',
|
|
9
|
+
template: 'browser',
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
const galleryHorizontal = createHtmlInCanvasScene({
|
|
13
|
+
name: 'DefaultHtmlInCanvasGallerySceneHorizontal',
|
|
14
|
+
description: 'Gallery-style HtmlInCanvas scene for 9:16 vertical previews',
|
|
15
|
+
sourceFile: 'src/core/scene/html-in-canvas/media-wall/gallery/default-gallery-html-in-canvas-scene.tsx',
|
|
16
|
+
pluginKey: 'core.html-in-canvas.media-wall.gallery',
|
|
17
|
+
aspectRatio: '9:16',
|
|
18
|
+
template: 'browser',
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
export const DefaultHtmlInCanvasGallerySceneLandscape = galleryLandscape.Scene
|
|
22
|
+
export const DefaultHtmlInCanvasGallerySceneHorizontal = galleryHorizontal.Scene
|
|
23
|
+
export const DefaultHtmlInCanvasGallerySceneLandscapeMetadata = galleryLandscape.componentMetadata
|
|
24
|
+
export const DefaultHtmlInCanvasGallerySceneHorizontalMetadata = galleryHorizontal.componentMetadata
|
|
25
|
+
|
|
26
|
+
export const galleryHtml = String.raw`
|
|
27
|
+
<section style="width:100%;height:100%;display:grid;grid-template-columns:1.2fr .8fr;gap:0;background:#020617;color:#f8fafc;overflow:hidden;">
|
|
28
|
+
<div style="display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:0;">
|
|
29
|
+
<div style="background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Photo A</div>
|
|
30
|
+
<div style="background:linear-gradient(135deg,#0f172a,#1d4ed8);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Photo B</div>
|
|
31
|
+
<div style="background:linear-gradient(135deg,#1d4ed8,#38bdf8);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Photo C</div>
|
|
32
|
+
<div style="background:linear-gradient(135deg,#0f172a,#312e81);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Photo D</div>
|
|
33
|
+
</div>
|
|
34
|
+
<aside style="display:grid;align-content:center;padding:clamp(20px,3vw,44px);gap:16px;background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(2,6,23,.94));border-left:1px solid rgba(255,255,255,.08);">
|
|
35
|
+
<div style="display:inline-flex;align-items:center;gap:10px;letter-spacing:.24em;text-transform:uppercase;font-size:11px;color:#cbd5e1;">
|
|
36
|
+
<span style="width:10px;height:10px;border-radius:9999px;background:#38bdf8;"></span>
|
|
37
|
+
Gallery
|
|
38
|
+
</div>
|
|
39
|
+
<h1 style="margin:0;font-size:clamp(34px,5vw,72px);line-height:.92;letter-spacing:-.07em;">A simple image wall</h1>
|
|
40
|
+
<p style="margin:0;font-size:clamp(15px,1.8vw,20px);line-height:1.6;color:#cbd5e1;">Balanced grid composition for collection previews and gallery intros.</p>
|
|
41
|
+
</aside>
|
|
42
|
+
</section>
|
|
43
|
+
`
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export {
|
|
2
|
+
DefaultHtmlInCanvasGallerySceneLandscape,
|
|
3
|
+
DefaultHtmlInCanvasGallerySceneHorizontal,
|
|
4
|
+
DefaultHtmlInCanvasGallerySceneLandscapeMetadata,
|
|
5
|
+
DefaultHtmlInCanvasGallerySceneHorizontalMetadata,
|
|
6
|
+
galleryHtml,
|
|
7
|
+
} from './default-gallery-html-in-canvas-scene'
|
|
8
|
+
|
package/src/core/scene/html-in-canvas/media-wall/grid/default-grid-html-in-canvas-scene.stories.tsx
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DefaultHtmlInCanvasGridSceneLandscape, gridHtml } from './default-grid-html-in-canvas-scene'
|
|
2
|
+
|
|
3
|
+
const meta = {
|
|
4
|
+
title: 'core/scene/html-in-canvas/media-wall/grid/DefaultHtmlInCanvasGridSceneLandscape',
|
|
5
|
+
component: DefaultHtmlInCanvasGridSceneLandscape,
|
|
6
|
+
args: {
|
|
7
|
+
html: gridHtml,
|
|
8
|
+
},
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default meta
|
|
12
|
+
|
|
13
|
+
export const Default = {
|
|
14
|
+
parameters: {
|
|
15
|
+
scenePreviewAspectRatio: '16:9',
|
|
16
|
+
},
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const Animated = {
|
|
20
|
+
parameters: {
|
|
21
|
+
scenePreviewAspectRatio: '16:9',
|
|
22
|
+
scenePreviewMode: 'animation',
|
|
23
|
+
},
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const Both = {
|
|
27
|
+
parameters: {
|
|
28
|
+
scenePreviewAspectRatio: '16:9',
|
|
29
|
+
scenePreviewMode: 'both',
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const Vertical = {
|
|
34
|
+
parameters: {
|
|
35
|
+
scenePreviewAspectRatio: '9:16',
|
|
36
|
+
},
|
|
37
|
+
}
|
|
38
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createHtmlInCanvasScene } from '../../shared/default-html-in-canvas-scene'
|
|
2
|
+
|
|
3
|
+
const gridLandscape = createHtmlInCanvasScene({
|
|
4
|
+
name: 'DefaultHtmlInCanvasGridSceneLandscape',
|
|
5
|
+
description: 'Grid-style HtmlInCanvas scene for 16:9 landscape previews',
|
|
6
|
+
sourceFile: 'src/core/scene/html-in-canvas/media-wall/grid/default-grid-html-in-canvas-scene.tsx',
|
|
7
|
+
pluginKey: 'core.html-in-canvas.media-wall.grid',
|
|
8
|
+
aspectRatio: '16:9',
|
|
9
|
+
template: 'browser',
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
const gridHorizontal = createHtmlInCanvasScene({
|
|
13
|
+
name: 'DefaultHtmlInCanvasGridSceneHorizontal',
|
|
14
|
+
description: 'Grid-style HtmlInCanvas scene for 9:16 vertical previews',
|
|
15
|
+
sourceFile: 'src/core/scene/html-in-canvas/media-wall/grid/default-grid-html-in-canvas-scene.tsx',
|
|
16
|
+
pluginKey: 'core.html-in-canvas.media-wall.grid',
|
|
17
|
+
aspectRatio: '9:16',
|
|
18
|
+
template: 'browser',
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
export const DefaultHtmlInCanvasGridSceneLandscape = gridLandscape.Scene
|
|
22
|
+
export const DefaultHtmlInCanvasGridSceneHorizontal = gridHorizontal.Scene
|
|
23
|
+
export const DefaultHtmlInCanvasGridSceneLandscapeMetadata = gridLandscape.componentMetadata
|
|
24
|
+
export const DefaultHtmlInCanvasGridSceneHorizontalMetadata = gridHorizontal.componentMetadata
|
|
25
|
+
|
|
26
|
+
export const gridHtml = String.raw`
|
|
27
|
+
<section style="width:100%;height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:0;background:#020617;color:#f8fafc;overflow:hidden;">
|
|
28
|
+
<div style="background:#0f172a;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Grid 1</div>
|
|
29
|
+
<div style="background:#111827;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Grid 2</div>
|
|
30
|
+
<div style="background:#1d4ed8;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Grid 3</div>
|
|
31
|
+
<div style="background:#1e293b;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Grid 4</div>
|
|
32
|
+
<div style="background:#0f172a;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Grid 5</div>
|
|
33
|
+
<div style="background:#2563eb;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;">Grid 6</div>
|
|
34
|
+
</section>
|
|
35
|
+
`
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export {
|
|
2
|
+
DefaultHtmlInCanvasMediaWallSceneLandscape,
|
|
3
|
+
DefaultHtmlInCanvasMediaWallSceneHorizontal,
|
|
4
|
+
DefaultHtmlInCanvasMediaWallSceneLandscapeMetadata,
|
|
5
|
+
DefaultHtmlInCanvasMediaWallSceneHorizontalMetadata,
|
|
6
|
+
mediaWallHtml,
|
|
7
|
+
} from './default-media-wall-html-in-canvas-scene'
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
DefaultHtmlInCanvasGallerySceneLandscape,
|
|
11
|
+
DefaultHtmlInCanvasGallerySceneHorizontal,
|
|
12
|
+
DefaultHtmlInCanvasGallerySceneLandscapeMetadata,
|
|
13
|
+
DefaultHtmlInCanvasGallerySceneHorizontalMetadata,
|
|
14
|
+
galleryHtml,
|
|
15
|
+
} from './gallery'
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
DefaultHtmlInCanvasGridSceneLandscape,
|
|
19
|
+
DefaultHtmlInCanvasGridSceneHorizontal,
|
|
20
|
+
DefaultHtmlInCanvasGridSceneLandscapeMetadata,
|
|
21
|
+
DefaultHtmlInCanvasGridSceneHorizontalMetadata,
|
|
22
|
+
gridHtml,
|
|
23
|
+
} from './grid'
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
DefaultHtmlInCanvasCollageSceneLandscape,
|
|
27
|
+
DefaultHtmlInCanvasCollageSceneHorizontal,
|
|
28
|
+
DefaultHtmlInCanvasCollageSceneLandscapeMetadata,
|
|
29
|
+
DefaultHtmlInCanvasCollageSceneHorizontalMetadata,
|
|
30
|
+
collageHtml,
|
|
31
|
+
} from './collage'
|