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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@xnoname/web-components

v1.1.0

Published

Angular web component library

Downloads

61

Readme

ng web-components

Web-components is a lightweight angular 9 compatible component library. It should provide the majority of heavy used components.

Usage

The library has to be added to the package.json:

"@xnoname/web-components": "1.0.0",

To use the library the core module has to be added to the module of the host application.

@NgModule({
    bootstrap: [...],
    declarations: [...],
    imports: [
        CoreModule,
    ],
    providers: [
        ConfigurationService,
        LanguageService,
        TranslationService,
        StartupService,
        {
            provide: APP_INITIALIZER,
            useFactory: startupServiceFactory,
            deps: [StartupService],
            multi: true
        },
        ...
    ],
})

Watch out to provide a startup service with some configuration values.

    export function startupServiceFactory(startupService: StartupService): Function {
        return () => startupService.load(environment.configuration);
    }

At least the following configuration object is needed in order to get I18n to work and use features with text and labels involved.

language: {
    default: 'DE',
    supported: 'DE'
}

As an alternative one can link the source repository directly in his angular app. Then these steps have to be followed:

npm install
npm start

will start a sample app on port 4200

To use library in project package json has to be extended by a link command:

link: "npm link ../web-components/src --production"

Further you have to enable preserve symlink option to enable testing with library.

Demo

Find a demo of some of the components here: https://webcomponents.xnoname.com

Components:

  • accordion
  • blocking overlay
  • button with primary flavour and a levitated button
  • calendar
  • checkbox form control
  • chip
  • collapsable panel
  • combo box with and without input, custom templates and type-ahead
  • content tile displaying content
  • data table is a sortable searchable pageable table using custom row templates
  • datetime picker form control supporting languages
  • modal dialog
  • dropdown form control
  • html content element interacting with contentservice to display remote html content
  • html editor is a basic html editor form control supporting headings, paragraphs and lists, formatting and auto-complete
  • infobox is a big infobox with a icon
  • input form control with validation result display
  • like control
  • list selector form control to select values of a list supporting custom templates for items
  • a loading indicator
  • menu header
  • navigation link
  • pagination control
  • a path control to display breadcrumps
  • popup button
  • scroll panel
  • scroll-to-top control
  • section divider
  • spinner
  • tab control
  • tag input form control
  • tooltip
  • workflow control
  • context menu

Directives

  • google analytocs directive
  • autofocus directive
  • outside click directive

Validators

  • date format validator
  • email validator
  • min length validator
  • not empty validator
  • required validator

Pipes

  • pipe a configuration value
  • filter objects
  • join objects
  • pipe object properties as array
  • pipe an objkect property by its path
  • pad
  • pagination pipe
  • sort pipe
  • switch pipe
  • to date string
  • to timespan
  • translation pipe

Services

  • analytics service
  • calendar service
  • content service resolving remote content
  • filter objects array service
  • language service
  • loading indicator service to control global loading indication
  • moment service to abstract moment library
  • scroll service
  • scroll spy service
  • sort objects array service
  • translation service