@mostajs/qrpanel 0.4.0 → 0.6.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/CHANGELOG.md +56 -0
- package/browser/qr-scan.js +10144 -0
- package/dist/qr-image.d.ts +32 -0
- package/dist/qr-image.d.ts.map +1 -0
- package/dist/qr-image.js +68 -0
- package/dist/qr-image.js.map +1 -0
- package/dist/qr-svg.js +165 -0
- package/llms.txt +20 -0
- package/package.json +34 -38
- package/src/cli.ts +74 -0
- package/src/client.tsx +184 -0
- package/src/composer.ts +164 -0
- package/src/config.ts +213 -0
- package/src/index.js +6 -0
- package/src/index.ts +16 -0
- package/src/qr-decode.js +23 -0
- package/src/qr-figures.js +46 -0
- package/src/qr-image.tsx +105 -0
- package/src/qr-payloads.js +59 -0
- package/src/qr-png.js +40 -0
- package/src/qr-svg.js +185 -0
- package/src/server.ts +212 -0
- package/src/themes.ts +266 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# @mostajs/qrpanel — Changelog
|
|
2
|
+
## [Unreleased]
|
|
3
|
+
- **qrPngFigure(data, caption, opts)** — figure PNG légendée (pendant de qrLive pour le rendu image : billets/badges imprimables). Sous-chemin `./png`.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
**Auteur** : Dr Hamid MADANI <drmdh@msn.com>
|
|
7
|
+
|
|
8
|
+
## [+] 2026-06-23
|
|
9
|
+
### Ajouté
|
|
10
|
+
- **Versions ≥ 7** : pose des « information de version » (18 bits BCH v7-10) → QR longs enfin VALIDES.
|
|
11
|
+
- **qrLive** : figure QR scannable (gros + légende).
|
|
12
|
+
- **Payloads typés** (./payloads) : qrWifi, qrTel, qrSms, qrEmail, qrGeo, qrUrl, qrMeCard, qrVCard, qrEvent.
|
|
13
|
+
- **Figures** (./figures) : qrLogo (logo central), qrCard, qrBadge, qrSheet (planche).
|
|
14
|
+
- **qrPng** (./png) : sortie PNG base64 (emails/billets) via node:zlib.
|
|
15
|
+
- index.js + exports par sous-chemin. 10 tests.
|
|
16
|
+
|
|
17
|
+
## 0.5.0 — 2026-05-21
|
|
18
|
+
|
|
19
|
+
### Feature — `<QrImage>` : génération QR locale côté navigateur
|
|
20
|
+
|
|
21
|
+
Nouveau sous-export **`@mostajs/qrpanel/qr-image`** comblant le cas non
|
|
22
|
+
couvert jusqu'ici : générer un QR code **dans le navigateur**, sans
|
|
23
|
+
round-trip serveur ni service externe.
|
|
24
|
+
|
|
25
|
+
- **`<QrImage data size … />`** — composant React qui génère le QR
|
|
26
|
+
localement (data URL via `qrcode`) et le rend en `<img>`. Style-neutre
|
|
27
|
+
(`style` / `className`), utilisable sans Tailwind.
|
|
28
|
+
- **`useQrDataUrl(data, opts)`** — hook primitif renvoyant
|
|
29
|
+
`{ src, loading, error }`.
|
|
30
|
+
- **COEP-safe** : sous cross-origin isolation (`require-corp`), une image
|
|
31
|
+
QR cross-origin est bloquée par la politique ; la génération locale est
|
|
32
|
+
alors la seule option côté client.
|
|
33
|
+
- Sous-export dédié : `qrcode` n'entre dans le bundle client que pour les
|
|
34
|
+
consumers qui importent `@mostajs/qrpanel/qr-image`.
|
|
35
|
+
|
|
36
|
+
Complémentarité des trois briques :
|
|
37
|
+
- `./server` — `generateQr{Png,Svg,DataUrl}` (Node, thèmes, @resvg natif).
|
|
38
|
+
- `./client` — `<QrPanel>` (copie / partage / mailto, `qrSrc` fourni).
|
|
39
|
+
- `./qr-image` — `<QrImage>` (génération locale navigateur).
|
|
40
|
+
|
|
41
|
+
### Change — `@mostajs/auth` et `@resvg/resvg-js` en peer deps optionnelles
|
|
42
|
+
|
|
43
|
+
Ces deux dépendances ne servent qu'à `./server` (`@resvg` pour la
|
|
44
|
+
rasterisation thématique, `@mostajs/auth` pour `buildInviteUrls`). Elles
|
|
45
|
+
passent de `dependencies` à **`peerDependencies` optionnelles** : un
|
|
46
|
+
consumer de `./qr-image` ou `./client` n'embarque plus la galaxie
|
|
47
|
+
auth/rbac/net ni un binaire natif inutile. Les consumers de `./server`
|
|
48
|
+
doivent désormais installer `@mostajs/auth` et `@resvg/resvg-js`
|
|
49
|
+
eux-mêmes.
|
|
50
|
+
|
|
51
|
+
## 0.4.0
|
|
52
|
+
|
|
53
|
+
Générateur QR serveur (PNG/SVG/DataUrl) avec 12 thèmes intégrés
|
|
54
|
+
(image-as-frame, ECC=H), pilotage par `.qrconfig.json`, cross-OS sans
|
|
55
|
+
chromium ; composant React `<QrPanel>` (copie / ouvrir / mailto) ;
|
|
56
|
+
helper `buildInviteUrls` (invite-token HMAC) ; CLI `qrpanel`.
|