@vibecuting/video-project-core 0.1.29 → 0.1.31
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 +9 -5
- 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 +169 -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} +4 -4
- 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/lint/index.ts +2 -0
- package/src/lint/scene-convention-lint.test.ts +86 -0
- package/src/lint/scene-convention-lint.ts +247 -0
- package/src/storybook/index.ts +19 -0
- package/src/storybook/remotion-preview.test.tsx +53 -0
- package/src/storybook/remotion-preview.tsx +85 -11
- 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'
|