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

@ui-toolkit/components

v2.4.1

Published

Reusable components for Vue

Downloads

4

Readme

Installation

npm i @ui-toolkit/components
import { ComponentName } from '@ui-toolkit/components';

export default {
  components: {
    ComponentName,
  },
};

Remember all components should be imported with named imports to use tree-shaking.


ui-link

Ui Link lets us use a generic link tag that will auto determine whether to use a router-link from vue router or a regular anchor element based on the presence of the to attribute. There are no props, as it just passes through all defined attributes to the underlying elements. Please refer to the Vue Router documentation for props related to the Vue Router. Refer to the W3C html anchor tag docs for attributes related to anchor tags.

usage

<ui-link href="http://www.google.com" target="_blank">Sample of Anchor Link</ui-link>
<ui-link to="http://www.google.com">Sample of Router Link</ui-link>

ui-copy

Ui Copy makes it incredibly easy to add a "click to copy" feature to any html element. Simply wrap the text with the Ui Copy component and click it.

props

| name | type | required | default | | ---------- | ------- | -------- | --------------- | | value | Boolean | | | | text | String | | | | color | String | | rgb(99, 99, 99) | | background | String | | white | | no-tooltip | String | | |

value is readonly for v-model. text allows you to specify what to put in the clipboard if it's different from what's displayed. e.g. If you want an unformatted date in the clipboard but a human readable date on the UI. color and background can be any valid css color. no-tooltip disables the built in tooltip if you want to implement your own. It should be combined with v-model.

usage

<ui-copy>This text will be copied into the clipboard.</ui-copy>

text allows you specify exactly what to copy.

<ui-copy text="This text will copy.">This text will not be copied.</ui-copy>

<ui-copy :text="new Date().toISOString()">Click to copy current date.</ui-copy>

Use v-model to implement custom tooltip. value will be true for 800ms.

<ui-copy v-model="copied" no-tooltip>Text</ui-copy>
<span v-show="copied">You copied the text!</span>

Customize colors.

<ui-copy color="white" background="black">Text</ui-copy>

ui-datetime

UI Datetime receives a date and returns a span containing a locale formatted readable date. There are some basic configuration options to make it versatile.

props

| name | type | required | default | | ---------- | ------------ | -------- | ------- | | date | String, Date | true | | | locale | String | true | | | date-style | String | | | | time-style | String | | |

date will use the native Date constructor if the input is a string. locale must be a BCP 47 language tag. date-style and time-style must be one of the following strings: "short", "medium", "long". If both date-style & time-style are left undefined, it defaults to only a "short" date.

usage

<ui-datetime
  date="2020-09-02T20:32:38.405Z"
  locale="en"
  date-style="short"
  time-style="short"
/>

9/2/2020, 3:32 PM

It's fully BCP 47 compatible so region tags are allowed for more specific .

<ui-datetime
  date="2020-09-02T20:32:38.405Z"
  locale="en-GB"
  date-style="short"
  time-style="short"
/>

02/09/2020, 15:32

you can use only date-style or time-style alone to display just the date or time.

<ui-datetime date="2020-09-02T20:32:38.405Z" locale="fr" date-style="long" />

mercredi 2 septembre 2020

ui-currency

Ui Currency exists to make currency formatting uniform & straightforward while giving flexibility wherever needed. It divides the currency into four core parts.

  • symbol
    • The currency sign ($)
  • integer
    • The integer value of the amount, it comes before the decimal
  • fraction
    • The fractional part of the amount, this value includes the decimal
  • currency
    • The currency code itself (USD)

There are two ways to use it. The default usage simply returns formatted currency with each part of the currency in spans with corresponding class names. The second method uses a scoped slot to expose the formatted currency data for custom formatting.

::: tip NOTE A fallback for Intl.numberFormat.formatToParts is provided so no polyfill is required when used in IE 11. It will simply render only one span. :::

props

| name | type | required | default | | ------------- | -------------- | -------- | ------- | | amount | Number, String | true | | | currency | String | true | | | locale | String | | 'en-US' | | hideCurrency | Boolean | | false | | symbolClass | String | | | | integerClass | String | | | | fractionClass | String | | | | currencyClass | String | | |

default usage

<ui-currency amount="1234.56" />

becomes

<span>
  <span class="symbol">$</span>
  <span class="integer">1,234</span>
  <span class="fraction">.56</span>
  <span class="currency"> USD</span>
</span>

slot usage

<ui-currency amount="1297.14" v-slot="{ parts }">
  <span>{{ parts.symbol }}</span>
  <span>{{ parts.integer }}</span>
  <span>{{ parts.fraction }}</span>
  <span> {{ parts.currency }}</span>
</ui-currency>

Custom classes

Class props are provided to allow simple addition of classes to the child elements. You can apply as many classes as needed.

<ui-currency
  amount="1234.56"
  hide-currency
  symbol-class="small"
  integer-class="bigger green"
  fraction-class="big"
  currency-class="smaller"
/>

::: tip REMEMBER If you want to use css to style the spans generated by ui-currency in a scoped component, you need to use the ::v-deep selector. :::