@somecat/epub-reader 0.1.5 → 0.1.6

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/react.cjs CHANGED
@@ -259,6 +259,7 @@ var icons = {
259
259
  x: '<path d="M18 6L6 18M6 6l12 12" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',
260
260
  type: '<path d="M4 7V4h16v3M9 20h6M12 4v16" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',
261
261
  sliders: '<path d="M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',
262
+ progress: '<g transform="scale(0.0234375)"><path fill="currentColor" d="M835.79 610.26a25.38 25.38 0 1 1 0-50.77h129.77a25.38 25.38 0 0 1 0 50.77zM58.23 606.63a25.38 25.38 0 1 1 0-50.77h64.87a25.38 25.38 0 1 1 0 50.77z"/><path fill="currentColor" d="M479.73 264.12C627.34 264.12 747 383.78 747 531.39S627.34 798.66 479.73 798.66 212.46 679 212.46 531.39s119.66-267.27 267.27-267.27m0-46a312.43 312.43 0 1 0 122 24.64 311.35 311.35 0 0 0-122-24.64z"/></g>',
262
263
  settings: '<path fill="currentColor" fill-rule="evenodd" d="M12.563 3.2h-1.126l-.645 2.578l-.647.2a6.3 6.3 0 0 0-1.091.452l-.599.317l-2.28-1.368l-.796.797l1.368 2.28l-.317.598a6.3 6.3 0 0 0-.453 1.091l-.199.647l-2.578.645v1.126l2.578.645l.2.647q.173.568.452 1.091l.317.599l-1.368 2.28l.797.796l2.28-1.368l.598.317q.523.278 1.091.453l.647.199l.645 2.578h1.126l.645-2.578l.647-.2a6.3 6.3 0 0 0 1.091-.452l.599-.317l2.28 1.368l.796-.797l-1.368-2.28l.317-.598q.278-.523.453-1.091l.199-.647l2.578-.645v-1.126l-2.578-.645l-.2-.647a6.3 6.3 0 0 0-.452-1.091l-.317-.599l1.368-2.28l-.797-.796l-2.28 1.368l-.598-.317a6.3 6.3 0 0 0-1.091-.453l-.647-.199zm2.945 2.17l1.833-1.1a1 1 0 0 1 1.221.15l1.018 1.018a1 1 0 0 1 .15 1.221l-1.1 1.833q.33.62.54 1.3l2.073.519a1 1 0 0 1 .757.97v1.438a1 1 0 0 1-.757.97l-2.073.519q-.21.68-.54 1.3l1.1 1.833a1 1 0 0 1-.15 1.221l-1.018 1.018a1 1 0 0 1-1.221.15l-1.833-1.1q-.62.33-1.3.54l-.519 2.073a1 1 0 0 1-.97.757h-1.438a1 1 0 0 1-.97-.757l-.519-2.073a7.5 7.5 0 0 1-1.3-.54l-1.833 1.1a1 1 0 0 1-1.221-.15L4.42 18.562a1 1 0 0 1-.15-1.221l1.1-1.833a7.5 7.5 0 0 1-.54-1.3l-2.073-.519A1 1 0 0 1 2 12.72v-1.438a1 1 0 0 1 .757-.97l2.073-.519q.21-.68.54-1.3L4.27 6.66a1 1 0 0 1 .15-1.221L5.438 4.42a1 1 0 0 1 1.221-.15l1.833 1.1q.62-.33 1.3-.54l.519-2.073A1 1 0 0 1 11.28 2h1.438a1 1 0 0 1 .97.757l.519 2.073q.68.21 1.3.54zM12 14.8a2.8 2.8 0 1 0 0-5.6a2.8 2.8 0 0 0 0 5.6m0 1.2a4 4 0 1 1 0-8a4 4 0 0 1 0 8"/>'
263
264
  };
264
265
  var SvgIcon = ({ name, size = 24, color = "currentColor", className }) => {
@@ -511,7 +512,7 @@ var MobileUI = ({
511
512
  onTouchEnd: handleTouchEnd,
512
513
  onTouchCancel: handleTouchEnd,
513
514
  title: "\u8FDB\u5EA6",
514
- children: /* @__PURE__ */ jsxRuntime.jsx(SvgIcon, { name: "sliders" })
515
+ children: /* @__PURE__ */ jsxRuntime.jsx(SvgIcon, { name: "progress" })
515
516
  }
516
517
  ),
517
518
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -581,7 +582,7 @@ var MobileUI = ({
581
582
  }
582
583
  }
583
584
  ),
