@zevra/ui 0.27.1 → 0.28.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/dist/catalogue.d.ts.map +1 -1
- package/dist/catalogue.js +25 -47
- package/dist/catalogue.js.map +1 -1
- package/dist/css-inline.d.ts.map +1 -1
- package/dist/css-inline.js +1 -1
- package/dist/css-inline.js.map +1 -1
- package/package.json +1 -1
- package/react/catalogue.tsx +63 -77
- package/react/css-inline.ts +1 -1
- package/src/layout.css +15 -0
package/dist/css-inline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css-inline.js","sourceRoot":"","sources":["../react/css-inline.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,0EAA0E;AAE1E;;;iEAGiE;AACjE,MAAM,CAAC,MAAM,WAAW,GAAW,
|
|
1
|
+
{"version":3,"file":"css-inline.js","sourceRoot":"","sources":["../react/css-inline.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,0EAA0E;AAE1E;;;iEAGiE;AACjE,MAAM,CAAC,MAAM,WAAW,GAAW,864QAA864Q,CAAA;AAEj94Q;;;yBAGyB;AACzB,MAAM,CAAC,MAAM,WAAW,GAAW,03BAA03B,CAAA"}
|
package/package.json
CHANGED
package/react/catalogue.tsx
CHANGED
|
@@ -343,22 +343,50 @@ function DemoPopover() {
|
|
|
343
343
|
* du CSS, il n'y a rien à hydrater. La réserve sous chaque barre existe pour
|
|
344
344
|
* que le panneau ait la place de s'ouvrir sans être coupé. */
|
|
345
345
|
function DemoNav() {
|
|
346
|
-
// Toutes les marques du registre, Zevra comprise : depuis un produit, on
|
|
347
|
-
// doit pouvoir revenir à la suite. L'ordre est celui du registre
|
|
348
|
-
// (alphabétique) — un ordre « le courant d'abord » ferait danser la
|
|
349
|
-
// grille d'un produit à l'autre, et on ne retrouverait plus une tuile à
|
|
350
|
-
// sa place.
|
|
351
346
|
const APPS = PRODUITS
|
|
352
347
|
const barre = (utilisateur?: { nom: string; email: string }) => (
|
|
353
348
|
<div style={{ border: '1px solid var(--hairline)', background: 'var(--white)' }}>
|
|
354
|
-
<Nav style={{ padding: '0
|
|
349
|
+
<Nav className="zv-nav--riche" style={{ padding: '0 20px', minHeight: 64 }}>
|
|
355
350
|
<NavLogo>
|
|
356
|
-
<
|
|
351
|
+
<Lockup capitale={15}>
|
|
352
|
+
<LockupMark src={GLYPHES.zevra} />
|
|
353
|
+
<LockupWord src={MOT_ZEVRA} alt="Zevra" />
|
|
354
|
+
</Lockup>
|
|
357
355
|
</NavLogo>
|
|
356
|
+
|
|
357
|
+
{/* Ce qui tombe dans le tiroir sous le point de rupture. */}
|
|
358
358
|
<NavLinks>
|
|
359
|
-
<
|
|
360
|
-
|
|
359
|
+
<NavDropdown>
|
|
360
|
+
<NavDropdownButton>Services</NavDropdownButton>
|
|
361
|
+
<NavDropdownMenu>
|
|
362
|
+
<MenuItem>Audit</MenuItem>
|
|
363
|
+
<MenuItem>Formation</MenuItem>
|
|
364
|
+
<NavDropdownSep />
|
|
365
|
+
<MenuItem>Tous les services</MenuItem>
|
|
366
|
+
</NavDropdownMenu>
|
|
367
|
+
</NavDropdown>
|
|
368
|
+
<NavLink href="#">Store</NavLink>
|
|
369
|
+
<NavLink href="#">Studio</NavLink>
|
|
370
|
+
<NavDropdown>
|
|
371
|
+
<NavDropdownButton>Campus</NavDropdownButton>
|
|
372
|
+
<NavDropdownMenu>
|
|
373
|
+
<MenuItem>Bootcamp</MenuItem>
|
|
374
|
+
<MenuItem>Formations</MenuItem>
|
|
375
|
+
</NavDropdownMenu>
|
|
376
|
+
</NavDropdown>
|
|
377
|
+
<Langues>
|
|
378
|
+
<Langue href="#" courante>
|
|
379
|
+
FR
|
|
380
|
+
</Langue>
|
|
381
|
+
<Langue href="#">EN</Langue>
|
|
382
|
+
<Langue href="#">ES</Langue>
|
|
383
|
+
</Langues>
|
|
384
|
+
<ButtonLink href="#" compact>
|
|
385
|
+
Réserver 30 min
|
|
386
|
+
</ButtonLink>
|
|
361
387
|
</NavLinks>
|
|
388
|
+
|
|
389
|
+
{/* Ce qui RESTE, à toutes les largeurs. */}
|
|
362
390
|
<NavActions>
|
|
363
391
|
<Lanceur>
|
|
364
392
|
{APPS.map((id) => (
|
|
@@ -367,7 +395,7 @@ function DemoNav() {
|
|
|
367
395
|
href="#"
|
|
368
396
|
nom={NOMS_PRODUITS[id]}
|
|
369
397
|
glyphe={GLYPHES[id]}
|
|
370
|
-
courant={id === '
|
|
398
|
+
courant={id === 'zevra'}
|
|
371
399
|
/>
|
|
372
400
|
))}
|
|
373
401
|
</Lanceur>
|
|
@@ -391,10 +419,10 @@ function DemoNav() {
|
|
|
391
419
|
<div style={{ display: 'grid', gap: 10 }}>
|
|
392
420
|
<Mono ton="label">CONNECTÉ</Mono>
|
|
393
421
|
{barre({ nom: 'Claire Duflot', email: 'claire@duflot-avocats.fr' })}
|
|
394
|
-
<div style={{ height:
|
|
422
|
+
<div style={{ height: 230 }} />
|
|
395
423
|
<Mono ton="label">NON CONNECTÉ</Mono>
|
|
396
424
|
{barre()}
|
|
397
|
-
<div style={{ height:
|
|
425
|
+
<div style={{ height: 190 }} />
|
|
398
426
|
</div>
|
|
399
427
|
)
|
|
400
428
|
}
|
|
@@ -1991,47 +2019,16 @@ export const CATALOGUE: GroupeCatalogue[] = [
|
|
|
1991
2019
|
id: 'nav-vitrine',
|
|
1992
2020
|
nom: 'Navigation',
|
|
1993
2021
|
resume:
|
|
1994
|
-
'LA barre
|
|
1995
|
-
code: `import { GLYPHES } from '@zevra/ui/glyphes'
|
|
1996
|
-
|
|
1997
|
-
<Nav>
|
|
1998
|
-
<NavLogo>…</NavLogo>
|
|
1999
|
-
<NavLinks>
|
|
2000
|
-
<NavLink href="/produit">Produit</NavLink>
|
|
2001
|
-
<NavLink href="/methode">Méthode</NavLink>
|
|
2002
|
-
</NavLinks>
|
|
2003
|
-
<NavActions>
|
|
2004
|
-
<Lanceur>
|
|
2005
|
-
<LanceurApp href="https://memoire.zevra.tech" nom="Mémoire"
|
|
2006
|
-
glyphe={GLYPHES.memoire} courant />
|
|
2007
|
-
<LanceurApp href="https://lexform.zevra.tech" nom="Lexform"
|
|
2008
|
-
glyphe={GLYPHES.lexform} />
|
|
2009
|
-
</Lanceur>
|
|
2010
|
-
|
|
2011
|
-
{/* connecté */}
|
|
2012
|
-
<Compte utilisateur={{ nom: 'Claire Duflot', email: 'claire@cabinet.fr' }}>
|
|
2013
|
-
<CompteLien href="/compte">Mon compte</CompteLien>
|
|
2014
|
-
<CompteLien onClick={deconnexion} sortie>Se déconnecter</CompteLien>
|
|
2015
|
-
</Compte>
|
|
2016
|
-
|
|
2017
|
-
{/* visiteur — même composant, sans « utilisateur » */}
|
|
2018
|
-
<Compte>
|
|
2019
|
-
<CompteLien href="/connexion">Se connecter</CompteLien>
|
|
2020
|
-
<CompteLien href="/inscription">Créer un compte</CompteLien>
|
|
2021
|
-
</Compte>
|
|
2022
|
-
|
|
2023
|
-
<NavBurger aria-label="Ouvrir le menu">…</NavBurger>
|
|
2024
|
-
</NavActions>
|
|
2025
|
-
</Nav>`,
|
|
2026
|
-
rendu: <DemoNav />,
|
|
2027
|
-
},
|
|
2028
|
-
{
|
|
2029
|
-
id: 'nav-riche',
|
|
2030
|
-
nom: 'Navigation à familles',
|
|
2031
|
-
resume:
|
|
2032
|
-
'Une barre qui porte l’architecture d’un site, pas quatre liens. Les menus s’ouvrent au survol ET au focus, en CSS seul : rien à hydrater, la barre reste rendue au serveur. ⚠️ Le déclencheur porte « .zv-navlink » pour se rendre comme un lien simple — ne jamais lui poser « font: inherit », qui reprendrait la fonte du conteneur et le grossirait par rapport à ses voisins. Poser « zv-nav--riche » sur la Nav : elle bascule alors vers le tiroir à 1150px, où une nav de cette densité déborde (mesuré), et non à 768.',
|
|
2022
|
+
'LA barre du site, dans ses deux états — c’est le design de landing.zevra.tech, et il fait référence : une app qui compose sa propre barre finit par ne plus ressembler aux autres. Deux zones, et la distinction n’est pas cosmétique : « NavLinks » porte ce qui TOMBE dans le tiroir sous le point de rupture (familles, langues, appel à l’action) ; « NavActions » porte ce qui RESTE à toutes les largeurs — lanceur, compte, burger. Un compte placé dans NavLinks s’évanouit sur téléphone, et l’on ne peut plus se connecter. ⚠️ Le lanceur ET le compte sont là dans les deux états : les produits sont publics, et une barre où l’on ne peut pas se connecter est une barre où l’on ne revient pas. Seul le contenu du compte change. Survoler une famille, le lanceur ou la pastille pour déplier — c’est du CSS, il n’y a rien à hydrater. « zv-nav--riche » bascule vers le tiroir à 1150px, où une barre de cette densité déborde (mesuré), et non à 768.',
|
|
2033
2023
|
code: `<Nav className="zv-nav--riche">
|
|
2034
|
-
<NavLogo
|
|
2024
|
+
<NavLogo>
|
|
2025
|
+
<Lockup capitale={15}>
|
|
2026
|
+
<LockupMark src={GLYPHES.zevra} />
|
|
2027
|
+
<LockupWord src={MOT_ZEVRA} alt="Zevra" />
|
|
2028
|
+
</Lockup>
|
|
2029
|
+
</NavLogo>
|
|
2030
|
+
|
|
2031
|
+
{/* tombe dans le tiroir sous le point de rupture */}
|
|
2035
2032
|
<NavLinks>
|
|
2036
2033
|
<NavDropdown>
|
|
2037
2034
|
<NavDropdownButton>Services</NavDropdownButton>
|
|
@@ -2046,33 +2043,22 @@ export const CATALOGUE: GroupeCatalogue[] = [
|
|
|
2046
2043
|
<Langue href="/" courante>FR</Langue>
|
|
2047
2044
|
<Langue href="/en">EN</Langue>
|
|
2048
2045
|
</Langues>
|
|
2046
|
+
<ButtonLink href="/rdv" compact>Réserver 30 min</ButtonLink>
|
|
2049
2047
|
</NavLinks>
|
|
2048
|
+
|
|
2049
|
+
{/* RESTE à toutes les largeurs */}
|
|
2050
|
+
<NavActions>
|
|
2051
|
+
<Lanceur>
|
|
2052
|
+
<LanceurApp href="…" nom="Mémoire" glyphe={GLYPHES.memoire} />
|
|
2053
|
+
</Lanceur>
|
|
2054
|
+
<Compte utilisateur={utilisateur /* absent = visiteur */}>
|
|
2055
|
+
<CompteLien href="/compte">Mon compte</CompteLien>
|
|
2056
|
+
<CompteLien onClick={deconnexion} sortie>Se déconnecter</CompteLien>
|
|
2057
|
+
</Compte>
|
|
2058
|
+
<NavBurger aria-label="Ouvrir le menu">…</NavBurger>
|
|
2059
|
+
</NavActions>
|
|
2050
2060
|
</Nav>`,
|
|
2051
|
-
rendu:
|
|
2052
|
-
<Nav style={{ border: '1px solid var(--hairline)', padding: '0 12px' }}>
|
|
2053
|
-
<NavLogo>
|
|
2054
|
-
<Mono ton="ink">ZEVRA</Mono>
|
|
2055
|
-
</NavLogo>
|
|
2056
|
-
<NavLinks>
|
|
2057
|
-
<NavDropdown>
|
|
2058
|
-
<NavDropdownButton>Services</NavDropdownButton>
|
|
2059
|
-
<NavDropdownMenu>
|
|
2060
|
-
<MenuItem>Audit</MenuItem>
|
|
2061
|
-
<MenuItem>Formation</MenuItem>
|
|
2062
|
-
<NavDropdownSep />
|
|
2063
|
-
<MenuItem>Tous les services</MenuItem>
|
|
2064
|
-
</NavDropdownMenu>
|
|
2065
|
-
</NavDropdown>
|
|
2066
|
-
<NavLink href="#">Store</NavLink>
|
|
2067
|
-
<Langues>
|
|
2068
|
-
<Langue href="#" courante>
|
|
2069
|
-
FR
|
|
2070
|
-
</Langue>
|
|
2071
|
-
<Langue href="#">EN</Langue>
|
|
2072
|
-
</Langues>
|
|
2073
|
-
</NavLinks>
|
|
2074
|
-
</Nav>
|
|
2075
|
-
),
|
|
2061
|
+
rendu: <DemoNav />,
|
|
2076
2062
|
},
|
|
2077
2063
|
{
|
|
2078
2064
|
id: 'lockup',
|