GithubHelp home page GithubHelp logo

dd3tech / bui Goto Github PK

View Code? Open in Web Editor NEW
22.0 1.0 1.0 57.59 MB

BUI: Tailwind based React component library to build back-office platforms :rocket:

Home Page: https://bui.dd360.mx

License: MIT License

Shell 0.02% JavaScript 1.58% TypeScript 96.14% CSS 2.26%
tailwindcss react components javascript typescript library design-system nextjs nextjs-tailwind production-code

bui's Introduction

BUI logo

A React ecosystem library for building back-office platforms like DD360.
It's library created by developers for developers

Stable v6

license npm latest package npm downloads Average time to resolve an issue CII Best Practices Storybook

BUI components

Docs โ€ข Website

๐Ÿ“ฒ Installation

npm install dd360-ds

or

yarn add dd360-ds

๐Ÿ’… Customize theme

If you want to use a provider to configure the library's theme, you can do so using the ThemeProvider provided by dd360-ds. This will allow you to set your own settings for the theme.

To use the ThemeProvider, you must import it as follows:

import { createTheme, ThemeProvider } from "dd360-ds/theme";

You can then create your own theme configuration using the createTheme function, which accepts an object with different properties to customize the theme. For example, you can define the primary and secondary colors as shown below:

const theme = createTheme({
  palette: {
    primary: {
      main: "purple"
    },
    secondary: {
      main: "#FFC107"
    }
  }
});

After creating your theme configuration, you can use the ThemeProvider to wrap your React app. This can be done as follows:

ReactDOM.createRoot(document.getElementById("root")).render(
  <StrictMode>
    <ThemeProvider theme={theme}>
      <App />
    </ThemeProvider>
  </StrictMode>
);

Within the ThemeProvider, you can use the components provided by dd360-ds and the corresponding styles will be applied based on your theme settings.

Remember that to use the ThemeProvider, you must import both the createTheme component and the ThemeProvider component from dd360-ds/theme.

๐Ÿ’ก Usage

After Installation, you will have to make some extra configurations for everything to work normally.

Import stylesheets into the App.js or App.tsx

import 'dd360-ds/dd360.css'

โš ๏ธ Warning: If you want to combine it with other styles, be sure to import our css as the last one.

How to import components?

import { Button } from 'dd360-ds'

๐Ÿ”ซ Components

This is the most fun part. Below we will explain the use of the components we are currently developing.

You can checking and contribute to the docs website here

bui's People

Contributors

andres-bedolla avatar antonio-feregrino avatar antonioferegrino avatar arielseba avatar arielsrodriguez avatar carlos-yacante-dd3 avatar federicochdev avatar genixxavier avatar giodd360 avatar jasanhdz avatar juandominguez1 avatar laurapinedadd3 avatar lautarovilas avatar misael840 avatar otorresh avatar semantic-release-bot avatar sglza avatar tbor00 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

bui's Issues

Button loading text

Is your feature request related to a problem? Please describe.
When property isLoading is true on the button component the loading text is always in Spanish

Describe the solution you'd like
Add a property to specify the language and display it in English or Spanish

Describe alternatives you've considered
Add a property to set a custom text in the loading

Close button in Modal component is not working

Describe the bug
After upgrading to v6.0.0, the close button in Modal component is not detecting any click action, and can't be closed by that way. In short, the callback function defined in the setCloseModal is not calling by clicking on the button. This behavior didn't occurred, at least in the last version that I used (v5.0.3).

To Reproduce
Steps to reproduce the behavior:

  1. Create any Modal component with its required functions (active and setCloseModal) and props.
  2. Open the modal.
  3. Try to close the modal by clicking the close button.
  4. See error

Expected behavior
The modal should close after clicking the close button, or at least detecting any call to the callback function defined in the setCloseModal prop by clicking on it.

Desktop (please complete the following information):

  • OS macOS Monterey
  • Browser Chrome
  • Version 111.0.5563.146 (arm64)

Multiple files support in InputFile component

Describe the solution you'd like
That the current InputFile component can have the feature and support for uploading multiple files.

Describe alternatives you've considered
The input will display a list of the uploaded files and can be handled as such.

Additional context
A feature something like this:
image

Error export default Select

Describe the bug
When upgrading to the latest version of ds, a bug was found in the docs when importing for default the Select component.

Screenshots
image

Error in the selected day of the date picker

Describe the bug
When selecting a day, the selected day remains in all years.

To Reproduce
Steps to reproduce the behavior:

  1. Open date picker
  2. Select a day
  3. The selected day appears in all years

Expected behavior
Only the selected day of the year must be selected.

Screenshots
imagen
imagen

Desktop (please complete the following information):

  • OS: iOS
  • Browser Mozzile

When the browser autocomplete is used in the inputs, there is a blue background

Describe the bug
When the browser autocomplete is used in the inputs, there is a blue background

To Reproduce
Steps to reproduce the behavior:

  1. Go to login page
  2. Click on input
  3. write the first letter of our email
  4. make use of browser autocomplete

Expected behavior
no background color should be presented

Possible solution
input:-webkit-autofill {
-webkit-background-clip: text;
}

or

-webkit-box-shadow: 0 0 0 25px #fbfcff inset !important;

Screenshots

image

tree-shaking "Container" imports do not work correctly

Describe the bug
When trying to use the following tree shaking imports of the "Container" component:

import { Container } from 'dd360-ds/Layout'.
import Container from 'dd360-ds/Layout/Container'.

Import fails and gives error

Screenshots
image

image

Callout component

We request the addition of the Callout component, to allow developers to easily add alerts to their web applications. The component should be highly customizable and allow for different variants, so that developers can adapt it to their specific design needs.

