@mostajs/qrpanel 0.3.0 → 0.3.2

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":"composer.d.ts","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,KAAK,QAAQ,EAAE,KAAK,UAAU,EAE/B,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,oBAAoB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACrE,SAAS,EAAE,QAAQ,EAAE,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,EAC9B,IAAI,EAAE,QAAQ,EAAE,GACf,UAAU,GAAG,IAAI,CAOnB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmDxB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUxB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIxB;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,gBAAgB,EACrB,IAAI,GAAE,OAAO,CAAC,cAAc,CAAM,GACjC,cAAc,CAahB"}
1
+ {"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,KAAK,QAAQ,EAAE,KAAK,UAAU,EAE/B,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,oBAAoB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACrE,SAAS,EAAE,QAAQ,EAAE,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,EAC9B,IAAI,EAAE,QAAQ,EAAE,GACf,UAAU,GAAG,IAAI,CAOnB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqDxB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUxB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIxB;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,gBAAgB,EACrB,IAAI,GAAE,OAAO,CAAC,cAAc,CAAM,GACjC,cAAc,CAahB"}
package/dist/composer.js CHANGED
@@ -59,12 +59,14 @@ export async function composeThemedSvg(text, opts) {
59
59
  const qrSize = centerSize - 2 * qrInsideMargin;
60
60
  const qrX = centerX + qrInsideMargin;
61
61
  const qrY = centerX + qrInsideMargin;
62
- // 4. Cadre thématique (4 coins)
62
+ // 4. Cadre thématique (4 coins) — scale et positions auto-calculés
63
+ // depuis centerWhiteRatio (zone marge entre cartouche et bord).
63
64
  const frame = buildThemeFrameSvg(themeAsset, {
64
65
  width: w,
65
66
  color: opts.themeColor,
66
67
  opacity: opts.themeOpacity,
67
68
  framePadding: opts.framePadding,
69
+ centerWhiteRatio: opts.centerWhiteRatio,
68
70
  });
69
71
  // 5. SVG composite final
70
72
  const svg = `<?xml version="1.0" encoding="UTF-8"?>
@@ -1 +1 @@
1
- {"version":3,"file":"composer.js","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composer.js","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -21,7 +21,12 @@ export interface QrConfigDefaults {
21
21
  theme: ThemeKey | 'random' | 'none';
22
22
  /** Sous-set des thèmes utilisés quand theme='random'. */
23
23
  themePool: ThemeKey[];
24
- /** Marge cadre image / canvas (proportion 0..0.5). */
24
+ /**
25
+ * Position du motif dans la zone-marge (0..1) :
26
+ * 0 = collé au bord
27
+ * 0.5 = centre de la marge (optimal — default)
28
+ * 1 = collé contre le cartouche
29
+ */
25
30
  framePadding: number;
26
31
  /** Taille du cartouche blanc central (proportion du canvas, 0..1). */
27
32
  centerWhiteRatio: number;
@@ -41,8 +46,14 @@ export interface QrConfig {
41
46
  export declare const DEFAULT_CONFIG: QrConfig;
42
47
  /**
43
48
  * Lit la config depuis `cwd` (default `process.cwd()`).
44
- * Retourne `DEFAULT_CONFIG` si aucun fichier trouvé.
45
- * Cache invalidé par mtime du fichier.
49
+ *
50
+ * Comportement (depuis 0.3.2) :
51
+ * - Si `.qrconfig.json/.js/.qrconfig` trouvé → lecture + cache mtime.
52
+ * - Si absent ET auto-ensure activé → tente writeFileSync silencieux.
53
+ * - Si writeFileSync échoue (readonly fs, perm denied) → fallback transparent
54
+ * sur DEFAULT_CONFIG, l'échec est mémorisé pour ne pas retenter.
55
+ *
56
+ * Désactiver l'auto-ensure : `QRPANEL_AUTO_ENSURE=false`.
46
57
  */
47
58
  export declare function loadQrConfig(cwd?: string): QrConfig;
48
59
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAI3C,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;AAChD,MAAM,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAEzC,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,QAAQ,EAAE,OAAO,CAAA;IACjB,uDAAuD;IACvD,MAAM,EAAE,QAAQ,CAAA;IAChB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,8EAA8E;IAC9E,oBAAoB,EAAE,KAAK,CAAA;IAC3B,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,wFAAwF;IACxF,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;IACnC,yDAAyD;IACzD,SAAS,EAAE,QAAQ,EAAE,CAAA;IACrB,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAA;IACpB,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,CAAA;IACxB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,gBAAgB,CAAA;IACzB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/D;AAID,eAAO,MAAM,cAAc,EAAE,QAmB5B,CAAA;AAyBD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,QAAQ,CAgClE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,GAAE,MAAsB,EAC3B,SAAS,GAAE,OAAO,CAAC,gBAAgB,CAAM,GACxC,MAAM,CAoBR;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAI3C,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;AAChD,MAAM,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAEzC,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,QAAQ,EAAE,OAAO,CAAA;IACjB,uDAAuD;IACvD,MAAM,EAAE,QAAQ,CAAA;IAChB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,8EAA8E;IAC9E,oBAAoB,EAAE,KAAK,CAAA;IAC3B,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,wFAAwF;IACxF,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;IACnC,yDAAyD;IACzD,SAAS,EAAE,QAAQ,EAAE,CAAA;IACrB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,CAAA;IACxB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,gBAAgB,CAAA;IACzB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/D;AAID,eAAO,MAAM,cAAc,EAAE,QAmB5B,CAAA;AAwCD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,QAAQ,CA0ClE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,GAAE,MAAsB,EAC3B,SAAS,GAAE,OAAO,CAAC,gBAAgB,CAAM,GACxC,MAAM,CAoBR;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
package/dist/config.js CHANGED
@@ -26,7 +26,7 @@ export const DEFAULT_CONFIG = {
26
26
  'baby', 'animals', 'science', 'physics', 'chemistry', 'math',
27
27
  'nature', 'tech', 'space', 'music', 'book', 'health',
28
28
  ],
29
- framePadding: 0.13,
29
+ framePadding: 0.5,
30
30
  centerWhiteRatio: 0.62,
31
31
  themeOpacity: 1.0,
32
32
  themeColor: '#1e293b',
@@ -45,13 +45,42 @@ function findConfigFile(cwd) {
45
45
  }
46
46
  const _cache = new Map();
47
47
  // ─── Readers ───────────────────────────────────────────────────────
48
+ /**
49
+ * Décide si l'auto-création silencieuse est activée.
50
+ * Désactivable via `process.env.QRPANEL_AUTO_ENSURE=false` ou `=0` ou `=off`.
51
+ * Activée par défaut (depuis 0.3.2).
52
+ */
53
+ function isAutoEnsureEnabled() {
54
+ const v = process.env.QRPANEL_AUTO_ENSURE;
55
+ if (v == null)
56
+ return true;
57
+ const lower = String(v).toLowerCase().trim();
58
+ return !(lower === 'false' || lower === '0' || lower === 'off' || lower === 'no');
59
+ }
60
+ // Mémoire pour ne pas re-tenter writeFileSync à chaque appel sur un FS readonly
61
+ const _autoEnsureFailedFor = new Set();
48
62
  /**
49
63
  * Lit la config depuis `cwd` (default `process.cwd()`).
50
- * Retourne `DEFAULT_CONFIG` si aucun fichier trouvé.
51
- * Cache invalidé par mtime du fichier.
64
+ *
65
+ * Comportement (depuis 0.3.2) :
66
+ * - Si `.qrconfig.json/.js/.qrconfig` trouvé → lecture + cache mtime.
67
+ * - Si absent ET auto-ensure activé → tente writeFileSync silencieux.
68
+ * - Si writeFileSync échoue (readonly fs, perm denied) → fallback transparent
69
+ * sur DEFAULT_CONFIG, l'échec est mémorisé pour ne pas retenter.
70
+ *
71
+ * Désactiver l'auto-ensure : `QRPANEL_AUTO_ENSURE=false`.
52
72
  */
53
73
  export function loadQrConfig(cwd = process.cwd()) {
54
- const path = findConfigFile(cwd);
74
+ let path = findConfigFile(cwd);
75
+ // Auto-création (0.3.2+) : si pas de fichier et pas déjà échoué une fois ici
76
+ if (!path && isAutoEnsureEnabled() && !_autoEnsureFailedFor.has(cwd)) {
77
+ try {
78
+ path = ensureQrConfig(cwd);
79
+ }
80
+ catch {
81
+ _autoEnsureFailedFor.add(cwd); // FS readonly / perm denied → on retombe sur defaults sans bruit
82
+ }
83
+ }
55
84
  if (!path)
56
85
  return DEFAULT_CONFIG;
57
86
  const stat = statSync(path);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/themes.d.ts CHANGED
@@ -32,9 +32,23 @@ export interface BuildFrameOpts {
32
32
  color?: string;
33
33
  /** Opacité 0..1. Default 1. */
34
34
  opacity?: number;
35
- /** Marge en proportion du width (où placer les motifs aux coins). Default 0.13. */
35
+ /**
36
+ * Proportion du cartouche blanc central / canvas (0..1). Détermine la
37
+ * largeur de la zone-marge où sont placés les motifs.
38
+ * Default 0.62.
39
+ */
40
+ centerWhiteRatio?: number;
41
+ /**
42
+ * Position du motif dans la zone-marge (0..1) :
43
+ * 0 = motif collé au bord du canvas
44
+ * 0.5 = motif centré dans la zone-marge (default, optimal)
45
+ * 1 = motif collé contre le cartouche blanc
46
+ */
36
47
  framePadding?: number;
37
- /** Échelle du motif (base 1 = motif d'envergure ~14 unités locales). Default auto-scale par width. */
48
+ /**
49
+ * Échelle du motif (override de l'auto-calc).
50
+ * Auto = (marginZone × 0.65 / 14) où 14 ≈ envergure locale du motif.
51
+ */
38
52
  motifScale?: number;
39
53
  }
40
54
  export declare function buildThemeFrameSvg(theme: ThemeAsset, opts: BuildFrameOpts): string;
@@ -1 +1 @@
1
- {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,SAAS,GACT,SAAS,GACT,SAAS,GACT,WAAW,GACX,MAAM,GACN,QAAQ,GACR,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,QAAQ,CAAA;AAEZ,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,QAAQ,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAA;CACd;AAMD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CA4I/C,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,UAAU,EAAE,QAAQ,EAGhC,CAAA;AAED,+CAA+C;AAC/C,wBAAgB,UAAU,IAAI,QAAQ,EAAE,CAEvC;AAED,mDAAmD;AACnD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU,CAIlD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAG3D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sGAAsG;IACtG,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CAqBlF"}
1
+ {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,SAAS,GACT,SAAS,GACT,SAAS,GACT,WAAW,GACX,MAAM,GACN,QAAQ,GACR,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,QAAQ,CAAA;AAEZ,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,QAAQ,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAA;CACd;AAMD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CA4I/C,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,UAAU,EAAE,QAAQ,EAGhC,CAAA;AAED,+CAA+C;AAC/C,wBAAgB,UAAU,IAAI,QAAQ,EAAE,CAEvC;AAED,mDAAmD;AACnD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU,CAIlD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAG3D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAKD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CAsBlF"}
package/dist/themes.js CHANGED
@@ -166,19 +166,22 @@ export function pickRandomTheme(pool) {
166
166
  const candidates = pool && pool.length > 0 ? pool : THEME_KEYS;
167
167
  return candidates[Math.floor(Math.random() * candidates.length)];
168
168
  }
169
+ /** Envergure approximative d'un motif local (en unités SVG). */
170
+ const MOTIF_BASE_SIZE = 14;
169
171
  export function buildThemeFrameSvg(theme, opts) {
170
172
  const w = opts.width;
171
- const pad = (opts.framePadding ?? 0.13) * w;
173
+ const ratio = opts.centerWhiteRatio ?? 0.62;
174
+ const marginZone = (w - w * ratio) / 2; // largeur libre entre cartouche et bord
175
+ const padFactor = opts.framePadding ?? 0.5;
176
+ const offset = marginZone * padFactor; // distance du bord au centre du motif
177
+ const scale = opts.motifScale ?? (marginZone * 0.65 / MOTIF_BASE_SIZE);
172
178
  const color = opts.color ?? '#1e293b';
173
179
  const opacity = opts.opacity ?? 1;
174
- // Auto-scale : à w=600 et padding 13% → motif dimensionné pour rester
175
- // dans le cadre 0..pad (~78px). Motif local ~14 unités → scale ~5.5.
176
- const scale = opts.motifScale ?? (pad * 0.45);
177
180
  const corners = [
178
- [pad, pad], // top-left
179
- [w - pad, pad], // top-right
180
- [pad, w - pad], // bottom-left
181
- [w - pad, w - pad], // bottom-right
181
+ [offset, offset], // top-left
182
+ [w - offset, offset], // top-right
183
+ [offset, w - offset], // bottom-left
184
+ [w - offset, w - offset], // bottom-right
182
185
  ];
183
186
  const groups = corners.map(([cx, cy]) => `<g transform="translate(${cx} ${cy}) scale(${scale})" style="color:${color};opacity:${opacity}">${theme.motif}</g>`).join('');
184
187
  return groups;
@@ -1 +1 @@
1
- {"version":3,"file":"themes.js","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mostajs/qrpanel",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "QR code panel — server-side PNG/SVG generator with 12 built-in themes (image-as-frame composite, ECC=H), config-driven (.qrconfig.json), cross-OS no chromium, + React <QrPanel> client with copy/share/mailto.",
5
5
  "author": "Dr Hamid MADANI <drmdh@msn.com>",
6
6
  "license": "AGPL-3.0-or-later",