Git Product home page Git Product logo

omakase-ui's Introduction

@thaddeusjiang/omakase-ui 👋

  • Maybe you shouldn't use this library, just use tailwindcss and HTML is enough.
  • You don't need to use this library if you have lots of time to code and want to build the unique UI.

npm (scoped) Documentation Maintenance License: MIT Twitter: ThaddeusJiang

Features

  1. out of box utils of UIUX.
  2. beautiful default styling.
  3. without big external dependencies, like: @tanstack/table, Downshift and Tippy.js etc.

Install

yarn add @thaddeusjiang/omakase-ui

Components

Common

Button

Don't need JS, learn https://daisyui.com/components/button/

Icon

Recommend heroicons v1 and sodaicons

sodaicons supports Highlight colorful icons, just like:

sodaicons-outline-icons

sodaicons-solid-icons.png

We recommend make all icons as button, apply :hover, :focus and other styles.

Typography

Layout

Divider

daisyUI

Grid

Layout

Space

Navigation

Affix

Breadcrumb

Dropdown

@radix-ui/react-dropdown-menu

Menu

daisyUI

PageHeader

Pagination

  • provide utils for pagination
<Pagination start={1} end={10} total={10015} currentPage={1} totalPage={101} onChangePage={onChangePage} />

Steps

Data Entry

AutoComplete

Cascader

🙅‍♂️ Don't use this UI.

Checkbox

Don't need JS, learn https://daisyui.com/components/checkbox/

DatePicker

Don't need JS, learn HTML input type="date"

<input type="date" id="start" name="trip-start" value="2018-07-22" min="2018-01-01" max="2018-12-31" />

HTML input type="datetime-local"

<input
  type="datetime-local"
  id="meeting-time"
  name="meeting-time"
  value="2018-06-12T19:30"
  min="2018-06-07T00:00"
  max="2018-06-14T00:00"
/>

others

input type="month"

Form

Input

Don't need JS, learn HTML native input and input class.

html-input-types

InputNumber

Mentions

Radio

Don't need JS, learn https://daisyui.com/components/radio/

Rate

Select

Simple select don't need JS, learn https://daisyui.com/components/select/.

Complex select and combobox recommend to use react-select

examples

Slider

Switch

Don't need JS, learn daisyUI Toggle and daisyUI Swap. daisyUI is super cool, you should try it.

TimePicker

Don't need JS, learn

HTML input type="datetime-local"

```html ```

HTML input type="time"

<input type="time" id="appt" name="appt" min="09:00" max="18:00" required />

Transfer

🙅‍♂️ Never use this UI

TreeSelect

Upload

Data Display

Avatar

daisyUI Avatar

Badge

daisyUI Badge

Calendar

Card

Carousel

Collapse

Comment

Descriptions

Empty

Image

List

Popover

Segmented

Statistic

Table

Tabs

Tag

Timeline

Tooltip

Don't need JS, we recommend HTML tooltip

<div title="CoolTip">
  <p>Hovering here will show "CoolTip".</p>

  <p title="">Hovering here will show nothing.</p>
</div>
  • no JS (Must)
  • no CSS (Optional, don't over styling.) confirm you didn't make a bug tweet

Tree

Feedback

Alert

https://daisyui.com/components/alert/

Drawer

Message

Recommend react-hot-toast

Modal

Recommend Radix Alert Dialog and Radix Dialog

Why: We love self control dialog component, we don't want to write a lot of State for isOpen and setIsOpen

Why we don't use daisyUI Modal? We need accessibility.

KnowHow

  • Radix Alert Dialog for confirm
  • Radix Dialog for asynchronous form submission

Notification

Popconfirm

Progress

Result

Skeleton

Spin

Other

Anchor

BackTop

ConfigProvider

Mockup

Code

daisyUI

Phone

daisyUI

Window

daisyUI

BTW, we recommend to not mock up Phone and Window. Welcome to try @omakase-ui/react-responsive-design-mode

Useful

LoadingIcon

ScreenLoading

SectionLoading

DataNotFound

Run tests

yarn run test

Develop

yarn storybook

Author

👤 Thaddeus Jiang

🤝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check issues page. You can also take a look at the contributing guide.

Show your support

Give a ⭐️ if this project helped you!

📝 License

Copyright © 2022 Thaddeus Jiang.

This project is MIT licensed.


This README was generated with ❤️ by readme-md-generator

omakase-ui's People

Contributors

thaddeusjiang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

uktaine-win

omakase-ui's Issues

react-table 没有 export CSS,如果 app 没有使用对应的 CSS,就会导致 CSS 异常。

Usage

if you don't use Tailwind CSS

import { DataTable } from '@omakase-ui/react-table';
import '@omakase-ui/react-table/dist/index.css';

<DataTable columns={columns} data={data} sort={['name', 'asc']} />;

if you use Tailwind CSS

import { DataTable } from '@omakase-ui/react-table';

<DataTable columns={columns} data={data} sort={['name', 'asc']} />;

modify tailwind.config.js

// tailwind.config.js
+ const path = require("path");

module.exports = {
  content: [
    "./src/**/*{js,ts,jsx,tsx}",
+    path.join(
+      require.resolve("@omakase-ui/react-table"),
+      "../**/*.{js,ts,jsx,tsx}"
+    ),
  ],
  theme: {},
  plugins: [],
};

Omakase(おまかせ) UI - basic components

提供常用的 UI components,开箱即用,类似 ReTool 一样可以快速搭建出一个功能。

  1. 必须是开箱即用的
  2. 必须是非常常用的
  3. 必须支持国际化

UI list

  • Form 相关,一定会使用。

    • input
      • text input
      • number input
      • date input
      • select
      • checkbox
      • radio
    • error / errors
    • label
    • form helper
  • Display

    • Table
    • List
    • Avatar
    • Card
    • Model
    • Toast
    • Alert
    • [ ]

UX:局部 Form

虽然不一定要采用,但是 UX 设计的挺好的。

  • 编辑 / 取消
  • 保存
  • 局部的 Success/Fail alert

CleanShot 2022-11-16 at 16 45 17

new component: Search Select

  • 增量检索
  • debounce 触发 API 请求
  • focused 状态下自动打开 options
  • options 为空的 UIUX
  • 滚动加载
  • 所有数据加载后 UIUX

CleanShot 2022-09-21 at 21 31 46

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.