Giter Club home page Giter Club logo

lsd's Introduction

Logos Design System (LSD)

LSD is an open-source design system challenging conventional norms in the world of digital products and experiences. Rooted in a philosophy that values content over excess, we're here to decentralize design and empower the message. Our minimalist approach is a rebellion against the cluttered design landscape. Join us in our mission to simplify and refocus design for all, with working code, tools, resources, and a community of like-minded individuals.


Radical Theme

The "Radical Theme" is a minimalistic and unified design system that challenges the status quo with visual polarization and empowers the user to think outside the box.

Available in Figma

Available in React

Library • acid-info/lsd

lsd's People

Contributors

jeangovil avatar jinhojang6 avatar jongomez avatar ci-acid-info[bot] avatar beach-bum avatar

Stargazers

zk.pub avatar mao move avatar amir houieh avatar Ajay Sivan avatar  avatar Mikhail Rogachev avatar Siddarth Kumar avatar sbin avatar  avatar

Watchers

amir houieh avatar

lsd's Issues

Table component update

I believe the table component has already been implemented. However, there are some changes needed, as per the figma designs.

NOTE: the designers and devs should add what needs to be updated in the notion page. We may have to wait a while until that's done.

Figma link

Notion link

Typography : genericFontFamily error

When using a Typograpgy component with the genericFontFamily property, a browser consoles shows this error

Warning: React does not recognize the `genericFontFamily` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `genericfontfamily` instead. If you accidentally passed it from a parent component, remove it from the DOM element.
Screenshot 2023-05-22 at 9 01 10 PM

I can remove the error if I pick up genericFontFamily from Typography.tsx as below but not sure if this could have a side effect.

export const Typography: React.FC<TypographyProps> & {
  classes: typeof typographyClasses
} = ({
  color,
  variant = 'body1',
  component,
  className,
  children,
  genericFontFamily,  // change1
  ...props
}) => {
  const commonProps = useCommonProps({ ...props, genericFontFamily })  // change2
  const componentName =
    component ??
    (
      {
        h1: 'h1',
        h2: 'h2',
        h3: 'h3',
        h4: 'h4',
        h5: 'h5',
        h6: 'h6',
        label1: 'label',
        label2: 'label',
      } as Record<TypographyVariants, string>
    )[variant] ??
    'span'

  const Component = componentName as any as React.ComponentType<TypographyProps>

  return (
    <Component
      className={clsx(
        commonProps.className,
        typographyClasses.root,
        typographyClasses[variant],
        color && typographyClasses[color],
        className,
      )}
      {...props}
    >
      {children}
    </Component>
  )
}

Typography.classes = typographyClasses

Modal component

Modal implementation is missing. A modal is a window positioned above the page content to direct the user's attention solely toward a single task or piece of information.

Available sizes: Large, Medium, Small.

Figma link

Notion link

Number input component

We should implement a number input component. It should allow users to input a numeric value and adjust the value incrementally using a two-segment control.

Available sizes: Large, Medium, Small.

Figma Link

Date picker component

The next release should have a date picker component. There's some work already done in the following PR:

#19

Dropdown: genericFontFamily error

Using the <Dropdown/> component like:

<Dropdown options={sortByOptions} value={sortBy} onChange={(value) => setSortBy(value.toString())} />

causes the error:

image

Cards have no standardized size

I am unsure if this is a bug, if not, please close this issue.

When using the <Card> component like so:

 <Card onClick={onClick} size="large">
   <CardHeader>
   ...
   </CardHeader>
   <CardBody>
   ....
   </CardBody>
 </Card>

The style applied is empty:

image

The same is valid for sizes small and medium.

I would expect to have standardized sizes for different <Card> variants.

Proposal - Add Support for React Hooks to LSD

Proposal: Add Support for React Hooks to LSD

Summary

I am proposing the implementation of React hooks to enhance the performance and flexibility of the design system.

Motivation

React hooks are a powerful tool that enables developers to write functional components with state and lifecycle methods. By adding support for React hooks, LSD can provide a more modern and flexible approach to building UI components and applications.

Proposed Solution

To add support for React hooks to LSD, we would need to collaborate as a team with the help of community and dedicate resources to the development and implementation of the feature. Specifically, we could:

  • Research and identify which React hooks would be most useful for the LSD community
  • Develop and test the implementation of React hooks within LSD
  • Update the documentation and provide examples for how to use the new feature

Proposed Hooks

We could consider adding the following React hooks to LSD, categorized by Enhancement, Utilities, and Development:

Enhancement

  • useKeyboard
  • useInput
  • useModal
  • useTabs
  • useToast?

Utilities

  • useBodyScroll
  • useClipboard
  • useMediaQuery

Development

  • useTheme
  • useClasses

Benefits

By adding support for React hooks to LSD, we can improve the performance and flexibility of the design system, making it a more powerful tool for developers. The proposed hooks can enhance the user experience, improve productivity, and simplify the development process.

Next Steps

To keep the discussion going and decide on the final list of React hooks to be added to LSD, we can:

  • Create a separate document or thread to brainstorm and discuss potential React hooks
  • Gather feedback and suggestions from the LSD community and evaluate the feasibility and usefulness of each proposed hook
  • Once the final list is decided, move them to the LSD's feature list and start the development process

As for where to host the list of proposed React hooks, we could use either GitHub or Notion. Both platforms offer collaborative features and can be accessed by the LSD community. We can choose the platform that best fits our needs and preferences.

Cheers 🍻

Toast component

The Toast component should show display a brief message or give feedback in response to a particular action.
Available styles: Inline, Toast.
Available sizes: Large, Medium, Small.

Figma link

Notion link

Icon component

The current LsdIcon component should be renamed to just Icon.

Note that LSD icons are currently Material Icons. This should also change in the future.

Release beta

  • update text from notion
  • update typography tokens based on new scaling system
  • update readme file

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.