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

noumena-ui

v4.0.16

Published

Noumena ui vue component

Downloads

215

Readme

noumena-ui

Noumena ui vue component

黑夜模式临时方案

使用css变量,需要外部提供
解决css单独打包,外部可选引入index.scss/var.scss

usage

npm i -S noumena-ui

fully import:

import NoumenaUi from 'noumena-ui';
import { zhLang } from 'noumena-ui/lib/locale-zh';
import { enLang } from 'noumena-ui/lib/locale-en';
import 'noumena-ui/lib/theme/index.css';
Vue.use(NoumenaUi, { // en as default
  getLang: () => i18n.locale === 'en' ? enLang : zhLang;
});

import on demand:

import { button } from 'noumena-ui';
import LangEn from 'noumena-ui/lib/locale-en';
Vue.use(button[, 'component-name']);
Vue.use(LangEn);
// babel.config.js / .babelrc.json
plugins: [
    [
      'component',
      {
        libraryName: 'noumena-ui',
        styleLibrary: {
          base: false,
          name: 'theme'
        }
      }
    ]
]

components

nou-button

import { button } from 'noumena-ui';
Vue.use(button);
<nou-button>
      <i class="iconfont icon-name"></i>
      <span>a button</span>
</nou-button>

custom-input(incomplete)

import { CustomInput } from 'noumena-ui';
Vue.use(CustomInput)
<nou-custom-input v-model="value" />

nou-date-range

<nou-date-range v-model="date" />
props:
placeholder
limitDays-Number-select duration limit
maxUseEndTime-Boolean-use last second of end date

nou-dialog

<nou-dialog v-if="dialogShowing" title="TITLE" @close="dialogShowing=false">
   <div>Contain</div>
</nou-dialog>
props:
closeOnClickModal-Boolean(false)
dialogClass-Object-contain box dom class obj
showClose-Boolean(true)-show close icon
long-Boolean(false)-scroll view container

nou-form

<nou-form ref="formDom" :rules="formRules">
      <nou-form-item check="name">
        <nou-input v-model="form.name"></nou-input>
      </nou-form-item>
      <nou-form-item check="password">
        <nou-input v-model="form.password" type="password"></nou-input>
      </nou-form-item>
      <nou-form-item check="password_sec">
        <nou-input v-model="form.password_sec" type="password"></nou-input>
      </nou-form-item>
</nou-form>
formRules: {
        name: 'please enter name', // pass a string as require and error msg
        password: {
          require: 'please enter password',
          limit: [6, 32, 'please enter 6-32 characters'], // length limit
        },
        password_sec: {
          require: 'please enter again',
          validate: () => { // custom check,return error msg
            if (this.form.password !== this.form.password_sec) {
              return 'please enter same password';
            }
            return '';
          },
        },
},

nou-input

<nou-input v-model="name" placeholder="please enter name" />

nou-label-button

<nou-label-button>text button</nou-label-button>
props:
disable-Boolean(false)
type-String('normal')-normal|danger

nou-layout

<nou-layout :active-menu="selected" :menus="items" logo-class="iconLOGO">
    <Header slot="header" />
    <AppMain />
</nou-layout> 

nou-loading

<nou-loading color="green" :stroke="10"></nou-loading>
props:
color-String('#000')
stroke-Number(6)

nou-menu

nou-nav

nou-next

<nou-next></nou-next>
<nou-next disable></nou-next>
<nou-next success></nou-next>

nou-pager

<nou-pager v-model="currentPage" :size="10" :total="100" @change="getList"/>

nou-select

<nou-select v-model="selected" placeholder="please select" :options="options"/>

nou-tab

<nou-tab v-model="selectedTab" :tabs="tabs"></nou-tab>

nou-table

<nou-table :data="tableData">
      <nou-table-col prop="a" label="a"></nou-table-col>
      <nou-table-col prop="b" label="b"></nou-table-col>
      <nou-table-col prop="c" label="c"></nou-table-col>
      <nou-table-col prop="d" label="d"></nou-table-col>
</nou-table>
props:
loading-Boolean
sideDecorateWidth-Number-left/right empty col width
minWidth-String-table min-width

nou-toast

showToast() {
  this.$toast('toast contain');
}
showUniqueToast() {
  this.$toast('only one toast same time', 'toast id');
}

todo

  • [] complete demo and components of readme
  • [] fix eslint: import/resolver, log in console
  • [] handle border-box;split padding and width;
  • [] remove style scoped
  • [] 主题方案
  • [] css后编译
  • [] iconfont、字体 内置?

tips

only form item use border-box no font file provide