core-kit-mini-css
v0.0.0
Published
Reusable technical CSS and SCSS mini framework for projects that do not rely on libraries such as Bootstrap.
Downloads
12
Readme
Core Kit Mini CSS
Mini framework CSS technique, grid-first, pour construire vite une UI simple et responsive avec des classes reutilisables.
Guide de build et publication npm:
docs/core-kit-build-and-publish.md
Objectif
- Fournir une base CSS commune.
- Garder un systeme de classes explicite (sans prefixe technique).
- Proposer un noyau reutilisable pour les projets qui n utilisent pas de librairie comme Bootstrap.
Arborescence
src/styles/
_core-kit-mini-css.scss
README.md
core-kit/
_settings.scss
_grid.scss
_utilities.scss
_utilities-generated.scss
_utilities-static.scss
_visual-utilities.scssArchitecture
_settings.scss: configuration layout SCSS (breakpoints, container widths, spacing scale, mixin media)._grid.scss: systeme grid + container + spans._utilities.scss: point d'entree des utilitaires layout neutres._utilities-generated.scss: utilitaires generes depuis maps/scales/breakpoints._utilities-static.scss: utilitaires fixes sans generation SCSS._visual-utilities.scss: utilitaires visuels legers, pilotables via variables CSS.
Integration
Mode 1: chargement local des sources techniques
Tu peux charger uniquement:
@use "./styles/core-kit/settings";
@use "./styles/core-kit/grid";
@use "./styles/core-kit/utilities";Dans ce mode, vous branchez vos propres variables CSS de marque ou de layout si besoin.
Mode 2: package reutilisable
Le framework peut etre distribue comme package CSS/SCSS sans copier-coller de fichiers.
Dans le contexte actuel, le package publie expose volontairement le noyau technique settings, grid,
utilities ainsi que visual-utilities, sans embarquer tokens, base ni components.
Build du package:
npm run build:core-kitSortie generee:
dist/core-kit-mini-css/
core-kit-mini-css.css
core-kit-mini-css.min.css
README.md
package.json
scss/
core-kit-mini-css.scss
_core-kit-mini-css.scss
core-kit/
_settings.scss
_grid.scss
_utilities.scss
_utilities-generated.scss
_utilities-static.scss
_visual-utilities.scssInstallation dans un autre projet:
npm install ../ng-core-kit/dist/core-kit-mini-cssChargement via angular.json:
"styles": [
"src/styles.scss",
"node_modules/core-kit-mini-css/core-kit-mini-css.css"
]Chargement via styles.scss:
@use "core-kit-mini-css/scss/core-kit-mini-css";Configuration Layout (SCSS)
Fichier: src/styles/core-kit/_settings.scss
Breakpoints par defaut:
sm: 576pxmd: 768pxlg: 992pxxl: 1200pxxxl: 1400px
Spacing scale par defaut:
0->01->0.25rem2->0.5rem3->1rem4->1.5rem5->3rem6->4rem
Override possible avec @use ... with (...):
@use "./styles/core-kit/settings" with (
$breakpoints: (
sm: 640px,
md: 768px,
lg: 1024px,
xl: 1280px,
xxl: 1536px
)
);
@use "./styles/core-kit/grid";
@use "./styles/core-kit/utilities";Comment lire ce fichier:
@use "sass:map": permet d'utilisermap.get(...).$breakpoints: nom -> largeur min pour le responsive.$container-max-widths: largeur max de.containerpar breakpoint.$space-scale: echelle reutilisee pourm-*,p-*,gap-*.!default: valeur surchargeable depuis un autre projet.@mixin media-up(...): helper pour generer un@media (min-width: ...).
Grille (grid-first)
Classes principales:
- Conteneurs:
container,container-fluid - Grille:
grid,grid-1agrid-12 - Alias moderne:
grid-cols-1agrid-cols-12 - Grille responsive:
grid-md-6,grid-lg-12,md:grid-cols-2,lg:grid-cols-3, etc. - Spans:
span-1aspan-12,span-full - Alias moderne:
col-span-1acol-span-12,col-span-full - Spans responsive:
span-md-6,span-lg-4,span-xl-full,md:col-span-1,lg:col-span-2 - Start column:
start-2,start-lg-4,col-start-2,lg:col-start-4, etc. - Gap grille:
g-*,gx-*,gy-*
Exemple:
<div class="container py-4">
<div class="grid grid-cols-1 lg:grid-cols-12 g-3">
<main class="col-span-full lg:col-span-8">Contenu principal</main>
<aside class="col-span-full lg:col-span-4">Sidebar</aside>
</div>
</div>Note:
- Le kit est pense pour
grid. - Pas de systeme
row/col. - La syntaxe historique (
grid-lg-12,span-lg-4) reste supportee.
Comment lire le generateur SCSS de _grid.scss:
@eachsurs.$container-max-widths: genere lesmax-widthde.containerselon breakpoint.@for 1 through 12sur.grid-#{$i}: generegrid-1agrid-12.@for 1 through 12sur.span-#{$i}: generespan-1aspan-12.@for 1 through 12sur.start-#{$i}: generestart-1astart-12.- bloc
@each $breakpoint ... @include s.media-up(...): genere les variantes responsive (grid-lg-12,span-md-6,start-xl-2). @eachsurs.$space-scale: genereg-*,gx-*,gy-*.
Utilitaires
Display:
d-none,d-block,d-inline-block,d-grid,d-inline-gridflex,inline-flex,hidden- Responsive:
d-md-grid,d-lg-none,md:flex,lg:grid,sm:hidden, etc.
Flex et alignement:
flex-row,flex-colflex-1aflex-12justify-start,justify-center,justify-end,justify-betweenitems-start,items-center,items-end,items-stretch- Variantes responsive:
md:flex-row,lg:flex-col,md:items-center,md:justify-between
Spacing:
m-*,p-*mx-*,my-*,px-*,py-*mt-*,mb-*,ml-*,mr-*,pt-*,pb-*,pl-*,pr-*- variantes responsive recommandees:
md:m-4,lg:px-3,md:p-4, etc. - variantes historiques encore supportees:
m-lg-4,px-md-3, etc. *-autopour margins (mx-auto,mt-md-auto, etc.)
Recommandation responsive:
- Pour tout nouveau code, preferer la syntaxe moderne
breakpoint:utility. - Exemple:
md:p-4est a preferer ap-md-4. - Exemple:
md:px-4est a preferer apx-md-4. - Les deux syntaxes produisent le meme resultat CSS a partir du breakpoint cible.
- La syntaxe historique reste supportee pour la compatibilite et les migrations progressives.
Texte et dimensions:
text-left,text-center,text-righttext-sm,text-lg,text-xlw-100,h-100,max-w-sm,min-w-0shrink-0cursor-pointeroverflow-auto,overflow-hidden
Helpers grid:
grid-flow-row,grid-flow-colauto-cols-fr,auto-cols-maxjustify-start,justify-center,justify-betweenitems-start,items-center,items-endplace-items-centerjustify-items-start,justify-items-center,justify-items-endjustify-self-start,justify-self-center,justify-self-endgap-0agap-6
Exemple syntaxe moderne:
<div class="flex flex-col md:flex-row md:items-center md:justify-between gap-3">
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3 w-100">
<article class="overflow-hidden cursor-pointer col-span-full lg:col-span-2">
Contenu
</article>
</div>
</div>Variables utiles pour les utilitaires layout:
--layout-gutter(fallback0.75rem) pourcontaineretgrid--utility-max-width-sm(fallback480px) pourmax-w-sm--utility-font-size-sm(fallback0.875rem) pourtext-sm--utility-font-size-lg(fallback1.125rem) pourtext-lg--utility-font-size-xl(fallback1.25rem) pourtext-xl
Exemple de surcharge dans un autre projet:
:root {
--utility-font-size-sm: 0.8125rem;
--utility-font-size-lg: 1rem;
--utility-font-size-xl: 1.375rem;
}Utilitaires visuels legers
Le package inclut aussi les utilitaires visuels suivants:
text-primary,text-muted,text-success,text-dangerbg-primary,bg-light,bg-darkfw-normal,fw-semibold,fw-boldrounded-0,rounded-sm,rounded,rounded-lgshadow-sm,shadowborder,border-b
Ces classes restent neutres et s appuient sur des variables CSS pour s adapter a un autre projet.
Variables utiles:
--utility-text-primary--utility-text-muted--utility-text-success--utility-text-danger--utility-bg-primary--utility-bg-primary-text--utility-bg-light--utility-bg-dark--utility-bg-dark-text--utility-radius-sm--utility-radius-md--utility-radius-lg--utility-shadow-sm--utility-shadow-md--utility-border-color
Regles de contribution
- Eviter les valeurs de design en dur dans
gridetutilities. - Ajouter toute nouvelle valeur globale dans votre design system ou via des variables d integration.
- Garder des noms de classes explicites et atomiques.
- Preferer des compositions grid plutot que des patterns
row/col.
Verification locale
npm run build