@kontourai/survey 2.4.1 → 2.4.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.
- package/dist/example-data/public-directory-review-resource.d.ts +1 -1
- package/dist/src/review-workbench/review-workbench-css.generated.js +54 -0
- package/dist/src/review-workbench/review-workbench-data.d.ts +6 -6
- package/dist/src/review-workbench/review-workbench.css +54 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/OFL-Fraunces.txt +93 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/OFL-HankenGrotesk.txt +94 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/OFL-IBMPlexMono.txt +92 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/README.md +41 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/fraunces-latin-ext.woff2 +0 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/fraunces-latin.woff2 +0 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/hanken-grotesk-latin-ext.woff2 +0 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/hanken-grotesk-latin.woff2 +0 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/ibm-plex-mono-400-latin1.woff2 +0 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/ibm-plex-mono-400-latin2.woff2 +0 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/ibm-plex-mono-500-latin1.woff2 +0 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/ibm-plex-mono-500-latin2.woff2 +0 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/ibm-plex-mono-600-latin1.woff2 +0 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/ibm-plex-mono-600-latin2.woff2 +0 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts.css +107 -1
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/index.css +1 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/themes.css +2 -0
- package/dist/src/review-workbench/vendor/kontourai-ui/tokens/tokens.css +52 -0
- package/package.json +6 -6
|
@@ -106,12 +106,12 @@ export declare const publicDirectoryReviewItemExample: {
|
|
|
106
106
|
collectedBy: string;
|
|
107
107
|
};
|
|
108
108
|
projection: {
|
|
109
|
+
reviewOutcomeId?: undefined;
|
|
109
110
|
rawSourceId: string;
|
|
110
111
|
extractionId: string;
|
|
111
112
|
candidateSetId: string;
|
|
112
113
|
candidateId: string;
|
|
113
114
|
claimId: string;
|
|
114
|
-
reviewOutcomeId?: undefined;
|
|
115
115
|
};
|
|
116
116
|
producer: {
|
|
117
117
|
proposalId: string;
|
|
@@ -12,6 +12,13 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
12
12
|
--k-line: rgba(150, 180, 210, 0.12);
|
|
13
13
|
--k-line-strong: rgba(150, 180, 210, 0.22);
|
|
14
14
|
--k-shadow: 0 26px 60px -42px rgba(0, 0, 0, 0.95);
|
|
15
|
+
/* Layered, downward-weighted overlay elevation (contact -> ambient falloff).
|
|
16
|
+
The single shadow floating surfaces — dialogs, menus, palettes, toasts —
|
|
17
|
+
should use, so elevation tunes in one place. */
|
|
18
|
+
--k-elevation-overlay:
|
|
19
|
+
0 1px 2px rgba(0, 0, 0, 0.35),
|
|
20
|
+
0 12px 32px rgba(0, 0, 0, 0.45),
|
|
21
|
+
0 24px 56px rgba(0, 0, 0, 0.4);
|
|
15
22
|
|
|
16
23
|
/* text */
|
|
17
24
|
--k-text: #eef3f8;
|
|
@@ -44,6 +51,10 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
44
51
|
/* radius */
|
|
45
52
|
--k-radius-sm: 9px;
|
|
46
53
|
--k-radius-md: 14px;
|
|
54
|
+
/* Tight, desktop-grade radii for dense product chrome (controls + overlays),
|
|
55
|
+
alongside the softer sm/md. */
|
|
56
|
+
--k-radius-control: 4px;
|
|
57
|
+
--k-radius-overlay: 10px;
|
|
47
58
|
|
|
48
59
|
/* type */
|
|
49
60
|
--k-text-xs: 11px;
|
|
@@ -61,6 +72,38 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
61
72
|
/* motion */
|
|
62
73
|
--k-ease: cubic-bezier(0.22, 1, 0.36, 1);
|
|
63
74
|
--k-dur: 0.16s;
|
|
75
|
+
|
|
76
|
+
/* border width — replaces the ad-hoc calc(var(--k-space-1) / 4) math that
|
|
77
|
+
hairline borders computed inline across primitives. */
|
|
78
|
+
--k-border-thin: 1px;
|
|
79
|
+
--k-border-thick: 2px;
|
|
80
|
+
|
|
81
|
+
/* line-height — unitless ratios for display headings vs. body copy. */
|
|
82
|
+
--k-leading-tight: 1.1;
|
|
83
|
+
--k-leading-normal: 1.45;
|
|
84
|
+
--k-leading-loose: 1.7;
|
|
85
|
+
|
|
86
|
+
/* letter-spacing — eyebrows/badges track wide; body tracks normal. */
|
|
87
|
+
--k-tracking-tight: -0.01em;
|
|
88
|
+
--k-tracking-normal: 0;
|
|
89
|
+
--k-tracking-wide: 0.08em;
|
|
90
|
+
|
|
91
|
+
/* focus — one ring contract so every interactive primitive (controls,
|
|
92
|
+
buttons, links) shows the same keyboard-focus affordance. */
|
|
93
|
+
--k-focus-ring: var(--k-brand);
|
|
94
|
+
--k-focus-ring-width: 2px;
|
|
95
|
+
--k-focus-ring-offset: 2px;
|
|
96
|
+
|
|
97
|
+
/* z-index — semantic stacking scale for layered surfaces. Overlays read
|
|
98
|
+
these instead of inventing local magic numbers, so cross-product layering
|
|
99
|
+
stays consistent (a Flow toast never renders under a Console dialog). */
|
|
100
|
+
--k-z-base: 0;
|
|
101
|
+
--k-z-sticky: 100;
|
|
102
|
+
--k-z-dropdown: 1000;
|
|
103
|
+
--k-z-overlay: 1100;
|
|
104
|
+
--k-z-modal: 1200;
|
|
105
|
+
--k-z-popover: 1300;
|
|
106
|
+
--k-z-toast: 1400;
|
|
64
107
|
}
|
|
65
108
|
|
|
66
109
|
.survey-workbench-embed[data-theme="light"]{
|
|
@@ -71,9 +114,18 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
71
114
|
--k-line: rgba(36, 40, 46, 0.12);
|
|
72
115
|
--k-line-strong: rgba(36, 40, 46, 0.20);
|
|
73
116
|
--k-shadow: 0 18px 50px -30px rgba(0, 0, 0, 0.25);
|
|
117
|
+
--k-elevation-overlay:
|
|
118
|
+
0 1px 2px rgba(0, 0, 0, 0.06),
|
|
119
|
+
0 8px 24px rgba(0, 0, 0, 0.1),
|
|
120
|
+
0 18px 48px rgba(0, 0, 0, 0.08);
|
|
74
121
|
--k-text: #202124;
|
|
75
122
|
--k-text-muted: #5b626b;
|
|
76
123
|
--k-text-faint: #707782;
|
|
124
|
+
/* The dark-mode brand (#5ce0c6) is too light to carry white text or read as
|
|
125
|
+
text on the light canvas (~1.6:1). Darken it for light mode: #0e7c64 holds
|
|
126
|
+
the teal hue while clearing WCAG AA both as a button fill (white text,
|
|
127
|
+
5.1:1) and as text on --k-bg (4.7:1). */
|
|
128
|
+
--k-brand: #0e7c64;
|
|
77
129
|
--k-brand-contrast: #ffffff;
|
|
78
130
|
--k-positive: #168257;
|
|
79
131
|
--k-caution: #8a5a00;
|
|
@@ -94,6 +146,8 @@ export const REVIEW_WORKBENCH_CSS = `/* Bundled, scoped Survey Review Workbench
|
|
|
94
146
|
--k-font-display: "Aptos Narrow", "DIN Condensed", "IBM Plex Sans Condensed", "Gill Sans", sans-serif;
|
|
95
147
|
--k-radius-sm: 0;
|
|
96
148
|
--k-radius-md: 0;
|
|
149
|
+
--k-radius-control: 0;
|
|
150
|
+
--k-radius-overlay: 0;
|
|
97
151
|
--k-brand: #c9ff4a;
|
|
98
152
|
--k-brand-contrast: #11120f;
|
|
99
153
|
--k-bg: #11120f;
|
|
@@ -107,12 +107,12 @@ export declare const publicDirectoryReviewItemExample: {
|
|
|
107
107
|
collectedBy: string;
|
|
108
108
|
};
|
|
109
109
|
projection: {
|
|
110
|
+
reviewOutcomeId?: undefined;
|
|
110
111
|
rawSourceId: string;
|
|
111
112
|
extractionId: string;
|
|
112
113
|
candidateSetId: string;
|
|
113
114
|
candidateId: string;
|
|
114
115
|
claimId: string;
|
|
115
|
-
reviewOutcomeId?: undefined;
|
|
116
116
|
};
|
|
117
117
|
producer: {
|
|
118
118
|
proposalId: string;
|
|
@@ -253,6 +253,7 @@ export declare const regulatedRuleConflictReviewItemExample: {
|
|
|
253
253
|
claimId: string;
|
|
254
254
|
};
|
|
255
255
|
producer: {
|
|
256
|
+
status?: undefined;
|
|
256
257
|
sourceSection: string;
|
|
257
258
|
sourcePage: number;
|
|
258
259
|
sourceAuthority: {
|
|
@@ -260,7 +261,6 @@ export declare const regulatedRuleConflictReviewItemExample: {
|
|
|
260
261
|
declaredBy: string;
|
|
261
262
|
scope: string;
|
|
262
263
|
};
|
|
263
|
-
status?: undefined;
|
|
264
264
|
};
|
|
265
265
|
})[];
|
|
266
266
|
};
|
|
@@ -297,6 +297,7 @@ export declare const facilityCredentialReviewItemExample: {
|
|
|
297
297
|
feedbackTags: string[];
|
|
298
298
|
};
|
|
299
299
|
candidates: ({
|
|
300
|
+
sourceRank?: undefined;
|
|
300
301
|
id: string;
|
|
301
302
|
role: "current";
|
|
302
303
|
value: {
|
|
@@ -352,10 +353,9 @@ export declare const facilityCredentialReviewItemExample: {
|
|
|
352
353
|
claimId: string;
|
|
353
354
|
};
|
|
354
355
|
producer: {
|
|
355
|
-
credentialSystem: string;
|
|
356
356
|
sourceAuthority?: undefined;
|
|
357
|
+
credentialSystem: string;
|
|
357
358
|
};
|
|
358
|
-
sourceRank?: undefined;
|
|
359
359
|
} | {
|
|
360
360
|
id: string;
|
|
361
361
|
role: "proposed";
|
|
@@ -535,12 +535,12 @@ export declare const reviewWorkbenchQueueExamples: (ReviewItem | {
|
|
|
535
535
|
collectedBy: string;
|
|
536
536
|
};
|
|
537
537
|
projection: {
|
|
538
|
+
reviewOutcomeId?: undefined;
|
|
538
539
|
rawSourceId: string;
|
|
539
540
|
extractionId: string;
|
|
540
541
|
candidateSetId: string;
|
|
541
542
|
candidateId: string;
|
|
542
543
|
claimId: string;
|
|
543
|
-
reviewOutcomeId?: undefined;
|
|
544
544
|
};
|
|
545
545
|
producer: {
|
|
546
546
|
proposalId: string;
|
|
@@ -680,6 +680,7 @@ export declare const reviewWorkbenchQueueExamples: (ReviewItem | {
|
|
|
680
680
|
claimId: string;
|
|
681
681
|
};
|
|
682
682
|
producer: {
|
|
683
|
+
status?: undefined;
|
|
683
684
|
sourceSection: string;
|
|
684
685
|
sourcePage: number;
|
|
685
686
|
sourceAuthority: {
|
|
@@ -687,7 +688,6 @@ export declare const reviewWorkbenchQueueExamples: (ReviewItem | {
|
|
|
687
688
|
declaredBy: string;
|
|
688
689
|
scope: string;
|
|
689
690
|
};
|
|
690
|
-
status?: undefined;
|
|
691
691
|
};
|
|
692
692
|
})[];
|
|
693
693
|
};
|
|
@@ -9,6 +9,13 @@
|
|
|
9
9
|
--k-line: rgba(150, 180, 210, 0.12);
|
|
10
10
|
--k-line-strong: rgba(150, 180, 210, 0.22);
|
|
11
11
|
--k-shadow: 0 26px 60px -42px rgba(0, 0, 0, 0.95);
|
|
12
|
+
/* Layered, downward-weighted overlay elevation (contact -> ambient falloff).
|
|
13
|
+
The single shadow floating surfaces — dialogs, menus, palettes, toasts —
|
|
14
|
+
should use, so elevation tunes in one place. */
|
|
15
|
+
--k-elevation-overlay:
|
|
16
|
+
0 1px 2px rgba(0, 0, 0, 0.35),
|
|
17
|
+
0 12px 32px rgba(0, 0, 0, 0.45),
|
|
18
|
+
0 24px 56px rgba(0, 0, 0, 0.4);
|
|
12
19
|
|
|
13
20
|
/* text */
|
|
14
21
|
--k-text: #eef3f8;
|
|
@@ -41,6 +48,10 @@
|
|
|
41
48
|
/* radius */
|
|
42
49
|
--k-radius-sm: 9px;
|
|
43
50
|
--k-radius-md: 14px;
|
|
51
|
+
/* Tight, desktop-grade radii for dense product chrome (controls + overlays),
|
|
52
|
+
alongside the softer sm/md. */
|
|
53
|
+
--k-radius-control: 4px;
|
|
54
|
+
--k-radius-overlay: 10px;
|
|
44
55
|
|
|
45
56
|
/* type */
|
|
46
57
|
--k-text-xs: 11px;
|
|
@@ -58,6 +69,38 @@
|
|
|
58
69
|
/* motion */
|
|
59
70
|
--k-ease: cubic-bezier(0.22, 1, 0.36, 1);
|
|
60
71
|
--k-dur: 0.16s;
|
|
72
|
+
|
|
73
|
+
/* border width — replaces the ad-hoc calc(var(--k-space-1) / 4) math that
|
|
74
|
+
hairline borders computed inline across primitives. */
|
|
75
|
+
--k-border-thin: 1px;
|
|
76
|
+
--k-border-thick: 2px;
|
|
77
|
+
|
|
78
|
+
/* line-height — unitless ratios for display headings vs. body copy. */
|
|
79
|
+
--k-leading-tight: 1.1;
|
|
80
|
+
--k-leading-normal: 1.45;
|
|
81
|
+
--k-leading-loose: 1.7;
|
|
82
|
+
|
|
83
|
+
/* letter-spacing — eyebrows/badges track wide; body tracks normal. */
|
|
84
|
+
--k-tracking-tight: -0.01em;
|
|
85
|
+
--k-tracking-normal: 0;
|
|
86
|
+
--k-tracking-wide: 0.08em;
|
|
87
|
+
|
|
88
|
+
/* focus — one ring contract so every interactive primitive (controls,
|
|
89
|
+
buttons, links) shows the same keyboard-focus affordance. */
|
|
90
|
+
--k-focus-ring: var(--k-brand);
|
|
91
|
+
--k-focus-ring-width: 2px;
|
|
92
|
+
--k-focus-ring-offset: 2px;
|
|
93
|
+
|
|
94
|
+
/* z-index — semantic stacking scale for layered surfaces. Overlays read
|
|
95
|
+
these instead of inventing local magic numbers, so cross-product layering
|
|
96
|
+
stays consistent (a Flow toast never renders under a Console dialog). */
|
|
97
|
+
--k-z-base: 0;
|
|
98
|
+
--k-z-sticky: 100;
|
|
99
|
+
--k-z-dropdown: 1000;
|
|
100
|
+
--k-z-overlay: 1100;
|
|
101
|
+
--k-z-modal: 1200;
|
|
102
|
+
--k-z-popover: 1300;
|
|
103
|
+
--k-z-toast: 1400;
|
|
61
104
|
}
|
|
62
105
|
|
|
63
106
|
.survey-workbench-embed[data-theme="light"]{
|
|
@@ -68,9 +111,18 @@
|
|
|
68
111
|
--k-line: rgba(36, 40, 46, 0.12);
|
|
69
112
|
--k-line-strong: rgba(36, 40, 46, 0.20);
|
|
70
113
|
--k-shadow: 0 18px 50px -30px rgba(0, 0, 0, 0.25);
|
|
114
|
+
--k-elevation-overlay:
|
|
115
|
+
0 1px 2px rgba(0, 0, 0, 0.06),
|
|
116
|
+
0 8px 24px rgba(0, 0, 0, 0.1),
|
|
117
|
+
0 18px 48px rgba(0, 0, 0, 0.08);
|
|
71
118
|
--k-text: #202124;
|
|
72
119
|
--k-text-muted: #5b626b;
|
|
73
120
|
--k-text-faint: #707782;
|
|
121
|
+
/* The dark-mode brand (#5ce0c6) is too light to carry white text or read as
|
|
122
|
+
text on the light canvas (~1.6:1). Darken it for light mode: #0e7c64 holds
|
|
123
|
+
the teal hue while clearing WCAG AA both as a button fill (white text,
|
|
124
|
+
5.1:1) and as text on --k-bg (4.7:1). */
|
|
125
|
+
--k-brand: #0e7c64;
|
|
74
126
|
--k-brand-contrast: #ffffff;
|
|
75
127
|
--k-positive: #168257;
|
|
76
128
|
--k-caution: #8a5a00;
|
|
@@ -91,6 +143,8 @@
|
|
|
91
143
|
--k-font-display: "Aptos Narrow", "DIN Condensed", "IBM Plex Sans Condensed", "Gill Sans", sans-serif;
|
|
92
144
|
--k-radius-sm: 0;
|
|
93
145
|
--k-radius-md: 0;
|
|
146
|
+
--k-radius-control: 0;
|
|
147
|
+
--k-radius-overlay: 0;
|
|
94
148
|
--k-brand: #c9ff4a;
|
|
95
149
|
--k-brand-contrast: #11120f;
|
|
96
150
|
--k-bg: #11120f;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Copyright 2018 The Fraunces Project Authors (https://github.com/undercasetype/Fraunces)
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
This license is copied below, and is also available with a FAQ at:
|
|
5
|
+
http://scripts.sil.org/OFL
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
Copyright 2021 The Hanken Grotesk Project Authors (https://github.com/marcologous/hanken-grotesk)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
5
|
+
This license is copied below, and is also available with a FAQ at:
|
|
6
|
+
http://scripts.sil.org/OFL
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
-----------------------------------------------------------
|
|
10
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
11
|
+
-----------------------------------------------------------
|
|
12
|
+
|
|
13
|
+
PREAMBLE
|
|
14
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
15
|
+
development of collaborative font projects, to support the font creation
|
|
16
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
17
|
+
open framework in which fonts may be shared and improved in partnership
|
|
18
|
+
with others.
|
|
19
|
+
|
|
20
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
21
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
22
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
23
|
+
redistributed and/or sold with any software provided that any reserved
|
|
24
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
25
|
+
however, cannot be released under any other type of license. The
|
|
26
|
+
requirement for fonts to remain under this license does not apply
|
|
27
|
+
to any document created using the fonts or their derivatives.
|
|
28
|
+
|
|
29
|
+
DEFINITIONS
|
|
30
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
31
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
32
|
+
include source files, build scripts and documentation.
|
|
33
|
+
|
|
34
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
35
|
+
copyright statement(s).
|
|
36
|
+
|
|
37
|
+
"Original Version" refers to the collection of Font Software components as
|
|
38
|
+
distributed by the Copyright Holder(s).
|
|
39
|
+
|
|
40
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
41
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
42
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
43
|
+
new environment.
|
|
44
|
+
|
|
45
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
46
|
+
writer or other person who contributed to the Font Software.
|
|
47
|
+
|
|
48
|
+
PERMISSION & CONDITIONS
|
|
49
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
50
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
51
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
52
|
+
Software, subject to the following conditions:
|
|
53
|
+
|
|
54
|
+
1) Neither the Font Software nor any of its individual components,
|
|
55
|
+
in Original or Modified Versions, may be sold by itself.
|
|
56
|
+
|
|
57
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
58
|
+
redistributed and/or sold with any software, provided that each copy
|
|
59
|
+
contains the above copyright notice and this license. These can be
|
|
60
|
+
included either as stand-alone text files, human-readable headers or
|
|
61
|
+
in the appropriate machine-readable metadata fields within text or
|
|
62
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
63
|
+
|
|
64
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
65
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
66
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
67
|
+
presented to the users.
|
|
68
|
+
|
|
69
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
70
|
+
Software shall not be used to promote, endorse or advertise any
|
|
71
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
72
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
73
|
+
permission.
|
|
74
|
+
|
|
75
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
76
|
+
must be distributed entirely under this license, and must not be
|
|
77
|
+
distributed under any other license. The requirement for fonts to
|
|
78
|
+
remain under this license does not apply to any document created
|
|
79
|
+
using the Font Software.
|
|
80
|
+
|
|
81
|
+
TERMINATION
|
|
82
|
+
This license becomes null and void if any of the above conditions are
|
|
83
|
+
not met.
|
|
84
|
+
|
|
85
|
+
DISCLAIMER
|
|
86
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
87
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
88
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
89
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
90
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
91
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
92
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
93
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
94
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
Copyright © 2017 IBM Corp. with Reserved Font Name "Plex"
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
This license is copied below, and is also available with a FAQ at:
|
|
5
|
+
http://scripts.sil.org/OFL
|
|
6
|
+
|
|
7
|
+
-----------------------------------------------------------
|
|
8
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
9
|
+
-----------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
PREAMBLE
|
|
12
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
13
|
+
development of collaborative font projects, to support the font creation
|
|
14
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
15
|
+
open framework in which fonts may be shared and improved in partnership
|
|
16
|
+
with others.
|
|
17
|
+
|
|
18
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
19
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
20
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
21
|
+
redistributed and/or sold with any software provided that any reserved
|
|
22
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
23
|
+
however, cannot be released under any other type of license. The
|
|
24
|
+
requirement for fonts to remain under this license does not apply
|
|
25
|
+
to any document created using the fonts or their derivatives.
|
|
26
|
+
|
|
27
|
+
DEFINITIONS
|
|
28
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
29
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
30
|
+
include source files, build scripts and documentation.
|
|
31
|
+
|
|
32
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
33
|
+
copyright statement(s).
|
|
34
|
+
|
|
35
|
+
"Original Version" refers to the collection of Font Software components as
|
|
36
|
+
distributed by the Copyright Holder(s).
|
|
37
|
+
|
|
38
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
39
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
40
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
41
|
+
new environment.
|
|
42
|
+
|
|
43
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
44
|
+
writer or other person who contributed to the Font Software.
|
|
45
|
+
|
|
46
|
+
PERMISSION & CONDITIONS
|
|
47
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
48
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
49
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
50
|
+
Software, subject to the following conditions:
|
|
51
|
+
|
|
52
|
+
1) Neither the Font Software nor any of its individual components,
|
|
53
|
+
in Original or Modified Versions, may be sold by itself.
|
|
54
|
+
|
|
55
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
56
|
+
redistributed and/or sold with any software, provided that each copy
|
|
57
|
+
contains the above copyright notice and this license. These can be
|
|
58
|
+
included either as stand-alone text files, human-readable headers or
|
|
59
|
+
in the appropriate machine-readable metadata fields within text or
|
|
60
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
61
|
+
|
|
62
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
63
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
64
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
65
|
+
presented to the users.
|
|
66
|
+
|
|
67
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
68
|
+
Software shall not be used to promote, endorse or advertise any
|
|
69
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
70
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
71
|
+
permission.
|
|
72
|
+
|
|
73
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
74
|
+
must be distributed entirely under this license, and must not be
|
|
75
|
+
distributed under any other license. The requirement for fonts to
|
|
76
|
+
remain under this license does not apply to any document created
|
|
77
|
+
using the Font Software.
|
|
78
|
+
|
|
79
|
+
TERMINATION
|
|
80
|
+
This license becomes null and void if any of the above conditions are
|
|
81
|
+
not met.
|
|
82
|
+
|
|
83
|
+
DISCLAIMER
|
|
84
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
85
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
86
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
87
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
88
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
89
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
90
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
91
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
92
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Vendored brand faces
|
|
2
|
+
|
|
3
|
+
These woff2 files back the `--k-font-display`, `--k-font-ui` and `--k-font-mono` tokens.
|
|
4
|
+
They are self-hosted so a consumer with `default-src 'self'` — the right posture for a tool
|
|
5
|
+
that handles someone's documents — still renders the brand typography, and so no Kontour
|
|
6
|
+
surface makes a third-party request at render time.
|
|
7
|
+
|
|
8
|
+
`tokens/fonts.css` is generated from these files by `scripts/vendor-fonts.mjs`. Run that
|
|
9
|
+
script to refresh a family, weight, or upstream release; do not hand-edit `fonts.css`.
|
|
10
|
+
|
|
11
|
+
## What ships, and why
|
|
12
|
+
|
|
13
|
+
| Family | Token | Files | License |
|
|
14
|
+
| --- | --- | --- | --- |
|
|
15
|
+
| Fraunces | `--k-font-display` | `fraunces-{latin,latin-ext}.woff2` | [OFL 1.1](./OFL-Fraunces.txt) |
|
|
16
|
+
| Hanken Grotesk | `--k-font-ui` | `hanken-grotesk-{latin,latin-ext}.woff2` | [OFL 1.1](./OFL-HankenGrotesk.txt) |
|
|
17
|
+
| IBM Plex Mono | `--k-font-mono` | `ibm-plex-mono-{400,500,600}-{latin1,latin2}.woff2` | [OFL 1.1](./OFL-IBMPlexMono.txt) |
|
|
18
|
+
|
|
19
|
+
Fraunces and Hanken Grotesk are variable fonts, shipped as one file per unicode subset
|
|
20
|
+
covering the full `100 900` weight axis. Google serves the identical file for every weight
|
|
21
|
+
of a variable family, so vendoring the individual weights the tokens use would have shipped
|
|
22
|
+
the same bytes four and five times over — 496 KB instead of 124 KB for Fraunces alone.
|
|
23
|
+
Fraunces keeps its `opsz` axis variable so optical sizing still works at display sizes.
|
|
24
|
+
|
|
25
|
+
IBM Plex Mono has no variable release, so it ships as three static weights — 400, 500 and
|
|
26
|
+
600, the weights `tokens.css` and `react/styles.css` ask for.
|
|
27
|
+
|
|
28
|
+
Coverage is latin + latin-ext for every family (IBM's `Latin1` + `Latin2` subsets are the
|
|
29
|
+
equivalent split). Characters outside those ranges fall through to the fallback stacks
|
|
30
|
+
declared in `tokens.css`.
|
|
31
|
+
|
|
32
|
+
## Provenance
|
|
33
|
+
|
|
34
|
+
- **Fraunces**, **Hanken Grotesk** — the woff2 subsets Google Fonts serves, fetched from
|
|
35
|
+
`fonts.gstatic.com` with their `unicode-range` declarations taken verbatim from the
|
|
36
|
+
Google Fonts CSS. Neither family declares a Reserved Font Name, so the subsetting Google
|
|
37
|
+
applies carries no naming restriction.
|
|
38
|
+
- **IBM Plex Mono** — IBM's own published `@ibm/plex-mono` woff2 artifacts, unmodified.
|
|
39
|
+
IBM Plex reserves the font name "Plex", and OFL clause 5 restricts that name on modified
|
|
40
|
+
versions; taking IBM's own build rather than a re-subset copy keeps the family name
|
|
41
|
+
unambiguously licensed.
|
|
Binary file
|
|
Binary file
|
package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/hanken-grotesk-latin-ext.woff2
ADDED
|
Binary file
|
|
Binary file
|
package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/ibm-plex-mono-400-latin1.woff2
ADDED
|
Binary file
|
package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/ibm-plex-mono-400-latin2.woff2
ADDED
|
Binary file
|
package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/ibm-plex-mono-500-latin1.woff2
ADDED
|
Binary file
|
package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/ibm-plex-mono-500-latin2.woff2
ADDED
|
Binary file
|
package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/ibm-plex-mono-600-latin1.woff2
ADDED
|
Binary file
|
package/dist/src/review-workbench/vendor/kontourai-ui/tokens/fonts/ibm-plex-mono-600-latin2.woff2
ADDED
|
Binary file
|
|
@@ -1 +1,107 @@
|
|
|
1
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Self-hosted brand faces for the --k-font-* tokens.
|
|
3
|
+
*
|
|
4
|
+
* Generated by scripts/vendor-fonts.mjs — edit that script, not this file.
|
|
5
|
+
* No remote requests: a consumer with `default-src 'self'` gets the brand type.
|
|
6
|
+
* Licenses ship alongside the files in tokens/fonts/.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/* Fraunces · latin-ext */
|
|
10
|
+
@font-face {
|
|
11
|
+
font-family: "Fraunces";
|
|
12
|
+
font-style: normal;
|
|
13
|
+
font-weight: 100 900;
|
|
14
|
+
font-display: swap;
|
|
15
|
+
src: url("./fonts/fraunces-latin-ext.woff2") format("woff2");
|
|
16
|
+
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Fraunces · latin */
|
|
20
|
+
@font-face {
|
|
21
|
+
font-family: "Fraunces";
|
|
22
|
+
font-style: normal;
|
|
23
|
+
font-weight: 100 900;
|
|
24
|
+
font-display: swap;
|
|
25
|
+
src: url("./fonts/fraunces-latin.woff2") format("woff2");
|
|
26
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/* Hanken Grotesk · latin-ext */
|
|
30
|
+
@font-face {
|
|
31
|
+
font-family: "Hanken Grotesk";
|
|
32
|
+
font-style: normal;
|
|
33
|
+
font-weight: 100 900;
|
|
34
|
+
font-display: swap;
|
|
35
|
+
src: url("./fonts/hanken-grotesk-latin-ext.woff2") format("woff2");
|
|
36
|
+
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* Hanken Grotesk · latin */
|
|
40
|
+
@font-face {
|
|
41
|
+
font-family: "Hanken Grotesk";
|
|
42
|
+
font-style: normal;
|
|
43
|
+
font-weight: 100 900;
|
|
44
|
+
font-display: swap;
|
|
45
|
+
src: url("./fonts/hanken-grotesk-latin.woff2") format("woff2");
|
|
46
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* IBM Plex Mono 400 · Latin1 */
|
|
50
|
+
@font-face {
|
|
51
|
+
font-family: "IBM Plex Mono";
|
|
52
|
+
font-style: normal;
|
|
53
|
+
font-weight: 400;
|
|
54
|
+
font-display: swap;
|
|
55
|
+
src: url("./fonts/ibm-plex-mono-400-latin1.woff2") format("woff2");
|
|
56
|
+
unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* IBM Plex Mono 400 · Latin2 */
|
|
60
|
+
@font-face {
|
|
61
|
+
font-family: "IBM Plex Mono";
|
|
62
|
+
font-style: normal;
|
|
63
|
+
font-weight: 400;
|
|
64
|
+
font-display: swap;
|
|
65
|
+
src: url("./fonts/ibm-plex-mono-400-latin2.woff2") format("woff2");
|
|
66
|
+
unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* IBM Plex Mono 500 · Latin1 */
|
|
70
|
+
@font-face {
|
|
71
|
+
font-family: "IBM Plex Mono";
|
|
72
|
+
font-style: normal;
|
|
73
|
+
font-weight: 500;
|
|
74
|
+
font-display: swap;
|
|
75
|
+
src: url("./fonts/ibm-plex-mono-500-latin1.woff2") format("woff2");
|
|
76
|
+
unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* IBM Plex Mono 500 · Latin2 */
|
|
80
|
+
@font-face {
|
|
81
|
+
font-family: "IBM Plex Mono";
|
|
82
|
+
font-style: normal;
|
|
83
|
+
font-weight: 500;
|
|
84
|
+
font-display: swap;
|
|
85
|
+
src: url("./fonts/ibm-plex-mono-500-latin2.woff2") format("woff2");
|
|
86
|
+
unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/* IBM Plex Mono 600 · Latin1 */
|
|
90
|
+
@font-face {
|
|
91
|
+
font-family: "IBM Plex Mono";
|
|
92
|
+
font-style: normal;
|
|
93
|
+
font-weight: 600;
|
|
94
|
+
font-display: swap;
|
|
95
|
+
src: url("./fonts/ibm-plex-mono-600-latin1.woff2") format("woff2");
|
|
96
|
+
unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* IBM Plex Mono 600 · Latin2 */
|
|
100
|
+
@font-face {
|
|
101
|
+
font-family: "IBM Plex Mono";
|
|
102
|
+
font-style: normal;
|
|
103
|
+
font-weight: 600;
|
|
104
|
+
font-display: swap;
|
|
105
|
+
src: url("./fonts/ibm-plex-mono-600-latin2.woff2") format("woff2");
|
|
106
|
+
unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF;
|
|
107
|
+
}
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
--k-font-display: "Aptos Narrow", "DIN Condensed", "IBM Plex Sans Condensed", "Gill Sans", sans-serif;
|
|
10
10
|
--k-radius-sm: 0;
|
|
11
11
|
--k-radius-md: 0;
|
|
12
|
+
--k-radius-control: 0;
|
|
13
|
+
--k-radius-overlay: 0;
|
|
12
14
|
--k-brand: #c9ff4a;
|
|
13
15
|
--k-brand-contrast: #11120f;
|
|
14
16
|
--k-bg: #11120f;
|
|
@@ -8,6 +8,13 @@
|
|
|
8
8
|
--k-line: rgba(150, 180, 210, 0.12);
|
|
9
9
|
--k-line-strong: rgba(150, 180, 210, 0.22);
|
|
10
10
|
--k-shadow: 0 26px 60px -42px rgba(0, 0, 0, 0.95);
|
|
11
|
+
/* Layered, downward-weighted overlay elevation (contact -> ambient falloff).
|
|
12
|
+
The single shadow floating surfaces — dialogs, menus, palettes, toasts —
|
|
13
|
+
should use, so elevation tunes in one place. */
|
|
14
|
+
--k-elevation-overlay:
|
|
15
|
+
0 1px 2px rgba(0, 0, 0, 0.35),
|
|
16
|
+
0 12px 32px rgba(0, 0, 0, 0.45),
|
|
17
|
+
0 24px 56px rgba(0, 0, 0, 0.4);
|
|
11
18
|
|
|
12
19
|
/* text */
|
|
13
20
|
--k-text: #eef3f8;
|
|
@@ -40,6 +47,10 @@
|
|
|
40
47
|
/* radius */
|
|
41
48
|
--k-radius-sm: 9px;
|
|
42
49
|
--k-radius-md: 14px;
|
|
50
|
+
/* Tight, desktop-grade radii for dense product chrome (controls + overlays),
|
|
51
|
+
alongside the softer sm/md. */
|
|
52
|
+
--k-radius-control: 4px;
|
|
53
|
+
--k-radius-overlay: 10px;
|
|
43
54
|
|
|
44
55
|
/* type */
|
|
45
56
|
--k-text-xs: 11px;
|
|
@@ -57,6 +68,38 @@
|
|
|
57
68
|
/* motion */
|
|
58
69
|
--k-ease: cubic-bezier(0.22, 1, 0.36, 1);
|
|
59
70
|
--k-dur: 0.16s;
|
|
71
|
+
|
|
72
|
+
/* border width — replaces the ad-hoc calc(var(--k-space-1) / 4) math that
|
|
73
|
+
hairline borders computed inline across primitives. */
|
|
74
|
+
--k-border-thin: 1px;
|
|
75
|
+
--k-border-thick: 2px;
|
|
76
|
+
|
|
77
|
+
/* line-height — unitless ratios for display headings vs. body copy. */
|
|
78
|
+
--k-leading-tight: 1.1;
|
|
79
|
+
--k-leading-normal: 1.45;
|
|
80
|
+
--k-leading-loose: 1.7;
|
|
81
|
+
|
|
82
|
+
/* letter-spacing — eyebrows/badges track wide; body tracks normal. */
|
|
83
|
+
--k-tracking-tight: -0.01em;
|
|
84
|
+
--k-tracking-normal: 0;
|
|
85
|
+
--k-tracking-wide: 0.08em;
|
|
86
|
+
|
|
87
|
+
/* focus — one ring contract so every interactive primitive (controls,
|
|
88
|
+
buttons, links) shows the same keyboard-focus affordance. */
|
|
89
|
+
--k-focus-ring: var(--k-brand);
|
|
90
|
+
--k-focus-ring-width: 2px;
|
|
91
|
+
--k-focus-ring-offset: 2px;
|
|
92
|
+
|
|
93
|
+
/* z-index — semantic stacking scale for layered surfaces. Overlays read
|
|
94
|
+
these instead of inventing local magic numbers, so cross-product layering
|
|
95
|
+
stays consistent (a Flow toast never renders under a Console dialog). */
|
|
96
|
+
--k-z-base: 0;
|
|
97
|
+
--k-z-sticky: 100;
|
|
98
|
+
--k-z-dropdown: 1000;
|
|
99
|
+
--k-z-overlay: 1100;
|
|
100
|
+
--k-z-modal: 1200;
|
|
101
|
+
--k-z-popover: 1300;
|
|
102
|
+
--k-z-toast: 1400;
|
|
60
103
|
}
|
|
61
104
|
|
|
62
105
|
[data-theme="light"] {
|
|
@@ -67,9 +110,18 @@
|
|
|
67
110
|
--k-line: rgba(36, 40, 46, 0.12);
|
|
68
111
|
--k-line-strong: rgba(36, 40, 46, 0.20);
|
|
69
112
|
--k-shadow: 0 18px 50px -30px rgba(0, 0, 0, 0.25);
|
|
113
|
+
--k-elevation-overlay:
|
|
114
|
+
0 1px 2px rgba(0, 0, 0, 0.06),
|
|
115
|
+
0 8px 24px rgba(0, 0, 0, 0.1),
|
|
116
|
+
0 18px 48px rgba(0, 0, 0, 0.08);
|
|
70
117
|
--k-text: #202124;
|
|
71
118
|
--k-text-muted: #5b626b;
|
|
72
119
|
--k-text-faint: #707782;
|
|
120
|
+
/* The dark-mode brand (#5ce0c6) is too light to carry white text or read as
|
|
121
|
+
text on the light canvas (~1.6:1). Darken it for light mode: #0e7c64 holds
|
|
122
|
+
the teal hue while clearing WCAG AA both as a button fill (white text,
|
|
123
|
+
5.1:1) and as text on --k-bg (4.7:1). */
|
|
124
|
+
--k-brand: #0e7c64;
|
|
73
125
|
--k-brand-contrast: #ffffff;
|
|
74
126
|
--k-positive: #168257;
|
|
75
127
|
--k-caution: #8a5a00;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kontourai/survey",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.2",
|
|
4
4
|
"description": "Producer-side source, extraction, candidate, and review contracts for projecting verified claims into Surface.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -80,12 +80,12 @@
|
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
|
-
"@kontourai/traverse": "^0.
|
|
83
|
+
"@kontourai/traverse": "^0.25.0",
|
|
84
84
|
"@kontourai/ui": "^1.1.0",
|
|
85
|
-
"@playwright/test": "^1.
|
|
86
|
-
"@types/node": "^
|
|
87
|
-
"marked": "^
|
|
88
|
-
"typescript": "^
|
|
85
|
+
"@playwright/test": "^1.62.0",
|
|
86
|
+
"@types/node": "^26.1.2",
|
|
87
|
+
"marked": "^18.0.7",
|
|
88
|
+
"typescript": "^7.0.2"
|
|
89
89
|
},
|
|
90
90
|
"engines": {
|
|
91
91
|
"node": ">=22"
|