@atom63/resume 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/dist/chunk-FL25EF7U.js +384 -0
- package/dist/chunk-FL25EF7U.js.map +1 -0
- package/dist/editor/index.css +225 -0
- package/dist/editor/index.css.map +1 -0
- package/dist/editor/index.d.ts +35 -0
- package/dist/editor/index.js +127 -0
- package/dist/editor/index.js.map +1 -0
- package/dist/index.css +334 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +232 -0
- package/dist/index.js +638 -0
- package/dist/index.js.map +1 -0
- package/dist/vite/index.d.ts +26 -0
- package/dist/vite/index.js +73 -0
- package/dist/vite/index.js.map +1 -0
- package/package.json +108 -0
- package/src/styles/css-modules.d.ts +5 -0
- package/src/styles/document.css +170 -0
- package/src/styles/styles.css +9 -0
- package/src/styles/styles.d.ts +3 -0
- package/src/styles/tokens.css +48 -0
- package/src/styles/tokens.d.ts +3 -0
- package/src/styles/viewer.css +205 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/* Screen preview — keep letter layout stable on mobile browsers. */
|
|
2
|
+
#resume-print-target,
|
|
3
|
+
#resume-print-target * {
|
|
4
|
+
-webkit-text-size-adjust: none;
|
|
5
|
+
text-size-adjust: none;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
[data-resume-scale-root] {
|
|
9
|
+
transform-origin: top left;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* ResumeViewer chrome — the standalone component's own layout (toolbar +
|
|
13
|
+
scroll viewport + scaled page stage). Tailwind-free; the package ships these
|
|
14
|
+
classes so the viewer is self-styled. The neutral viewport background mirrors
|
|
15
|
+
the old muted canvas; the page frames come from the document and paper tokens
|
|
16
|
+
defined in tokens.css and document.css. */
|
|
17
|
+
.resume-viewer {
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
height: 100%;
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.resume-viewer-toolbar {
|
|
25
|
+
display: flex;
|
|
26
|
+
align-items: center;
|
|
27
|
+
justify-content: space-between;
|
|
28
|
+
gap: 0.75rem;
|
|
29
|
+
padding: 0.375rem 0.75rem;
|
|
30
|
+
border-bottom: 1px solid rgb(0 0 0 / 0.08);
|
|
31
|
+
background: #fff;
|
|
32
|
+
flex: 0 0 auto;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.resume-viewer-pagecount {
|
|
36
|
+
font-size: 0.8125rem;
|
|
37
|
+
color: rgb(0 0 0 / 0.55);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.resume-viewer-controls {
|
|
41
|
+
display: flex;
|
|
42
|
+
align-items: center;
|
|
43
|
+
gap: 0.25rem;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.resume-viewer-btn-group {
|
|
47
|
+
display: flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.resume-viewer-btn {
|
|
52
|
+
display: inline-flex;
|
|
53
|
+
align-items: center;
|
|
54
|
+
justify-content: center;
|
|
55
|
+
height: 2rem;
|
|
56
|
+
min-width: 2rem;
|
|
57
|
+
padding: 0 0.375rem;
|
|
58
|
+
border: 0;
|
|
59
|
+
border-radius: 0.375rem;
|
|
60
|
+
background: transparent;
|
|
61
|
+
color: rgb(0 0 0 / 0.7);
|
|
62
|
+
font-size: 0.8125rem;
|
|
63
|
+
cursor: pointer;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.resume-viewer-btn:hover:not(:disabled) {
|
|
67
|
+
background: rgb(0 0 0 / 0.06);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.resume-viewer-btn:disabled {
|
|
71
|
+
opacity: 0.4;
|
|
72
|
+
cursor: default;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.resume-viewer-btn-active {
|
|
76
|
+
background: rgb(0 0 0 / 0.08);
|
|
77
|
+
color: rgb(0 0 0 / 0.9);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.resume-viewer-btn-text {
|
|
81
|
+
padding: 0 0.625rem;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.resume-viewer-zoom-label {
|
|
85
|
+
display: inline-flex;
|
|
86
|
+
align-items: center;
|
|
87
|
+
justify-content: center;
|
|
88
|
+
height: 2rem;
|
|
89
|
+
width: 3rem;
|
|
90
|
+
border: 0;
|
|
91
|
+
border-radius: 0.375rem;
|
|
92
|
+
background: transparent;
|
|
93
|
+
color: rgb(0 0 0 / 0.55);
|
|
94
|
+
font-size: 0.8125rem;
|
|
95
|
+
font-variant-numeric: tabular-nums;
|
|
96
|
+
cursor: pointer;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.resume-viewer-zoom-label:hover {
|
|
100
|
+
background: rgb(0 0 0 / 0.06);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.resume-viewer-icon {
|
|
104
|
+
width: 1rem;
|
|
105
|
+
height: 1rem;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.resume-viewer-scroll {
|
|
109
|
+
flex: 1 1 auto;
|
|
110
|
+
min-height: 0;
|
|
111
|
+
overflow: auto;
|
|
112
|
+
background: rgb(244 244 245);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.resume-viewer-scroll-grab {
|
|
116
|
+
cursor: grab;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.resume-viewer-scroll-grabbing {
|
|
120
|
+
cursor: grabbing;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.resume-viewer-scroll-mobile {
|
|
124
|
+
touch-action: none;
|
|
125
|
+
user-select: none;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.resume-viewer-stage {
|
|
129
|
+
margin-top: 1.5rem;
|
|
130
|
+
margin-bottom: 1.5rem;
|
|
131
|
+
padding-left: 1rem;
|
|
132
|
+
padding-right: 1rem;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.resume-viewer-page-box {
|
|
136
|
+
margin-left: auto;
|
|
137
|
+
margin-right: auto;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.resume-viewer-scale-root {
|
|
141
|
+
position: relative;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.resume-viewer-content {
|
|
145
|
+
position: relative;
|
|
146
|
+
display: flex;
|
|
147
|
+
flex-direction: column;
|
|
148
|
+
color: #000;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
[data-slot="scroll-area-viewport"][data-pan-active],
|
|
152
|
+
.resume-viewer-scroll[data-pan-active] {
|
|
153
|
+
background-color: color-mix(in oklch, var(--muted) 42%, transparent);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
@media (prefers-reduced-motion: reduce) {
|
|
157
|
+
[data-slot="scroll-area-viewport"][data-pan-active],
|
|
158
|
+
.resume-viewer-scroll[data-pan-active] {
|
|
159
|
+
transition: none;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
#resume-print-target a,
|
|
164
|
+
#resume-print-target button {
|
|
165
|
+
touch-action: manipulation;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
@media print {
|
|
169
|
+
/* Body children are hidden/restored via JS (beforeprint/afterprint)
|
|
170
|
+
to preserve <style>/<link>/<script> tags. */
|
|
171
|
+
|
|
172
|
+
/* Hard isolation: while the resume's print clone exists, hide every other
|
|
173
|
+
direct body child (other app windows, stray clones) regardless of JS
|
|
174
|
+
hide-ordering across apps. Scoped to the clone's presence so it never
|
|
175
|
+
affects another app's print. */
|
|
176
|
+
body:has(#resume-print-clone) > :not(#resume-print-clone) {
|
|
177
|
+
display: none !important;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/* The clone is a plain wrapper around the engine's real 8.5x11 page frames
|
|
181
|
+
(a direct child of body — no positioning needed). */
|
|
182
|
+
#resume-print-clone {
|
|
183
|
+
color: black !important;
|
|
184
|
+
background: white !important;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/* Frames stack with a screen-only gap; remove it so each maps 1:1 to a page. */
|
|
188
|
+
#resume-print-clone > div {
|
|
189
|
+
gap: 0 !important;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
[data-resume-page] {
|
|
193
|
+
box-shadow: none !important;
|
|
194
|
+
break-after: page;
|
|
195
|
+
break-inside: avoid;
|
|
196
|
+
}
|
|
197
|
+
[data-resume-page]:last-child {
|
|
198
|
+
break-after: auto;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
@page {
|
|
202
|
+
size: letter;
|
|
203
|
+
margin: 0;
|
|
204
|
+
}
|
|
205
|
+
}
|