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

@lform/veneer

v2.1.6

Published

Front-end framework and theme for client web apps.

Downloads

96

Readme

Veneer

Veneer is a light-weight front-end library to enable rapid development utilizing Sass modules, CSS grid, CSS custom properties and Typescript.

Features

  • Sass function and mixins to easily create grids and collapsible margins.
  • Modular type scale for responsive typography
  • JS helper library
  • JS navigation items
  • Basic JS boilerplate
  • Lpress template styles

Usage

Sass

With Veneer, Lpress styles can be used simply by compiling ./node_modules/@lform/veneer/scss/main.scss.

When building your Sass the following includePaths should be used:

includePaths: [
    "./path/to/your/scss",
    "./node_modules/@lform/veneer/scss"
]

This allows Veneer to compile as-is but also allows you to overwrite any file within Veneer.

If you need to include specific files in your own Sass file, you may do so by importing each component using its relative path:

@charset "utf-8";

@use 'sass:math';
@use 'sass:list';
@use 'sass:selector';
@use 'sass:meta';
@use './modules/color';
@use './modules/flex';
@use './modules/gap';
@use './modules/grid';
@use './modules/map';
@use './modules/string';
@use './modules/transition';
@use './modules/type';
@use './modules/unit';
@use './utility/vendor';
@import './config/config';
@import './utility/mixins';
@import './utility/reset';
@import './global/root';
@import './global/bullets';
@import './global/buttons';
@import './global/forms';
@import './global/lists';
@import './global/tables';
@import './global/typography';
@import './global/layout';

If you need your own config/_colors.scss file, simply add the file in the corresponding directory and it will be used instead of the default config/_colors.scss file.

If you need to instead add a file that doesn't override but "extends", you should use the fully qualified path of both files in your includes:

@import './node_modules/@lform/veneer/scss/global/layout';
@import 'global/layout';

JavaScript

Out of the box, Veneer is ready to use simply by including the dist/veneer.js file in your project.

Individual components may be used selectively in your project by including including them in your tsconfig.js file.

{
	"files": [
		"./node_modules/@lform/veneer/js/nav/nav.ts",
		"./node_modules/@lform/veneer/js/nav/Navigation.ts",
		"./node_modules/@lform/veneer/js/nav/NavToggle.ts",
		"./node_modules/@lform/veneer/js/nav/SubNavigation.ts",
		"./node_modules/@lform/veneer/js/helpers.ts",
		"./node_modules/@lform/veneer/js/main.ts",
		"./path/to/your/js/file.ts"
	]
}

Documentation

Sass

Complete documentation for Veneer can be found here: /docs/index.html. Complete documentation for Sass can be found here.

Typescript

Typescript documentation may be found here.

Publishing

In order to publish to NPM, the version number must be incremented. Semantic versioning should be followed.

Once ready to deploy, run:

$ npm publish

For more information on publishing to NPM, refer to their documentation.

Building Documentation

Sass documentation uses SassDoc. If an update is made, the documentation can be updated by running

$ sassdoc scss

Typescript

Any changes to Veneer's javascript should be published to the repository. To do this, simply run:

$ tsc

The generated dist/veneer.js file and its sourcemaps may then be committed and published.