
Product
Introducing Webhook Events for Alert Changes
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.
@procore/labs-markup-toolbars
Advanced tools
A library that contains components for a viewer, toolbars, and tools to interact with pages.
yarn add @procore/labs-markup-toolbars
core-react >10.6react >17react-dom >17styled-components >5.0@procore/labs-jsskit >3.0views.global.*
views.generic.document_markup.*
views.generic.keyboard_shortcuts.*
views.utilities.*
core.labs.loadable_content.*To use most components within this library, you must wrap this component (root level of your app) in these providers
I18nProvider from @procore/core-reactimport { I18nProvider } from '@procore/core-react';
<I18nProvider locale={locale} translations={translations}>
<App />
</I18nProvider>;
Analytics from @procore/core-reactimport { Analytics } from '@procore/core-react';
const analytics = new Analytics.Client({
endpoint: 'https://somewhere.cool',
headers: { Authorization: 'Bearer 1239120' },
// bodyParams are included in the body of every request
bodyParams: {
companyId: 1,
properties: {
attachment_id: 970,
file_type: 'image/jp2',
item_type: 'SubmittalLog',
item_id: 8,
markup_domain: 'submittals',
},
},
// client is optional and conforms to the fetch API (url, options)
client: (url, options) => {
console.log('analytics::trackEvent::request', url, options);
},
});
return (
<Analytics.Provider analytics={analytics}>
<App />
</Analytics.Provider>
);
ThemeProvider from styled-componentsimport { ThemeProvider } from 'styled-components';
import { createTheme } from '@procore/labs-jsskit';
<ThemeProvider theme={createTheme()}>
<App />
</ThemeProvider>;
import { I18nProvider, Analytics } from '@procore/core-react';
import { ThemeProvider } from 'styled-components';
import { createTheme } from '@procore/labs-jsskit';
import { BaseViewer } from '@procore/labs-markup-toolbars';
const analytics = new Analytics.Client({
endpoint: 'https://somewhere.cool',
headers: { Authorization: 'Bearer 1239120' },
// bodyParams are included in the body of every request
bodyParams: {
companyId: 1,
properties: {
attachment_id: 970,
file_type: 'image/jp2',
item_type: 'SubmittalLog',
item_id: 8,
markup_domain: 'submittals',
},
},
// client is optional and conforms to the fetch API (url, options)
client: (url, options) => {
console.log('analytics::trackEvent::request', url, options);
},
});
const App = () => (
<Analytics.Provider analytics={analytics}>
<ThemeProvider theme={createTheme()}>
<I18nProvider locale={locale} translations={translations}>
<BaseViewer />
</I18nProvider>
</ThemeProvider>
</Analytics.Provider>
);
FAQs
Toolbar UI for Document Markup
We found that @procore/labs-markup-toolbars demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 203 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.