Git Product home page Git Product logo

lycan_ui's Issues

Drawer Component

Should this have a way to be server rendered?

  • Basic Component
  • Make it Styled

Radio + Radio Group Component

Straightforward Radio Buttons

Ofc should gracefully interact with Rails forms

  • Basic Component
  • Make it Styled

Something that is prerequisite to this is some way of creating a default tailwind.config.js or cog.tailwind.css file.

Something that probably sits behind a default install command, and then we can append/update that file as we install new components.

Date Picker Component

No time yet, I think that is a bit more complex.
This should leverage the Calendar Component

  • Basic Component
  • Should format the date on mobile, but should use the native datepicker.
  • Has the ability to install dependent components
  • Make it Styled

Input Component

  • Basic Component
  • All the various types (excluding file field, that will be handled on it's own).
  • Make it Styled

Progress Component

So for this I don't think we actually want to use the real Progress Element. Because if it's rounded that creates some weirdness. Shadcn/ui uses two divs and then just translates one around to simulate it and keep rounding.

  • Basic Component
  • Works when rounded?
  • Make it Styled

Navigation Menu Component

Creates that cool hovercard (probably leverage that component) to put a bunch of navigation links inside of it, or just link to a single link.

  • Basic Component
  • Has the ability to install dependent components
  • Make it Styled

Context Component

Similar to the context menu we potentially want this to interact with Turbo in some way to perform server actions? Might make sense to leave that up to the consumer?

  • Basic Component
  • Make it Styled

Popover Component

This isn't really much different than the Hovercard other than the way it's triggered I don't think. So they can maybe share code?

  • Basic Component
  • Make it Styled

Badge Component

  • Basic Component
  • Make it Styled

A big thing on this is making sure that we have variants and end up with a nice way to do that.

Alert Dialog Component

  • Basic Component - Basically a modal without the ability to close until an action is picked
  • Make it Styled
  • Should it interact with forms for confirmations? (probably)
  • Should we have a button_to type helper that let's you use it easily? (probably)

Pagination Component

It'd be cool if this gracefully interacted with Kaminari, will_paginate, and pagy. Not quite sure exactly how that would look though.

  • Basic Component
  • Make it Styled

So I think we also want to steal some of the stuff from pagy here.

The different styles of pagination + the smartness the pagy js does.

That really makes the complexity of this skyrocket, but will make it a lot more useful for users.

For a first pass, just support pagy

Select Component

Typical select box. No programmatic filling or search yet.

Some select boxes do this weird thing where they lock the scroll of the page. we shouldn't do that. Let's just make the thing actually scroll with the page.

  • Basic Component
  • Leverage floating UI and install the dep
  • Make it Styled

Button Component

  • Basic Component
  • Make it Styled
  • Make some Variants

We probably want some form of a ButtonTo as well, that would be quite nice.

Checkbox Component

  • Basic Component
  • Make it Styled

Something that is prerequisite to this is some way of creating a default tailwind.config.js or cog.tailwind.css file.

Something that probably sits behind a default install command, and then we can append/update that file as we install new components.

Label Component

Renders a label that can be associated with a form control
This and the input should interact gracefully with the Rails formbuilders

  • Basic Component
  • Make it Styled

Collapse Component

This should have a nice animation

  • Basic Component
  • Make it Styled

Kicking this back because I have some questions on the way I want to implement it.

Namely do I want to use the grid-template-rows transition by default. Or just have it unanimated and use something like the details element to handle it semantically.

Could also be unanimated and use the hidden attribute.

Overall animating them get's a little wacky outside the svelte ecosystem because we don't get the luxury of the Svelte transition ecosystem.

Ultimately I also think this component is not super critical.

Avatar Component

This is mostly built already.

  • Make it Styled
  • Potentially add some variants?

Switch Component

Cool little animated switch toggle. I can't remember how I did it for the one I made at work, but it uses some cool box shadow shit to morph between the two states, so if it can do that, that'd be cool.

  • Basic Component
  • Make it Styled

Table Component

This should support filtering and sorting with Turbo

  • Basic Component
  • Support filtering and sorting out of the box
  • Make it Styled

Eventually it would be super amazing if we could have a helper that lets you do like table(collection. attributes: [:thing, :thing_2]) that renders a table for you automatically. That has like filtering, sorting, picking columns, paginations, etc.

Alert Component

  • Basic Stuff Working
  • Style It
  • Figure out what to do with Variants (like destructive)

Textarea Component

Minimally styled text area.

Optionally apply character count?

  • Basic Component
  • Make it Styled

Sheet Component

Like Drawer but on the side

Should this be accessible if you swipe on mobile? Methinks yes but.. not sure.

  • Basic Component
  • Make it Styled

Command Component

This should have some option to hit different server actions per one you pick. Could do with a form and buttons with formaction? Not to sure how we should handle that.

  • Basic Component
  • Make it Styled

One Time PIN Input Component

I see more and more apps having something like this, so it seems like something we should have as well.

  • Basic Component
  • Should use input-otp library probably.
  • Make it Styled

Dialog Component

Should have some way to be server rendered and interact with Turbo.
Should have some way to be rendered on the client as well probably?

  • Basic Component
  • Make it Styled
  • Render from server
  • Render from client
  • Interacts well with forms

Calendar Component

This one is going to be way more complex, might not even be worth it for an MVP.

There are probably some more advanced features we'd want.

  • Basic Component
  • Make it Styled
  • Localization?

Toggle / Toggle Group Component

Toggles between two states (probably tied to a form field in some way?)

  • Basic Component
  • Make it Styled

So my issue with this one is I am not entirely clear how we would interact with this on both the stimulus side or on the rails side.

I'd need to see a proposal of how we'd like this implemented.

Toaster Component

This should work more like the Sonner in shadcn/ui, that thing fuckin rocks.

Should this interact with the server in some way? Like some helpers for pushing notifs with turbo streams?

  • Basic Component
  • Some server stuff happens?
  • Make it Styled

Slider (Range Input) Component

Not sure how styleable the native ones are. Those basically get the job done?
Should ofc gracefully interact with Rails forms.

  • Basic Component
  • Make it Styled

Hover Card (Popover) Component

Should leverage floating UI
Should have the ability to lazy load with turbo frames

  • Basic Component
  • Make it Styled
  • Lazy loadable

Skeleton

Skeleton loader. Really really basic.

  • Basic Component
  • Make it Styled

Alert Component

  • Basic Stuff Working
  • Style It
  • Figure out what to do with Variants (like destructive)

Alert Dialog Component

  • Basic Component - Basically a modal without the ability to close until an action is picked
  • Make it Styled
  • Should it interact with forms for confirmations? (probably)
  • Should we have a button_to type helper that let's you use it easily? (probably)

Right Click Menu Component

This might be a duplicate but I see lots of apps with this as well, so that could be something we implement here too

  • Basic Component
  • Make it Styled

Card Component

  • Basic Component
  • Make it Styled

Card requires a bit more design before getting done, and also frankly I don't think fits with the MVP much, since I care more about getting nice functional components out

Combobox Component

Biggest thing to consider with this is whether or not we want to allow some kind of search that hits the backend for this? I think for the original version of it.. we probably don't want something that is populated by the server? But might be something nice to consider for later.

  • Basic Component
  • Make it Styled
  • Should leverage FloatingUI (this means we'll need a generator to install the dependency)

Menu Bar

Easy to use Menu Bar component for an app. This should leverage the Dropdown component.

I'd assume we'd want the menu to have buttons/dropdowns/etc in it. So we should support all of that.

  • Basic Component
  • Has the ability to install dependent components
  • Make it Styled

Tooltip Component

Your basic tooltip with lots of positioning stuff

Leverage floatingUI

  • Basic Component
  • Make it Styled

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.