
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
dsm-button is a customizable, reusable button component built with Mantine, featuring skeleton loading, tooltip support, and icon integration. It offers a smooth user experience with TypeScript support for easy integration in React applications.
dsm-button
A reusable and customizable button component with skeleton loading and tooltip support, built with Mantine. Features
Skeleton loader for a smooth loading experience.
Tooltip support with customizable properties.
Built with Mantine’s flexible component library.
Lightweight, modern, and TypeScript-based.
Installation
Install the package via npm or yarn:
npm install dsm-button
yarn add dsm-button
Peer Dependencies
Ensure the following libraries are installed in your project:
npm install react react-dom @mantine/core @tabler/icons-react
Usage Basic Example
import React from 'react';
import { DSMButton } from 'dsm-button';
export default function App() {
return (
<div style={{ padding: 20 }}>
<DSMButton
tooltipProps={{ label: 'Click me!', position: 'right' }}
skeletonProps={{ visible: false }}
onClick={() => alert('Button clicked!')}
>
Click Me
</DSMButton>
</div>
);
}
Skeleton Loader
Use skeletonProps to show a loading state:
<DSMButton skeletonProps={{ visible: true }}>Loading...</DSMButton>
Tooltip Customization
Customize the tooltip properties such as position and label:
<DSMButton
tooltipProps={{
label: 'Save your progress',
position: 'bottom',
withArrow: true,
}}
>
Save
</DSMButton>
Custom Icon
Replace the default icon with your own:
import { IconCheck } from '@tabler/icons-react';
<DSMButton
tooltipProps={{ label: 'Done!' }}
>
<IconCheck size={16} /> Complete
</DSMButton>
Prop | Type | Default | Description |
---|---|---|---|
tooltipProps | Partial<TooltipProps> | {} | Properties for the tooltip. |
skeletonProps | SkeletonProps | { visible: false } | Controls the skeleton loader visibility. |
icon | ReactNode | <IconPhoto /> | Custom icon for the button’s leftSection. |
Other props | ButtonProps | - | All Mantine Button props are supported. |
Developed by Umesh Thpapa.
Contributions are welcome! Please follow these steps:
git checkout -b feature-name
.git commit -m 'Add feature'
.git push origin feature-name
.This project is licensed under the ISC License.
If you encounter any issues, feel free to open a bug report in the issues section.
Let me know if you need further modifications or enhancements!
FAQs
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.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.