Giter Club home page Giter Club logo

uiw's Introduction

uiw LOGO

Buy me a coffee Github Actions License MIT jest Open in Gitpod
Github Releases npm version Github Stars

uiw document website

uiw

The official documentation site for uiw. A high quality UI Toolkit, A Component Library for React 16+. 💘

Installation

npm install uiw --save

You can use kkt to quickly create a react + uiw project.

npx create-kkt my-app -e uiw

You can use the uiw v1.x version. Please see here for instructions. (npx comes with npm 5.2+ and higher.)

Basic Usage

import React from "react";
import ReactDOM from "react-dom";
import { Button } from "uiw";

ReactDOM.render(
  <Button type="primary">Hello</Button>,
  document.getElementById("app")
);

Documentation

Visit the uiwjs.github.io website for more information.

Or Open in VSCode Preview :

Open in VSCode

Packages

This git repository is a repo built using Lerna. It contains several packages:

Package Downloads Version Description
uiw npm downloads npm version -
@uiw/react-affix npm downloads npm version -
@uiw/react-alert npm downloads npm version -
@uiw/react-avatar npm downloads npm version -
@uiw/react-back-top npm downloads npm version -
@uiw/react-badge npm downloads npm version -
@uiw/react-breadcrumb npm downloads npm version -
@uiw/react-button npm downloads npm version -
@uiw/react-button-group npm downloads npm version -
@uiw/react-calendar npm downloads npm version -
@uiw/react-card npm downloads npm version -
@uiw/react-checkbox npm downloads npm version -
@uiw/react-collapse npm downloads npm version -
@uiw/react-copy-to-clipboard npm downloads npm version -
@uiw/react-date-input npm downloads npm version -
@uiw/react-date-picker npm downloads npm version -
@uiw/react-descriptions npm downloads npm version -
@uiw/react-divider npm downloads npm version -
@uiw/react-drawer npm downloads npm version -
@uiw/react-dropdown npm downloads npm version
@uiw/react-empty npm downloads npm version -
@uiw/react-file-input npm downloads npm version -
@uiw/react-form npm downloads npm version -
@uiw/react-grid npm downloads npm version -
@uiw/react-icon npm downloads npm version -
@uiw/react-input npm downloads npm version -
@uiw/react-list npm downloads npm version -
@uiw/react-loader npm downloads npm version -
@uiw/react-menu npm downloads npm version -
@uiw/react-message npm downloads npm version -
@uiw/react-modal npm downloads npm version -
@uiw/react-month-picker npm downloads npm version -
@uiw/react-notify npm downloads npm version -
@uiw/react-overlay npm downloads npm version -
@uiw/react-overlay-trigger npm downloads npm version -
@uiw/react-pagination npm downloads npm version -
@uiw/react-pin-code npm downloads npm version -
@uiw/react-popover npm downloads npm version -
@uiw/react-portal npm downloads npm version -
@uiw/react-progress npm downloads npm version -
@uiw/react-radio npm downloads npm version -
@uiw/react-rate npm downloads npm version -
@uiw/react-search-select npm downloads npm version -
@uiw/react-search-tree npm downloads npm version -
@uiw/react-select npm downloads npm version -
@uiw/react-slider npm downloads npm version -
@uiw/react-steps npm downloads npm version -
@uiw/react-switch npm downloads npm version -
@uiw/react-table npm downloads npm version -
@uiw/react-tabs npm downloads npm version -
@uiw/react-tag npm downloads npm version -
@uiw/react-textarea npm downloads npm version -
@uiw/react-time-picker npm downloads npm version -
@uiw/react-tooltip npm downloads npm version -
@uiw/react-tree npm downloads npm version -
@uiw/react-tree-checked npm downloads npm version -
@uiw/utils npm downloads npm version -
Package Downloads Version Description
@uiw/react-split npm downloads npm version -
@uiw/react-layout npm downloads npm version -
@uiw/formatter npm downloads npm version -

Development

Use Gitpod, a free online dev environment for GitHub.

Open in Gitpod

Or clone locally:

$ git clone [email protected]:uiwjs/uiw.git

Install dependencies & compile component code.

$ npm install # Install dependencies

$ npm run hoist
$ npm run build

To develop, run the self-reloading build:

