@imgly/codesign-mcp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +16 -0
- package/README.md +158 -0
- package/assets/docs/api/SKILL.md +49 -0
- package/assets/docs/api/index.d.ts +10518 -0
- package/assets/docs/guide/SKILL.md +142 -0
- package/assets/docs/guide/actions.md +1038 -0
- package/assets/docs/guide/animation/create/base.md +467 -0
- package/assets/docs/guide/animation/create/text.md +453 -0
- package/assets/docs/guide/animation/create.md +558 -0
- package/assets/docs/guide/animation/edit.md +501 -0
- package/assets/docs/guide/animation/overview.md +22 -0
- package/assets/docs/guide/animation/types.md +430 -0
- package/assets/docs/guide/animation.md +23 -0
- package/assets/docs/guide/api/AssetAPI.md +602 -0
- package/assets/docs/guide/api/BlockAPI.md +6152 -0
- package/assets/docs/guide/api/CreativeEngine.md +180 -0
- package/assets/docs/guide/api/EditorAPI.md +1261 -0
- package/assets/docs/guide/api/EventAPI.md +25 -0
- package/assets/docs/guide/api/SceneAPI.md +729 -0
- package/assets/docs/guide/api/VariableAPI.md +59 -0
- package/assets/docs/guide/api/types.md +71 -0
- package/assets/docs/guide/api-reference/overview.md +20 -0
- package/assets/docs/guide/automation/auto-resize.md +412 -0
- package/assets/docs/guide/automation/batch-processing.md +474 -0
- package/assets/docs/guide/automation/data-merge.md +406 -0
- package/assets/docs/guide/automation/design-generation.md +107 -0
- package/assets/docs/guide/automation/overview.md +16 -0
- package/assets/docs/guide/automation.md +24 -0
- package/assets/docs/guide/browser-support.md +38 -0
- package/assets/docs/guide/capabilities.md +18 -0
- package/assets/docs/guide/colors/adjust.md +551 -0
- package/assets/docs/guide/colors/apply.md +349 -0
- package/assets/docs/guide/colors/basics.md +440 -0
- package/assets/docs/guide/colors/conversion.md +504 -0
- package/assets/docs/guide/colors/create-color-palette.md +426 -0
- package/assets/docs/guide/colors/for-print/cmyk.md +577 -0
- package/assets/docs/guide/colors/for-print/spot.md +751 -0
- package/assets/docs/guide/colors/for-print.md +21 -0
- package/assets/docs/guide/colors/for-screen/p3.md +60 -0
- package/assets/docs/guide/colors/for-screen/srgb.md +463 -0
- package/assets/docs/guide/colors/for-screen.md +21 -0
- package/assets/docs/guide/colors/overview.md +20 -0
- package/assets/docs/guide/colors/replace.md +535 -0
- package/assets/docs/guide/colors.md +28 -0
- package/assets/docs/guide/compatibility.md +27 -0
- package/assets/docs/guide/concepts/architecture.md +99 -0
- package/assets/docs/guide/concepts/assets.md +360 -0
- package/assets/docs/guide/concepts/blocks.md +750 -0
- package/assets/docs/guide/concepts/buffers.md +546 -0
- package/assets/docs/guide/concepts/design-units.md +333 -0
- package/assets/docs/guide/concepts/edit-modes.md +431 -0
- package/assets/docs/guide/concepts/editing-workflow.md +303 -0
- package/assets/docs/guide/concepts/events.md +466 -0
- package/assets/docs/guide/concepts/headless-mode/browser.md +291 -0
- package/assets/docs/guide/concepts/pages.md +396 -0
- package/assets/docs/guide/concepts/resources.md +496 -0
- package/assets/docs/guide/concepts/scenes.md +443 -0
- package/assets/docs/guide/concepts/templating.md +194 -0
- package/assets/docs/guide/concepts/terminology.md +296 -0
- package/assets/docs/guide/concepts/undo-and-history.md +461 -0
- package/assets/docs/guide/concepts.md +38 -0
- package/assets/docs/guide/configuration.md +469 -0
- package/assets/docs/guide/conversion/overview.md +22 -0
- package/assets/docs/guide/conversion/to-base64.md +234 -0
- package/assets/docs/guide/conversion/to-pdf.md +616 -0
- package/assets/docs/guide/conversion/to-png.md +290 -0
- package/assets/docs/guide/conversion.md +23 -0
- package/assets/docs/guide/create-audio/audio/add-music.md +430 -0
- package/assets/docs/guide/create-audio/audio/add-sound-effects.md +664 -0
- package/assets/docs/guide/create-audio/audio/loop.md +370 -0
- package/assets/docs/guide/create-audio/audio.md +336 -0
- package/assets/docs/guide/create-composition/add-background.md +395 -0
- package/assets/docs/guide/create-composition/blend-modes.md +372 -0
- package/assets/docs/guide/create-composition/collage.md +432 -0
- package/assets/docs/guide/create-composition/group-and-ungroup.md +388 -0
- package/assets/docs/guide/create-composition/layer-management.md +503 -0
- package/assets/docs/guide/create-composition/layout.md +396 -0
- package/assets/docs/guide/create-composition/lock-design.md +362 -0
- package/assets/docs/guide/create-composition/multi-page.md +204 -0
- package/assets/docs/guide/create-composition/overview.md +18 -0
- package/assets/docs/guide/create-composition/programmatic.md +593 -0
- package/assets/docs/guide/create-composition.md +30 -0
- package/assets/docs/guide/create-templates/add-dynamic-content/placeholders.md +688 -0
- package/assets/docs/guide/create-templates/add-dynamic-content/set-editing-constraints.md +600 -0
- package/assets/docs/guide/create-templates/add-dynamic-content/text-variables.md +647 -0
- package/assets/docs/guide/create-templates/add-dynamic-content.md +307 -0
- package/assets/docs/guide/create-templates/add-to-template-library.md +297 -0
- package/assets/docs/guide/create-templates/edit-or-remove.md +441 -0
- package/assets/docs/guide/create-templates/from-scratch.md +558 -0
- package/assets/docs/guide/create-templates/import/from-scene-file.md +440 -0
- package/assets/docs/guide/create-templates/import.md +244 -0
- package/assets/docs/guide/create-templates/lock.md +325 -0
- package/assets/docs/guide/create-templates/overview.md +16 -0
- package/assets/docs/guide/create-templates.md +32 -0
- package/assets/docs/guide/create-video/audio/adjust-speed.md +302 -0
- package/assets/docs/guide/create-video/audio/adjust-volume.md +346 -0
- package/assets/docs/guide/create-video/control.md +285 -0
- package/assets/docs/guide/create-video/limitations.md +396 -0
- package/assets/docs/guide/create-video/overview.md +224 -0
- package/assets/docs/guide/create-video/timeline-editor.md +622 -0
- package/assets/docs/guide/create-video/update-caption-presets.md +676 -0
- package/assets/docs/guide/create-video.md +32 -0
- package/assets/docs/guide/edit-image/add-watermark.md +497 -0
- package/assets/docs/guide/edit-image/overview.md +22 -0
- package/assets/docs/guide/edit-image/remove-bg.md +420 -0
- package/assets/docs/guide/edit-image/replace-colors.md +680 -0
- package/assets/docs/guide/edit-image/transform/crop.md +523 -0
- package/assets/docs/guide/edit-image/transform/move.md +279 -0
- package/assets/docs/guide/edit-image/transform/resize.md +301 -0
- package/assets/docs/guide/edit-image/transform/rotate.md +408 -0
- package/assets/docs/guide/edit-image/transform/scale.md +278 -0
- package/assets/docs/guide/edit-image/transform.md +24 -0
- package/assets/docs/guide/edit-image/vectorize.md +204 -0
- package/assets/docs/guide/edit-image.md +25 -0
- package/assets/docs/guide/edit-video/add-captions.md +589 -0
- package/assets/docs/guide/edit-video/add-watermark.md +429 -0
- package/assets/docs/guide/edit-video/join-and-arrange.md +540 -0
- package/assets/docs/guide/edit-video/redaction.md +544 -0
- package/assets/docs/guide/edit-video/split.md +634 -0
- package/assets/docs/guide/edit-video/transform/crop.md +380 -0
- package/assets/docs/guide/edit-video/transform/flip.md +182 -0
- package/assets/docs/guide/edit-video/transform/move.md +413 -0
- package/assets/docs/guide/edit-video/transform/resize.md +534 -0
- package/assets/docs/guide/edit-video/transform/rotate.md +312 -0
- package/assets/docs/guide/edit-video/transform/scale.md +603 -0
- package/assets/docs/guide/edit-video/transform.md +25 -0
- package/assets/docs/guide/edit-video/trim.md +773 -0
- package/assets/docs/guide/engine-interface.md +108 -0
- package/assets/docs/guide/export-save-publish/create-thumbnail.md +292 -0
- package/assets/docs/guide/export-save-publish/export/compress.md +639 -0
- package/assets/docs/guide/export-save-publish/export/overview.md +576 -0
- package/assets/docs/guide/export-save-publish/export/partial-export.md +694 -0
- package/assets/docs/guide/export-save-publish/export/size-limits.md +401 -0
- package/assets/docs/guide/export-save-publish/export/to-html5.md +474 -0
- package/assets/docs/guide/export-save-publish/export/to-jpeg.md +312 -0
- package/assets/docs/guide/export-save-publish/export/to-mp4.md +364 -0
- package/assets/docs/guide/export-save-publish/export/to-pdf.md +389 -0
- package/assets/docs/guide/export-save-publish/export/to-png.md +255 -0
- package/assets/docs/guide/export-save-publish/export/to-raw-data.md +303 -0
- package/assets/docs/guide/export-save-publish/export/to-webp.md +261 -0
- package/assets/docs/guide/export-save-publish/export/with-color-mask.md +278 -0
- package/assets/docs/guide/export-save-publish/export.md +36 -0
- package/assets/docs/guide/export-save-publish/for-printing.md +423 -0
- package/assets/docs/guide/export-save-publish/for-social-media.md +318 -0
- package/assets/docs/guide/export-save-publish/pre-export-validation.md +698 -0
- package/assets/docs/guide/export-save-publish/save.md +340 -0
- package/assets/docs/guide/export-save-publish/store-custom-metadata.md +367 -0
- package/assets/docs/guide/file-format-support.md +34 -0
- package/assets/docs/guide/fills/color.md +678 -0
- package/assets/docs/guide/fills/image.md +539 -0
- package/assets/docs/guide/fills/overview.md +144 -0
- package/assets/docs/guide/fills/video.md +641 -0
- package/assets/docs/guide/fills.md +24 -0
- package/assets/docs/guide/filters-and-effects/apply.md +1019 -0
- package/assets/docs/guide/filters-and-effects/blur.md +382 -0
- package/assets/docs/guide/filters-and-effects/chroma-key-green-screen.md +445 -0
- package/assets/docs/guide/filters-and-effects/create-custom-filters.md +614 -0
- package/assets/docs/guide/filters-and-effects/create-custom-lut-filter.md +426 -0
- package/assets/docs/guide/filters-and-effects/distortion.md +527 -0
- package/assets/docs/guide/filters-and-effects/duotone.md +602 -0
- package/assets/docs/guide/filters-and-effects/gradients.md +1311 -0
- package/assets/docs/guide/filters-and-effects/overview.md +22 -0
- package/assets/docs/guide/filters-and-effects/support.md +623 -0
- package/assets/docs/guide/filters-and-effects.md +28 -0
- package/assets/docs/guide/get-started/agent-skills.md +119 -0
- package/assets/docs/guide/get-started/build-with-ai.md +45 -0
- package/assets/docs/guide/get-started/mcp-server.md +119 -0
- package/assets/docs/guide/get-started/overview.md +28 -0
- package/assets/docs/guide/get-started/vanilla-js/quickstart.md +175 -0
- package/assets/docs/guide/grid-and-rulers.md +222 -0
- package/assets/docs/guide/guides/export-save-publish/export/audio.md +224 -0
- package/assets/docs/guide/guides/text/rendering-internals.md +796 -0
- package/assets/docs/guide/guides.md +49 -0
- package/assets/docs/guide/import-media/asset-library.md +23 -0
- package/assets/docs/guide/import-media/asset-panel/basics.md +324 -0
- package/assets/docs/guide/import-media/asset-panel/customize.md +478 -0
- package/assets/docs/guide/import-media/asset-panel/refresh-assets.md +415 -0
- package/assets/docs/guide/import-media/asset-panel/thumbnails.md +633 -0
- package/assets/docs/guide/import-media/capture-from-camera/record-video.md +137 -0
- package/assets/docs/guide/import-media/capture-from-camera.md +20 -0
- package/assets/docs/guide/import-media/concepts.md +173 -0
- package/assets/docs/guide/import-media/content-json-schema.md +615 -0
- package/assets/docs/guide/import-media/default-assets.md +381 -0
- package/assets/docs/guide/import-media/edit-or-remove-assets.md +489 -0
- package/assets/docs/guide/import-media/file-format-support.md +178 -0
- package/assets/docs/guide/import-media/from-local-source/user-upload.md +438 -0
- package/assets/docs/guide/import-media/from-local-source.md +20 -0
- package/assets/docs/guide/import-media/from-remote-source/asset-versioning.md +390 -0
- package/assets/docs/guide/import-media/from-remote-source/getty-images.md +627 -0
- package/assets/docs/guide/import-media/from-remote-source/imgly-premium-assets.md +625 -0
- package/assets/docs/guide/import-media/from-remote-source/pexels.md +692 -0
- package/assets/docs/guide/import-media/from-remote-source/remote-asset.md +473 -0
- package/assets/docs/guide/import-media/from-remote-source/soundstripe.md +497 -0
- package/assets/docs/guide/import-media/from-remote-source/third-party.md +51 -0
- package/assets/docs/guide/import-media/from-remote-source/unsplash.md +914 -0
- package/assets/docs/guide/import-media/from-remote-source/your-server.md +764 -0
- package/assets/docs/guide/import-media/from-remote-source.md +28 -0
- package/assets/docs/guide/import-media/overview.md +32 -0
- package/assets/docs/guide/import-media/retrieve-mimetype.md +274 -0
- package/assets/docs/guide/import-media/size-limits.md +20 -0
- package/assets/docs/guide/import-media/source-sets.md +476 -0
- package/assets/docs/guide/import-media.md +32 -0
- package/assets/docs/guide/insert-media/audio.md +291 -0
- package/assets/docs/guide/insert-media/images.md +380 -0
- package/assets/docs/guide/insert-media/position-and-align.md +734 -0
- package/assets/docs/guide/insert-media/shapes-or-stickers.md +799 -0
- package/assets/docs/guide/insert-media/videos.md +308 -0
- package/assets/docs/guide/insert-media.md +24 -0
- package/assets/docs/guide/key-capabilities.md +24 -0
- package/assets/docs/guide/key-concepts.md +83 -0
- package/assets/docs/guide/licensing.md +45 -0
- package/assets/docs/guide/llms-txt.md +53 -0
- package/assets/docs/guide/open-the-editor/blank-canvas.md +124 -0
- package/assets/docs/guide/open-the-editor/from-htmlcanvas.md +228 -0
- package/assets/docs/guide/open-the-editor/from-image.md +205 -0
- package/assets/docs/guide/open-the-editor/from-template.md +189 -0
- package/assets/docs/guide/open-the-editor/from-video.md +274 -0
- package/assets/docs/guide/open-the-editor/import-design/from-archive.md +504 -0
- package/assets/docs/guide/open-the-editor/import-design/from-indesign.md +680 -0
- package/assets/docs/guide/open-the-editor/import-design/from-photoshop.md +865 -0
- package/assets/docs/guide/open-the-editor/import-design.md +481 -0
- package/assets/docs/guide/open-the-editor/load-scene.md +178 -0
- package/assets/docs/guide/open-the-editor/overview.md +20 -0
- package/assets/docs/guide/open-the-editor/set-zoom-level.md +303 -0
- package/assets/docs/guide/open-the-editor/uri-resolver.md +347 -0
- package/assets/docs/guide/open-the-editor.md +29 -0
- package/assets/docs/guide/outlines/overview.md +14 -0
- package/assets/docs/guide/outlines/shadows-and-glows.md +515 -0
- package/assets/docs/guide/outlines/strokes.md +292 -0
- package/assets/docs/guide/outlines.md +22 -0
- package/assets/docs/guide/overview.md +22 -0
- package/assets/docs/guide/performance.md +217 -0
- package/assets/docs/guide/plugins/asset-sources.md +553 -0
- package/assets/docs/guide/plugins/print-ready-pdf.md +549 -0
- package/assets/docs/guide/plugins.md +36 -0
- package/assets/docs/guide/rules/asset-handling.md +180 -0
- package/assets/docs/guide/rules/common-pitfalls.md +272 -0
- package/assets/docs/guide/rules/content-fill-mode.md +29 -0
- package/assets/docs/guide/rules/enforce-brand-guidelines.md +672 -0
- package/assets/docs/guide/rules/lock-content.md +478 -0
- package/assets/docs/guide/rules/moderate-content.md +761 -0
- package/assets/docs/guide/rules/overview.md +514 -0
- package/assets/docs/guide/rules/silent-init-errors.md +137 -0
- package/assets/docs/guide/rules/verify-properties-before-use.md +78 -0
- package/assets/docs/guide/rules.md +23 -0
- package/assets/docs/guide/security.md +199 -0
- package/assets/docs/guide/serve-assets.md +332 -0
- package/assets/docs/guide/settings.md +199 -0
- package/assets/docs/guide/shapes.md +23 -0
- package/assets/docs/guide/starterkits/3d-mockup-editor.md +748 -0
- package/assets/docs/guide/starterkits/advanced-editor.md +698 -0
- package/assets/docs/guide/starterkits/advanced-video-editor.md +696 -0
- package/assets/docs/guide/starterkits/ai-editor.md +749 -0
- package/assets/docs/guide/starterkits/airtable-image-editor.md +672 -0
- package/assets/docs/guide/starterkits/apparel-ui.md +188 -0
- package/assets/docs/guide/starterkits/assets.md +27 -0
- package/assets/docs/guide/starterkits/auto-resize.md +586 -0
- package/assets/docs/guide/starterkits/automated-video-generation.md +692 -0
- package/assets/docs/guide/starterkits/background-removal-editor.md +480 -0
- package/assets/docs/guide/starterkits/content-moderation.md +863 -0
- package/assets/docs/guide/starterkits/creative-automation.md +28 -0
- package/assets/docs/guide/starterkits/custom-built-uis.md +26 -0
- package/assets/docs/guide/starterkits/customization.md +29 -0
- package/assets/docs/guide/starterkits/cutout-lines-editor.md +470 -0
- package/assets/docs/guide/starterkits/data-merge.md +850 -0
- package/assets/docs/guide/starterkits/design-editor.md +698 -0
- package/assets/docs/guide/starterkits/design-generation.md +719 -0
- package/assets/docs/guide/starterkits/design-validation.md +808 -0
- package/assets/docs/guide/starterkits/editor-ui-configurations.md +14 -0
- package/assets/docs/guide/starterkits/export-options.md +724 -0
- package/assets/docs/guide/starterkits/export-using-renderer.md +708 -0
- package/assets/docs/guide/starterkits/extensibility.md +28 -0
- package/assets/docs/guide/starterkits/force-crop-editor.md +675 -0
- package/assets/docs/guide/starterkits/form-based-template-adoption.md +522 -0
- package/assets/docs/guide/starterkits/getty-images-editor.md +700 -0
- package/assets/docs/guide/starterkits/html5-ads-exporter.md +719 -0
- package/assets/docs/guide/starterkits/indesign-template-import.md +580 -0
- package/assets/docs/guide/starterkits/layouts-editor.md +724 -0
- package/assets/docs/guide/starterkits/mobile-ui.md +185 -0
- package/assets/docs/guide/starterkits/mockup-editor.md +745 -0
- package/assets/docs/guide/starterkits/multi-image-generation.md +542 -0
- package/assets/docs/guide/starterkits/page-sizes-editor.md +657 -0
- package/assets/docs/guide/starterkits/pexels-image-editor.md +665 -0
- package/assets/docs/guide/starterkits/photo-editor.md +755 -0
- package/assets/docs/guide/starterkits/photo-ui.md +186 -0
- package/assets/docs/guide/starterkits/photobook-ui.md +188 -0
- package/assets/docs/guide/starterkits/placeholders.md +678 -0
- package/assets/docs/guide/starterkits/player.md +405 -0
- package/assets/docs/guide/starterkits/plugins.md +25 -0
- package/assets/docs/guide/starterkits/postcard-editor.md +202 -0
- package/assets/docs/guide/starterkits/pptx-template-import.md +581 -0
- package/assets/docs/guide/starterkits/print-ready-pdf-editor.md +746 -0
- package/assets/docs/guide/starterkits/product-editor.md +773 -0
- package/assets/docs/guide/starterkits/psd-template-import.md +580 -0
- package/assets/docs/guide/starterkits/qr-code-editor.md +470 -0
- package/assets/docs/guide/starterkits/single-page-editor.md +661 -0
- package/assets/docs/guide/starterkits/start-with-image.md +684 -0
- package/assets/docs/guide/starterkits/start-with-video.md +651 -0
- package/assets/docs/guide/starterkits/t-shirt-designer.md +742 -0
- package/assets/docs/guide/starterkits/templating.md +23 -0
- package/assets/docs/guide/starterkits/theming.md +662 -0
- package/assets/docs/guide/starterkits/translation-internationalization.md +662 -0
- package/assets/docs/guide/starterkits/unsplash-editor.md +839 -0
- package/assets/docs/guide/starterkits/vectorizer-editor.md +466 -0
- package/assets/docs/guide/starterkits/version-history.md +745 -0
- package/assets/docs/guide/starterkits/video-animations.md +853 -0
- package/assets/docs/guide/starterkits/video-captions.md +884 -0
- package/assets/docs/guide/starterkits/video-editing.md +25 -0
- package/assets/docs/guide/starterkits/video-editor.md +696 -0
- package/assets/docs/guide/starterkits/video-export-options.md +676 -0
- package/assets/docs/guide/starterkits/viewer.md +400 -0
- package/assets/docs/guide/starterkits.md +41 -0
- package/assets/docs/guide/stickers-and-shapes/combine.md +743 -0
- package/assets/docs/guide/stickers-and-shapes/create-cutout.md +425 -0
- package/assets/docs/guide/stickers-and-shapes/create-edit/create-shapes.md +794 -0
- package/assets/docs/guide/stickers-and-shapes/create-edit/create-stickers.md +290 -0
- package/assets/docs/guide/stickers-and-shapes/create-edit/edit-shapes.md +211 -0
- package/assets/docs/guide/stickers-and-shapes/create-edit/vector-edit.md +362 -0
- package/assets/docs/guide/stickers-and-shapes/insert-qr-code.md +208 -0
- package/assets/docs/guide/stickers.md +21 -0
- package/assets/docs/guide/text/add.md +641 -0
- package/assets/docs/guide/text/adjust-spacing.md +288 -0
- package/assets/docs/guide/text/auto-size.md +404 -0
- package/assets/docs/guide/text/custom-fonts.md +401 -0
- package/assets/docs/guide/text/decorations.md +330 -0
- package/assets/docs/guide/text/edit.md +458 -0
- package/assets/docs/guide/text/effects.md +244 -0
- package/assets/docs/guide/text/emojis.md +310 -0
- package/assets/docs/guide/text/enumerations.md +258 -0
- package/assets/docs/guide/text/language-support.md +604 -0
- package/assets/docs/guide/text/overview.md +14 -0
- package/assets/docs/guide/text/styling.md +390 -0
- package/assets/docs/guide/text/text-designs.md +834 -0
- package/assets/docs/guide/text.md +33 -0
- package/assets/docs/guide/to-v1-10.md +131 -0
- package/assets/docs/guide/to-v1-13.md +165 -0
- package/assets/docs/guide/to-v1-19.md +315 -0
- package/assets/docs/guide/to-v1-32.md +110 -0
- package/assets/docs/guide/to-v1-69.md +468 -0
- package/assets/docs/guide/to-v1-72.md +193 -0
- package/assets/docs/guide/upgrade.md +25 -0
- package/assets/docs/guide/use-templates/apply-template.md +279 -0
- package/assets/docs/guide/use-templates/generate.md +405 -0
- package/assets/docs/guide/use-templates/library.md +450 -0
- package/assets/docs/guide/use-templates/overview.md +20 -0
- package/assets/docs/guide/use-templates/programmatic.md +482 -0
- package/assets/docs/guide/use-templates/replace-content.md +399 -0
- package/assets/docs/guide/user-interface/ai-integration/audio-generation.md +428 -0
- package/assets/docs/guide/user-interface/ai-integration/auto-captions.md +337 -0
- package/assets/docs/guide/user-interface/ai-integration/custom-provider.md +853 -0
- package/assets/docs/guide/user-interface/ai-integration/gateway-provider.md +1045 -0
- package/assets/docs/guide/user-interface/ai-integration/image-generation.md +641 -0
- package/assets/docs/guide/user-interface/ai-integration/integrate.md +966 -0
- package/assets/docs/guide/user-interface/ai-integration/proxy-server.md +99 -0
- package/assets/docs/guide/user-interface/ai-integration/text-generation.md +498 -0
- package/assets/docs/guide/user-interface/ai-integration/video-generation.md +493 -0
- package/assets/docs/guide/user-interface/ai-integration.md +30 -0
- package/assets/docs/guide/user-interface/appearance/change-ui-font.md +316 -0
- package/assets/docs/guide/user-interface/appearance/custom-labels.md +509 -0
- package/assets/docs/guide/user-interface/appearance/icons.md +373 -0
- package/assets/docs/guide/user-interface/appearance/theming.md +665 -0
- package/assets/docs/guide/user-interface/appearance.md +23 -0
- package/assets/docs/guide/user-interface/build-your-own-ui.md +620 -0
- package/assets/docs/guide/user-interface/customization/canvas-menu.md +412 -0
- package/assets/docs/guide/user-interface/customization/canvas.md +281 -0
- package/assets/docs/guide/user-interface/customization/color-palette.md +413 -0
- package/assets/docs/guide/user-interface/customization/crop-presets.md +384 -0
- package/assets/docs/guide/user-interface/customization/disable-or-enable.md +676 -0
- package/assets/docs/guide/user-interface/customization/dock.md +399 -0
- package/assets/docs/guide/user-interface/customization/force-crop.md +289 -0
- package/assets/docs/guide/user-interface/customization/inspector-bar.md +371 -0
- package/assets/docs/guide/user-interface/customization/navigation-bar.md +516 -0
- package/assets/docs/guide/user-interface/customization/page-format.md +436 -0
- package/assets/docs/guide/user-interface/customization/panel.md +605 -0
- package/assets/docs/guide/user-interface/customization/quick-start/add-action-buttons.md +531 -0
- package/assets/docs/guide/user-interface/customization/quick-start/add-dock-buttons.md +358 -0
- package/assets/docs/guide/user-interface/customization/quick-start/create-custom-components.md +374 -0
- package/assets/docs/guide/user-interface/customization/quick-start/reorder-components.md +323 -0
- package/assets/docs/guide/user-interface/customization/quick-start/show-hide-components.md +294 -0
- package/assets/docs/guide/user-interface/customization/quick-start.md +12 -0
- package/assets/docs/guide/user-interface/customization/reference/component-order-api.md +519 -0
- package/assets/docs/guide/user-interface/customization/reference/component-reference.md +333 -0
- package/assets/docs/guide/user-interface/customization/reference.md +12 -0
- package/assets/docs/guide/user-interface/customization.md +39 -0
- package/assets/docs/guide/user-interface/localization.md +633 -0
- package/assets/docs/guide/user-interface/overview.md +167 -0
- package/assets/docs/guide/user-interface/ui-extensions/add-custom-feature.md +411 -0
- package/assets/docs/guide/user-interface/ui-extensions/asset-library.md +721 -0
- package/assets/docs/guide/user-interface/ui-extensions/create-custom-panel.md +331 -0
- package/assets/docs/guide/user-interface/ui-extensions/customize-behaviour.md +553 -0
- package/assets/docs/guide/user-interface/ui-extensions/notifications-and-dialogs.md +672 -0
- package/assets/docs/guide/user-interface/ui-extensions/quick-actions.md +415 -0
- package/assets/docs/guide/user-interface/ui-extensions/register-new-component.md +521 -0
- package/assets/docs/guide/user-interface/ui-extensions.md +26 -0
- package/assets/docs/guide/user-interface.md +25 -0
- package/assets/docs/guide/what-is-cesdk.md +319 -0
- package/assets/docs/handbook/SKILL.md +521 -0
- package/assets/prompts/evals-assetGenerate.md +12 -0
- package/assets/prompts/evals-brutalistCore.md +34 -0
- package/assets/prompts/evals-danskCatalogue.md +31 -0
- package/assets/prompts/evals-exportRoundTrip.md +12 -0
- package/assets/prompts/evals-inspectPriorCode.md +16 -0
- package/assets/prompts/evals-listProjectFiles.md +6 -0
- package/assets/prompts/evals-readAndExplainScript.md +6 -0
- package/assets/prompts/evals-resumeAcrossRestart.md +15 -0
- package/assets/prompts/evals-rewindRecovery.md +10 -0
- package/assets/prompts/evals-searchAcrossFiles.md +6 -0
- package/assets/prompts/evals-weddingCard.md +20 -0
- package/assets/prompts/explain.md +6 -0
- package/assets/prompts/review.md +6 -0
- package/dist/assets/inline.generated.d.ts +2 -0
- package/dist/assets/inline.generated.d.ts.map +1 -0
- package/dist/assets/inline.generated.js +413 -0
- package/dist/assets/inline.generated.js.map +1 -0
- package/dist/assets/load-browser.d.ts +8 -0
- package/dist/assets/load-browser.d.ts.map +1 -0
- package/dist/assets/load-browser.js +11 -0
- package/dist/assets/load-browser.js.map +1 -0
- package/dist/assets/load-node.d.ts +8 -0
- package/dist/assets/load-node.d.ts.map +1 -0
- package/dist/assets/load-node.js +11 -0
- package/dist/assets/load-node.js.map +1 -0
- package/dist/cli/http.d.ts +2 -0
- package/dist/cli/http.d.ts.map +1 -0
- package/dist/cli/http.js +231 -0
- package/dist/cli/http.js.map +1 -0
- package/dist/cli/redirect-console.d.ts +10 -0
- package/dist/cli/redirect-console.d.ts.map +1 -0
- package/dist/cli/redirect-console.js +18 -0
- package/dist/cli/redirect-console.js.map +1 -0
- package/dist/cli/resolve-license.d.ts +2 -0
- package/dist/cli/resolve-license.d.ts.map +1 -0
- package/dist/cli/resolve-license.js +13 -0
- package/dist/cli/resolve-license.js.map +1 -0
- package/dist/cli/stdio.d.ts +2 -0
- package/dist/cli/stdio.d.ts.map +1 -0
- package/dist/cli/stdio.js +124 -0
- package/dist/cli/stdio.js.map +1 -0
- package/dist/cli/trial-license.generated.d.ts +2 -0
- package/dist/cli/trial-license.generated.d.ts.map +1 -0
- package/dist/cli/trial-license.generated.js +4 -0
- package/dist/cli/trial-license.generated.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +64 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +61 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +102 -0
- package/dist/config.js.map +1 -0
- package/dist/cross-ref.d.ts +2 -0
- package/dist/cross-ref.d.ts.map +1 -0
- package/dist/cross-ref.js +31 -0
- package/dist/cross-ref.js.map +1 -0
- package/dist/dashboard/router.d.ts +3 -0
- package/dist/dashboard/router.d.ts.map +1 -0
- package/dist/dashboard/router.js +19 -0
- package/dist/dashboard/router.js.map +1 -0
- package/dist/dashboard/spa-assets.generated.d.ts +2 -0
- package/dist/dashboard/spa-assets.generated.d.ts.map +1 -0
- package/dist/dashboard/spa-assets.generated.js +220 -0
- package/dist/dashboard/spa-assets.generated.js.map +1 -0
- package/dist/engine/asset-sources.d.ts +17 -0
- package/dist/engine/asset-sources.d.ts.map +1 -0
- package/dist/engine/asset-sources.js +75 -0
- package/dist/engine/asset-sources.js.map +1 -0
- package/dist/engine/cesdk-adapter.d.ts +10 -0
- package/dist/engine/cesdk-adapter.d.ts.map +1 -0
- package/dist/engine/cesdk-adapter.js +19 -0
- package/dist/engine/cesdk-adapter.js.map +1 -0
- package/dist/engine/index.d.ts +3 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +3 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/mutex.d.ts +5 -0
- package/dist/engine/mutex.d.ts.map +1 -0
- package/dist/engine/mutex.js +42 -0
- package/dist/engine/mutex.js.map +1 -0
- package/dist/engine/session.d.ts +50 -0
- package/dist/engine/session.d.ts.map +1 -0
- package/dist/engine/session.js +95 -0
- package/dist/engine/session.js.map +1 -0
- package/dist/engine/uri-resolver.d.ts +14 -0
- package/dist/engine/uri-resolver.d.ts.map +1 -0
- package/dist/engine/uri-resolver.js +12 -0
- package/dist/engine/uri-resolver.js.map +1 -0
- package/dist/frontmatter.d.ts +15 -0
- package/dist/frontmatter.d.ts.map +1 -0
- package/dist/frontmatter.js +46 -0
- package/dist/frontmatter.js.map +1 -0
- package/dist/gateway/hosted-stub.d.ts +6 -0
- package/dist/gateway/hosted-stub.d.ts.map +1 -0
- package/dist/gateway/hosted-stub.js +11 -0
- package/dist/gateway/hosted-stub.js.map +1 -0
- package/dist/gateway/index.d.ts +4 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/index.js +4 -0
- package/dist/gateway/index.js.map +1 -0
- package/dist/gateway/local.d.ts +14 -0
- package/dist/gateway/local.d.ts.map +1 -0
- package/dist/gateway/local.js +41 -0
- package/dist/gateway/local.js.map +1 -0
- package/dist/gateway/types.d.ts +24 -0
- package/dist/gateway/types.d.ts.map +1 -0
- package/dist/gateway/types.js +7 -0
- package/dist/gateway/types.js.map +1 -0
- package/dist/http/server.d.ts +80 -0
- package/dist/http/server.d.ts.map +1 -0
- package/dist/http/server.js +183 -0
- package/dist/http/server.js.map +1 -0
- package/dist/http/session-manager.d.ts +42 -0
- package/dist/http/session-manager.d.ts.map +1 -0
- package/dist/http/session-manager.js +82 -0
- package/dist/http/session-manager.js.map +1 -0
- package/dist/http/workspace-auth.d.ts +9 -0
- package/dist/http/workspace-auth.d.ts.map +1 -0
- package/dist/http/workspace-auth.js +29 -0
- package/dist/http/workspace-auth.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/metrics/mount.d.ts +11 -0
- package/dist/metrics/mount.d.ts.map +1 -0
- package/dist/metrics/mount.js +13 -0
- package/dist/metrics/mount.js.map +1 -0
- package/dist/metrics/recorder.d.ts +55 -0
- package/dist/metrics/recorder.d.ts.map +1 -0
- package/dist/metrics/recorder.js +97 -0
- package/dist/metrics/recorder.js.map +1 -0
- package/dist/revisions/hash.d.ts +7 -0
- package/dist/revisions/hash.d.ts.map +1 -0
- package/dist/revisions/hash.js +24 -0
- package/dist/revisions/hash.js.map +1 -0
- package/dist/revisions/index.d.ts +4 -0
- package/dist/revisions/index.d.ts.map +1 -0
- package/dist/revisions/index.js +4 -0
- package/dist/revisions/index.js.map +1 -0
- package/dist/revisions/store.d.ts +69 -0
- package/dist/revisions/store.d.ts.map +1 -0
- package/dist/revisions/store.js +196 -0
- package/dist/revisions/store.js.map +1 -0
- package/dist/revisions/types.d.ts +39 -0
- package/dist/revisions/types.d.ts.map +1 -0
- package/dist/revisions/types.js +2 -0
- package/dist/revisions/types.js.map +1 -0
- package/dist/server.d.ts +51 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +175 -0
- package/dist/server.js.map +1 -0
- package/dist/skill-tools.d.ts +3 -0
- package/dist/skill-tools.d.ts.map +1 -0
- package/dist/skill-tools.js +105 -0
- package/dist/skill-tools.js.map +1 -0
- package/dist/test/test/cli/dispatcher.test.d.ts +2 -0
- package/dist/test/test/cli/dispatcher.test.d.ts.map +1 -0
- package/dist/test/test/cli/dispatcher.test.js +47 -0
- package/dist/test/test/cli/dispatcher.test.js.map +1 -0
- package/dist/test/test/cross-ref.test.d.ts +2 -0
- package/dist/test/test/cross-ref.test.d.ts.map +1 -0
- package/dist/test/test/cross-ref.test.js +39 -0
- package/dist/test/test/cross-ref.test.js.map +1 -0
- package/dist/test/test/engine/session.test.d.ts +2 -0
- package/dist/test/test/engine/session.test.d.ts.map +1 -0
- package/dist/test/test/engine/session.test.js +144 -0
- package/dist/test/test/engine/session.test.js.map +1 -0
- package/dist/test/test/engine/uri-resolver.test.d.ts +2 -0
- package/dist/test/test/engine/uri-resolver.test.d.ts.map +1 -0
- package/dist/test/test/engine/uri-resolver.test.js +38 -0
- package/dist/test/test/engine/uri-resolver.test.js.map +1 -0
- package/dist/test/test/frontmatter.test.d.ts +2 -0
- package/dist/test/test/frontmatter.test.d.ts.map +1 -0
- package/dist/test/test/frontmatter.test.js +55 -0
- package/dist/test/test/frontmatter.test.js.map +1 -0
- package/dist/test/test/gateway/hosted-stub.test.d.ts +2 -0
- package/dist/test/test/gateway/hosted-stub.test.d.ts.map +1 -0
- package/dist/test/test/gateway/hosted-stub.test.js +11 -0
- package/dist/test/test/gateway/hosted-stub.test.js.map +1 -0
- package/dist/test/test/gateway/local.test.d.ts +2 -0
- package/dist/test/test/gateway/local.test.d.ts.map +1 -0
- package/dist/test/test/gateway/local.test.js +29 -0
- package/dist/test/test/gateway/local.test.js.map +1 -0
- package/dist/test/test/handbook-contract.test.d.ts +2 -0
- package/dist/test/test/handbook-contract.test.d.ts.map +1 -0
- package/dist/test/test/handbook-contract.test.js +71 -0
- package/dist/test/test/handbook-contract.test.js.map +1 -0
- package/dist/test/test/http/server.test.d.ts +2 -0
- package/dist/test/test/http/server.test.d.ts.map +1 -0
- package/dist/test/test/http/server.test.js +245 -0
- package/dist/test/test/http/server.test.js.map +1 -0
- package/dist/test/test/http/session-manager.test.d.ts +2 -0
- package/dist/test/test/http/session-manager.test.d.ts.map +1 -0
- package/dist/test/test/http/session-manager.test.js +83 -0
- package/dist/test/test/http/session-manager.test.js.map +1 -0
- package/dist/test/test/revisions/hash.test.d.ts +2 -0
- package/dist/test/test/revisions/hash.test.d.ts.map +1 -0
- package/dist/test/test/revisions/hash.test.js +33 -0
- package/dist/test/test/revisions/hash.test.js.map +1 -0
- package/dist/test/test/revisions/store.test.d.ts +2 -0
- package/dist/test/test/revisions/store.test.d.ts.map +1 -0
- package/dist/test/test/revisions/store.test.js +245 -0
- package/dist/test/test/revisions/store.test.js.map +1 -0
- package/dist/test/test/server.test.d.ts +2 -0
- package/dist/test/test/server.test.d.ts.map +1 -0
- package/dist/test/test/server.test.js +157 -0
- package/dist/test/test/server.test.js.map +1 -0
- package/dist/test/test/skill-tools.test.d.ts +2 -0
- package/dist/test/test/skill-tools.test.d.ts.map +1 -0
- package/dist/test/test/skill-tools.test.js +84 -0
- package/dist/test/test/skill-tools.test.js.map +1 -0
- package/dist/test/test/smoke.test.d.ts +2 -0
- package/dist/test/test/smoke.test.d.ts.map +1 -0
- package/dist/test/test/smoke.test.js +8 -0
- package/dist/test/test/smoke.test.js.map +1 -0
- package/dist/test/test/tools/asset-generate.test.d.ts +2 -0
- package/dist/test/test/tools/asset-generate.test.d.ts.map +1 -0
- package/dist/test/test/tools/asset-generate.test.js +66 -0
- package/dist/test/test/tools/asset-generate.test.js.map +1 -0
- package/dist/test/test/tools/edit.test.d.ts +2 -0
- package/dist/test/test/tools/edit.test.d.ts.map +1 -0
- package/dist/test/test/tools/edit.test.js +205 -0
- package/dist/test/test/tools/edit.test.js.map +1 -0
- package/dist/test/test/tools/export.test.d.ts +2 -0
- package/dist/test/test/tools/export.test.d.ts.map +1 -0
- package/dist/test/test/tools/export.test.js +144 -0
- package/dist/test/test/tools/export.test.js.map +1 -0
- package/dist/test/test/tools/history.test.d.ts +2 -0
- package/dist/test/test/tools/history.test.d.ts.map +1 -0
- package/dist/test/test/tools/history.test.js +29 -0
- package/dist/test/test/tools/history.test.js.map +1 -0
- package/dist/test/test/tools/inspect.test.d.ts +2 -0
- package/dist/test/test/tools/inspect.test.d.ts.map +1 -0
- package/dist/test/test/tools/inspect.test.js +62 -0
- package/dist/test/test/tools/inspect.test.js.map +1 -0
- package/dist/test/test/tools/list.test.d.ts +2 -0
- package/dist/test/test/tools/list.test.d.ts.map +1 -0
- package/dist/test/test/tools/list.test.js +23 -0
- package/dist/test/test/tools/list.test.js.map +1 -0
- package/dist/test/test/tools/open-editor.test.d.ts +2 -0
- package/dist/test/test/tools/open-editor.test.d.ts.map +1 -0
- package/dist/test/test/tools/open-editor.test.js +53 -0
- package/dist/test/test/tools/open-editor.test.js.map +1 -0
- package/dist/test/test/tools/preview.test.d.ts +2 -0
- package/dist/test/test/tools/preview.test.d.ts.map +1 -0
- package/dist/test/test/tools/preview.test.js +73 -0
- package/dist/test/test/tools/preview.test.js.map +1 -0
- package/dist/test/test/tools/rename.test.d.ts +2 -0
- package/dist/test/test/tools/rename.test.d.ts.map +1 -0
- package/dist/test/test/tools/rename.test.js +17 -0
- package/dist/test/test/tools/rename.test.js.map +1 -0
- package/dist/test/test/viewer/broadcaster.test.d.ts +2 -0
- package/dist/test/test/viewer/broadcaster.test.d.ts.map +1 -0
- package/dist/test/test/viewer/broadcaster.test.js +53 -0
- package/dist/test/test/viewer/broadcaster.test.js.map +1 -0
- package/dist/test/test/viewer/resource-route.test.d.ts +2 -0
- package/dist/test/test/viewer/resource-route.test.d.ts.map +1 -0
- package/dist/test/test/viewer/resource-route.test.js +70 -0
- package/dist/test/test/viewer/resource-route.test.js.map +1 -0
- package/dist/test/test/viewer/router.test.d.ts +2 -0
- package/dist/test/test/viewer/router.test.d.ts.map +1 -0
- package/dist/test/test/viewer/router.test.js +171 -0
- package/dist/test/test/viewer/router.test.js.map +1 -0
- package/dist/test/test/viewer/url-builder.test.d.ts +2 -0
- package/dist/test/test/viewer/url-builder.test.d.ts.map +1 -0
- package/dist/test/test/viewer/url-builder.test.js +31 -0
- package/dist/test/test/viewer/url-builder.test.js.map +1 -0
- package/dist/test/test/workspace/hosted-stub.test.d.ts +2 -0
- package/dist/test/test/workspace/hosted-stub.test.d.ts.map +1 -0
- package/dist/test/test/workspace/hosted-stub.test.js +30 -0
- package/dist/test/test/workspace/hosted-stub.test.js.map +1 -0
- package/dist/test/test/workspace/in-memory.test.d.ts +2 -0
- package/dist/test/test/workspace/in-memory.test.d.ts.map +1 -0
- package/dist/test/test/workspace/in-memory.test.js +4 -0
- package/dist/test/test/workspace/in-memory.test.js.map +1 -0
- package/dist/test/test/workspace/node-fs.test.d.ts +2 -0
- package/dist/test/test/workspace/node-fs.test.d.ts.map +1 -0
- package/dist/test/test/workspace/node-fs.test.js +20 -0
- package/dist/test/test/workspace/node-fs.test.js.map +1 -0
- package/dist/test/test/workspace/shared-contract.d.ts +3 -0
- package/dist/test/test/workspace/shared-contract.d.ts.map +1 -0
- package/dist/test/test/workspace/shared-contract.js +92 -0
- package/dist/test/test/workspace/shared-contract.js.map +1 -0
- package/dist/test/tsconfig.test.tsbuildinfo +1 -0
- package/dist/test/vitest.config.d.ts +3 -0
- package/dist/test/vitest.config.d.ts.map +1 -0
- package/dist/test/vitest.config.js +8 -0
- package/dist/test/vitest.config.js.map +1 -0
- package/dist/tools/asset-generate.d.ts +12 -0
- package/dist/tools/asset-generate.d.ts.map +1 -0
- package/dist/tools/asset-generate.js +112 -0
- package/dist/tools/asset-generate.js.map +1 -0
- package/dist/tools/asset-search.d.ts +10 -0
- package/dist/tools/asset-search.d.ts.map +1 -0
- package/dist/tools/asset-search.js +120 -0
- package/dist/tools/asset-search.js.map +1 -0
- package/dist/tools/content-types.d.ts +11 -0
- package/dist/tools/content-types.d.ts.map +1 -0
- package/dist/tools/content-types.js +2 -0
- package/dist/tools/content-types.js.map +1 -0
- package/dist/tools/edit.d.ts +29 -0
- package/dist/tools/edit.d.ts.map +1 -0
- package/dist/tools/edit.js +165 -0
- package/dist/tools/edit.js.map +1 -0
- package/dist/tools/engine.d.ts +31 -0
- package/dist/tools/engine.d.ts.map +1 -0
- package/dist/tools/engine.js +59 -0
- package/dist/tools/engine.js.map +1 -0
- package/dist/tools/export.d.ts +19 -0
- package/dist/tools/export.d.ts.map +1 -0
- package/dist/tools/export.js +179 -0
- package/dist/tools/export.js.map +1 -0
- package/dist/tools/history.d.ts +7 -0
- package/dist/tools/history.d.ts.map +1 -0
- package/dist/tools/history.js +54 -0
- package/dist/tools/history.js.map +1 -0
- package/dist/tools/index.d.ts +35 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +72 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/inspect.d.ts +7 -0
- package/dist/tools/inspect.d.ts.map +1 -0
- package/dist/tools/inspect.js +80 -0
- package/dist/tools/inspect.js.map +1 -0
- package/dist/tools/list.d.ts +7 -0
- package/dist/tools/list.d.ts.map +1 -0
- package/dist/tools/list.js +18 -0
- package/dist/tools/list.js.map +1 -0
- package/dist/tools/metrics.d.ts +11 -0
- package/dist/tools/metrics.d.ts.map +1 -0
- package/dist/tools/metrics.js +28 -0
- package/dist/tools/metrics.js.map +1 -0
- package/dist/tools/open-editor.d.ts +10 -0
- package/dist/tools/open-editor.d.ts.map +1 -0
- package/dist/tools/open-editor.js +62 -0
- package/dist/tools/open-editor.js.map +1 -0
- package/dist/tools/preview.d.ts +12 -0
- package/dist/tools/preview.d.ts.map +1 -0
- package/dist/tools/preview.js +104 -0
- package/dist/tools/preview.js.map +1 -0
- package/dist/tools/rename.d.ts +7 -0
- package/dist/tools/rename.d.ts.map +1 -0
- package/dist/tools/rename.js +39 -0
- package/dist/tools/rename.js.map +1 -0
- package/dist/tools/result.d.ts +12 -0
- package/dist/tools/result.d.ts.map +1 -0
- package/dist/tools/result.js +55 -0
- package/dist/tools/result.js.map +1 -0
- package/dist/tools/save.d.ts +19 -0
- package/dist/tools/save.d.ts.map +1 -0
- package/dist/tools/save.js +117 -0
- package/dist/tools/save.js.map +1 -0
- package/dist/viewer/broadcaster.d.ts +13 -0
- package/dist/viewer/broadcaster.d.ts.map +1 -0
- package/dist/viewer/broadcaster.js +44 -0
- package/dist/viewer/broadcaster.js.map +1 -0
- package/dist/viewer/index.d.ts +7 -0
- package/dist/viewer/index.d.ts.map +1 -0
- package/dist/viewer/index.js +7 -0
- package/dist/viewer/index.js.map +1 -0
- package/dist/viewer/listener.d.ts +16 -0
- package/dist/viewer/listener.d.ts.map +1 -0
- package/dist/viewer/listener.js +30 -0
- package/dist/viewer/listener.js.map +1 -0
- package/dist/viewer/presigned-r2-url-builder.d.ts +30 -0
- package/dist/viewer/presigned-r2-url-builder.d.ts.map +1 -0
- package/dist/viewer/presigned-r2-url-builder.js +40 -0
- package/dist/viewer/presigned-r2-url-builder.js.map +1 -0
- package/dist/viewer/resource-route.d.ts +9 -0
- package/dist/viewer/resource-route.d.ts.map +1 -0
- package/dist/viewer/resource-route.js +59 -0
- package/dist/viewer/resource-route.js.map +1 -0
- package/dist/viewer/router.d.ts +20 -0
- package/dist/viewer/router.d.ts.map +1 -0
- package/dist/viewer/router.js +142 -0
- package/dist/viewer/router.js.map +1 -0
- package/dist/viewer/session-mount.d.ts +10 -0
- package/dist/viewer/session-mount.d.ts.map +1 -0
- package/dist/viewer/session-mount.js +24 -0
- package/dist/viewer/session-mount.js.map +1 -0
- package/dist/viewer/spa-assets.generated.d.ts +2 -0
- package/dist/viewer/spa-assets.generated.d.ts.map +1 -0
- package/dist/viewer/spa-assets.generated.js +989 -0
- package/dist/viewer/spa-assets.generated.js.map +1 -0
- package/dist/viewer/url-builder.d.ts +48 -0
- package/dist/viewer/url-builder.d.ts.map +1 -0
- package/dist/viewer/url-builder.js +38 -0
- package/dist/viewer/url-builder.js.map +1 -0
- package/dist/workspace/hosted-stub.d.ts +28 -0
- package/dist/workspace/hosted-stub.d.ts.map +1 -0
- package/dist/workspace/hosted-stub.js +44 -0
- package/dist/workspace/hosted-stub.js.map +1 -0
- package/dist/workspace/in-memory.d.ts +23 -0
- package/dist/workspace/in-memory.d.ts.map +1 -0
- package/dist/workspace/in-memory.js +161 -0
- package/dist/workspace/in-memory.js.map +1 -0
- package/dist/workspace/index.d.ts +6 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +6 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/node-fs.d.ts +23 -0
- package/dist/workspace/node-fs.d.ts.map +1 -0
- package/dist/workspace/node-fs.js +90 -0
- package/dist/workspace/node-fs.js.map +1 -0
- package/dist/workspace/s3.d.ts +32 -0
- package/dist/workspace/s3.d.ts.map +1 -0
- package/dist/workspace/s3.js +191 -0
- package/dist/workspace/s3.js.map +1 -0
- package/dist/workspace/scoped.d.ts +32 -0
- package/dist/workspace/scoped.d.ts.map +1 -0
- package/dist/workspace/scoped.js +76 -0
- package/dist/workspace/scoped.js.map +1 -0
- package/dist/workspace/types.d.ts +75 -0
- package/dist/workspace/types.d.ts.map +1 -0
- package/dist/workspace/types.js +18 -0
- package/dist/workspace/types.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,665 @@
|
|
|
1
|
+
> This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
|
|
2
|
+
|
|
3
|
+
**Navigation:** [Guides](./guides.md) > [User Interface](./user-interface.md) > [Appearance](./user-interface/appearance.md) > [Theming](./user-interface/appearance/theming.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Customize the visual appearance of CE.SDK's user interface through theming,
|
|
8
|
+
allowing you to adapt colors, fonts, and sizes to match your brand identity
|
|
9
|
+
or application design.
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
> **Reading time:** 10 minutes
|
|
14
|
+
>
|
|
15
|
+
> **Resources:**
|
|
16
|
+
>
|
|
17
|
+
> - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
|
|
18
|
+
> - [View source on GitHub](https://github.com/imgly/cesdk-web-examples)
|
|
19
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples)
|
|
20
|
+
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-user-interface-appearance-theming-browser/)
|
|
21
|
+
|
|
22
|
+
CE.SDK provides comprehensive theming capabilities at two levels: built-in themes for immediate use, and a complete CSS theming API for detailed brand-specific styling. This guide demonstrates how to use each approach to customize the editor's appearance.
|
|
23
|
+
|
|
24
|
+
```typescript file=@cesdk_web_examples/guides-user-interface-appearance-theming-browser/browser.ts reference-only
|
|
25
|
+
import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
|
|
26
|
+
|
|
27
|
+
import {
|
|
28
|
+
BlurAssetSource,
|
|
29
|
+
ColorPaletteAssetSource,
|
|
30
|
+
CropPresetsAssetSource,
|
|
31
|
+
DemoAssetSources,
|
|
32
|
+
EffectsAssetSource,
|
|
33
|
+
FiltersAssetSource,
|
|
34
|
+
PagePresetsAssetSource,
|
|
35
|
+
StickerAssetSource,
|
|
36
|
+
TextAssetSource,
|
|
37
|
+
TextComponentAssetSource,
|
|
38
|
+
TypefaceAssetSource,
|
|
39
|
+
UploadAssetSources,
|
|
40
|
+
VectorShapeAssetSource
|
|
41
|
+
} from '@cesdk/cesdk-js/plugins';
|
|
42
|
+
import { DesignEditorConfig } from './design-editor/plugin';
|
|
43
|
+
import packageJson from './package.json';
|
|
44
|
+
|
|
45
|
+
const GREEN_OLIVE_THEME_CSS = `
|
|
46
|
+
.ubq-public[data-ubq-theme='light'][data-ubq-scale='normal'] {
|
|
47
|
+
--ubq-canvas: hsl(95, 25%, 88%) !important;
|
|
48
|
+
--ubq-elevation-1: hsl(92, 22%, 83%) !important;
|
|
49
|
+
--ubq-elevation-2: hsl(88, 20%, 78%) !important;
|
|
50
|
+
--ubq-elevation-3: hsl(85, 18%, 73%) !important;
|
|
51
|
+
--ubq-interactive-default: hsl(88, 20%, 82%) !important;
|
|
52
|
+
--ubq-interactive-hover: hsl(88, 24%, 75%) !important;
|
|
53
|
+
--ubq-interactive-pressed: hsl(88, 28%, 68%) !important;
|
|
54
|
+
--ubq-interactive-accent-default: hsl(135, 45%, 48%) !important;
|
|
55
|
+
--ubq-interactive-accent-hover: hsl(135, 50%, 43%) !important;
|
|
56
|
+
--ubq-interactive-accent-pressed: hsl(135, 55%, 38%) !important;
|
|
57
|
+
}
|
|
58
|
+
`;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* CE.SDK Plugin: Theming Guide
|
|
62
|
+
*
|
|
63
|
+
* This example demonstrates:
|
|
64
|
+
* - Setting theme (light, dark, system)
|
|
65
|
+
* - Setting scale (normal, large, modern)
|
|
66
|
+
* - Dynamic scale with callback
|
|
67
|
+
* - Custom theme via CSS custom properties
|
|
68
|
+
*/
|
|
69
|
+
class Example implements EditorPlugin {
|
|
70
|
+
name = packageJson.name;
|
|
71
|
+
|
|
72
|
+
version = packageJson.version;
|
|
73
|
+
|
|
74
|
+
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
75
|
+
if (!cesdk) {
|
|
76
|
+
throw new Error('CE.SDK instance is required for this plugin');
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Set the theme to light, dark, or system
|
|
80
|
+
// 'system' automatically follows the user's OS theme preference
|
|
81
|
+
cesdk.ui.setTheme('light');
|
|
82
|
+
|
|
83
|
+
// Set a fixed scale: 'normal', 'large', or 'modern' (default)
|
|
84
|
+
// - normal: Standard UI scaling for desktop
|
|
85
|
+
// - large: Increased sizes for accessibility and touch devices
|
|
86
|
+
// - modern: Modern theme with refined visual design
|
|
87
|
+
cesdk.ui.setScale('normal');
|
|
88
|
+
|
|
89
|
+
// Apply custom green/olive theme after CE.SDK initialization
|
|
90
|
+
const style = document.createElement('style');
|
|
91
|
+
style.textContent = GREEN_OLIVE_THEME_CSS;
|
|
92
|
+
document.head.appendChild(style);
|
|
93
|
+
|
|
94
|
+
// Force theme refresh to pick up custom colors
|
|
95
|
+
cesdk.ui.setTheme('dark');
|
|
96
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
97
|
+
cesdk.ui.setTheme('light');
|
|
98
|
+
|
|
99
|
+
// Or use a dynamic scale based on viewport and device
|
|
100
|
+
cesdk.ui.setScale(({ containerWidth, isTouch }) => {
|
|
101
|
+
// Use large scale for small screens or touch devices
|
|
102
|
+
if ((containerWidth && containerWidth < 600) || isTouch) {
|
|
103
|
+
return 'large';
|
|
104
|
+
}
|
|
105
|
+
// Use normal scale for larger screens
|
|
106
|
+
return 'normal';
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// Get the current active theme
|
|
110
|
+
const currentTheme = cesdk.ui.getTheme(); // Returns 'light' or 'dark'
|
|
111
|
+
// eslint-disable-next-line no-console
|
|
112
|
+
console.log('Current theme:', currentTheme);
|
|
113
|
+
|
|
114
|
+
// Get the current scale setting
|
|
115
|
+
const currentScale = cesdk.ui.getScale(); // Returns scale or callback function
|
|
116
|
+
// eslint-disable-next-line no-console
|
|
117
|
+
console.log('Current scale:', currentScale);
|
|
118
|
+
|
|
119
|
+
// Create a design scene
|
|
120
|
+
await cesdk.addPlugin(new DesignEditorConfig());
|
|
121
|
+
|
|
122
|
+
// Add asset source plugins
|
|
123
|
+
await cesdk.addPlugin(new BlurAssetSource());
|
|
124
|
+
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
125
|
+
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
126
|
+
await cesdk.addPlugin(
|
|
127
|
+
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
128
|
+
);
|
|
129
|
+
await cesdk.addPlugin(
|
|
130
|
+
new DemoAssetSources({
|
|
131
|
+
include: [
|
|
132
|
+
'ly.img.templates.blank.*',
|
|
133
|
+
'ly.img.templates.presentation.*',
|
|
134
|
+
'ly.img.templates.print.*',
|
|
135
|
+
'ly.img.templates.social.*',
|
|
136
|
+
'ly.img.image.*'
|
|
137
|
+
]
|
|
138
|
+
})
|
|
139
|
+
);
|
|
140
|
+
await cesdk.addPlugin(new EffectsAssetSource());
|
|
141
|
+
await cesdk.addPlugin(new FiltersAssetSource());
|
|
142
|
+
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
143
|
+
await cesdk.addPlugin(new StickerAssetSource());
|
|
144
|
+
await cesdk.addPlugin(new TextAssetSource());
|
|
145
|
+
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
146
|
+
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
147
|
+
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
148
|
+
|
|
149
|
+
await cesdk.actions.run('scene.create', {
|
|
150
|
+
page: { width: 800, height: 600, unit: 'Pixel' }
|
|
151
|
+
});
|
|
152
|
+
const engine = cesdk.engine;
|
|
153
|
+
|
|
154
|
+
// Get the page
|
|
155
|
+
const pages = engine.block.findByType('page');
|
|
156
|
+
const page = pages[0];
|
|
157
|
+
if (!page) {
|
|
158
|
+
throw new Error('No page found');
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Add a visual element to demonstrate the theme
|
|
162
|
+
const imageUri = 'https://img.ly/static/ubq_samples/sample_1.jpg';
|
|
163
|
+
|
|
164
|
+
// Add an image to show theme effects
|
|
165
|
+
const imageBlock = await engine.block.addImage(imageUri, {
|
|
166
|
+
x: 100,
|
|
167
|
+
y: 100,
|
|
168
|
+
size: { width: 600, height: 400 }
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
engine.block.appendChild(page, imageBlock);
|
|
172
|
+
|
|
173
|
+
// Note: The custom theme defined in custom-theme.css will automatically apply
|
|
174
|
+
// when the theme/scale combination matches the CSS selectors
|
|
175
|
+
// Example: .ubq-public[data-ubq-theme='dark'][data-ubq-scale='normal']
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export default Example;
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Built-in Themes and Scales
|
|
183
|
+
|
|
184
|
+
We provide ready-to-use theme options and scale settings that can be configured at runtime, allowing you to adapt the editor's appearance without writing custom CSS.
|
|
185
|
+
|
|
186
|
+
### Setting the Theme
|
|
187
|
+
|
|
188
|
+
Use `cesdk.ui.setTheme()` to switch between light, dark, or system themes. The system option automatically follows the user's operating system theme preference.
|
|
189
|
+
|
|
190
|
+
```typescript highlight-set-theme
|
|
191
|
+
// Set the theme to light, dark, or system
|
|
192
|
+
// 'system' automatically follows the user's OS theme preference
|
|
193
|
+
cesdk.ui.setTheme('light');
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
By default, the light theme is active. When you set the theme to `'system'`, CE.SDK automatically adapts to the user's OS preference and updates whenever the system theme changes.
|
|
197
|
+
|
|
198
|
+
### Reading the Current Theme
|
|
199
|
+
|
|
200
|
+
To determine which theme is currently active, use `cesdk.ui.getTheme()`:
|
|
201
|
+
|
|
202
|
+
```typescript highlight-get-theme
|
|
203
|
+
// Get the current active theme
|
|
204
|
+
const currentTheme = cesdk.ui.getTheme(); // Returns 'light' or 'dark'
|
|
205
|
+
// eslint-disable-next-line no-console
|
|
206
|
+
console.log('Current theme:', currentTheme);
|
|
207
|
+
|
|
208
|
+
// Get the current scale setting
|
|
209
|
+
const currentScale = cesdk.ui.getScale(); // Returns scale or callback function
|
|
210
|
+
// eslint-disable-next-line no-console
|
|
211
|
+
console.log('Current scale:', currentScale);
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
This method always returns either `'light'` or `'dark'`, never `'system'`. When the system theme is configured, `getTheme()` returns the resolved theme based on the current OS preference.
|
|
215
|
+
|
|
216
|
+
### Setting the Scale
|
|
217
|
+
|
|
218
|
+
CE.SDK supports three scale modes that affect UI element sizes, spacing, and typography. Use `cesdk.ui.setScale()` to select a fixed scale:
|
|
219
|
+
|
|
220
|
+
```typescript highlight-set-scale
|
|
221
|
+
// Set a fixed scale: 'normal', 'large', or 'modern' (default)
|
|
222
|
+
// - normal: Standard UI scaling for desktop
|
|
223
|
+
// - large: Increased sizes for accessibility and touch devices
|
|
224
|
+
// - modern: Modern theme with refined visual design
|
|
225
|
+
cesdk.ui.setScale('normal');
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
The scale modes offer different visual experiences:
|
|
229
|
+
|
|
230
|
+
- **`normal`**: Standard UI scaling optimized for desktop and larger screens
|
|
231
|
+
- **`large`**: Increased element sizes, margins, and fonts for improved readability and accessibility, particularly beneficial for users with visual or motor impairments and those on small screens
|
|
232
|
+
- **`modern`** (default): Modern theme with refined color palette, unified elevation surfaces, and improved visual hierarchy
|
|
233
|
+
|
|
234
|
+
### Dynamic Scale with Callbacks
|
|
235
|
+
|
|
236
|
+
For responsive designs, you can provide a callback function that returns the appropriate scale based on viewport properties:
|
|
237
|
+
|
|
238
|
+
```typescript highlight-scale-callback
|
|
239
|
+
// Or use a dynamic scale based on viewport and device
|
|
240
|
+
cesdk.ui.setScale(({ containerWidth, isTouch }) => {
|
|
241
|
+
// Use large scale for small screens or touch devices
|
|
242
|
+
if ((containerWidth && containerWidth < 600) || isTouch) {
|
|
243
|
+
return 'large';
|
|
244
|
+
}
|
|
245
|
+
// Use normal scale for larger screens
|
|
246
|
+
return 'normal';
|
|
247
|
+
});
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
The callback receives an object with two properties:
|
|
251
|
+
|
|
252
|
+
- `containerWidth`: The width in pixels of the HTML element containing CE.SDK
|
|
253
|
+
- `isTouch`: Boolean indicating whether the user agent supports touch input
|
|
254
|
+
|
|
255
|
+
This callback is evaluated when the viewport size changes or when the touch capability is detected, allowing CE.SDK to adapt the scale dynamically.
|
|
256
|
+
|
|
257
|
+
## Custom CSS Theming
|
|
258
|
+
|
|
259
|
+
For complete control over the editor's appearance, use CE.SDK's CSS custom properties system. This approach allows you to define every aspect of the UI's visual design through CSS variables.
|
|
260
|
+
|
|
261
|
+
### Theme Structure
|
|
262
|
+
|
|
263
|
+
Custom themes use CSS selectors that combine the root class, theme attribute, and scale attribute:
|
|
264
|
+
|
|
265
|
+
```css
|
|
266
|
+
.ubq-public[data-ubq-theme='dark'][data-ubq-scale='normal'] {
|
|
267
|
+
/* Custom properties here */
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
The selector components are:
|
|
272
|
+
|
|
273
|
+
- `.ubq-public`: Root class that scopes all CE.SDK UI elements
|
|
274
|
+
- `[data-ubq-theme]`: Attribute for theme variant (`'light'` or `'dark'`)
|
|
275
|
+
- `[data-ubq-scale]`: Attribute for scale mode (`'normal'`, `'large'`, or `'modern'`)
|
|
276
|
+
|
|
277
|
+
### Loading Custom Themes
|
|
278
|
+
|
|
279
|
+
Load custom themes by linking a CSS file in your HTML or including a `<style>` tag on the same page as the editor:
|
|
280
|
+
|
|
281
|
+
```html
|
|
282
|
+
<link rel="stylesheet" href="custom-theme.css" />
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
Or inline:
|
|
286
|
+
|
|
287
|
+
```html
|
|
288
|
+
<style>
|
|
289
|
+
.ubq-public[data-ubq-theme='dark'][data-ubq-scale='normal'] {
|
|
290
|
+
--ubq-canvas: hsl(230.27, 52.11%, 13.92%);
|
|
291
|
+
--ubq-elevation-1: hsl(230.4, 52.08%, 18.82%);
|
|
292
|
+
/* ... more properties ... */
|
|
293
|
+
}
|
|
294
|
+
</style>
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### CSS Custom Properties
|
|
298
|
+
|
|
299
|
+
The theming API provides CSS custom properties organized into color and typography categories.
|
|
300
|
+
|
|
301
|
+
#### Color Properties
|
|
302
|
+
|
|
303
|
+
Color properties control surfaces, interactive elements, borders, and notifications. Key color property categories:
|
|
304
|
+
|
|
305
|
+
- **Canvas and Elevation**: `--ubq-canvas`, `--ubq-elevation-1`, `--ubq-elevation-2`
|
|
306
|
+
- **Foreground**: `--ubq-foreground-default`, `--ubq-foreground-light`, `--ubq-foreground-info`
|
|
307
|
+
- **Interactive States**: `--ubq-interactive-default`, `--ubq-interactive-hover`, `--ubq-interactive-pressed`
|
|
308
|
+
- **Input Elements**: `--ubq-input-default`, `--ubq-input-hover`
|
|
309
|
+
- **Borders and Strokes**: `--ubq-border-default`, `--ubq-stroke-contrast-1`, `--ubq-stroke-contrast-2`
|
|
310
|
+
- **Notices**: `--ubq-notice-info`, `--ubq-notice-warning`, `--ubq-notice-error`, `--ubq-notice-success`
|
|
311
|
+
|
|
312
|
+
#### Typography Properties
|
|
313
|
+
|
|
314
|
+
Typography properties control font families, sizes, line heights, letter spacing, and weights for different text styles:
|
|
315
|
+
|
|
316
|
+
- **Headlines**: `--ubq-typography-headline-l-*`, `--ubq-typography-headline-m-*`
|
|
317
|
+
- **Labels**: `--ubq-typography-label-m-*`, `--ubq-typography-label-s-*`
|
|
318
|
+
- **Body Text**: `--ubq-typography-body-m-*`
|
|
319
|
+
- **Input Text**: `--ubq-typography-input-m-*`
|
|
320
|
+
- **Buttons**: `--ubq-typography-button-m-*`
|
|
321
|
+
|
|
322
|
+
Each typography style includes properties for:
|
|
323
|
+
|
|
324
|
+
- `-size`: Font size in pixels
|
|
325
|
+
- `-line_height`: Line height in pixels
|
|
326
|
+
- `-letter_spacing`: Letter spacing (e.g., `0.02em`)
|
|
327
|
+
- `-font_family`: Font family with fallbacks (uses `--ubq-typography-font_family` variable, defaults to `'Inter', sans-serif`)
|
|
328
|
+
- `-weight`: Font weight (`normal`, `600`, etc.)
|
|
329
|
+
|
|
330
|
+
### Creating Theme Variants
|
|
331
|
+
|
|
332
|
+
We recommend providing both light and dark theme variants for the best user experience. Users expect to choose their preferred theme or have it follow their system preference.
|
|
333
|
+
|
|
334
|
+
```css
|
|
335
|
+
/* Dark theme */
|
|
336
|
+
.ubq-public[data-ubq-theme='dark'][data-ubq-scale='normal'] {
|
|
337
|
+
--ubq-canvas: hsl(230.27, 52.11%, 13.92%);
|
|
338
|
+
--ubq-foreground-default: hsla(0, 0%, 100%, 0.9);
|
|
339
|
+
/* ... more properties ... */
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
/* Light theme */
|
|
343
|
+
.ubq-public[data-ubq-theme='light'][data-ubq-scale='normal'] {
|
|
344
|
+
--ubq-canvas: hsl(0, 0%, 98%);
|
|
345
|
+
--ubq-foreground-default: hsla(0, 0%, 0%, 0.9);
|
|
346
|
+
/* ... more properties ... */
|
|
347
|
+
}
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
Similarly, consider providing scale variants for `normal`, `large`, and `modern` scales to ensure your theme looks correct at all scale settings.
|
|
351
|
+
|
|
352
|
+
## Best Practices
|
|
353
|
+
|
|
354
|
+
### Design Considerations
|
|
355
|
+
|
|
356
|
+
When creating custom themes:
|
|
357
|
+
|
|
358
|
+
- **Provide both light and dark variants** to respect user preferences
|
|
359
|
+
- **Support all three scale options** to ensure accessibility
|
|
360
|
+
- **Maintain sufficient contrast ratios** for readability (WCAG AA: 4.5:1 for normal text, 3:1 for large text)
|
|
361
|
+
- **Test with real content** to verify the theme works across all UI elements
|
|
362
|
+
- **Use system fonts as fallbacks** for reliable cross-platform rendering
|
|
363
|
+
|
|
364
|
+
### Implementation Tips
|
|
365
|
+
|
|
366
|
+
For reliable theme implementation:
|
|
367
|
+
|
|
368
|
+
- **Load themes before CE.SDK initialization** to prevent visual flashes
|
|
369
|
+
- **Organize theme files** by theme variant and scale for maintainability
|
|
370
|
+
- **Document custom property values** for team collaboration
|
|
371
|
+
- **Version control theme files** to track changes over time
|
|
372
|
+
|
|
373
|
+
### Performance
|
|
374
|
+
|
|
375
|
+
Optimize theme performance by:
|
|
376
|
+
|
|
377
|
+
- **Minimizing CSS specificity** for faster selector matching
|
|
378
|
+
- **Using CSS custom properties** for efficient theme switching
|
|
379
|
+
- **Avoiding unnecessary repaints** by grouping property updates
|
|
380
|
+
- **Caching theme preferences** in localStorage to persist user choices
|
|
381
|
+
|
|
382
|
+
### Accessibility
|
|
383
|
+
|
|
384
|
+
Ensure themes are accessible:
|
|
385
|
+
|
|
386
|
+
- **Respect system theme preference** by defaulting to `'system'` theme
|
|
387
|
+
- **Meet WCAG AA contrast ratios** for all text and interactive elements
|
|
388
|
+
- **Provide the `large` scale option** for users who need larger UI elements
|
|
389
|
+
- **Test with screen readers** to verify theme doesn't interfere with assistive technology
|
|
390
|
+
- **Include theme switching controls** for users to customize their experience
|
|
391
|
+
|
|
392
|
+
## Troubleshooting
|
|
393
|
+
|
|
394
|
+
### Theme Not Applying
|
|
395
|
+
|
|
396
|
+
If your custom theme isn't visible:
|
|
397
|
+
|
|
398
|
+
1. Verify CSS is loaded **before** CE.SDK initialization
|
|
399
|
+
2. Check CSS selector specificity matches or exceeds built-in theme selectors
|
|
400
|
+
3. Ensure `.ubq-public` class is used correctly in all selectors
|
|
401
|
+
4. Verify `data-ubq-theme` and `data-ubq-scale` attributes match the theme and scale you've set
|
|
402
|
+
|
|
403
|
+
### Theme Switching Not Working
|
|
404
|
+
|
|
405
|
+
If `setTheme()` doesn't update the UI:
|
|
406
|
+
|
|
407
|
+
1. Confirm the method is called **after** CE.SDK initialization completes
|
|
408
|
+
2. Verify CSS selectors cover all theme variants (light/dark)
|
|
409
|
+
3. Check the browser console for JavaScript errors
|
|
410
|
+
4. Inspect the DOM to ensure `data-ubq-theme` attribute is updating
|
|
411
|
+
|
|
412
|
+
### Colors Display Incorrectly
|
|
413
|
+
|
|
414
|
+
If colors appear wrong:
|
|
415
|
+
|
|
416
|
+
1. Check HSL/HSLA values are valid (hue: 0-360, saturation/lightness: 0%-100%, alpha: 0-1)
|
|
417
|
+
2. Verify alpha channel values are in the correct range (0.0 to 1.0)
|
|
418
|
+
3. Test color combinations for sufficient contrast
|
|
419
|
+
4. Look for typos in CSS property names (they fail silently)
|
|
420
|
+
|
|
421
|
+
### Typography Not Matching Design
|
|
422
|
+
|
|
423
|
+
If fonts don't match your design:
|
|
424
|
+
|
|
425
|
+
1. Verify font family names are spelled correctly and match loaded fonts
|
|
426
|
+
2. Check that custom fonts are loaded and available
|
|
427
|
+
3. Confirm fallback fonts are specified for reliability
|
|
428
|
+
4. Test that the specified font weights are available in the font family
|
|
429
|
+
|
|
430
|
+
### Scale Callback Not Triggering
|
|
431
|
+
|
|
432
|
+
If dynamic scale doesn't work:
|
|
433
|
+
|
|
434
|
+
1. Check callback function signature matches expected parameters
|
|
435
|
+
2. Verify `containerWidth` is being evaluated correctly (handle `undefined`)
|
|
436
|
+
3. Test on different viewport sizes to confirm callback execution
|
|
437
|
+
4. Add `console.log` statements to debug callback parameters
|
|
438
|
+
|
|
439
|
+
## API Reference
|
|
440
|
+
|
|
441
|
+
Quick reference for all theming-related APIs:
|
|
442
|
+
|
|
443
|
+
### Theme Management
|
|
444
|
+
|
|
445
|
+
| Method | Description |
|
|
446
|
+
| -------------------------------------------------- | --------------------------------------------------------------- |
|
|
447
|
+
| `cesdk.ui.setTheme('light' \| 'dark' \| 'system')` | Set the theme to light, dark, or system (follows OS preference) |
|
|
448
|
+
| `cesdk.ui.getTheme()` | Get current active theme (returns `'light'` or `'dark'`) |
|
|
449
|
+
|
|
450
|
+
### Scale Management
|
|
451
|
+
|
|
452
|
+
| Method | Description |
|
|
453
|
+
| ---------------------------------------------------- | ------------------------------------------------------------------------------ |
|
|
454
|
+
| `cesdk.ui.setScale('normal' \| 'large' \| 'modern')` | Set a fixed scale: normal (standard), large (touch-friendly), modern (refined) |
|
|
455
|
+
| `cesdk.ui.setScale(ScaleCallback)` | Set dynamic scale using callback based on viewport and device |
|
|
456
|
+
| `cesdk.ui.getScale()` | Get current scale setting (returns scale value or callback function) |
|
|
457
|
+
|
|
458
|
+
**ScaleCallback Type:**
|
|
459
|
+
|
|
460
|
+
```typescript
|
|
461
|
+
type ScaleCallback = (context: {
|
|
462
|
+
containerWidth: number;
|
|
463
|
+
isTouch: boolean;
|
|
464
|
+
}) => 'normal' | 'large' | 'modern';
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
### CSS Custom Properties
|
|
468
|
+
|
|
469
|
+
Complete reference of all available CSS custom properties for theming:
|
|
470
|
+
|
|
471
|
+
#### Color Tokens
|
|
472
|
+
|
|
473
|
+
**Canvas and Elevation**
|
|
474
|
+
|
|
475
|
+
- `--ubq-canvas`: Main canvas background color
|
|
476
|
+
- `--ubq-elevation-1`: First elevation level background
|
|
477
|
+
- `--ubq-elevation-2`: Second elevation level background
|
|
478
|
+
- `--ubq-elevation-3`: Third elevation level background
|
|
479
|
+
|
|
480
|
+
**Foreground Colors**
|
|
481
|
+
|
|
482
|
+
- `--ubq-foreground-default`: Default text and icon color
|
|
483
|
+
- `--ubq-foreground-light`: Lighter text color for secondary content
|
|
484
|
+
- `--ubq-foreground-info`: Informational text color
|
|
485
|
+
- `--ubq-foreground-active`: Active state foreground color
|
|
486
|
+
- `--ubq-foreground-accent`: Accent foreground color
|
|
487
|
+
- `--ubq-foreground-danger-default`: Danger state foreground color
|
|
488
|
+
- `--ubq-foreground-notice-default`: Notice foreground color
|
|
489
|
+
|
|
490
|
+
**Interactive Elements**
|
|
491
|
+
|
|
492
|
+
- `--ubq-interactive-default`: Default interactive element background
|
|
493
|
+
- `--ubq-interactive-hover`: Hover state background
|
|
494
|
+
- `--ubq-interactive-pressed`: Pressed state background
|
|
495
|
+
- `--ubq-interactive-selected`: Selected state background
|
|
496
|
+
- `--ubq-interactive-active-default`: Active element default state
|
|
497
|
+
- `--ubq-interactive-active-hover`: Active element hover state
|
|
498
|
+
- `--ubq-interactive-active-pressed`: Active element pressed state
|
|
499
|
+
- `--ubq-interactive-accent-default`: Accent interactive default state
|
|
500
|
+
- `--ubq-interactive-accent-hover`: Accent interactive hover state
|
|
501
|
+
- `--ubq-interactive-accent-pressed`: Accent interactive pressed state
|
|
502
|
+
- `--ubq-interactive-danger-default`: Danger interactive default state
|
|
503
|
+
- `--ubq-interactive-danger-hover`: Danger interactive hover state
|
|
504
|
+
- `--ubq-interactive-danger-pressed`: Danger interactive pressed state
|
|
505
|
+
- `--ubq-interactive-group-default`: Group interactive default state
|
|
506
|
+
- `--ubq-interactive-group-hover`: Group interactive hover state
|
|
507
|
+
- `--ubq-interactive-group-active-default`: Active group default state
|
|
508
|
+
- `--ubq-interactive-group-active-hover`: Active group hover state
|
|
509
|
+
- `--ubq-interactive-template-default`: Template interactive default state
|
|
510
|
+
- `--ubq-interactive-template-hover`: Template interactive hover state
|
|
511
|
+
- `--ubq-interactive-template-pressed`: Template interactive pressed state
|
|
512
|
+
|
|
513
|
+
**Input Elements**
|
|
514
|
+
|
|
515
|
+
- `--ubq-input-default`: Default input background
|
|
516
|
+
- `--ubq-input-hover`: Input hover state background
|
|
517
|
+
|
|
518
|
+
**Progress Indicators**
|
|
519
|
+
|
|
520
|
+
- `--ubq-progress`: Progress bar color
|
|
521
|
+
|
|
522
|
+
**Borders and Strokes**
|
|
523
|
+
|
|
524
|
+
- `--ubq-border-default`: Default border color
|
|
525
|
+
- `--ubq-stroke-contrast-1`: Low contrast stroke color
|
|
526
|
+
- `--ubq-stroke-contrast-2`: Medium contrast stroke color
|
|
527
|
+
- `--ubq-stroke-contrast-3`: High contrast stroke color
|
|
528
|
+
|
|
529
|
+
**Focus Indicators**
|
|
530
|
+
|
|
531
|
+
- `--ubq-focus-default`: Default focus indicator color
|
|
532
|
+
- `--ubq-focus-outline`: Focus outline color with transparency
|
|
533
|
+
|
|
534
|
+
**Overlays**
|
|
535
|
+
|
|
536
|
+
- `--ubq-overlay`: Modal and overlay background
|
|
537
|
+
|
|
538
|
+
**Notices and Feedback**
|
|
539
|
+
|
|
540
|
+
- `--ubq-notice-info`: Informational notice color
|
|
541
|
+
- `--ubq-notice-warning`: Warning notice color
|
|
542
|
+
- `--ubq-notice-error`: Error notice color
|
|
543
|
+
- `--ubq-notice-success`: Success notice color
|
|
544
|
+
|
|
545
|
+
**Effects**
|
|
546
|
+
|
|
547
|
+
- `--ubq-effect-shadow`: Box shadow effect for elevation
|
|
548
|
+
- `--ubq-effect-focus`: Focus state shadow effect
|
|
549
|
+
|
|
550
|
+
**Static Colors** (theme-independent)
|
|
551
|
+
|
|
552
|
+
- `--ubq-static-selection-frame`: Selection frame color
|
|
553
|
+
- `--ubq-static-contrast-white`: Static white color
|
|
554
|
+
- `--ubq-static-contrast-black`: Static black color
|
|
555
|
+
- `--ubq-static-snapping`: Snapping guide color
|
|
556
|
+
- `--ubq-static-bleed`: Bleed area color
|
|
557
|
+
- `--ubq-static-text-variable`: Variable text indicator color
|
|
558
|
+
- `--ubq-static-card-label-background`: Card label background gradient
|
|
559
|
+
- `--ubq-static-card-background`: Card background gradient
|
|
560
|
+
|
|
561
|
+
#### Typography Tokens
|
|
562
|
+
|
|
563
|
+
Each typography style supports the following properties:
|
|
564
|
+
|
|
565
|
+
- `-size`: Font size in pixels
|
|
566
|
+
- `-line_height`: Line height in pixels
|
|
567
|
+
- `-letter_spacing`: Letter spacing (e.g., `0.02em`)
|
|
568
|
+
- `-font_family`: Font family (uses `--ubq-typography-font_family` with fallback to `'Inter', sans-serif`)
|
|
569
|
+
- `-weight`: Font weight (numeric values like `450`, `600`)
|
|
570
|
+
|
|
571
|
+
**Headline Large** (`--ubq-typography-headline-l-*`)
|
|
572
|
+
|
|
573
|
+
- Used for main headings and titles
|
|
574
|
+
- Normal scale: 16px size, 20px line height, 0.01em letter spacing, 600 weight
|
|
575
|
+
- Large scale: 20px size, 25px line height, 0.01em letter spacing, 600 weight
|
|
576
|
+
|
|
577
|
+
**Headline Medium** (`--ubq-typography-headline-m-*`)
|
|
578
|
+
|
|
579
|
+
- Used for secondary headings
|
|
580
|
+
- Normal scale: 12px size, 16px line height, 0.03em letter spacing, 600 weight
|
|
581
|
+
- Large scale: 15px size, 20px line height, 0.03em letter spacing, 600 weight
|
|
582
|
+
|
|
583
|
+
**Label Medium** (`--ubq-typography-label-m-*`)
|
|
584
|
+
|
|
585
|
+
- Used for form labels and UI labels
|
|
586
|
+
- Normal scale: 12px size, 16px line height, 0.02em letter spacing, 450 weight
|
|
587
|
+
- Large scale: 15px size, 20px line height, 0.02em letter spacing, normal weight
|
|
588
|
+
|
|
589
|
+
**Label Small** (`--ubq-typography-label-s-*`)
|
|
590
|
+
|
|
591
|
+
- Used for small labels and captions
|
|
592
|
+
- Normal scale: 10px size, 14px line height, 0.02em letter spacing, 450 weight
|
|
593
|
+
- Large scale: 12.5px size, 17.5px line height, 0.02em letter spacing, normal weight
|
|
594
|
+
|
|
595
|
+
**Body Medium** (`--ubq-typography-body-m-*`)
|
|
596
|
+
|
|
597
|
+
- Used for body text and descriptions
|
|
598
|
+
- Normal scale: 12px size, 18px line height, 0.02em letter spacing, 450 weight
|
|
599
|
+
- Large scale: 15px size, 22.5px line height, 0.02em letter spacing, normal weight
|
|
600
|
+
|
|
601
|
+
**Input Medium** (`--ubq-typography-input-m-*`)
|
|
602
|
+
|
|
603
|
+
- Used for input field text
|
|
604
|
+
- Normal scale: 12px size, 16px line height, 0.02em letter spacing, 450 weight
|
|
605
|
+
- Large scale: 16px size, 20px line height, 0.02em letter spacing, normal weight (16px minimum prevents iOS zoom)
|
|
606
|
+
|
|
607
|
+
**Button Medium** (`--ubq-typography-button-m-*`)
|
|
608
|
+
|
|
609
|
+
- Used for button text
|
|
610
|
+
- Normal scale: 12px size, 16px line height, 0.02em letter spacing, 450 weight
|
|
611
|
+
- Large scale: 15px size, 20px line height, 0.02em letter spacing, normal weight
|
|
612
|
+
|
|
613
|
+
**Base Font Family**
|
|
614
|
+
|
|
615
|
+
- `--ubq-typography-font_family`: Base font family variable used by all typography tokens
|
|
616
|
+
|
|
617
|
+
#### Spacing and Measurements
|
|
618
|
+
|
|
619
|
+
**Scale Base**
|
|
620
|
+
|
|
621
|
+
- `--ubq-scale-base`: Base unit for spacing calculations (4px normal, 5px large)
|
|
622
|
+
|
|
623
|
+
**Margins**
|
|
624
|
+
|
|
625
|
+
- `--ubq-margin-base`: Base margin unit (4px normal, 5px large)
|
|
626
|
+
- `--ubq-margin-xs`: Extra small margin (4px normal, 5px large)
|
|
627
|
+
- `--ubq-margin-s`: Small margin (8px normal, 10px large)
|
|
628
|
+
- `--ubq-margin-m`: Medium margin (12px normal, 15px large)
|
|
629
|
+
- `--ubq-margin-l`: Large margin (16px normal, 20px large)
|
|
630
|
+
- `--ubq-margin-xl`: Extra large margin (24px normal, 30px large)
|
|
631
|
+
|
|
632
|
+
**Border Radius**
|
|
633
|
+
|
|
634
|
+
- `--ubq-border_radius-base`: Base border radius (4px normal, 5px large)
|
|
635
|
+
- `--ubq-border_radius-xs`: Extra small radius (2px normal, 2.5px large)
|
|
636
|
+
- `--ubq-border_radius-s`: Small radius (4px normal, 5px large)
|
|
637
|
+
- `--ubq-border_radius-m`: Medium radius (8px normal, 10px large)
|
|
638
|
+
- `--ubq-border_radius-l`: Large radius (12px normal, 15px large)
|
|
639
|
+
|
|
640
|
+
#### CSS Selector Pattern
|
|
641
|
+
|
|
642
|
+
All custom properties must be scoped using this pattern:
|
|
643
|
+
|
|
644
|
+
```css
|
|
645
|
+
.ubq-public[data-ubq-theme='light' | 'dark'][data-ubq-scale='normal' | 'large' | 'modern'] {
|
|
646
|
+
/* Custom properties here */
|
|
647
|
+
}
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
## Next Steps
|
|
651
|
+
|
|
652
|
+
Now that you understand theming, explore related customization features:
|
|
653
|
+
|
|
654
|
+
- [Custom Labels](./user-interface/appearance/custom-labels.md) - Customize UI text labels to match your brand voice
|
|
655
|
+
- [Custom UI Components](./user-interface/ui-extensions.md) - Build custom UI elements for your workflow
|
|
656
|
+
- [Customize UI Behavior](./user-interface/ui-extensions/customize-behaviour.md) - Control and respond to CE.SDK's interface at runtime
|
|
657
|
+
|
|
658
|
+
---
|
|
659
|
+
|
|
660
|
+
## More Resources
|
|
661
|
+
|
|
662
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
663
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
664
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
665
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
> This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
|
|
2
|
+
|
|
3
|
+
**Navigation:** [Guides](./guides.md) > [User Interface](./user-interface.md) > [Appearance](./user-interface/appearance.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Related Pages
|
|
10
|
+
|
|
11
|
+
- [Theming](./user-interface/appearance/theming.md) - Customize the editor's visual theme to match your brand using flexible theming options.
|
|
12
|
+
- [Change UI Font](./user-interface/appearance/change-ui-font.md) - Set a custom font for the editor's UI to ensure visual consistency across your application.
|
|
13
|
+
- [Custom Labels](./user-interface/appearance/custom-labels.md) - Override default UI text labels in CreativeEditor SDK to match your brand voice, product terminology, or specific use case requirements.
|
|
14
|
+
- [Icons](./user-interface/appearance/icons.md) - Replace or customize the editor’s icons to align with your brand or application design.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## More Resources
|
|
19
|
+
|
|
20
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
21
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
22
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
23
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|