The Callout component should have the following features:

Support for different style variants, such as: success, info, warning, error, etc. These variants should be easily customizable by developers, allowing them to adjust colors, typography, and other styles to their liking.

Ability to include different types of content within the alert, such as text, icons, images, links, and other HTML elements. This would allow developers to add additional information and enrich alerts for the user.

Ease of use and customization. The Callout component should be easily integrable into any web application, and should be highly customizable without needing to edit HTML or CSS code. Ideally, a simple and clear API should be provided for customizing the component.

Accessibility. The Callout component should comply with web accessibility standards, and be easily usable by users with visual or motor disabilities.

In summary, this feature request aims to add the Callout component, with support for different variants and customization, allowing developers to add highly customized and accessible alerts to their web applications.

ShapeButton prop height

Describe the bug
When using the ShapeButton component in any of its variants, it is mandatory to insert the prop "height", however, when inserting the string with different values, it can be seen that the height is not being applied in the variants:
-ShapeButton.SquareButton
-ShapeButton.CircleButton

It is only applied in the variant:
-ShapeButton.BaseCircleButton

The 3 variants already have default height, so in none of the 3 cases it should be mandatory, and the prop should work in all 3 variants.

Screenshots
image

Row component does not work correctly

Describe the bug
The Row component does not work correctly

From what I was seeing in the code of the component, it is because the "display: grid" (in tailwind: "grid") is not applied.

You have to add only the "grid" to the css of the component.

Screenshots
image

404 page in anchor section

Describe the bug
Browsing the page entering the Anchor section when clicking on it does not go anywhere showing a 404 page.

To Reproduce
Steps to reproduce the behavior:
1.- Enter the Navigation section.
2.- In the section Anchor or Link Anchor
3.- When clicking on the generated Anchor label it sends to the 404 page.

Screenshots
image

image

When the page translation is changed, the tabs do not update the label text

Describe the bug
When the page translation is changed, the tabs do not update the label text

To Reproduce
Steps to reproduce the behavior:

  1. Go to some page with tabs
  2. Click on the button to change the translation

Expected behavior
The translation of the texts in the tabs must be changed when changing the translation on the page

Screenshots
image

Error when importing BaseCircleButton component

Description of the bug
Cannot export the BaseCircleButton component by default or in a named way.

Replay
Steps to reproduce the behavior:

  1. Go to your code
  2. Try to import {BaseCircleButton} from 'dd360-ds'.
  3. Try to use it
  4. See the error

**Expected behavior
I expected the BaseCircleButton to be automatically imported.

Screenshots
image

The modal doesn't take the full size of the screen width. There is a space on the left side.

Describe the bug
In the modal component, when it opens, it doesn't take the full size of the screen width and there is a space on the left side regardless of whether it is mobile or full screen.

To Reproduce
Steps to reproduce the behavior:

  1. Open any modal component on the UI
  2. See the width size of the component on the screen and how it fits

Expected behavior
The modal should take the full size of the screen width, either in full screen mode and show the background shadow, or in mobile view and take the full size of the screen.

Screenshots
Screen Shot 2023-03-30 at 12 38 30 p m
Screen Shot 2023-03-30 at 12 39 08 p m

**Desktop **

  • OS: macOS Monterey
  • Browser: Chrome
  • Version: 111.0.5563.146

Additional context
I don't use any other global styles other than tailwind that may interfere.

Add the possibility to have only one point on MultiRangeSlider

Is your feature request related to a problem? Please describe.
When a single value needs to be modified and the other value is disabled, the disabled point remains and could confuse the user into thinking that it can be modified.

Describe the solution you'd like
Add a property to only display only the max value point on the slider. This would be useful for scenarios where there is a single value that needs to be selected, rather than a range.

Additional context
How it looks
image
How it could be
image

add the possibility to include child element next to the label of each tab

Is your feature request related to a problem? Please describe.
Sometimes it is necessary to add a status (child element) to the side of the tab label, to provide additional information.

Describe the solution you'd like

One could add an additional prop to place the secondary element, and as an added bonus, one could also allow receiving styles directly from the 'style' property for the tab

image

Correct variations in colors

Describe the bug
The error reproduces in some components with the variation of the colors.
Some of them are:
-Pagination
-Button
-Spinner
-Sidebar

To Reproduce
Steps to reproduce the behavior:
Use Pagination
Use Spinner
Use Button in various colors
Use Sidebar

Expected behavior
It should be seen with the set colors

Screenshots

Pasted Graphic

Pasted Graphic 4

Pasted Graphic 3

Pasted Graphic 5

Under the map there is a button but it is not visible

Pasted Graphic 6

Add animations

Is your feature request related to a problem? Please describe.
Could be great to add optional animations to the components and also add the possibility to export those animations to use them in the project.

Describe the solution you'd like
Implement a CSS animation file that contains basic animation to use in the components and project. Could be based on the Animate.css library.

Describe alternatives you've considered
Only implement Animate.css on the components and add a new prop to them to change the animation.

Additional context
https://animate.style

IconStatus background color in Select component always is error color

Describe the bug
The IconStatus background color in Select component is always taking the error color defined in the theme. It seems like the background error color is overwriting the other variants. I'm using v.6.0.0.

To Reproduce
Steps to reproduce the behavior:

  1. At any Select component define a variant with IconStatus, such as success, warning and error.

Expected behavior
The IconStatus background should take the background color depending on the variant.

Screenshots
image

And even in the Select documentation is showing like that.

image

Desktop (please complete the following information):

  • macOS Monterey
  • Browser Chrome
  • Version 111.0.5563.146 (arm64)

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.