# Run the app
# Restart the app automatically every time code changes.
# Useful during development.
$ npm run lib:watch
$ npm run start
$ lerna run --scope uiw watch --stream
$ lerna exec --scope @uiw/button -- tsbb types --outDir lib/esm --target ESNEXT --watch
$ lerna exec --scope @uiw/button -- tsbb watch --target react --env-name esm:dev --env-name cjs

Folders

├── LICENSE
├── README.md
├── package.json
├── website
│   ├── uiw        # Documentation website source code
└── packages
    ├── uiw        # Component library source code
    ├── react-alert
    ├── react-tree
    ├── ...
    └── react-affix

Contributors

License

Licensed under the MIT License.

uiw's People

Contributors

52cik avatar actions-user avatar amber-nan avatar chenlingasmx avatar cuilanxin avatar cw1997 avatar dependabot[bot] avatar eldersjavas avatar gonghengda avatar gssggssg avatar hy916 avatar jaywcjlove avatar kooff88 avatar margox avatar mrhikari avatar nullptr-z avatar renovate-bot avatar renovate[bot] avatar star-hamster avatar sunlxy avatar visnix avatar wj0990 avatar xing-he avatar xingyuefeng avatar xurui3762791 avatar yaob421123 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

uiw's Issues

我本地 引用你这个uiw 说找不到模块是什么原因?

错误信息

ERROR in ./src/Module/index.jsx
Module not found: Error: Can't resolve 'uiw' in 'G:\github\react\react-practice\react-dome\src\Module'
 @ ./src/Module/index.jsx 15:11-25
 @ ./src/Routes/routes.jsx
 @ ./src/main.jsx
 @ multi ./src/main.jsx

引用代码:

import React from 'react';
import { Router, Route, Link } from 'react-router';
import { Button } from 'uiw';
import Header from './Common/header';


class App extends React.Component {
  constructor(props){
    super(props);
    this.getAttribute = function(){};
    this.logo = "http:\//ww4.sinaimg.cn/thumb180/0069kQGBgy1foaj1sj8grj32c0340e81.jpg";
  };
  render() {
    return (
      <div>
       <Header></Header>
        <Button></Button>
        <div className="App-header">
          <img src={this.logo} className="App-logo" alt="logo" />
          <h1 className="App-title">Welcome to React</h1>
        </div>
        <p className="App-intro">
          To get started, edit <code>src/App.js</code> and save to reload.
        </p>
        {this.props.children}
      </div>
    );
  }
} 
export default App;

引用步骤:

cnpm install uiw --save

能否大致说一下打包原理

Hi 你好

我们也在做react + typescript组件封装

抛开你的kkt

可否大致讲一下打包原理以及如何打包支持react ssr

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Error type: undefined. Note: this is a nested preset so please contact the preset author if you are unable to fix it yourself.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Other Branches

These updates are pending. To force PRs open, click the checkbox below.

  • chore(deps): update actions/checkout action to v4
  • chore(deps): update actions/setup-node action to v4
  • chore(deps): update peaceiris/actions-gh-pages action to v4

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/deploy.yml
  • actions/checkout v3
  • actions/setup-node v3
  • peaceiris/actions-gh-pages v3
  • peaceiris/actions-gh-pages v3
.github/workflows/npm.yml
  • actions/checkout v3
  • actions/setup-node v3
  • peaceiris/actions-gh-pages v3
  • peaceiris/actions-gh-pages v3
  • ncipollo/release-action v1
npm
package.json
  • @kkt/less-modules ^7.5.4
  • @kkt/ncc ^1.1.1
  • @types/react ~18.2.0
  • @types/react-dom ~18.2.0
  • @types/react-test-renderer ~18.0.0
  • @types/react-transition-group ~4.4.4
  • compile-less-cli ^1.9.1
  • husky ~8.0.0
  • kkt ^7.5.4
  • lerna ^8.0.0
  • lint-staged ^15.1.0
  • prettier ^3.0.3
  • react ~18.2.0
  • react-dom ~18.2.0
  • react-test-renderer ~18.2.0
  • tsbb ^4.1.14
  • node >=16.0.0
