
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@pmeig/ngb-button
Advanced tools
A powerful Angular library that provides Bootstrap-styled button components with advanced features like color variants, size options, disabled states, and flexible grouping capabilities.
A powerful Angular library that provides Bootstrap-styled button components with advanced features like color variants, size options, disabled states, and flexible grouping capabilities.
npm install @pmeig/ngb-button
import { ButtonMaterial } from '@pmeig/ngb-button';
@NgModule({
imports: [
ButtonMaterial
],
// ...
})
export class AppModule { }
<!-- Basic button -->
<button>Default Button</button>
<!-- Button with color -->
<button color="primary">Primary Button</button>
<button color="secondary">Secondary Button</button>
<button color="success">Success Button</button>
<button color="danger">Danger Button</button>
<button color="warning">Warning Button</button>
<button color="info">Info Button</button>
<button color="light">Light Button</button>
<button color="dark">Dark Button</button>
<!-- Outline buttons -->
<button outline color="primary">Primary Outline</button>
<button outline color="secondary">Secondary Outline</button>
<button outline color="success">Success Outline</button>
<button outline color="danger">Danger Outline</button>
<button outline color="warning">Warning Outline</button>
<button outline color="info">Info Outline</button>
<button outline color="light">Light Outline</button>
<button outline color="dark">Dark Outline</button>
<!-- Extra small buttons -->
<button size="xs" color="primary">Extra Small</button>
<!-- Small buttons -->
<button size="sm" color="primary">Small</button>
<!-- Default size -->
<button color="primary">Default</button>
<!-- Large buttons -->
<button size="lg" color="primary">Large</button>
<!-- Extra large buttons -->
<button size="xl" color="primary">Extra Large</button>
<button size="xxl" color="primary">XXL</button>
<!-- Disabled solid buttons -->
<button color="primary" disabled>Disabled Primary</button>
<button color="secondary" [disabled]="isDisabled">Conditional Disabled</button>
<!-- Close button -->
<button close aria-label="Close"></button>
<!-- Close button with custom styling -->
<button btn="close" aria-label="Close dialog"></button>
<!-- Custom hex color -->
<button color="#ff6b6b">Custom Hex</button>
<!-- Custom RGB color -->
<button [color]="{ red: 255, green: 107, blue: 107 }">Custom RGB</button>
<!-- Basic button group -->
<btn-group>
<button color="primary">Left</button>
<button color="primary">Middle</button>
<button color="primary">Right</button>
</btn-group>
<!-- Button group with different colors -->
<btn-group>
<button outline color="primary">Option 1</button>
<button outline color="primary">Option 2</button>
<button outline color="primary">Option 3</button>
</btn-group>
<!-- Button group with sizes -->
<btn-group size="lg">
<button color="secondary">Large</button>
<button color="secondary">Button</button>
<button color="secondary">Group</button>
</btn-group>
<!-- Vertical button group -->
<btn-group vertical>
<button color="primary">First</button>
<button color="primary">Second</button>
<button color="primary">Third</button>
</btn-group>
<!-- Alternative vertical syntax -->
<btn-group btn-group="vertical">
<button outline color="success">Top</button>
<button outline color="success">Middle</button>
<button outline color="success">Bottom</button>
</btn-group>
<btn-toolbar>
<btn-group>
<button outline color="primary">Cut</button>
<button outline color="primary">Copy</button>
<button outline color="primary">Paste</button>
</btn-group>
<btn-group>
<button outline color="secondary">Undo</button>
<button outline color="secondary">Redo</button>
</btn-group>
</btn-toolbar>
<btn-toolbar gap="1rem">
<btn-group>
<button color="primary">Save</button>
<button outline color="primary">Save As</button>
</btn-group>
<btn-group>
<button outline color="danger">Delete</button>
</btn-group>
<btn-group>
<button color="success">Export</button>
<button outline color="success">Import</button>
</btn-group>
</btn-toolbar>
Applied automatically to button elements and [btn] attributes.
| Property | Type | Default | Description |
|---|---|---|---|
color | ColorConfig | { style: 'primary', color: 'btn-primary' } | Button color variant or custom color |
outline | boolean | false | Uses outline button styling |
size | SizeAttribute | '' | Button size variant |
disabled | boolean | false | Disabled state with event prevention |
close | boolean | false | Creates a close button |
btn | boolean | 'close' | false | Forces button styling or close button |
primary, secondary, success, danger, warning, info, light, darkxs, sm, md (default), lg, xl, xxlApplied to btn-group elements and [btn-group] attributes.
| Property | Type | Default | Description |
|---|---|---|---|
size | SizeAttribute | '' | Size for all buttons in the group |
vertical | boolean | false | Creates vertical button group |
btn-group | 'vertical' | 'horizontal' | 'horizontal' | Group orientation |
Applied to btn-toolbar elements and [btn-toolbar] attributes.
| Property | Type | Default | Description |
|---|---|---|---|
gap | string | undefined | Custom gap between button groups |
The button directives automatically:
btn-* classes based on propertiesbtn-outline-This library generates and works with standard Bootstrap 5 button classes:
btn - Base button classbtn-primary, btn-secondary, etc. - Color variantsbtn-outline-* - Outline button variantsbtn-sm, btn-lg - Size variantsbtn-group, btn-group-vertical - Button groupsbtn-toolbar - Button toolbarsbtn-check - For input elements in groupsbtn-close - Close button stylingButton styling not applying
Disabled buttons still clickable
Button groups not displaying correctly
Custom colors not working
[color]="{ style: '#ff0000' }"This project is licensed under the MIT License.
For issues and questions, please open an issue on the GitHub repository.
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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.