584
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "epub-reader__btn", onClick: () => onSearch(search.query), disabled: status !== "ready", children: "\u641C\u7D22" })
585
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "epub-reader__btn epub-reader__btn--wide", onClick: () => onSearch(search.query), disabled: status !== "ready", children: "\u641C\u7D22" })
585
586
  ] }),
586
587
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__checks", children: [
587
588
  /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "epub-reader__check", children: [
@@ -634,6 +635,39 @@ var MobileUI = ({
634
635
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "epub-reader__status", children: status === "error" ? errorText || "\u9519\u8BEF" : status === "opening" ? "\u6B63\u5728\u6253\u5F00\u2026" : "" }),
635
636
  sectionLabel ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: sectionLabel }) : null
636
637
  ] }),
638
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__mprogress", children: [
639
+ /* @__PURE__ */ jsxRuntime.jsx(
640
+ "input",
641
+ {
642
+ className: "epub-reader__range",
643
+ type: "range",
644
+ min: 0,
645
+ max: 100,
646
+ step: 1,
647
+ value: displayedPercent,
648
+ style: {
649
+ background: `linear-gradient(to right, var(--epub-reader-range-fill) 0%, var(--epub-reader-range-fill) ${displayedPercent}%, var(--epub-reader-range-track) ${displayedPercent}%, var(--epub-reader-range-track) 100%)`
650
+ },
651
+ onChange: (e) => {
652
+ onSeekStart();
653
+ onSeekChange(Number(e.target.value));
654
+ },
655
+ onPointerUp: (e) => {
656
+ const v = Number(e.target.value);
657
+ onSeekEnd(v);
658
+ },
659
+ onKeyUp: (e) => {
660
+ if (e.key !== "Enter") return;
661
+ const v = Number(e.target.value);
662
+ onSeekCommit(v);
663
+ }
664
+ }
665
+ ),
666
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__mprogress-percent", children: [
667
+ displayedPercent,
668
+ "%"
669
+ ] })
670
+ ] }),
637
671
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__mnav", children: [
638
672
  /* @__PURE__ */ jsxRuntime.jsx(
639
673
  "button",
@@ -687,36 +721,6 @@ var MobileUI = ({
687
721
  children: /* @__PURE__ */ jsxRuntime.jsx(SvgIcon, { name: "chevrons-right" })
688
722
  }
689
723
  )
690
- ] }),
691
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__mprogress", children: [
692
- /* @__PURE__ */ jsxRuntime.jsx(
693
- "input",
694
- {
695
- className: "epub-reader__range",
696
- type: "range",
697
- min: 0,
698
- max: 100,
699
- step: 1,
700
- value: displayedPercent,
701
- onChange: (e) => {
702
- onSeekStart();
703
- onSeekChange(Number(e.target.value));
704
- },
705
- onPointerUp: (e) => {
706
- const v = Number(e.target.value);
707
- onSeekEnd(v);
708
- },
709
- onKeyUp: (e) => {
710
- if (e.key !== "Enter") return;
711
- const v = Number(e.target.value);
712
- onSeekCommit(v);
713
- }
714
- }
715
- ),
716
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__mprogress-percent", children: [
717
- displayedPercent,
718
- "%"
719
- ] })
720
724
  ] })
721
725
  ] }) : null,
722
726
  activePanel === "settings" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__msettings", children: [
@@ -760,59 +764,61 @@ var MobileUI = ({
760
764
  ] }),
761
765
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "epub-reader__mfont-a is-big", children: "A" })
762
766
  ] }),
763
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__msetting", children: [
764
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__msetting-head", children: [
765
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "epub-reader__msetting-label", children: "\u884C\u9AD8" }),
766
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "epub-reader__msetting-value", children: lineHeight.toFixed(2) })
767
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__msettings-row", children: [
768
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__msetting", children: [
769
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__msetting-head", children: [
770
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "epub-reader__msetting-label", children: "\u884C\u9AD8" }),
771
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "epub-reader__msetting-value", children: lineHeight.toFixed(2) })
772
+ ] }),
773
+ /* @__PURE__ */ jsxRuntime.jsx(
774
+ "input",
775
+ {
776
+ className: "epub-reader__range",
777
+ type: "range",
778
+ min: 1,
779
+ max: 3,
780
+ step: 0.05,
781
+ value: lineHeight,
782
+ "aria-label": "\u884C\u9AD8",
783
+ onChange: (e) => onLineHeightChange(Number(e.target.value))
784
+ }
785
+ )
767
786
  ] }),
