Release Notice
Embr v8.1 - 2026.5.28
Embr v8.3 - 2026.5.28
Client Resources + React Component
Client Resources are files compiled to JavaScript that are loaded by the Perspective client on launch.
There are currently two supported types:
- TypeScript (supports JavaScript, TypeScript, JSX, and TSX)
- CSS Modules
All Client Resources loaded and run on page load/refresh, serving as a direct, robust alternative to Markdown Injection. They can also provide React components, which can be used via a new dedicated React Perspective component or anywhere you would normally use an EmbeddedView.
Attached is an example project that demonstrates:
- Writing React components.
- Accessing the available
systemmodules: (system:perspectiveandsystem:periscope) - Importing/exporting between Client Resources.
- Using style classes from CSS Modules.
- Rendering Client Resources inside of
EmbeddedViews, using@/{path}syntax.
client-resource-testing_2026-05-28_1506.zip (400.9 KB)
Future Work
-
Synchonous Loading
- Currently, Client Resources are loaded asynchronously via Periscope's
BrowserResources. - This means the first render can happen before all resources are loaded.
- Future work will attempt to make Client Resource loading happen during client startup, before any rendering occurs.
- Currently, Client Resources are loaded asynchronously via Periscope's
-
Embr Charts Integration
- More work needs to be done to add Client Resource support for Embr Charts.
- The goal is to provide a way to write Chart.js plugins inside Client Resources.
- This will require synchronous loading.

