{"id":14957128,"url":"https://github.com/thaddeusjiang/omakase-ui","last_synced_at":"2025-07-11T15:11:53.805Z","repository":{"id":58779333,"uuid":"503577692","full_name":"ThaddeusJiang/omakase-ui","owner":"ThaddeusJiang","description":"refined UI components using daisyUI and Conform","archived":false,"fork":false,"pushed_at":"2023-02-01T12:06:32.000Z","size":358,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-30T09:12:25.377Z","etag":null,"topics":["components-library","daisy-ui","react-js","remix-run","tailwind-css"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ThaddeusJiang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-15T01:43:32.000Z","updated_at":"2025-01-20T04:21:26.000Z","dependencies_parsed_at":"2023-02-17T05:15:51.015Z","dependency_job_id":null,"html_url":"https://github.com/ThaddeusJiang/omakase-ui","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThaddeusJiang%2Fomakase-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThaddeusJiang%2Fomakase-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThaddeusJiang%2Fomakase-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThaddeusJiang%2Fomakase-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThaddeusJiang","download_url":"https://codeload.github.com/ThaddeusJiang/omakase-ui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252008678,"owners_count":21679622,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["components-library","daisy-ui","react-js","remix-run","tailwind-css"],"created_at":"2024-09-24T13:14:07.184Z","updated_at":"2025-05-02T08:30:31.880Z","avatar_url":"https://github.com/ThaddeusJiang.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @thaddeusjiang/omakase-ui 👋\n\n\u003e - Maybe you shouldn't use this library, just use tailwindcss and HTML is enough.\n\u003e - You don't need to use this library if you have lots of time to code and want to build the unique UI.\n\n[![npm (scoped)](https://img.shields.io/npm/v/@thaddeusjiang/omakase-ui?style=for-the-badge)](https://www.npmjs.com/package/@thaddeusjiang/omakase-ui)\n[![Documentation](https://img.shields.io/badge/documentation-yes-brightgreen.svg)](https://github.com/ThaddeusJiang/omakase-ui#readme)\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/ThaddeusJiang/omakase-ui/graphs/commit-activity)\n[![License: MIT](https://img.shields.io/github/license/ThaddeusJiang/omakase-ui)](https://github.com/ThaddeusJiang/omakase-ui/blob/main/LICENSE)\n[![Twitter: ThaddeusJiang](https://img.shields.io/twitter/follow/ThaddeusJiang.svg?style=social)](https://twitter.com/ThaddeusJiang)\n\n## Features\n\n1. out of box utils of UIUX.\n2. beautiful default styling.\n3. without big external dependencies, like: [@tanstack/table](https://github.com/tanstack/table), [Downshift](https://github.com/downshift-js/downshift) and [Tippy.js](https://github.com/atomiks/tippyjs) etc.\n\n## 🏠 [Homepage](https://github.com/ThaddeusJiang/omakase-ui#readme)\n\n## Install\n\n```sh\nyarn add @thaddeusjiang/omakase-ui\n```\n\n# Components\n\n- [@thaddeusjiang/omakase-ui 👋](#thaddeusjiangomakase-ui-)\n  - [Features](#features)\n  - [🏠 Homepage](#-homepage)\n  - [Install](#install)\n- [Components](#components)\n  - [Common](#common)\n    - [Button](#button)\n    - [Icon](#icon)\n    - [Typography](#typography)\n  - [Layout](#layout)\n    - [Divider](#divider)\n    - [Grid](#grid)\n    - [Layout](#layout-1)\n    - [Space](#space)\n  - [Navigation](#navigation)\n    - [Affix](#affix)\n    - [Breadcrumb](#breadcrumb)\n    - [Dropdown](#dropdown)\n    - [Menu](#menu)\n    - [PageHeader](#pageheader)\n    - [Pagination](#pagination)\n    - [Steps](#steps)\n  - [Data Entry](#data-entry)\n    - [AutoComplete](#autocomplete)\n    - [~~Cascader~~](#cascader)\n    - [Checkbox](#checkbox)\n    - [DatePicker](#datepicker)\n    - [Form](#form)\n    - [Input](#input)\n    - [InputNumber](#inputnumber)\n    - [Mentions](#mentions)\n    - [Radio](#radio)\n    - [Rate](#rate)\n    - [Select](#select)\n    - [Slider](#slider)\n    - [Switch](#switch)\n    - [TimePicker](#timepicker)\n    - [~~Transfer~~](#transfer)\n    - [TreeSelect](#treeselect)\n    - [Upload](#upload)\n  - [Data Display](#data-display)\n    - [Avatar](#avatar)\n    - [Badge](#badge)\n    - [Calendar](#calendar)\n    - [Card](#card)\n    - [Carousel](#carousel)\n    - [Collapse](#collapse)\n    - [Comment](#comment)\n    - [Descriptions](#descriptions)\n    - [Empty](#empty)\n    - [Image](#image)\n    - [List](#list)\n    - [Popover](#popover)\n    - [Segmented](#segmented)\n    - [Statistic](#statistic)\n    - [Table](#table)\n    - [Tabs](#tabs)\n    - [Tag](#tag)\n    - [Timeline](#timeline)\n    - [Tooltip](#tooltip)\n    - [Tree](#tree)\n  - [Feedback](#feedback)\n    - [Alert](#alert)\n    - [Drawer](#drawer)\n    - [Message](#message)\n    - [Modal](#modal)\n    - [Notification](#notification)\n    - [Popconfirm](#popconfirm)\n    - [Progress](#progress)\n    - [Result](#result)\n    - [Skeleton](#skeleton)\n    - [Spin](#spin)\n  - [Other](#other)\n    - [Anchor](#anchor)\n    - [BackTop](#backtop)\n    - [ConfigProvider](#configprovider)\n  - [Mockup](#mockup)\n    - [Code](#code)\n    - [Phone](#phone)\n    - [Window](#window)\n  - [Useful](#useful)\n    - [LoadingIcon](#loadingicon)\n    - [ScreenLoading](#screenloading)\n    - [SectionLoading](#sectionloading)\n    - [DataNotFound](#datanotfound)\n- [Run tests](#run-tests)\n- [Develop](#develop)\n- [Author](#author)\n- [🤝 Contributing](#-contributing)\n- [Show your support](#show-your-support)\n- [📝 License](#-license)\n\n## Common\n\n### Button\n\nDon't need JS, learn https://daisyui.com/components/button/\n\n### Icon\n\nRecommend [heroicons v1](https://heroicons.com/) and [sodaicons](https://github.com/ThaddeusJiang/sodaicons)\n\n\u003e sodaicons supports Highlight colorful icons, just like:\n\n![sodaicons-outline-icons](./docs/assets/sodaicons-outline-icons.png)\n\n![sodaicons-solid-icons.png](./docs/assets/sodaicons-solid-icons.png)\n\n\u003e We recommend make all icons as button, apply :hover, :focus and other styles.\n\n### Typography\n\n## Layout\n\n### Divider\n\n[daisyUI](https://daisyui.com/components/divider/)\n\n- [ ] left and right align\n- [ ] [divider-solid divider-dotted divider-dashed divider-double](https://github.com/saadeghi/daisyui/issues/1163)\n\n### Grid\n\n### Layout\n\n### Space\n\n## Navigation\n\n### Affix\n\n### Breadcrumb\n\n### Dropdown\n\n[@radix-ui/react-dropdown-menu](https://www.radix-ui.com/docs/primitives/components/dropdown-menu)\n\n### Menu\n\n[daisyUI](https://daisyui.com/components/menu/)\n\n### PageHeader\n\n### Pagination\n\n- [ ] provide utils for pagination\n\n```jsx\n\u003cPagination start={1} end={10} total={10015} currentPage={1} totalPage={101} onChangePage={onChangePage} /\u003e\n```\n\n### Steps\n\n## Data Entry\n\n### AutoComplete\n\n### ~~Cascader~~\n\n🙅‍♂️ Don't use this UI.\n\n### Checkbox\n\nDon't need JS, learn https://daisyui.com/components/checkbox/\n\n### DatePicker\n\nDon't need JS, learn [HTML input type=\"date\" ](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date)\n\n\u003cinput type=\"date\"\u003e\n\n```html\n\u003cinput type=\"date\" id=\"start\" name=\"trip-start\" value=\"2018-07-22\" min=\"2018-01-01\" max=\"2018-12-31\" /\u003e\n```\n\n[HTML input type=\"datetime-local\"](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local)\n\n\u003cinput type=\"datetime-local\"\u003e\n\n```html\n\u003cinput\n  type=\"datetime-local\"\n  id=\"meeting-time\"\n  name=\"meeting-time\"\n  value=\"2018-06-12T19:30\"\n  min=\"2018-06-07T00:00\"\n  max=\"2018-06-14T00:00\"\n/\u003e\n```\n\nothers\n\ninput type=\"month\"\n\u003cinput type=\"month\"\u003e\n\n### Form\n\n### Input\n\nDon't need JS, learn [HTML native input](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input) and [input class](https://daisyui.com/components/input/).\n\n![html-input-types](./docs/assets/html-input-types.png)\n\n### InputNumber\n\n### Mentions\n\n### Radio\n\nDon't need JS, learn https://daisyui.com/components/radio/\n\n### Rate\n\n### Select\n\nSimple select don't need JS, learn https://daisyui.com/components/select/.\n\nComplex select and combobox recommend to use [react-select](https://github.com/jedwatson/react-select)\n\n[examples](./stories/Select.stories.tsx)\n\n### Slider\n\n### Switch\n\nDon't need JS, learn [daisyUI Toggle](https://daisyui.com/components/toggle/) and [daisyUI Swap](https://daisyui.com/components/swap/).\ndaisyUI is super cool, you should try it.\n\n### TimePicker\n\nDon't need JS, learn\n\n[HTML input type=\"datetime-local\"](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local)\n\n\u003cinput type=\"datetime-local\"\u003e\n```html\n\u003cinput\n  type=\"datetime-local\"\n  id=\"meeting-time\"\n  name=\"meeting-time\"\n  value=\"2018-06-12T19:30\"\n  min=\"2018-06-07T00:00\"\n  max=\"2018-06-14T00:00\"\n/\u003e\n```\n\n[HTML input type=\"time\"](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time)\n\n\u003cinput type=\"time\"\u003e\n\n```html\n\u003cinput type=\"time\" id=\"appt\" name=\"appt\" min=\"09:00\" max=\"18:00\" required /\u003e\n```\n\n### ~~Transfer~~\n\n🙅‍♂️ Never use this UI\n\n### TreeSelect\n\n### Upload\n\n## Data Display\n\n### Avatar\n\n[daisyUI Avatar](https://daisyui.com/components/avatar/)\n\n### Badge\n\n[daisyUI Badge](https://daisyui.com/components/badge/)\n\n### Calendar\n\n### Card\n\n### Carousel\n\n### Collapse\n\n### Comment\n\n### Descriptions\n\n### Empty\n\n### Image\n\n### List\n\n### Popover\n\n### Segmented\n\n### Statistic\n\n### Table\n\n### Tabs\n\n### Tag\n\n### Timeline\n\n### Tooltip\n\nDon't need JS, we recommend [HTML tooltip](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/title)\n\n```html\n\u003cdiv title=\"CoolTip\"\u003e\n  \u003cp\u003eHovering here will show \"CoolTip\".\u003c/p\u003e\n\n  \u003cp title=\"\"\u003eHovering here will show nothing.\u003c/p\u003e\n\u003c/div\u003e\n```\n\n- no JS (Must)\n- no CSS (Optional, don't over styling.) confirm you didn't make a bug [tweet](https://twitter.com/ThaddeusJiang/status/1460773968063787014)\n\n### Tree\n\n## Feedback\n\n### Alert\n\nhttps://daisyui.com/components/alert/\n\n### Drawer\n\n### Message\n\nRecommend [react-hot-toast](https://github.com/timolins/react-hot-toast)\n\n### Modal\n\nRecommend [Radix Alert Dialog](https://www.radix-ui.com/docs/primitives/components/alert-dialog) and [Radix Dialog](https://www.radix-ui.com/docs/primitives/components/dialog)\n\n\u003e Why:\n\u003e We love self control dialog component, we don't want to write a lot of State for `isOpen` and `setIsOpen`\n\n\u003e Why we don't use daisyUI Modal?\n\u003e We need accessibility.\n\nKnowHow\n\n- `Radix Alert Dialog` for confirm\n- `Radix Dialog` for asynchronous form submission\n\n### Notification\n\n### Popconfirm\n\n### Progress\n\n### Result\n\n### Skeleton\n\n### Spin\n\n## Other\n\n### Anchor\n\n### BackTop\n\n### ConfigProvider\n\n## Mockup\n\n### Code\n\n[daisyUI](https://daisyui.com/components/mockup-code/)\n\n### Phone\n\n[daisyUI](https://daisyui.com/components/mockup-phone/)\n\n### Window\n\n[daisyUI](https://daisyui.com/components/mockup-window/)\n\nBTW, we recommend to not mock up Phone and Window.\nWelcome to try [@omakase-ui/react-responsive-design-mode](https://www.npmjs.com/package/@omakase-ui/react-responsive-design-mode)\n\n## Useful\n\n### LoadingIcon\n\n### ScreenLoading\n\n### SectionLoading\n\n### DataNotFound\n\n# Run tests\n\n```sh\nyarn run test\n```\n\n# Develop\n\n```sh\nyarn storybook\n```\n\n# Author\n\n👤 **Thaddeus Jiang**\n\n- Website: https://thaddeusjiang.com/\n- Twitter: [@ThaddeusJiang](https://twitter.com/ThaddeusJiang)\n- Github: [@ThaddeusJiang](https://github.com/ThaddeusJiang)\n\n# 🤝 Contributing\n\nContributions, issues and feature requests are welcome!\n\nFeel free to check [issues page](https://github.com/ThaddeusJiang/omakase-ui/issues). You can also take a look at the [contributing guide](https://github.com/ThaddeusJiang/omakase-ui/blob/main/CONTRIBUTING.md).\n\n# Show your support\n\nGive a ⭐️ if this project helped you!\n\n# 📝 License\n\nCopyright © 2022 [Thaddeus Jiang](https://github.com/ThaddeusJiang).\n\nThis project is [MIT](https://github.com/ThaddeusJiang/omakase-ui/blob/main/LICENSE) licensed.\n\n---\n\n_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthaddeusjiang%2Fomakase-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthaddeusjiang%2Fomakase-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthaddeusjiang%2Fomakase-ui/lists"}