@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.
@@ -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,22tRAA22tR,CAAA;AAE94tR;;;yBAGyB;AACzB,MAAM,CAAC,MAAM,WAAW,GAAW,03BAA03B,CAAA"}
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,i7xRAAi7xR,CAAA;AAEp9xR;;;yBAGyB;AACzB,MAAM,CAAC,MAAM,WAAW,GAAW,03BAA03B,CAAA"}
@@ -7,4 +7,7 @@ export declare const MOT_ZEVRA = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0
7
7
  export declare const NOMS_PRODUITS: Record<GlypheId, string>;
8
8
  /** Ce que chaque produit FAIT, en deux mots — pour le lanceur d'apps. */
9
9
  export declare const ACCROCHES_PRODUITS: Record<GlypheId, string>;
10
+ /** L'adresse des produits EN LIGNE. Partielle À DESSEIN : un produit qui n'a
11
+ * rien à ouvrir n'entre pas dans le lanceur. */
12
+ export declare const ADRESSES_PRODUITS: Partial<Record<GlypheId, string>>;
10
13
  //# sourceMappingURL=glyph-data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glyph-data.d.ts","sourceRoot":"","sources":["../react/glyph-data.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,QAAQ,GAChB,QAAQ,GACR,SAAS,GACT,KAAK,GACL,SAAS,GACT,OAAO,GACP,YAAY,GACZ,OAAO,CAAA;AAEX,6DAA6D;AAC7D,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAQ5C,CAAA;AAED,mEAAmE;AACnE,eAAO,MAAM,SAAS,mgLAAmgL,CAAA;AAEzhL,iEAAiE;AACjE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAQlD,CAAA;AAED,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAQvD,CAAA"}