packages/doc/package.json
packages/react-affix/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-alert/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-auto-link/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-avatar/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-back-top/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-badge/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-breadcrumb/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-button-group/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-button/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-calendar/package.json
  • @uiw/formatter ~2.0.0
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-card/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-carousel/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-cascader/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-checkbox/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-collapse/package.json
  • react-transition-group ~4.4.2
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-copy-to-clipboard/package.json
  • @uiw/copy-to-clipboard ~1.0.11
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-date-input/package.json
  • @uiw/formatter ~2.0.0
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-date-picker/package.json
  • @uiw/formatter ~2.0.0
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-descriptions/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-divider/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-drawer/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-dropdown/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-empty/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-file-input/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-form/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-grid/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-icon/package.json
  • @uiw/icons ~2.6.0
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-input/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-list/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-loader/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-menu/package.json
  • react-transition-group ~4.4.2
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-message/package.json
  • react-transition-group ~4.4.2
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-modal/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-month-picker/package.json
  • @uiw/formatter ~2.0.0
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-notify/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-overlay-trigger/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-overlay/package.json
  • react-transition-group ~4.4.2
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-pagination/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-pin-code/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-popover/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-portal/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-progress/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-radio/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-rate/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-search-select/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-search-tree/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-select/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-slider/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-steps/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-switch/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-table/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-tabs/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-tag/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-textarea/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-time-picker/package.json
  • @uiw/formatter ~2.0.0
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-tooltip/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-transfer/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-tree-checked/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
packages/react-tree/package.json
  • react-transition-group ~4.4.2
  • react >=16.9.0
  • react-dom >=16.9.0
packages/uiw/package.json
  • @babel/runtime ~7.23.0
  • @types/react ~18.2.0
  • @types/react-dom ~18.2.0
  • @uiw/formatter ~2.0.0
  • @uiw/react-layout ~4.10.0
  • @uiw/react-split ~5.9.0
  • react >=16.9.0
  • react-dom >=16.9.0
packages/utils/package.json
  • react >=16.9.0
  • react-dom >=16.9.0
website/package.json
  • @uiw/formatter ~2.0.0
  • @uiw/react-back-to-top ^1.2.0
  • @uiw/react-markdown-preview ^5.0.3
  • @uiw/reset.css ~1.0.5
  • markdown-react-code-preview-loader ^2.1.2
  • react >=16.9.0
  • react-code-preview-layout ^3.1.4
  • react-dom >=16.9.0
  • react-router-dom ^6.16.0
  • @kkt/less-modules ^7.5.2
  • @kkt/raw-modules ^7.5.2
  • @kkt/scope-plugin-options ^7.5.2
  • @types/react ~18.2.0
  • @types/react-dom ~18.2.0
  • kkt ^7.5.2
  • react-test-renderer ~18.2.0
  • react >=16.9.0
  • react-dom >=16.9.0

  • Check this box to trigger a request for Renovate to run again on this repository

create-react-app引入报错

使用环境 windows10 && macOS 10.15.4
uiw版本 3.10.10
使用create-react-app --template typescript 创建的项目在引入uiw后会出现TypeScript error in /node_modules/uiw/lib/cjs/index.d.ts
已经将node_module写入tsconfig的exclude中,且在3.10.9版本中无此bug

配合react-heat-map显示时有bug

Snipaste_2021-08-06_10-39-13
鼠标快速滑动时出现对话框不会消失

"react": "^17.0.2",
"react-dom": "^17.0.2",
"@uiw/react-heat-map": "^1.3.3",
"@uiw/react-tooltip": "^4.9.4",

TimePicker出现NaN

image

重现步骤:
输入框中随便点几下键盘,再连续选两次时分秒任意一个。

侧边栏弹出提示框问题

鼠标放到侧边栏这里时,有个弹出提示框,然后滑动鼠标上下移动,结果这个提示框也下去了。
image

Dropdown Position

Dropdown position on first load is not loading in the right place but after clearing the search field and type again it shows at the exact place it should

与mobx的出现的异常

import React from 'react';
// import './css/Index.css';
import { observable, action, computed } from "mobx";
import {observer} from "mobx-react";
// import dataSetApi from "./apis/DataSet";
import { Table, Pagination, Button } from 'uiw';