768
- /* @__PURE__ */ jsxRuntime.jsx(
769
- "input",
770
- {
771
- className: "epub-reader__range",
772
- type: "range",
773
- min: 1,
774
- max: 3,
775
- step: 0.05,
776
- value: lineHeight,
777
- "aria-label": "\u884C\u9AD8",
778
- onChange: (e) => onLineHeightChange(Number(e.target.value))
779
- }
780
- )
781
- ] }),
782
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__msetting", children: [
783
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__msetting-head", children: [
784
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "epub-reader__msetting-label", children: "\u5B57\u95F4\u8DDD" }),
785
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__msetting-value", children: [
786
- letterSpacing.toFixed(2),
787
- "em"
788
- ] })
787
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__msetting", children: [
788
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__msetting-head", children: [
789
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "epub-reader__msetting-label", children: "\u5B57\u95F4\u8DDD" }),
790
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "epub-reader__msetting-value", children: [
791
+ letterSpacing.toFixed(2),
792
+ "em"
793
+ ] })
794
+ ] }),
795
+ /* @__PURE__ */ jsxRuntime.jsx(
796
+ "input",
797
+ {
798
+ className: "epub-reader__range",
799
+ type: "range",
800
+ min: 0,
801
+ max: 0.3,
802
+ step: 0.01,
803
+ value: letterSpacing,
804
+ "aria-label": "\u5B57\u95F4\u8DDD",
805
+ onChange: (e) => onLetterSpacingChange(Number(e.target.value))
806
+ }
807
+ )
789
808
  ] }),
790
809
  /* @__PURE__ */ jsxRuntime.jsx(
791
- "input",
810
+ "button",
792
811
  {
793
- className: "epub-reader__range",
794
- type: "range",
795
- min: 0,
796
- max: 0.3,
797
- step: 0.01,
798
- value: letterSpacing,
799
- "aria-label": "\u5B57\u95F4\u8DDD",
800
- onChange: (e) => onLetterSpacingChange(Number(e.target.value))
812
+ type: "button",
813
+ className: "epub-reader__btn",
814
+ onClick: () => onToggleDarkMode(!darkMode),
815
+ "aria-pressed": darkMode,
816
+ "aria-label": darkMode ? "\u6697\u9ED1\u6A21\u5F0F\uFF1A\u5F00\uFF0C\u70B9\u51FB\u5207\u6362\u5230\u4EAE\u8272" : "\u6697\u9ED1\u6A21\u5F0F\uFF1A\u5173\uFF0C\u70B9\u51FB\u5207\u6362\u5230\u6697\u9ED1",
817
+ title: darkMode ? "\u5207\u6362\u5230\u4EAE\u8272" : "\u5207\u6362\u5230\u6697\u9ED1",
818
+ children: /* @__PURE__ */ jsxRuntime.jsx(SvgIcon, { name: darkMode ? "sun" : "moon" })
801
819
  }
802
820
  )
803
- ] }),
804
- /* @__PURE__ */ jsxRuntime.jsx(
805
- "button",
806
- {
807
- type: "button",
808
- className: "epub-reader__btn",
809
- onClick: () => onToggleDarkMode(!darkMode),
810
- "aria-pressed": darkMode,
811
- "aria-label": darkMode ? "\u6697\u9ED1\u6A21\u5F0F\uFF1A\u5F00\uFF0C\u70B9\u51FB\u5207\u6362\u5230\u4EAE\u8272" : "\u6697\u9ED1\u6A21\u5F0F\uFF1A\u5173\uFF0C\u70B9\u51FB\u5207\u6362\u5230\u6697\u9ED1",
812
- title: darkMode ? "\u5207\u6362\u5230\u4EAE\u8272" : "\u5207\u6362\u5230\u6697\u9ED1",
813
- children: /* @__PURE__ */ jsxRuntime.jsx(SvgIcon, { name: darkMode ? "sun" : "moon" })
814
- }
815
- )
821
+ ] })
816
822
  ] }) : null
817
823
  ] })
818
824
  ]