@hanology/cham-browser 0.4.24 → 0.4.26

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanology/cham-browser",
3
- "version": "0.4.24",
3
+ "version": "0.4.26",
4
4
  "description": "CHAM — browser-compatible parser, serializer, and site generator for Classical Han Annotated Markdown",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -432,30 +432,17 @@ onBeforeUnmount(() => {
432
432
  }
433
433
 
434
434
  /* ─── Vertical mode ─── */
435
- .ann-pane.vertical {
436
- writing-mode: vertical-rl;
437
- text-orientation: mixed;
438
- }
439
-
440
- .ann-pane.vertical .ann-pane-body {
441
- display: flex;
442
- flex-direction: row;
443
- overflow-y: auto;
444
- overflow-x: hidden;
445
- }
435
+ /* Pane stays in horizontal-tb; only the headword uses vertical-rl */
446
436
 
447
437
  .ann-pane.vertical .ann-pane-entry {
448
438
  display: flex;
449
- flex-direction: column;
450
- padding: 10px 6px;
451
- border-bottom: none;
439
+ flex-direction: row-reverse;
440
+ gap: 8px;
441
+ align-items: flex-start;
442
+ border-left: none;
452
443
  border-right: 3px solid transparent;
453
444
  }
454
445
 
455
- .ann-pane.vertical .ann-pane-entry + .ann-pane-entry {
456
- border-top: 1px solid var(--border-light);
457
- }
458
-
459
446
  .ann-pane.vertical .ann-pane-entry.active {
460
447
  border-right-color: var(--vermillion);
461
448
  }
@@ -464,16 +451,22 @@ onBeforeUnmount(() => {
464
451
  border-right-color: var(--jade);
465
452
  }
466
453
 
467
- /* Vertical headword on the right (first in vertical-rl reading order) */
454
+ .ann-pane.vertical .ann-pane-entry-main {
455
+ flex: 1;
456
+ min-width: 0;
457
+ }
458
+
459
+ /* Vertical headword — only this element uses vertical writing */
468
460
  .ann-pane-v-word {
469
461
  writing-mode: vertical-rl;
470
462
  text-orientation: upright;
471
463
  display: flex;
472
- flex-direction: column;
464
+ flex-direction: row;
473
465
  align-items: center;
474
466
  gap: 6px;
475
- padding: 6px 8px;
467
+ padding: 0 8px;
476
468
  border-left: 1px solid var(--border-light);
469
+ flex-shrink: 0;
477
470
  }
478
471
 
479
472
  .ann-pane-word-v {
@@ -495,31 +488,29 @@ onBeforeUnmount(() => {
495
488
  color: var(--jade);
496
489
  }
497
490
 
498
- .ann-pane.vertical .ann-pane-entry-head {
499
- flex-direction: row;
500
- gap: 4px;
501
- }
502
-
503
491
  .ann-pane.vertical .ann-pane-text {
504
492
  line-height: 2;
505
493
  letter-spacing: 1px;
506
494
  }
507
495
 
508
- .ann-pane.vertical .ann-pane-header {
509
- flex-direction: row;
510
- }
511
-
512
- .ann-pane.vertical .ann-pane-close {
513
- writing-mode: horizontal-tb;
514
- }
515
-
516
- .ann-pane.vertical .ann-pane-handle {
517
- writing-mode: horizontal-tb;
518
- }
519
-
520
496
  @media (max-width: 768px) {
497
+ .ann-pane.vertical {
498
+ width: 80vw !important;
499
+ height: 100vh !important;
500
+ max-height: none !important;
501
+ top: 0 !important;
502
+ bottom: auto !important;
503
+ border-right: 1px solid var(--border) !important;
504
+ border-top: none !important;
505
+ border-radius: 0 !important;
506
+ box-shadow: 4px 0 24px rgba(var(--shadow-rgb), 0.06) !important;
507
+ }
521
508
  .ann-pane.vertical .ann-pane-handle {
522
- display: none;
509
+ display: flex !important;
510
+ }
511
+ .ann-pane.vertical.ann-pane-enter-from,
512
+ .ann-pane.vertical.ann-pane-leave-to {
513
+ transform: translateX(-100%) !important;
523
514
  }
524
515
  }
525
516
  </style>
@@ -181,6 +181,7 @@ onBeforeUnmount(() => {
181
181
  .ann-card-head,
182
182
  .ann-sheet-head {
183
183
  display: flex;
184
+ flex-direction: row;
184
185
  align-items: center;
185
186
  justify-content: space-between;
186
187
  padding: 10px 14px;
@@ -420,6 +421,7 @@ onBeforeUnmount(() => {
420
421
  }
421
422
 
422
423
  .ann-card.vertical .ann-card-head {
424
+ writing-mode: horizontal-tb;
423
425
  padding: 10px 6px;
424
426
  border-bottom: none;
425
427
  border-left: 1px solid var(--border-light);
@@ -385,13 +385,13 @@ function tcy(n: number): string {
385
385
  </section>
386
386
 
387
387
  <div class="v-inline-nav">
388
- <button v-if="adjacent.next !== null" class="v-inav" @click="navigate(1)" :title="t('piece.next')">
389
-
390
- </button>
391
- <span v-else class="v-inav-spacer" />
392
388
  <button v-if="adjacent.prev !== null" class="v-inav" @click="navigate(-1)" :title="t('piece.previous')">
393
389
 
394
390
  </button>
391
+ <span v-else class="v-inav-spacer" />
392
+ <button v-if="adjacent.next !== null" class="v-inav" @click="navigate(1)" :title="t('piece.next')">
393
+
394
+ </button>
395
395
  </div>
396
396
 
397
397
  <section v-if="isMultiPart" class="v-poem-col v-multipart">