@zerohive/hive-viewer 0.2.2 → 0.2.4

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/styles.css CHANGED
@@ -77,36 +77,397 @@
77
77
  .hv-root[data-hv-theme="light"]{--hv-bg:#f8fafc;--hv-fg:#0f172a;--hv-muted:#64748b;--hv-panel:#ffffff;--hv-border:rgba(15,23,42,.12);--hv-btn:rgba(15,23,42,.06);--hv-btnh:rgba(15,23,42,.10)}
78
78
  .hv-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--hv-panel);border-bottom:1px solid var(--hv-border)}
79
79
  .hv-tgroup{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
80
- .hv-btn{display:inline-flex;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;border:1px solid var(--hv-border);background:var(--hv-btn);color:var(--hv-fg);cursor:pointer;font-size:13px}
81
- .hv-btn:hover{background:var(--hv-btnh)}
82
- .hv-btn:disabled{opacity:.5;cursor:not-allowed}
83
- .hv-btn--active{outline:2px solid rgba(99,102,241,.6)}
80
+ .hv-btn {
81
+ display: inline-flex;
82
+ gap: 8px;
83
+ align-items: center;
84
+ padding: 9px 16px;
85
+ border-radius: 10px;
86
+ border: 1.5px solid var(--hv-border);
87
+ background: var(--hv-btn);
88
+ color: var(--hv-fg);
89
+ cursor: pointer;
90
+ font-size: 1rem;
91
+ font-weight: 500;
92
+ letter-spacing: 0.01em;
93
+ box-shadow: 0 1px 2px 0 rgba(0,0,0,0.03);
94
+ transition: background 0.18s, border 0.18s, box-shadow 0.18s;
95
+ }
96
+ .hv-btn:hover, .hv-btn:focus {
97
+ background: var(--hv-btnh);
98
+ border-color: var(--hv-border);
99
+ box-shadow: 0 2px 8px 0 rgba(99,102,241,0.08);
100
+ }
101
+ .hv-btn:disabled {
102
+ opacity: 0.5;
103
+ cursor: not-allowed;
104
+ box-shadow: none;
105
+ }
106
+ .hv-btn--active {
107
+ outline: 2px solid #6366f1;
108
+ background: rgba(99,102,241,0.10);
109
+ border-color: #6366f1;
110
+ }
111
+ .hv-btn--primary {
112
+ background: linear-gradient(90deg, #6366f1 0%, #818cf8 100%);
113
+ color: #fff;
114
+ border: none;
115
+ box-shadow: 0 2px 8px 0 rgba(99,102,241,0.10);
116
+ font-weight: 600;
117
+ transition: background 0.18s, box-shadow 0.18s;
118
+ }
119
+ .hv-btn--primary:hover, .hv-btn--primary:focus {
120
+ background: linear-gradient(90deg, #4f46e5 0%, #6366f1 100%);
121
+ color: #fff;
122
+ box-shadow: 0 4px 16px 0 rgba(99,102,241,0.16);
123
+ }
124
+ .hv-sep {
125
+ display: inline-block;
126
+ width: 1.5px;
127
+ height: 28px;
128
+ background: var(--hv-border);
129
+ margin: 0 10px;
130
+ border-radius: 2px;
131
+ vertical-align: middle;
132
+ }
84
133
  .hv-shell{display:flex;min-height:640px}
85
- .hv-thumbs{width:240px;flex:0 0 auto;background:var(--hv-panel);border-right:1px solid var(--hv-border);display:flex;flex-direction:column}
86
- .hv-thumbs--collapsed{width:40px}
87
- .hv-thumbs-h{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--hv-border)}
88
- .hv-thumbs-list{overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px}
89
- .hv-thumb{display:flex;gap:10px;align-items:center;padding:8px;border-radius:12px;border:1px solid var(--hv-border);background:rgba(0,0,0,.08);color:var(--hv-fg);cursor:pointer;text-align:left}
90
- .hv-root[data-hv-theme="light"] .hv-thumb{background:rgba(15,23,42,.03)}
91
- .hv-thumb--active{outline:2px solid rgba(99,102,241,.6)}
92
- .hv-thumbimg{width:56px;height:72px;border-radius:10px;border:1px solid var(--hv-border);background:rgba(0,0,0,.12);overflow:hidden;display:grid;place-items:center}
93
- .hv-thumbimg img{width:100%;height:100%;object-fit:cover}
134
+
135
+ /* Thumbnails Sidebar Modern Redesign */
136
+ .hv-thumbs {
137
+ width: 240px;
138
+ flex: 0 0 auto;
139
+ background: var(--hv-panel);
140
+ border-right: 1px solid var(--hv-border);
141
+ display: flex;
142
+ flex-direction: column;
143
+ transition: width 0.25s cubic-bezier(.4,1,.4,1);
144
+ box-shadow: 2px 0 8px 0 rgba(0,0,0,0.04);
145
+ }
146
+ .hv-thumbs--collapsed {
147
+ width: 44px;
148
+ min-width: 44px;
149
+ transition: width 0.25s cubic-bezier(.4,1,.4,1);
150
+ }
151
+ .hv-thumbs-header {
152
+ display: flex;
153
+ align-items: center;
154
+ gap: 8px;
155
+ padding: 12px 10px 10px 10px;
156
+ border-bottom: 1px solid var(--hv-border);
157
+ background: var(--hv-panel);
158
+ min-height: 48px;
159
+ }
160
+ .hv-thumbs-toggle {
161
+ background: none;
162
+ border: none;
163
+ color: var(--hv-muted);
164
+ font-size: 1.5rem;
165
+ cursor: pointer;
166
+ padding: 0 4px;
167
+ border-radius: 8px;
168
+ transition: background 0.15s;
169
+ }
170
+ .hv-thumbs-toggle:hover, .hv-thumbs-toggle:focus {
171
+ background: var(--hv-btnh);
172
+ color: var(--hv-fg);
173
+ }
174
+ .hv-thumbs-toggle-icon {
175
+ display: flex;
176
+ align-items: center;
177
+ justify-content: center;
178
+ }
179
+ .hv-thumbs-title {
180
+ font-weight: 600;
181
+ /* DocumentViewer Modern Layout Polish */
182
+ .hv-root {
183
+ --hv-bg: #0b1020;
184
+ --hv-fg: #e5e7eb;
185
+ --hv-muted: #9ca3af;
186
+ --hv-panel: #0f172a;
187
+ --hv-border: rgba(255,255,255,.10);
188
+ --hv-btn: rgba(255,255,255,.06);
189
+ --hv-btnh: rgba(255,255,255,.10);
190
+ background: linear-gradient(120deg, #181c2a 0%, #232a3d 100%);
191
+ color: var(--hv-fg);
192
+ border: 1px solid var(--hv-border);
193
+ border-radius: 18px;
194
+ overflow: hidden;
195
+ box-shadow: 0 8px 32px rgba(0,0,0,0.18), 0 1.5px 8px rgba(99,102,241,0.04);
196
+ transition: box-shadow 0.18s, background 0.18s;
197
+ }
198
+ .hv-root[data-hv-theme="light"] {
199
+ --hv-bg: #f8fafc;
200
+ --hv-fg: #0f172a;
201
+ --hv-muted: #64748b;
202
+ --hv-panel: #ffffff;
203
+ --hv-border: rgba(15,23,42,.12);
204
+ --hv-btn: rgba(15,23,42,.06);
205
+ --hv-btnh: rgba(15,23,42,.10);
206
+ background: linear-gradient(120deg, #f8fafc 0%, #e8eef6 100%);
207
+ box-shadow: 0 8px 32px rgba(15,23,42,0.10), 0 1.5px 8px rgba(99,102,241,0.04);
208
+ }
209
+ .hv-toolbar {
210
+ display: flex;
211
+ gap: 10px;
212
+ align-items: center;
213
+ justify-content: space-between;
214
+ padding: 14px 18px 12px 18px;
215
+ background: var(--hv-panel);
216
+ border-bottom: 1.5px solid var(--hv-border);
217
+ box-shadow: 0 1.5px 8px 0 rgba(99,102,241,0.03);
218
+ min-height: 56px;
219
+ transition: background 0.18s, box-shadow 0.18s;
220
+ }
221
+ .hv-shell {
222
+ display: flex;
223
+ min-height: 640px;
224
+ background: none;
225
+ transition: background 0.18s;
226
+ }
227
+ .hv-main {
228
+ flex: 1;
229
+ min-width: 0;
230
+ background: linear-gradient(120deg, #181c2a 0%, #232a3d 100%);
231
+ padding: 0 0 0 0;
232
+ display: flex;
233
+ flex-direction: column;
234
+ align-items: stretch;
235
+ transition: background 0.18s;
236
+ }
237
+ .hv-root[data-hv-theme="light"] .hv-main {
238
+ background: linear-gradient(120deg, #f8fafc 0%, #e8eef6 100%);
239
+ }
240
+ font-size: 1.08rem;
241
+ color: var(--hv-fg);
242
+ margin-left: 8px;
243
+ letter-spacing: 0.01em;
244
+ }
245
+ .hv-thumbs-list {
246
+ overflow-y: auto;
247
+ padding: 12px 8px 12px 8px;
248
+ display: flex;
249
+ flex-direction: column;
250
+ gap: 10px;
251
+ }
252
+ .hv-thumb {
253
+ display: flex;
254
+ gap: 10px;
255
+ align-items: center;
256
+ padding: 7px 8px;
257
+ border-radius: 10px;
258
+ border: 1.5px solid transparent;
259
+ background: var(--hv-btn);
260
+ color: var(--hv-fg);
261
+ cursor: pointer;
262
+ text-align: left;
263
+ transition: background 0.18s, border 0.18s, box-shadow 0.18s;
264
+ box-shadow: 0 1px 2px 0 rgba(0,0,0,0.03);
265
+ min-height: 56px;
266
+ }
267
+ .hv-thumb:hover, .hv-thumb:focus {
268
+ background: var(--hv-btnh);
269
+ border-color: var(--hv-border);
270
+ box-shadow: 0 2px 8px 0 rgba(99,102,241,0.08);
271
+ }
272
+ .hv-thumb--active {
273
+ border-color: #6366f1;
274
+ background: rgba(99,102,241,0.10);
275
+ box-shadow: 0 2px 12px 0 rgba(99,102,241,0.10);
276
+ }
277
+ .hv-thumb-img {
278
+ width: 48px;
279
+ height: 64px;
280
+ border-radius: 8px;
281
+ border: 1px solid var(--hv-border);
282
+ background: rgba(0,0,0,.10);
283
+ overflow: hidden;
284
+ display: grid;
285
+ place-items: center;
286
+ }
287
+ .hv-thumb-img img {
288
+ width: 100%;
289
+ height: 100%;
290
+ object-fit: cover;
291
+ border-radius: 8px;
292
+ }
293
+ .hv-thumb-placeholder {
294
+ width: 100%;
295
+ height: 100%;
296
+ background: linear-gradient(135deg, #e5e7eb 40%, #f1f5f9 100%);
297
+ border-radius: 8px;
298
+ }
299
+ .hv-thumb-label {
300
+ font-size: 0.98rem;
301
+ color: var(--hv-fg);
302
+ font-weight: 500;
303
+ white-space: nowrap;
304
+ overflow: hidden;
305
+ text-overflow: ellipsis;
306
+ max-width: 110px;
307
+ }
94
308
  .hv-main{flex:1;min-width:0;background:var(--hv-bg)}
95
309
  .hv-doc{height:100%;overflow:auto;padding:18px;box-sizing:border-box}
96
310
  .hv-pages{display:flex;gap:16px;justify-content:center;align-items:flex-start;flex-wrap:wrap}
97
311
  .hv-pages--two{flex-wrap:nowrap}
98
- .hv-page{background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);position:relative}
99
- .hv-root[data-hv-theme="light"] .hv-page{box-shadow:0 10px 30px rgba(15,23,42,.12)}
312
+ .hv-page:hover, .hv-page:focus {
313
+ box-shadow: 0 16px 48px rgba(99,102,241,0.13), 0 10px 30px rgba(0,0,0,.25);
314
+ transform: translateY(-2px) scale(1.01);
315
+ }
316
+ .hv-root[data-hv-theme="light"] .hv-page {
317
+ box-shadow: 0 10px 30px rgba(15,23,42,.12);
318
+ }
100
319
  .hv-canvas{display:block}
101
320
  .hv-loading{padding:18px;color:var(--hv-muted)}
102
321
  .hv-error{padding:16px;color:#fecaca}
103
- .hv-side{width:300px;background:var(--hv-panel);border-left:1px solid var(--hv-border);display:flex;flex-direction:column}
104
- .hv-side--collapsed{width:40px}
105
- .hv-side-h{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--hv-border)}
106
- .hv-side-body{overflow:auto;padding:10px;display:flex;flex-direction:column;gap:10px}
107
- .hv-sig{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:12px;border:1px solid var(--hv-border);background:rgba(0,0,0,.08)}
108
- .hv-root[data-hv-theme="light"] .hv-sig{background:rgba(15,23,42,.03)}
109
- .hv-sig img{width:92px;height:auto;border-radius:10px;border:1px solid var(--hv-border);background:#fff}
322
+
323
+ /* Renderers Modern Polish */
324
+ .hv-doc {
325
+ height: 100%;
326
+ overflow: auto;
327
+ padding: 24px 18px 24px 18px;
328
+ box-sizing: border-box;
329
+ background: none;
330
+ transition: background 0.18s;
331
+ }
332
+ .hv-pages {
333
+ display: flex;
334
+ gap: 24px;
335
+ justify-content: center;
336
+ align-items: flex-start;
337
+ flex-wrap: wrap;
338
+ margin-top: 8px;
339
+ margin-bottom: 8px;
340
+ transition: gap 0.18s;
341
+ }
342
+ .hv-pages--two {
343
+ flex-wrap: nowrap;
344
+ }
345
+ .hv-page {
346
+ background: #fff;
347
+ border-radius: 14px;
348
+ box-shadow: 0 10px 30px rgba(0,0,0,.25);
349
+ position: relative;
350
+ transition: box-shadow 0.18s, transform 0.18s;
351
+ }
352
+ .hv-page:hover, .hv-page:focus {
353
+ box-shadow: 0 16px 48px rgba(99,102,241,0.13), 0 10px 30px rgba(0,0,0,.25);
354
+ transform: translateY(-2px) scale(1.01);
355
+ }
356
+ .hv-root[data-hv-theme="light"] .hv-page {
357
+ box-shadow: 0 10px 30px rgba(15,23,42,.12);
358
+ }
359
+ .hv-canvas {
360
+ display: block;
361
+ border-radius: 10px;
362
+ box-shadow: 0 2px 8px 0 rgba(99,102,241,0.08);
363
+ transition: box-shadow 0.18s;
364
+ }
365
+ .hv-loading {
366
+ padding: 18px;
367
+ color: var(--hv-muted);
368
+ }
369
+ .hv-error {
370
+ padding: 16px;
371
+ color: #fecaca;
372
+ }
373
+ /* SignaturePanel Modern Redesign */
374
+ .hv-side {
375
+ width: 320px;
376
+ background: var(--hv-panel);
377
+ border-left: 1.5px solid var(--hv-border);
378
+ display: flex;
379
+ flex-direction: column;
380
+ transition: width 0.25s cubic-bezier(.4,1,.4,1);
381
+ box-shadow: -2px 0 8px 0 rgba(0,0,0,0.04);
382
+ }
383
+ .hv-side--collapsed {
384
+ width: 44px;
385
+ min-width: 44px;
386
+ transition: width 0.25s cubic-bezier(.4,1,.4,1);
387
+ }
388
+ .hv-sidebar-header {
389
+ display: flex;
390
+ align-items: center;
391
+ gap: 10px;
392
+ padding: 14px 12px 10px 12px;
393
+ border-bottom: 1.5px solid var(--hv-border);
394
+ background: var(--hv-panel);
395
+ min-height: 48px;
396
+ }
397
+ .hv-icon {
398
+ background: none;
399
+ border: none;
400
+ color: var(--hv-muted);
401
+ font-size: 1.5rem;
402
+ cursor: pointer;
403
+ padding: 0 4px;
404
+ border-radius: 8px;
405
+ transition: background 0.15s;
406
+ }
407
+ .hv-icon:hover, .hv-icon:focus {
408
+ background: var(--hv-btnh);
409
+ color: var(--hv-fg);
410
+ }
411
+ .hv-sidebar-title {
412
+ font-weight: 600;
413
+ font-size: 1.08rem;
414
+ color: var(--hv-fg);
415
+ letter-spacing: 0.01em;
416
+ }
417
+ .hv-sidebar-body {
418
+ overflow-y: auto;
419
+ padding: 14px 10px 14px 10px;
420
+ display: flex;
421
+ flex-direction: column;
422
+ gap: 14px;
423
+ }
424
+ .hv-signature-card {
425
+ display: flex;
426
+ gap: 12px;
427
+ align-items: flex-start;
428
+ padding: 10px 12px;
429
+ border-radius: 12px;
430
+ border: 1.5px solid var(--hv-border);
431
+ background: var(--hv-btn);
432
+ box-shadow: 0 1px 2px 0 rgba(0,0,0,0.03);
433
+ transition: background 0.18s, border 0.18s, box-shadow 0.18s;
434
+ }
435
+ .hv-signature-card:hover, .hv-signature-card:focus {
436
+ background: var(--hv-btnh);
437
+ border-color: var(--hv-border);
438
+ box-shadow: 0 2px 8px 0 rgba(99,102,241,0.08);
439
+ }
440
+ .hv-signature-img {
441
+ width: 92px;
442
+ height: 48px;
443
+ object-fit: contain;
444
+ border-radius: 8px;
445
+ border: 1px solid var(--hv-border);
446
+ background: #fff;
447
+ box-shadow: 0 1px 4px 0 rgba(0,0,0,0.04);
448
+ }
449
+ .hv-signature-meta {
450
+ display: flex;
451
+ flex-direction: column;
452
+ gap: 2px;
453
+ min-width: 0;
454
+ }
455
+ .hv-signature-name {
456
+ font-weight: 600;
457
+ color: var(--hv-fg);
458
+ font-size: 1.01rem;
459
+ margin-bottom: 2px;
460
+ }
461
+ .hv-signature-date {
462
+ color: var(--hv-muted);
463
+ font-size: 0.92rem;
464
+ }
465
+ .hv-signature-comment {
466
+ color: var(--hv-fg);
467
+ font-size: 0.97rem;
468
+ margin-top: 2px;
469
+ opacity: 0.85;
470
+ }
110
471
  .hv-editorWrap{max-width:900px;margin:0 auto}
111
472
  .hv-ribbon{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 auto 12px auto;max-width:900px}
112
473
  .hv-editor{background:#fff;border-radius:14px;min-height:720px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:36px 48px;outline:none}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerohive/hive-viewer",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -56,4 +56,4 @@
56
56
  "build": "tsup && cp dist/index.js dist/index.mjs && cp src/styles/hiveviewer.css dist/styles.css",
57
57
  "dev": "tsup src/index.tsx --format esm --watch"
58
58
  }
59
- }
59
+ }