0.2.5 • Published 9 months ago

pentatrion-design v0.2.5

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

Pentatrion Design System

Prérequis

Créez un nouveau projet Vite + React + TailwindCSS. Official doc

pnpm create vite my-app

# 1. React
# 2. TypeScript + SWC

cd my-app

pnpm add -D tailwindcss postcss autoprefixer postcss-load-config prettier-plugin-tailwindcss

# si vous utilisez le composant <input type="range" />
pnpm add -D postcss-input-range

Supprimer les fichiers inutiles

.
├── src
│   ├── App.tsx
│   ├── index.css
│   ├── main.tsx
│   └── vite-env.d.ts
├── tailwind.config.js
└── postcss.config.js

Créer un fichier tailwind.config.js et postcss.config.js.

// tailwind.config.js

/** @type {import('tailwindcss').Config} */
const config = {
  content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"],
  darkMode: ["class"],
};

export default config;


// postcss.config.js
/** @type {import("postcss-load-config").Config} */
const config = {
  plugins: {
    "tailwindcss/nesting": {},
    tailwindcss: {},

    // si vous utilisez le composant <input type="range" />
    // bien le mettre en dernier car tailwind génère du contenu à transformer
    "postcss-input-range": {}
  },
};
export default config;

Mettre à jour le fichier src/index.css

@tailwind base;
@tailwind components;
@tailwind utilities;

/**
 * ou bien on utilisera des imports pour faciliter l'intégration du design système
 */
@import "tailwindcss/base";
@import "tailwindcss/components";
@import "tailwindcss/utilities";
// .prettierrc
{
  "plugins": ["prettier-plugin-tailwindcss"]
}

Installation

pnpm add pentatrion-design

Mettre à jour la configuration de tailwind.

// tailwind.config.js
+ import { pentatrionTw } from "pentatrion-design/tailwind";

/** @type {import('tailwindcss').Config} */
const config = {
  content: [
    "./index.html",
    "./src/**/*.{js,ts,jsx,tsx}",
+   "./node_modules/pentatrion-design/lib/**/*.js",
+   "./node_modules/pentatrion-design/components/**/*.js",
+   "./node_modules/pentatrion-design/hooks/**/*.js",
+   "./node_modules/pentatrion-design/redux/**/*.js",
  ],
  darkMode: ["class"],
+  plugins: [pentatrionTw()],
};

export default config;

fichier tsconfig.json.

{
  "compilerOptions": {
    "paths": {
      "pentatrion-design/*": ["./*"]
    },
  }
}

La dépendance pentatrion-fonts est optionnelle.

Mettre à jour src/App.tsx

// import global
import { Button } from "pentatrion-design";

// import minimal
import { Button } from "pentatrion-design/components/button";

import { useState } from "react"

function App() {
  const [counter, setCounter] = useState(0);

  return (
    <div className="flex flex-col gap-2 items-center">
      <h1 className="text-gray-6">Vite + React</h1>
      <Button onClick={() => setCounter(c => c + 1)}>Click me !</Button>
      <p>{counter}</p>
    </div>
  )
}

export default App

L'import minimal import { Button } from "pentatrion-design/components/button"; est plus contraignant et n'est pas nécessaire si votre projet utilise toutes les dépendances de pentatrion-design. si par contre votre projet n'utilise que certains composants et n'utilise pas certains dépendances comme react-sortablejs il vaut mieux utiliser l'import pentatrion-design/components/button. Cela allégera le build (que notre compilateur fasse du tree shaking ou non).

projet sans TypeScript

pour faciliter l'expérience de développement, pentatrion-design fait référence par défaut aux fichiers TypeScript non compilés. Si votre projet n'utilise pas TypeScript il faudra faire référence au dossier dist

import { Button } from "pentatrion-design/dist";

VsCode

Create a .vscode/settings.json file

{
  "files.associations": {
    "*.css": "tailwindcss"
  }
}
0.2.1

9 months ago

0.2.0

9 months ago

0.2.3

9 months ago

0.2.2

9 months ago

0.2.5

9 months ago

0.2.4

9 months ago

0.1.3

12 months ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.20

1 year ago

0.0.19

1 year ago

0.0.18

1 year ago

0.0.17

1 year ago

0.0.16

1 year ago

0.0.15

1 year ago

0.0.14

1 year ago

0.0.13

1 year ago

0.0.12

1 year ago

0.0.11

1 year ago

0.0.10

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago