@appinternalleads/ui 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -0
- package/dist/cjs/agent/AgentComponent.js +1 -1
- package/dist/cjs/agent/AgentComponent.js.map +1 -1
- package/dist/cjs/agent/manifests.js +81 -1
- package/dist/cjs/agent/manifests.js.map +1 -1
- package/dist/cjs/agent/result.js +6 -0
- package/dist/cjs/agent/result.js.map +1 -1
- package/dist/cjs/components/catalog.js +18 -0
- package/dist/cjs/components/catalog.js.map +1 -1
- package/dist/cjs/components/onboarding/animated-status/AnimatedStage.js +21 -0
- package/dist/cjs/components/onboarding/animated-status/AnimatedStage.js.map +1 -0
- package/dist/cjs/components/onboarding/animated-status/AnimatedStage.types.js +6 -0
- package/dist/cjs/components/onboarding/animated-status/AnimatedStage.types.js.map +1 -0
- package/dist/cjs/components/onboarding/animated-status/AnimatedStage.web.js +89 -0
- package/dist/cjs/components/onboarding/animated-status/AnimatedStage.web.js.map +1 -0
- package/dist/cjs/components/onboarding/animated-status/AnimatedStatusView.js +62 -0
- package/dist/cjs/components/onboarding/animated-status/AnimatedStatusView.js.map +1 -0
- package/dist/cjs/components/onboarding/animated-status/AnimatedStill.js +20 -0
- package/dist/cjs/components/onboarding/animated-status/AnimatedStill.js.map +1 -0
- package/dist/cjs/components/onboarding/animated-status/contract.js +87 -0
- package/dist/cjs/components/onboarding/animated-status/contract.js.map +1 -0
- package/dist/cjs/components/onboarding/animated-status/engine.js +40 -0
- package/dist/cjs/components/onboarding/animated-status/engine.js.map +1 -0
- package/dist/cjs/components/onboarding/animated-status/index.js +20 -0
- package/dist/cjs/components/onboarding/animated-status/index.js.map +1 -0
- package/dist/cjs/components/onboarding/animated-status/presets.json +126 -0
- package/dist/cjs/components/onboarding/animated-status/riv.js +7 -0
- package/dist/cjs/components/onboarding/animated-status/riv.js.map +1 -0
- package/dist/cjs/components/onboarding/index.js +4 -0
- package/dist/cjs/components/onboarding/index.js.map +1 -1
- package/dist/cjs/components/onboarding/presets.js +90 -84
- package/dist/cjs/components/onboarding/presets.js.map +1 -1
- package/dist/cjs/components/onboarding/receipt-printer/ReceiptStage.js +43 -6
- package/dist/cjs/components/onboarding/receipt-printer/ReceiptStage.js.map +1 -1
- package/dist/cjs/components/onboarding/send-completion/SendCompletionView.js +111 -0
- package/dist/cjs/components/onboarding/send-completion/SendCompletionView.js.map +1 -0
- package/dist/cjs/components/onboarding/send-completion/SendStage.js +37 -0
- package/dist/cjs/components/onboarding/send-completion/SendStage.js.map +1 -0
- package/dist/cjs/components/onboarding/send-completion/SendStage.types.js +6 -0
- package/dist/cjs/components/onboarding/send-completion/SendStage.types.js.map +1 -0
- package/dist/cjs/components/onboarding/send-completion/SendStage.web.js +107 -0
- package/dist/cjs/components/onboarding/send-completion/SendStage.web.js.map +1 -0
- package/dist/cjs/components/onboarding/send-completion/SendStill.js +17 -0
- package/dist/cjs/components/onboarding/send-completion/SendStill.js.map +1 -0
- package/dist/cjs/components/onboarding/send-completion/contract.js +83 -0
- package/dist/cjs/components/onboarding/send-completion/contract.js.map +1 -0
- package/dist/cjs/components/onboarding/send-completion/engine.js +32 -0
- package/dist/cjs/components/onboarding/send-completion/engine.js.map +1 -0
- package/dist/cjs/components/onboarding/send-completion/index.js +22 -0
- package/dist/cjs/components/onboarding/send-completion/index.js.map +1 -0
- package/dist/cjs/components/onboarding/send-completion/presets.json +132 -0
- package/dist/cjs/components/onboarding/send-completion/riv.js +7 -0
- package/dist/cjs/components/onboarding/send-completion/riv.js.map +1 -0
- package/dist/cjs/components/onboarding/shared/actions-data.js +2 -0
- package/dist/cjs/components/onboarding/shared/actions-data.js.map +1 -1
- package/dist/cjs/components/onboarding/shared/configColor.js +76 -0
- package/dist/cjs/components/onboarding/shared/configColor.js.map +1 -0
- package/dist/cjs/components/onboarding/shared/contract.js +4 -0
- package/dist/cjs/components/onboarding/shared/contract.js.map +1 -1
- package/dist/cjs/components/onboarding/shared/describe.js +1 -1
- package/dist/cjs/components/onboarding/shared/describe.js.map +1 -1
- package/dist/cjs/components/onboarding/shared/mock.js +2 -0
- package/dist/cjs/components/onboarding/shared/mock.js.map +1 -1
- package/dist/cjs/components/onboarding/views.js +8 -0
- package/dist/cjs/components/onboarding/views.js.map +1 -1
- package/dist/cjs/motion/MotionPlayer.js +42 -0
- package/dist/cjs/motion/MotionPlayer.js.map +1 -0
- package/dist/cjs/motion/agent.js +323 -0
- package/dist/cjs/motion/agent.js.map +1 -0
- package/dist/cjs/motion/cat/Cat.js +79 -0
- package/dist/cjs/motion/cat/Cat.js.map +1 -0
- package/dist/cjs/motion/cat/animation.js +204 -0
- package/dist/cjs/motion/cat/animation.js.map +1 -0
- package/dist/cjs/motion/cat/art.generated.js +37 -0
- package/dist/cjs/motion/cat/art.generated.js.map +1 -0
- package/dist/cjs/motion/cat/config.js +136 -0
- package/dist/cjs/motion/cat/config.js.map +1 -0
- package/dist/cjs/motion/cat/index.js +75 -0
- package/dist/cjs/motion/cat/index.js.map +1 -0
- package/dist/cjs/motion/cat/rig.js +99 -0
- package/dist/cjs/motion/cat/rig.js.map +1 -0
- package/dist/cjs/motion/cat/scene.js +148 -0
- package/dist/cjs/motion/cat/scene.js.map +1 -0
- package/dist/cjs/motion/configurable/config.js +477 -0
- package/dist/cjs/motion/configurable/config.js.map +1 -0
- package/dist/cjs/motion/configurable/controls.js +44 -0
- package/dist/cjs/motion/configurable/controls.js.map +1 -0
- package/dist/cjs/motion/easing.js +62 -0
- package/dist/cjs/motion/easing.js.map +1 -0
- package/dist/cjs/motion/fit.js +12 -0
- package/dist/cjs/motion/fit.js.map +1 -0
- package/dist/cjs/motion/index.js +101 -0
- package/dist/cjs/motion/index.js.map +1 -0
- package/dist/cjs/motion/neon/GlowRenderer.js +18 -0
- package/dist/cjs/motion/neon/GlowRenderer.js.map +1 -0
- package/dist/cjs/motion/neon/NeonCanvas.js +97 -0
- package/dist/cjs/motion/neon/NeonCanvas.js.map +1 -0
- package/dist/cjs/motion/neon/NeonText.js +108 -0
- package/dist/cjs/motion/neon/NeonText.js.map +1 -0
- package/dist/cjs/motion/neon/NeonTextFrame.js +36 -0
- package/dist/cjs/motion/neon/NeonTextFrame.js.map +1 -0
- package/dist/cjs/motion/neon/artwork.js +102 -0
- package/dist/cjs/motion/neon/artwork.js.map +1 -0
- package/dist/cjs/motion/neon/audio.js +165 -0
- package/dist/cjs/motion/neon/audio.js.map +1 -0
- package/dist/cjs/motion/neon/config.js +334 -0
- package/dist/cjs/motion/neon/config.js.map +1 -0
- package/dist/cjs/motion/neon/flicker.js +196 -0
- package/dist/cjs/motion/neon/flicker.js.map +1 -0
- package/dist/cjs/motion/neon/fonts.js +52 -0
- package/dist/cjs/motion/neon/fonts.js.map +1 -0
- package/dist/cjs/motion/neon/frame.js +24 -0
- package/dist/cjs/motion/neon/frame.js.map +1 -0
- package/dist/cjs/motion/neon/glitch.js +114 -0
- package/dist/cjs/motion/neon/glitch.js.map +1 -0
- package/dist/cjs/motion/neon/index.js +119 -0
- package/dist/cjs/motion/neon/index.js.map +1 -0
- package/dist/cjs/motion/neon/layers.js +68 -0
- package/dist/cjs/motion/neon/layers.js.map +1 -0
- package/dist/cjs/motion/neon/material.js +56 -0
- package/dist/cjs/motion/neon/material.js.map +1 -0
- package/dist/cjs/motion/neon/random.js +43 -0
- package/dist/cjs/motion/neon/random.js.map +1 -0
- package/dist/cjs/motion/neon/scene.js +549 -0
- package/dist/cjs/motion/neon/scene.js.map +1 -0
- package/dist/cjs/motion/neon/synth.js +213 -0
- package/dist/cjs/motion/neon/synth.js.map +1 -0
- package/dist/cjs/motion/neon/typography.js +81 -0
- package/dist/cjs/motion/neon/typography.js.map +1 -0
- package/dist/cjs/motion/neon/wall.js +113 -0
- package/dist/cjs/motion/neon/wall.js.map +1 -0
- package/dist/cjs/motion/paperfold/PaperFold.js +40 -0
- package/dist/cjs/motion/paperfold/PaperFold.js.map +1 -0
- package/dist/cjs/motion/paperfold/PaperFoldFrame.js +290 -0
- package/dist/cjs/motion/paperfold/PaperFoldFrame.js.map +1 -0
- package/dist/cjs/motion/paperfold/PaperFoldPlayer.js +59 -0
- package/dist/cjs/motion/paperfold/PaperFoldPlayer.js.map +1 -0
- package/dist/cjs/motion/paperfold/art.js +388 -0
- package/dist/cjs/motion/paperfold/art.js.map +1 -0
- package/dist/cjs/motion/paperfold/config.js +103 -0
- package/dist/cjs/motion/paperfold/config.js.map +1 -0
- package/dist/cjs/motion/paperfold/controls.js +493 -0
- package/dist/cjs/motion/paperfold/controls.js.map +1 -0
- package/dist/cjs/motion/paperfold/engine.js +722 -0
- package/dist/cjs/motion/paperfold/engine.js.map +1 -0
- package/dist/cjs/motion/paperfold/fonts.js +25 -0
- package/dist/cjs/motion/paperfold/fonts.js.map +1 -0
- package/dist/cjs/motion/paperfold/index.js +113 -0
- package/dist/cjs/motion/paperfold/index.js.map +1 -0
- package/dist/cjs/motion/paperfold/manipulate.js +170 -0
- package/dist/cjs/motion/paperfold/manipulate.js.map +1 -0
- package/dist/cjs/motion/paperfold/presets.js +119 -0
- package/dist/cjs/motion/paperfold/presets.js.map +1 -0
- package/dist/cjs/motion/paperfold/template.js +40 -0
- package/dist/cjs/motion/paperfold/template.js.map +1 -0
- package/dist/cjs/motion/player.js +203 -0
- package/dist/cjs/motion/player.js.map +1 -0
- package/dist/cjs/motion/promo/PromoFrame.js +293 -0
- package/dist/cjs/motion/promo/PromoFrame.js.map +1 -0
- package/dist/cjs/motion/promo/PromoShowcasePlayer.js +59 -0
- package/dist/cjs/motion/promo/PromoShowcasePlayer.js.map +1 -0
- package/dist/cjs/motion/promo/config.js +565 -0
- package/dist/cjs/motion/promo/config.js.map +1 -0
- package/dist/cjs/motion/promo/controls.js +571 -0
- package/dist/cjs/motion/promo/controls.js.map +1 -0
- package/dist/cjs/motion/promo/easing.js +35 -0
- package/dist/cjs/motion/promo/easing.js.map +1 -0
- package/dist/cjs/motion/promo/engine.js +567 -0
- package/dist/cjs/motion/promo/engine.js.map +1 -0
- package/dist/cjs/motion/promo/fonts.js +20 -0
- package/dist/cjs/motion/promo/fonts.js.map +1 -0
- package/dist/cjs/motion/promo/icons.js +29 -0
- package/dist/cjs/motion/promo/icons.js.map +1 -0
- package/dist/cjs/motion/promo/index.js +73 -0
- package/dist/cjs/motion/promo/index.js.map +1 -0
- package/dist/cjs/motion/promo/presets.js +44 -0
- package/dist/cjs/motion/promo/presets.js.map +1 -0
- package/dist/cjs/motion/promo/template.js +38 -0
- package/dist/cjs/motion/promo/template.js.map +1 -0
- package/dist/cjs/motion/replication2/Replication2Player.js +93 -0
- package/dist/cjs/motion/replication2/Replication2Player.js.map +1 -0
- package/dist/cjs/motion/replication2/config.js +352 -0
- package/dist/cjs/motion/replication2/config.js.map +1 -0
- package/dist/cjs/motion/replication2/controls.js +286 -0
- package/dist/cjs/motion/replication2/controls.js.map +1 -0
- package/dist/cjs/motion/replication2/driver.js +68 -0
- package/dist/cjs/motion/replication2/driver.js.map +1 -0
- package/dist/cjs/motion/replication2/easing.js +97 -0
- package/dist/cjs/motion/replication2/easing.js.map +1 -0
- package/dist/cjs/motion/replication2/engine.js +481 -0
- package/dist/cjs/motion/replication2/engine.js.map +1 -0
- package/dist/cjs/motion/replication2/html.js +88 -0
- package/dist/cjs/motion/replication2/html.js.map +1 -0
- package/dist/cjs/motion/replication2/index.js +61 -0
- package/dist/cjs/motion/replication2/index.js.map +1 -0
- package/dist/cjs/motion/replication2/measure.js +30 -0
- package/dist/cjs/motion/replication2/measure.js.map +1 -0
- package/dist/cjs/motion/replication2/metrics.js +10 -0
- package/dist/cjs/motion/replication2/metrics.js.map +1 -0
- package/dist/cjs/motion/replication2/presets.js +67 -0
- package/dist/cjs/motion/replication2/presets.js.map +1 -0
- package/dist/cjs/motion/replication2/riv.js +7 -0
- package/dist/cjs/motion/replication2/riv.js.map +1 -0
- package/dist/cjs/motion/replication2/rive-contract.js +158 -0
- package/dist/cjs/motion/replication2/rive-contract.js.map +1 -0
- package/dist/cjs/motion/replication2/template.js +35 -0
- package/dist/cjs/motion/replication2/template.js.map +1 -0
- package/dist/cjs/motion/sample.js +149 -0
- package/dist/cjs/motion/sample.js.map +1 -0
- package/dist/cjs/motion/templates/hey-template.js +1552 -0
- package/dist/cjs/motion/templates/hey-template.js.map +1 -0
- package/dist/cjs/motion/templates/index.js +22 -0
- package/dist/cjs/motion/templates/index.js.map +1 -0
- package/dist/cjs/motion/templates/word-motion.js +1165 -0
- package/dist/cjs/motion/templates/word-motion.js.map +1 -0
- package/dist/cjs/motion/types.js +3 -0
- package/dist/cjs/motion/types.js.map +1 -0
- package/dist/cjs/motion/typesurface/TypeSurfaceCanvas.js +85 -0
- package/dist/cjs/motion/typesurface/TypeSurfaceCanvas.js.map +1 -0
- package/dist/cjs/motion/typesurface/art.js +861 -0
- package/dist/cjs/motion/typesurface/art.js.map +1 -0
- package/dist/cjs/motion/typesurface/config.js +289 -0
- package/dist/cjs/motion/typesurface/config.js.map +1 -0
- package/dist/cjs/motion/typesurface/construct.js +875 -0
- package/dist/cjs/motion/typesurface/construct.js.map +1 -0
- package/dist/cjs/motion/typesurface/engine.js +631 -0
- package/dist/cjs/motion/typesurface/engine.js.map +1 -0
- package/dist/cjs/motion/typesurface/fonts.js +45 -0
- package/dist/cjs/motion/typesurface/fonts.js.map +1 -0
- package/dist/cjs/motion/typesurface/index.js +80 -0
- package/dist/cjs/motion/typesurface/index.js.map +1 -0
- package/dist/cjs/motion/typesurface/layout.js +130 -0
- package/dist/cjs/motion/typesurface/layout.js.map +1 -0
- package/dist/cjs/motion/typesurface/ops.js +175 -0
- package/dist/cjs/motion/typesurface/ops.js.map +1 -0
- package/dist/cjs/motion/typesurface/presets.js +259 -0
- package/dist/cjs/motion/typesurface/presets.js.map +1 -0
- package/dist/cjs/motion/typesurface/renderer.js +738 -0
- package/dist/cjs/motion/typesurface/renderer.js.map +1 -0
- package/dist/cjs/motion/typesurface/shaders.js +322 -0
- package/dist/cjs/motion/typesurface/shaders.js.map +1 -0
- package/dist/cjs/motion/typesurface/surfaces.js +225 -0
- package/dist/cjs/motion/typesurface/surfaces.js.map +1 -0
- package/dist/cjs/motion/typesurface/text.js +34 -0
- package/dist/cjs/motion/typesurface/text.js.map +1 -0
- package/dist/cjs/motion/typesurface/timeline.js +64 -0
- package/dist/cjs/motion/typesurface/timeline.js.map +1 -0
- package/dist/cjs/motion/validate.js +89 -0
- package/dist/cjs/motion/validate.js.map +1 -0
- package/dist/cjs/native/RiveReceiptStage.js +9 -150
- package/dist/cjs/native/RiveReceiptStage.js.map +1 -1
- package/dist/cjs/native/riveReceiptStageFactory.js +162 -0
- package/dist/cjs/native/riveReceiptStageFactory.js.map +1 -0
- package/dist/cjs/tokens/stage.js +10 -0
- package/dist/cjs/tokens/stage.js.map +1 -0
- package/dist/esm/agent/AgentComponent.js +1 -1
- package/dist/esm/agent/AgentComponent.js.map +1 -1
- package/dist/esm/agent/manifests.d.ts.map +1 -1
- package/dist/esm/agent/manifests.js +81 -1
- package/dist/esm/agent/manifests.js.map +1 -1
- package/dist/esm/agent/result.d.ts.map +1 -1
- package/dist/esm/agent/result.js +6 -0
- package/dist/esm/agent/result.js.map +1 -1
- package/dist/esm/agent/types.d.ts +1 -1
- package/dist/esm/agent/types.d.ts.map +1 -1
- package/dist/esm/components/catalog.d.ts +1 -1
- package/dist/esm/components/catalog.d.ts.map +1 -1
- package/dist/esm/components/catalog.js +18 -0
- package/dist/esm/components/catalog.js.map +1 -1
- package/dist/esm/components/onboarding/animated-status/AnimatedStage.d.ts +9 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStage.d.ts.map +1 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStage.js +18 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStage.js.map +1 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStage.types.d.ts +31 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStage.types.d.ts.map +1 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStage.types.js +3 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStage.types.js.map +1 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStage.web.d.ts +4 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStage.web.d.ts.map +1 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStage.web.js +86 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStage.web.js.map +1 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStatusView.d.ts +32 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStatusView.d.ts.map +1 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStatusView.js +59 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStatusView.js.map +1 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStill.d.ts +8 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStill.d.ts.map +1 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStill.js +17 -0
- package/dist/esm/components/onboarding/animated-status/AnimatedStill.js.map +1 -0
- package/dist/esm/components/onboarding/animated-status/contract.d.ts +61 -0
- package/dist/esm/components/onboarding/animated-status/contract.d.ts.map +1 -0
- package/dist/esm/components/onboarding/animated-status/contract.js +78 -0
- package/dist/esm/components/onboarding/animated-status/contract.js.map +1 -0
- package/dist/esm/components/onboarding/animated-status/engine.d.ts +24 -0
- package/dist/esm/components/onboarding/animated-status/engine.d.ts.map +1 -0
- package/dist/esm/components/onboarding/animated-status/engine.js +32 -0
- package/dist/esm/components/onboarding/animated-status/engine.js.map +1 -0
- package/dist/esm/components/onboarding/animated-status/index.d.ts +5 -0
- package/dist/esm/components/onboarding/animated-status/index.d.ts.map +1 -0
- package/dist/esm/components/onboarding/animated-status/index.js +4 -0
- package/dist/esm/components/onboarding/animated-status/index.js.map +1 -0
- package/dist/esm/components/onboarding/animated-status/presets.json +126 -0
- package/dist/esm/components/onboarding/animated-status/riv.d.ts +3 -0
- package/dist/esm/components/onboarding/animated-status/riv.d.ts.map +1 -0
- package/dist/esm/components/onboarding/animated-status/riv.js +4 -0
- package/dist/esm/components/onboarding/animated-status/riv.js.map +1 -0
- package/dist/esm/components/onboarding/index.d.ts +2 -0
- package/dist/esm/components/onboarding/index.d.ts.map +1 -1
- package/dist/esm/components/onboarding/index.js +4 -0
- package/dist/esm/components/onboarding/index.js.map +1 -1
- package/dist/esm/components/onboarding/presets.d.ts.map +1 -1
- package/dist/esm/components/onboarding/presets.js +6 -0
- package/dist/esm/components/onboarding/presets.js.map +1 -1
- package/dist/esm/components/onboarding/receipt-printer/ReceiptStage.d.ts +4 -6
- package/dist/esm/components/onboarding/receipt-printer/ReceiptStage.d.ts.map +1 -1
- package/dist/esm/components/onboarding/receipt-printer/ReceiptStage.js +42 -6
- package/dist/esm/components/onboarding/receipt-printer/ReceiptStage.js.map +1 -1
- package/dist/esm/components/onboarding/send-completion/SendCompletionView.d.ts +47 -0
- package/dist/esm/components/onboarding/send-completion/SendCompletionView.d.ts.map +1 -0
- package/dist/esm/components/onboarding/send-completion/SendCompletionView.js +108 -0
- package/dist/esm/components/onboarding/send-completion/SendCompletionView.js.map +1 -0
- package/dist/esm/components/onboarding/send-completion/SendStage.d.ts +9 -0
- package/dist/esm/components/onboarding/send-completion/SendStage.d.ts.map +1 -0
- package/dist/esm/components/onboarding/send-completion/SendStage.js +34 -0
- package/dist/esm/components/onboarding/send-completion/SendStage.js.map +1 -0
- package/dist/esm/components/onboarding/send-completion/SendStage.types.d.ts +33 -0
- package/dist/esm/components/onboarding/send-completion/SendStage.types.d.ts.map +1 -0
- package/dist/esm/components/onboarding/send-completion/SendStage.types.js +3 -0
- package/dist/esm/components/onboarding/send-completion/SendStage.types.js.map +1 -0
- package/dist/esm/components/onboarding/send-completion/SendStage.web.d.ts +4 -0
- package/dist/esm/components/onboarding/send-completion/SendStage.web.d.ts.map +1 -0
- package/dist/esm/components/onboarding/send-completion/SendStage.web.js +104 -0
- package/dist/esm/components/onboarding/send-completion/SendStage.web.js.map +1 -0
- package/dist/esm/components/onboarding/send-completion/SendStill.d.ts +11 -0
- package/dist/esm/components/onboarding/send-completion/SendStill.d.ts.map +1 -0
- package/dist/esm/components/onboarding/send-completion/SendStill.js +14 -0
- package/dist/esm/components/onboarding/send-completion/SendStill.js.map +1 -0
- package/dist/esm/components/onboarding/send-completion/contract.d.ts +99 -0
- package/dist/esm/components/onboarding/send-completion/contract.d.ts.map +1 -0
- package/dist/esm/components/onboarding/send-completion/contract.js +76 -0
- package/dist/esm/components/onboarding/send-completion/contract.js.map +1 -0
- package/dist/esm/components/onboarding/send-completion/engine.d.ts +20 -0
- package/dist/esm/components/onboarding/send-completion/engine.d.ts.map +1 -0
- package/dist/esm/components/onboarding/send-completion/engine.js +28 -0
- package/dist/esm/components/onboarding/send-completion/engine.js.map +1 -0
- package/dist/esm/components/onboarding/send-completion/index.d.ts +6 -0
- package/dist/esm/components/onboarding/send-completion/index.d.ts.map +1 -0
- package/dist/esm/components/onboarding/send-completion/index.js +6 -0
- package/dist/esm/components/onboarding/send-completion/index.js.map +1 -0
- package/dist/esm/components/onboarding/send-completion/presets.json +132 -0
- package/dist/esm/components/onboarding/send-completion/riv.d.ts +3 -0
- package/dist/esm/components/onboarding/send-completion/riv.d.ts.map +1 -0
- package/dist/esm/components/onboarding/send-completion/riv.js +4 -0
- package/dist/esm/components/onboarding/send-completion/riv.js.map +1 -0
- package/dist/esm/components/onboarding/shared/actions-data.d.ts.map +1 -1
- package/dist/esm/components/onboarding/shared/actions-data.js +2 -0
- package/dist/esm/components/onboarding/shared/actions-data.js.map +1 -1
- package/dist/esm/components/onboarding/shared/configColor.d.ts +29 -0
- package/dist/esm/components/onboarding/shared/configColor.d.ts.map +1 -0
- package/dist/esm/components/onboarding/shared/configColor.js +69 -0
- package/dist/esm/components/onboarding/shared/configColor.js.map +1 -0
- package/dist/esm/components/onboarding/shared/contract.d.ts +1 -1
- package/dist/esm/components/onboarding/shared/contract.d.ts.map +1 -1
- package/dist/esm/components/onboarding/shared/contract.js +4 -0
- package/dist/esm/components/onboarding/shared/contract.js.map +1 -1
- package/dist/esm/components/onboarding/shared/describe.d.ts.map +1 -1
- package/dist/esm/components/onboarding/shared/describe.js +1 -1
- package/dist/esm/components/onboarding/shared/describe.js.map +1 -1
- package/dist/esm/components/onboarding/shared/mock.d.ts +2 -0
- package/dist/esm/components/onboarding/shared/mock.d.ts.map +1 -1
- package/dist/esm/components/onboarding/shared/mock.js +2 -0
- package/dist/esm/components/onboarding/shared/mock.js.map +1 -1
- package/dist/esm/components/onboarding/views.d.ts.map +1 -1
- package/dist/esm/components/onboarding/views.js +8 -0
- package/dist/esm/components/onboarding/views.js.map +1 -1
- package/dist/esm/motion/MotionPlayer.d.ts +22 -0
- package/dist/esm/motion/MotionPlayer.d.ts.map +1 -0
- package/dist/esm/motion/MotionPlayer.js +39 -0
- package/dist/esm/motion/MotionPlayer.js.map +1 -0
- package/dist/esm/motion/agent.d.ts +146 -0
- package/dist/esm/motion/agent.d.ts.map +1 -0
- package/dist/esm/motion/agent.js +278 -0
- package/dist/esm/motion/agent.js.map +1 -0
- package/dist/esm/motion/cat/Cat.d.ts +43 -0
- package/dist/esm/motion/cat/Cat.d.ts.map +1 -0
- package/dist/esm/motion/cat/Cat.js +74 -0
- package/dist/esm/motion/cat/Cat.js.map +1 -0
- package/dist/esm/motion/cat/animation.d.ts +86 -0
- package/dist/esm/motion/cat/animation.d.ts.map +1 -0
- package/dist/esm/motion/cat/animation.js +193 -0
- package/dist/esm/motion/cat/animation.js.map +1 -0
- package/dist/esm/motion/cat/art.generated.d.ts +53 -0
- package/dist/esm/motion/cat/art.generated.d.ts.map +1 -0
- package/dist/esm/motion/cat/art.generated.js +34 -0
- package/dist/esm/motion/cat/art.generated.js.map +1 -0
- package/dist/esm/motion/cat/config.d.ts +103 -0
- package/dist/esm/motion/cat/config.d.ts.map +1 -0
- package/dist/esm/motion/cat/config.js +129 -0
- package/dist/esm/motion/cat/config.js.map +1 -0
- package/dist/esm/motion/cat/index.d.ts +13 -0
- package/dist/esm/motion/cat/index.d.ts.map +1 -0
- package/dist/esm/motion/cat/index.js +13 -0
- package/dist/esm/motion/cat/index.js.map +1 -0
- package/dist/esm/motion/cat/rig.d.ts +44 -0
- package/dist/esm/motion/cat/rig.d.ts.map +1 -0
- package/dist/esm/motion/cat/rig.js +86 -0
- package/dist/esm/motion/cat/rig.js.map +1 -0
- package/dist/esm/motion/cat/scene.d.ts +66 -0
- package/dist/esm/motion/cat/scene.d.ts.map +1 -0
- package/dist/esm/motion/cat/scene.js +137 -0
- package/dist/esm/motion/cat/scene.js.map +1 -0
- package/dist/esm/motion/configurable/config.d.ts +80 -0
- package/dist/esm/motion/configurable/config.d.ts.map +1 -0
- package/dist/esm/motion/configurable/config.js +468 -0
- package/dist/esm/motion/configurable/config.js.map +1 -0
- package/dist/esm/motion/configurable/controls.d.ts +74 -0
- package/dist/esm/motion/configurable/controls.d.ts.map +1 -0
- package/dist/esm/motion/configurable/controls.js +38 -0
- package/dist/esm/motion/configurable/controls.js.map +1 -0
- package/dist/esm/motion/easing.d.ts +4 -0
- package/dist/esm/motion/easing.d.ts.map +1 -0
- package/dist/esm/motion/easing.js +58 -0
- package/dist/esm/motion/easing.js.map +1 -0
- package/dist/esm/motion/fit.d.ts +8 -0
- package/dist/esm/motion/fit.d.ts.map +1 -0
- package/dist/esm/motion/fit.js +8 -0
- package/dist/esm/motion/fit.js.map +1 -0
- package/dist/esm/motion/index.d.ts +27 -0
- package/dist/esm/motion/index.d.ts.map +1 -0
- package/dist/esm/motion/index.js +21 -0
- package/dist/esm/motion/index.js.map +1 -0
- package/dist/esm/motion/neon/GlowRenderer.d.ts +31 -0
- package/dist/esm/motion/neon/GlowRenderer.d.ts.map +1 -0
- package/dist/esm/motion/neon/GlowRenderer.js +14 -0
- package/dist/esm/motion/neon/GlowRenderer.js.map +1 -0
- package/dist/esm/motion/neon/NeonCanvas.d.ts +42 -0
- package/dist/esm/motion/neon/NeonCanvas.d.ts.map +1 -0
- package/dist/esm/motion/neon/NeonCanvas.js +92 -0
- package/dist/esm/motion/neon/NeonCanvas.js.map +1 -0
- package/dist/esm/motion/neon/NeonText.d.ts +26 -0
- package/dist/esm/motion/neon/NeonText.d.ts.map +1 -0
- package/dist/esm/motion/neon/NeonText.js +103 -0
- package/dist/esm/motion/neon/NeonText.js.map +1 -0
- package/dist/esm/motion/neon/NeonTextFrame.d.ts +29 -0
- package/dist/esm/motion/neon/NeonTextFrame.d.ts.map +1 -0
- package/dist/esm/motion/neon/NeonTextFrame.js +33 -0
- package/dist/esm/motion/neon/NeonTextFrame.js.map +1 -0
- package/dist/esm/motion/neon/artwork.d.ts +29 -0
- package/dist/esm/motion/neon/artwork.d.ts.map +1 -0
- package/dist/esm/motion/neon/artwork.js +98 -0
- package/dist/esm/motion/neon/artwork.js.map +1 -0
- package/dist/esm/motion/neon/audio.d.ts +49 -0
- package/dist/esm/motion/neon/audio.d.ts.map +1 -0
- package/dist/esm/motion/neon/audio.js +161 -0
- package/dist/esm/motion/neon/audio.js.map +1 -0
- package/dist/esm/motion/neon/config.d.ts +319 -0
- package/dist/esm/motion/neon/config.d.ts.map +1 -0
- package/dist/esm/motion/neon/config.js +319 -0
- package/dist/esm/motion/neon/config.js.map +1 -0
- package/dist/esm/motion/neon/flicker.d.ts +82 -0
- package/dist/esm/motion/neon/flicker.d.ts.map +1 -0
- package/dist/esm/motion/neon/flicker.js +187 -0
- package/dist/esm/motion/neon/flicker.js.map +1 -0
- package/dist/esm/motion/neon/fonts.d.ts +29 -0
- package/dist/esm/motion/neon/fonts.d.ts.map +1 -0
- package/dist/esm/motion/neon/fonts.js +47 -0
- package/dist/esm/motion/neon/fonts.js.map +1 -0
- package/dist/esm/motion/neon/frame.d.ts +22 -0
- package/dist/esm/motion/neon/frame.d.ts.map +1 -0
- package/dist/esm/motion/neon/frame.js +20 -0
- package/dist/esm/motion/neon/frame.js.map +1 -0
- package/dist/esm/motion/neon/glitch.d.ts +64 -0
- package/dist/esm/motion/neon/glitch.d.ts.map +1 -0
- package/dist/esm/motion/neon/glitch.js +108 -0
- package/dist/esm/motion/neon/glitch.js.map +1 -0
- package/dist/esm/motion/neon/index.d.ts +29 -0
- package/dist/esm/motion/neon/index.d.ts.map +1 -0
- package/dist/esm/motion/neon/index.js +28 -0
- package/dist/esm/motion/neon/index.js.map +1 -0
- package/dist/esm/motion/neon/layers.d.ts +56 -0
- package/dist/esm/motion/neon/layers.d.ts.map +1 -0
- package/dist/esm/motion/neon/layers.js +64 -0
- package/dist/esm/motion/neon/layers.js.map +1 -0
- package/dist/esm/motion/neon/material.d.ts +68 -0
- package/dist/esm/motion/neon/material.d.ts.map +1 -0
- package/dist/esm/motion/neon/material.js +51 -0
- package/dist/esm/motion/neon/material.js.map +1 -0
- package/dist/esm/motion/neon/random.d.ts +15 -0
- package/dist/esm/motion/neon/random.d.ts.map +1 -0
- package/dist/esm/motion/neon/random.js +37 -0
- package/dist/esm/motion/neon/random.js.map +1 -0
- package/dist/esm/motion/neon/scene.d.ts +255 -0
- package/dist/esm/motion/neon/scene.d.ts.map +1 -0
- package/dist/esm/motion/neon/scene.js +532 -0
- package/dist/esm/motion/neon/scene.js.map +1 -0
- package/dist/esm/motion/neon/synth.d.ts +18 -0
- package/dist/esm/motion/neon/synth.d.ts.map +1 -0
- package/dist/esm/motion/neon/synth.js +208 -0
- package/dist/esm/motion/neon/synth.js.map +1 -0
- package/dist/esm/motion/neon/typography.d.ts +53 -0
- package/dist/esm/motion/neon/typography.d.ts.map +1 -0
- package/dist/esm/motion/neon/typography.js +74 -0
- package/dist/esm/motion/neon/typography.js.map +1 -0
- package/dist/esm/motion/neon/wall.d.ts +62 -0
- package/dist/esm/motion/neon/wall.d.ts.map +1 -0
- package/dist/esm/motion/neon/wall.js +106 -0
- package/dist/esm/motion/neon/wall.js.map +1 -0
- package/dist/esm/motion/paperfold/PaperFold.d.ts +36 -0
- package/dist/esm/motion/paperfold/PaperFold.d.ts.map +1 -0
- package/dist/esm/motion/paperfold/PaperFold.js +37 -0
- package/dist/esm/motion/paperfold/PaperFold.js.map +1 -0
- package/dist/esm/motion/paperfold/PaperFoldFrame.d.ts +39 -0
- package/dist/esm/motion/paperfold/PaperFoldFrame.d.ts.map +1 -0
- package/dist/esm/motion/paperfold/PaperFoldFrame.js +283 -0
- package/dist/esm/motion/paperfold/PaperFoldFrame.js.map +1 -0
- package/dist/esm/motion/paperfold/PaperFoldPlayer.d.ts +27 -0
- package/dist/esm/motion/paperfold/PaperFoldPlayer.d.ts.map +1 -0
- package/dist/esm/motion/paperfold/PaperFoldPlayer.js +56 -0
- package/dist/esm/motion/paperfold/PaperFoldPlayer.js.map +1 -0
- package/dist/esm/motion/paperfold/art.d.ts +148 -0
- package/dist/esm/motion/paperfold/art.d.ts.map +1 -0
- package/dist/esm/motion/paperfold/art.js +374 -0
- package/dist/esm/motion/paperfold/art.js.map +1 -0
- package/dist/esm/motion/paperfold/config.d.ts +47 -0
- package/dist/esm/motion/paperfold/config.d.ts.map +1 -0
- package/dist/esm/motion/paperfold/config.js +96 -0
- package/dist/esm/motion/paperfold/config.js.map +1 -0
- package/dist/esm/motion/paperfold/controls.d.ts +57 -0
- package/dist/esm/motion/paperfold/controls.d.ts.map +1 -0
- package/dist/esm/motion/paperfold/controls.js +506 -0
- package/dist/esm/motion/paperfold/controls.js.map +1 -0
- package/dist/esm/motion/paperfold/engine.d.ts +397 -0
- package/dist/esm/motion/paperfold/engine.d.ts.map +1 -0
- package/dist/esm/motion/paperfold/engine.js +699 -0
- package/dist/esm/motion/paperfold/engine.js.map +1 -0
- package/dist/esm/motion/paperfold/fonts.d.ts +3 -0
- package/dist/esm/motion/paperfold/fonts.d.ts.map +1 -0
- package/dist/esm/motion/paperfold/fonts.js +21 -0
- package/dist/esm/motion/paperfold/fonts.js.map +1 -0
- package/dist/esm/motion/paperfold/index.d.ts +17 -0
- package/dist/esm/motion/paperfold/index.d.ts.map +1 -0
- package/dist/esm/motion/paperfold/index.js +17 -0
- package/dist/esm/motion/paperfold/index.js.map +1 -0
- package/dist/esm/motion/paperfold/manipulate.d.ts +59 -0
- package/dist/esm/motion/paperfold/manipulate.d.ts.map +1 -0
- package/dist/esm/motion/paperfold/manipulate.js +161 -0
- package/dist/esm/motion/paperfold/manipulate.js.map +1 -0
- package/dist/esm/motion/paperfold/presets.d.ts +9 -0
- package/dist/esm/motion/paperfold/presets.d.ts.map +1 -0
- package/dist/esm/motion/paperfold/presets.js +115 -0
- package/dist/esm/motion/paperfold/presets.js.map +1 -0
- package/dist/esm/motion/paperfold/template.d.ts +3 -0
- package/dist/esm/motion/paperfold/template.d.ts.map +1 -0
- package/dist/esm/motion/paperfold/template.js +37 -0
- package/dist/esm/motion/paperfold/template.js.map +1 -0
- package/dist/esm/motion/player.d.ts +35 -0
- package/dist/esm/motion/player.d.ts.map +1 -0
- package/dist/esm/motion/player.js +197 -0
- package/dist/esm/motion/player.js.map +1 -0
- package/dist/esm/motion/promo/PromoFrame.d.ts +31 -0
- package/dist/esm/motion/promo/PromoFrame.d.ts.map +1 -0
- package/dist/esm/motion/promo/PromoFrame.js +288 -0
- package/dist/esm/motion/promo/PromoFrame.js.map +1 -0
- package/dist/esm/motion/promo/PromoShowcasePlayer.d.ts +25 -0
- package/dist/esm/motion/promo/PromoShowcasePlayer.d.ts.map +1 -0
- package/dist/esm/motion/promo/PromoShowcasePlayer.js +56 -0
- package/dist/esm/motion/promo/PromoShowcasePlayer.js.map +1 -0
- package/dist/esm/motion/promo/config.d.ts +91 -0
- package/dist/esm/motion/promo/config.d.ts.map +1 -0
- package/dist/esm/motion/promo/config.js +550 -0
- package/dist/esm/motion/promo/config.js.map +1 -0
- package/dist/esm/motion/promo/controls.d.ts +86 -0
- package/dist/esm/motion/promo/controls.d.ts.map +1 -0
- package/dist/esm/motion/promo/controls.js +567 -0
- package/dist/esm/motion/promo/controls.js.map +1 -0
- package/dist/esm/motion/promo/easing.d.ts +3 -0
- package/dist/esm/motion/promo/easing.d.ts.map +1 -0
- package/dist/esm/motion/promo/easing.js +32 -0
- package/dist/esm/motion/promo/easing.js.map +1 -0
- package/dist/esm/motion/promo/engine.d.ts +205 -0
- package/dist/esm/motion/promo/engine.d.ts.map +1 -0
- package/dist/esm/motion/promo/engine.js +551 -0
- package/dist/esm/motion/promo/engine.js.map +1 -0
- package/dist/esm/motion/promo/fonts.d.ts +7 -0
- package/dist/esm/motion/promo/fonts.d.ts.map +1 -0
- package/dist/esm/motion/promo/fonts.js +16 -0
- package/dist/esm/motion/promo/fonts.js.map +1 -0
- package/dist/esm/motion/promo/icons.d.ts +7 -0
- package/dist/esm/motion/promo/icons.d.ts.map +1 -0
- package/dist/esm/motion/promo/icons.js +26 -0
- package/dist/esm/motion/promo/icons.js.map +1 -0
- package/dist/esm/motion/promo/index.d.ts +15 -0
- package/dist/esm/motion/promo/index.d.ts.map +1 -0
- package/dist/esm/motion/promo/index.js +15 -0
- package/dist/esm/motion/promo/index.js.map +1 -0
- package/dist/esm/motion/promo/presets.d.ts +13 -0
- package/dist/esm/motion/promo/presets.d.ts.map +1 -0
- package/dist/esm/motion/promo/presets.js +40 -0
- package/dist/esm/motion/promo/presets.js.map +1 -0
- package/dist/esm/motion/promo/template.d.ts +8 -0
- package/dist/esm/motion/promo/template.d.ts.map +1 -0
- package/dist/esm/motion/promo/template.js +35 -0
- package/dist/esm/motion/promo/template.js.map +1 -0
- package/dist/esm/motion/replication2/Replication2Player.d.ts +26 -0
- package/dist/esm/motion/replication2/Replication2Player.d.ts.map +1 -0
- package/dist/esm/motion/replication2/Replication2Player.js +90 -0
- package/dist/esm/motion/replication2/Replication2Player.js.map +1 -0
- package/dist/esm/motion/replication2/config.d.ts +78 -0
- package/dist/esm/motion/replication2/config.d.ts.map +1 -0
- package/dist/esm/motion/replication2/config.js +341 -0
- package/dist/esm/motion/replication2/config.js.map +1 -0
- package/dist/esm/motion/replication2/controls.d.ts +70 -0
- package/dist/esm/motion/replication2/controls.d.ts.map +1 -0
- package/dist/esm/motion/replication2/controls.js +283 -0
- package/dist/esm/motion/replication2/controls.js.map +1 -0
- package/dist/esm/motion/replication2/driver.d.ts +23 -0
- package/dist/esm/motion/replication2/driver.d.ts.map +1 -0
- package/dist/esm/motion/replication2/driver.js +65 -0
- package/dist/esm/motion/replication2/driver.js.map +1 -0
- package/dist/esm/motion/replication2/easing.d.ts +19 -0
- package/dist/esm/motion/replication2/easing.d.ts.map +1 -0
- package/dist/esm/motion/replication2/easing.js +92 -0
- package/dist/esm/motion/replication2/easing.js.map +1 -0
- package/dist/esm/motion/replication2/engine.d.ts +236 -0
- package/dist/esm/motion/replication2/engine.d.ts.map +1 -0
- package/dist/esm/motion/replication2/engine.js +470 -0
- package/dist/esm/motion/replication2/engine.js.map +1 -0
- package/dist/esm/motion/replication2/html.d.ts +30 -0
- package/dist/esm/motion/replication2/html.d.ts.map +1 -0
- package/dist/esm/motion/replication2/html.js +83 -0
- package/dist/esm/motion/replication2/html.js.map +1 -0
- package/dist/esm/motion/replication2/index.d.ts +15 -0
- package/dist/esm/motion/replication2/index.d.ts.map +1 -0
- package/dist/esm/motion/replication2/index.js +15 -0
- package/dist/esm/motion/replication2/index.js.map +1 -0
- package/dist/esm/motion/replication2/measure.d.ts +3 -0
- package/dist/esm/motion/replication2/measure.d.ts.map +1 -0
- package/dist/esm/motion/replication2/measure.js +27 -0
- package/dist/esm/motion/replication2/measure.js.map +1 -0
- package/dist/esm/motion/replication2/metrics.d.ts +6 -0
- package/dist/esm/motion/replication2/metrics.d.ts.map +1 -0
- package/dist/esm/motion/replication2/metrics.js +7 -0
- package/dist/esm/motion/replication2/metrics.js.map +1 -0
- package/dist/esm/motion/replication2/presets.d.ts +13 -0
- package/dist/esm/motion/replication2/presets.d.ts.map +1 -0
- package/dist/esm/motion/replication2/presets.js +63 -0
- package/dist/esm/motion/replication2/presets.js.map +1 -0
- package/dist/esm/motion/replication2/riv.d.ts +3 -0
- package/dist/esm/motion/replication2/riv.d.ts.map +1 -0
- package/dist/esm/motion/replication2/riv.js +4 -0
- package/dist/esm/motion/replication2/riv.js.map +1 -0
- package/dist/esm/motion/replication2/rive-contract.d.ts +27 -0
- package/dist/esm/motion/replication2/rive-contract.d.ts.map +1 -0
- package/dist/esm/motion/replication2/rive-contract.js +153 -0
- package/dist/esm/motion/replication2/rive-contract.js.map +1 -0
- package/dist/esm/motion/replication2/template.d.ts +8 -0
- package/dist/esm/motion/replication2/template.d.ts.map +1 -0
- package/dist/esm/motion/replication2/template.js +32 -0
- package/dist/esm/motion/replication2/template.js.map +1 -0
- package/dist/esm/motion/sample.d.ts +61 -0
- package/dist/esm/motion/sample.d.ts.map +1 -0
- package/dist/esm/motion/sample.js +138 -0
- package/dist/esm/motion/sample.js.map +1 -0
- package/dist/esm/motion/templates/hey-template.d.ts +3 -0
- package/dist/esm/motion/templates/hey-template.d.ts.map +1 -0
- package/dist/esm/motion/templates/hey-template.js +1549 -0
- package/dist/esm/motion/templates/hey-template.js.map +1 -0
- package/dist/esm/motion/templates/index.d.ts +22 -0
- package/dist/esm/motion/templates/index.d.ts.map +1 -0
- package/dist/esm/motion/templates/index.js +15 -0
- package/dist/esm/motion/templates/index.js.map +1 -0
- package/dist/esm/motion/templates/word-motion.d.ts +3 -0
- package/dist/esm/motion/templates/word-motion.d.ts.map +1 -0
- package/dist/esm/motion/templates/word-motion.js +1162 -0
- package/dist/esm/motion/templates/word-motion.js.map +1 -0
- package/dist/esm/motion/types.d.ts +192 -0
- package/dist/esm/motion/types.d.ts.map +1 -0
- package/dist/esm/motion/types.js +2 -0
- package/dist/esm/motion/types.js.map +1 -0
- package/dist/esm/motion/typesurface/TypeSurfaceCanvas.d.ts +32 -0
- package/dist/esm/motion/typesurface/TypeSurfaceCanvas.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/TypeSurfaceCanvas.js +81 -0
- package/dist/esm/motion/typesurface/TypeSurfaceCanvas.js.map +1 -0
- package/dist/esm/motion/typesurface/art.d.ts +21 -0
- package/dist/esm/motion/typesurface/art.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/art.js +854 -0
- package/dist/esm/motion/typesurface/art.js.map +1 -0
- package/dist/esm/motion/typesurface/config.d.ts +284 -0
- package/dist/esm/motion/typesurface/config.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/config.js +280 -0
- package/dist/esm/motion/typesurface/config.js.map +1 -0
- package/dist/esm/motion/typesurface/construct.d.ts +284 -0
- package/dist/esm/motion/typesurface/construct.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/construct.js +866 -0
- package/dist/esm/motion/typesurface/construct.js.map +1 -0
- package/dist/esm/motion/typesurface/engine.d.ts +102 -0
- package/dist/esm/motion/typesurface/engine.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/engine.js +627 -0
- package/dist/esm/motion/typesurface/engine.js.map +1 -0
- package/dist/esm/motion/typesurface/fonts.d.ts +25 -0
- package/dist/esm/motion/typesurface/fonts.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/fonts.js +40 -0
- package/dist/esm/motion/typesurface/fonts.js.map +1 -0
- package/dist/esm/motion/typesurface/index.d.ts +21 -0
- package/dist/esm/motion/typesurface/index.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/index.js +21 -0
- package/dist/esm/motion/typesurface/index.js.map +1 -0
- package/dist/esm/motion/typesurface/layout.d.ts +57 -0
- package/dist/esm/motion/typesurface/layout.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/layout.js +122 -0
- package/dist/esm/motion/typesurface/layout.js.map +1 -0
- package/dist/esm/motion/typesurface/ops.d.ts +70 -0
- package/dist/esm/motion/typesurface/ops.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/ops.js +164 -0
- package/dist/esm/motion/typesurface/ops.js.map +1 -0
- package/dist/esm/motion/typesurface/presets.d.ts +51 -0
- package/dist/esm/motion/typesurface/presets.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/presets.js +250 -0
- package/dist/esm/motion/typesurface/presets.js.map +1 -0
- package/dist/esm/motion/typesurface/renderer.d.ts +88 -0
- package/dist/esm/motion/typesurface/renderer.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/renderer.js +732 -0
- package/dist/esm/motion/typesurface/renderer.js.map +1 -0
- package/dist/esm/motion/typesurface/shaders.d.ts +17 -0
- package/dist/esm/motion/typesurface/shaders.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/shaders.js +319 -0
- package/dist/esm/motion/typesurface/shaders.js.map +1 -0
- package/dist/esm/motion/typesurface/surfaces.d.ts +108 -0
- package/dist/esm/motion/typesurface/surfaces.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/surfaces.js +216 -0
- package/dist/esm/motion/typesurface/surfaces.js.map +1 -0
- package/dist/esm/motion/typesurface/text.d.ts +17 -0
- package/dist/esm/motion/typesurface/text.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/text.js +28 -0
- package/dist/esm/motion/typesurface/text.js.map +1 -0
- package/dist/esm/motion/typesurface/timeline.d.ts +15 -0
- package/dist/esm/motion/typesurface/timeline.d.ts.map +1 -0
- package/dist/esm/motion/typesurface/timeline.js +57 -0
- package/dist/esm/motion/typesurface/timeline.js.map +1 -0
- package/dist/esm/motion/validate.d.ts +22 -0
- package/dist/esm/motion/validate.d.ts.map +1 -0
- package/dist/esm/motion/validate.js +84 -0
- package/dist/esm/motion/validate.js.map +1 -0
- package/dist/esm/native/RiveReceiptStage.d.ts +25 -2
- package/dist/esm/native/RiveReceiptStage.d.ts.map +1 -1
- package/dist/esm/native/RiveReceiptStage.js +7 -148
- package/dist/esm/native/RiveReceiptStage.js.map +1 -1
- package/dist/esm/native/riveReceiptStageFactory.d.ts +26 -0
- package/dist/esm/native/riveReceiptStageFactory.d.ts.map +1 -0
- package/dist/esm/native/riveReceiptStageFactory.js +159 -0
- package/dist/esm/native/riveReceiptStageFactory.js.map +1 -0
- package/dist/esm/tokens/stage.d.ts +7 -0
- package/dist/esm/tokens/stage.d.ts.map +1 -0
- package/dist/esm/tokens/stage.js +7 -0
- package/dist/esm/tokens/stage.js.map +1 -0
- package/docs/TYPE-SURFACE.md +183 -0
- package/package.json +38 -2
- package/spec/examples/components/onboarding/animated-status/case1.json +42 -0
- package/spec/examples/components/onboarding/animated-status/case2.json +42 -0
- package/spec/examples/components/onboarding/animated-status/case3.json +42 -0
- package/spec/examples/components/onboarding/animated-status/case4.json +42 -0
- package/spec/examples/components/onboarding/animated-status/case5.json +42 -0
- package/spec/examples/components/onboarding/send-completion/case1.json +48 -0
- package/spec/examples/components/onboarding/send-completion/case2.json +48 -0
- package/spec/examples/components/onboarding/send-completion/case3.json +48 -0
- package/spec/examples/components/onboarding/send-completion/case4.json +48 -0
- package/spec/examples/components/onboarding/send-completion/case5.json +48 -0
- package/spec/families/onboarding.schema.json +610 -1
- package/src/agent/AgentComponent.tsx +1 -1
- package/src/agent/manifests.ts +83 -1
- package/src/agent/result.ts +6 -0
- package/src/agent/types.ts +1 -1
- package/src/components/catalog.ts +21 -1
- package/src/components/onboarding/animated-status/AnimatedStage.tsx +18 -0
- package/src/components/onboarding/animated-status/AnimatedStage.types.ts +30 -0
- package/src/components/onboarding/animated-status/AnimatedStage.web.tsx +99 -0
- package/src/components/onboarding/animated-status/AnimatedStatusView.tsx +109 -0
- package/src/components/onboarding/animated-status/AnimatedStill.tsx +23 -0
- package/src/components/onboarding/animated-status/contract.ts +105 -0
- package/src/components/onboarding/animated-status/engine.ts +49 -0
- package/src/components/onboarding/animated-status/index.ts +8 -0
- package/src/components/onboarding/animated-status/presets.json +126 -0
- package/src/components/onboarding/animated-status/riv.ts +4 -0
- package/src/components/onboarding/index.ts +4 -0
- package/src/components/onboarding/presets.ts +6 -0
- package/src/components/onboarding/receipt-printer/ReceiptStage.tsx +46 -7
- package/src/components/onboarding/send-completion/SendCompletionView.tsx +164 -0
- package/src/components/onboarding/send-completion/SendStage.tsx +27 -0
- package/src/components/onboarding/send-completion/SendStage.types.ts +32 -0
- package/src/components/onboarding/send-completion/SendStage.web.tsx +116 -0
- package/src/components/onboarding/send-completion/SendStill.tsx +19 -0
- package/src/components/onboarding/send-completion/contract.ts +127 -0
- package/src/components/onboarding/send-completion/engine.ts +37 -0
- package/src/components/onboarding/send-completion/index.ts +10 -0
- package/src/components/onboarding/send-completion/presets.json +132 -0
- package/src/components/onboarding/send-completion/riv.ts +4 -0
- package/src/components/onboarding/shared/actions-data.ts +2 -0
- package/src/components/onboarding/shared/configColor.ts +72 -0
- package/src/components/onboarding/shared/contract.ts +4 -0
- package/src/components/onboarding/shared/describe.ts +1 -1
- package/src/components/onboarding/shared/mock.ts +2 -0
- package/src/components/onboarding/views.ts +8 -0
- package/src/motion/MotionPlayer.tsx +62 -0
- package/src/motion/agent.ts +288 -0
- package/src/motion/cat/Cat.tsx +118 -0
- package/src/motion/cat/animation.ts +206 -0
- package/src/motion/cat/art.generated.ts +44 -0
- package/src/motion/cat/config.ts +186 -0
- package/src/motion/cat/index.ts +26 -0
- package/src/motion/cat/rig.ts +102 -0
- package/src/motion/cat/scene.ts +181 -0
- package/src/motion/configurable/config.ts +420 -0
- package/src/motion/configurable/controls.ts +93 -0
- package/src/motion/easing.ts +55 -0
- package/src/motion/fit.ts +8 -0
- package/src/motion/index.ts +29 -0
- package/src/motion/neon/GlowRenderer.tsx +83 -0
- package/src/motion/neon/NeonCanvas.tsx +175 -0
- package/src/motion/neon/NeonText.tsx +113 -0
- package/src/motion/neon/NeonTextFrame.tsx +67 -0
- package/src/motion/neon/artwork.ts +95 -0
- package/src/motion/neon/audio.ts +162 -0
- package/src/motion/neon/config.ts +484 -0
- package/src/motion/neon/flicker.ts +225 -0
- package/src/motion/neon/fonts.ts +76 -0
- package/src/motion/neon/frame.ts +34 -0
- package/src/motion/neon/glitch.ts +142 -0
- package/src/motion/neon/index.ts +41 -0
- package/src/motion/neon/layers.tsx +209 -0
- package/src/motion/neon/material.ts +88 -0
- package/src/motion/neon/random.ts +40 -0
- package/src/motion/neon/scene.ts +610 -0
- package/src/motion/neon/synth.ts +188 -0
- package/src/motion/neon/typography.ts +102 -0
- package/src/motion/neon/wall.ts +157 -0
- package/src/motion/paperfold/PaperFold.tsx +45 -0
- package/src/motion/paperfold/PaperFoldFrame.tsx +576 -0
- package/src/motion/paperfold/PaperFoldPlayer.tsx +80 -0
- package/src/motion/paperfold/art.ts +455 -0
- package/src/motion/paperfold/config.ts +98 -0
- package/src/motion/paperfold/controls.ts +557 -0
- package/src/motion/paperfold/engine.ts +852 -0
- package/src/motion/paperfold/fonts.ts +21 -0
- package/src/motion/paperfold/index.ts +30 -0
- package/src/motion/paperfold/manipulate.ts +188 -0
- package/src/motion/paperfold/presets.ts +117 -0
- package/src/motion/paperfold/template.ts +38 -0
- package/src/motion/player.ts +207 -0
- package/src/motion/promo/PromoFrame.tsx +501 -0
- package/src/motion/promo/PromoShowcasePlayer.tsx +78 -0
- package/src/motion/promo/config.ts +479 -0
- package/src/motion/promo/controls.ts +643 -0
- package/src/motion/promo/easing.ts +36 -0
- package/src/motion/promo/engine.ts +587 -0
- package/src/motion/promo/fonts.ts +16 -0
- package/src/motion/promo/icons.tsx +29 -0
- package/src/motion/promo/index.ts +24 -0
- package/src/motion/promo/presets.ts +40 -0
- package/src/motion/promo/template.ts +36 -0
- package/src/motion/replication2/Replication2Player.tsx +115 -0
- package/src/motion/replication2/config.ts +323 -0
- package/src/motion/replication2/controls.ts +336 -0
- package/src/motion/replication2/driver.ts +92 -0
- package/src/motion/replication2/easing.ts +88 -0
- package/src/motion/replication2/engine.ts +539 -0
- package/src/motion/replication2/html.ts +87 -0
- package/src/motion/replication2/index.ts +14 -0
- package/src/motion/replication2/measure.ts +28 -0
- package/src/motion/replication2/metrics.ts +7 -0
- package/src/motion/replication2/presets.ts +63 -0
- package/src/motion/replication2/riv.ts +4 -0
- package/src/motion/replication2/rive-contract.ts +165 -0
- package/src/motion/replication2/template.ts +33 -0
- package/src/motion/sample.ts +173 -0
- package/src/motion/templates/hey-template.ts +1553 -0
- package/src/motion/templates/index.ts +17 -0
- package/src/motion/templates/word-motion.ts +1166 -0
- package/src/motion/types.ts +162 -0
- package/src/motion/typesurface/TypeSurfaceCanvas.tsx +101 -0
- package/src/motion/typesurface/art.ts +639 -0
- package/src/motion/typesurface/config.ts +512 -0
- package/src/motion/typesurface/construct.ts +828 -0
- package/src/motion/typesurface/engine.ts +612 -0
- package/src/motion/typesurface/fonts.ts +63 -0
- package/src/motion/typesurface/index.ts +20 -0
- package/src/motion/typesurface/layout.ts +133 -0
- package/src/motion/typesurface/ops.ts +196 -0
- package/src/motion/typesurface/presets.ts +271 -0
- package/src/motion/typesurface/renderer.ts +639 -0
- package/src/motion/typesurface/shaders.ts +325 -0
- package/src/motion/typesurface/surfaces.ts +300 -0
- package/src/motion/typesurface/text.ts +35 -0
- package/src/motion/typesurface/timeline.ts +58 -0
- package/src/motion/validate.ts +101 -0
- package/src/native/RiveReceiptStage.tsx +8 -155
- package/src/native/riveReceiptStageFactory.tsx +175 -0
- package/src/tokens/stage.ts +6 -0
- package/tools/ask/dist/components.mjs +8010 -88
- package/tools/ask/dist/neon.js +69 -0
- package/tools/ask/mcp.mjs +166 -2
- package/tools/ask/neon-render.mjs +143 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { applyPatch } from './config';
|
|
5
|
+
import { timeline } from './engine';
|
|
6
|
+
import { PaperFoldFrame } from './PaperFoldFrame';
|
|
7
|
+
const HAND_PATHS = {
|
|
8
|
+
x: 'x', y: 'y', rotation: 'rotation', scale: 'scale', wrist: 'pose.wrist', grip: 'pose.grip', fingerCurl: 'pose.fingerCurl', thumbBend: 'pose.thumbBend',
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* **`<PaperFold progress handPose creaseStrength />`** — the paper-fold template as a component driven
|
|
12
|
+
* by values, not by a clock. Its props become a patch over `config` — the same validated patch an agent
|
|
13
|
+
* or the editor would send — and the package renderer draws the result, so a Remotion composition can
|
|
14
|
+
* pass `progress={frame / durationInFrames}` and every frame is decided by that number alone.
|
|
15
|
+
* A prop outside its control's range is refused: the config is drawn unchanged.
|
|
16
|
+
*/
|
|
17
|
+
export function PaperFold({ config, progress, handPose, creaseStrength, frame, ...rest }) {
|
|
18
|
+
const patched = useMemo(() => {
|
|
19
|
+
const patch = {};
|
|
20
|
+
if (progress !== undefined)
|
|
21
|
+
Object.assign(patch, { 'motion.progressMode': 'manual', 'motion.foldProgress': Math.min(1, Math.max(0, progress)) });
|
|
22
|
+
if (creaseStrength !== undefined)
|
|
23
|
+
Object.assign(patch, { 'paperMaterial.creaseShadow': creaseStrength, 'paperMaterial.creaseHighlight': creaseStrength });
|
|
24
|
+
for (const id of ['top', 'bottom']) {
|
|
25
|
+
for (const [k, v] of Object.entries(handPose?.[id] ?? {}))
|
|
26
|
+
if (v !== undefined)
|
|
27
|
+
patch[`hands.${id}.${HAND_PATHS[k]}`] = v;
|
|
28
|
+
}
|
|
29
|
+
if (!Object.keys(patch).length)
|
|
30
|
+
return config;
|
|
31
|
+
const r = applyPatch(config, { patch });
|
|
32
|
+
return r.valid ? r.config : config;
|
|
33
|
+
}, [config, progress, handPose, creaseStrength]);
|
|
34
|
+
const at = frame ?? (progress !== undefined ? timeline(patched).phases.intro.end : 0);
|
|
35
|
+
return _jsx(PaperFoldFrame, { config: patched, frame: at, ...rest });
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=PaperFold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaperFold.js","sourceRoot":"","sources":["../../../../src/motion/paperfold/PaperFold.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,UAAU,EAAwB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAC;AAgB5E,MAAM,UAAU,GAAwC;IACtD,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,gBAAgB;CACzJ,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,IAAI,EAAkB;IACtG,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QACjJ,IAAI,cAAc,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,4BAA4B,EAAE,cAAc,EAAE,+BAA+B,EAAE,cAAc,EAAE,CAAC,CAAC;QAC1J,KAAK,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAU,EAAE,CAAC;YAC5C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBAAE,IAAI,CAAC,KAAK,SAAS;oBAAE,KAAK,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,CAAwB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACnJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC;QAC9C,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACrC,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO,KAAC,cAAc,IAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAM,IAAI,GAAI,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ComponentType, CSSProperties } from 'react';
|
|
2
|
+
import { type PaperFoldConfig } from './config';
|
|
3
|
+
import { type HandState } from './engine';
|
|
4
|
+
import { type HandArt } from './art';
|
|
5
|
+
/**
|
|
6
|
+
* **The procedural renderer.** Draws one frame of paper-fold-promo from the engine's state with plain
|
|
7
|
+
* DOM and inline SVG. Each panel is its own box placed by the engine's `matrix3d` (true perspective
|
|
8
|
+
* about its crease), painted in the engine's explicit depth order; its copy is live text inside it.
|
|
9
|
+
* Hands are inline vector paths in two pieces (body behind the paper, gripping finger in front).
|
|
10
|
+
* No Remotion, no clock: the Remotion composition passes `useCurrentFrame()`, the web player a rAF
|
|
11
|
+
* clock, and both get the same pixels. Everything is laid out at the render size, so 4K is vector.
|
|
12
|
+
*
|
|
13
|
+
* `debug` (development only — never part of the config) overlays the creases, panel outlines and ids,
|
|
14
|
+
* fold pivots and angles, the hands' grip anchors, a normalized grid and the scene/frame.
|
|
15
|
+
*/
|
|
16
|
+
export type ImageProps = {
|
|
17
|
+
src: string;
|
|
18
|
+
style?: CSSProperties;
|
|
19
|
+
alt: string;
|
|
20
|
+
};
|
|
21
|
+
export type PaperFoldFrameProps = {
|
|
22
|
+
/** A validated, complete config (resolveConfig). */
|
|
23
|
+
config: PaperFoldConfig;
|
|
24
|
+
/** Authored motion frame (60 fps). */
|
|
25
|
+
frame: number;
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
/** Development overlay. Not part of the config, so it can never reach a production render through it. */
|
|
29
|
+
debug?: boolean;
|
|
30
|
+
resolveAsset?: (ref: string) => string;
|
|
31
|
+
ImageComponent?: ComponentType<ImageProps>;
|
|
32
|
+
};
|
|
33
|
+
export declare const FONT_STACK: (family: string) => string;
|
|
34
|
+
export declare function PaperFoldFrame({ config, frame, width, height, debug, resolveAsset, ImageComponent }: PaperFoldFrameProps): import("react").JSX.Element;
|
|
35
|
+
/** The hand's drawing, built from its skeleton with the current pose (the grip opening is animated). */
|
|
36
|
+
export declare function handArt(cfg: PaperFoldConfig, h: HandState): HandArt;
|
|
37
|
+
/** The SVG transform that places hand units on the canvas at the hand's grip anchor. */
|
|
38
|
+
export declare const handTransform: (h: HandState) => string;
|
|
39
|
+
//# sourceMappingURL=PaperFoldFrame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaperFoldFrame.d.ts","sourceRoot":"","sources":["../../../../src/motion/paperfold/PaperFoldFrame.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAa,MAAM,OAAO,CAAC;AACrE,OAAO,EAAW,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEzD,OAAO,EAA0D,KAAK,SAAS,EAAiC,MAAM,UAAU,CAAC;AACjI,OAAO,EAAmC,KAAK,OAAO,EAAgD,MAAM,OAAO,CAAC;AAEpH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,oDAAoD;IACpD,MAAM,EAAE,eAAe,CAAC;IACxB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,yGAAyG;IACzG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,cAAc,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CAC5C,CAAC;AAIF,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,WAA6E,CAAC;AAKvH,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAa,EAAE,YAA6B,EAAE,cAA6B,EAAE,EAAE,mBAAmB,+BA0BhK;AAsSD,wGAAwG;AACxG,wBAAgB,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAInE;AACD,wFAAwF;AACxF,eAAO,MAAM,aAAa,GAAI,GAAG,SAAS,WACiH,CAAC"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { getPath } from './config';
|
|
4
|
+
import { PANELS } from './controls';
|
|
5
|
+
import { frameState, mixHex, rgba } from './engine';
|
|
6
|
+
import { bottomHand, sleevePath, topHand } from './art';
|
|
7
|
+
const DefaultImage = ({ src, style, alt }) => _jsx("img", { src: src, style: style, alt: alt });
|
|
8
|
+
const defaultResolve = (ref) => (ref.startsWith('static:') ? `/${ref.slice(7)}` : ref);
|
|
9
|
+
export const FONT_STACK = (family) => `'${family}', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif`;
|
|
10
|
+
const full = { position: 'absolute', inset: 0 };
|
|
11
|
+
export function PaperFoldFrame({ config, frame, width, height, debug = false, resolveAsset = defaultResolve, ImageComponent = DefaultImage }) {
|
|
12
|
+
const st = frameState(config, frame, width, height);
|
|
13
|
+
const n = (p) => getPath(config, p);
|
|
14
|
+
const s = (p) => getPath(config, p);
|
|
15
|
+
const b = (p) => getPath(config, p);
|
|
16
|
+
const ctx = { st, n, s, b };
|
|
17
|
+
return (_jsxs("div", { "data-paper-fold-frame": Math.round(st.frame * 100) / 100, "data-phase": st.phase.label, style: { position: 'relative', width, height, overflow: 'hidden', background: s('background.baseColor'), fontFamily: FONT_STACK('Inter') }, children: [_jsx("div", { style: { ...full, transformOrigin: '0 0', transform: st.camera.backgroundTransform }, children: _jsx(Background, { ctx: ctx }) }), b('background.noise.enabled') && _jsx(Noise, { ctx: ctx }), _jsxs("div", { "data-layer": "scene", style: { ...full, transformOrigin: '0 0', transform: st.camera.transform }, children: [b('paper.shadow.enabled') && _jsx(SheetShadow, { ctx: ctx }), st.strips.map((p) => _jsx(StripView, { ctx: ctx, strip: p, last: st.strips.length - 1 }, p.index)), st.hands.filter((h) => h.enabled).map((h) => _jsx(Hand, { ctx: ctx, h: h }, h.id))] }), b('logo.enabled') && _jsx(Logo, { ctx: ctx, img: (src, style, alt) => _jsx(ImageComponent, { src: resolveAsset(src), style: style, alt: alt }) }), b('cta.enabled') && s('content.cta.text') !== '' && _jsx(Cta, { ctx: ctx }), debug && _jsx(Debug, { ctx: ctx })] }));
|
|
18
|
+
}
|
|
19
|
+
/* ─── background ──────────────────────────────────────────────────────────────────────────────── */
|
|
20
|
+
function Background({ ctx }) {
|
|
21
|
+
const { st, n, s, b } = ctx;
|
|
22
|
+
const { width: W, height: H, unit: u } = st.size;
|
|
23
|
+
const stops = getPath(st.cfg, 'background.gradient.stops');
|
|
24
|
+
const list = stops.map((x) => `${x.color} ${Math.round(x.offset * 1000) / 10}%`).join(', ');
|
|
25
|
+
const gradient = s('background.gradient.type') === 'radial' ? `radial-gradient(circle at 50% 45%, ${list})` : `linear-gradient(${n('background.gradient.angle')}deg, ${list})`;
|
|
26
|
+
const bt = 'background.backgroundTypography';
|
|
27
|
+
const size = n(`${bt}.fontSize`) * u * st.size.backgroundType.scale;
|
|
28
|
+
const word = Array.from({ length: st.background.typeRepeat }, () => s(`${bt}.text`)).join(' ');
|
|
29
|
+
const glowR = n('background.glow.radius') * Math.min(W, H);
|
|
30
|
+
return (_jsxs(_Fragment, { children: [b('background.gradient.enabled') && _jsx("div", { style: { ...full, background: gradient } }), b(`${bt}.enabled`) && s(`${bt}.text`) !== '' && (_jsx("div", { "data-layer": "background-type", style: { ...full, transformOrigin: '50% 50%', transform: `rotate(${n(`${bt}.rotation`)}deg)`, opacity: n(`${bt}.opacity`) }, children: st.background.typeRows.map((r, i) => (_jsx("div", { style: {
|
|
31
|
+
position: 'absolute', left: r.x, top: r.y, whiteSpace: 'pre', lineHeight: 1, fontSize: size,
|
|
32
|
+
fontFamily: FONT_STACK(s(`${bt}.fontFamily`)), fontWeight: n(`${bt}.weight`), letterSpacing: `${n(`${bt}.tracking`)}em`, color: s(`${bt}.color`),
|
|
33
|
+
}, children: word }, i))) })), b('background.glow.enabled') && (_jsx("div", { style: {
|
|
34
|
+
position: 'absolute', left: n('background.glow.x') * W - glowR, top: n('background.glow.y') * H - glowR, width: glowR * 2, height: glowR * 2, borderRadius: '50%',
|
|
35
|
+
background: `radial-gradient(circle, ${rgba(s('background.glow.color'), n('background.glow.opacity'))} 0%, ${rgba(s('background.glow.color'), 0)} 70%)`,
|
|
36
|
+
filter: n('background.glow.blur') > 0 ? `blur(${n('background.glow.blur') * u}px)` : undefined,
|
|
37
|
+
} }))] }));
|
|
38
|
+
}
|
|
39
|
+
function Noise({ ctx }) {
|
|
40
|
+
const { st, n } = ctx;
|
|
41
|
+
const { width: W, height: H, unit: u } = st.size;
|
|
42
|
+
const id = `pf-noise-${n('background.noise.seed')}`;
|
|
43
|
+
return (_jsxs("svg", { width: W, height: H, style: { ...full, opacity: n('background.noise.opacity'), mixBlendMode: 'overlay' }, "aria-hidden": "true", children: [_jsxs("filter", { id: id, x: "0", y: "0", width: "100%", height: "100%", children: [_jsx("feTurbulence", { type: "fractalNoise", baseFrequency: 0.75 / (u * n('background.noise.scale')), numOctaves: 2, seed: n('background.noise.seed'), stitchTiles: "stitch" }), _jsx("feColorMatrix", { type: "saturate", values: "0" })] }), _jsx("rect", { width: W, height: H, filter: `url(#${id})` })] }));
|
|
44
|
+
}
|
|
45
|
+
/* ─── the sheet ───────────────────────────────────────────────────────────────────────────────── */
|
|
46
|
+
function SheetShadow({ ctx }) {
|
|
47
|
+
const { st, n, s } = ctx;
|
|
48
|
+
const u = st.size.unit;
|
|
49
|
+
const pts = (q) => q.map(([x, y]) => `${Math.round(x * 10) / 10},${Math.round(y * 10) / 10}`).join(' ');
|
|
50
|
+
return (_jsx("div", { "data-layer": "sheet-shadow", style: { ...full, zIndex: 10, opacity: n('paper.shadow.opacity'), filter: `blur(${n('paper.shadow.blur') * u}px)`, transform: `translate(${n('paper.shadow.offsetX') * u}px, ${n('paper.shadow.offsetY') * u}px)` }, children: _jsx("svg", { width: st.size.width, height: st.size.height, style: { position: 'absolute', left: 0, top: 0, overflow: 'visible' }, "aria-hidden": "true", children: st.shadowQuads.map((q, i) => _jsx("polygon", { points: pts(q), fill: s('paper.shadow.color'), stroke: s('paper.shadow.color'), strokeWidth: 2 }, i)) }) }));
|
|
51
|
+
}
|
|
52
|
+
function PrintedText({ ctx, fit, text }) {
|
|
53
|
+
const { st, n, s } = ctx;
|
|
54
|
+
const T = `typography.${fit.slot}`;
|
|
55
|
+
const pu = st.size.pu;
|
|
56
|
+
const align = s(`${T}.alignment`);
|
|
57
|
+
const shadow = n(`${T}.shadowOpacity`) > 0 ? `0 ${Math.max(1, n(`${T}.shadowBlur`) * pu * 0.3)}px ${n(`${T}.shadowBlur`) * pu}px ${rgba(s(`${T}.shadow`), n(`${T}.shadowOpacity`))}` : undefined;
|
|
58
|
+
const pill = fit.slot === 'bottomCta';
|
|
59
|
+
const box = {
|
|
60
|
+
fontFamily: FONT_STACK(s(`${T}.fontFamily`)), fontWeight: n(`${T}.fontWeight`), fontStyle: s(`${T}.fontStyle`),
|
|
61
|
+
fontSize: fit.fontSize, lineHeight: n(`${T}.lineHeight`), letterSpacing: `${n(`${T}.letterSpacing`)}em`,
|
|
62
|
+
color: s(`${T}.color`), opacity: n(`${T}.opacity`), textAlign: align, whiteSpace: 'pre-line', overflowWrap: 'break-word', textShadow: shadow,
|
|
63
|
+
};
|
|
64
|
+
return (_jsx("div", { "data-slot": fit.slot, "data-fit": fit.scale, style: {
|
|
65
|
+
position: 'absolute', left: fit.x - fit.area.x, top: fit.y - fit.area.y, width: fit.width,
|
|
66
|
+
transformOrigin: `${align === 'left' ? 0 : align === 'center' ? 50 : 100}% 0%`,
|
|
67
|
+
transform: `rotate(${n(`${T}.rotation`)}deg) skewX(${n(`${T}.skew`)}deg) scale(${n(`${T}.scale`)})`,
|
|
68
|
+
...(pill ? {} : box),
|
|
69
|
+
}, children: pill
|
|
70
|
+
? _jsx("span", { style: { ...box, display: 'inline-block', padding: '0.42em 0.95em', borderRadius: 999, background: s('cta.backgroundColor'), boxShadow: `0 ${0.12 * fit.fontSize}px ${0.4 * fit.fontSize}px ${rgba('#000000', 0.18)}` }, children: text })
|
|
71
|
+
: text }));
|
|
72
|
+
}
|
|
73
|
+
const PANEL_TEXT = {
|
|
74
|
+
top: ['topLogo', 'topHeadline', 'topSubtitle'], middle: ['middleHeadline', 'middleBody'], bottom: ['bottomHeadline', 'bottomBody', 'bottomCta'],
|
|
75
|
+
};
|
|
76
|
+
const SLOT_PATH = {
|
|
77
|
+
topLogo: 'content.top.logo', topHeadline: 'content.top.headline', topSubtitle: 'content.top.subtitle', middleHeadline: 'content.middle.headline',
|
|
78
|
+
middleBody: 'content.middle.body', bottomHeadline: 'content.bottom.headline', bottomBody: 'content.bottom.body', bottomCta: 'content.bottom.cta',
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* The print of the whole sheet, in sheet coordinates (0‥width × 0‥height): the paper of each region,
|
|
82
|
+
* its grain, the crease effects and every word. Every strip draws this same print, offset to its own
|
|
83
|
+
* height and clipped to itself, so the sheet stays ONE surface — gradient, grain, creases and text run
|
|
84
|
+
* on across the strips, and each word turns with exactly the part of the sheet it is printed on.
|
|
85
|
+
* Only the regions that reach the strip are drawn. `face` picks the front or the back of the paper.
|
|
86
|
+
*/
|
|
87
|
+
function SheetPrint({ ctx, face, y0, y1, brightness }) {
|
|
88
|
+
const { st, n, s, b } = ctx;
|
|
89
|
+
const { width: PW, height: PH } = st.size.paper;
|
|
90
|
+
const pu = st.size.pu;
|
|
91
|
+
const reach = (a, c) => c >= y0 - 2 && a <= y1 + 2;
|
|
92
|
+
const mat = 'paperMaterial';
|
|
93
|
+
// Light: the paper takes the full shade, the print on it part of it (so white type stays crisp).
|
|
94
|
+
const textShade = brightness < 1 ? (1 - brightness) * 0.3 : 0;
|
|
95
|
+
const paperShade = brightness < 1 ? Math.min(0.92, 1 - brightness / (1 - textShade)) : 0;
|
|
96
|
+
const light = brightness > 1 ? Math.min(0.6, (brightness - 1) * 0.9) : 0;
|
|
97
|
+
const regions = PANELS.map((id) => ({ id, ...st.size.panels[id] })).filter((r) => reach(r.y0, r.y1));
|
|
98
|
+
const fill = (id) => {
|
|
99
|
+
const P = `panels.${id}`;
|
|
100
|
+
if (face === 'back')
|
|
101
|
+
return { backgroundColor: s(`${mat}.backColor`) };
|
|
102
|
+
const colour = s(`${P}.colorMode`) === 'own' ? s(`${P}.backgroundColor`) : s(`${mat}.baseColor`);
|
|
103
|
+
return b(`${mat}.gradientEnabled`) && b(`${P}.gradient`) && s(`${P}.colorMode`) !== 'own'
|
|
104
|
+
? { backgroundColor: colour, backgroundImage: `linear-gradient(${n(`${mat}.gradientAngle`)}deg, ${colour}, ${s(`${mat}.secondaryColor`)})`, backgroundSize: `${PW}px ${PH}px`, backgroundPosition: `0px ${-st.size.panels[id].y0}px` }
|
|
105
|
+
: { backgroundColor: colour };
|
|
106
|
+
};
|
|
107
|
+
return (_jsxs("div", { "data-print": face, style: { position: 'absolute', left: 0, top: 0, width: PW, height: PH }, children: [regions.map((r) => (_jsx("div", { "data-region": r.id, style: { position: 'absolute', left: 0, top: r.y0, width: PW, height: r.height, ...fill(r.id) }, children: _jsx(PaperGrain, { ctx: ctx, w: PW, h: r.height, y0: r.y0, k: n(`panels.${r.id}.textureOpacity`) }) }, r.id))), paperShade > 0 && _jsx("div", { style: { ...full, background: '#000000', opacity: paperShade } }), light > 0 && _jsx("div", { style: { ...full, background: '#ffffff', opacity: light } }), st.panels.map((p) => p.edges.map((e) => {
|
|
108
|
+
const yc = st.size.creases[e.crease];
|
|
109
|
+
const span = Math.max(e.shadow.length + e.shadow.blur, e.valley.length, e.line.width) + 2;
|
|
110
|
+
return (face === 'front' || e.edge === 'bottom') && reach(yc - span, yc + span)
|
|
111
|
+
? _jsx(CreaseEffects, { e: face === 'front' ? e : { ...e, valley: { ...e.valley, opacity: 0 }, shadow: { ...e.shadow, opacity: 0 } }, yc: yc, w: PW, pu: pu, tint: mixHex(e.line.color, '#000000', 0.55) }, `${p.id}${e.edge}`)
|
|
112
|
+
: null;
|
|
113
|
+
})), _jsx(OuterEdges, { ctx: ctx, w: PW, h: PH }), face === 'front' && regions.map((r) => _jsx(PanelContent, { ctx: ctx, id: r.id }, r.id)), face === 'back' && s('content.back.text') !== '' && regions.some((r) => r.id === s('content.back.panel')) && _jsx(BackContent, { ctx: ctx, id: s('content.back.panel') }), textShade > 0 && _jsx("div", { style: { ...full, background: '#000000', opacity: textShade } })] }));
|
|
114
|
+
}
|
|
115
|
+
function PanelContent({ ctx, id }) {
|
|
116
|
+
const { st, n, s, b } = ctx;
|
|
117
|
+
const { y0, height: h } = st.size.panels[id];
|
|
118
|
+
const PW = st.size.paper.width, pu = st.size.pu;
|
|
119
|
+
const P = `panels.${id}`;
|
|
120
|
+
const fits = st.text.filter((t) => t.panel === id && PANEL_TEXT[id].includes(t.slot));
|
|
121
|
+
if (!fits.length)
|
|
122
|
+
return null;
|
|
123
|
+
const area = fits[0].area;
|
|
124
|
+
const overflow = b(`${P}.overflow`);
|
|
125
|
+
return (_jsx("div", { "data-content": id, style: { position: 'absolute', left: 0, top: y0, width: PW, height: h, overflow: overflow ? 'visible' : 'hidden' }, children: _jsx("div", { style: { ...full, transformOrigin: '50% 50%', transform: `translate(${n(`${P}.contentOffsetX`) * pu}px, ${n(`${P}.contentOffsetY`) * pu}px) rotate(${n(`${P}.contentRotation`)}deg) scale(${n(`${P}.contentScale`)})` }, children: _jsx("div", { "data-content-area": id, style: { position: 'absolute', left: area.x, top: area.y, width: area.width, height: area.height, overflow: overflow ? 'visible' : 'hidden' }, children: fits.map((f) => _jsx(PrintedText, { ctx: ctx, fit: f, text: s(SLOT_PATH[f.slot]) }, f.slot)) }) }) }));
|
|
126
|
+
}
|
|
127
|
+
/** Print on the back of a panel: laid out upside down, so it reads upright once the panel turns over. */
|
|
128
|
+
function BackContent({ ctx, id }) {
|
|
129
|
+
const { st, n, s } = ctx;
|
|
130
|
+
const { y0, height: h } = st.size.panels[id];
|
|
131
|
+
const PW = st.size.paper.width, pu = st.size.pu;
|
|
132
|
+
const T = 'typography.back';
|
|
133
|
+
const fit = { slot: 'back', panel: id, x: n(`${T}.x`) * PW, y: n(`${T}.y`) * h, width: n(`${T}.maxWidth`) * PW, fontSize: n(`${T}.fontSize`) * pu, scale: 1, lines: 1, area: { x: 0, y: 0, width: PW, height: h } };
|
|
134
|
+
return (_jsx("div", { "data-content": "back", style: { position: 'absolute', left: 0, top: y0, width: PW, height: h, overflow: 'hidden', transform: 'scaleY(-1)' }, children: _jsx(PrintedText, { ctx: ctx, fit: fit, text: s('content.back.text') }) }));
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* One strip of the sheet — a panel's flat part or one step of a crease's bend — placed by its own
|
|
138
|
+
* matrix3d and painted at its explicit depth. It shows the front or the back of the one sheet print.
|
|
139
|
+
* Each strip reaches a hair under the next (at most 1.5 px) so no seam opens between them.
|
|
140
|
+
*/
|
|
141
|
+
function StripView({ ctx, strip, last }) {
|
|
142
|
+
const { st, n, s } = ctx;
|
|
143
|
+
const PW = st.size.paper.width, pu = st.size.pu;
|
|
144
|
+
const h = strip.y1 - strip.y0;
|
|
145
|
+
const ov = strip.index < last ? Math.min(1.5, h * 0.5) : 0;
|
|
146
|
+
const radius = n('paper.cornerRadius') * pu;
|
|
147
|
+
const corners = strip.index === 0 ? `${radius}px ${radius}px 0 0` : strip.index === last ? `0 0 ${radius}px ${radius}px` : '0';
|
|
148
|
+
const edge = n('paper.thickness') * pu * strip.edgeOn;
|
|
149
|
+
return (_jsxs("div", { "data-strip": strip.index, "data-region": strip.region, "data-facing": strip.facing, "data-rank": strip.rank, style: { position: 'absolute', left: 0, top: 0, width: PW, height: h + ov, transformOrigin: '0 0', transform: strip.matrix, zIndex: strip.z, overflow: 'hidden', borderRadius: corners }, children: [_jsx("div", { style: { position: 'absolute', left: 0, top: -strip.y0, width: PW, height: st.size.paper.height }, children: _jsx(SheetPrint, { ctx: ctx, face: strip.facing, y0: strip.y0, y1: strip.y1, brightness: strip.brightness }) }), strip.sheen > 0.002 && _jsx("div", { style: { ...full, background: 'linear-gradient(160deg, rgba(255,255,255,0.9), rgba(255,255,255,0) 70%)', opacity: strip.sheen } }), edge > 0.4 && (
|
|
150
|
+
// The paper's cut edge (its thickness) shows as the strip turns edge-on.
|
|
151
|
+
_jsxs(_Fragment, { children: [_jsx("div", { style: { position: 'absolute', left: 0, top: 0, width: edge, height: h + ov, background: s('paper.edgeColor') } }), _jsx("div", { style: { position: 'absolute', right: 0, top: 0, width: edge, height: h + ov, background: s('paper.edgeColor') } })] }))] }));
|
|
152
|
+
}
|
|
153
|
+
function PaperGrain({ ctx, w, h, y0, k }) {
|
|
154
|
+
const { st, n, b } = ctx;
|
|
155
|
+
const tex = n('paperMaterial.textureOpacity') * k, grain = b('paperMaterial.grainEnabled') ? n('paperMaterial.grainOpacity') * k : 0;
|
|
156
|
+
if (tex <= 0 && grain <= 0)
|
|
157
|
+
return null;
|
|
158
|
+
const seed = n('paperMaterial.grainSeed');
|
|
159
|
+
const pu = st.size.pu, gs = n('paperMaterial.grainScale');
|
|
160
|
+
// Sampled in sheet coordinates (the viewBox starts at the region's y), so fibres run on across the creases.
|
|
161
|
+
return (_jsxs("svg", { width: w, height: h, viewBox: `0 ${y0} ${w} ${h}`, style: { ...full, mixBlendMode: 'soft-light' }, "aria-hidden": "true", children: [_jsxs("filter", { id: `pf-fibre-${seed}`, x: "0", y: "0", width: "100%", height: "100%", filterUnits: "userSpaceOnUse", children: [_jsx("feTurbulence", { type: "fractalNoise", baseFrequency: `${0.9 / (pu * 60)} ${0.9 / (pu * 3)}`, numOctaves: 3, seed: seed }), _jsx("feColorMatrix", { type: "saturate", values: "0" })] }), _jsxs("filter", { id: `pf-grain-${seed}`, x: "0", y: "0", width: "100%", height: "100%", filterUnits: "userSpaceOnUse", children: [_jsx("feTurbulence", { type: "fractalNoise", baseFrequency: 0.8 / Math.max(0.6, pu * gs), numOctaves: 1, seed: seed + 1 }), _jsx("feColorMatrix", { type: "saturate", values: "0" })] }), tex > 0 && _jsx("rect", { x: 0, y: y0, width: w, height: h, filter: `url(#pf-fibre-${seed})`, opacity: Math.min(1, tex * 3) }), grain > 0 && _jsx("rect", { x: 0, y: y0, width: w, height: h, filter: `url(#pf-grain-${seed})`, opacity: Math.min(1, grain * 3) })] }));
|
|
162
|
+
}
|
|
163
|
+
/** A crease's line, ridge highlight, valley shading and the shadow of the panel closing over — at sheet height `yc`. */
|
|
164
|
+
function CreaseEffects({ e, yc, w, pu, tint }) {
|
|
165
|
+
// `edge` is the panel's side of the crease: 'bottom' = the panel above it (effects run upward), 'top' = below (downward).
|
|
166
|
+
const down = e.edge === 'top';
|
|
167
|
+
const band = (length) => ({ position: 'absolute', left: 0, width: w, height: length, top: down ? yc : yc - length });
|
|
168
|
+
const dir = down ? 'to bottom' : 'to top';
|
|
169
|
+
const half = e.line.width / 2;
|
|
170
|
+
return (_jsxs("div", { "data-crease": e.crease, "data-edge": e.edge, children: [e.shadow.opacity > 0.002 && e.shadow.length > 0 && (_jsx("div", { style: { ...band(e.shadow.length + e.shadow.blur), background: `linear-gradient(${dir}, ${rgba(tint, e.shadow.opacity)} 0px, ${rgba(tint, e.shadow.opacity * 0.85)} ${e.shadow.length * 0.8}px, ${rgba(tint, 0)} ${e.shadow.length + e.shadow.blur}px)` } })), e.valley.opacity > 0.002 && _jsx("div", { style: { ...band(e.valley.length), background: `linear-gradient(${dir}, ${rgba(tint, e.valley.opacity)}, ${rgba(tint, 0)})` } }), e.highlight.opacity > 0.002 && (_jsx("div", { style: { position: 'absolute', left: 0, width: w, height: e.highlight.width, top: down ? yc + half : yc - half - e.highlight.width, background: rgba(e.highlight.color, e.highlight.opacity), filter: `blur(${Math.max(0.3, pu * 0.8)}px)` } })), e.line.opacity > 0.002 && (_jsx("div", { style: { position: 'absolute', left: 0, width: w, height: Math.max(0.5, half), top: down ? yc : yc - half, background: rgba(e.line.color, e.line.opacity), filter: e.line.blur > 0.2 ? `blur(${e.line.blur}px)` : undefined } }))] }));
|
|
171
|
+
}
|
|
172
|
+
function OuterEdges({ ctx, w, h }) {
|
|
173
|
+
const { st, n } = ctx;
|
|
174
|
+
const hi = n('paperMaterial.edgeHighlight'), sh = n('paperMaterial.edgeShadow');
|
|
175
|
+
if (hi <= 0 && sh <= 0)
|
|
176
|
+
return null;
|
|
177
|
+
const t = Math.max(1, 2.2 * st.size.pu);
|
|
178
|
+
const light = rgba('#ffffff', hi), dark = rgba('#000000', sh);
|
|
179
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { style: { position: 'absolute', left: 0, top: 0, width: t, height: h, background: light } }), _jsx("div", { style: { position: 'absolute', right: 0, top: 0, width: t, height: h, background: dark } }), _jsx("div", { style: { position: 'absolute', left: 0, top: 0, width: w, height: t, background: light } }), _jsx("div", { style: { position: 'absolute', left: 0, bottom: 0, width: w, height: t, background: dark } })] }));
|
|
180
|
+
}
|
|
181
|
+
/* ─── hands ───────────────────────────────────────────────────────────────────────────────────── */
|
|
182
|
+
/** The hand's drawing, built from its skeleton with the current pose (the grip opening is animated). */
|
|
183
|
+
export function handArt(cfg, h) {
|
|
184
|
+
const n = (p) => getPath(cfg, p);
|
|
185
|
+
const pose = { ...h.pose, armLength: n(`hands.${h.id}.armLength`) * 0.6, open: h.fingerAngle, nails: getPath(cfg, 'hands.nails.enabled'), nailScale: n('hands.nails.scale') };
|
|
186
|
+
return h.id === 'top' ? topHand(pose) : bottomHand(pose);
|
|
187
|
+
}
|
|
188
|
+
/** The SVG transform that places hand units on the canvas at the hand's grip anchor. */
|
|
189
|
+
export const handTransform = (h) => `translate(${h.x} ${h.y}) rotate(${h.rotation}) skewX(${h.skewX}) skewY(${h.skewY}) scale(${h.unitScale * h.scale}) translate(${h.offsetX} ${h.offsetY})`;
|
|
190
|
+
function Hand({ ctx, h }) {
|
|
191
|
+
const { st, n, s, b } = ctx;
|
|
192
|
+
const art = handArt(st.cfg, h);
|
|
193
|
+
const S = 'hands.style';
|
|
194
|
+
const colours = {
|
|
195
|
+
base: s(`${S}.baseColor`), midtone: s(`${S}.midtoneColor`), shadow: s(`${S}.shadowColor`),
|
|
196
|
+
highlight: s(`${S}.highlightColor`), nail: s(`${S}.nailColor`), sleeve: s(`${S}.sleeve.color`),
|
|
197
|
+
};
|
|
198
|
+
const ow = n(`${S}.outlineWidth`);
|
|
199
|
+
const shape = (part, sh, i) => {
|
|
200
|
+
const o = part.name === 'highlights' ? n(`${S}.highlightOpacity`) : part.name === 'fingerShadows' || part.name === 'palmShadow' ? n(`${S}.shadowOpacity`) : part.name === 'nails' ? n('hands.nails.opacity') : 1;
|
|
201
|
+
return _jsx("path", { d: sh.d, fill: colours[sh.fill], fillOpacity: (sh.opacity ?? 1) * o, ...(sh.outline && ow > 0 ? { stroke: s(`${S}.outlineColor`), strokeWidth: ow * 0.6, strokeLinejoin: 'round' } : {}) }, i);
|
|
202
|
+
};
|
|
203
|
+
// Once the held panel has turned over, the digits holding it from behind are on its visible side:
|
|
204
|
+
// they show only where they lie on that panel (clipped to its outline), never past its edge.
|
|
205
|
+
const held = st.panels.find((p) => p.id === h.panel);
|
|
206
|
+
const clipId = `pf-held-${h.id}`;
|
|
207
|
+
const clipped = held.facing === 'back';
|
|
208
|
+
const group = (layer) => art.parts.filter((p) => p.layer === layer).map((p, i) => {
|
|
209
|
+
const g = (_jsxs("g", { "data-part": p.name, ...(p.grips ? { 'data-grips': 'true' } : {}), children: [p.shapes.map((sh, j) => shape(p, sh, j)), p.name === 'forearm' && b(`${S}.sleeve.enabled`) && _jsx("path", { "data-part": "sleeve", d: sleevePath(art, n(`${S}.sleeve.position`), n(`hands.${h.id}.armLength`) * 0.6), fill: colours.sleeve })] }, `${p.name}${i}`));
|
|
210
|
+
return p.grips && clipped ? _jsx("g", { clipPath: `url(#${clipId})`, children: _jsx("g", { transform: handTransform(h), children: g }) }, `c${p.name}${i}`) : _jsx("g", { transform: handTransform(h), children: g }, `t${p.name}${i}`);
|
|
211
|
+
});
|
|
212
|
+
const svg = { position: 'absolute', left: 0, top: 0, overflow: 'visible', opacity: h.opacity, pointerEvents: 'none' };
|
|
213
|
+
const { width: W, height: H } = st.size;
|
|
214
|
+
const pu = st.size.pu;
|
|
215
|
+
// The gripping digits cast a small contact shadow on the paper.
|
|
216
|
+
const drop = n(`${S}.dropShadowOpacity`) > 0 ? `drop-shadow(${n(`${S}.dropShadowOffset`) * pu * 0.5}px ${n(`${S}.dropShadowOffset`) * pu}px ${n(`${S}.dropShadowBlur`) * pu}px ${rgba('#1a0526', n(`${S}.dropShadowOpacity`))})` : undefined;
|
|
217
|
+
return (_jsxs(_Fragment, { children: [_jsxs("svg", { "data-hand": h.id, "data-piece": "body", width: W, height: H, style: { ...svg, zIndex: h.bodyZ }, "aria-hidden": "true", children: [clipped && _jsx("defs", { children: _jsx("clipPath", { id: clipId, clipPathUnits: "userSpaceOnUse", children: _jsx("polygon", { points: held.corners.map(([x, y]) => `${x},${y}`).join(' ') }) }) }), group('behind')] }), _jsx("svg", { "data-hand": h.id, "data-piece": "finger", width: W, height: H, style: { ...svg, zIndex: h.fingerZ, filter: drop }, "aria-hidden": "true", children: group('front') })] }));
|
|
218
|
+
}
|
|
219
|
+
/* ─── logo and CTA ────────────────────────────────────────────────────────────────────────────── */
|
|
220
|
+
function Logo({ ctx, img }) {
|
|
221
|
+
const { st, n, s, b } = ctx;
|
|
222
|
+
const u = st.size.unit;
|
|
223
|
+
const T = 'typography.logo';
|
|
224
|
+
const size = n(`${T}.fontSize`) * u;
|
|
225
|
+
const mark = n('logo.markSize') * size;
|
|
226
|
+
const shadow = n(`${T}.shadowOpacity`) > 0 ? `0 ${n(`${T}.shadowBlur`) * u * 0.3}px ${n(`${T}.shadowBlur`) * u}px ${rgba(s(`${T}.shadow`), n(`${T}.shadowOpacity`))}` : undefined;
|
|
227
|
+
const image = s('logo.image');
|
|
228
|
+
return (_jsx("div", { "data-layer": "logo", style: {
|
|
229
|
+
position: 'absolute', left: st.logo.x, top: st.logo.y, zIndex: 900, opacity: st.logo.opacity, display: 'flex', alignItems: 'center', gap: n('logo.gap') * size, whiteSpace: 'nowrap',
|
|
230
|
+
transform: `translate(-50%, -50%) rotate(${n('logo.rotation')}deg) scale(${st.logo.scale})`,
|
|
231
|
+
}, children: image !== '' ? img(image, { height: n('logo.imageHeight') * u, width: 'auto', display: 'block' }, s('content.logo') || 'logo') : (_jsxs(_Fragment, { children: [b('logo.showMark') && (_jsx("div", { "data-part": "logo-mark", style: {
|
|
232
|
+
width: mark, height: mark, borderRadius: n('logo.markRadius') * mark, display: 'flex', alignItems: 'center', justifyContent: 'center',
|
|
233
|
+
background: `linear-gradient(135deg, ${s('logo.markColor')}, ${s('logo.markColorEnd')})`, color: s('logo.markTextColor'),
|
|
234
|
+
fontFamily: FONT_STACK(s(`${T}.fontFamily`)), fontWeight: 800, fontSize: mark * 0.72, lineHeight: 1,
|
|
235
|
+
}, children: s('logo.markText') })), s('content.logo') !== '' && (_jsx("span", { "data-part": "logo-word", style: {
|
|
236
|
+
fontFamily: FONT_STACK(s(`${T}.fontFamily`)), fontWeight: n(`${T}.fontWeight`), fontStyle: s(`${T}.fontStyle`), fontSize: size, lineHeight: 1,
|
|
237
|
+
letterSpacing: `${n(`${T}.letterSpacing`)}em`, color: s(`${T}.color`), opacity: n(`${T}.opacity`), textShadow: shadow,
|
|
238
|
+
}, children: s('content.logo') }))] })) }));
|
|
239
|
+
}
|
|
240
|
+
function Cta({ ctx }) {
|
|
241
|
+
const { st, n, s } = ctx;
|
|
242
|
+
const u = st.size.unit;
|
|
243
|
+
const T = 'typography.cta';
|
|
244
|
+
const shadow = n('cta.shadowOpacity') > 0 ? `0 ${n('cta.shadowBlur') * u * 0.35}px ${n('cta.shadowBlur') * u}px ${rgba(s('cta.shadowColor'), n('cta.shadowOpacity'))}` : undefined;
|
|
245
|
+
return (_jsx("div", { "data-layer": "cta", style: {
|
|
246
|
+
position: 'absolute', left: st.cta.x, top: st.cta.y, zIndex: 900, opacity: st.cta.opacity, whiteSpace: 'nowrap',
|
|
247
|
+
transform: `translate(-50%, -50%) rotate(${n('cta.rotation')}deg) scale(${st.cta.scale})`,
|
|
248
|
+
background: s('cta.backgroundColor'), border: n('cta.borderWidth') > 0 ? `${n('cta.borderWidth') * u}px solid ${s('cta.borderColor')}` : undefined,
|
|
249
|
+
borderRadius: n('cta.radius') * u, padding: `${n('cta.paddingY') * u}px ${n('cta.paddingX') * u}px`, boxShadow: shadow,
|
|
250
|
+
fontFamily: FONT_STACK(s(`${T}.fontFamily`)), fontWeight: n(`${T}.fontWeight`), fontStyle: s(`${T}.fontStyle`), fontSize: n(`${T}.fontSize`) * u, lineHeight: 1.2,
|
|
251
|
+
letterSpacing: `${n(`${T}.letterSpacing`)}em`, color: s(`${T}.color`),
|
|
252
|
+
textShadow: n(`${T}.shadowOpacity`) > 0 ? `0 0 ${n(`${T}.shadowBlur`) * u}px ${rgba(s(`${T}.shadow`), n(`${T}.shadowOpacity`))}` : undefined,
|
|
253
|
+
}, children: _jsx("span", { style: { opacity: n(`${T}.opacity`) }, children: s('content.cta.text') }) }));
|
|
254
|
+
}
|
|
255
|
+
/* ─── debug overlay (development only) ────────────────────────────────────────────────────────── */
|
|
256
|
+
function Debug({ ctx }) {
|
|
257
|
+
const { st } = ctx;
|
|
258
|
+
const { width: W, height: H, unit: u } = st.size;
|
|
259
|
+
const fs = 14 * u;
|
|
260
|
+
const label = (x, y, lines, colour = '#00ffd0') => (_jsx("text", { x: x, y: y, fill: colour, fontSize: fs, fontFamily: "ui-monospace, Menlo, monospace", stroke: "#000000", strokeWidth: fs * 0.18, paintOrder: "stroke", children: lines.map((l, i) => _jsx("tspan", { x: x, dy: i === 0 ? 0 : fs * 1.2, children: l }, i)) }));
|
|
261
|
+
const pts = (q) => q.map(([x, y]) => `${x},${y}`).join(' ');
|
|
262
|
+
const centre = (q) => [q.reduce((a, p) => a + p[0], 0) / 4, q.reduce((a, p) => a + p[1], 0) / 4];
|
|
263
|
+
// The grid and the read-out are fixed to the canvas; the geometry follows the camera so it sits on the drawing.
|
|
264
|
+
return (_jsxs("div", { "data-layer": "debug", style: { ...full, zIndex: 2000, pointerEvents: 'none' }, children: [_jsx("svg", { width: W, height: H, style: { position: 'absolute', left: 0, top: 0 }, "aria-hidden": "true", children: Array.from({ length: 9 }, (_, i) => (i + 1) / 10).map((v) => (_jsxs("g", { opacity: 0.35, children: [_jsx("line", { x1: v * W, y1: 0, x2: v * W, y2: H, stroke: "#ffffff", strokeWidth: u, strokeDasharray: `${4 * u} ${6 * u}` }), _jsx("line", { x1: 0, y1: v * H, x2: W, y2: v * H, stroke: "#ffffff", strokeWidth: u, strokeDasharray: `${4 * u} ${6 * u}` }), label(v * W + 3 * u, 16 * u, [v.toFixed(1)], '#ffffff'), label(3 * u, v * H - 4 * u, [v.toFixed(1)], '#ffffff')] }, v))) }), _jsx("svg", { width: W, height: H, style: { position: 'absolute', left: 0, top: 0, overflow: 'visible', transformOrigin: '0 0', transform: st.camera.transform }, "aria-hidden": "true", children: _jsxs("g", { children: [st.panels.map((p) => {
|
|
265
|
+
const [cx, cy] = centre(p.corners);
|
|
266
|
+
return (_jsxs("g", { children: [_jsx("polygon", { points: pts(p.corners), fill: "none", stroke: p.facing === 'front' ? '#00ffd0' : '#ff9d00', strokeWidth: 2 * u, strokeDasharray: p.facing === 'front' ? undefined : `${8 * u} ${5 * u}` }), label(cx - 60 * u, cy, [`${p.id.toUpperCase()} PANEL`, `${p.facing} · rank ${p.rank} · z ${p.z}`, `light ${p.brightness.toFixed(2)}`])] }, p.id));
|
|
267
|
+
}), st.debug.creases.map((c, i) => {
|
|
268
|
+
const mx = (c.from[0] + c.to[0]) / 2, my = (c.from[1] + c.to[1]) / 2;
|
|
269
|
+
return (_jsxs("g", { children: [_jsx("line", { x1: c.from[0], y1: c.from[1], x2: c.to[0], y2: c.to[1], stroke: "#ff2d78", strokeWidth: 3 * u }), _jsx("circle", { cx: mx, cy: my, r: 7 * u, fill: "#ff2d78", stroke: "#ffffff", strokeWidth: 1.5 * u }), label(c.to[0] + 10 * u, c.to[1] + (i ? 18 : -8) * u, [`CREASE ${c.id.toUpperCase()} ${c.position.toFixed(3)}`, `ANGLE: ${c.angle.toFixed(1)}°`, `pivot (${(mx / W).toFixed(3)}, ${(my / H).toFixed(3)})`], '#ff2d78')] }, c.id));
|
|
270
|
+
}), _jsx("polygon", { points: [...st.strips.flatMap((p) => [p.corners[0], p.corners[3]]), ...[...st.strips].reverse().flatMap((p) => [p.corners[2], p.corners[1]])].map(([x, y]) => `${x},${y}`).join(' '), fill: "none", stroke: "#ffffff", strokeWidth: 3 * u, strokeDasharray: `${2 * u} ${4 * u}` }), st.strips.filter((p) => p.region.startsWith('crease')).map((p) => _jsx("polygon", { points: pts(p.corners), fill: "none", stroke: "#ff2d78", strokeWidth: 0.8 * u, opacity: 0.6 }, p.index)), st.hands.map((h) => {
|
|
271
|
+
const art = handArt(st.cfg, h);
|
|
272
|
+
const k = h.unitScale * h.scale;
|
|
273
|
+
return (_jsx("g", { transform: handTransform(h), children: Object.entries(art.joints).map(([name, js]) => (_jsxs("g", { children: [_jsx("polyline", { points: js.map(([x, y]) => `${x},${y}`).join(' '), fill: "none", stroke: "#7df9ff", strokeWidth: 1.5 * u / k }), js.map(([x, y], i) => _jsx("circle", { cx: x, cy: y, r: 3.2 * u / k, fill: i === 0 ? '#ffffff' : '#7df9ff' }, i))] }, name))) }, `joints-${h.id}`));
|
|
274
|
+
}), st.hands.map((h) => (_jsxs("g", { children: [_jsx("circle", { cx: st.anchors[h.id].hand[0], cy: st.anchors[h.id].hand[1], r: 10 * u, fill: "none", stroke: "#7df9ff", strokeWidth: 2 * u }), _jsx("line", { x1: h.gripX - 14 * u, y1: h.gripY, x2: h.gripX + 14 * u, y2: h.gripY, stroke: "#ffe600", strokeWidth: 2.5 * u }), _jsx("line", { x1: h.gripX, y1: h.gripY - 14 * u, x2: h.gripX, y2: h.gripY + 14 * u, stroke: "#ffe600", strokeWidth: 2.5 * u }), _jsx("circle", { cx: h.x, cy: h.y, r: 6 * u, fill: "none", stroke: "#ffe600", strokeWidth: 2 * u }), label(h.gripX + 16 * u, h.gripY - 10 * u, [`HAND ${h.id.toUpperCase()} → ${h.panel}`, `paper.${h.id}GripAnchor (${(h.gripX / W).toFixed(3)}, ${(h.gripY / H).toFixed(3)})`, `${h.id}Hand.gripAnchor Δ ${Math.hypot(st.anchors[h.id].hand[0] - h.gripX, st.anchors[h.id].hand[1] - h.gripY).toFixed(1)} px`, `z body ${h.bodyZ} · finger ${h.fingerZ}`], '#ffe600')] }, h.id)))] }) }), _jsxs("svg", { width: W, height: H, style: { position: 'absolute', left: 0, top: 0 }, "aria-hidden": "true", children: [_jsx("rect", { x: 10 * u, y: 24 * u, width: 330 * u, height: 7 * fs * 1.2 + 16 * u, fill: "#000000", opacity: 0.6, rx: 6 * u }), label(20 * u, 24 * u + fs * 1.3, [
|
|
275
|
+
'DEBUG',
|
|
276
|
+
`FRAME: ${st.frame.toFixed(1)} / ${st.timeline.end}`,
|
|
277
|
+
`SCENE: ${st.phase.label} ${(st.phase.progress * 100).toFixed(0)}%`,
|
|
278
|
+
...st.folds.map((f) => `${f.id.toUpperCase()} FOLD ANGLE: ${f.angle.toFixed(1)}° (${f.phase})`),
|
|
279
|
+
`ANCHOR: ${st.anchor.toUpperCase()} PANEL · ZOOM ${st.camera.zoom.toFixed(3)}`,
|
|
280
|
+
`ORDER: ${[...st.panels].sort((a, c) => a.rank - c.rank).map((p) => p.id).join(' < ')} · ${st.strips.length} strips`,
|
|
281
|
+
])] })] }));
|
|
282
|
+
}
|
|
283
|
+
//# sourceMappingURL=PaperFoldFrame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaperFoldFrame.js","sourceRoot":"","sources":["../../../../src/motion/paperfold/PaperFoldFrame.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type ConfigError } from './config';
|
|
2
|
+
import { type PaperFoldFrameProps } from './PaperFoldFrame';
|
|
3
|
+
export type PaperFoldPlayerProps = {
|
|
4
|
+
/** The canonical config (any subset; defaults fill the rest). Validated before anything is drawn. */
|
|
5
|
+
config: unknown;
|
|
6
|
+
autoPlay?: boolean;
|
|
7
|
+
/** Replay from the start when the timeline ends (default true). */
|
|
8
|
+
loop?: boolean;
|
|
9
|
+
/** Rendered width in CSS px; the height follows the config's aspect ratio. Defaults to 360. */
|
|
10
|
+
width?: number;
|
|
11
|
+
/** Seek to this authored motion frame and hold (scrubbing). */
|
|
12
|
+
frame?: number;
|
|
13
|
+
/** Development overlay: creases, panels, pivots, angles, anchors, frame. */
|
|
14
|
+
debug?: boolean;
|
|
15
|
+
onFrame?: (frame: number) => void;
|
|
16
|
+
onInvalid?: (errors: ConfigError[]) => void;
|
|
17
|
+
resolveAsset?: PaperFoldFrameProps['resolveAsset'];
|
|
18
|
+
className?: string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* **paper-fold-promo in a React web app.** Validates the config, then draws each frame with the
|
|
22
|
+
* package's procedural renderer at the player's own size (vector, never a scaled bitmap). A rAF clock
|
|
23
|
+
* turns time into authored motion frames (× motion.speed); the engine does the rest. The drawing is
|
|
24
|
+
* `aria-hidden` inside a `role="img"` box labelled with the copy. Reduced motion shows the final frame.
|
|
25
|
+
*/
|
|
26
|
+
export declare function PaperFoldPlayer({ config, autoPlay, loop, width, frame, debug, onFrame, onInvalid, resolveAsset, className }: PaperFoldPlayerProps): import("react").JSX.Element;
|
|
27
|
+
//# sourceMappingURL=PaperFoldPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaperFoldPlayer.d.ts","sourceRoot":"","sources":["../../../../src/motion/paperfold/PaperFoldPlayer.tsx"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,WAAW,EAAwB,MAAM,UAAU,CAAC;AAG3F,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,MAAM,MAAM,oBAAoB,GAAG;IACjC,qGAAqG;IACrG,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAIF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,QAAe,EAAE,IAAW,EAAE,KAAW,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,oBAAoB,+BA+CrK"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { getPath, validateConfig } from './config';
|
|
5
|
+
import { MOTION_FPS, timeline } from './engine';
|
|
6
|
+
import { installPaperFoldFonts } from './fonts';
|
|
7
|
+
import { PaperFoldFrame } from './PaperFoldFrame';
|
|
8
|
+
const RATIO = { '9:16': 9 / 16, '16:9': 16 / 9, '1:1': 1 };
|
|
9
|
+
/**
|
|
10
|
+
* **paper-fold-promo in a React web app.** Validates the config, then draws each frame with the
|
|
11
|
+
* package's procedural renderer at the player's own size (vector, never a scaled bitmap). A rAF clock
|
|
12
|
+
* turns time into authored motion frames (× motion.speed); the engine does the rest. The drawing is
|
|
13
|
+
* `aria-hidden` inside a `role="img"` box labelled with the copy. Reduced motion shows the final frame.
|
|
14
|
+
*/
|
|
15
|
+
export function PaperFoldPlayer({ config, autoPlay = true, loop = true, width = 360, frame, debug, onFrame, onInvalid, resolveAsset, className }) {
|
|
16
|
+
const key = JSON.stringify(config ?? {});
|
|
17
|
+
const checked = useMemo(() => validateConfig(JSON.parse(key)), [key]);
|
|
18
|
+
const cfg = checked.config;
|
|
19
|
+
const [now, setNow] = useState(0);
|
|
20
|
+
const cb = useRef({ onFrame, onInvalid });
|
|
21
|
+
cb.current = { onFrame, onInvalid };
|
|
22
|
+
const aspect = cfg ? String(getPath(cfg, 'canvas.aspectRatio')) : '9:16';
|
|
23
|
+
const height = Math.round(width / (RATIO[aspect] ?? 9 / 16));
|
|
24
|
+
useEffect(() => installPaperFoldFonts(), []);
|
|
25
|
+
useEffect(() => { if (!checked.valid)
|
|
26
|
+
cb.current.onInvalid?.(checked.errors); }, [checked]);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (!cfg)
|
|
29
|
+
return;
|
|
30
|
+
const total = timeline(cfg).end;
|
|
31
|
+
const speed = getPath(cfg, 'motion.speed');
|
|
32
|
+
const reduced = typeof window !== 'undefined' && window.matchMedia?.('(prefers-reduced-motion: reduce)').matches;
|
|
33
|
+
if (frame !== undefined || !autoPlay || reduced) {
|
|
34
|
+
setNow(frame ?? (reduced ? total - 1 : 0));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
let raf = 0;
|
|
38
|
+
const start = performance.now();
|
|
39
|
+
const tick = (t) => {
|
|
40
|
+
const m = ((t - start) / 1000) * MOTION_FPS * speed;
|
|
41
|
+
const f = loop ? m % total : Math.min(m, total - 1);
|
|
42
|
+
setNow(f);
|
|
43
|
+
cb.current.onFrame?.(f);
|
|
44
|
+
if (loop || m < total)
|
|
45
|
+
raf = requestAnimationFrame(tick);
|
|
46
|
+
};
|
|
47
|
+
raf = requestAnimationFrame(tick);
|
|
48
|
+
return () => cancelAnimationFrame(raf);
|
|
49
|
+
}, [cfg, frame, autoPlay, loop]);
|
|
50
|
+
if (!checked.valid) {
|
|
51
|
+
return (_jsxs("div", { role: "alert", className: className, style: { width, padding: 12, font: '13px/1.4 system-ui', border: '1px solid currentColor' }, children: [_jsx("strong", { children: "This paper-fold configuration is not valid." }), _jsx("ul", { children: checked.errors.slice(0, 8).map((e) => _jsx("li", { children: e.message }, e.path + e.message)) })] }));
|
|
52
|
+
}
|
|
53
|
+
const label = [getPath(cfg, 'content.logo'), getPath(cfg, 'content.top.headline'), getPath(cfg, 'content.middle.headline'), getPath(cfg, 'content.bottom.body'), getPath(cfg, 'content.cta.text')].filter(Boolean).join(' — ');
|
|
54
|
+
return (_jsx("div", { role: "img", "aria-label": label, className: className, style: { width, height, position: 'relative', overflow: 'hidden' }, children: _jsx("div", { "aria-hidden": "true", children: _jsx(PaperFoldFrame, { config: cfg, frame: now, width: width, height: height, debug: debug, resolveAsset: resolveAsset }) }) }));
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=PaperFoldPlayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaperFoldPlayer.js","sourceRoot":"","sources":["../../../../src/motion/paperfold/PaperFoldPlayer.tsx"],"names":[],"mappings":"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"}
|