@edrlab/thorium-web 1.4.0 → 1.5.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/{ThPreferencesAdapter-L1H6gzmu.d.mts → ThPreferencesAdapter-B3a-f5v-.d.mts} +25 -18
- package/dist/{ThSettingsWrapper-DWEA4hYF.d.mts → ThSettingsWrapper-DtzcwzYX.d.mts} +4 -4
- package/dist/{actions-BjeRjaJU.d.mts → actions-C33UN3Ji.d.mts} +18 -4
- package/dist/{actionsReducer-B32cq2mB.d.mts → actionsReducer-Bzcj3wk3.d.mts} +1 -1
- package/dist/{chunk-NUXGQWED.mjs → chunk-2NCN2AG2.mjs} +3 -3
- package/dist/{chunk-NUXGQWED.mjs.map → chunk-2NCN2AG2.mjs.map} +1 -1
- package/dist/{chunk-IVXRCKWR.mjs → chunk-2T65MDBR.mjs} +4 -4
- package/dist/{chunk-IVXRCKWR.mjs.map → chunk-2T65MDBR.mjs.map} +1 -1
- package/dist/{chunk-KVUG6BNI.mjs → chunk-63LKYJFG.mjs} +62 -56
- package/dist/chunk-63LKYJFG.mjs.map +1 -0
- package/dist/chunk-AQSJDL63.mjs +193 -0
- package/dist/chunk-AQSJDL63.mjs.map +1 -0
- package/dist/{chunk-TSLTLQ6O.mjs → chunk-BBCSLDQT.mjs} +144 -86
- package/dist/chunk-BBCSLDQT.mjs.map +1 -0
- package/dist/{chunk-QUSGPT5M.mjs → chunk-BCXKBHU3.mjs} +34 -15
- package/dist/chunk-BCXKBHU3.mjs.map +1 -0
- package/dist/{chunk-T5ENYSDJ.mjs → chunk-DQDOOTCE.mjs} +3 -3
- package/dist/{chunk-T5ENYSDJ.mjs.map → chunk-DQDOOTCE.mjs.map} +1 -1
- package/dist/chunk-GNROODJB.mjs +9 -0
- package/dist/chunk-GNROODJB.mjs.map +1 -0
- package/dist/{chunk-SZAVAQ6S.mjs → chunk-GRYEOCGD.mjs} +8 -5
- package/dist/chunk-GRYEOCGD.mjs.map +1 -0
- package/dist/{chunk-PXXWEMNL.mjs → chunk-KJ55Q63A.mjs} +220 -106
- package/dist/chunk-KJ55Q63A.mjs.map +1 -0
- package/dist/{chunk-5LUMM7FW.mjs → chunk-KOR74F6M.mjs} +9 -41
- package/dist/chunk-KOR74F6M.mjs.map +1 -0
- package/dist/{chunk-WLVE3WNW.mjs → chunk-PAFJZH7O.mjs} +12 -7
- package/dist/chunk-PAFJZH7O.mjs.map +1 -0
- package/dist/{chunk-XRFLDNAY.mjs → chunk-PRQBFBJ7.mjs} +123 -56
- package/dist/chunk-PRQBFBJ7.mjs.map +1 -0
- package/dist/{chunk-6MONB2DN.mjs → chunk-Y5X74VW7.mjs} +52 -146
- package/dist/chunk-Y5X74VW7.mjs.map +1 -0
- package/dist/{chunk-P6ILEQ5P.mjs → chunk-ZD4LTF6G.mjs} +17 -9
- package/dist/chunk-ZD4LTF6G.mjs.map +1 -0
- package/dist/components/Audio/index.css +12 -1
- package/dist/components/Audio/index.css.map +1 -1
- package/dist/components/Audio/index.d.mts +17 -15
- package/dist/components/Audio/index.mjs +11 -11
- package/dist/components/Epub/index.css +12 -1
- package/dist/components/Epub/index.css.map +1 -1
- package/dist/components/Epub/index.d.mts +14 -13
- package/dist/components/Epub/index.mjs +12 -12
- package/dist/components/Misc/index.mjs +5 -5
- package/dist/components/Reader/index.css +12 -1
- package/dist/components/Reader/index.css.map +1 -1
- package/dist/components/Reader/index.d.mts +12 -11
- package/dist/components/Reader/index.mjs +26 -24
- package/dist/components/Reader/index.mjs.map +1 -1
- package/dist/components/WebPub/index.css +12 -1
- package/dist/components/WebPub/index.css.map +1 -1
- package/dist/components/WebPub/index.d.mts +14 -13
- package/dist/components/WebPub/index.mjs +12 -12
- package/dist/core/Components/index.d.mts +7 -6
- package/dist/core/Components/index.mjs +2 -2
- package/dist/core/Helpers/index.d.mts +1 -1
- package/dist/core/Helpers/index.mjs +1 -1
- package/dist/core/Hooks/index.d.mts +6 -5
- package/dist/core/Hooks/index.mjs +1 -1
- package/dist/i18n/index.mjs +3 -3
- package/dist/keyboardUtilities-BCP3UcLb.d.mts +30 -0
- package/dist/lib/index.d.mts +17 -9
- package/dist/lib/index.mjs +2 -2
- package/dist/locales/da/thorium-web.json +37 -2
- package/dist/locales/fi/thorium-web.json +1 -1
- package/dist/locales/fr/thorium-web.json +1 -1
- package/dist/locales/he/thorium-web.json +9 -0
- package/dist/locales/it/thorium-web.json +22 -0
- package/dist/locales/lt/thorium-web.json +26 -1
- package/dist/locales/sv/thorium-web.json +22 -0
- package/dist/next-lib/index.mjs +1 -1
- package/dist/next-lib/index.mjs.map +1 -1
- package/dist/preferences/index.d.mts +14 -23
- package/dist/preferences/index.mjs +4 -4
- package/dist/{settingsReducer-DLaT2wUB.d.mts → settingsReducer-Pp9aoiiC.d.mts} +1 -1
- package/dist/{useAudioNavigator-CWXyNWq1.d.mts → useAudioNavigator-pGwxhXLj.d.mts} +4 -1
- package/dist/{useContrast-Bo7cDw_X.d.mts → useContrast-Bl08zDTU.d.mts} +2 -7
- package/dist/{usePreferences-D8NU1yhP.d.mts → usePreferences-Cy7-JN2x.d.mts} +4 -8
- package/dist/{useReaderTransitions-BQGzKeY2.d.mts → useReaderTransitions-Zvomj9RQ.d.mts} +30 -21
- package/package.json +7 -7
- package/dist/chunk-5LUMM7FW.mjs.map +0 -1
- package/dist/chunk-6MONB2DN.mjs.map +0 -1
- package/dist/chunk-B3WDMWCT.mjs +0 -9
- package/dist/chunk-B3WDMWCT.mjs.map +0 -1
- package/dist/chunk-KVUG6BNI.mjs.map +0 -1
- package/dist/chunk-MLEYTQGK.mjs +0 -60
- package/dist/chunk-MLEYTQGK.mjs.map +0 -1
- package/dist/chunk-P6ILEQ5P.mjs.map +0 -1
- package/dist/chunk-PXXWEMNL.mjs.map +0 -1
- package/dist/chunk-QUSGPT5M.mjs.map +0 -1
- package/dist/chunk-SZAVAQ6S.mjs.map +0 -1
- package/dist/chunk-TSLTLQ6O.mjs.map +0 -1
- package/dist/chunk-WLVE3WNW.mjs.map +0 -1
- package/dist/chunk-XRFLDNAY.mjs.map +0 -1
- package/dist/keyboardUtilities-BWAyLS_D.d.mts +0 -56
|
@@ -3,12 +3,13 @@ import { useBreakpoints, useForcedColors, useMonochrome, useReducedMotion, useRe
|
|
|
3
3
|
import { ThGlobalPreferencesContext } from './chunk-AE6P4KJB.mjs';
|
|
4
4
|
import { useAppSelector } from './chunk-A575ZW4A.mjs';
|
|
5
5
|
import { useColorScheme, useContrast } from './chunk-NQ2ZSGCX.mjs';
|
|
6
|
-
import { isSupportedLocale, supportedLocales } from './chunk-
|
|
6
|
+
import { isSupportedLocale, supportedLocales } from './chunk-GNROODJB.mjs';
|
|
7
7
|
import { createContext, useMemo, useState, useCallback, useEffect, useContext, useRef } from 'react';
|
|
8
8
|
import { I18nProvider, useLocale } from 'react-aria';
|
|
9
9
|
import { jsx } from 'react/jsx-runtime';
|
|
10
10
|
import fontStacks from '@readium/css/css/vars/fontStacks.json';
|
|
11
11
|
import ReadiumCSSColors from '@readium/css/css/vars/colors.json';
|
|
12
|
+
import ReadiumCSSSettings from '@readium/css/css/vars/settings.json';
|
|
12
13
|
|
|
13
14
|
// src/preferences/globalPreferences.ts
|
|
14
15
|
var createGlobalPreferences = (params) => {
|
|
@@ -79,6 +80,11 @@ function ThGlobalPreferencesProvider({ adapter, initialPreferences, children })
|
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
// src/preferences/models/actions.ts
|
|
83
|
+
var TEXT_INPUT_SELECTORS = [
|
|
84
|
+
"input:not([type='button']):not([type='submit']):not([type='reset']):not([type='file']):not([type='checkbox']):not([type='radio'])",
|
|
85
|
+
"textarea",
|
|
86
|
+
"[contenteditable]"
|
|
87
|
+
];
|
|
82
88
|
var ThActionsKeys = /* @__PURE__ */ ((ThActionsKeys3) => {
|
|
83
89
|
ThActionsKeys3["fullscreen"] = "fullscreen";
|
|
84
90
|
ThActionsKeys3["jumpToPosition"] = "jumpToPosition";
|
|
@@ -120,8 +126,10 @@ var defaultActionKeysObject = {
|
|
|
120
126
|
};
|
|
121
127
|
var defaultSettingsAction = {
|
|
122
128
|
visibility: "partially" /* partially */,
|
|
123
|
-
shortcut:
|
|
124
|
-
|
|
129
|
+
shortcut: {
|
|
130
|
+
label: "P",
|
|
131
|
+
keyCombos: [{ keyCode: 80, shift: true, alt: true, suppressOnInteractiveElement: TEXT_INPUT_SELECTORS }]
|
|
132
|
+
},
|
|
125
133
|
sheet: {
|
|
126
134
|
defaultSheet: "popover" /* popover */,
|
|
127
135
|
breakpoints: {
|
|
@@ -145,8 +153,10 @@ var defaultFullscreenAction = {
|
|
|
145
153
|
};
|
|
146
154
|
var defaultTocAction = {
|
|
147
155
|
visibility: "partially" /* partially */,
|
|
148
|
-
shortcut:
|
|
149
|
-
|
|
156
|
+
shortcut: {
|
|
157
|
+
label: "T",
|
|
158
|
+
keyCombos: [{ keyCode: 84, shift: true, alt: true, suppressOnInteractiveElement: TEXT_INPUT_SELECTORS }]
|
|
159
|
+
},
|
|
150
160
|
sheet: {
|
|
151
161
|
defaultSheet: "popover" /* popover */,
|
|
152
162
|
breakpoints: {
|
|
@@ -164,8 +174,10 @@ var defaultTocAction = {
|
|
|
164
174
|
};
|
|
165
175
|
var defaultJumpToPositionAction = {
|
|
166
176
|
visibility: "overflow" /* overflow */,
|
|
167
|
-
shortcut:
|
|
168
|
-
|
|
177
|
+
shortcut: {
|
|
178
|
+
label: "J",
|
|
179
|
+
keyCombos: [{ keyCode: 74, shift: true, alt: true, suppressOnInteractiveElement: TEXT_INPUT_SELECTORS }]
|
|
180
|
+
},
|
|
169
181
|
sheet: {
|
|
170
182
|
defaultSheet: "popover" /* popover */,
|
|
171
183
|
breakpoints: {
|
|
@@ -438,7 +450,10 @@ var defaultAudioVolumeAction = {
|
|
|
438
450
|
};
|
|
439
451
|
var defaultAudioPlaybackRateAction = {
|
|
440
452
|
visibility: "always" /* always */,
|
|
441
|
-
shortcut:
|
|
453
|
+
shortcut: {
|
|
454
|
+
label: "R",
|
|
455
|
+
keyCombos: [{ keyCode: 82, shift: true, alt: true, suppressOnInteractiveElement: TEXT_INPUT_SELECTORS }]
|
|
456
|
+
},
|
|
442
457
|
sheet: {
|
|
443
458
|
defaultSheet: "compactPopover" /* compactPopover */,
|
|
444
459
|
breakpoints: { ["compact" /* compact */]: "bottomSheet" /* bottomSheet */ }
|
|
@@ -450,7 +465,10 @@ var defaultAudioPlaybackRateAction = {
|
|
|
450
465
|
};
|
|
451
466
|
var defaultAudioSleepTimerAction = {
|
|
452
467
|
visibility: "partially" /* partially */,
|
|
453
|
-
shortcut:
|
|
468
|
+
shortcut: {
|
|
469
|
+
label: "S",
|
|
470
|
+
keyCombos: [{ keyCode: 83, shift: true, alt: true, suppressOnInteractiveElement: TEXT_INPUT_SELECTORS }]
|
|
471
|
+
},
|
|
454
472
|
sheet: {
|
|
455
473
|
defaultSheet: "modal" /* modal */,
|
|
456
474
|
breakpoints: {
|
|
@@ -469,7 +487,10 @@ var defaultAudioRemotePlaybackAction = {
|
|
|
469
487
|
};
|
|
470
488
|
var defaultAudioTocAction = {
|
|
471
489
|
visibility: "partially" /* partially */,
|
|
472
|
-
shortcut:
|
|
490
|
+
shortcut: {
|
|
491
|
+
label: "T",
|
|
492
|
+
keyCombos: [{ keyCode: 84, shift: true, alt: true, suppressOnInteractiveElement: TEXT_INPUT_SELECTORS }]
|
|
493
|
+
},
|
|
473
494
|
sheet: {
|
|
474
495
|
defaultSheet: "modal" /* modal */,
|
|
475
496
|
breakpoints: {
|
|
@@ -796,7 +817,7 @@ var readiumCSSFontCollection = {
|
|
|
796
817
|
label: "reader.preferences.fontFamily.oldStyle.descriptive",
|
|
797
818
|
source: { type: "system" },
|
|
798
819
|
spec: {
|
|
799
|
-
family: fontStacks.
|
|
820
|
+
family: fontStacks.oldStyleTf,
|
|
800
821
|
weights: { type: "static", values: [400, 700] },
|
|
801
822
|
fallbacks: []
|
|
802
823
|
}
|
|
@@ -807,7 +828,7 @@ var readiumCSSFontCollection = {
|
|
|
807
828
|
label: "reader.preferences.fontFamily.modern.descriptive",
|
|
808
829
|
source: { type: "system" },
|
|
809
830
|
spec: {
|
|
810
|
-
family: fontStacks.
|
|
831
|
+
family: fontStacks.modernTf,
|
|
811
832
|
weights: { type: "static", values: [400, 700] },
|
|
812
833
|
fallbacks: []
|
|
813
834
|
}
|
|
@@ -818,7 +839,7 @@ var readiumCSSFontCollection = {
|
|
|
818
839
|
label: "reader.preferences.fontFamily.sans",
|
|
819
840
|
source: { type: "system" },
|
|
820
841
|
spec: {
|
|
821
|
-
family: fontStacks.
|
|
842
|
+
family: fontStacks.sansTf,
|
|
822
843
|
weights: { type: "static", values: [400, 700] },
|
|
823
844
|
fallbacks: []
|
|
824
845
|
}
|
|
@@ -829,7 +850,7 @@ var readiumCSSFontCollection = {
|
|
|
829
850
|
label: "reader.preferences.fontFamily.humanist.descriptive",
|
|
830
851
|
source: { type: "system" },
|
|
831
852
|
spec: {
|
|
832
|
-
family: fontStacks.
|
|
853
|
+
family: fontStacks.humanistTf,
|
|
833
854
|
weights: { type: "static", values: [400, 700] },
|
|
834
855
|
fallbacks: []
|
|
835
856
|
}
|
|
@@ -840,7 +861,7 @@ var readiumCSSFontCollection = {
|
|
|
840
861
|
label: "reader.preferences.fontFamily.monospace",
|
|
841
862
|
source: { type: "system" },
|
|
842
863
|
spec: {
|
|
843
|
-
family: fontStacks.
|
|
864
|
+
family: fontStacks.monospaceTf,
|
|
844
865
|
weights: { type: "static", values: [400, 700] },
|
|
845
866
|
fallbacks: []
|
|
846
867
|
}
|
|
@@ -987,8 +1008,8 @@ var chineseTraditionalCollection = {
|
|
|
987
1008
|
})
|
|
988
1009
|
};
|
|
989
1010
|
var japaneseCollection = {
|
|
990
|
-
"japanese-sans": sysFontDef("japanese-sans", "Sans-Serif",
|
|
991
|
-
"japanese-serif": sysFontDef("japanese-serif", "Serif",
|
|
1011
|
+
"japanese-sans": sysFontDef("japanese-sans", "Sans-Serif", fontStacks["sans-serif-ja"]),
|
|
1012
|
+
"japanese-serif": sysFontDef("japanese-serif", "Serif", fontStacks["serif-ja"]),
|
|
992
1013
|
...createDefinitionsFromGoogleFonts({
|
|
993
1014
|
cssUrl: "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900",
|
|
994
1015
|
options: {
|
|
@@ -1003,8 +1024,8 @@ var japaneseCollection = {
|
|
|
1003
1024
|
})
|
|
1004
1025
|
};
|
|
1005
1026
|
var japaneseVerticalCollection = {
|
|
1006
|
-
"japanese-v-
|
|
1007
|
-
"japanese-v-
|
|
1027
|
+
"japanese-v-sans": sysFontDef("japanese-v-sans", "Sans-Serif", fontStacks["sans-serif-ja-v"]),
|
|
1028
|
+
"japanese-v-serif": sysFontDef("japanese-v-serif", "Serif", fontStacks["serif-ja-v"]),
|
|
1008
1029
|
...createDefinitionsFromGoogleFonts({
|
|
1009
1030
|
cssUrl: "https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&family=Shippori+Mincho:wght@400..800&family=Noto+Sans+JP:wght@100..900",
|
|
1010
1031
|
options: {
|
|
@@ -1142,9 +1163,9 @@ var ThThemeKeys = /* @__PURE__ */ ((ThThemeKeys3) => {
|
|
|
1142
1163
|
return ThThemeKeys3;
|
|
1143
1164
|
})(ThThemeKeys || {});
|
|
1144
1165
|
var lightTheme = {
|
|
1145
|
-
background: ReadiumCSSColors.
|
|
1166
|
+
background: ReadiumCSSColors.backgroundColor,
|
|
1146
1167
|
// Color of background
|
|
1147
|
-
text: ReadiumCSSColors.
|
|
1168
|
+
text: ReadiumCSSColors.textColor,
|
|
1148
1169
|
// Color of text
|
|
1149
1170
|
link: "#0000ee",
|
|
1150
1171
|
// Color of links
|
|
@@ -1156,7 +1177,7 @@ var lightTheme = {
|
|
|
1156
1177
|
// color for :disabled
|
|
1157
1178
|
hover: "#d9d9d9",
|
|
1158
1179
|
// color of background for :hover
|
|
1159
|
-
onHover: ReadiumCSSColors.
|
|
1180
|
+
onHover: ReadiumCSSColors.textColor,
|
|
1160
1181
|
// color of text for :hover
|
|
1161
1182
|
select: "#b4d8fe",
|
|
1162
1183
|
// color of selected background
|
|
@@ -1467,7 +1488,8 @@ var defaultAudioPreferences = createAudioPreferences({
|
|
|
1467
1488
|
},
|
|
1468
1489
|
shortcuts: {
|
|
1469
1490
|
representation: "symbol" /* symbol */,
|
|
1470
|
-
joiner: "+"
|
|
1491
|
+
joiner: "+",
|
|
1492
|
+
displayIn: ["tooltip", "menuItem"]
|
|
1471
1493
|
},
|
|
1472
1494
|
docking: {
|
|
1473
1495
|
displayOrder: [
|
|
@@ -1954,7 +1976,8 @@ var defaultPreferences = createPreferences({
|
|
|
1954
1976
|
},
|
|
1955
1977
|
shortcuts: {
|
|
1956
1978
|
representation: "symbol" /* symbol */,
|
|
1957
|
-
joiner: "+"
|
|
1979
|
+
joiner: "+",
|
|
1980
|
+
displayIn: ["tooltip", "menuItem"]
|
|
1958
1981
|
},
|
|
1959
1982
|
actions: {
|
|
1960
1983
|
reflowOrder: [
|
|
@@ -1974,13 +1997,7 @@ var defaultPreferences = createPreferences({
|
|
|
1974
1997
|
"toc" /* toc */,
|
|
1975
1998
|
"fullscreen" /* fullscreen */
|
|
1976
1999
|
],
|
|
1977
|
-
collapse:
|
|
1978
|
-
// Number of partially icons to display
|
|
1979
|
-
// value "all" a keyword for the length of displayOrder above
|
|
1980
|
-
// Icons with visibility always are excluded from collapsing
|
|
1981
|
-
["compact" /* compact */]: 2,
|
|
1982
|
-
["medium" /* medium */]: 3
|
|
1983
|
-
},
|
|
2000
|
+
collapse: true,
|
|
1984
2001
|
keys: {
|
|
1985
2002
|
["settings" /* settings */]: defaultSettingsAction,
|
|
1986
2003
|
["fullscreen" /* fullscreen */]: defaultFullscreenAction,
|
|
@@ -2633,27 +2650,31 @@ var usePreferenceKeys = () => {
|
|
|
2633
2650
|
webPubSpacingPresetKeys
|
|
2634
2651
|
};
|
|
2635
2652
|
};
|
|
2636
|
-
var
|
|
2637
|
-
"
|
|
2638
|
-
"
|
|
2639
|
-
"
|
|
2640
|
-
"
|
|
2641
|
-
"
|
|
2642
|
-
"
|
|
2643
|
-
|
|
2653
|
+
var READIUM_CSS_TO_SETTINGS_KEY = {
|
|
2654
|
+
bodyHyphens: "hyphens" /* hyphens */,
|
|
2655
|
+
a11yNormalize: "textNormalize" /* textNormalize */,
|
|
2656
|
+
letterSpacing: "letterSpacing" /* letterSpacing */,
|
|
2657
|
+
textAlign: "textAlign" /* textAlign */,
|
|
2658
|
+
paraIndent: "paragraphIndent" /* paragraphIndent */,
|
|
2659
|
+
wordSpacing: "wordSpacing" /* wordSpacing */,
|
|
2660
|
+
ligatures: "ligatures" /* ligatures */,
|
|
2661
|
+
noRuby: "noRuby" /* noRuby */
|
|
2662
|
+
};
|
|
2663
|
+
var globallyAdded = new Set(
|
|
2664
|
+
Object.values(ReadiumCSSSettings).flatMap((entry) => entry.added)
|
|
2665
|
+
);
|
|
2666
|
+
var deriveExcluded = (entry) => {
|
|
2667
|
+
const fromDisabled = entry.disabled.map((k) => READIUM_CSS_TO_SETTINGS_KEY[k]).filter((k) => k !== void 0);
|
|
2668
|
+
const fromAddedInversion = [...globallyAdded].filter((k) => !entry.added.includes(k)).map((k) => READIUM_CSS_TO_SETTINGS_KEY[k]).filter((k) => k !== void 0);
|
|
2669
|
+
return [...fromDisabled, ...fromAddedInversion];
|
|
2670
|
+
};
|
|
2671
|
+
var CJK_VERTICAL_EXCLUDED = [...deriveExcluded(ReadiumCSSSettings["cjk-vertical"]), "layout" /* layout */];
|
|
2644
2672
|
var EXCLUDED_BY_SCRIPT_MODE = {
|
|
2645
|
-
"ltr": [
|
|
2646
|
-
|
|
2647
|
-
],
|
|
2648
|
-
"
|
|
2649
|
-
|
|
2650
|
-
"letterSpacing" /* letterSpacing */,
|
|
2651
|
-
"textNormalize" /* textNormalize */,
|
|
2652
|
-
"noRuby" /* noRuby */
|
|
2653
|
-
],
|
|
2654
|
-
"cjk-horizontal": EXCLUDED_CJK,
|
|
2655
|
-
"cjk-vertical": [...EXCLUDED_CJK, "layout" /* layout */],
|
|
2656
|
-
"mongolian-vertical": [...EXCLUDED_CJK, "layout" /* layout */]
|
|
2673
|
+
"ltr": deriveExcluded(ReadiumCSSSettings["default"]),
|
|
2674
|
+
"rtl": deriveExcluded(ReadiumCSSSettings["rtl"]),
|
|
2675
|
+
"cjk-horizontal": deriveExcluded(ReadiumCSSSettings["cjk-horizontal"]),
|
|
2676
|
+
"cjk-vertical": CJK_VERTICAL_EXCLUDED,
|
|
2677
|
+
"mongolian-vertical": CJK_VERTICAL_EXCLUDED
|
|
2657
2678
|
};
|
|
2658
2679
|
var useFilteredPreferenceKeys = () => {
|
|
2659
2680
|
const keys = usePreferenceKeys();
|
|
@@ -3759,6 +3780,49 @@ var proxyUrl = (url) => {
|
|
|
3759
3780
|
}
|
|
3760
3781
|
return url;
|
|
3761
3782
|
};
|
|
3783
|
+
var initRanges = (prefs) => {
|
|
3784
|
+
const ranges = {};
|
|
3785
|
+
let prev = null;
|
|
3786
|
+
Object.entries(prefs).forEach(([key, value]) => {
|
|
3787
|
+
if (value && !isNaN(value)) {
|
|
3788
|
+
const max = value;
|
|
3789
|
+
const min = prev ? prev + 1 : null;
|
|
3790
|
+
ranges[key] = { min, max };
|
|
3791
|
+
prev = value;
|
|
3792
|
+
} else if (!value && key === "xLarge" /* xLarge */ && prev) {
|
|
3793
|
+
ranges[key] = { min: prev + 1, max: null };
|
|
3794
|
+
}
|
|
3795
|
+
});
|
|
3796
|
+
return ranges;
|
|
3797
|
+
};
|
|
3798
|
+
var resolveBreakpoint = (width, ranges) => {
|
|
3799
|
+
for (const [key, range] of Object.entries(ranges)) {
|
|
3800
|
+
const { min, max } = range;
|
|
3801
|
+
if (min !== null && width < min) continue;
|
|
3802
|
+
if (max !== null && width > max) continue;
|
|
3803
|
+
return key;
|
|
3804
|
+
}
|
|
3805
|
+
return null;
|
|
3806
|
+
};
|
|
3807
|
+
var useContainerBreakpoints = (map, onChange) => {
|
|
3808
|
+
const [containerEl, setContainerEl] = useState(null);
|
|
3809
|
+
useEffect(() => {
|
|
3810
|
+
if (!containerEl) return;
|
|
3811
|
+
const ranges = initRanges(map);
|
|
3812
|
+
const observer = new ResizeObserver((entries) => {
|
|
3813
|
+
const entry = entries[0];
|
|
3814
|
+
if (!entry) return;
|
|
3815
|
+
const width = entry.contentRect.width;
|
|
3816
|
+
const breakpoint = resolveBreakpoint(width, ranges);
|
|
3817
|
+
onChange?.(breakpoint);
|
|
3818
|
+
});
|
|
3819
|
+
observer.observe(containerEl);
|
|
3820
|
+
return () => observer.disconnect();
|
|
3821
|
+
}, [containerEl, map, onChange]);
|
|
3822
|
+
return useCallback((el) => {
|
|
3823
|
+
setContainerEl(el);
|
|
3824
|
+
}, []);
|
|
3825
|
+
};
|
|
3762
3826
|
|
|
3763
3827
|
// src/preferences/hooks/useTheming.ts
|
|
3764
3828
|
var useTheming = ({
|
|
@@ -3776,11 +3840,13 @@ var useTheming = ({
|
|
|
3776
3840
|
onMonochromeChange,
|
|
3777
3841
|
onReducedMotionChange,
|
|
3778
3842
|
onReducedTransparencyChange,
|
|
3779
|
-
onCoverThemeGenerated
|
|
3843
|
+
onCoverThemeGenerated,
|
|
3844
|
+
onContainerBreakpointChange
|
|
3780
3845
|
}) => {
|
|
3781
3846
|
const [coverThemeTokens, setCoverThemeTokens] = useState(null);
|
|
3782
3847
|
const [coverThemeFailed, setCoverThemeFailed] = useState(false);
|
|
3783
3848
|
const breakpoints = useBreakpoints(breakpointsMap, onBreakpointChange);
|
|
3849
|
+
const setContainerRef = useContainerBreakpoints(breakpointsMap, onContainerBreakpointChange);
|
|
3784
3850
|
const colorScheme = useColorScheme(onColorSchemeChange);
|
|
3785
3851
|
const colorSchemeRef = useRef(colorScheme);
|
|
3786
3852
|
const contrast = useContrast(onContrastChange);
|
|
@@ -3878,7 +3944,8 @@ var useTheming = ({
|
|
|
3878
3944
|
reducedMotion,
|
|
3879
3945
|
reducedTransparency,
|
|
3880
3946
|
coverThemeTokens,
|
|
3881
|
-
themeResolved
|
|
3947
|
+
themeResolved,
|
|
3948
|
+
setContainerRef
|
|
3882
3949
|
};
|
|
3883
3950
|
};
|
|
3884
3951
|
var useSharedPreferences = () => {
|
|
@@ -3908,6 +3975,6 @@ var useSharedPreferences = () => {
|
|
|
3908
3975
|
};
|
|
3909
3976
|
};
|
|
3910
3977
|
|
|
3911
|
-
export { ThActionsKeys, ThAudioActionKeys, ThAudioAffordance, ThAudioKeys, ThAudioMemoryPreferencesAdapter, ThAudioPreferencesContext, ThAudioPreferencesProvider, ThDockingKeys, ThDockingTypes, ThGlobalMemoryPreferencesAdapter, ThGlobalPreferencesProvider, ThLayoutOptions, ThLineHeightOptions, ThMemoryPreferencesAdapter, ThPreferencesContext, ThPreferencesProvider, ThSettingsContainerKeys, ThSettingsKeys, ThSettingsRangePlaceholder, ThSettingsRangeVariant, ThSettingsTimerVariant, ThSheetHeaderVariant, ThSheetTypes, ThSpacingPresetKeys, ThSpacingSettingsKeys, ThTextAlignOptions, ThTextSettingsKeys, ThThemeKeys, arabicFarsiCollection, buildThemeObject, chineseSimplifiedCollection, chineseTraditionalCollection, contrast1Theme, contrast2Theme, contrast3Theme, createAudioPreferences, createDefinitionFromStaticFonts, createDefinitionsFromBunnyFonts, createDefinitionsFromGoogleFonts, createGlobalPreferences, createPreferences, darkTheme, defaultActionKeysObject, defaultAudioContentProtectionConfig, defaultAudioPlaybackRate, defaultAudioPlaybackRateAction, defaultAudioPreferences, defaultAudioPreferencesContextValue, defaultAudioRemotePlaybackAction, defaultAudioSkipBackwardInterval, defaultAudioSkipForwardInterval, defaultAudioSkipInterval, defaultAudioSleepTimer, defaultAudioSleepTimerAction, defaultAudioSleepTimerPresetList, defaultAudioTocAction, defaultAudioVolume, defaultAudioVolumeAction, defaultContentProtectionConfig, defaultFontCollection, defaultFullscreenAction, defaultJumpToPositionAction, defaultLetterSpacing, defaultLineHeights, defaultParagraphIndent, defaultParagraphSpacing, defaultPreferences, defaultPreferencesContextValue, defaultSettingsAction, defaultSpacingPresets, defaultSpacingPresetsOrder, defaultSpacingSettingsMain, defaultSpacingSettingsSubpanel, defaultTextSettingsMain, defaultTextSettingsSubpanel, defaultTocAction, defaultWordSpacing, defaultZoom, devContentProtectionConfig, hebrewCollection, japaneseCollection, japaneseVerticalCollection, koreanCollection, lightTheme, paperTheme, prefixString, proxyUrl, readiumCSSFontCollection, resolveAudioContentProtectionConfig, resolveContentProtectionConfig, sepiaTheme, tamilCollection, useActionsPreferences, useAudioActionsPreferences, useAudioPreferences, useFilteredPreferenceKeys, usePreferenceKeys, usePreferences, useSharedPreferences, useTheming, validateObjectKeys };
|
|
3912
|
-
//# sourceMappingURL=chunk-
|
|
3913
|
-
//# sourceMappingURL=chunk-
|
|
3978
|
+
export { TEXT_INPUT_SELECTORS, ThActionsKeys, ThAudioActionKeys, ThAudioAffordance, ThAudioKeys, ThAudioMemoryPreferencesAdapter, ThAudioPreferencesContext, ThAudioPreferencesProvider, ThDockingKeys, ThDockingTypes, ThGlobalMemoryPreferencesAdapter, ThGlobalPreferencesProvider, ThLayoutOptions, ThLineHeightOptions, ThMemoryPreferencesAdapter, ThPreferencesContext, ThPreferencesProvider, ThSettingsContainerKeys, ThSettingsKeys, ThSettingsRangePlaceholder, ThSettingsRangeVariant, ThSettingsTimerVariant, ThSheetHeaderVariant, ThSheetTypes, ThSpacingPresetKeys, ThSpacingSettingsKeys, ThTextAlignOptions, ThTextSettingsKeys, ThThemeKeys, arabicFarsiCollection, buildThemeObject, chineseSimplifiedCollection, chineseTraditionalCollection, contrast1Theme, contrast2Theme, contrast3Theme, createAudioPreferences, createDefinitionFromStaticFonts, createDefinitionsFromBunnyFonts, createDefinitionsFromGoogleFonts, createGlobalPreferences, createPreferences, darkTheme, defaultActionKeysObject, defaultAudioContentProtectionConfig, defaultAudioPlaybackRate, defaultAudioPlaybackRateAction, defaultAudioPreferences, defaultAudioPreferencesContextValue, defaultAudioRemotePlaybackAction, defaultAudioSkipBackwardInterval, defaultAudioSkipForwardInterval, defaultAudioSkipInterval, defaultAudioSleepTimer, defaultAudioSleepTimerAction, defaultAudioSleepTimerPresetList, defaultAudioTocAction, defaultAudioVolume, defaultAudioVolumeAction, defaultContentProtectionConfig, defaultFontCollection, defaultFullscreenAction, defaultJumpToPositionAction, defaultLetterSpacing, defaultLineHeights, defaultParagraphIndent, defaultParagraphSpacing, defaultPreferences, defaultPreferencesContextValue, defaultSettingsAction, defaultSpacingPresets, defaultSpacingPresetsOrder, defaultSpacingSettingsMain, defaultSpacingSettingsSubpanel, defaultTextSettingsMain, defaultTextSettingsSubpanel, defaultTocAction, defaultWordSpacing, defaultZoom, devContentProtectionConfig, hebrewCollection, japaneseCollection, japaneseVerticalCollection, koreanCollection, lightTheme, paperTheme, prefixString, proxyUrl, readiumCSSFontCollection, resolveAudioContentProtectionConfig, resolveContentProtectionConfig, sepiaTheme, tamilCollection, useActionsPreferences, useAudioActionsPreferences, useAudioPreferences, useFilteredPreferenceKeys, usePreferenceKeys, usePreferences, useSharedPreferences, useTheming, validateObjectKeys };
|
|
3979
|
+
//# sourceMappingURL=chunk-PRQBFBJ7.mjs.map
|
|
3980
|
+
//# sourceMappingURL=chunk-PRQBFBJ7.mjs.map
|