1. Define the UI structure in JSON format, specifying layout, typography, and interactive elements.
2. Import the `WidgetRenderer` component from the `@/registry/blocks/widgets/widget-renderer` module.
3. Define the `Widget` type from `@/registry/blocks/widgets/types`.
4. Create a `widget` object with the desired UI structure.
5. Use the `WidgetRenderer` component to render the widget, passing the `widget` object as a prop.
6. Implement the `onAction` prop to handle user interactions and actions, such as button clicks or form submissions.
7. Customize the UI by using different widget types and gradients.