@zevra/ui 0.33.0 → 0.35.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/DECISIONS.md +61 -0
- package/dist/catalogue.d.ts.map +1 -1
- package/dist/catalogue.js +11 -5
- 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/dist/glyph-data.d.ts +3 -0
- package/dist/glyph-data.d.ts.map +1 -1
- package/dist/glyph-data.js +9 -0
- package/dist/glyph-data.js.map +1 -1
- package/dist/glyphes.d.ts +15 -2
- package/dist/glyphes.d.ts.map +1 -1
- package/dist/glyphes.js +15 -2
- package/dist/glyphes.js.map +1 -1
- package/logos/index.json +7 -0
- package/package.json +1 -1
- package/react/catalogue.tsx +13 -5
- package/react/css-inline.ts +1 -1
- package/react/glyph-data.ts +10 -0
- package/react/glyphes.ts +16 -1
- package/src/navigation.css +47 -3
package/react/glyph-data.ts
CHANGED
|
@@ -45,3 +45,13 @@ export const ACCROCHES_PRODUITS: Record<GlypheId, string> = {
|
|
|
45
45
|
'supernovia': "Contenu sourcé",
|
|
46
46
|
'zevra': "La suite",
|
|
47
47
|
}
|
|
48
|
+
|
|
49
|
+
/** L'adresse des produits EN LIGNE. Partielle À DESSEIN : un produit qui n'a
|
|
50
|
+
* rien à ouvrir n'entre pas dans le lanceur. */
|
|
51
|
+
export const ADRESSES_PRODUITS: Partial<Record<GlypheId, string>> = {
|
|
52
|
+
'campus': "https://campus.zevra.tech/",
|
|
53
|
+
'lexform': "https://lexform.zevra.tech/",
|
|
54
|
+
'mcp': "https://mcp.zevra.tech/",
|
|
55
|
+
'memoire': "https://memoire.zevra.tech/",
|
|
56
|
+
'zevra': "https://zevra.tech/",
|
|
57
|
+
}
|
package/react/glyphes.ts
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import {
|
|
18
18
|
ACCROCHES_PRODUITS,
|
|
19
|
+
ADRESSES_PRODUITS,
|
|
19
20
|
GLYPHES,
|
|
20
21
|
MOT_ZEVRA,
|
|
21
22
|
NOMS_PRODUITS,
|
|
@@ -23,7 +24,21 @@ import {
|
|
|
23
24
|
} from './glyph-data.js'
|
|
24
25
|
|
|
25
26
|
export type { GlypheId }
|
|
26
|
-
export { ACCROCHES_PRODUITS, GLYPHES, MOT_ZEVRA, NOMS_PRODUITS }
|
|
27
|
+
export { ACCROCHES_PRODUITS, ADRESSES_PRODUITS, GLYPHES, MOT_ZEVRA, NOMS_PRODUITS }
|
|
27
28
|
|
|
28
29
|
/** Les sept identifiants, triés. */
|
|
29
30
|
export const PRODUITS = Object.keys(GLYPHES) as GlypheId[]
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Les produits À METTRE DANS LE LANCEUR — ceux qui ont une adresse.
|
|
34
|
+
*
|
|
35
|
+
* ⚠️ CE N'EST PAS `PRODUITS`, et l'écart est le sujet. Plume et Supernovia
|
|
36
|
+
* ont leur glyphe depuis le 26/08 et rien à ouvrir : une tuile qui mène à
|
|
37
|
+
* rien est pire qu'une absence — elle promet un produit, le visiteur clique,
|
|
38
|
+
* et il tombe. Le lanceur se construit sur CETTE liste.
|
|
39
|
+
*
|
|
40
|
+
* Elle se déduit du registre, elle n'est pas recopiée : le jour où Plume
|
|
41
|
+
* ouvre, une ligne dans `logos/index.json` la fait apparaître dans les sept
|
|
42
|
+
* apps sans qu'aucune ne soit touchée.
|
|
43
|
+
*/
|
|
44
|
+
export const APPS = PRODUITS.filter((id) => ADRESSES_PRODUITS[id])
|
package/src/navigation.css
CHANGED
|
@@ -1199,6 +1199,19 @@ a.zv-menu__item:hover {
|
|
|
1199
1199
|
padding: 6px 8px 10px;
|
|
1200
1200
|
}
|
|
1201
1201
|
|
|
1202
|
+
/* ⚠️ CINQ tuiles — le compte du jour, depuis que le lanceur ne liste que les
|
|
1203
|
+
* produits joignables. Dans quatre colonnes, elles donnent 4 + 1 : une
|
|
1204
|
+
* dernière rangée d'UNE tuile avec trois cases vides à sa droite, exactement
|
|
1205
|
+
* ce que le passage à quatre colonnes avait servi à supprimer pour sept.
|
|
1206
|
+
*
|
|
1207
|
+
* La règle ne vise QUE ce compte, et se désarme d'elle-même : à six on
|
|
1208
|
+
* retombe sur 4 + 2, à sept sur 4 + 3, et la grille reprend ses quatre
|
|
1209
|
+
* colonnes sans que personne y touche. Le jour où Plume ouvre, il n'y a rien
|
|
1210
|
+
* à corriger ici. */
|
|
1211
|
+
.zv-lanceur__apps:has(> :nth-child(5):last-child) {
|
|
1212
|
+
grid-template-columns: repeat(3, 104px);
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1202
1215
|
.zv-lanceur__app {
|
|
1203
1216
|
display: flex;
|
|
1204
1217
|
flex-direction: column;
|
|
@@ -1346,9 +1359,40 @@ a.zv-menu__item:hover {
|
|
|
1346
1359
|
display: none;
|
|
1347
1360
|
}
|
|
1348
1361
|
|
|
1349
|
-
/*
|
|
1350
|
-
*
|
|
1351
|
-
*
|
|
1362
|
+
/* ⚠️ ANCRÉS À L'ÉCRAN, plus à leur déclencheur. Hors média ils sont en
|
|
1363
|
+
* `right: 0`, donc calés sur le bord droit du BOUTON — or le lanceur n'est
|
|
1364
|
+
* pas au bord de l'écran : le compte et le burger le suivent. Le panneau
|
|
1365
|
+
* avait donc la bonne largeur et la mauvaise place. Mesuré à 375px sur
|
|
1366
|
+
* mcp-factory : largeur 343, bord gauche à −65 ; deux tuiles sur cinq
|
|
1367
|
+
* coupées, et la partie hors écran inatteignable.
|
|
1368
|
+
*
|
|
1369
|
+
* Et c'est SILENCIEUX : un débordement par la gauche n'engendre aucun
|
|
1370
|
+
* défilement horizontal, le navigateur le rogne sans rien dire.
|
|
1371
|
+
*
|
|
1372
|
+
* COMMENT : le déclencheur cesse d'être le repère (`position: static`), et
|
|
1373
|
+
* le panneau se résout alors contre `.zv-nav`, qui est déjà positionnée et
|
|
1374
|
+
* qui fait la largeur de la barre. `top: 100%` tombe donc sous la barre, et
|
|
1375
|
+
* `left`/`right` la bordent. Largeur pleine, marges de 16 : le motif que
|
|
1376
|
+
* tout le monde connaît sur téléphone, et qui ne dépend plus de ce qui est
|
|
1377
|
+
* posé à droite du déclencheur.
|
|
1378
|
+
*
|
|
1379
|
+
* ⚠️ Poser `left`/`right` SANS neutraliser le `relative` du déclencheur ne
|
|
1380
|
+
* marche pas — je l'ai écrit ainsi d'abord : les offsets se résolvaient
|
|
1381
|
+
* contre le bouton, large de 40px, et le panneau tombait à 8px de large.
|
|
1382
|
+
* C'est scopé à `.zv-nav` : un lanceur posé ailleurs garde son ancrage. */
|
|
1383
|
+
.zv-nav .zv-lanceur,
|
|
1384
|
+
.zv-nav .zv-compte {
|
|
1385
|
+
position: static;
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
.zv-nav .zv-lanceur__panneau,
|
|
1389
|
+
.zv-nav .zv-compte__panneau {
|
|
1390
|
+
left: 16px;
|
|
1391
|
+
right: 16px;
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
/* Le plafond devient redondant pour ces deux-là — il ne coûte rien et
|
|
1395
|
+
* protège un panneau qu'on poserait ailleurs. */
|
|
1352
1396
|
.zv-lanceur__panneau .zv-menu,
|
|
1353
1397
|
.zv-compte__panneau .zv-menu {
|
|
1354
1398
|
max-width: calc(100vw - 32px);
|