skeletonlabs / skeleton

A complete design system and component solution, built on Tailwind.
https://skeleton.dev
MIT License
4.89k stars 305 forks source link

Improve Component Consistency #194

Closed endigo9740 closed 1 year ago

endigo9740 commented 2 years ago

We've created and implemented a lot of new design patterns and paradigms over the last few months. I think it would be useful to go through and ensure all components are in sync with the latest standards.

NOTE: THIS UPDATE WILL INTRODUCE BREAKING CHANGES

Code Consistency

Component Docs

Design Consistency

Introduce Tailwind Elements

We've opted to deprecate several components in favor of static Tailwind CSS styled elements.

endigo9740 commented 2 years ago

The list above shows general changes, while the list below shows specific changes per item.

Components

App Shell

App Bar

Accordion

Alerts

Avatars

NOTE: this component has had a major refactor

Badges

Converted to a Tailwind Element, component is deprecated. Will be removed, please migrate asap!

Breadcrumbs

NOTE: this component has had a major refactor

Buttons

Converted to a Tailwind Element, component is deprecated. Will be removed, please migrate asap!

Cards

Converted to a Tailwind Element, component is deprecated. Will be removed, please migrate asap!

Data Tables

Dividers

NOTE: this component has had a major refactor

Default <hr> style added to core.css:

Gradient Heading

Lists

NOTE: this component has been split up. Please read changes below carefully.

Svelte Component:

Tailwind Element: Used for UL, OL, DL, and NAV lists

Logo Cloud

Converted to a Tailwind Element, component is deprecated. Will be removed, please migrate asap!

Menus

Paginators

Progress Bars

Progress Radials

Radio Groups

NOTE: this component has had a major refactor

Range Sliders

NOTE: this component has had a major refactor

Slide Toggles

Steppers

NOTE: this component has had a major refactor

Tabs

NOTE: this component has had a minor refactor

Tooltips

Utilities

Code Block

Drawers

Recently updated, no changes needed.

Dialogs

Toasts

Light Switch

Actions

Copy to Clipboard

Filters

endigo9740 commented 1 year ago

This is ready to test! Everyone is welcome to pull down the PR and test locally. Please submit your feedback here. Thanks!

endigo9740 commented 1 year ago

Note I've completed a round of updates. The first was just general QA and cleanup fixes. The second added more "selector classes", the id-like classes we use to describe each element within the component templates.

endigo9740 commented 1 year ago

Merged this into dev, but reopening this ticket so QA can continue forward over the next week.

salisshuaibu11 commented 1 year ago
  1. The fill property on the button component is not taking effect.
  2. If you check the list component under selection ListBox there is a writing typo in the description the "to" that comes before the store needs to get removed.
  3. missing toggles for rounded and cursor props in the Avatar component, I think it will make sense if you add those.
  4. There is a need to add an interactive example for the Badges component the way you did it for the Avatar, check mantine's badges.
  5. How about code that we are adding as a usage to be referring to the component examples, what's your opinion on this? The reason am bringing this up is because the doc for BreadCrumb is unclear to me, but I don't know for others.

@endigo9740 you can start with these ones for now before I am done with the rest

endigo9740 commented 1 year ago

@salisshuaibu11 The button component wasn't touched in this update. It's been pulled to it's own dedicated ticket. But I noted your posted on there already.

We're adding interactive examples over time as I'm still settled on the best way to handle a few things. We'll have them for most components eventually. Though some like Cards work a bit better as is.

Let's chat about the Breacrumb a bit more tomorrow. I'd like to hear your thoughts.

Thanks though, this is a great start!

niktek commented 1 year ago

Safari (of course) doesn't show the initials on components/avatars even though the rendered HTML has it and it shows fine in other browsers like Chrome.

niktek commented 1 year ago

Safari..... http://localhost:5173/components/range-sliders Accent doesn't work. Works fine in other browsers.

endigo9740 commented 1 year ago

Per Avatars - I'm using the same technique as the progress radio for SVG text - which scale responsively. So I'll check both!

Per Radio Sliders - yeah, I'm aware. Hopefully they resolve that soon!

endigo9740 commented 1 year ago

@salisshuaibu11 @niktek The items you mentioned above have been fixed and changes push to dev branch. Please confirm.

@salisshuaibu11 I didn't include the Avatar cursor in the preview because it's not very visibly notable. Also we never followed up on your issue with the breadcrumbs. If you can provide more details on what's unclear there I'd be happy to explain. Breadcrumbs are a component that have been part of web pages since early days. I'm not sure what else we can do to explain them. But I'l open to ideas!

salisshuaibu11 commented 1 year ago

Is okay, is clear now.

endigo9740 commented 1 year ago

I've created a new ticket to track the progress on items not completed in this upcoming release:

endigo9740 commented 1 year ago

Part 1 is released. Part 2 coming up soon!