@edrlab/thorium-web 1.2.1 → 1.3.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.
Files changed (97) hide show
  1. package/dist/{ThPreferencesAdapter-DrZ5_6Dv.d.mts → ThPreferencesAdapter-D0rzsGRl.d.mts} +50 -13
  2. package/dist/{ThSettingsWrapper-8Kx0SnH4.d.mts → ThSettingsWrapper-BXuRgdqp.d.mts} +42 -4
  3. package/dist/{actions-D2CHvCHu.d.mts → actions-BLAr0oaM.d.mts} +16 -4
  4. package/dist/{actionsReducer-kc-S130w.d.mts → actionsReducer-BhG1wicI.d.mts} +37 -12
  5. package/dist/chunk-3GDQP6AS.mjs +14 -0
  6. package/dist/chunk-3GDQP6AS.mjs.map +1 -0
  7. package/dist/{chunk-72XCX5TD.mjs → chunk-3LDWKC5N.mjs} +13 -8
  8. package/dist/chunk-3LDWKC5N.mjs.map +1 -0
  9. package/dist/{chunk-NYZBHYW2.mjs → chunk-4ODYHZKD.mjs} +343 -38
  10. package/dist/chunk-4ODYHZKD.mjs.map +1 -0
  11. package/dist/{chunk-QPE574OW.mjs → chunk-4TVEDX7L.mjs} +23 -32
  12. package/dist/chunk-4TVEDX7L.mjs.map +1 -0
  13. package/dist/chunk-7CGMWOZN.mjs +20 -0
  14. package/dist/chunk-7CGMWOZN.mjs.map +1 -0
  15. package/dist/{chunk-7NEQAW7J.mjs → chunk-C236BQQB.mjs} +656 -917
  16. package/dist/chunk-C236BQQB.mjs.map +1 -0
  17. package/dist/{chunk-PXAUQJEU.mjs → chunk-D7MFLHXV.mjs} +2267 -1599
  18. package/dist/chunk-D7MFLHXV.mjs.map +1 -0
  19. package/dist/{chunk-47AIIJFO.mjs → chunk-ITDBOMY5.mjs} +3 -3
  20. package/dist/{chunk-47AIIJFO.mjs.map → chunk-ITDBOMY5.mjs.map} +1 -1
  21. package/dist/{chunk-XVSFXHYB.mjs → chunk-L4XGZAZ5.mjs} +23 -20
  22. package/dist/chunk-L4XGZAZ5.mjs.map +1 -0
  23. package/dist/chunk-OWHP7ONM.mjs +134 -0
  24. package/dist/chunk-OWHP7ONM.mjs.map +1 -0
  25. package/dist/{chunk-P4V3LA5R.mjs → chunk-RRVLWDT3.mjs} +10 -7
  26. package/dist/chunk-RRVLWDT3.mjs.map +1 -0
  27. package/dist/chunk-T2E6MRVP.mjs +862 -0
  28. package/dist/chunk-T2E6MRVP.mjs.map +1 -0
  29. package/dist/chunk-TEZB4ULX.mjs +57 -0
  30. package/dist/chunk-TEZB4ULX.mjs.map +1 -0
  31. package/dist/chunk-UCTMVCW7.mjs +833 -0
  32. package/dist/chunk-UCTMVCW7.mjs.map +1 -0
  33. package/dist/chunk-WECWPYZB.mjs +1950 -0
  34. package/dist/chunk-WECWPYZB.mjs.map +1 -0
  35. package/dist/{chunk-4VHEHMJN.mjs → chunk-XBZWGRDM.mjs} +228 -94
  36. package/dist/chunk-XBZWGRDM.mjs.map +1 -0
  37. package/dist/{chunk-K3K7TUWM.mjs → chunk-YZ3KCMKY.mjs} +237 -83
  38. package/dist/chunk-YZ3KCMKY.mjs.map +1 -0
  39. package/dist/components/Audio/index.css +1858 -0
  40. package/dist/components/Audio/index.css.map +1 -0
  41. package/dist/components/Audio/index.d.mts +103 -0
  42. package/dist/components/Audio/index.mjs +23 -0
  43. package/dist/components/Audio/index.mjs.map +1 -0
  44. package/dist/components/Epub/index.css +365 -9
  45. package/dist/components/Epub/index.css.map +1 -1
  46. package/dist/components/Epub/index.d.mts +17 -19
  47. package/dist/components/Epub/index.mjs +15 -10
  48. package/dist/components/Misc/index.css +5 -2
  49. package/dist/components/Misc/index.css.map +1 -1
  50. package/dist/components/Misc/index.mjs +4 -132
  51. package/dist/components/Misc/index.mjs.map +1 -1
  52. package/dist/components/Reader/index.css +1022 -183
  53. package/dist/components/Reader/index.css.map +1 -1
  54. package/dist/components/Reader/index.d.mts +16 -16
  55. package/dist/components/Reader/index.mjs +121 -22
  56. package/dist/components/Reader/index.mjs.map +1 -1
  57. package/dist/components/WebPub/index.css +365 -9
  58. package/dist/components/WebPub/index.css.map +1 -1
  59. package/dist/components/WebPub/index.d.mts +16 -16
  60. package/dist/components/WebPub/index.mjs +15 -10
  61. package/dist/core/Components/index.d.mts +64 -15
  62. package/dist/core/Components/index.mjs +2 -1
  63. package/dist/core/Helpers/index.d.mts +2 -2
  64. package/dist/core/Helpers/index.mjs +4 -2
  65. package/dist/core/Hooks/index.d.mts +7 -8
  66. package/dist/core/Hooks/index.mjs +3 -1
  67. package/dist/i18n/index.mjs +4 -5
  68. package/dist/lib/index.d.mts +159 -15
  69. package/dist/lib/index.mjs +4 -2
  70. package/dist/lib-M3PPQDJJ.mjs +6548 -0
  71. package/dist/lib-M3PPQDJJ.mjs.map +1 -0
  72. package/dist/locales/en/thorium-web.json +22 -0
  73. package/dist/next-lib/index.mjs +2 -0
  74. package/dist/next-lib/index.mjs.map +1 -1
  75. package/dist/preferences/index.d.mts +111 -13
  76. package/dist/preferences/index.mjs +6 -3
  77. package/dist/{settingsReducer-C1wwCAMv.d.mts → settingsReducer-Bu1zeveu.d.mts} +1 -1
  78. package/dist/{ui-CamWuqOo.d.mts → ui-nBv8gfr0.d.mts} +20 -1
  79. package/dist/useAudioNavigator-C5aW4-eT.d.mts +133 -0
  80. package/dist/{useContrast-D6sjPjxy.d.mts → useContrast-2t429O9O.d.mts} +16 -8
  81. package/dist/usePreferences-VaBf46eP.d.mts +230 -0
  82. package/dist/useReaderTransitions-JDzlBFsu.d.mts +530 -0
  83. package/dist/{useTimeline-DyMx_aWY.d.mts → useTimeline-DCZ1qoCO.d.mts} +4 -2
  84. package/package.json +15 -11
  85. package/dist/chunk-4VHEHMJN.mjs.map +0 -1
  86. package/dist/chunk-72XCX5TD.mjs.map +0 -1
  87. package/dist/chunk-7NEQAW7J.mjs.map +0 -1
  88. package/dist/chunk-K3K7TUWM.mjs.map +0 -1
  89. package/dist/chunk-NYZBHYW2.mjs.map +0 -1
  90. package/dist/chunk-P4V3LA5R.mjs.map +0 -1
  91. package/dist/chunk-PXAUQJEU.mjs.map +0 -1
  92. package/dist/chunk-QPE574OW.mjs.map +0 -1
  93. package/dist/chunk-XVSFXHYB.mjs.map +0 -1
  94. package/dist/useEpubNavigator-CwHJfoiV.d.mts +0 -42
  95. package/dist/usePreferences-BXFJbval.d.mts +0 -43
  96. package/dist/useReaderTransitions-guT-eA-Q.d.mts +0 -365
  97. package/dist/useWebPubNavigator-CuSNQKMw.d.mts +0 -39