const store = observable({
  title: 'this is home page',
  columns: [
    {key: "id", title: "ID", style: {color: "red"}}, 
    {key: "name", title: "名称"}, 
    {key: "createdBy", title: "创建人"}, 
    {key: "updatedBy", title: "更新人"},
    {key: "createdAt", title: "创建时间"}, 
    {key: "updatedAt", title: "更新时间"},
    {
      title: '操作',
      key: 'edit',
      width: 98,
      render: (text, key, rowData, rowNumber, columnNumber) => (
        <div>
          <Button size="small" type="danger">删除</Button>
          <Button size="small" type="success">修改</Button>
        </div>
      )
    }
  ],
  list: [],
  total: 0,
  // 获取首页数据
  async getList(page, size) {
    // let resp = await dataSetApi.getList(page, size);
    // this.list = resp.data;
    // this.total = resp.total;
  }
});

@observer
class DataSetList extends React.Component  {

  componentDidMount() {
    store.getList(1, 20);
  }

  render() {
    return (
      <div className="App">
          <Table
              columns={store.columns}
              data={store.list}
              bordered
              footer={
                <Pagination
                  current={1}
                  pageSize={10}
                  total={store.total}
                  divider
                  onChange={(current, total, pageSize) => {
                    store.getList(current, pageSize)
                  }}
                />
            }
          />
      </div>
    );
  } 
}

export default DataSetList;

Impossible to set a default panelDate

Hi, first thank you for the month-picker module, it's doing what I needed :) .
My issue is that I want to set a default value to the month-picker when loading a page, I can show the value I want in the input but the panelDate seems to be initialized with new Date() and I couldn't find a way to change that.

I though I could pass a panelDate through the datePickerProps object but looks those props are not used, at least not the panelDate.

Could that be fixed/changed easily ? Seems like it wouldn't be too much to change looking at the code. Or if you think I'm doing it wrong and you have a working exemple of changing the default panelDate for the month-picker that'd be great !

Thanks !

Add @types/uiw, not works on typescript project.

For example: Popover
Error:
(alias) class Popover
import Popover
JSX element class does not support attributes because it does not have a 'props' property.ts(2607)
'Popover' cannot be used as a JSX component.
Its instance type 'Popover' is not a valid JSX element.
Type 'Popover' is missing the following properties from type 'ElementClass': context, setState, forceUpdate, props, and 2 more.ts(2786)

Support React Strict Mode

StrictMode 是一个用来突出显示应用程序中潜在问题的工具。与 Fragment 一样,StrictMode 不会渲染任何可见的 UI。它为其后代元素触发额外的检查和警告。

⚠️ 严格模式检查仅在开发模式下运行;它们不会影响生产构建。

你可以为应用程序的任何部分启用严格模式。例如:

import React from 'react';

function ExampleApplication() {
  return (
    <div>
      <Header />
      <React.StrictMode>
        <div>
          <ComponentOne />
          <ComponentTwo />
        </div>
      </React.StrictMode>
      <Footer />
    </div>
  );
}

StrictMode 目前有助于:

  • 识别不安全的生命周期
  • 关于使用过时字符串 ref API 的警告
  • 关于使用废弃的 findDOMNode 方法的警告
  • 检测意外的副作用
  • 检测过时的 context API

过时 API:String 类型的 Refs

如果你之前使用过 React,你可能了解过之前的 API 中的 string 类型的 ref 属性,例如 "textInput"。你可以通过 this.refs.textInput 来访问 DOM 节点。我们不建议使用它,因为 string 类型的 refs 存在 一些问题。它已过时并可能会在未来的版本被移除。

关于使用废弃的 findDOMNode 方法的警告

findDOMNode 也可用于 class 组件,但它违反了抽象原则,它使得父组件需要单独渲染子组件。它会产生重构危险,你不能更改组件的实现细节,因为父组件可能正在访问它的 DOM 节点。findDOMNode 只返回第一个子节点,但是使用 Fragments,组件可以渲染多个 DOM 节点。findDOMNode 是一个只读一次的 API。调用该方法只会返回第一次查询的结果。如果子组件渲染了不同的节点,则无法跟踪此更改。因此,findDOMNode 仅在组件返回单个且不可变的 DOM 节点时才有效。

你可以通过将 ref 传递给自定义组件并使用 ref 转发来将其传递给 DOM 节点。

你也可以在组件中创建一个 DOM 节点的 wrapper,并将 ref 直接绑定到它。

class MyComponent extends React.Component {
  constructor(props) {
    super(props);
    this.wrapper = React.createRef();
  }
  render() {
    return <div ref={this.wrapper}>{this.props.children}</div>;
  }
}

检测过时的 context API

过时的 context API 容易出错,将在未来的主要版本中删除。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.