Time Tracking Integration with
Plasmic Studio
Seamlessly integrate Cloc's Time Tracking system into your Plasmic projects with our pre-built components and utilities.
Try Cloc on Plasmic NowQuick Start
1. Install Dependencies
First, install the required packages. The @cloc/atoms package contains our core components, UI and Theming.
npm install @cloc/atoms
2. Setup Theme Provider
Wrap your application with ClocProvider to enable theming and context features.
import { ClocProvider } from '@cloc/atoms';export default function App() {return (<ClocProvider>{/* Your app content */}</ClocProvider>);}
3. Register Components in Plasmic
Register the components you want to use in Plasmic. This makes them available in the Plasmic Studio interface.
import { ClocLoginForm, ModernTimer, ClocProgress } from '@cloc/atoms';import { PLASMIC } from './plasmic-init';// Register Authentication FormPLASMIC.registerComponent(ClocLoginForm, {name: 'Cloc Login Form',props: {source: {type: 'choice',options: [{ label: 'Storybook', value: 'storybook' },{ label: 'Example', value: 'example' }]},className: { type: 'string' }}});// Register Modern TimerPLASMIC.registerComponent(ModernTimer, {name: 'Modern Timer',props: {variant: {type: 'choice',options: [{ label: 'Basic', value: 'basic' },{ label: 'Progress', value: 'progress' },{ label: 'Expandable', value: 'expandable' }]},showControls: { type: 'boolean', defaultValue: true }}});
4. Configure Authentication (Optional)
If you're using authentication features, configure your auth settings.
import { ClocConfig } from '@cloc/atoms';ClocConfig.init({authEndpoint: 'https://your-auth-endpoint.com',apiKey: process.env.NEXT_PUBLIC_CLOC_API_KEY});
API Reference
Component Props
| Prop | Type | Description |
|---|---|---|
| source | 'storybook' | 'example' | Source context for the form |
| className | string | Additional CSS classes |
Integration Guides
Basic Integration
The simplest way to integrate Cloc components with Plasmic is through direct component registration.
import { ClocLoginForm, ClocProvider } from '@cloc/atoms';function App() {return (<ClocProvider><ClocLoginForm source="storybook" /></ClocProvider>);}
Custom Theme Integration
Customize the look and feel by extending Plasmic's theme with Cloc's theme options.
import { ClocThemeProvider } from '@cloc/atoms';import { PlasmicRootProvider } from '@plasmicapp/loader-nextjs';function App() {return (<PlasmicRootProvider><ClocThemeProvidertheme={{colors: {primary: '#FF1CF7',secondary: '#00F0FF'}}}>{/* Your app content */}</ClocThemeProvider></PlasmicRootProvider>);}
Component Event Handling
Handle component events and state changes in your Plasmic projects.
PLASMIC.registerComponent(ModernTimer, {name: 'Modern Timer',props: {onStart: {type: 'eventHandler',argTypes: [{ name: 'time', type: 'number' }]},onPause: {type: 'eventHandler',argTypes: [{ name: 'elapsedTime', type: 'number' }]}}});
Examples
Explore different variants of our Modern Timer component. Each variant is designed for specific use cases and can be customized further.
Default Timer
A clean, minimal timer component with a modern design. Perfect for applications requiring a straightforward countdown display without additional visual elements. Supports basic timer functionality with start, pause, and reset controls.
Border Timer
Enhanced visibility with a subtle border outline. Ideal for interfaces where the timer needs to stand out from the background while maintaining a professional appearance. The border helps define the component's boundaries clearly.
Expandable Timer
A timer with the ability to expand and show additional controls and information. Suitable for applications where timer manipulation is a primary function. Users can expand/collapse the form with project/task selectors.
Ready to Build Your Custom Timer?
Jump into Plasmic's visual builder and start customizing Cloc components for your specific needs. No coding required.
Try Cloc on Plasmic Now