@@ -71,7 +71,7 @@ input {
71
71
  .thorium_web_button_dockerButton svg,
72
72
  .thorium_web_button_closeButton svg,
73
73
  .thorium_web_button_backButton svg {
74
- fill: var(--th-theme-text);
74
+ fill: currentColor;
75
75
  width: var(--th-icon-size, 24px);
76
76
  height: var(--th-icon-size, 24px);
77
77
  }
@@ -91,12 +91,6 @@ input {
91
91
  .thorium_web_button_backButton[data-disabled] {
92
92
  color: var(--th-theme-disable);
93
93
  }
94
- .thorium_web_button_icon[data-disabled] svg,
95
- .thorium_web_button_dockerButton[data-disabled] svg,
96
- .thorium_web_button_closeButton[data-disabled] svg,
97
- .thorium_web_button_backButton[data-disabled] svg {
98
- fill: var(--th-theme-disable);
99
- }
100
94
  .thorium_web_button_tooltip {
101
95
  background-color: var(--th-theme-text);
102
96
  color: var(--th-theme-background);
@@ -248,6 +242,32 @@ input {
248
242
  color: var(--th-theme-text);
249
243
  align-items: center;
250
244
  }
245
+ .thorium_web_sheets_modal {
246
+ position: fixed;
247
+ inset: 0;
248
+ z-index: 10;
249
+ display: flex;
250
+ align-items: center;
251
+ justify-content: center;
252
+ padding: var(--th-layout-spacing);
253
+ background-color: var(--th-layout-defaults-scrim, rgba(0, 0, 0, 0.2));
254
+ pointer-events: none;
255
+ }
256
+ .thorium_web_sheets_modalDialog {
257
+ pointer-events: auto;
258
+ overflow-y: auto;
259
+ scroll-padding-top: calc(var(--th-sheet-sticky-header, 80px) + var(--th-layout-spacing));
260
+ scroll-padding-bottom: var(--th-layout-spacing);
261
+ box-sizing: border-box;
262
+ width: 100%;
263
+ max-width: var(--th-layout-constraints-modal, 600px);
264
+ max-height: 90dvh;
265
+ background-color: var(--th-theme-background);
266
+ color: var(--th-theme-text);
267
+ border-radius: var(--th-layout-radius);
268
+ border: 1px solid var(--th-theme-subdue);
269
+ filter: drop-shadow(var(--th-theme-elevate));
270
+ }
251
271
  .thorium_web_sheets_popover {
252
272
  overflow-y: auto;
253
273
  scroll-padding-top: calc(var(--th-sheet-sticky-header, 80px) + var(--th-layout-spacing));
@@ -264,6 +284,22 @@ input {
264
284
  border: 1px solid var(--th-theme-subdue);
265
285
  filter: drop-shadow(var(--th-theme-elevate));
266
286
  }
287
+ .thorium_web_sheets_compactPopover {
288
+ overflow-y: auto;
289
+ scroll-padding-top: var(--th-layout-spacing);
290
+ scroll-padding-bottom: var(--th-layout-spacing);
291
+ box-sizing: border-box;
292
+ width: calc(340px + (2 * var(--th-layout-spacing)));
293
+ max-width: var(--th-layout-constraints-popover, 500px);
294
+ max-height: 100%;
295
+ max-height: var(--visual-viewport-height, 100dvh);
296
+ padding: 0;
297
+ background-color: var(--th-theme-background);
298
+ color: var(--th-theme-text);
299
+ border-radius: var(--th-layout-radius);
300
+ border: 1px solid var(--th-theme-subdue);
301
+ filter: drop-shadow(var(--th-theme-elevate));
302
+ }
267
303
  .thorium_web_sheets_draggable {
268
304
  box-sizing: border-box;
269
305
  max-width: var(--th-layout-constraints-bottomSheet, 600px);
@@ -389,6 +425,17 @@ input {
389
425
  margin: 0;
390
426
  padding: 0;
391
427
  }
428
+ .thorium_web_sheets_compactHeader {
429
+ position: absolute;
430
+ width: 1px;
431
+ height: 1px;
432
+ padding: 0;
433
+ margin: -1px;
434
+ overflow: hidden;
435
+ clip: rect(0, 0, 0, 0);
436
+ white-space: nowrap;
437
+ border: 0;
438
+ }
392
439
  .thorium_web_sheets_body {
393
440
  padding: var(--th-layout-spacing);
394
441
  }
@@ -550,6 +597,7 @@ input {
550
597
  }
551
598
  .thorium_web_reader_settings_radio[data-focus-visible] {
552
599
  outline: 2px solid var(--th-theme-focus);
600
+ outline-offset: 2px;
553
601
  }
554
602
  .thorium_web_reader_settings_radio svg {
555
603
  width: var(--th-icon-size, 32px);
@@ -646,6 +694,50 @@ input {
646
694
  .thorium_web_reader_settings_sliderPlaceholder {
647
695
  color: var(--th-theme-subdue);
648
696
  }
697
+ .thorium_web_reader_settings_sliderWithPresetsWrapper {
698
+ display: flex;
699
+ flex-direction: column;
700
+ gap: var(--th-layout-spacing);
701
+ }
702
+ .thorium_web_reader_settings_sliderWithPresetsWrapper .thorium_web_reader_settings_sliderWrapper {
703
+ width: 100%;
704
+ }
705
+ .thorium_web_reader_settings_sliderWithPresetsWrapper .thorium_web_reader_settings_slider {
706
+ max-width: 100%;
707
+ }
708
+ .thorium_web_reader_settings_sliderWithPresetsRadioGroup {
709
+ display: grid;
710
+ grid-template-columns: repeat(auto-fill, minmax(4.5rem, 1fr));
711
+ gap: calc(var(--th-layout-spacing) / 4);
712
+ list-style: none;
713
+ margin: 0;
714
+ padding: 0;
715
+ }
716
+ .thorium_web_reader_settings_sliderWithPresetsRadio {
717
+ padding: calc(var(--th-layout-spacing) / 2);
718
+ border-radius: var(--th-layout-radius);
719
+ box-sizing: border-box;
720
+ border: 2px solid transparent;
721
+ text-align: center;
722
+ font-variant-numeric: tabular-nums;
723
+ background: transparent;
724
+ color: var(--th-theme-text);
725
+ }
726
+ .thorium_web_reader_settings_sliderWithPresetsRadio[data-selected] {
727
+ border: 2px solid var(--th-theme-subdue);
728
+ }
729
+ .thorium_web_reader_settings_sliderWithPresetsRadio[data-hovered] {
730
+ background-color: var(--th-theme-hover);
731
+ color: var(--th-theme-onHover);
732
+ }
733
+ .thorium_web_reader_settings_sliderWithPresetsRadio[data-focus-visible] {
734
+ outline: 2px solid var(--th-theme-focus);
735
+ outline-offset: 2px;
736
+ }
737
+ .thorium_web_reader_settings_sliderWithPresetsRadio[data-disabled] {
738
+ color: var(--th-theme-disable);
739
+ border-color: var(--th-theme-disable);
740
+ }
649
741
  .thorium_web_reader_settings_sliderWithTicks .thorium_web_reader_settings_sliderTrack::before {
650
742
  background:
651
743
  linear-gradient(
@@ -728,10 +820,16 @@ input {
728
820
  }
729
821
  .thorium_web_reader_settings_dropdownListboxItem {
730
822
  padding: calc(var(--th-layout-spacing) / 4);
823
+ border-radius: var(--th-layout-radius);
824
+ outline: none;
731
825
  }
732
826
  .thorium_web_reader_settings_dropdownListboxItem[data-selected] {
733
827
  color: var(--th-theme-subdue);
734
828
  }
829
+ .thorium_web_reader_settings_dropdownListboxItem[data-hovered] {
830
+ background-color: var(--th-theme-hover);
831
+ color: var(--th-theme-onHover);
832
+ }
735
833
  .thorium_web_reader_settings_dropdownListboxItem[data-focus-visible] {
736
834
  outline: 2px solid var(--th-theme-focus);
737
835
  }
@@ -900,7 +998,7 @@ input {
900
998
  transition: rotate 200ms;
901
999
  width: 100%;
902
1000
  height: 100%;
903
- fill: var(--th-theme-text);
1001
+ fill: currentColor;
904
1002
  }
905
1003
  .thorium_web_toc_treeItem[data-expanded] .thorium_web_toc_treeItemButton svg {
906
1004
  rotate: 90deg;
@@ -911,142 +1009,644 @@ input {
911
1009
  text-wrap: balance;
912
1010
  }
913
1011
 
914
- /* src/components/assets/styles/thorium-web.reader.app.module.css */
915
- .thorium_web_reader_app_wrapper {
1012
+ /* src/components/Audio/actions/Volume/assets/styles/thorium-web.volume.module.css */
1013
+ .thorium_web_volume_wrapper {
1014
+ width: auto;
1015
+ }
1016
+ .thorium_web_volume_button {
1017
+ --th-icon-size: calc(var(--audio-icon-base) * (5/4));
1018
+ padding: calc(var(--th-icon-size) * (1/4));
1019
+ outline: none;
1020
+ }
1021
+ .thorium_web_volume_button[data-focus-visible] {
1022
+ outline: 2px solid var(--th-theme-focus);
1023
+ }
1024
+ .thorium_web_volume_button[data-disabled] {
1025
+ color: var(--th-theme-disable);
1026
+ }
1027
+ .thorium_web_volume_sliderTrack {
1028
+ position: relative;
1029
+ box-sizing: border-box;
1030
+ }
1031
+ .thorium_web_volume_sliderTrack::before {
1032
+ content: "";
1033
+ display: block;
1034
+ position: absolute;
1035
+ background: var(--th-theme-subdue);
1036
+ }
1037
+ .thorium_web_volume_slider[data-disabled] .thorium_web_volume_sliderTrack::before {
1038
+ background: var(--th-theme-disable);
1039
+ }
1040
+ .thorium_web_volume_slider[data-orientation=vertical] .thorium_web_volume_sliderTrack {
1041
+ height: 150px;
1042
+ width: 30px;
1043
+ margin-block: calc(1.25rem / 2);
1044
+ }
1045
+ .thorium_web_volume_slider[data-orientation=vertical] .thorium_web_volume_sliderTrack::before {
1046
+ width: 3px;
916
1047
  height: 100%;
1048
+ left: 50%;
1049
+ transform: translateX(-50%);
1050
+ }
1051
+ .thorium_web_volume_slider[data-orientation=vertical] .thorium_web_volume_sliderThumb {
1052
+ left: 50%;
1053
+ transform: translateX(-50%);
1054
+ }
1055
+ .thorium_web_volume_slider[data-orientation=horizontal] {
1056
+ max-width: 320px;
917
1057
  width: 100%;
918
- margin: 0;
919
1058
  }
920
- .thorium_web_reader_app_main {
1059
+ .thorium_web_volume_slider[data-orientation=horizontal] .thorium_web_volume_sliderTrack {
921
1060
  width: 100%;
922
- height: 100%;
923
- margin: 0;
1061
+ height: 30px;
924
1062
  }
925
- .thorium_web_reader_app_shell {
1063
+ .thorium_web_volume_slider[data-orientation=horizontal] .thorium_web_volume_sliderTrack::before {
1064
+ height: 3px;
926
1065
  width: 100%;
927
- height: 100%;
928
- margin: 0;
1066
+ top: 50%;
1067
+ transform: translateY(-50%);
929
1068
  }
930
- .thorium_web_reader_app_leftDock {
931
- height: 100vh;
932
- height: 100dvh;
1069
+ .thorium_web_volume_slider[data-orientation=horizontal] .thorium_web_volume_sliderThumb {
1070
+ top: 50%;
1071
+ transform: translateY(-50%);
933
1072
  }
934
- .thorium_web_reader_app_rightDock {
935
- height: 100vh;
936
- height: 100dvh;
1073
+ .thorium_web_volume_sliderThumb {
1074
+ width: 1.25rem;
1075
+ height: 1.25rem;
1076
+ border-radius: 50%;
1077
+ background: var(--th-theme-text);
1078
+ border: 2px solid var(--th-theme-subdue);
937
1079
  }
938
- .thorium_web_reader_app_bottomBar,
939
- .thorium_web_reader_app_topBar {
940
- box-sizing: border-box;
941
- gap: 2px;
942
- touch-action: manipulation;
943
- background-color: var(--th-theme-background);
1080
+ .thorium_web_volume_slider[data-disabled] .thorium_web_volume_sliderThumb {
1081
+ background: var(--th-theme-disable);
1082
+ border: 2px solid var(--th-theme-disable);
944
1083
  }
945
- .thorium_web_reader_app_bottomBar {
946
- display: flex;
947
- justify-content: center;
948
- align-items: center;
1084
+ .thorium_web_volume_sliderThumb[data-dragging] {
1085
+ background: var(--th-theme-subdue);
949
1086
  }
950
- .thorium_web_reader_app_main .thorium_web_stackedUI {
1087
+ .thorium_web_volume_sliderThumb[data-focus-visible] {
1088
+ outline: 2px solid var(--th-theme-focus);
1089
+ border: 2px solid var(--th-theme-focus);
1090
+ }
1091
+
1092
+ /* src/components/Audio/actions/PlaybackRate/assets/styles/thorium-web.playbackRate.module.css */
1093
+ .thorium_web_playbackRate_wrapper {
1094
+ width: auto;
1095
+ }
1096
+ .thorium_web_playbackRate_button {
1097
+ --th-icon-size: calc(var(--audio-icon-base) * (5/4));
1098
+ padding: calc(var(--th-icon-size) * (1/4));
951
1099
  position: relative;
952
1100
  display: flex;
953
1101
  flex-direction: column;
954
- flex: 1 1 0;
955
- height: 100vh;
956
- height: 100dvh;
957
- max-height: 100%;
958
- background-color: var(--th-theme-background);
1102
+ align-items: center;
1103
+ outline: none;
959
1104
  }
960
- .thorium_web_stackedUI .thorium_web_reader_app_topBar,
961
- .thorium_web_stackedUI .thorium_web_reader_app_bottomBar {
962
- flex: 0 0 calc(var(--th-icon-size, 24px) * 2.5);
963
- height: calc(var(--th-icon-size, 24px) * 2.5);
1105
+ .thorium_web_playbackRate_button[data-focus-visible] {
1106
+ outline: 2px solid var(--th-theme-focus);
964
1107
  }
965
- .thorium_web_stackedUI.thorium_web_isImmersive:not(.thorium_web_isHovering) .thorium_web_reader_app_topBar,
966
- .thorium_web_stackedUI.thorium_web_isImmersive:not(.thorium_web_isHovering) .thorium_web_reader_app_bottomBar {
967
- opacity: var(--th-theme-immerse);
1108
+ .thorium_web_playbackRate_button[data-disabled] {
1109
+ color: var(--th-theme-disable);
968
1110
  }
969
- .thorium_web_reader_app_main .thorium_web_layeredUI {
970
- position: relative;
971
- top: 0;
972
- bottom: 0;
973
- left: 0;
974
- right: 0;
975
- height: 100vh;
976
- height: 100dvh;
977
- max-height: 100%;
978
- background-color: var(--th-theme-background);
1111
+ .thorium_web_playbackRate_button:has(.thorium_web_playbackRate_label) {
1112
+ padding-bottom: calc(var(--th-icon-size) * (2/3));
979
1113
  }
980
- .thorium_web_layeredUI .thorium_web_reader_app_topBar,
981
- .thorium_web_layeredUI .thorium_web_reader_app_bottomBar {
1114
+ .thorium_web_playbackRate_label {
982
1115
  position: absolute;
983
- left: 0;
984
- right: 0;
985
- height: calc(var(--th-icon-size, 24px) * 2.5);
986
- z-index: 2;
987
- box-shadow: var(--th-theme-elevate);
988
- overflow: hidden;
989
- transition-property: transform, box-shadow;
990
- transition-duration: 200ms;
991
- transition-timing-function: ease-in-out;
992
- transform: translateY(0);
1116
+ bottom: calc(var(--th-icon-size) * (1/4));
1117
+ left: 50%;
1118
+ transform: translateX(-50%);
1119
+ white-space: nowrap;
1120
+ line-height: 1;
1121
+ font-size: calc(var(--th-icon-size, 24px) * (5/12));
1122
+ font-variant-numeric: tabular-nums;
1123
+ font-weight: bold;
993
1124
  }
994
- .thorium_web_layeredUI .thorium_web_reader_app_topBar {
995
- top: 0;
1125
+ .thorium_web_playbackRate_slider {
1126
+ min-width: 260px;
996
1127
  }
997
- .thorium_web_layeredUI .thorium_web_reader_app_bottomBar {
998
- bottom: 0;
1128
+ .thorium_web_playbackRate_numberfield {
1129
+ min-width: 140px;
1130
+ display: flex;
1131
+ justify-content: center;
999
1132
  }
1000
- .thorium_web_layeredUI.thorium_web_isImmersive:not(.thorium_web_isHovering) .thorium_web_reader_app_topBar {
1001
- transform: translateY(calc(var(--th-icon-size, 24px) * -2.5));
1002
- box-shadow: none;
1003
- overflow: unset;
1133
+
1134
+ /* src/components/Audio/actions/Toc/assets/styles/thorium-web.audioToc.module.css */
1135
+ .thorium_web_audioToc_button {
1136
+ --th-icon-size: calc(var(--audio-icon-base) * (5/4));
1137
+ padding: calc(var(--th-icon-size) * (1/4));
1138
+ outline: none;
1004
1139
  }
1005
- .thorium_web_layeredUI.thorium_web_isImmersive:not(.thorium_web_isHovering) .thorium_web_reader_app_bottomBar {
1006
- transform: translateY(calc(var(--th-icon-size, 24px) * 2.5));
1007
- box-shadow: none;
1140
+ .thorium_web_audioToc_button[data-focus-visible] {
1141
+ outline: 2px solid var(--th-theme-focus);
1008
1142
  }
1009
- .thorium_web_reader_app_barOverlay {
1010
- position: absolute;
1011
- left: 0;
1012
- right: 0;
1013
- height: calc(var(--th-icon-size, 24px) * 2.5);
1014
- pointer-events: auto;
1015
- opacity: 0;
1016
- z-index: 1000;
1143
+ .thorium_web_audioToc_button[data-disabled] {
1144
+ color: var(--th-theme-disable);
1017
1145
  }
1018
- .thorium_web_reader_app_headerOverlay {
1019
- position: absolute;
1020
- left: 0;
1021
- right: 0;
1022
- height: calc(var(--th-icon-size, 24px) * 2.5);
1023
- pointer-events: auto;
1024
- opacity: 0;
1025
- z-index: 1000;
1026
- top: 0;
1146
+
1147
+ /* src/components/Audio/actions/SleepTimer/assets/styles/thorium-web.sleepTimer.module.css */
1148
+ .thorium_web_sleepTimer_wrapper {
1027
1149
  }
1028
- .thorium_web_reader_app_footerOverlay {
1029
- position: absolute;
1030
- left: 0;
1031
- right: 0;
1032
- height: calc(var(--th-icon-size, 24px) * 2.5);
1033
- pointer-events: auto;
1034
- opacity: 0;
1035
- z-index: 1000;
1036
- bottom: 0;
1150
+ .thorium_web_sleepTimer_button {
1151
+ --th-icon-size: calc(var(--audio-icon-base) * (5/4));
1152
+ padding: calc(var(--th-icon-size) * (1/4));
1153
+ position: relative;
1154
+ display: flex;
1155
+ flex-direction: column;
1156
+ align-items: center;
1157
+ outline: none;
1037
1158
  }
1038
- .thorium_web_reader_app_iframeContainer {
1039
- contain: content;
1040
- width: 100%;
1041
- height: 100%;
1042
- margin: 0 auto;
1159
+ .thorium_web_sleepTimer_button[data-focus-visible] {
1160
+ outline: 2px solid var(--th-theme-focus);
1043
1161
  }
1044
- .thorium_web_reader_app_iframeContainer .readium-navigator-iframe {
1045
- width: 100%;
1046
- height: 100%;
1047
- border-width: 0;
1162
+ .thorium_web_sleepTimer_button[data-disabled] {
1163
+ color: var(--th-theme-disable);
1048
1164
  }
1049
- @keyframes thorium_web_reader_app_loading {
1165
+ .thorium_web_sleepTimer_button:has(.thorium_web_sleepTimer_label) {
1166
+ padding-bottom: calc(var(--th-icon-size) * (2/3));
1167
+ }
1168
+ .thorium_web_sleepTimer_label {
1169
+ position: absolute;
1170
+ bottom: calc(var(--th-icon-size) * (1/4));
1171
+ left: 50%;
1172
+ transform: translateX(-50%);
1173
+ white-space: nowrap;
1174
+ line-height: 1;
1175
+ font-size: calc(var(--th-icon-size, 24px) * (5/12));
1176
+ font-variant-numeric: tabular-nums;
1177
+ font-weight: bold;
1178
+ }
1179
+ .thorium_web_sleepTimer_listbox {
1180
+ display: flex;
1181
+ flex-direction: column;
1182
+ gap: calc(var(--th-layout-spacing) / 2);
1183
+ }
1184
+ .thorium_web_sleepTimer_listboxItem {
1185
+ padding: calc(var(--th-layout-spacing) / 4);
1186
+ border-radius: var(--th-layout-radius);
1187
+ outline: none;
1188
+ cursor: default;
1189
+ }
1190
+ .thorium_web_sleepTimer_listboxItem[data-selected] {
1191
+ background-color: var(--th-theme-hover);
1192
+ font-weight: bold;
1193
+ }
1194
+ .thorium_web_sleepTimer_listboxItem[data-hovered]:not([data-selected]) {
1195
+ background-color: var(--th-theme-hover);
1196
+ color: var(--th-theme-onHover);
1197
+ }
1198
+ .thorium_web_sleepTimer_listboxItem[data-focus-visible] {
1199
+ outline: 2px solid var(--th-theme-focus);
1200
+ }
1201
+ .thorium_web_sleepTimer_durationField {
1202
+ display: flex;
1203
+ flex-direction: column;
1204
+ }
1205
+ .thorium_web_sleepTimer_instruction {
1206
+ display: block;
1207
+ margin: 0 0 var(--th-layout-spacing) 0;
1208
+ }
1209
+ .thorium_web_sleepTimer_inputs {
1210
+ display: flex;
1211
+ align-items: center;
1212
+ justify-content: center;
1213
+ gap: calc(var(--th-layout-spacing) / 4);
1214
+ margin-bottom: var(--th-layout-spacing);
1215
+ }
1216
+ .thorium_web_sleepTimer_fieldGroup {
1217
+ display: contents;
1218
+ }
1219
+ .thorium_web_sleepTimer_fieldInput {
1220
+ width: 4ch;
1221
+ text-align: center;
1222
+ background: transparent;
1223
+ border: 2px solid var(--th-theme-subdue);
1224
+ border-radius: var(--th-layout-radius);
1225
+ padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-layout-spacing) / 2);
1226
+ color: var(--th-theme-text);
1227
+ font-variant-numeric: tabular-nums;
1228
+ font-weight: bold;
1229
+ outline: none;
1230
+ }
1231
+ .thorium_web_sleepTimer_fieldInput[data-focus-visible] {
1232
+ outline: 2px solid var(--th-theme-focus);
1233
+ }
1234
+ .thorium_web_sleepTimer_unitLabel {
1235
+ margin-inline-end: calc(var(--th-layout-spacing) / 4);
1236
+ }
1237
+ .thorium_web_sleepTimer_remaining {
1238
+ font-variant-numeric: tabular-nums;
1239
+ font-weight: bold;
1240
+ margin: 0 0 var(--th-layout-spacing) 0;
1241
+ }
1242
+ .thorium_web_sleepTimer_cancelButton {
1243
+ margin-top: var(--th-layout-spacing);
1244
+ }
1245
+ .thorium_web_sleepTimer_startButton {
1246
+ padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-icon-size, 24px) * (1/2));
1247
+ border-radius: var(--th-layout-radius);
1248
+ border: 2px solid var(--th-theme-subdue);
1249
+ background: transparent;
1250
+ color: var(--th-theme-text);
1251
+ cursor: default;
1252
+ width: 100%;
1253
+ box-sizing: border-box;
1254
+ text-align: center;
1255
+ }
1256
+ .thorium_web_sleepTimer_startButton[data-hovered] {
1257
+ background-color: var(--th-theme-hover);
1258
+ color: var(--th-theme-onHover);
1259
+ }
1260
+ .thorium_web_sleepTimer_startButton[data-focus-visible] {
1261
+ outline: 2px solid var(--th-theme-focus);
1262
+ }
1263
+ .thorium_web_sleepTimer_startButton[data-disabled] {
1264
+ color: var(--th-theme-disable);
1265
+ }
1266
+
1267
+ /* src/components/Audio/controls/assets/styles/thorium-web.audioPlayback.module.css */
1268
+ .thorium_web_audioPlayback_audioControls {
1269
+ display: flex;
1270
+ align-items: center;
1271
+ justify-content: center;
1272
+ gap: 1rem;
1273
+ --audio-icon-base: var(--th-icon-size, 24px);
1274
+ }
1275
+ @container (max-width: 300px) {
1276
+ .thorium_web_audioPlayback_audioControls {
1277
+ --th-icon-size: 18px;
1278
+ }
1279
+ }
1280
+ .thorium_web_audioPlayback_audioPreviousButton,
1281
+ .thorium_web_audioPlayback_audioNextButton {
1282
+ --th-icon-size: calc(var(--audio-icon-base) * (5/4));
1283
+ padding: calc(var(--th-icon-size) * (1/5));
1284
+ }
1285
+ .thorium_web_audioPlayback_audioSkipBackwardButton,
1286
+ .thorium_web_audioPlayback_audioSkipForwardButton {
1287
+ --th-icon-size: calc(var(--audio-icon-base) * (3/2));
1288
+ padding: calc(var(--th-icon-size) * (1/6));
1289
+ }
1290
+ .thorium_web_audioPlayback_audioPlayPauseButton {
1291
+ --th-icon-size: calc(var(--audio-icon-base) * 2);
1292
+ padding: calc(var(--th-icon-size) * (1/8));
1293
+ }
1294
+
1295
+ /* src/components/Audio/controls/assets/styles/thorium-web.audioProgressBar.module.css */
1296
+ .thorium_web_audioProgressBar_wrapper {
1297
+ width: 100%;
1298
+ max-width: 600px;
1299
+ display: grid;
1300
+ grid-template-areas: "chapter chapter chapter" "progress progress progress" "elapsed . remaining";
1301
+ grid-template-columns: 1fr 1fr 1fr;
1302
+ align-items: center;
1303
+ gap: 0.5rem;
1304
+ container-type: inline-size;
1305
+ }
1306
+ .thorium_web_audioProgressBar_current {
1307
+ grid-area: chapter;
1308
+ text-align: center;
1309
+ white-space: nowrap;
1310
+ overflow: hidden;
1311
+ text-overflow: ellipsis;
1312
+ }
1313
+ .thorium_web_audioProgressBar_slider {
1314
+ grid-area: progress;
1315
+ }
1316
+ .thorium_web_audioProgressBar_track {
1317
+ grid-area: progress;
1318
+ position: relative;
1319
+ height: 30px;
1320
+ width: auto;
1321
+ box-sizing: border-box;
1322
+ margin-inline: calc(var(--th-layout-spacing) / 2);
1323
+ }
1324
+ .thorium_web_audioProgressBar_track::before {
1325
+ content: "";
1326
+ display: block;
1327
+ position: absolute;
1328
+ background: var(--th-theme-subdue);
1329
+ height: 3px;
1330
+ width: 100%;
1331
+ top: 50%;
1332
+ transform: translateY(-50%);
1333
+ }
1334
+ .thorium_web_audioProgressBar_thumb {
1335
+ z-index: 2;
1336
+ width: 1.25rem;
1337
+ height: 1.25rem;
1338
+ border-radius: 50%;
1339
+ background: var(--th-theme-text);
1340
+ border: none;
1341
+ top: 50%;
1342
+ transform: translateY(-50%);
1343
+ }
1344
+ .thorium_web_audioProgressBar_slider[data-disabled] .thorium_web_audioProgressBar_track::before {
1345
+ background: var(--th-theme-disable);
1346
+ }
1347
+ .thorium_web_audioProgressBar_slider[data-disabled] .thorium_web_audioProgressBar_thumb {
1348
+ background: var(--th-theme-disable);
1349
+ }
1350
+ .thorium_web_audioProgressBar_slider[data-disabled] .thorium_web_audioProgressBar_seekableRange {
1351
+ background: var(--th-theme-disable);
1352
+ }
1353
+ .thorium_web_audioProgressBar_slider[data-disabled] .thorium_web_audioProgressBar_current,
1354
+ .thorium_web_audioProgressBar_slider[data-disabled] .thorium_web_audioProgressBar_elapsed,
1355
+ .thorium_web_audioProgressBar_slider[data-disabled] .thorium_web_audioProgressBar_remaining {
1356
+ color: var(--th-theme-disable);
1357
+ }
1358
+ .thorium_web_audioProgressBar_thumb[data-dragging] {
1359
+ background: var(--th-theme-subdue);
1360
+ }
1361
+ .thorium_web_audioProgressBar_thumb[data-focus-visible] {
1362
+ outline: 2px solid var(--th-theme-focus);
1363
+ }
1364
+ .thorium_web_audioProgressBar_seekableRange {
1365
+ position: absolute;
1366
+ height: 3px;
1367
+ top: 50%;
1368
+ transform: translateY(-50%);
1369
+ background: color-mix(in srgb, var(--th-theme-text) 55%, var(--th-theme-subdue));
1370
+ pointer-events: none;
1371
+ border-radius: 1px;
1372
+ z-index: 1;
1373
+ }
1374
+ .thorium_web_audioProgressBar_tick {
1375
+ position: absolute;
1376
+ width: 1px;
1377
+ height: 15px;
1378
+ top: 50%;
1379
+ transform: translateY(-50%);
1380
+ background: var(--th-theme-text);
1381
+ pointer-events: none;
1382
+ z-index: 1;
1383
+ }
1384
+ .thorium_web_audioProgressBar_tooltip {
1385
+ background-color: var(--th-theme-text);
1386
+ color: var(--th-theme-background);
1387
+ border-radius: var(--th-layout-radius);
1388
+ padding: calc(var(--th-layout-spacing) / 2);
1389
+ font-size: 0.75rem;
1390
+ pointer-events: none;
1391
+ max-width: 320px;
1392
+ text-wrap: pretty;
1393
+ display: -webkit-box;
1394
+ -webkit-box-orient: vertical;
1395
+ -webkit-line-clamp: 2;
1396
+ overflow: hidden;
1397
+ }
1398
+ .thorium_web_audioProgressBar_elapsed {
1399
+ grid-area: elapsed;
1400
+ justify-self: start;
1401
+ font-size: 0.875rem;
1402
+ color: var(--th-theme-text);
1403
+ }
1404
+ .thorium_web_audioProgressBar_remaining {
1405
+ grid-area: remaining;
1406
+ justify-self: end;
1407
+ font-size: 0.875rem;
1408
+ color: var(--th-theme-text);
1409
+ }
1410
+ @container (max-width: 300px) {
1411
+ .thorium_web_audioProgressBar_current {
1412
+ font-size: 0.875rem;
1413
+ }
1414
+ }
1415
+
1416
+ /* src/components/Audio/actions/assets/styles/thorium-web.audioActions.module.css */
1417
+ .thorium_web_audioActions_wrapper {
1418
+ display: flex;
1419
+ align-items: flex-start;
1420
+ justify-content: center;
1421
+ gap: 1rem;
1422
+ --audio-icon-base: var(--th-icon-size, 24px);
1423
+ }
1424
+ @container (max-width: 300px) {
1425
+ .thorium_web_audioActions_wrapper {
1426
+ --th-icon-size: 18px;
1427
+ }
1428
+ }
1429
+ .thorium_web_audioActions_popover {
1430
+ width: auto;
1431
+ max-width: 95%;
1432
+ }
1433
+
1434
+ /* src/components/Audio/assets/styles/thorium-web.audio.app.module.css */
1435
+ .thorium_web_audio_app_main {
1436
+ width: 100%;
1437
+ height: 100%;
1438
+ margin: 0;
1439
+ }
1440
+ .thorium_web_audio_app_shell {
1441
+ position: relative;
1442
+ display: flex;
1443
+ flex-direction: column;
1444
+ flex: 1 1 0;
1445
+ height: 100vh;
1446
+ height: 100dvh;
1447
+ max-height: 100%;
1448
+ background-color: var(--th-theme-background);
1449
+ }
1450
+ .thorium_web_audio_app_topBar {
1451
+ flex: 0 0 calc(var(--th-icon-size, 24px) * 2.5);
1452
+ height: calc(var(--th-icon-size, 24px) * 2.5);
1453
+ box-sizing: border-box;
1454
+ gap: 2px;
1455
+ touch-action: manipulation;
1456
+ background-color: var(--th-theme-background);
1457
+ }
1458
+
1459
+ /* src/components/Audio/assets/styles/thorium-web.audioPlayer.module.css */
1460
+ .thorium_web_audioPlayer_audioPlayerWrapper {
1461
+ display: flex;
1462
+ flex-direction: column;
1463
+ align-items: center;
1464
+ justify-content: center;
1465
+ box-sizing: border-box;
1466
+ gap: var(--th-layout-spacing);
1467
+ padding: var(--th-layout-spacing);
1468
+ height: 100%;
1469
+ width: 100%;
1470
+ overflow: hidden;
1471
+ }
1472
+ .thorium_web_audioPlayer_audioPlayerWrapperExpanded {
1473
+ display: flex;
1474
+ flex-direction: row;
1475
+ align-items: stretch;
1476
+ box-sizing: border-box;
1477
+ gap: var(--th-layout-spacing);
1478
+ padding: var(--th-layout-spacing);
1479
+ height: 100%;
1480
+ width: 100%;
1481
+ max-width: 960px;
1482
+ margin-inline: auto;
1483
+ container-type: inline-size;
1484
+ }
1485
+ .thorium_web_audioPlayer_audioPlayerExpandedStart {
1486
+ display: flex;
1487
+ flex-direction: column;
1488
+ align-items: center;
1489
+ justify-content: center;
1490
+ flex: 1 1 0;
1491
+ min-width: 0;
1492
+ gap: var(--th-layout-spacing);
1493
+ container-type: inline-size;
1494
+ }
1495
+ .thorium_web_audioPlayer_audioPlayerExpandedEnd {
1496
+ display: flex;
1497
+ flex-direction: column;
1498
+ align-items: center;
1499
+ justify-content: center;
1500
+ flex: 1 1 0;
1501
+ min-width: 0;
1502
+ gap: var(--th-layout-spacing);
1503
+ container-type: inline-size;
1504
+ }
1505
+ .thorium_web_audioPlayer_coverMetadataGroup {
1506
+ display: flex;
1507
+ flex-direction: column;
1508
+ align-items: center;
1509
+ gap: var(--th-layout-spacing);
1510
+ flex: 0 1 auto;
1511
+ width: 100%;
1512
+ }
1513
+
1514
+ /* src/components/assets/styles/thorium-web.reader.app.module.css */
1515
+ .thorium_web_reader_app_wrapper {
1516
+ height: 100%;
1517
+ width: 100%;
1518
+ margin: 0;
1519
+ }
1520
+ .thorium_web_reader_app_main {
1521
+ width: 100%;
1522
+ height: 100%;
1523
+ margin: 0;
1524
+ }
1525
+ .thorium_web_reader_app_shell {
1526
+ width: 100%;
1527
+ height: 100%;
1528
+ margin: 0;
1529
+ }
1530
+ .thorium_web_reader_app_leftDock {
1531
+ height: 100vh;
1532
+ height: 100dvh;
1533
+ }
1534
+ .thorium_web_reader_app_rightDock {
1535
+ height: 100vh;
1536
+ height: 100dvh;
1537
+ }
1538
+ .thorium_web_reader_app_bottomBar,
1539
+ .thorium_web_reader_app_topBar {
1540
+ box-sizing: border-box;
1541
+ gap: 2px;
1542
+ touch-action: manipulation;
1543
+ background-color: var(--th-theme-background);
1544
+ }
1545
+ .thorium_web_reader_app_bottomBar {
1546
+ display: flex;
1547
+ justify-content: center;
1548
+ align-items: center;
1549
+ }
1550
+ .thorium_web_reader_app_main .thorium_web_stackedUI {
1551
+ position: relative;
1552
+ display: flex;
1553
+ flex-direction: column;
1554
+ flex: 1 1 0;
1555
+ height: 100vh;
1556
+ height: 100dvh;
1557
+ max-height: 100%;
1558
+ background-color: var(--th-theme-background);
1559
+ }
1560
+ .thorium_web_stackedUI .thorium_web_reader_app_topBar,
1561
+ .thorium_web_stackedUI .thorium_web_reader_app_bottomBar {
1562
+ flex: 0 0 calc(var(--th-icon-size, 24px) * 2.5);
1563
+ height: calc(var(--th-icon-size, 24px) * 2.5);
1564
+ }
1565
+ .thorium_web_stackedUI.thorium_web_isImmersive:not(.thorium_web_isHovering) .thorium_web_reader_app_topBar,
1566
+ .thorium_web_stackedUI.thorium_web_isImmersive:not(.thorium_web_isHovering) .thorium_web_reader_app_bottomBar {
1567
+ opacity: var(--th-theme-immerse);
1568
+ }
1569
+ .thorium_web_reader_app_main .thorium_web_layeredUI {
1570
+ position: relative;
1571
+ top: 0;
1572
+ bottom: 0;
1573
+ left: 0;
1574
+ right: 0;
1575
+ height: 100vh;
1576
+ height: 100dvh;
1577
+ max-height: 100%;
1578
+ background-color: var(--th-theme-background);
1579
+ }
1580
+ .thorium_web_layeredUI .thorium_web_reader_app_topBar,
1581
+ .thorium_web_layeredUI .thorium_web_reader_app_bottomBar {
1582
+ position: absolute;
1583
+ left: 0;
1584
+ right: 0;
1585
+ height: calc(var(--th-icon-size, 24px) * 2.5);
1586
+ z-index: 2;
1587
+ box-shadow: var(--th-theme-elevate);
1588
+ overflow: hidden;
1589
+ transition-property: transform, box-shadow;
1590
+ transition-duration: 200ms;
1591
+ transition-timing-function: ease-in-out;
1592
+ transform: translateY(0);
1593
+ }
1594
+ .thorium_web_layeredUI .thorium_web_reader_app_topBar {
1595
+ top: 0;
1596
+ }
1597
+ .thorium_web_layeredUI .thorium_web_reader_app_bottomBar {
1598
+ bottom: 0;
1599
+ }
1600
+ .thorium_web_layeredUI.thorium_web_isImmersive:not(.thorium_web_isHovering) .thorium_web_reader_app_topBar {
1601
+ transform: translateY(calc(var(--th-icon-size, 24px) * -2.5));
1602
+ box-shadow: none;
1603
+ overflow: unset;
1604
+ }
1605
+ .thorium_web_layeredUI.thorium_web_isImmersive:not(.thorium_web_isHovering) .thorium_web_reader_app_bottomBar {
1606
+ transform: translateY(calc(var(--th-icon-size, 24px) * 2.5));
1607
+ box-shadow: none;
1608
+ }
1609
+ .thorium_web_reader_app_barOverlay {
1610
+ position: absolute;
1611
+ left: 0;
1612
+ right: 0;
1613
+ height: calc(var(--th-icon-size, 24px) * 2.5);
1614
+ pointer-events: auto;
1615
+ opacity: 0;
1616
+ z-index: 1000;
1617
+ }
1618
+ .thorium_web_reader_app_headerOverlay {
1619
+ position: absolute;
1620
+ left: 0;
1621
+ right: 0;
1622
+ height: calc(var(--th-icon-size, 24px) * 2.5);
1623
+ pointer-events: auto;
1624
+ opacity: 0;
1625
+ z-index: 1000;
1626
+ top: 0;
1627
+ }
1628
+ .thorium_web_reader_app_footerOverlay {
1629
+ position: absolute;
1630
+ left: 0;
1631
+ right: 0;
1632
+ height: calc(var(--th-icon-size, 24px) * 2.5);
1633
+ pointer-events: auto;
1634
+ opacity: 0;
1635
+ z-index: 1000;
1636
+ bottom: 0;
1637
+ }
1638
+ .thorium_web_reader_app_iframeContainer {
1639
+ contain: content;
1640
+ width: 100%;
1641
+ height: 100%;
1642
+ margin: 0 auto;
1643
+ }
1644
+ .thorium_web_reader_app_iframeContainer .readium-navigator-iframe {
1645
+ width: 100%;
1646
+ height: 100%;
1647
+ border-width: 0;
1648
+ }
1649
+ @keyframes thorium_web_reader_app_loading {
1050
1650
  0% {
1051
1651
  transform: rotate(0deg);
1052
1652
  }
@@ -1078,6 +1678,184 @@ input {
1078
1678
  width: 1px;
1079
1679
  }
1080
1680
 
1681
+ /* src/components/assets/styles/thorium-web.reader.header.module.css */
1682
+ .thorium_web_reader_header_header {
1683
+ box-sizing: border-box;
1684
+ display: grid;
1685
+ grid-template-areas: "header-start header-center header-end";
1686
+ grid-template-columns: 1fr 3fr 1fr;
1687
+ padding: 0.25rem 0.5rem 0;
1688
+ }
1689
+ .thorium_web_reader_header_backlinkWrapper {
1690
+ grid-area: header-start;
1691
+ justify-self: start;
1692
+ align-self: center;
1693
+ }
1694
+ .thorium_web_reader_header_header h1 {
1695
+ font-size: 1rem;
1696
+ color: var(--th-theme-text);
1697
+ font-weight: normal;
1698
+ grid-area: header-center;
1699
+ justify-self: center;
1700
+ align-self: center;
1701
+ max-width: 100%;
1702
+ white-space: nowrap;
1703
+ overflow: hidden;
1704
+ text-overflow: ellipsis;
1705
+ transition: opacity 200ms ease-in-out;
1706
+ }
1707
+ .thorium_web_reader_header_actionsWrapper {
1708
+ grid-area: header-end;
1709
+ justify-self: end;
1710
+ display: flex;
1711
+ align-items: center;
1712
+ gap: 2px;
1713
+ }
1714
+
1715
+ /* src/components/assets/styles/thorium-web.backlink.module.css */
1716
+ .thorium_web_backlink_link {
1717
+ display: block;
1718
+ box-sizing: content-box;
1719
+ padding: calc(var(--th-icon-size, 24px) * (1/4));
1720
+ text-align: start;
1721
+ border-radius: var(--th-layout-radius);
1722
+ max-width: 100%;
1723
+ height: var(--th-icon-size, 24px);
1724
+ }
1725
+ .thorium_web_backlink_link svg {
1726
+ fill: var(--th-theme-text);
1727
+ max-width: 100%;
1728
+ height: 100%;
1729
+ }
1730
+ .thorium_web_backlink_link img {
1731
+ max-width: 100%;
1732
+ height: 100%;
1733
+ }
1734
+ .thorium_web_backlink_link[data-hovered] {
1735
+ background-color: var(--th-theme-hover);
1736
+ color: var(--th-theme-onHover);
1737
+ }
1738
+ .thorium_web_backlink_link[data-hovered] svg {
1739
+ fill: var(--th-theme-onHover);
1740
+ }
1741
+ .thorium_web_backlink_link[data-focus-visible] {
1742
+ outline: 2px solid var(--th-theme-focus);
1743
+ }
1744
+ .thorium_web_backlink_link[data-disabled] {
1745
+ color: var(--th-theme-disable);
1746
+ }
1747
+ .thorium_web_backlink_link[data-disabled] svg {
1748
+ fill: var(--th-theme-disable);
1749
+ }
1750
+
1751
+ /* src/components/Audio/assets/styles/thorium-web.audioCover.module.css */
1752
+ .thorium_web_audioCover_audioCoverSection {
1753
+ position: relative;
1754
+ display: flex;
1755
+ justify-content: center;
1756
+ align-items: center;
1757
+ flex: 1 1 auto;
1758
+ min-height: 100px;
1759
+ max-height: var(--th-layout-constraints-cover, 300px);
1760
+ width: 100%;
1761
+ margin: 0;
1762
+ }
1763
+ .thorium_web_audioCover_audioCoverImage {
1764
+ height: 100%;
1765
+ width: auto;
1766
+ max-width: 100%;
1767
+ object-fit: contain;
1768
+ border-radius: var(--th-layout-radius);
1769
+ filter: drop-shadow(var(--th-theme-elevate));
1770
+ }
1771
+ .thorium_web_audioCover_audioCoverPlaceholder {
1772
+ max-height: var(--th-layout-constraints-cover, 300px);
1773
+ width: auto;
1774
+ max-width: 100%;
1775
+ aspect-ratio: 1 / 1;
1776
+ box-sizing: border-box;
1777
+ display: flex;
1778
+ align-items: center;
1779
+ justify-content: center;
1780
+ background-color: var(--th-theme-background);
1781
+ border-radius: var(--th-layout-radius);
1782
+ border: 1px solid var(--th-theme-subdue);
1783
+ filter: drop-shadow(var(--th-theme-elevate));
1784
+ }
1785
+ .thorium_web_audioCover_audioCoverPlaceholder svg {
1786
+ width: 50%;
1787
+ height: 50%;
1788
+ fill: var(--th-theme-text);
1789
+ }
1790
+ .thorium_web_audioCover_audioCoverSyncOverlay {
1791
+ position: absolute;
1792
+ top: 50%;
1793
+ left: 50%;
1794
+ transform: translate(-50%, -50%);
1795
+ max-height: var(--th-layout-constraints-cover, 300px);
1796
+ width: auto;
1797
+ max-width: 100%;
1798
+ aspect-ratio: 1 / 1;
1799
+ display: flex;
1800
+ align-items: center;
1801
+ justify-content: center;
1802
+ border-radius: var(--th-layout-radius);
1803
+ background-color: color-mix(in srgb, var(--th-theme-background) 60%, transparent);
1804
+ }
1805
+ .thorium_web_audioCover_audioCoverSyncIcon {
1806
+ width: calc(var(--th-icon-size, 24px) * 2);
1807
+ height: calc(var(--th-icon-size, 24px) * 2);
1808
+ fill: var(--th-theme-text);
1809
+ animation: thorium_web_audioCover_audioCoverSpin 1.2s linear infinite;
1810
+ }
1811
+ @keyframes thorium_web_audioCover_audioCoverSpin {
1812
+ from {
1813
+ transform: rotate(0deg);
1814
+ }
1815
+ to {
1816
+ transform: rotate(360deg);
1817
+ }
1818
+ }
1819
+
1820
+ /* src/components/Audio/assets/styles/thorium-web.audioMetadata.module.css */
1821
+ .thorium_web_audioMetadata_audioMetadata {
1822
+ display: flex;
1823
+ flex-direction: column;
1824
+ align-items: center;
1825
+ margin: 0;
1826
+ gap: var(--th-layout-spacing);
1827
+ text-align: center;
1828
+ }
1829
+ .thorium_web_audioMetadata_audioMetadata hgroup {
1830
+ display: flex;
1831
+ flex-direction: column;
1832
+ align-items: center;
1833
+ gap: 0;
1834
+ margin: 0;
1835
+ }
1836
+ .thorium_web_audioMetadata_audioMetadataTitle {
1837
+ margin: 0;
1838
+ font-size: 1em;
1839
+ font-weight: bold;
1840
+ color: var(--th-theme-text);
1841
+ }
1842
+ .thorium_web_audioMetadata_audioMetadataSubtitle {
1843
+ display: block;
1844
+ margin: 0;
1845
+ margin-top: calc(var(--th-layout-spacing) / 4);
1846
+ font-weight: normal;
1847
+ color: var(--th-theme-text);
1848
+ }
1849
+ .thorium_web_audioMetadata_audioMetadataAuthors {
1850
+ margin: 0;
1851
+ color: var(--th-theme-subdue-text);
1852
+ }
1853
+ @container (max-width: 300px) {
1854
+ .thorium_web_audioMetadata_audioMetadata {
1855
+ font-size: 0.875rem;
1856
+ }
1857
+ }
1858
+
1081
1859
  /* src/components/assets/styles/thorium-web.reader.paginatedArrow.module.css */
1082
1860
  .thorium_web_reader_paginatedArrow_container {
1083
1861
  position: absolute;
@@ -1146,73 +1924,6 @@ input {
1146
1924
  height: 100%;
1147
1925
  }
1148
1926
 
1149
- /* src/components/assets/styles/thorium-web.reader.header.module.css */
1150
- .thorium_web_reader_header_header {
1151
- box-sizing: border-box;
1152
- display: grid;
1153
- grid-template-areas: "header-start header-center header-end";
1154
- grid-template-columns: 1fr 3fr 1fr;
1155
- padding: 0.25rem 0.5rem 0;
1156
- }
1157
- .thorium_web_reader_header_backlinkWrapper {
1158
- grid-area: header-start;
1159
- justify-self: start;
1160
- align-self: center;
1161
- }
1162
- .thorium_web_reader_header_header h1 {
1163
- font-size: 1rem;
1164
- color: var(--th-theme-text);
1165
- font-weight: normal;
1166
- grid-area: header-center;
1167
- justify-self: center;
1168
- align-self: center;
1169
- max-width: 100%;
1170
- white-space: nowrap;
1171
- overflow: hidden;
1172
- text-overflow: ellipsis;
1173
- transition: opacity 200ms ease-in-out;
1174
- }
1175
- .thorium_web_reader_header_actionsWrapper {
1176
- grid-area: header-end;
1177
- justify-self: end;
1178
- display: flex;
1179
- align-items: center;
1180
- gap: 2px;
1181
- }
1182
-
1183
- /* src/components/assets/styles/thorium-web.backlink.module.css */
1184
- .thorium_web_backlink_link {
1185
- display: block;
1186
- box-sizing: content-box;
1187
- padding: calc(var(--th-icon-size, 24px) * (1/4));
1188
- text-align: start;
1189
- border-radius: var(--th-layout-radius);
1190
- max-width: 100%;
1191
- height: var(--th-icon-size, 24px);
1192
- }
1193
- .thorium_web_backlink_link svg {
1194
- fill: var(--th-theme-text);
1195
- max-width: 100%;
1196
- height: 100%;
1197
- }
1198
- .thorium_web_backlink_link img {
1199
- max-width: 100%;
1200
- height: 100%;
1201
- }
1202
- .thorium_web_backlink_link[data-hovered] {
1203
- background-color: var(--th-theme-hover);
1204
- color: var(--th-theme-onHover);
1205
- }
1206
- .thorium_web_backlink_link[data-focus-visible] {
1207
- outline: 2px solid var(--th-theme-focus);
1208
- }
1209
- .thorium_web_backlink_link[data-disabled] {
1210
- color: var(--th-theme-disable);
1211
- }
1212
- .thorium_web_backlink_link[data-disabled] svg {
1213
- fill: var(--th-theme-disable);
1214
- }
1215
-
1216
1927
  /* src/components/assets/styles/thorium-web.reader.pagination.module.css */
1217
1928
  .thorium_web_reader_pagination_wrapper {
1218
1929
  box-sizing: border-box;
@@ -1278,7 +1989,7 @@ input {
1278
1989
  flex: none;
1279
1990
  width: var(--th-icon-size, 24px);
1280
1991
  height: var(--th-icon-size, 24px);
1281
- fill: var(--th-theme-text);
1992
+ fill: currentColor;
1282
1993
  }
1283
1994
 
1284
1995
  /* src/components/assets/styles/thorium-web.reader.progression.module.css */
@@ -1287,4 +1998,132 @@ input {
1287
1998
  font-variant-numeric: lining-nums tabular-nums;
1288
1999
  text-align: center;
1289
2000
  }
2001
+
2002
+ /* src/components/Misc/assets/styles/thorium-web.publicationGrid.module.css */
2003
+ .thorium_web_publicationGrid_wrapper {
2004
+ --th-color-text: #333;
2005
+ --th-color-text-secondary: #666;
2006
+ --th-color-background: #fff;
2007
+ --th-color-primary: #e0e0e0;
2008
+ --th-color-secondary: #fafafa;
2009
+ padding: 1rem;
2010
+ width: 100%;
2011
+ }
2012
+ .thorium_web_publicationGrid_card {
2013
+ display: flex;
2014
+ text-decoration: none;
2015
+ color: inherit;
2016
+ border: 1px solid var(--th-color-primary);
2017
+ border-radius: 8px;
2018
+ overflow: hidden;
2019
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
2020
+ background: white;
2021
+ }
2022
+ .thorium_web_publicationGrid_card:hover {
2023
+ transform: translateY(-2px);
2024
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
2025
+ }
2026
+ .thorium_web_publicationGrid_cover {
2027
+ width: 120px;
2028
+ height: 180px;
2029
+ flex-shrink: 0;
2030
+ margin: 0;
2031
+ background-color: var(--th-color-secondary);
2032
+ }
2033
+ .thorium_web_publicationGrid_image {
2034
+ width: 120px;
2035
+ height: 180px;
2036
+ object-fit: contain;
2037
+ }
2038
+ .thorium_web_publicationGrid_info {
2039
+ padding: 1rem;
2040
+ display: flex;
2041
+ flex-direction: column;
2042
+ flex-grow: 1;
2043
+ }
2044
+ .thorium_web_publicationGrid_title {
2045
+ margin: 0 0 0.5rem;
2046
+ font-weight: 600;
2047
+ font-size: 1.25rem;
2048
+ color: var(--th-color-text);
2049
+ }
2050
+ .thorium_web_publicationGrid_author {
2051
+ margin: 0 0 0.75rem;
2052
+ color: var(--th-color-text-secondary);
2053
+ font-size: 1rem;
2054
+ }
2055
+ .thorium_web_publicationGrid_rendition {
2056
+ background: var(--th-color-primary);
2057
+ color: var(--th-color-text);
2058
+ padding: 0.25rem 0.75rem;
2059
+ margin: 0;
2060
+ border-radius: 20px;
2061
+ font-size: 0.875rem;
2062
+ font-weight: 500;
2063
+ margin-top: auto;
2064
+ align-self: flex-start;
2065
+ }
2066
+
2067
+ /* src/components/Misc/assets/styles/thorium-web.loader.module.css */
2068
+ .thorium_web_loader_wrapper {
2069
+ width: 100%;
2070
+ height: 100dvh;
2071
+ height: 100vh;
2072
+ }
2073
+ .thorium_web_loader_loader {
2074
+ display: flex;
2075
+ justify-content: center;
2076
+ align-items: center;
2077
+ width: 100%;
2078
+ height: 100%;
2079
+ color: var(--th-theme-text);
2080
+ background-color: var(--th-theme-background);
2081
+ font-weight: bold;
2082
+ }
2083
+ .thorium_web_loader_loader::after {
2084
+ content: "...";
2085
+ overflow: hidden;
2086
+ display: inline-block;
2087
+ vertical-align: bottom;
2088
+ animation: thorium_web_loader_ellipsis-dot 1s infinite 300ms;
2089
+ animation-fill-mode: forwards;
2090
+ width: 3ch;
2091
+ }
2092
+ @keyframes thorium_web_loader_ellipsis-dot {
2093
+ 25% {
2094
+ content: "";
2095
+ }
2096
+ 50% {
2097
+ content: ".";
2098
+ }
2099
+ 75% {
2100
+ content: "..";
2101
+ }
2102
+ 100% {
2103
+ content: "...";
2104
+ }
2105
+ }
2106
+
2107
+ /* src/components/Misc/assets/styles/thorium-web.error.module.css */
2108
+ .thorium_web_error_wrapper {
2109
+ --th-color-text: #333;
2110
+ --th-color-text-secondary: #666;
2111
+ --th-color-background: #fff;
2112
+ padding: 2rem;
2113
+ text-align: center;
2114
+ max-width: 600px;
2115
+ margin: 0 auto;
2116
+ }
2117
+ .thorium_web_error_title {
2118
+ font-size: 1.5rem;
2119
+ font-weight: 600;
2120
+ color: var(--th-color-text);
2121
+ margin: 0 0 1rem 0;
2122
+ }
2123
+ .thorium_web_error_message {
2124
+ font-size: 1.125rem;
2125
+ color: var(--th-color-text-secondary);
2126
+ line-height: 1.6;
2127
+ margin: 0 0 1.5rem 0;
2128
+ }
1290
2129
  /*# sourceMappingURL=index.css.map */