0.2.15 β€’ Published 1 month ago

@edusogno/ui v0.2.15

Weekly downloads
-
License
ISC
Repository
-
Last release
1 month ago

πŸš€ Why

  • The component designs defy the norms of Material UI, forging a new path in UI magic.
  • Reusability is our secret potion for all developed components.
  • Enhancing performance with components that dance with alternative CSS-IN-JS libraries and the rhythm of Tailwind!

Built With

Edusogno Library embraces the power of:

  • React.js
  • TypeScript
  • Tailwind CSS
  • Storybook
  • shadcnui
  • radixui
  • tsup
  • turbo

πŸš€ Getting Started

The library unfolds its chapters through subpackages under the mystical namespace @edusogno:

  • composites - Home to composite components like magical popups and more!
  • primitives - A treasure trove of basic components, the essence of UI magic in buttons!
  • inputs - A realm of common input components, each with its unique spell.
  • layouts - The sacred place containing common layout components, designed for magical arrangements.
  • lib - A mysterious package containing common functions, the secret scrolls of the library.

Prerequisites

This library requires brave adventurers to have the following prerequisites:

This project uses NPM as its package manager, the elixir of package management. It comes bundled with Node.js. To install the latest version of Node.js, visit the Node.js website.

Beware! Do not use yarn or any other package manager to install packages. Use npm instead. This is because npm uses a package-lock.json file to lock down the versions of the packages, ensuring harmony in the magical versions.

Installation

  1. First run
     npm install @edusogno/ui
  2. Add this line to your imports in main.tsx or App.tsx
     import "@edusogno/ui/css";
  3. Update your tailwind configuration file tailwind.config.js as follows
        content: [
         "./node_modules/@edusogno/**/**/**/*.{ts,js,jsx,tsx,mdx}",
     ],
     presets: [require("@edusogno/ui/presets.js")],
  4. Next install any of the subpackages e.g
     npm install @edusogno/primitives

Folder Structure

The folder is structured as follows:

edusogo-ui
β”œβ”€β”€ APPLICATION_STRUCTURE.md
β”œβ”€β”€ assets
β”‚Β Β  └── storybook-icon.svg
β”œβ”€β”€ CHANGELOGS.md
β”œβ”€β”€ CONTRIBUTION.md
β”œβ”€β”€ index.css
β”œβ”€β”€ package.json
β”œβ”€β”€ package-lock.json
β”œβ”€β”€ packages
β”‚Β Β  β”œβ”€β”€ composites
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ lib
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ booking-date.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ calendar.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ hours.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ index.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ popup-header.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ popup.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── video.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ package.json
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ stories
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ booking-date.stories.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ calendar.stories.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ hours.stories.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ popup.stories.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── video-player.stories.ts
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ tsconfig.json
β”‚Β Β  β”‚Β Β  └── tsup.config.ts
β”‚Β Β  β”œβ”€β”€ graphics
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ assets
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ bgHeaderLg.png
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── bgHeaderSmall.png
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ lib
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ ca-black-logo.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ ca-white-logo.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ icons.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── index.ts
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ package.json
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ tsconfig.json
β”‚Β Β  β”‚Β Β  └── tsup.config.ts
β”‚Β Β  β”œβ”€β”€ index.ts
β”‚Β Β  β”œβ”€β”€ inputs
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ lib
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ address-input.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ date-picker.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ file-upload.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ index.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ outlined-input.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ outlined-password-input.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ outlined-select.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ outlined-text-area.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ outline-phone-input.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ underlined-input.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── underlined-select.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ package.json
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ stories
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ address.stories.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ date-picker.stories.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── phone.stories.ts
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ tsconfig.json
β”‚Β Β  β”‚Β Β  └── tsup.config.ts
β”‚Β Β  β”œβ”€β”€ layouts
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ assets
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ bgHeaderLg.png
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── bgHeaderSmall.png
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ lib
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ auth-content.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ auth-layout.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ auth-page-footer.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ auth-page-heading.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ content-dashboard.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ dashboard.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ global.d.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ index.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ page-footer.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ page-heading.tsx
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── side-bar.tsx
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ package.json
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ stories
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── auth-layout.stories.ts
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ tsconfig.json
β”‚Β Β  β”‚Β Β  └── tsup.config.ts
β”‚Β Β  β”œβ”€β”€ lib
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ lib
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ motion
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── fade-in-bottom.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ stitches.ts
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── utils.ts
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ package.json
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ tsconfig.json
β”‚Β Β  β”‚Β Β  └── tsup.config.ts
β”‚Β Β  β”œβ”€β”€ playground.stories.ts
β”‚Β Β  β”œβ”€β”€ playground.tsx
β”‚Β Β  └── primitives
β”‚Β Β      β”œβ”€β”€ lib
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ accordion.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ box.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ button.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ checkbox.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ command.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ dialog.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ dropdown-menu.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ hover-card.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ index.ts
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ input.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ loading-button.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ popover.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ progress.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ scroll-area.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ select.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ spinner.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ stitches.ts
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ tabs.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ textarea.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ toast.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ toggle-group.tsx
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ toggle.tsx
β”‚Β Β      β”‚Β Β  └── utils.ts
β”‚Β Β      β”œβ”€β”€ package.json
β”‚Β Β      β”œβ”€β”€ README.md
β”‚Β Β      β”œβ”€β”€ stories
β”‚Β Β      β”‚Β Β  └── button.stories.ts
β”‚Β Β      β”œβ”€β”€ tsconfig.json
β”‚Β Β      └── tsup.config.ts
β”œβ”€β”€ postcss.config.mjs
β”œβ”€β”€ README.md
β”œβ”€β”€ tailwind.config.js
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ tsup.config.ts
β”œβ”€β”€ turbo.json
└── vite.config.js
  • The library is currently in its early development stages, and as a result, the components within it are subject to frequent changes. Therefore, most modifications and updates will be released in the form of patches.

Contribute

Review the Contribution guide to understand how you can actively participate and contribute to the library's development.

Roadmap

  • Components

    • Inputs
      • Outlined inputs
        • Input
        • Phone Input
        • AddressInput
        • DatePicker
      • Underlined
    • Composites
      • Video Player
      • Calendar
      • Hour Selector
      • Popup
    • Primitives
      • Buttons
      • Input
      • Accordion
      • Dialogs
      • Popovers
      • Toast
      • Select
  • Stories(Documentation)

    • Docs (In Progress)
      • Contribution Docs
      • Components Docs (In Progress)
    • Unit Tests and Interaction Test

Contributing

If you're eager to contribute to this project, familiarize yourself with the guidelines outlined in the Contributing Guide.

Changelog

Refer to the Changelog for a detailed history of modifications, updates, and improvements made to the library.

License

The source code is protected under the MIT license. Explore the terms and conditions in the LICENSE file for comprehensive information.

Contact

For any inquiries or questions, create an issue in the GitHub repository.