0.0.1 • Published 8 months ago

@elpassion/zipdo-design-system v0.0.1

Weekly downloads
-
License
-
Repository
github
Last release
8 months ago

Installation

TACO UI

TACO UI is a system of React components highly based on tailwindcss, it is available as an npm package. See full documentation here via storybook

npm:

npm install @elpassion/taco

yarn:

yarn add @elpassion/taco

Copy files

In order to use this library you'll have to generate tokens file and wire it to your tailwind.config.js with generateConfigFunc() or initDefaultTheme(). And pass package directory to tailwind content Array.

const { initDefaultTheme } = require('@elpassion/taco');
const { merge } = require('lodash');

const customProjectConfig = {
  extend: [...]
}

module.exports = {
  darkMode: "class",
  mode: "jit",
  content: [
    join(__dirname, './pages/**/*.{js,ts,jsx,tsx}'), // Existing project config
    join(__dirname, '../../node_modules/@elpassion/taco/**/*.{js,jsx}'), // << This needs to be added to prune styles
    ...createGlobPatternsForDependencies(__dirname),
],
  theme: merge(initDefaultTheme(), customProjectConfig),
  plugins: [require('@tailwindcss/forms')],
}

Custom tokens

If you want, yo can use your own tokens values for chosen components. To do so, except using initDefaultTheme():

  • import appropriate tokenHelpers function
  • create your own config .json file with the configuration of the selected property
  • create your own config .json files with values for chosen component
  • extend tailwind config with them like below:
const { colorsTokenHelpers } = require("@elpassion/taco");

const customProjectConfig = {
  extend: {
    colors: merge(colorsTokenHelpers.getColorsConfig(colors), {
      hoveredFacebookButton: "#f9f9f9",
      hoveredGoogleButton: "#f9f9f9",
    }),
    ...merge(
      ...colorsTokenHelpers.getComponentsColorConfig(
        ["button"],
        importJson,
        colors
      )
    ),
  },
};

The following helpers are currently available:

  • colorsTokenHelpers()
  • radiusTokenHelpers()

In Taco, we use several packages that also need to be installed if you use some components.

Here is the list:

  • DatePicker - react-datepicker
  • SelectDropdown, AsyncSelect, CreatableSelect or Menu Dropdown - react-select
  • Modal - react-modal
  • Carousel - embla-carousel-react
  • Table - react-table
  • WYSIWYG - react-quill

If you want to import any of the above components use :

import { ComponentName } from "@elpassion/taco/ComponentName";

If you add a new package to the design system, please add it to the list above, and what's more important, you have to add this package to peerDependencies in npm-package.json

Optionally (WIP) (Now it's still required for some compoennts to work)

You can use icons locally from icons font or use cdn https://elpassion-design-system.s3.eu-west-1.amazonaws.com/fonticon.ttf TODO:

  • Allow importing font file from npm package

Then use it in your app for example:

import React from "react";
import Button from "@elpassion/taco";

export default function App() {
  return (
    <div className="App">
      <Button {...props} />
    </div>
  );
}
0.0.1

8 months ago