zuii 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -30,3 +30,7 @@ npm install zuii
30
30
  Le développement de **zuii** est structuré en plusieurs phases. Vous pouvez suivre l'avancement détaillé dans notre fichier dédié :
31
31
 
32
32
  👉 **[Consulter la Roadmap complète](ROADMAP.md)**
33
+
34
+ ## 📝 Changelog
35
+
36
+ 👉 **[Consulter le changelog](CHANGELOG.md)**
@@ -0,0 +1,6 @@
1
+ export interface ButtonConfig {
2
+ label: string;
3
+ variant?: 'primary' | 'secondary';
4
+ onClick?: () => void;
5
+ }
6
+ export declare const renderButton: (config: ButtonConfig) => HTMLElement;
@@ -0,0 +1,7 @@
1
+ const n = (t) => {
2
+ const e = document.createElement("button");
3
+ return e.innerText = t.label, e.classList.add("z-btn"), t.variant && e.classList.add(`is-${t.variant}`), t.onClick && e.addEventListener("click", t.onClick), e;
4
+ };
5
+ export {
6
+ n as renderButton
7
+ };
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { ButtonConfig } from '../js/Button';
3
+ export declare const ZButton: React.FC<ButtonConfig>;
@@ -0,0 +1,17 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { useRef as o, useEffect as i } from "react";
3
+ import { renderButton as c } from "../js/Button.js";
4
+ import '../style/button.css';/* empty css */
5
+ const p = (r) => {
6
+ const t = o(null);
7
+ return i(() => {
8
+ if (t.current) {
9
+ t.current.innerHTML = "";
10
+ const n = c(r);
11
+ t.current.appendChild(n);
12
+ }
13
+ }, [r]), /* @__PURE__ */ e("div", { ref: t, style: { display: "contents" } });
14
+ };
15
+ export {
16
+ p as ZButton
17
+ };
@@ -0,0 +1 @@
1
+ .z-btn{padding:10px 20px;border:none;border-radius:var(--z-radius-md);background-color:var(--z-primary);color:#fff;transition:background-color var(--z-transition);cursor:pointer}.z-btn:hover{background-color:var(--z-primary-dark)}.z-btn--secondary{background-color:var(--z-secondary)}
@@ -0,0 +1 @@
1
+ :root{--z-primary: #3b82f6;--z-primary-dark: #2563eb;--z-secondary: #64748b;--z-disabled-opacity: .6;--z-transition: .2s ease-in-out;--z-radius-md: 8px;--z-gap: 1rem}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--z-font-family, "Inter", system-ui, sans-serif)}button{font-family:inherit}
@@ -0,0 +1 @@
1
+ export * from './components/Button/react';
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ import './core/styles/main.css';/* empty css */
2
+ import { ZButton as m } from "./components/Button/react/index.js";
3
+ export {
4
+ m as ZButton
5
+ };
package/package.json CHANGED
@@ -1,19 +1,43 @@
1
1
  {
2
2
  "name": "zuii",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Bibliothèque de composants UI légère, intuitive et modulaire pour les interfaces web modernes.",
5
- "main": "index.js",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "files": [
10
+ "dist"
11
+ ],
6
12
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
13
+ "dev": "vite",
14
+ "build": "vite build",
15
+ "preview": "vite preview",
16
+ "prepublishOnly": "npm run build"
8
17
  },
9
18
  "keywords": [],
10
19
  "author": "Vincent Moreau",
11
20
  "license": "MIT",
21
+ "peerDependencies": {
22
+ "react": ">=16.8.0",
23
+ "react-dom": ">=16.8.0"
24
+ },
12
25
  "devDependencies": {
13
26
  "@semantic-release/changelog": "^6.0.3",
14
27
  "@semantic-release/git": "^10.0.1",
15
28
  "@semantic-release/github": "^12.0.2",
16
29
  "@semantic-release/npm": "^13.1.3",
17
- "semantic-release": "^25.0.2"
30
+ "@types/node": "^25.1.0",
31
+ "@types/react": "^19.2.10",
32
+ "@types/react-dom": "^19.2.3",
33
+ "@vitejs/plugin-react": "^5.1.2",
34
+ "react": "^19.2.4",
35
+ "react-dom": "^19.2.4",
36
+ "sass": "^1.97.3",
37
+ "semantic-release": "^25.0.2",
38
+ "typescript": "^5.9.3",
39
+ "vite": "^7.3.1",
40
+ "vite-plugin-dts": "^4.5.4",
41
+ "vite-plugin-lib-inject-css": "^2.2.2"
18
42
  }
19
43
  }
@@ -1,40 +0,0 @@
1
- name: Release
2
- on:
3
- push:
4
- branches:
5
- - main
6
-
7
- jobs:
8
- release:
9
- name: Release
10
- runs-on: ubuntu-latest
11
- permissions:
12
- contents: write
13
- issues: write
14
- pull-requests: write
15
- id-token: write # Nécessaire pour la "provenance" npm si tu l'utilises
16
- steps:
17
- - name: Checkout
18
- uses: actions/checkout@v4
19
- with:
20
- fetch-depth: 0
21
-
22
- - name: Install pnpm
23
- uses: pnpm/action-setup@v4
24
- with:
25
- version: 9 # ou la version que tu utilises localement
26
-
27
- - name: Setup Node.js
28
- uses: actions/setup-node@v4
29
- with:
30
- node-version: 'lts/*'
31
- cache: 'pnpm' # On dit à setup-node d'utiliser le cache pnpm
32
-
33
- - name: Install dependencies
34
- run: pnpm install
35
-
36
- - name: Release
37
- env:
38
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
40
- run: npx semantic-release
package/.releaserc DELETED
@@ -1,17 +0,0 @@
1
- {
2
- "branches": ["main"],
3
- "plugins": [
4
- "@semantic-release/commit-analyzer",
5
- "@semantic-release/release-notes-generator",
6
- "@semantic-release/changelog",
7
- "@semantic-release/npm",
8
- "@semantic-release/github",
9
- [
10
- "@semantic-release/git",
11
- {
12
- "assets": ["package.json", "CHANGELOG.md"],
13
- "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
14
- }
15
- ]
16
- ]
17
- }
package/CHANGELOG.md DELETED
@@ -1,7 +0,0 @@
1
- # 1.0.0 (2026-01-29)
2
-
3
-
4
- ### Features
5
-
6
- * Initialisation du projet avec les fichiers de licence, README, feuille de route et package.json. ([1026055](https://github.com/vincentm498/zuii/commit/102605573f49dbaaea141ea343e5af68a523b532))
7
- * Met en place la publication automatique avec semantic-release via GitHub Actions et les fichiers de configuration associés. ([66eb251](https://github.com/vincentm498/zuii/commit/66eb251cbce7237a5a06cd03e8139dd12220e745))
package/ROADMAP.md DELETED
@@ -1,45 +0,0 @@
1
- # 🗺️ Roadmap - zuii
2
-
3
- Ce document détaille la vision à long terme et les étapes de développement de **zuii**.
4
-
5
- ## 🎯 Vision
6
- Proposer l'écosystème UI le plus léger et modulaire du marché, sans compromis sur l'accessibilité ou l'expérience développeur.
7
-
8
- ---
9
-
10
- ## 🏗️ État actuel : Phase 1
11
-
12
- ### 🟢 Phase 1 : Fondations
13
- L'objectif est de poser des bases solides pour la librairie.
14
- - [x] Configuration initiale du projet.
15
- - [x] Architecture de fichiers modulaire.
16
- - [x] Licence MIT.
17
- - [ ] **Design Tokens** : Couleurs, Typographie, Espacement (Variables CSS).
18
- - [ ] **Base Components** :
19
- - [ ] `Button`
20
- - [ ] `Input`
21
- - [ ] `Checkbox`
22
- - [ ] `Radio`
23
-
24
- ### 🟡 Phase 2 : Structure & Layout
25
- - [ ] **Grid System** : Utilitaires Flexbox et Grid.
26
- - [ ] **Layout Components** : `Container`, `Stack`, `Box`.
27
- - [ ] **Navigation** : `Navbar`, `Tabs`, `Breadcrumbs`.
28
-
29
- ### 🔵 Phase 3 : Composants Avancés
30
- - [ ] **Overlays** : `Modal`, `Popovover`, `Tooltip`.
31
- - [ ] **Feedback** : `Toast`, `Alert`, `Spinner`.
32
- - [ ] **Data Display** : `Table`, `Badge`, `Card`.
33
-
34
- ### 🟣 Phase 4 : Écosystème & Qualité
35
- - [ ] **Documentation** : Storybook complet avec exemples interactifs.
36
- - [ ] **Testing** : 100% de couverture sur les composants critiques.
37
- - [ ] **Accessibilité** : Audit WCAG 2.1 complet.
38
- - [ ] **Thématisation** : Support natif du Mode Sombre et thèmes personnalisés.
39
-
40
- ---
41
-
42
- ## 📈 Évolutions futures
43
- - [ ] Intégration optionnelle avec des frameworks (React, Vue).
44
- - [ ] Générateur de thèmes en ligne.
45
- - [ ] Librairie d'icônes dédiée.