@unisim/sdk 0.102.0 → 0.104.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/README.md +19 -0
- package/dist/AppSettingsShell.js +2 -1
- package/dist/AppSettingsShell.js.map +1 -1
- package/dist/TrialUi.d.ts.map +1 -1
- package/dist/TrialUi.js +5 -2
- package/dist/TrialUi.js.map +1 -1
- package/dist/UnisimQr.d.ts +118 -0
- package/dist/UnisimQr.d.ts.map +1 -0
- package/dist/UnisimQr.js +367 -0
- package/dist/UnisimQr.js.map +1 -0
- package/dist/UpdateNotice.d.ts.map +1 -1
- package/dist/UpdateNotice.js +5 -1
- package/dist/UpdateNotice.js.map +1 -1
- package/dist/UserProfile.js +6 -3
- package/dist/UserProfile.js.map +1 -1
- package/dist/brand.d.ts +19 -0
- package/dist/brand.d.ts.map +1 -1
- package/dist/brand.js +19 -0
- package/dist/brand.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/unisimMark.d.ts +2 -0
- package/dist/unisimMark.d.ts.map +1 -0
- package/dist/unisimMark.js +19 -0
- package/dist/unisimMark.js.map +1 -0
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -89,6 +89,25 @@ function Header() {
|
|
|
89
89
|
### Changelog
|
|
90
90
|
- `useChangelog()` — fetches the suite-wide changelog feed (defaults to `https://changelog.unisim.co.uk/changelog.json`)
|
|
91
91
|
|
|
92
|
+
### QR codes
|
|
93
|
+
- `<UnisimQr value={url} size={176} label="the mobile signing link" />` — the house-style
|
|
94
|
+
code: ink modules, orange finder eyes, the UNI·SIM mark in the centre, error correction
|
|
95
|
+
pinned at `H`. Click (or Enter) enlarges it full-screen on a dimmed backdrop — that's on
|
|
96
|
+
by default, since the reason a code is on screen is that someone wants to point a phone
|
|
97
|
+
at it. Pass `enlargeable={false}` for a plain image.
|
|
98
|
+
- `<QrLightbox value={url} onClose={…} />` — the enlarged view on its own, for a code drawn
|
|
99
|
+
by something else.
|
|
100
|
+
- `unisimQrPngDataUrl(value, size)` — the same code as a PNG data URL, for an `<img>` or a
|
|
101
|
+
stamp drawn into a generated PDF.
|
|
102
|
+
|
|
103
|
+
The colours are **measured, not chosen**: brand orange modules are 2.34:1 on white, below
|
|
104
|
+
the ~3:1 a decoder's binariser needs, and the light-on-dark version is an inverted code that
|
|
105
|
+
strict readers refuse. The orange goes on the finder eyes instead. Don't restyle without
|
|
106
|
+
re-running a decode check against zxing (`Universal_Beam/e2e/beam.e2e.ts` does).
|
|
107
|
+
|
|
108
|
+
`qr-code-styling` is a normal dependency but is imported dynamically, so it stays out of the
|
|
109
|
+
bundle — and out of any server render — of an app that never draws a code.
|
|
110
|
+
|
|
92
111
|
## Multi-tenant model
|
|
93
112
|
|
|
94
113
|
This SDK is the client side of a Supabase-backed multi-tenant schema (see `universal-platform/supabase/migrations`). Every read/write is scoped to the user's active org via the `is_org_member()` helper in RLS policies. Anonymous-auth users get the same hooks; trial caps (3 people / 1 team / 2 places / 1 project) are enforced server-side by the `enforce_anonymous_trial_caps()` trigger.
|
package/dist/AppSettingsShell.js
CHANGED
|
@@ -267,7 +267,8 @@ const primaryButtonStyle = {
|
|
|
267
267
|
gap: 6,
|
|
268
268
|
fontSize: 13,
|
|
269
269
|
fontWeight: 600,
|
|
270
|
-
|
|
270
|
+
// Ink rather than white: white on this orange is 2.34:1. See BRAND.onOrange.
|
|
271
|
+
color: BRAND.onOrange,
|
|
271
272
|
background: BRAND.orange,
|
|
272
273
|
padding: '8px 14px',
|
|
273
274
|
borderRadius: 8,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppSettingsShell.js","sourceRoot":"","sources":["../src/AppSettingsShell.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AppSettingsShell.js","sourceRoot":"","sources":["../src/AppSettingsShell.tsx"],"names":[],"mappings":"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"}
|
package/dist/TrialUi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrialUi.d.ts","sourceRoot":"","sources":["../src/TrialUi.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TrialUi.d.ts","sourceRoot":"","sources":["../src/TrialUi.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAerD,wBAAgB,UAAU,CAAC,EAAE,KAAa,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,2CAsB/D;AAWD,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAA;IACf,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,SAAuB,EACvB,MAAM,EACN,KAAK,EACL,SAAS,GACV,EAAE,gBAAgB,2CAiElB"}
|
package/dist/TrialUi.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { BRAND } from './brand.js';
|
|
3
4
|
const UPGRADE_URL = 'https://unisim.co.uk/login';
|
|
4
5
|
// ──────────────────────────────────────────────────────────────────────────────
|
|
5
6
|
// <TrialBadge /> — small chip you append to a button label that's gated by
|
|
@@ -56,8 +57,10 @@ export function UpgradeWall({ feature, signUpUrl = UPGRADE_URL, detail, style, c
|
|
|
56
57
|
marginTop: 18,
|
|
57
58
|
padding: '10px 18px',
|
|
58
59
|
borderRadius: 10,
|
|
59
|
-
background:
|
|
60
|
-
|
|
60
|
+
background: BRAND.orangeDeep,
|
|
61
|
+
// Ink rather than white: white on #e05504 is 3.84:1, under AA's 4.5:1.
|
|
62
|
+
// See BRAND.onOrange.
|
|
63
|
+
color: BRAND.onOrange,
|
|
61
64
|
fontSize: 14,
|
|
62
65
|
fontWeight: 600,
|
|
63
66
|
textDecoration: 'none',
|
package/dist/TrialUi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrialUi.js","sourceRoot":"","sources":["../src/TrialUi.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;
|
|
1
|
+
{"version":3,"file":"TrialUi.js","sourceRoot":"","sources":["../src/TrialUi.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,WAAW,GAAG,4BAA4B,CAAA;AAEhD,iFAAiF;AACjF,2EAA2E;AAC3E,oEAAoE;AACpE,EAAE;AACF,uCAAuC;AACvC,oDAAoD;AACpD,6CAA6C;AAC7C,cAAc;AACd,iFAAiF;AAEjF,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,EAAsB;IAC9D,OAAO,CACL,eACE,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,GAAG;YACf,aAAa,EAAE,QAAQ;YACvB,aAAa,EAAE,WAAW;YAC1B,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;SACd,YAEA,KAAK,GACD,CACR,CAAA;AACH,CAAC;AAsBD,MAAM,UAAU,WAAW,CAAC,EAC1B,OAAO,EACP,SAAS,GAAG,WAAW,EACvB,MAAM,EACN,KAAK,EACL,SAAS,GACQ;IACjB,OAAO,CACL,eACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG;YACb,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,gBAAgB;YACzB,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EACR,kDAAkD;YACpD,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,SAAS;YAChB,GAAG,KAAK;SACT,aAED,cACE,KAAK,EAAE;oBACL,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,CAAC;oBACN,OAAO,EAAE,UAAU;oBACnB,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,GAAG;oBACf,aAAa,EAAE,QAAQ;oBACvB,aAAa,EAAE,WAAW;oBAC1B,KAAK,EAAE,SAAS;oBAChB,UAAU,EAAE,SAAS;oBACrB,YAAY,EAAE,GAAG;oBACjB,MAAM,EAAE,mBAAmB;iBAC5B,4BAGG,EACN,cAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,iCAC/C,OAAO,IACrB,EACL,YAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,qKAGpE,EACH,MAAM,IAAI,CACT,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAG,MAAM,GAAO,CAC9E,EACD,YACE,IAAI,EAAE,SAAS,EACf,KAAK,EAAE;oBACL,OAAO,EAAE,cAAc;oBACvB,SAAS,EAAE,EAAE;oBACb,OAAO,EAAE,WAAW;oBACpB,YAAY,EAAE,EAAE;oBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,uEAAuE;oBACvE,sBAAsB;oBACtB,KAAK,EAAE,KAAK,CAAC,QAAQ;oBACrB,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,GAAG;oBACf,cAAc,EAAE,MAAM;iBACvB,gDAGC,IACA,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { type CSSProperties } from 'react';
|
|
2
|
+
import type { Options as QrOptions } from 'qr-code-styling';
|
|
3
|
+
/** Warm off-black modules — 17.5:1 on white. Warm rather than the suite's
|
|
4
|
+
* blue-leaning slate, so the neutral shares a hue family with the orange
|
|
5
|
+
* instead of pulling against it. */
|
|
6
|
+
export declare const QR_FG = "#1c1917";
|
|
7
|
+
export declare const QR_BG = "#ffffff";
|
|
8
|
+
/** Orange 600 (`BRAND.orangeDeep`), not Orange 500 — the deeper of the
|
|
9
|
+
* canonical pair is the one that clears 3:1. */
|
|
10
|
+
export declare const QR_EYE = "#e05504";
|
|
11
|
+
/**
|
|
12
|
+
* Bytes a code can carry at error-correction level H (version 40, byte mode).
|
|
13
|
+
*
|
|
14
|
+
* Level H is not a preference: a centre mark covers modules, and only H's ~30%
|
|
15
|
+
* correction budget absorbs that. The price is capacity — H holds 1273 bytes
|
|
16
|
+
* where M holds 2331 — which is why the number lives next to the style.
|
|
17
|
+
*/
|
|
18
|
+
export declare const QR_MAX_BYTES = 1273;
|
|
19
|
+
/** True when `data` fits a level-H code at all. UTF-8 bytes, not characters —
|
|
20
|
+
* a name in Greek or with emoji costs more than its length suggests. */
|
|
21
|
+
export declare function fitsQr(data: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* The canvas resolution a code is rasterised at, which is NOT its display size.
|
|
24
|
+
*
|
|
25
|
+
* The failure this prevents is invisible from the source: a code displayed at
|
|
26
|
+
* 280 CSS px on a 3× phone occupies 912 device pixels, and a canvas smaller
|
|
27
|
+
* than that gets UPSCALED by the browser. Bilinear upscaling smears every
|
|
28
|
+
* module edge, and a smeared module is exactly what a binariser cannot call.
|
|
29
|
+
*
|
|
30
|
+
* Measured in PalsPayIn, not guessed — rendered through this pipeline in
|
|
31
|
+
* headless Chromium at deviceScaleFactor 1/2/3, screenshotted (so the browser's
|
|
32
|
+
* own scaling is under test rather than a resample of our invention) and
|
|
33
|
+
* decoded with jsQR, at payloads of 143/300/600/800/1000 characters:
|
|
34
|
+
*
|
|
35
|
+
* 640 px canvas — everything above 300 characters failed at every DPR
|
|
36
|
+
* 1024 px canvas — 800 and 1000 characters failed at 3×
|
|
37
|
+
* 1280 px canvas — every payload decodes at 2× and 3×
|
|
38
|
+
*
|
|
39
|
+
* SVG output was tried as the obvious way to dodge raster scaling entirely and
|
|
40
|
+
* is measurably WORSE: vector modules anti-alias their edges to grey at these
|
|
41
|
+
* display sizes, and 600 characters up failed at every DPR.
|
|
42
|
+
*
|
|
43
|
+
* Hence: a floor of 1280 for a long payload, 640 for a short one, and above
|
|
44
|
+
* that whatever the display actually needs — the lightbox shows the code at
|
|
45
|
+
* ~700 CSS px, where 1280 would itself be an upscale. Capped at 2048 because a
|
|
46
|
+
* canvas is 4 bytes a pixel and a list of codes should not cost 100 MB.
|
|
47
|
+
*/
|
|
48
|
+
export declare function unisimQrRenderPx(data: string, displaySize: number): number;
|
|
49
|
+
/**
|
|
50
|
+
* qr-code-styling options for a code in the house style.
|
|
51
|
+
*
|
|
52
|
+
* The mark is passed in rather than imported, so this function stays free of
|
|
53
|
+
* the ~48 KB data URI — the render path loads it on demand.
|
|
54
|
+
*/
|
|
55
|
+
export declare function unisimQrOptions(data: string, mark: string, renderPx: number): QrOptions;
|
|
56
|
+
/**
|
|
57
|
+
* The house-style code as a PNG data URL — for the places a live canvas cannot
|
|
58
|
+
* go: an `<img>` in a server-rendered tree, or a stamp drawn into a generated
|
|
59
|
+
* PDF.
|
|
60
|
+
*
|
|
61
|
+
* `size` is the logical edge; the raster resolution is chosen by
|
|
62
|
+
* `unisimQrRenderPx` from the payload, so a long link does not come back soft.
|
|
63
|
+
*/
|
|
64
|
+
export declare function unisimQrPngDataUrl(value: string, size?: number): Promise<string>;
|
|
65
|
+
export interface UnisimQrProps {
|
|
66
|
+
/** The payload — usually a URL, but any text works. */
|
|
67
|
+
value: string;
|
|
68
|
+
/** Displayed edge in CSS px. Square. Default 200. */
|
|
69
|
+
size?: number;
|
|
70
|
+
/**
|
|
71
|
+
* What the code is FOR, in words — "the mobile signing link", "this split".
|
|
72
|
+
* Used to build the accessible name and the lightbox's caption, so write it
|
|
73
|
+
* to read after "QR code for ".
|
|
74
|
+
*/
|
|
75
|
+
label?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Click (or Enter/Space) opens the full-screen lightbox. On by default: the
|
|
78
|
+
* reason a code is on screen is that someone wants to point a phone at it,
|
|
79
|
+
* and a 176 px badge across a desk is not that.
|
|
80
|
+
*
|
|
81
|
+
* Turning it off makes the code a plain image with no interaction.
|
|
82
|
+
*/
|
|
83
|
+
enlargeable?: boolean;
|
|
84
|
+
className?: string;
|
|
85
|
+
style?: CSSProperties;
|
|
86
|
+
/** Passed through to the outer element for tests. */
|
|
87
|
+
'data-testid'?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The UNI·SIM QR code: ink modules, orange finder eyes, the UNI·SIM mark in the
|
|
91
|
+
* centre, error correction pinned at H — and, by default, click-to-enlarge.
|
|
92
|
+
*
|
|
93
|
+
* ```tsx
|
|
94
|
+
* <UnisimQr value={signUrl} size={176} label="the mobile signing link" />
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export declare function UnisimQr({ value, size, label, enlargeable, className, style, 'data-testid': testId, }: UnisimQrProps): import("react/jsx-runtime").JSX.Element;
|
|
98
|
+
export interface QrLightboxProps {
|
|
99
|
+
/** The payload to draw big. */
|
|
100
|
+
value: string;
|
|
101
|
+
/** Same phrasing as `UnisimQr`'s — it follows "QR code for ". */
|
|
102
|
+
label?: string;
|
|
103
|
+
/** Called on Escape, the ✕, and a click on the dimmed backdrop. */
|
|
104
|
+
onClose: () => void;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* The code as large as the screen allows, on a dimmed backdrop.
|
|
108
|
+
*
|
|
109
|
+
* Everything here answers "another person is holding a phone up to this
|
|
110
|
+
* screen": the backdrop dims so the code is the brightest thing on it, clicks
|
|
111
|
+
* ON the code do NOT dismiss (a phone pressed against the glass would otherwise
|
|
112
|
+
* close what it came to scan), and the two hints below fix most failed scans.
|
|
113
|
+
*
|
|
114
|
+
* Usable on its own for a code drawn by something other than `UnisimQr`, but
|
|
115
|
+
* normally you get it for free from `enlargeable`.
|
|
116
|
+
*/
|
|
117
|
+
export declare function QrLightbox({ value, label, onClose }: QrLightboxProps): import("react").ReactPortal | null;
|
|
118
|
+
//# sourceMappingURL=UnisimQr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnisimQr.d.ts","sourceRoot":"","sources":["../src/UnisimQr.tsx"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,aAAa,EAEnB,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAmC3D;;qCAEqC;AACrC,eAAO,MAAM,KAAK,YAAY,CAAA;AAC9B,eAAO,MAAM,KAAK,YAAY,CAAA;AAC9B;iDACiD;AACjD,eAAO,MAAM,MAAM,YAAY,CAAA;AAE/B;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,OAAO,CAAA;AAEhC;yEACyE;AACzE,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAK1E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAyBvF;AAeD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,SAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUnF;AA2CD,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAU,EACV,KAAK,EACL,WAAkB,EAClB,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,GACtB,EAAE,aAAa,2CAiFf;AAED,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mEAAmE;IACnE,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,eAAe,sCAqGpE"}
|
package/dist/UnisimQr.js
ADDED
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useEffect, useId, useRef, useState, } from 'react';
|
|
4
|
+
import { createPortal } from 'react-dom';
|
|
5
|
+
import { NAV_OVERLAY_Z_INDEX } from './DropdownSurface.js';
|
|
6
|
+
// ──────────────────────────────────────────────────────────────────────────────
|
|
7
|
+
// <UnisimQr /> — the house-style QR code, and the lightbox that enlarges it.
|
|
8
|
+
//
|
|
9
|
+
// WHY THIS IS IN THE SDK
|
|
10
|
+
// ----------------------
|
|
11
|
+
// Seven apps had grown their own copy of "a UNI·SIM QR code" (Universal QR,
|
|
12
|
+
// Universal PDF twice over, Ergo, Signatures, PalsPayIn, Beam, Exports) and
|
|
13
|
+
// four had their own click-to-enlarge modal. They had drifted apart in the way
|
|
14
|
+
// duplicated code always does — three different ways of loading the centre
|
|
15
|
+
// mark, two incompatible colour schemes, and only some of them carrying the
|
|
16
|
+
// measurements that make a code actually scan. This is the one that all of them
|
|
17
|
+
// now call.
|
|
18
|
+
//
|
|
19
|
+
// It deliberately does NOT try to replace the QR *studios* in Universal QR and
|
|
20
|
+
// Universal PDF: those let a user choose shapes, plates, decoration and their
|
|
21
|
+
// own logo, and that design model is theirs. This is the code you show when you
|
|
22
|
+
// want the house code and no choices.
|
|
23
|
+
//
|
|
24
|
+
// THE STYLE IS MEASURED, NOT PICKED
|
|
25
|
+
// ---------------------------------
|
|
26
|
+
// Ink modules on white, with the brand orange spent on the three finder eyes.
|
|
27
|
+
// The obvious brand-first arrangement — orange modules — was shipped first in
|
|
28
|
+
// Universal QR and found by decoding its own output NOT to read: brand orange
|
|
29
|
+
// sits at 2.34:1 on white, under the ~3:1 floor a decoder's binariser needs,
|
|
30
|
+
// and the light-on-dark version of it is an inverted code that strict readers
|
|
31
|
+
// (zxing among them) refuse outright. So the orange arrives somewhere it is
|
|
32
|
+
// seen but is never asked to be legible at 1px, and the modules stay ink.
|
|
33
|
+
//
|
|
34
|
+
// Don't restyle any of this without re-running a decode check against a strict
|
|
35
|
+
// reader. Universal_Beam/e2e/beam.e2e.ts does exactly that with zxing.
|
|
36
|
+
// ──────────────────────────────────────────────────────────────────────────────
|
|
37
|
+
/** Warm off-black modules — 17.5:1 on white. Warm rather than the suite's
|
|
38
|
+
* blue-leaning slate, so the neutral shares a hue family with the orange
|
|
39
|
+
* instead of pulling against it. */
|
|
40
|
+
export const QR_FG = '#1c1917';
|
|
41
|
+
export const QR_BG = '#ffffff';
|
|
42
|
+
/** Orange 600 (`BRAND.orangeDeep`), not Orange 500 — the deeper of the
|
|
43
|
+
* canonical pair is the one that clears 3:1. */
|
|
44
|
+
export const QR_EYE = '#e05504';
|
|
45
|
+
/**
|
|
46
|
+
* Bytes a code can carry at error-correction level H (version 40, byte mode).
|
|
47
|
+
*
|
|
48
|
+
* Level H is not a preference: a centre mark covers modules, and only H's ~30%
|
|
49
|
+
* correction budget absorbs that. The price is capacity — H holds 1273 bytes
|
|
50
|
+
* where M holds 2331 — which is why the number lives next to the style.
|
|
51
|
+
*/
|
|
52
|
+
export const QR_MAX_BYTES = 1273;
|
|
53
|
+
/** True when `data` fits a level-H code at all. UTF-8 bytes, not characters —
|
|
54
|
+
* a name in Greek or with emoji costs more than its length suggests. */
|
|
55
|
+
export function fitsQr(data) {
|
|
56
|
+
return new TextEncoder().encode(data).length <= QR_MAX_BYTES;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The canvas resolution a code is rasterised at, which is NOT its display size.
|
|
60
|
+
*
|
|
61
|
+
* The failure this prevents is invisible from the source: a code displayed at
|
|
62
|
+
* 280 CSS px on a 3× phone occupies 912 device pixels, and a canvas smaller
|
|
63
|
+
* than that gets UPSCALED by the browser. Bilinear upscaling smears every
|
|
64
|
+
* module edge, and a smeared module is exactly what a binariser cannot call.
|
|
65
|
+
*
|
|
66
|
+
* Measured in PalsPayIn, not guessed — rendered through this pipeline in
|
|
67
|
+
* headless Chromium at deviceScaleFactor 1/2/3, screenshotted (so the browser's
|
|
68
|
+
* own scaling is under test rather than a resample of our invention) and
|
|
69
|
+
* decoded with jsQR, at payloads of 143/300/600/800/1000 characters:
|
|
70
|
+
*
|
|
71
|
+
* 640 px canvas — everything above 300 characters failed at every DPR
|
|
72
|
+
* 1024 px canvas — 800 and 1000 characters failed at 3×
|
|
73
|
+
* 1280 px canvas — every payload decodes at 2× and 3×
|
|
74
|
+
*
|
|
75
|
+
* SVG output was tried as the obvious way to dodge raster scaling entirely and
|
|
76
|
+
* is measurably WORSE: vector modules anti-alias their edges to grey at these
|
|
77
|
+
* display sizes, and 600 characters up failed at every DPR.
|
|
78
|
+
*
|
|
79
|
+
* Hence: a floor of 1280 for a long payload, 640 for a short one, and above
|
|
80
|
+
* that whatever the display actually needs — the lightbox shows the code at
|
|
81
|
+
* ~700 CSS px, where 1280 would itself be an upscale. Capped at 2048 because a
|
|
82
|
+
* canvas is 4 bytes a pixel and a list of codes should not cost 100 MB.
|
|
83
|
+
*/
|
|
84
|
+
export function unisimQrRenderPx(data, displaySize) {
|
|
85
|
+
const dpr = typeof window === 'undefined' ? 2 : Math.min(Math.max(window.devicePixelRatio || 1, 1), 3);
|
|
86
|
+
const floor = data.length > 300 ? 1280 : 640;
|
|
87
|
+
return Math.min(2048, Math.max(floor, Math.ceil(displaySize * dpr)));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* qr-code-styling options for a code in the house style.
|
|
91
|
+
*
|
|
92
|
+
* The mark is passed in rather than imported, so this function stays free of
|
|
93
|
+
* the ~48 KB data URI — the render path loads it on demand.
|
|
94
|
+
*/
|
|
95
|
+
export function unisimQrOptions(data, mark, renderPx) {
|
|
96
|
+
return {
|
|
97
|
+
type: 'canvas',
|
|
98
|
+
width: renderPx,
|
|
99
|
+
height: renderPx,
|
|
100
|
+
// A quiet zone is part of the spec, not decoration — a code butted against
|
|
101
|
+
// the edge of its card is a code some readers will not find.
|
|
102
|
+
margin: Math.round(renderPx * 0.025),
|
|
103
|
+
data,
|
|
104
|
+
image: mark,
|
|
105
|
+
qrOptions: { errorCorrectionLevel: 'H' },
|
|
106
|
+
imageOptions: {
|
|
107
|
+
// Clear the modules behind the mark rather than letting it sit on top of
|
|
108
|
+
// them: a half-covered module is ambiguous, a missing one is just
|
|
109
|
+
// erasure, and erasure is what level H is budgeted for.
|
|
110
|
+
hideBackgroundDots: true,
|
|
111
|
+
imageSize: 0.28,
|
|
112
|
+
margin: Math.round(renderPx * 0.012),
|
|
113
|
+
crossOrigin: 'anonymous',
|
|
114
|
+
},
|
|
115
|
+
dotsOptions: { type: 'rounded', color: QR_FG },
|
|
116
|
+
cornersSquareOptions: { type: 'extra-rounded', color: QR_EYE },
|
|
117
|
+
cornersDotOptions: { type: 'dot', color: QR_EYE },
|
|
118
|
+
backgroundOptions: { color: QR_BG },
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
// qr-code-styling is browser-only (it touches `document` at construction) and
|
|
122
|
+
// heavy, so it is imported at call time, never at module scope: the SDK's entry
|
|
123
|
+
// point is imported by Next server components, and a static import here would
|
|
124
|
+
// break them. The dynamic import also lets a bundler split it into its own
|
|
125
|
+
// chunk, so apps that never draw a code pay nothing for it.
|
|
126
|
+
async function buildQr(data, renderPx) {
|
|
127
|
+
const [{ default: QRCodeStyling }, { UNISIM_MARK }] = await Promise.all([
|
|
128
|
+
import('qr-code-styling'),
|
|
129
|
+
import('./unisimMark.js'),
|
|
130
|
+
]);
|
|
131
|
+
return new QRCodeStyling(unisimQrOptions(data, UNISIM_MARK, renderPx));
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* The house-style code as a PNG data URL — for the places a live canvas cannot
|
|
135
|
+
* go: an `<img>` in a server-rendered tree, or a stamp drawn into a generated
|
|
136
|
+
* PDF.
|
|
137
|
+
*
|
|
138
|
+
* `size` is the logical edge; the raster resolution is chosen by
|
|
139
|
+
* `unisimQrRenderPx` from the payload, so a long link does not come back soft.
|
|
140
|
+
*/
|
|
141
|
+
export async function unisimQrPngDataUrl(value, size = 240) {
|
|
142
|
+
const qr = await buildQr(value, unisimQrRenderPx(value, size));
|
|
143
|
+
const raw = await qr.getRawData('png');
|
|
144
|
+
if (!(raw instanceof Blob))
|
|
145
|
+
throw new Error('QR render produced no image');
|
|
146
|
+
return await new Promise((resolve, reject) => {
|
|
147
|
+
const reader = new FileReader();
|
|
148
|
+
reader.onload = () => resolve(reader.result);
|
|
149
|
+
reader.onerror = () => reject(reader.error);
|
|
150
|
+
reader.readAsDataURL(raw);
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/** Draw `value` into `host`, sized to `displaySize` CSS px. Returns a cleanup
|
|
154
|
+
* that empties the host — a re-render must not stack canvases. */
|
|
155
|
+
function useQrCanvas(host, value, displaySize, onError) {
|
|
156
|
+
useEffect(() => {
|
|
157
|
+
const el = host.current;
|
|
158
|
+
if (!el || !value)
|
|
159
|
+
return;
|
|
160
|
+
let cancelled = false;
|
|
161
|
+
buildQr(value, unisimQrRenderPx(value, displaySize))
|
|
162
|
+
.then((qr) => {
|
|
163
|
+
if (cancelled || !host.current)
|
|
164
|
+
return;
|
|
165
|
+
host.current.innerHTML = '';
|
|
166
|
+
qr.append(host.current);
|
|
167
|
+
const canvas = host.current.querySelector('canvas');
|
|
168
|
+
if (canvas) {
|
|
169
|
+
// The extra raster resolution buys sharpness, not a bigger element:
|
|
170
|
+
// pin the canvas back to the size it is meant to occupy.
|
|
171
|
+
canvas.style.width = '100%';
|
|
172
|
+
canvas.style.height = '100%';
|
|
173
|
+
canvas.style.display = 'block';
|
|
174
|
+
}
|
|
175
|
+
onError(false);
|
|
176
|
+
})
|
|
177
|
+
.catch(() => {
|
|
178
|
+
// Most likely `qr-code-styling` failed to load. Say so rather than
|
|
179
|
+
// leaving a silent blank square that reads as a broken page.
|
|
180
|
+
if (!cancelled)
|
|
181
|
+
onError(true);
|
|
182
|
+
});
|
|
183
|
+
return () => {
|
|
184
|
+
cancelled = true;
|
|
185
|
+
if (el)
|
|
186
|
+
el.innerHTML = '';
|
|
187
|
+
};
|
|
188
|
+
}, [host, value, displaySize, onError]);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* The UNI·SIM QR code: ink modules, orange finder eyes, the UNI·SIM mark in the
|
|
192
|
+
* centre, error correction pinned at H — and, by default, click-to-enlarge.
|
|
193
|
+
*
|
|
194
|
+
* ```tsx
|
|
195
|
+
* <UnisimQr value={signUrl} size={176} label="the mobile signing link" />
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
export function UnisimQr({ value, size = 200, label, enlargeable = true, className, style, 'data-testid': testId, }) {
|
|
199
|
+
const host = useRef(null);
|
|
200
|
+
const [open, setOpen] = useState(false);
|
|
201
|
+
const [failed, setFailed] = useState(false);
|
|
202
|
+
const onError = useCallback((f) => setFailed(f), []);
|
|
203
|
+
useQrCanvas(host, value, size, onError);
|
|
204
|
+
const name = label ? `QR code for ${label}` : 'QR code';
|
|
205
|
+
const frame = {
|
|
206
|
+
width: size,
|
|
207
|
+
height: size,
|
|
208
|
+
display: 'block',
|
|
209
|
+
lineHeight: 0,
|
|
210
|
+
background: QR_BG,
|
|
211
|
+
...style,
|
|
212
|
+
};
|
|
213
|
+
if (failed) {
|
|
214
|
+
return (_jsx("div", { className: className, "data-testid": testId, style: {
|
|
215
|
+
...frame,
|
|
216
|
+
display: 'flex',
|
|
217
|
+
alignItems: 'center',
|
|
218
|
+
justifyContent: 'center',
|
|
219
|
+
padding: 12,
|
|
220
|
+
boxSizing: 'border-box',
|
|
221
|
+
border: '1px dashed #cbd5e1',
|
|
222
|
+
borderRadius: 12,
|
|
223
|
+
font: "500 12px/1.4 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",
|
|
224
|
+
color: '#64748b',
|
|
225
|
+
textAlign: 'center',
|
|
226
|
+
}, children: "This code couldn't be drawn. The link still works." }));
|
|
227
|
+
}
|
|
228
|
+
// The code itself is decorative once it has an accessible name on the
|
|
229
|
+
// wrapper, and a canvas cannot hold one anyway.
|
|
230
|
+
const canvas = _jsx("div", { ref: host, "aria-hidden": "true", style: { width: '100%', height: '100%' } });
|
|
231
|
+
if (!enlargeable) {
|
|
232
|
+
return (_jsx("div", { className: className, "data-testid": testId, role: "img", "aria-label": name, style: frame, children: canvas }));
|
|
233
|
+
}
|
|
234
|
+
return (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: className, "data-testid": testId, onClick: () => setOpen(true), "aria-label": `${name} — enlarge for scanning`, title: "Tap to enlarge", style: {
|
|
235
|
+
...frame,
|
|
236
|
+
padding: 0,
|
|
237
|
+
border: 0,
|
|
238
|
+
borderRadius: 8,
|
|
239
|
+
cursor: 'zoom-in',
|
|
240
|
+
appearance: 'none',
|
|
241
|
+
}, children: canvas }), open && _jsx(QrLightbox, { value: value, label: label, onClose: () => setOpen(false) })] }));
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* The code as large as the screen allows, on a dimmed backdrop.
|
|
245
|
+
*
|
|
246
|
+
* Everything here answers "another person is holding a phone up to this
|
|
247
|
+
* screen": the backdrop dims so the code is the brightest thing on it, clicks
|
|
248
|
+
* ON the code do NOT dismiss (a phone pressed against the glass would otherwise
|
|
249
|
+
* close what it came to scan), and the two hints below fix most failed scans.
|
|
250
|
+
*
|
|
251
|
+
* Usable on its own for a code drawn by something other than `UnisimQr`, but
|
|
252
|
+
* normally you get it for free from `enlargeable`.
|
|
253
|
+
*/
|
|
254
|
+
export function QrLightbox({ value, label, onClose }) {
|
|
255
|
+
const host = useRef(null);
|
|
256
|
+
const closeRef = useRef(null);
|
|
257
|
+
const [failed, setFailed] = useState(false);
|
|
258
|
+
const onError = useCallback((f) => setFailed(f), []);
|
|
259
|
+
const titleId = useId();
|
|
260
|
+
// Sized from the viewport for the same reason the render resolution is: the
|
|
261
|
+
// card below is max(88vw, 70vh), and asking for fewer pixels than that would
|
|
262
|
+
// hand the browser an upscale to do.
|
|
263
|
+
const [displaySize, setDisplaySize] = useState(900);
|
|
264
|
+
useEffect(() => {
|
|
265
|
+
if (typeof window === 'undefined')
|
|
266
|
+
return;
|
|
267
|
+
const measure = () => setDisplaySize(Math.round(Math.min(window.innerWidth * 0.88, window.innerHeight * 0.7)));
|
|
268
|
+
measure();
|
|
269
|
+
window.addEventListener('resize', measure);
|
|
270
|
+
return () => window.removeEventListener('resize', measure);
|
|
271
|
+
}, []);
|
|
272
|
+
useQrCanvas(host, value, displaySize, onError);
|
|
273
|
+
useEffect(() => {
|
|
274
|
+
function onKey(e) {
|
|
275
|
+
if (e.key === 'Escape')
|
|
276
|
+
onClose();
|
|
277
|
+
}
|
|
278
|
+
document.addEventListener('keydown', onKey);
|
|
279
|
+
return () => document.removeEventListener('keydown', onKey);
|
|
280
|
+
}, [onClose]);
|
|
281
|
+
// Move focus in, and put it back where it came from on the way out —
|
|
282
|
+
// otherwise a keyboard user who closes the lightbox lands at the top of the
|
|
283
|
+
// document rather than on the code they just opened.
|
|
284
|
+
useEffect(() => {
|
|
285
|
+
const returnTo = document.activeElement;
|
|
286
|
+
closeRef.current?.focus();
|
|
287
|
+
const { overflow } = document.body.style;
|
|
288
|
+
document.body.style.overflow = 'hidden';
|
|
289
|
+
return () => {
|
|
290
|
+
document.body.style.overflow = overflow;
|
|
291
|
+
returnTo?.focus?.();
|
|
292
|
+
};
|
|
293
|
+
}, []);
|
|
294
|
+
if (typeof document === 'undefined')
|
|
295
|
+
return null;
|
|
296
|
+
const name = label ? `QR code for ${label}` : 'QR code';
|
|
297
|
+
return createPortal(_jsxs("div", { style: overlayStyle, onClick: onClose, role: "dialog", "aria-modal": "true", "aria-labelledby": titleId, children: [_jsx("button", { ref: closeRef, type: "button", onClick: onClose, "aria-label": "Close", style: closeButtonStyle, children: "\u00D7" }), _jsx("span", { style: { ...hintRailStyle, left: 12 }, "aria-hidden": "true", children: "Click to dismiss" }), _jsx("span", { style: { ...hintRailStyle, right: 12 }, "aria-hidden": "true", children: "Click to dismiss" }), _jsx("div", { style: cardStyle, onClick: (e) => e.stopPropagation(), children: failed ? (_jsx("p", { style: { margin: 0, padding: 24, color: '#64748b', textAlign: 'center' }, children: "This code couldn't be drawn. The link still works." })) : (_jsx("div", { ref: host, role: "img", "aria-label": name, style: { width: '100%', aspectRatio: '1 / 1', lineHeight: 0 } })) }), _jsxs("div", { style: { maxWidth: 420, textAlign: 'center' }, children: [_jsx("p", { id: titleId, style: captionStyle, children: "Point another phone's camera at this code" }), _jsx("p", { style: hintStyle, children: "Struggling? Turn your screen brightness up to max, and make sure the camera isn't in close-up (macro) mode \u2014 pull back a little so the whole code is in frame." })] })] }), document.body);
|
|
298
|
+
}
|
|
299
|
+
const FONT = "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif";
|
|
300
|
+
const overlayStyle = {
|
|
301
|
+
position: 'fixed',
|
|
302
|
+
inset: 0,
|
|
303
|
+
display: 'flex',
|
|
304
|
+
flexDirection: 'column',
|
|
305
|
+
alignItems: 'center',
|
|
306
|
+
justifyContent: 'center',
|
|
307
|
+
gap: 20,
|
|
308
|
+
padding: 16,
|
|
309
|
+
// Dimmer than the sign-in dialog's scrim on purpose — the code has to be the
|
|
310
|
+
// brightest thing on the screen for a camera to find it quickly.
|
|
311
|
+
background: 'rgba(15, 23, 42, 0.8)',
|
|
312
|
+
backdropFilter: 'blur(4px)',
|
|
313
|
+
// Above the nav dropdown layer, and above the sign-in dialog: a code can be
|
|
314
|
+
// enlarged from inside one.
|
|
315
|
+
zIndex: NAV_OVERLAY_Z_INDEX + 200,
|
|
316
|
+
fontFamily: FONT,
|
|
317
|
+
};
|
|
318
|
+
const cardStyle = {
|
|
319
|
+
position: 'relative',
|
|
320
|
+
width: '100%',
|
|
321
|
+
maxWidth: 'min(88vw, 70vh)',
|
|
322
|
+
background: QR_BG,
|
|
323
|
+
borderRadius: 16,
|
|
324
|
+
padding: 16,
|
|
325
|
+
boxSizing: 'border-box',
|
|
326
|
+
boxShadow: '0 24px 48px -12px rgba(15,23,42,0.45)',
|
|
327
|
+
};
|
|
328
|
+
const closeButtonStyle = {
|
|
329
|
+
position: 'absolute',
|
|
330
|
+
top: 16,
|
|
331
|
+
right: 16,
|
|
332
|
+
width: 40,
|
|
333
|
+
height: 40,
|
|
334
|
+
display: 'flex',
|
|
335
|
+
alignItems: 'center',
|
|
336
|
+
justifyContent: 'center',
|
|
337
|
+
borderRadius: 999,
|
|
338
|
+
border: 0,
|
|
339
|
+
background: 'rgba(255,255,255,0.15)',
|
|
340
|
+
color: '#ffffff',
|
|
341
|
+
fontSize: 22,
|
|
342
|
+
lineHeight: 1,
|
|
343
|
+
cursor: 'pointer',
|
|
344
|
+
};
|
|
345
|
+
const hintRailStyle = {
|
|
346
|
+
position: 'absolute',
|
|
347
|
+
top: '50%',
|
|
348
|
+
transform: 'translateY(-50%)',
|
|
349
|
+
pointerEvents: 'none',
|
|
350
|
+
fontSize: 12,
|
|
351
|
+
fontWeight: 500,
|
|
352
|
+
letterSpacing: '0.02em',
|
|
353
|
+
color: 'rgba(255,255,255,0.6)',
|
|
354
|
+
};
|
|
355
|
+
const captionStyle = {
|
|
356
|
+
margin: 0,
|
|
357
|
+
fontSize: 14,
|
|
358
|
+
fontWeight: 600,
|
|
359
|
+
color: '#ffffff',
|
|
360
|
+
};
|
|
361
|
+
const hintStyle = {
|
|
362
|
+
margin: '4px 0 0',
|
|
363
|
+
fontSize: 12,
|
|
364
|
+
lineHeight: 1.5,
|
|
365
|
+
color: 'rgba(255,255,255,0.7)',
|
|
366
|
+
};
|
|
367
|
+
//# sourceMappingURL=UnisimQr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnisimQr.js","sourceRoot":"","sources":["../src/UnisimQr.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateNotice.d.ts","sourceRoot":"","sources":["../src/UpdateNotice.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"UpdateNotice.d.ts","sourceRoot":"","sources":["../src/UpdateNotice.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIrD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAwF,EACxF,WAAsB,EACtB,MAAkB,EAClB,SAAS,EACT,KAAK,GACN,EAAE,iBAAiB,kDA+CnB"}
|