npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@kuro-samurai/ngx-samurai-button

v3.1.3

Published

Make your app stylish with pre-styled buttons

Downloads

129

Readme

Samurai Button

Make your app stylish with pre-styled buttons

Features Overview

This directive has:

The style of the button is based on UI/UX guidelines. You can set
filled, outlined or texted variations for it or change content type
to text, text and icon or just icon to get the right attention and priority you need.

Installation

This directive supports Angular 16 and higher

Run the code below in your project terminal:

ng add @kuro-samurai/ngx-samurai-button

This command will install material icon font package.
The samurai-styles.css file will be created in the root
of your project and it will be added to your angular.json
project styles

Use

Selector: samuraiButton
Type: Standalone
  1. Import the directive

    • If your component is standalone, import the directive to your
      @Component decorator:

      @Component({
        //...
        standalone: true,
        imports: [CommonModule, SamuraiButtonsComponent],
        //...
      })
    • Else import it to your component's module:

      @NgModule({
        //...
        imports: [CommonModule, SamuraiButtonsComponent],
        //...
      })
  2. Then in your component import class SamuraiButtonConfig and use its constructor:

    public buttonConfig = new SamuraiButtonConfig()

    In the parenthesis use shortcut ctrl + space or command + space to see available values.
    All parameters have default values so you don't need to pass all values.

    Note: Refer to properties table below for values and defaults.
    You can either pass each property individually or pass
    config object, If you do both, values in config object will overwrite
    individual values!

  3. Pass the config object to directive input:

    <button samuraiButton [config]="buttonConfig">Samurai</button>

Button With Action

To make button do a certain action everytime user clicks on it,
you can pass a function to it like this:

  1. Declare a method in parent component:

    public foo = () => console.log("action foo")
  2. Then pass it to property btnAction:

    <button samuraiButton [config]="buttonConfig" [btnAction]="foo">Samurai</button>

If you have complex action to happen after button click,
bind your action to event click like this:

<button samuraiButton [config]="buttonConfig" (click)="foo()">Samurai</button>

Using Pre-Styled Button

Assign one of the values in properties table blow to property (input) preStyled:

<button samuraiButton preStyled="PRIMARY_TEXT">Samurai</button>

More pre-styled buttons will be added soon.

Warning: If you pass both preStyled and config, values in config has priority.

Note: you can overwrite styles with css or add additional styles to button like changing padding, shadow and .etc

Preview

For Live demo visit Github page for Samurai UI (Beta)

Properties (Inputs)

Related Resources

This directive is part of Samurai UI project.

Future Plans

The following features will be added soon:

  • Setting up a live demo ✅
  • A few pre-defined button styles to quickly choose between them ✅
  • Passing a single config object to button ✅
  • Passing a function to button that executes on button click ✅
  • Automatically detecting right text color for button based on background color ✅
  • Automatically detecting right hover effect color based on
    color and background color ✅
  • Adding support for i18n (Internationalization) ✅
  • Implementing ARIA support for people using AT ✅
  • Transforming component to directive for better developer exprience ✅

Developer Words

I learned a lot from other developers on the web. Now I want to return
the love to software developers community. I plan to make a UI kit for
angular and this package is one of many packages I will publish on npm.

Contributors