@facturion/invoice-renderer 0.1.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/LICENSE +21 -0
- package/NOTICE +20 -0
- package/README.md +43 -0
- package/index.d.ts +33 -0
- package/package.json +55 -0
- package/src/document.js +43 -0
- package/src/i18n.js +140 -0
- package/src/index.js +6 -0
- package/src/render.js +421 -0
- package/styles/utilities.css +227 -0
- package/styles/variables.css +89 -0
- package/styles/view.css +902 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/* ── Design tokens ─────────────────────────────────────────────────────────── */
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
/* Primary */
|
|
5
|
+
--primary: #5a7fbf;
|
|
6
|
+
--primary-light: #7fa0d8;
|
|
7
|
+
--primary-dim: #47659c;
|
|
8
|
+
--primary-ghost: rgba(90, 127, 191, 0.13);
|
|
9
|
+
|
|
10
|
+
/* Surfaces (calm product-slate — luminance-only depth steps) */
|
|
11
|
+
--bg-base: #0d1422;
|
|
12
|
+
--bg-2: #111a2c;
|
|
13
|
+
--bg-card: #18223a;
|
|
14
|
+
--bg-elevated: #1d2742;
|
|
15
|
+
--bg-input: #131c2e;
|
|
16
|
+
--bg-hover: rgba(255, 255, 255, 0.04);
|
|
17
|
+
|
|
18
|
+
/* Borders — translucent-white hairlines (calm) */
|
|
19
|
+
--border: rgba(255, 255, 255, 0.08);
|
|
20
|
+
--border-light: rgba(255, 255, 255, 0.14);
|
|
21
|
+
--border-focus: var(--primary);
|
|
22
|
+
|
|
23
|
+
/* Text */
|
|
24
|
+
--text: #e7ecf6;
|
|
25
|
+
--text-secondary: #99a6bf;
|
|
26
|
+
--text-muted: #647190;
|
|
27
|
+
--text-inverse: #0d1422;
|
|
28
|
+
|
|
29
|
+
/* Semantic — calm muted (green = valid only; blue = info/action) */
|
|
30
|
+
--success: #36c08b;
|
|
31
|
+
--success-dim: rgba(54, 192, 139, 0.13);
|
|
32
|
+
--warning: #e0a73c;
|
|
33
|
+
--warning-dim: rgba(224, 167, 60, 0.13);
|
|
34
|
+
--error: #e0606e;
|
|
35
|
+
--error-dim: rgba(224, 96, 110, 0.13);
|
|
36
|
+
--info: #7fa0d8;
|
|
37
|
+
--info-dim: rgba(127, 160, 216, 0.13);
|
|
38
|
+
|
|
39
|
+
/* Typography — calm direction: Geist (display) / Hanken Grotesk (body) / JetBrains Mono (code) */
|
|
40
|
+
--font-display: 'Geist', 'Hanken Grotesk', system-ui, sans-serif;
|
|
41
|
+
--font-sans: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
|
|
42
|
+
--font-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Code', 'Fira Mono', 'Consolas', monospace;
|
|
43
|
+
|
|
44
|
+
--text-xs: 0.8125rem;
|
|
45
|
+
--text-sm: 0.875rem;
|
|
46
|
+
--text-base: 1rem;
|
|
47
|
+
--text-lg: 1.1875rem;
|
|
48
|
+
--text-xl: 1.3rem;
|
|
49
|
+
--text-2xl: 1.75rem;
|
|
50
|
+
--text-3xl: 2.25rem;
|
|
51
|
+
|
|
52
|
+
/* Spacing */
|
|
53
|
+
--space-1: 0.25rem;
|
|
54
|
+
--space-2: 0.5rem;
|
|
55
|
+
--space-3: 0.75rem;
|
|
56
|
+
--space-4: 1rem;
|
|
57
|
+
--space-5: 1.25rem;
|
|
58
|
+
--space-6: 1.5rem;
|
|
59
|
+
--space-8: 2rem;
|
|
60
|
+
--space-10: 2.5rem;
|
|
61
|
+
--space-12: 3rem;
|
|
62
|
+
--space-16: 4rem;
|
|
63
|
+
|
|
64
|
+
/* Radii */
|
|
65
|
+
--radius-sm: 4px;
|
|
66
|
+
--radius-md: 8px;
|
|
67
|
+
--radius-lg: 12px;
|
|
68
|
+
--radius-xl: 16px;
|
|
69
|
+
--radius-full: 9999px;
|
|
70
|
+
|
|
71
|
+
/* Shadows */
|
|
72
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
73
|
+
--shadow-md: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
74
|
+
--shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.4);
|
|
75
|
+
|
|
76
|
+
/* Transitions */
|
|
77
|
+
--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
|
|
78
|
+
--duration: 180ms;
|
|
79
|
+
|
|
80
|
+
/* Layout */
|
|
81
|
+
--nav-height: 3.5rem;
|
|
82
|
+
--max-width: 1600px;
|
|
83
|
+
|
|
84
|
+
/* Shared dropdown caret — reused by both native <select> and the custom
|
|
85
|
+
listbox button so the closed trigger looks identical across them. The
|
|
86
|
+
stroke colour is hard-coded to --text-muted (#647190); changing one
|
|
87
|
+
means changing both. */
|
|
88
|
+
--caret-svg: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none' stroke='%23647190' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M1 1l4 4 4-4'/></svg>");
|
|
89
|
+
}
|