1
+ {"version":3,"file":"glyph-data.d.ts","sourceRoot":"","sources":["../react/glyph-data.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,QAAQ,GAChB,QAAQ,GACR,SAAS,GACT,KAAK,GACL,SAAS,GACT,OAAO,GACP,YAAY,GACZ,OAAO,CAAA;AAEX,6DAA6D;AAC7D,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAQ5C,CAAA;AAED,mEAAmE;AACnE,eAAO,MAAM,SAAS,mgLAAmgL,CAAA;AAEzhL,iEAAiE;AACjE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAQlD,CAAA;AAED,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAQvD,CAAA;AAED;iDACiD;AACjD,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAM/D,CAAA"}
@@ -32,4 +32,13 @@ export const ACCROCHES_PRODUITS = {
32
32
  'supernovia': "Contenu sourcé",
33
33
  'zevra': "La suite",
34
34
  };
35
+ /** L'adresse des produits EN LIGNE. Partielle À DESSEIN : un produit qui n'a
36
+ * rien à ouvrir n'entre pas dans le lanceur. */
37
+ export const ADRESSES_PRODUITS = {
38
+ 'campus': "https://campus.zevra.tech/",
39
+ 'lexform': "https://lexform.zevra.tech/",
40
+ 'mcp': "https://mcp.zevra.tech/",
41
+ 'memoire': "https://memoire.zevra.tech/",
42
+ 'zevra': "https://zevra.tech/",
43
+ };
35
44
  //# sourceMappingURL=glyph-data.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glyph-data.js","sourceRoot":"","sources":["../react/glyph-data.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sEAAsE;AAWtE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,OAAO,GAA6B;IAC/C,QAAQ,EAAE,w/XAAw/X;IAClgY,SAAS,EAAE,wjRAAwjR;IACnkR,KAAK,EAAE,4jZAA4jZ;IACnkZ,SAAS,EAAE,40OAA40O;IACv1O,OAAO,EAAE,omYAAomY;IAC7mY,YAAY,EAAE,w1cAAw1c;IACt2c,OAAO,EAAE,40ZAA40Z;CACt1Z,CAAA;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,SAAS,GAAG,ggLAAggL,CAAA;AAEzhL,iEAAiE;AACjE,MAAM,CAAC,MAAM,aAAa,GAA6B;IACrD,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,eAAe;IACtB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE,YAAY;IAC1B,OAAO,EAAE,OAAO;CACjB,CAAA;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,kBAAkB,GAA6B;IAC1D,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,eAAe;IAC1B,KAAK,EAAE,YAAY;IACnB,SAAS,EAAE,cAAc;IACzB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,gBAAgB;IAC9B,OAAO,EAAE,UAAU;CACpB,CAAA"}
1
+ {"version":3,"file":"glyph-data.js","sourceRoot":"","sources":["../react/glyph-data.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sEAAsE;AAWtE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,OAAO,GAA6B;IAC/C,QAAQ,EAAE,w/XAAw/X;IAClgY,SAAS,EAAE,wjRAAwjR;IACnkR,KAAK,EAAE,4jZAA4jZ;IACnkZ,SAAS,EAAE,40OAA40O;IACv1O,OAAO,EAAE,omYAAomY;IAC7mY,YAAY,EAAE,w1cAAw1c;IACt2c,OAAO,EAAE,40ZAA40Z;CACt1Z,CAAA;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,SAAS,GAAG,ggLAAggL,CAAA;AAEzhL,iEAAiE;AACjE,MAAM,CAAC,MAAM,aAAa,GAA6B;IACrD,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,eAAe;IACtB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE,YAAY;IAC1B,OAAO,EAAE,OAAO;CACjB,CAAA;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,kBAAkB,GAA6B;IAC1D,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,eAAe;IAC1B,KAAK,EAAE,YAAY;IACnB,SAAS,EAAE,cAAc;IACzB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,gBAAgB;IAC9B,OAAO,EAAE,UAAU;CACpB,CAAA;AAED;iDACiD;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAsC;IAClE,QAAQ,EAAE,4BAA4B;IACtC,SAAS,EAAE,6BAA6B;IACxC,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,6BAA6B;IACxC,OAAO,EAAE,qBAAqB;CAC/B,CAAA"}
package/dist/glyphes.d.ts CHANGED
@@ -1,6 +1,19 @@
1
- import { ACCROCHES_PRODUITS, GLYPHES, MOT_ZEVRA, NOMS_PRODUITS, type GlypheId } from './glyph-data.js';
1
+ import { ACCROCHES_PRODUITS, ADRESSES_PRODUITS, GLYPHES, MOT_ZEVRA, NOMS_PRODUITS, type GlypheId } from './glyph-data.js';
2
2
  export type { GlypheId };
3
- export { ACCROCHES_PRODUITS, GLYPHES, MOT_ZEVRA, NOMS_PRODUITS };
3
+ export { ACCROCHES_PRODUITS, ADRESSES_PRODUITS, GLYPHES, MOT_ZEVRA, NOMS_PRODUITS };
4
4
  /** Les sept identifiants, triés. */
5
5
  export declare const PRODUITS: GlypheId[];
6
+ /**
7
+ * Les produits À METTRE DANS LE LANCEUR — ceux qui ont une adresse.
8
+ *
9
+ * ⚠️ CE N'EST PAS `PRODUITS`, et l'écart est le sujet. Plume et Supernovia
10
+ * ont leur glyphe depuis le 26/08 et rien à ouvrir : une tuile qui mène à
11
+ * rien est pire qu'une absence — elle promet un produit, le visiteur clique,
12
+ * et il tombe. Le lanceur se construit sur CETTE liste.
13
+ *
14
+ * Elle se déduit du registre, elle n'est pas recopiée : le jour où Plume
15
+ * ouvre, une ligne dans `logos/index.json` la fait apparaître dans les sept
16
+ * apps sans qu'aucune ne soit touchée.
17
+ */
18
+ export declare const APPS: GlypheId[];
6
19
  //# sourceMappingURL=glyphes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glyphes.d.ts","sourceRoot":"","sources":["../react/glyphes.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,aAAa,EACb,KAAK,QAAQ,EACd,MAAM,iBAAiB,CAAA;AAExB,YAAY,EAAE,QAAQ,EAAE,CAAA;AACxB,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA;AAEhE,oCAAoC;AACpC,eAAO,MAAM,QAAQ,EAA2B,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"glyphes.d.ts","sourceRoot":"","sources":["../react/glyphes.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,aAAa,EACb,KAAK,QAAQ,EACd,MAAM,iBAAiB,CAAA;AAExB,YAAY,EAAE,QAAQ,EAAE,CAAA;AACxB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA;AAEnF,oCAAoC;AACpC,eAAO,MAAM,QAAQ,EAA2B,QAAQ,EAAE,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,YAAiD,CAAA"}
package/dist/glyphes.js CHANGED
@@ -13,8 +13,21 @@
13
13
  // charte l'interdit. Sous 24 px, la charte demande une version monochrome :
14
14
  // elle n'existe pas encore (retirée le 24/08, à regénérer), et ces glyphes
15
15
  // ne doivent donc pas descendre sous cette taille.
16
- import { ACCROCHES_PRODUITS, GLYPHES, MOT_ZEVRA, NOMS_PRODUITS, } from './glyph-data.js';
17
- export { ACCROCHES_PRODUITS, GLYPHES, MOT_ZEVRA, NOMS_PRODUITS };
16
+ import { ACCROCHES_PRODUITS, ADRESSES_PRODUITS, GLYPHES, MOT_ZEVRA, NOMS_PRODUITS, } from './glyph-data.js';
17
+ export { ACCROCHES_PRODUITS, ADRESSES_PRODUITS, GLYPHES, MOT_ZEVRA, NOMS_PRODUITS };
18
18
  /** Les sept identifiants, triés. */
19
19
  export const PRODUITS = Object.keys(GLYPHES);
20
+ /**
21
+ * Les produits À METTRE DANS LE LANCEUR — ceux qui ont une adresse.
22
+ *
23
+ * ⚠️ CE N'EST PAS `PRODUITS`, et l'écart est le sujet. Plume et Supernovia
24
+ * ont leur glyphe depuis le 26/08 et rien à ouvrir : une tuile qui mène à
25
+ * rien est pire qu'une absence — elle promet un produit, le visiteur clique,
26
+ * et il tombe. Le lanceur se construit sur CETTE liste.
27
+ *
28
+ * Elle se déduit du registre, elle n'est pas recopiée : le jour où Plume
29
+ * ouvre, une ligne dans `logos/index.json` la fait apparaître dans les sept
30
+ * apps sans qu'aucune ne soit touchée.
31
+ */
32
+ export const APPS = PRODUITS.filter((id) => ADRESSES_PRODUITS[id]);
20
33
  //# sourceMappingURL=glyphes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glyphes.js","sourceRoot":"","sources":["../react/glyphes.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,uCAAuC;AACvC,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,qEAAqE;AACrE,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,2EAA2E;AAC3E,mDAAmD;AAEnD,OAAO,EACL,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,aAAa,GAEd,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA;AAEhE,oCAAoC;AACpC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAe,CAAA"}
1
+ {"version":3,"file":"glyphes.js","sourceRoot":"","sources":["../react/glyphes.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,uCAAuC;AACvC,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,qEAAqE;AACrE,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,2EAA2E;AAC3E,mDAAmD;AAEnD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,aAAa,GAEd,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA;AAEnF,oCAAoC;AACpC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAe,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAA"}
package/logos/index.json CHANGED
@@ -18,6 +18,13 @@
18
18
  "plume": "Éditeur",
19
19
  "supernovia": "Contenu sourcé"
20
20
  },
21
+ "adresses": {
22
+ "zevra": "https://zevra.tech/",
23
+ "campus": "https://campus.zevra.tech/",
24
+ "lexform": "https://lexform.zevra.tech/",
25
+ "mcp": "https://mcp.zevra.tech/",
26
+ "memoire": "https://memoire.zevra.tech/"
27
+ },
21
28
  "formes": {
22
29
  "glyph": "Glyphe",
23
30
  "lockup": "Lockup",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zevra/ui",
3
- "version": "0.33.0",
3
+ "version": "0.35.0",
4
4
  "description": "Design system Zevra « Encre & Papier » — tokens, CSS des composants et logos officiels.",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,
@@ -39,7 +39,9 @@ import {
39
39
  import { ICONES, Icon, IconButton, IconTile, NOMS_ICONES } from './icon.js'
40
40
  // Les glyphes sont INLINÉS (data-URI) : le catalogue est rendu hors du dépôt
41
41
  // — planche, kit de canvas, page d'admin — où un chemin d'image ne résout pas.
42
- import { ACCROCHES_PRODUITS, GLYPHES, MOT_ZEVRA, NOMS_PRODUITS, PRODUITS } from './glyphes.js'
42
+ import {
43
+ ACCROCHES_PRODUITS, ADRESSES_PRODUITS, APPS, GLYPHES, MOT_ZEVRA, NOMS_PRODUITS,
44
+ } from './glyphes.js'
43
45
  import {
44
46
  Banner, CTA, Carousel, CarouselItem, Col, Compte, CompteLien, Footer,
45
47
  FooterMini, Grid, Grid12, Lanceur, LanceurApp, LanceurApps, LanceurGroupe, NavActions,
@@ -343,7 +345,6 @@ function DemoPopover() {
343
345
  * du CSS, il n'y a rien à hydrater. La réserve sous chaque barre existe pour
344
346
  * que le panneau ait la place de s'ouvrir sans être coupé. */
345
347
  function DemoNav() {
346
- const APPS = PRODUITS
347
348
  const barre = (utilisateur?: { nom: string; email: string }) => (
348
349
  <div style={{ border: '1px solid var(--hairline)', background: 'var(--white)' }}>
349
350
  <Nav className="zv-nav--riche" style={{ padding: '0 20px', minHeight: 64 }}>
@@ -394,7 +395,7 @@ function DemoNav() {
394
395
  {APPS.map((id) => (
395
396
  <LanceurApp
396
397
  key={id}
397
- href="#"
398
+ href={ADRESSES_PRODUITS[id]}
398
399
  nom={NOMS_PRODUITS[id]}
399
400
  accroche={ACCROCHES_PRODUITS[id]}
400
401
  glyphe={GLYPHES[id]}
@@ -2131,11 +2132,18 @@ export const CATALOGUE: GroupeCatalogue[] = [
2131
2132
 
2132
2133
  {/* RESTE à toutes les largeurs */}
2133
2134
  <NavActions>
2135
+ {/* APPS = les produits QUI ONT UNE ADRESSE, pas les sept glyphes :
2136
+ une tuile qui mène à rien promet un produit et fait tomber le
2137
+ visiteur. Plume et Supernovia y entreront le jour où ils ouvrent,
2138
+ par une ligne dans logos/index.json — sans toucher aux apps. */}
2134
2139
  <Lanceur> {/* titre="Applications" par défaut, filet de spectre */}
2135
2140
  <LanceurGroupe>Suite Zevra</LanceurGroupe>
2136
2141
  <LanceurApps>
2137
- <LanceurApp href="…" nom="Mémoire" accroche="Recherche IA"
2138
- glyphe={GLYPHES.memoire} />
2142
+ {APPS.map((id) => (
2143
+ <LanceurApp key={id} href={ADRESSES_PRODUITS[id]}
2144
+ nom={NOMS_PRODUITS[id]} accroche={ACCROCHES_PRODUITS[id]}
2145
+ glyphe={GLYPHES[id]} courant={id === 'memoire'} />
2146
+ ))}
2139
2147
  </LanceurApps>
2140
2148
  </Lanceur>
2141
2149
  <Compte utilisateur={utilisateur /* absent = visiteur */}>