@edrlab/thorium-web 1.5.3 → 1.5.5
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/{ThSettingsWrapper-DtzcwzYX.d.mts → ThSettingsWrapper-D4WIzlXA.d.mts} +1 -1
- package/dist/{chunk-JMCWCPCU.mjs → chunk-7A6UGSHQ.mjs} +8 -8
- package/dist/{chunk-JMCWCPCU.mjs.map → chunk-7A6UGSHQ.mjs.map} +1 -1
- package/dist/{chunk-AOPNIKSQ.mjs → chunk-7AHUCM7Z.mjs} +6 -6
- package/dist/{chunk-AOPNIKSQ.mjs.map → chunk-7AHUCM7Z.mjs.map} +1 -1
- package/dist/{chunk-VLMPRICM.mjs → chunk-E74VFBKW.mjs} +3 -3
- package/dist/{chunk-VLMPRICM.mjs.map → chunk-E74VFBKW.mjs.map} +1 -1
- package/dist/{chunk-AXX4U2FW.mjs → chunk-ES2Y5MC7.mjs} +2 -2
- package/dist/{chunk-AXX4U2FW.mjs.map → chunk-ES2Y5MC7.mjs.map} +1 -1
- package/dist/{chunk-YE5QOQUT.mjs → chunk-G2M4MYVF.mjs} +9 -9
- package/dist/chunk-G2M4MYVF.mjs.map +1 -0
- package/dist/{chunk-ZNDUM2RY.mjs → chunk-I572ZFCT.mjs} +6 -6
- package/dist/{chunk-ZNDUM2RY.mjs.map → chunk-I572ZFCT.mjs.map} +1 -1
- package/dist/{chunk-HPDEYQPE.mjs → chunk-N6MQQMTM.mjs} +7 -7
- package/dist/{chunk-HPDEYQPE.mjs.map → chunk-N6MQQMTM.mjs.map} +1 -1
- package/dist/{chunk-PLDPFPXR.mjs → chunk-NJOWH5YK.mjs} +6 -6
- package/dist/{chunk-PLDPFPXR.mjs.map → chunk-NJOWH5YK.mjs.map} +1 -1
- package/dist/{chunk-7WGC22F3.mjs → chunk-UOFADXXI.mjs} +4 -4
- package/dist/chunk-UOFADXXI.mjs.map +1 -0
- package/dist/components/Audio/index.css +1 -0
- package/dist/components/Audio/index.css.map +1 -1
- package/dist/components/Audio/index.d.mts +3 -3
- package/dist/components/Audio/index.mjs +5 -5
- package/dist/components/Epub/index.d.mts +3 -3
- package/dist/components/Epub/index.mjs +6 -6
- package/dist/components/Misc/index.mjs +2 -2
- package/dist/components/Reader/index.css +1 -0
- package/dist/components/Reader/index.css.map +1 -1
- package/dist/components/Reader/index.d.mts +2 -2
- package/dist/components/Reader/index.mjs +11 -11
- package/dist/components/Reader/index.mjs.map +1 -1
- package/dist/components/WebPub/index.d.mts +3 -3
- package/dist/components/WebPub/index.mjs +6 -6
- package/dist/core/Components/index.d.mts +2 -2
- package/dist/core/Components/index.mjs +1 -1
- package/dist/lib/index.d.mts +6 -7
- package/dist/lib/index.mjs +1 -1
- package/dist/locales/fi/thorium-web.json +1 -1
- package/dist/locales/sv/thorium-web.json +7 -7
- package/dist/preferences/index.mjs +1 -1
- package/dist/{useReaderTransitions-CpgrXS5g.d.mts → useReaderTransitions-BsTdWZDK.d.mts} +1 -1
- package/package.json +8 -8
- package/dist/chunk-7WGC22F3.mjs.map +0 -1
- package/dist/chunk-YE5QOQUT.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useCoverBlobUrl.ts","../../../src/components/Reader/StatefulReaderWrapper.tsx"],"names":["StatefulPlayer","useState","useEffect"],"mappings":"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","file":"index.mjs","sourcesContent":["import { useState, useEffect, useRef } from \"react\";\nimport { proxyUrl } from \"@/helpers/proxyUrl\";\n\nexport const useCoverBlobUrl = (coverUrl: string | undefined): { coverBlobUrl: string | undefined; coverReady: boolean } => {\n const [coverBlobUrl, setCoverBlobUrl] = useState<string | undefined>(undefined);\n const [coverFailed, setCoverFailed] = useState(false);\n const revokeRef = useRef<(() => void) | undefined>(undefined);\n\n useEffect(() => {\n if (!coverUrl) return;\n const controller = new AbortController();\n const fetched = proxyUrl(coverUrl) ?? coverUrl;\n let objectUrl: string | undefined;\n fetch(fetched, { signal: controller.signal })\n .then(r => r.blob())\n .then(blob => {\n objectUrl = URL.createObjectURL(blob);\n revokeRef.current = () => URL.revokeObjectURL(objectUrl!);\n setCoverBlobUrl(objectUrl);\n })\n .catch((err) => {\n if (err.name === \"AbortError\") return;\n setCoverFailed(true);\n });\n return () => {\n controller.abort();\n revokeRef.current?.();\n revokeRef.current = undefined;\n };\n }, [coverUrl]);\n\n return {\n coverBlobUrl,\n coverReady: !coverUrl || !!coverBlobUrl || coverFailed,\n };\n};\n","import { lazy, Suspense, useState, useEffect } from \"react\";\n\nimport { Publication, Locator } from \"@readium/shared\";\nimport { getScriptMode } from \"@readium/navigator\";\nimport { ThThemeKeys, ThemeKeyType, useTheming } from \"@/preferences\";\n\nimport { usePreferences } from \"@/preferences/hooks/usePreferences\";\nimport { useAudioPreferences } from \"@/preferences/hooks/useAudioPreferences\";\nimport { ThAudioPreferencesProvider } from \"@/preferences/ThAudioPreferencesProvider\";\nimport { ThPreferencesProvider } from \"@/preferences/ThPreferencesProvider\";\nimport { ThI18nProvider } from \"@/i18n/ThI18nProvider\";\n\nimport { useAppSelector, useAppDispatch } from \"@/lib/hooks\";\nimport {\n setBreakpoint,\n setContainerBreakpoint,\n setColorScheme,\n setContrast,\n setForcedColors,\n setMonochrome,\n setReducedMotion,\n setReducedTransparency,\n setCoverTheme\n} from \"@/lib/themeReducer\";\nimport { setFontLanguage } from \"@/lib/publicationReducer\";\nimport { propsToCSSVars } from \"@/core/Helpers/propsToCSSVars\";\nimport { prefixString } from \"@/core/Helpers/prefixString\";\nimport { useCoverBlobUrl } from \"@/hooks/useCoverBlobUrl\";\nimport { ThPlugin } from \"../Plugins\";\nimport { StatefulLoader } from \"@/components/Misc\";\nimport { ThPreferences, CustomizableKeys } from \"@/preferences/preferences\";\nimport { ThAudioPreferences } from \"@/preferences/audioPreferences\";\nimport { ThPreferencesAdapter } from \"@/preferences/adapters/ThPreferencesAdapter\";\nimport { ThAudioPreferencesAdapter } from \"@/preferences/adapters/ThAudioPreferencesAdapter\";\nimport { InitOptions } from \"i18next\";\n\nconst StatefulEpubReader = lazy(() => import(\"@/components/Epub\").then(mod => ({ default: mod.StatefulReader })));\nconst StatefulWebPubReader = lazy(() => import(\"@/components/WebPub\").then(mod => ({ default: mod.ExperimentalWebPubStatefulReader })));\nconst StatefulPlayer = lazy(() => import(\"@/components/Audio\").then(mod => ({ default: mod.StatefulPlayer })));\n\nexport interface PositionStorage {\n get: () => Locator | undefined;\n set: (locator: Locator) => void | Promise<void>;\n}\n\nexport interface StatefulReaderProps {\n publication: Publication;\n localDataKey: string | null;\n plugins?: ThPlugin[];\n positionStorage?: PositionStorage;\n containerRefSetter?: (el: Element | null) => void;\n}\n\nexport type ThPluginFactory = () => ThPlugin[] | Promise<ThPlugin[]>;\n\nexport interface ReaderPlugins {\n epub?: ThPluginFactory;\n webPub?: ThPluginFactory;\n audio?: ThPluginFactory;\n}\n\nexport interface ReaderComponentProps<\n P extends \"epub\" | \"webPub\" | \"audio\" | undefined | null = undefined,\n K extends CustomizableKeys = {}\n> {\n profile: P;\n publication: Publication;\n localDataKey: string | null;\n isLoading?: boolean;\n positionStorage?: PositionStorage;\n plugins?: ReaderPlugins;\n i18n?: Partial<InitOptions>;\n preferences?: P extends \"audio\"\n ? { initialPreferences?: ThAudioPreferences<K>; adapter?: ThAudioPreferencesAdapter<K> }\n : P extends \"epub\" | \"webPub\"\n ? { initialPreferences?: ThPreferences<K>; adapter?: ThPreferencesAdapter<K> }\n : never;\n}\n\n// ─── Outer wrapper — selects provider based on profile ────────────────────────\n\nexport const StatefulReaderWrapper = ({ profile, plugins, isLoading, preferences, i18n: i18nOptions, ...props }: ReaderComponentProps<any, any>) => {\n const [resolvedPlugins, setResolvedPlugins] = useState<ThPlugin[] | undefined>(undefined);\n\n const pendingFactory = profile === \"epub\" ? plugins?.epub\n : profile === \"webPub\" ? plugins?.webPub\n : profile === \"audio\" ? plugins?.audio\n : undefined;\n\n useEffect(() => {\n if (!pendingFactory) return;\n const result = pendingFactory();\n if (result instanceof Promise) {\n result.then(setResolvedPlugins);\n } else {\n setResolvedPlugins(result);\n }\n }, [pendingFactory]);\n\n if (pendingFactory && resolvedPlugins === undefined) return null;\n\n const coverUrl = props.publication?.getCover()?.toURL(props.publication.baseURL);\n\n if (profile === \"audio\") {\n return (\n <ThAudioPreferencesProvider\n devMode={ process.env.NODE_ENV !== \"production\" }\n initialPreferences={ preferences?.initialPreferences as ThAudioPreferences<any> | undefined }\n adapter={ preferences?.adapter as ThAudioPreferencesAdapter<any> | undefined }\n >\n <ThI18nProvider { ...i18nOptions }>\n <StatefulAudioContent { ...props } coverUrl={ coverUrl } externalLoading={ isLoading ?? false } />\n </ThI18nProvider>\n </ThAudioPreferencesProvider>\n );\n }\n\n return (\n <ThPreferencesProvider\n devMode={ process.env.NODE_ENV !== \"production\" }\n initialPreferences={ preferences?.initialPreferences as ThPreferences<any> | undefined }\n adapter={ preferences?.adapter as ThPreferencesAdapter<any> | undefined }\n >\n <ThI18nProvider { ...i18nOptions }>\n <StatefulLoader isLoading={ isLoading ?? false }>\n <StatefulReaderContent profile={ profile } { ...props } coverUrl={ coverUrl } plugins={ resolvedPlugins } />\n </StatefulLoader>\n </ThI18nProvider>\n </ThPreferencesProvider>\n );\n};\n\n// ─── Audio inner content ──────────────────────────────────────────────────────\n\ninterface AudioContentProps {\n publication: Publication;\n localDataKey: string | null;\n positionStorage?: PositionStorage;\n coverUrl?: string;\n externalLoading: boolean;\n}\n\nconst StatefulAudioContent = ({ publication, localDataKey, positionStorage, coverUrl, externalLoading }: AudioContentProps) => {\n const { preferences } = useAudioPreferences();\n const themeObject = useAppSelector(state => state.theming.theme);\n const dispatch = useAppDispatch();\n\n const { coverBlobUrl, coverReady } = useCoverBlobUrl(coverUrl);\n\n const { themeResolved, setContainerRef } = useTheming<ThemeKeyType>({\n theme: themeObject.audio ?? \"auto\",\n themeKeys: preferences.theming.themes.keys,\n systemKeys: preferences.theming.themes.systemThemes,\n breakpointsMap: preferences.theming.breakpoints,\n coverUrl: coverBlobUrl,\n autoThemeSource: \"cover\",\n initProps: {\n ...propsToCSSVars(preferences.theming.icon, { prefix: prefixString(\"icon\") }),\n ...propsToCSSVars(preferences.theming.layout, {\n prefix: prefixString(\"layout\"),\n exclude: [\"ui\", \"compact\", \"expanded\", \"progressBar\"]\n })\n },\n onCoverThemeGenerated: (themeTokens) => dispatch(setCoverTheme(themeTokens)),\n onBreakpointChange: (breakpoint) => dispatch(setBreakpoint(breakpoint)),\n onContainerBreakpointChange: (breakpoint) => dispatch(setContainerBreakpoint(breakpoint)),\n onColorSchemeChange: (colorScheme) => dispatch(setColorScheme(colorScheme)),\n onContrastChange: (contrast) => dispatch(setContrast(contrast)),\n onForcedColorsChange: (forcedColors) => dispatch(setForcedColors(forcedColors)),\n onMonochromeChange: (isMonochrome) => dispatch(setMonochrome(isMonochrome)),\n onReducedMotionChange: (reducedMotion) => dispatch(setReducedMotion(reducedMotion)),\n onReducedTransparencyChange: (reducedTransparency) => dispatch(setReducedTransparency(reducedTransparency))\n });\n\n return (\n <StatefulLoader isLoading={ externalLoading || !themeResolved || !coverReady }>\n <Suspense>\n <StatefulPlayer publication={ publication } localDataKey={ localDataKey } positionStorage={ positionStorage } coverUrl={ coverBlobUrl } containerRefSetter={ setContainerRef } />\n </Suspense>\n </StatefulLoader>\n );\n};\n\n// ─── Reader inner content ─────────────────────────────────────────────────────\n\ninterface ReaderContentProps {\n profile: \"epub\" | \"webPub\" | undefined | null;\n publication: Publication;\n localDataKey: string | null;\n positionStorage?: PositionStorage;\n plugins?: ThPlugin[];\n coverUrl?: string;\n}\n\nconst StatefulReaderContent = ({ profile, publication, plugins, coverUrl, ...props }: ReaderContentProps) => {\n const { preferences, resolveFontLanguage } = usePreferences();\n const themeObject = useAppSelector(state => state.theming.theme);\n const isFXL = useAppSelector(state => state.publication.isFXL);\n const theme = profile === \"epub\" ? (isFXL ? themeObject.fxl : themeObject.reflow) : ThThemeKeys.light;\n const dispatch = useAppDispatch();\n\n useEffect(() => {\n if (!publication) return;\n const resolvedLang = resolveFontLanguage(\n publication.metadata.languages?.[0],\n getScriptMode(publication.metadata)\n );\n dispatch(setFontLanguage(resolvedLang));\n }, [publication, resolveFontLanguage, dispatch]);\n\n const { setContainerRef } = useTheming<ThemeKeyType>({\n theme,\n themeKeys: preferences.theming.themes.keys,\n systemKeys: preferences.theming.themes.systemThemes,\n breakpointsMap: preferences.theming.breakpoints,\n coverUrl,\n autoThemeSource: \"system\",\n initProps: {\n ...propsToCSSVars(preferences.theming.arrow, { prefix: prefixString(\"arrow\") }),\n ...propsToCSSVars(preferences.theming.icon, { prefix: prefixString(\"icon\") }),\n ...propsToCSSVars(preferences.theming.layout, {\n prefix: prefixString(\"layout\"),\n exclude: [\"ui\"]\n })\n },\n onCoverThemeGenerated: (themeTokens) => dispatch(setCoverTheme(themeTokens)),\n onBreakpointChange: (breakpoint) => dispatch(setBreakpoint(breakpoint)),\n onContainerBreakpointChange: (breakpoint) => dispatch(setContainerBreakpoint(breakpoint)),\n onColorSchemeChange: (colorScheme) => dispatch(setColorScheme(colorScheme)),\n onContrastChange: (contrast) => dispatch(setContrast(contrast)),\n onForcedColorsChange: (forcedColors) => dispatch(setForcedColors(forcedColors)),\n onMonochromeChange: (isMonochrome) => dispatch(setMonochrome(isMonochrome)),\n onReducedMotionChange: (reducedMotion) => dispatch(setReducedMotion(reducedMotion)),\n onReducedTransparencyChange: (reducedTransparency) => dispatch(setReducedTransparency(reducedTransparency))\n });\n\n switch (profile) {\n case \"epub\":\n return <Suspense><StatefulEpubReader publication={ publication } { ...props } plugins={ plugins } containerRefSetter={ setContainerRef } /></Suspense>;\n case \"webPub\":\n default:\n return <Suspense><StatefulWebPubReader publication={ publication } { ...props } plugins={ plugins } containerRefSetter={ setContainerRef } /></Suspense>;\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useCoverBlobUrl.ts","../../../src/components/Reader/StatefulReaderWrapper.tsx"],"names":["StatefulPlayer","useState","useEffect"],"mappings":"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","file":"index.mjs","sourcesContent":["import { useState, useEffect, useRef } from \"react\";\nimport { proxyUrl } from \"@/helpers/proxyUrl\";\n\nexport const useCoverBlobUrl = (coverUrl: string | undefined): { coverBlobUrl: string | undefined; coverReady: boolean } => {\n const [coverBlobUrl, setCoverBlobUrl] = useState<string | undefined>(undefined);\n const [coverFailed, setCoverFailed] = useState(false);\n const revokeRef = useRef<(() => void) | undefined>(undefined);\n\n useEffect(() => {\n if (!coverUrl) return;\n const controller = new AbortController();\n const fetched = proxyUrl(coverUrl) ?? coverUrl;\n let objectUrl: string | undefined;\n fetch(fetched, { signal: controller.signal })\n .then(r => r.blob())\n .then(blob => {\n objectUrl = URL.createObjectURL(blob);\n revokeRef.current = () => URL.revokeObjectURL(objectUrl!);\n setCoverBlobUrl(objectUrl);\n })\n .catch((err) => {\n if (err.name === \"AbortError\") return;\n setCoverFailed(true);\n });\n return () => {\n controller.abort();\n revokeRef.current?.();\n revokeRef.current = undefined;\n };\n }, [coverUrl]);\n\n return {\n coverBlobUrl,\n coverReady: !coverUrl || !!coverBlobUrl || coverFailed,\n };\n};\n","import { lazy, Suspense, useState, useEffect } from \"react\";\n\nimport { Publication, Locator } from \"@readium/shared\";\nimport { getScriptMode } from \"@readium/navigator\";\nimport { ThThemeKeys, ThemeKeyType, useTheming } from \"@/preferences\";\n\nimport { usePreferences } from \"@/preferences/hooks/usePreferences\";\nimport { useAudioPreferences } from \"@/preferences/hooks/useAudioPreferences\";\nimport { ThAudioPreferencesProvider } from \"@/preferences/ThAudioPreferencesProvider\";\nimport { ThPreferencesProvider } from \"@/preferences/ThPreferencesProvider\";\nimport { ThI18nProvider } from \"@/i18n/ThI18nProvider\";\n\nimport { useAppSelector, useAppDispatch } from \"@/lib/hooks\";\nimport {\n setBreakpoint,\n setContainerBreakpoint,\n setColorScheme,\n setContrast,\n setForcedColors,\n setMonochrome,\n setReducedMotion,\n setReducedTransparency,\n} from \"@/lib/themeReducer\";\nimport { setFontLanguage, setCoverTheme } from \"@/lib/publicationReducer\";\nimport { propsToCSSVars } from \"@/core/Helpers/propsToCSSVars\";\nimport { prefixString } from \"@/core/Helpers/prefixString\";\nimport { useCoverBlobUrl } from \"@/hooks/useCoverBlobUrl\";\nimport { ThPlugin } from \"../Plugins\";\nimport { StatefulLoader } from \"@/components/Misc\";\nimport { ThPreferences, CustomizableKeys } from \"@/preferences/preferences\";\nimport { ThAudioPreferences } from \"@/preferences/audioPreferences\";\nimport { ThPreferencesAdapter } from \"@/preferences/adapters/ThPreferencesAdapter\";\nimport { ThAudioPreferencesAdapter } from \"@/preferences/adapters/ThAudioPreferencesAdapter\";\nimport { InitOptions } from \"i18next\";\n\nconst StatefulEpubReader = lazy(() => import(\"@/components/Epub\").then(mod => ({ default: mod.StatefulReader })));\nconst StatefulWebPubReader = lazy(() => import(\"@/components/WebPub\").then(mod => ({ default: mod.ExperimentalWebPubStatefulReader })));\nconst StatefulPlayer = lazy(() => import(\"@/components/Audio\").then(mod => ({ default: mod.StatefulPlayer })));\n\nexport interface PositionStorage {\n get: () => Locator | undefined;\n set: (locator: Locator) => void | Promise<void>;\n}\n\nexport interface StatefulReaderProps {\n publication: Publication;\n localDataKey: string | null;\n plugins?: ThPlugin[];\n positionStorage?: PositionStorage;\n containerRefSetter?: (el: Element | null) => void;\n}\n\nexport type ThPluginFactory = () => ThPlugin[] | Promise<ThPlugin[]>;\n\nexport interface ReaderPlugins {\n epub?: ThPluginFactory;\n webPub?: ThPluginFactory;\n audio?: ThPluginFactory;\n}\n\nexport interface ReaderComponentProps<\n P extends \"epub\" | \"webPub\" | \"audio\" | undefined | null = undefined,\n K extends CustomizableKeys = {}\n> {\n profile: P;\n publication: Publication;\n localDataKey: string | null;\n isLoading?: boolean;\n positionStorage?: PositionStorage;\n plugins?: ReaderPlugins;\n i18n?: Partial<InitOptions>;\n preferences?: P extends \"audio\"\n ? { initialPreferences?: ThAudioPreferences<K>; adapter?: ThAudioPreferencesAdapter<K> }\n : P extends \"epub\" | \"webPub\"\n ? { initialPreferences?: ThPreferences<K>; adapter?: ThPreferencesAdapter<K> }\n : never;\n}\n\n// ─── Outer wrapper — selects provider based on profile ────────────────────────\n\nexport const StatefulReaderWrapper = ({ profile, plugins, isLoading, preferences, i18n: i18nOptions, ...props }: ReaderComponentProps<any, any>) => {\n const [resolvedPlugins, setResolvedPlugins] = useState<ThPlugin[] | undefined>(undefined);\n\n const pendingFactory = profile === \"epub\" ? plugins?.epub\n : profile === \"webPub\" ? plugins?.webPub\n : profile === \"audio\" ? plugins?.audio\n : undefined;\n\n useEffect(() => {\n if (!pendingFactory) return;\n const result = pendingFactory();\n if (result instanceof Promise) {\n result.then(setResolvedPlugins);\n } else {\n setResolvedPlugins(result);\n }\n }, [pendingFactory]);\n\n if (pendingFactory && resolvedPlugins === undefined) return null;\n\n const coverUrl = props.publication?.getCover()?.toURL(props.publication.baseURL);\n\n if (profile === \"audio\") {\n return (\n <ThAudioPreferencesProvider\n devMode={ process.env.NODE_ENV !== \"production\" }\n initialPreferences={ preferences?.initialPreferences as ThAudioPreferences<any> | undefined }\n adapter={ preferences?.adapter as ThAudioPreferencesAdapter<any> | undefined }\n >\n <ThI18nProvider { ...i18nOptions }>\n <StatefulAudioContent { ...props } coverUrl={ coverUrl } externalLoading={ isLoading ?? false } />\n </ThI18nProvider>\n </ThAudioPreferencesProvider>\n );\n }\n\n return (\n <ThPreferencesProvider\n devMode={ process.env.NODE_ENV !== \"production\" }\n initialPreferences={ preferences?.initialPreferences as ThPreferences<any> | undefined }\n adapter={ preferences?.adapter as ThPreferencesAdapter<any> | undefined }\n >\n <ThI18nProvider { ...i18nOptions }>\n <StatefulLoader isLoading={ isLoading ?? false }>\n <StatefulReaderContent profile={ profile } { ...props } coverUrl={ coverUrl } plugins={ resolvedPlugins } />\n </StatefulLoader>\n </ThI18nProvider>\n </ThPreferencesProvider>\n );\n};\n\n// ─── Audio inner content ──────────────────────────────────────────────────────\n\ninterface AudioContentProps {\n publication: Publication;\n localDataKey: string | null;\n positionStorage?: PositionStorage;\n coverUrl?: string;\n externalLoading: boolean;\n}\n\nconst StatefulAudioContent = ({ publication, localDataKey, positionStorage, coverUrl, externalLoading }: AudioContentProps) => {\n const { preferences } = useAudioPreferences();\n const themeObject = useAppSelector(state => state.theming.theme);\n const dispatch = useAppDispatch();\n\n const { coverBlobUrl, coverReady } = useCoverBlobUrl(coverUrl);\n\n const { themeResolved, setContainerRef } = useTheming<ThemeKeyType>({\n theme: themeObject.audio ?? \"auto\",\n themeKeys: preferences.theming.themes.keys,\n systemKeys: preferences.theming.themes.systemThemes,\n breakpointsMap: preferences.theming.breakpoints,\n coverUrl: coverBlobUrl,\n autoThemeSource: \"cover\",\n initProps: {\n ...propsToCSSVars(preferences.theming.icon, { prefix: prefixString(\"icon\") }),\n ...propsToCSSVars(preferences.theming.layout, {\n prefix: prefixString(\"layout\"),\n exclude: [\"ui\", \"compact\", \"expanded\", \"progressBar\"]\n })\n },\n onCoverThemeGenerated: (themeTokens) => dispatch(setCoverTheme(themeTokens)),\n onBreakpointChange: (breakpoint) => dispatch(setBreakpoint(breakpoint)),\n onContainerBreakpointChange: (breakpoint) => dispatch(setContainerBreakpoint(breakpoint)),\n onColorSchemeChange: (colorScheme) => dispatch(setColorScheme(colorScheme)),\n onContrastChange: (contrast) => dispatch(setContrast(contrast)),\n onForcedColorsChange: (forcedColors) => dispatch(setForcedColors(forcedColors)),\n onMonochromeChange: (isMonochrome) => dispatch(setMonochrome(isMonochrome)),\n onReducedMotionChange: (reducedMotion) => dispatch(setReducedMotion(reducedMotion)),\n onReducedTransparencyChange: (reducedTransparency) => dispatch(setReducedTransparency(reducedTransparency))\n });\n\n return (\n <StatefulLoader isLoading={ externalLoading || !themeResolved || !coverReady }>\n <Suspense>\n <StatefulPlayer publication={ publication } localDataKey={ localDataKey } positionStorage={ positionStorage } coverUrl={ coverBlobUrl } containerRefSetter={ setContainerRef } />\n </Suspense>\n </StatefulLoader>\n );\n};\n\n// ─── Reader inner content ─────────────────────────────────────────────────────\n\ninterface ReaderContentProps {\n profile: \"epub\" | \"webPub\" | undefined | null;\n publication: Publication;\n localDataKey: string | null;\n positionStorage?: PositionStorage;\n plugins?: ThPlugin[];\n coverUrl?: string;\n}\n\nconst StatefulReaderContent = ({ profile, publication, plugins, coverUrl, ...props }: ReaderContentProps) => {\n const { preferences, resolveFontLanguage } = usePreferences();\n const themeObject = useAppSelector(state => state.theming.theme);\n const isFXL = useAppSelector(state => state.publication.isFXL);\n const theme = profile === \"epub\" ? (isFXL ? themeObject.fxl : themeObject.reflow) : ThThemeKeys.light;\n const dispatch = useAppDispatch();\n\n useEffect(() => {\n if (!publication) return;\n const resolvedLang = resolveFontLanguage(\n publication.metadata.languages?.[0],\n getScriptMode(publication.metadata)\n );\n dispatch(setFontLanguage(resolvedLang));\n }, [publication, resolveFontLanguage, dispatch]);\n\n const { setContainerRef } = useTheming<ThemeKeyType>({\n theme,\n themeKeys: preferences.theming.themes.keys,\n systemKeys: preferences.theming.themes.systemThemes,\n breakpointsMap: preferences.theming.breakpoints,\n coverUrl,\n autoThemeSource: \"system\",\n initProps: {\n ...propsToCSSVars(preferences.theming.arrow, { prefix: prefixString(\"arrow\") }),\n ...propsToCSSVars(preferences.theming.icon, { prefix: prefixString(\"icon\") }),\n ...propsToCSSVars(preferences.theming.layout, {\n prefix: prefixString(\"layout\"),\n exclude: [\"ui\"]\n })\n },\n onCoverThemeGenerated: (themeTokens) => dispatch(setCoverTheme(themeTokens)),\n onBreakpointChange: (breakpoint) => dispatch(setBreakpoint(breakpoint)),\n onContainerBreakpointChange: (breakpoint) => dispatch(setContainerBreakpoint(breakpoint)),\n onColorSchemeChange: (colorScheme) => dispatch(setColorScheme(colorScheme)),\n onContrastChange: (contrast) => dispatch(setContrast(contrast)),\n onForcedColorsChange: (forcedColors) => dispatch(setForcedColors(forcedColors)),\n onMonochromeChange: (isMonochrome) => dispatch(setMonochrome(isMonochrome)),\n onReducedMotionChange: (reducedMotion) => dispatch(setReducedMotion(reducedMotion)),\n onReducedTransparencyChange: (reducedTransparency) => dispatch(setReducedTransparency(reducedTransparency))\n });\n\n switch (profile) {\n case \"epub\":\n return <Suspense><StatefulEpubReader publication={ publication } { ...props } plugins={ plugins } containerRefSetter={ setContainerRef } /></Suspense>;\n case \"webPub\":\n default:\n return <Suspense><StatefulWebPubReader publication={ publication } { ...props } plugins={ plugins } containerRefSetter={ setContainerRef } /></Suspense>;\n }\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { aD as StatefulReaderProps } from '../../useReaderTransitions-
|
|
2
|
-
export { a4 as ORDERED_LINE_HEIGHT_OPTIONS, ak as ScrimPref, e as StatefulActionContainerProps, p as StatefulActionIcon, o as StatefulActionIconProps, d as StatefulActionTriggerProps, S as StatefulActionsMapObject, j as StatefulAudioSettingsContainer, al as StatefulBottomSheet, aj as StatefulBottomSheetProps, t as StatefulCollapsibleActionsBar, s as StatefulCollapsibleActionsBarProps, an as StatefulCompactPopoverSheet, am as StatefulCompactPopoverSheetProps, ap as StatefulDockedSheet, ao as StatefulDockedSheetProps, D as StatefulDropdown, C as StatefulDropdownProps, a7 as StatefulFontFamily, ar as StatefulFullScreenSheet, aq as StatefulFullScreenSheetProps, f as StatefulFullscreenTrigger, aB as StatefulGlobalPreferencesProvider, B as StatefulGroupWrapper, A as StatefulGroupWrapperProps, a9 as StatefulHyphens, g as StatefulJumpToPositionContainer, h as StatefulJumpToPositionTrigger, Y as StatefulLetterSpacing, ae as StatefulLigatures, Z as StatefulLineHeight, ax as StatefulModalBase, aw as StatefulModalBaseProps, at as StatefulModalSheet, as as StatefulModalSheetProps, af as StatefulNoRuby, F as StatefulNumberField, E as StatefulNumberFieldProps, w as StatefulOverflowMenu, r as StatefulOverflowMenuItem, q as StatefulOverflowMenuItemProps, v as StatefulOverflowMenuProps, _ as StatefulParagraphIndent, $ as StatefulParagraphSpacing, av as StatefulPopoverSheet, au as StatefulPopoverSheetProps, aA as StatefulPreferencesProvider, ag as StatefulPublisherStyles, H as StatefulRadioGroup, G as StatefulRadioGroupProps, X as StatefulSettingsItemProps, l as StatefulSettingsTrigger, i as StatefulSettingsWrapper, az as StatefulSheet, ay as StatefulSheetWrapper, J as StatefulSlider, I as StatefulSliderProps, L as StatefulSliderWithPresets, K as StatefulSliderWithPresetsProps, a0 as StatefulSpacingGroup, a1 as StatefulSpacingGroupContainer, a2 as StatefulSpacingPresets, N as StatefulSwitch, M as StatefulSwitchProps, aa as StatefulTextAlign, ab as StatefulTextGroup, ac as StatefulTextGroupContainer, ad as StatefulTextNormalize, ah as StatefulTheme, m as StatefulTocContainer, n as StatefulTocTrigger, k as StatefulVisualSettingsContainer, a3 as StatefulWordSpacing, ai as StatefulZoom, T as ThPlugin, a8 as UnstableStatefulFontWeight, z as createAudioDefaultPlugin, y as createDefaultPlugin, c as useActionComponentStatus, x as useDocking, O as useEffectiveRange, Q as useGridNavigation, P as useGridNavigationProps, R as useGridTemplate, a5 as useLineHeight, u as useNavigator, U as usePlaceholder, a as usePublication, V as useReaderSetting, b as useReaderTransitions, W as useSettingsComponentStatus, a6 as useSpacingPresets } from '../../useReaderTransitions-
|
|
1
|
+
import { aD as StatefulReaderProps } from '../../useReaderTransitions-BsTdWZDK.mjs';
|
|
2
|
+
export { a4 as ORDERED_LINE_HEIGHT_OPTIONS, ak as ScrimPref, e as StatefulActionContainerProps, p as StatefulActionIcon, o as StatefulActionIconProps, d as StatefulActionTriggerProps, S as StatefulActionsMapObject, j as StatefulAudioSettingsContainer, al as StatefulBottomSheet, aj as StatefulBottomSheetProps, t as StatefulCollapsibleActionsBar, s as StatefulCollapsibleActionsBarProps, an as StatefulCompactPopoverSheet, am as StatefulCompactPopoverSheetProps, ap as StatefulDockedSheet, ao as StatefulDockedSheetProps, D as StatefulDropdown, C as StatefulDropdownProps, a7 as StatefulFontFamily, ar as StatefulFullScreenSheet, aq as StatefulFullScreenSheetProps, f as StatefulFullscreenTrigger, aB as StatefulGlobalPreferencesProvider, B as StatefulGroupWrapper, A as StatefulGroupWrapperProps, a9 as StatefulHyphens, g as StatefulJumpToPositionContainer, h as StatefulJumpToPositionTrigger, Y as StatefulLetterSpacing, ae as StatefulLigatures, Z as StatefulLineHeight, ax as StatefulModalBase, aw as StatefulModalBaseProps, at as StatefulModalSheet, as as StatefulModalSheetProps, af as StatefulNoRuby, F as StatefulNumberField, E as StatefulNumberFieldProps, w as StatefulOverflowMenu, r as StatefulOverflowMenuItem, q as StatefulOverflowMenuItemProps, v as StatefulOverflowMenuProps, _ as StatefulParagraphIndent, $ as StatefulParagraphSpacing, av as StatefulPopoverSheet, au as StatefulPopoverSheetProps, aA as StatefulPreferencesProvider, ag as StatefulPublisherStyles, H as StatefulRadioGroup, G as StatefulRadioGroupProps, X as StatefulSettingsItemProps, l as StatefulSettingsTrigger, i as StatefulSettingsWrapper, az as StatefulSheet, ay as StatefulSheetWrapper, J as StatefulSlider, I as StatefulSliderProps, L as StatefulSliderWithPresets, K as StatefulSliderWithPresetsProps, a0 as StatefulSpacingGroup, a1 as StatefulSpacingGroupContainer, a2 as StatefulSpacingPresets, N as StatefulSwitch, M as StatefulSwitchProps, aa as StatefulTextAlign, ab as StatefulTextGroup, ac as StatefulTextGroupContainer, ad as StatefulTextNormalize, ah as StatefulTheme, m as StatefulTocContainer, n as StatefulTocTrigger, k as StatefulVisualSettingsContainer, a3 as StatefulWordSpacing, ai as StatefulZoom, T as ThPlugin, a8 as UnstableStatefulFontWeight, z as createAudioDefaultPlugin, y as createDefaultPlugin, c as useActionComponentStatus, x as useDocking, O as useEffectiveRange, Q as useGridNavigation, P as useGridNavigationProps, R as useGridTemplate, a5 as useLineHeight, u as useNavigator, U as usePlaceholder, a as usePublication, V as useReaderSetting, b as useReaderTransitions, W as useSettingsComponentStatus, a6 as useSpacingPresets } from '../../useReaderTransitions-BsTdWZDK.mjs';
|
|
3
3
|
export { b as useWebPubNavigator } from '../../useAudioNavigator-9RuOpLGB.mjs';
|
|
4
4
|
export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getPlatform, getSupportedProgressionFormats, isActiveElement, isIOSish, isInteractiveElement, isIpadOS, isKeyboardTriggered, isMacish, makeBreakpointsMap, propsToCSSVars } from '../../core/Helpers/index.mjs';
|
|
5
5
|
export { S as ShortcutRepresentation, U as UnstableKey, a as UnstableMetaKey, c as UnstableMetaKeys, b as UnstablePlatformModifier, d as defaultPlatformModifier, g as getPlatformModifier, m as metaKeys } from '../../keyboardUtilities-BCP3UcLb.mjs';
|
|
@@ -17,7 +17,7 @@ import '../../actions-C33UN3Ji.mjs';
|
|
|
17
17
|
import 'react-aria-components';
|
|
18
18
|
import '../../ui-DnZZhozX.mjs';
|
|
19
19
|
import '@readium/navigator-html-injectables';
|
|
20
|
-
import '../../ThSettingsWrapper-
|
|
20
|
+
import '../../ThSettingsWrapper-D4WIzlXA.mjs';
|
|
21
21
|
import 'react-aria';
|
|
22
22
|
import '../../useContrast-Bl08zDTU.mjs';
|
|
23
23
|
import '@readium/navigator';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { ExperimentalWebPubStatefulReader } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
3
|
-
export { ORDERED_LINE_HEIGHT_OPTIONS, StatefulActionIcon, StatefulAudioSettingsContainer, StatefulBottomSheet, StatefulCollapsibleActionsBar, StatefulCompactPopoverSheet, StatefulDockedSheet, StatefulDropdown, StatefulFontFamily, StatefulFullScreenSheet, StatefulFullscreenTrigger, StatefulGlobalPreferencesProvider, StatefulGroupWrapper, StatefulHyphens, StatefulJumpToPositionContainer, StatefulJumpToPositionTrigger, StatefulLetterSpacing, StatefulLigatures, StatefulLineHeight, StatefulModalBase, StatefulModalSheet, StatefulNoRuby, StatefulNumberField, StatefulOverflowMenu, StatefulOverflowMenuItem, StatefulParagraphIndent, StatefulParagraphSpacing, StatefulPopoverSheet, StatefulPreferencesProvider, StatefulPublisherStyles, StatefulRadioGroup, StatefulSettingsTrigger, StatefulSettingsWrapper, StatefulSheetWrapper, StatefulSlider, StatefulSliderWithPresets, StatefulSpacingGroup, StatefulSpacingGroupContainer, StatefulSpacingPresets, StatefulSwitch, StatefulTextAlign, StatefulTextGroup, StatefulTextGroupContainer, StatefulTextNormalize, StatefulTheme, StatefulTocContainer, StatefulTocTrigger, StatefulVisualSettingsContainer, StatefulWordSpacing, StatefulZoom, UnstableStatefulFontWeight, createAudioDefaultPlugin, createDefaultPlugin, useActionComponentStatus, useDocking, useEffectiveRange, useGridNavigation, useGridTemplate, useLineHeight, useNavigator, usePlaceholder, usePublication, useReaderSetting, useReaderTransitions, useSettingsComponentStatus, useSpacingPresets } from '../../chunk-
|
|
1
|
+
export { ExperimentalWebPubStatefulReader } from '../../chunk-7AHUCM7Z.mjs';
|
|
2
|
+
import '../../chunk-I572ZFCT.mjs';
|
|
3
|
+
export { ORDERED_LINE_HEIGHT_OPTIONS, StatefulActionIcon, StatefulAudioSettingsContainer, StatefulBottomSheet, StatefulCollapsibleActionsBar, StatefulCompactPopoverSheet, StatefulDockedSheet, StatefulDropdown, StatefulFontFamily, StatefulFullScreenSheet, StatefulFullscreenTrigger, StatefulGlobalPreferencesProvider, StatefulGroupWrapper, StatefulHyphens, StatefulJumpToPositionContainer, StatefulJumpToPositionTrigger, StatefulLetterSpacing, StatefulLigatures, StatefulLineHeight, StatefulModalBase, StatefulModalSheet, StatefulNoRuby, StatefulNumberField, StatefulOverflowMenu, StatefulOverflowMenuItem, StatefulParagraphIndent, StatefulParagraphSpacing, StatefulPopoverSheet, StatefulPreferencesProvider, StatefulPublisherStyles, StatefulRadioGroup, StatefulSettingsTrigger, StatefulSettingsWrapper, StatefulSheetWrapper, StatefulSlider, StatefulSliderWithPresets, StatefulSpacingGroup, StatefulSpacingGroupContainer, StatefulSpacingPresets, StatefulSwitch, StatefulTextAlign, StatefulTextGroup, StatefulTextGroupContainer, StatefulTextNormalize, StatefulTheme, StatefulTocContainer, StatefulTocTrigger, StatefulVisualSettingsContainer, StatefulWordSpacing, StatefulZoom, UnstableStatefulFontWeight, createAudioDefaultPlugin, createDefaultPlugin, useActionComponentStatus, useDocking, useEffectiveRange, useGridNavigation, useGridTemplate, useLineHeight, useNavigator, usePlaceholder, usePublication, useReaderSetting, useReaderTransitions, useSettingsComponentStatus, useSpacingPresets } from '../../chunk-7A6UGSHQ.mjs';
|
|
4
4
|
export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getSupportedProgressionFormats, isActiveElement, isInteractiveElement, isKeyboardTriggered, makeBreakpointsMap } from '../../chunk-VYSDLACR.mjs';
|
|
5
5
|
export { useWebPubNavigator } from '../../chunk-AEEGHJVM.mjs';
|
|
6
6
|
export { ThI18nProvider, Trans } from '../../chunk-DQDOOTCE.mjs';
|
|
7
|
-
export { ThReduxGlobalPreferencesAdapter, ThReduxPreferencesAdapter, ThStoreProvider, actionsSlice, activateDockPanel, audioSettingsSlice, collapseDockPanel, deactivateDockPanel, dockAction, expandDockPanel, globalPreferencesSlice, handleSpacingSetting, initialSettingsState, initialWebPubSettingsState, makeStore, playerSlice, preferencesSlice, publicationSlice, readerSlice, setActionOpen, setAdjacentTimelineItems, setAutoPlay, setBreakpoint, setColorScheme, setColumnCount, setContainerBreakpoint, setContrast, setCoverTheme, setDirection, setDockPanelWidth, setEnableMediaSession, setFXL, setFontFamily, setFontLanguage, setFontSize, setFontWeight, setForcedColors, setFullscreen, setHasArrows, setHasDisplayTransformability, setHovering, setHyphens, setImmersive, setLetterSpacing, setLigatures, setLineHeight, setLineLength, setLoading, setLocale, setMonochrome, setNoRuby, setOverflow, setPaginatedAffordance, setParagraphIndent, setParagraphSpacing, setPlatformModifier, setPlaybackRate, setPollInterval, setPositionsList, setPreservePitch, setProgressionFormat, setPublicationEnd, setPublicationStart, setPublisherStyles, setRTL, setReaderProfile, setReducedMotion, setReducedTransparency, setRemotePlaybackState, setRunningHeadFormat, setScriptMode, setScroll, setScrollAffordance, setScrollAffordances, setSeekableRanges, setSeeking, setSettingsContainer, setSkipBackwardInterval, setSkipForwardInterval, setSkipInterval, setSleepTimerOnFragmentEnd, setSleepTimerOnTrackEnd, setSleepTimerRemainingSeconds, setSpacingPreset, setStalled, setStatus, setTextAlign, setTextNormalization, setTheme, setTimeline, setTocEntry, setTocTree, setTrackReady, setUI, setUserNavigated, setVolume, setWebPubFontFamily, setWebPubFontWeight, setWebPubHyphens, setWebPubLetterSpacing, setWebPubLigatures, setWebPubLineHeight, setWebPubNoRuby, setWebPubParagraphIndent, setWebPubParagraphSpacing, setWebPubPublisherStyles, setWebPubSpacingPreset, setWebPubTextAlign, setWebPubTextNormalization, setWebPubWordSpacing, setWebPubZoom, setWordSpacing, settingsSlice, themeSlice, toggleActionOpen, toggleImmersive, updateFromPreferences, webPubSettingsSlice } from '../../chunk-
|
|
7
|
+
export { ThReduxGlobalPreferencesAdapter, ThReduxPreferencesAdapter, ThStoreProvider, actionsSlice, activateDockPanel, audioSettingsSlice, collapseDockPanel, deactivateDockPanel, dockAction, expandDockPanel, globalPreferencesSlice, handleSpacingSetting, initialSettingsState, initialWebPubSettingsState, makeStore, playerSlice, preferencesSlice, publicationSlice, readerSlice, setActionOpen, setAdjacentTimelineItems, setAutoPlay, setBreakpoint, setColorScheme, setColumnCount, setContainerBreakpoint, setContrast, setCoverTheme, setDirection, setDockPanelWidth, setEnableMediaSession, setFXL, setFontFamily, setFontLanguage, setFontSize, setFontWeight, setForcedColors, setFullscreen, setHasArrows, setHasDisplayTransformability, setHovering, setHyphens, setImmersive, setLetterSpacing, setLigatures, setLineHeight, setLineLength, setLoading, setLocale, setMonochrome, setNoRuby, setOverflow, setPaginatedAffordance, setParagraphIndent, setParagraphSpacing, setPlatformModifier, setPlaybackRate, setPollInterval, setPositionsList, setPreservePitch, setProgressionFormat, setPublicationEnd, setPublicationStart, setPublisherStyles, setRTL, setReaderProfile, setReducedMotion, setReducedTransparency, setRemotePlaybackState, setRunningHeadFormat, setScriptMode, setScroll, setScrollAffordance, setScrollAffordances, setSeekableRanges, setSeeking, setSettingsContainer, setSkipBackwardInterval, setSkipForwardInterval, setSkipInterval, setSleepTimerOnFragmentEnd, setSleepTimerOnTrackEnd, setSleepTimerRemainingSeconds, setSpacingPreset, setStalled, setStatus, setTextAlign, setTextNormalization, setTheme, setTimeline, setTocEntry, setTocTree, setTrackReady, setUI, setUserNavigated, setVolume, setWebPubFontFamily, setWebPubFontWeight, setWebPubHyphens, setWebPubLetterSpacing, setWebPubLigatures, setWebPubLineHeight, setWebPubNoRuby, setWebPubParagraphIndent, setWebPubParagraphSpacing, setWebPubPublisherStyles, setWebPubSpacingPreset, setWebPubTextAlign, setWebPubTextNormalization, setWebPubWordSpacing, setWebPubZoom, setWordSpacing, settingsSlice, themeSlice, toggleActionOpen, toggleImmersive, updateFromPreferences, webPubSettingsSlice } from '../../chunk-G2M4MYVF.mjs';
|
|
8
8
|
import '../../chunk-TEZB4ULX.mjs';
|
|
9
|
-
export { ThPreferencesProvider, usePreferences, useTheming } from '../../chunk-
|
|
9
|
+
export { ThPreferencesProvider, usePreferences, useTheming } from '../../chunk-UOFADXXI.mjs';
|
|
10
10
|
export { propsToCSSVars } from '../../chunk-2YRT7RNW.mjs';
|
|
11
11
|
import '../../chunk-GFSLVQIG.mjs';
|
|
12
12
|
import '../../chunk-AE6P4KJB.mjs';
|
|
@@ -15,7 +15,7 @@ export { ShortcutRepresentation, defaultPlatformModifier, getPlatformModifier, m
|
|
|
15
15
|
import '../../chunk-NQ2ZSGCX.mjs';
|
|
16
16
|
export { getPlatform, isIOSish, isIpadOS, isMacish } from '../../chunk-KQ3KS5O5.mjs';
|
|
17
17
|
import '../../chunk-RRDEPGBK.mjs';
|
|
18
|
-
import '../../chunk-
|
|
18
|
+
import '../../chunk-ES2Y5MC7.mjs';
|
|
19
19
|
import '../../chunk-YZ73DHRU.mjs';
|
|
20
20
|
export { DEFAULT_CONFIG, i18n, initI18n, useI18n } from '../../chunk-2NCN2AG2.mjs';
|
|
21
21
|
import '../../chunk-AQSJDL63.mjs';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as ActionStateObject } from '../../actionsReducer-Bzcj3wk3.mjs';
|
|
2
2
|
import { T as ThDockingKeys } from '../../actions-C33UN3Ji.mjs';
|
|
3
3
|
export { C as CollapsiblePref, h as ThActionEntry, x as ThActionsBar, i as ThActionsBarProps, w as ThActionsTriggerVariant, d as ThCollapsibility, u as ThCollapsibilityVisibility, v as useCollapsibility } from '../../actions-C33UN3Ji.mjs';
|
|
4
|
-
import { T as ThActionButtonProps, W as WithRef, H as HTMLAttributesWithRef } from '../../ThSettingsWrapper-
|
|
5
|
-
export { d as THMenuProps, c as ThActionButton, b as ThCollapsibleActionsBar, a as ThCollapsibleActionsBarProps, u as ThDropdown, s as ThDropdownEntry, t as ThDropdownProps, e as ThMenu, g as ThMenuItem, f as ThMenuItemProps, i as ThNumberField, h as ThNumberFieldProps, l as ThRadioGroup, j as ThRadioGroupItems, k as ThRadioGroupProps, v as ThSettingsEntry, w as ThSettingsPrefs, y as ThSettingsWrapper, x as ThSettingsWrapperProps, n as ThSlider, m as ThSliderProps, p as ThSliderWithPresets, o as ThSliderWithPresetsProps, r as ThSwitch, q as ThSwitchProps } from '../../ThSettingsWrapper-
|
|
4
|
+
import { T as ThActionButtonProps, W as WithRef, H as HTMLAttributesWithRef } from '../../ThSettingsWrapper-D4WIzlXA.mjs';
|
|
5
|
+
export { d as THMenuProps, c as ThActionButton, b as ThCollapsibleActionsBar, a as ThCollapsibleActionsBarProps, u as ThDropdown, s as ThDropdownEntry, t as ThDropdownProps, e as ThMenu, g as ThMenuItem, f as ThMenuItemProps, i as ThNumberField, h as ThNumberFieldProps, l as ThRadioGroup, j as ThRadioGroupItems, k as ThRadioGroupProps, v as ThSettingsEntry, w as ThSettingsPrefs, y as ThSettingsWrapper, x as ThSettingsWrapperProps, n as ThSlider, m as ThSliderProps, p as ThSliderWithPresets, o as ThSliderWithPresetsProps, r as ThSwitch, q as ThSwitchProps } from '../../ThSettingsWrapper-D4WIzlXA.mjs';
|
|
6
6
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
7
7
|
import { ButtonProps, SliderProps, SliderTrackProps, SliderThumbProps, HeadingProps, PopoverProps, DialogProps, ModalOverlayProps, FormProps, Button, NumberFieldProps, LabelProps, InputProps, FieldErrorProps, TextFieldProps, ValidationResult, SearchFieldProps, LinkProps, TooltipProps } from 'react-aria-components';
|
|
8
8
|
import { PositionProps, OverlayContainerProps, AriaOverlayProps, TooltipTriggerProps } from 'react-aria';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ThActionButton, ThActionsBar, ThActionsTriggerVariant, ThAudioProgress, ThBackArrow, ThBottomSheet, ThCloseButton, ThCollapsibleActionsBar, ThContainerBody, ThContainerHeader, ThContainerHeaderWithClose, ThContainerHeaderWithPrevious, ThDeleteButton, ThDockedPanel, ThDragIndicatorButton, ThDropdown, ThDropdownButton, ThFooter, ThForm, ThFormNumberField, ThFormSearchField, ThFormTextField, ThGrid, ThHeader, ThHome, ThInteractiveOverlay, ThLibrary, ThLink, ThLoader, ThMenu, ThMenuButton, ThMenuItem, ThModal, ThNavigationButton, ThNumberField, ThPagination, ThPopover, ThRadioGroup, ThRunningHead, ThSettingsResetButton, ThSettingsWrapper, ThSettingsWrapperButton, ThSlider, ThSliderWithPresets, ThSwitch, ThTypedComponentRenderer, useActions, useFirstFocusable } from '../../chunk-
|
|
1
|
+
export { ThActionButton, ThActionsBar, ThActionsTriggerVariant, ThAudioProgress, ThBackArrow, ThBottomSheet, ThCloseButton, ThCollapsibleActionsBar, ThContainerBody, ThContainerHeader, ThContainerHeaderWithClose, ThContainerHeaderWithPrevious, ThDeleteButton, ThDockedPanel, ThDragIndicatorButton, ThDropdown, ThDropdownButton, ThFooter, ThForm, ThFormNumberField, ThFormSearchField, ThFormTextField, ThGrid, ThHeader, ThHome, ThInteractiveOverlay, ThLibrary, ThLink, ThLoader, ThMenu, ThMenuButton, ThMenuItem, ThModal, ThNavigationButton, ThNumberField, ThPagination, ThPopover, ThRadioGroup, ThRunningHead, ThSettingsResetButton, ThSettingsWrapper, ThSettingsWrapperButton, ThSlider, ThSliderWithPresets, ThSwitch, ThTypedComponentRenderer, useActions, useFirstFocusable } from '../../chunk-ES2Y5MC7.mjs';
|
|
2
2
|
import '../../chunk-YZ73DHRU.mjs';
|
|
3
3
|
export { ThCollapsibilityVisibility, useCollapsibility } from '../../chunk-AQSJDL63.mjs';
|
|
4
4
|
import '../../chunk-3GDQP6AS.mjs';
|
package/dist/lib/index.d.mts
CHANGED
|
@@ -7,10 +7,10 @@ import { m as ThSettingsContainerKeys, e as ThColorScheme, f as ThContrast, T as
|
|
|
7
7
|
import { q as ThLayoutDirection, d as ThBreakpoints, i as ThProgressionFormat, h as ThRunningHeadFormat, n as ThPaginatedAffordancePrefValue, j as ThLayoutUI } from '../ui-DnZZhozX.mjs';
|
|
8
8
|
import { F as FontFamilyStateObject, e as SpacingStateObject, S as SetFontFamilyPayload, c as SetSpacingPresetPayload, d as SpacingStateKey, f as SettingsReducerState } from '../settingsReducer-Pp9aoiiC.mjs';
|
|
9
9
|
export { L as LineLengthStateObject, a as SetLineLengthPayload, b as SetSpacingSettingPayload, h as handleSpacingSetting, i as initialSettingsState, g as setColumnCount, l as setFontFamily, j as setFontSize, k as setFontWeight, m as setHyphens, o as setLetterSpacing, n as setLigatures, p as setLineHeight, q as setLineLength, z as setNoRuby, r as setParagraphIndent, t as setParagraphSpacing, u as setPublisherStyles, v as setScroll, w as setSpacingPreset, x as setTextAlign, y as setTextNormalization, A as setWordSpacing, s as settingsSlice } from '../settingsReducer-Pp9aoiiC.mjs';
|
|
10
|
-
import { a as ThemeTokens, e as ThPreferences, C as CustomizableKeys, d as ThPreferencesAdapter, g as ThGlobalPreferencesAdapter, f as ThGlobalPreferences } from '../ThPreferencesAdapter-B3a-f5v-.mjs';
|
|
11
10
|
import { m as ActionsReducerState } from '../actionsReducer-Bzcj3wk3.mjs';
|
|
12
11
|
export { l as ActionKeysState, f as ActionOverflowOpenPayload, c as ActionStateDockPayload, g as ActionStateDockedPayload, a as ActionStateObject, d as ActionStateOpenPayload, h as ActionStateSlotPayload, i as ActionStateSlotPayloadWithProfile, j as ActionStateSlotWidthPayload, e as ActionStateTogglePayload, A as ActionsStateKeys, k as DockState, D as DockStateObject, O as OverflowStateKeys, b as OverflowStateObject, n as actionsSlice, q as activateDockPanel, u as collapseDockPanel, r as deactivateDockPanel, o as dockAction, v as expandDockPanel, s as setActionOpen, w as setDockPanelWidth, p as setOverflow, t as toggleActionOpen } from '../actionsReducer-Bzcj3wk3.mjs';
|
|
13
12
|
import { Locator } from '@readium/shared';
|
|
13
|
+
import { a as ThemeTokens, e as ThPreferences, C as CustomizableKeys, d as ThPreferencesAdapter, g as ThGlobalPreferencesAdapter, f as ThGlobalPreferences } from '../ThPreferencesAdapter-B3a-f5v-.mjs';
|
|
14
14
|
import { ScriptMode } from '@readium/navigator';
|
|
15
15
|
import { U as UnstableTimeline, b as TocItem } from '../useTimeline-DCZ1qoCO.mjs';
|
|
16
16
|
import { TypedUseSelectorHook } from 'react-redux';
|
|
@@ -109,7 +109,6 @@ interface ThemeReducerState {
|
|
|
109
109
|
monochrome: boolean;
|
|
110
110
|
colorScheme: ThColorScheme;
|
|
111
111
|
theme: ThemeStateObject;
|
|
112
|
-
coverTheme?: ThemeTokens;
|
|
113
112
|
prefersReducedMotion: boolean;
|
|
114
113
|
prefersReducedTransparency: boolean;
|
|
115
114
|
prefersContrast: ThContrast;
|
|
@@ -127,10 +126,6 @@ declare const themeSlice: _reduxjs_toolkit.Slice<ThemeReducerState, {
|
|
|
127
126
|
type: string;
|
|
128
127
|
}) => void;
|
|
129
128
|
setTheme: (state: WritableDraft<ThemeReducerState>, action: ThemeStateChangePayload) => void;
|
|
130
|
-
setCoverTheme: (state: WritableDraft<ThemeReducerState>, action: {
|
|
131
|
-
payload: any;
|
|
132
|
-
type: string;
|
|
133
|
-
}) => void;
|
|
134
129
|
setReducedMotion: (state: WritableDraft<ThemeReducerState>, action: {
|
|
135
130
|
payload: any;
|
|
136
131
|
type: string;
|
|
@@ -162,7 +157,6 @@ declare const setTheme: _reduxjs_toolkit.ActionCreatorWithPayload<{
|
|
|
162
157
|
key: "reflow" | "fxl" | "audio";
|
|
163
158
|
value?: string;
|
|
164
159
|
}, "theming/setTheme">;
|
|
165
|
-
declare const setCoverTheme: _reduxjs_toolkit.ActionCreatorWithPayload<any, "theming/setCoverTheme">;
|
|
166
160
|
declare const setReducedMotion: _reduxjs_toolkit.ActionCreatorWithPayload<any, "theming/setReducedMotion">;
|
|
167
161
|
declare const setReducedTransparency: _reduxjs_toolkit.ActionCreatorWithPayload<any, "theming/setReducedTransparency">;
|
|
168
162
|
declare const setContrast: _reduxjs_toolkit.ActionCreatorWithPayload<any, "theming/setContrast">;
|
|
@@ -188,6 +182,7 @@ interface PublicationReducerState {
|
|
|
188
182
|
previous: AdjacentTimelineItem | null;
|
|
189
183
|
next: AdjacentTimelineItem | null;
|
|
190
184
|
};
|
|
185
|
+
coverTheme?: ThemeTokens;
|
|
191
186
|
}
|
|
192
187
|
declare const publicationSlice: _reduxjs_toolkit.Slice<PublicationReducerState, {
|
|
193
188
|
setFontLanguage: (state: WritableDraft<PublicationReducerState>, action: {
|
|
@@ -236,6 +231,9 @@ declare const publicationSlice: _reduxjs_toolkit.Slice<PublicationReducerState,
|
|
|
236
231
|
next: AdjacentTimelineItem | null;
|
|
237
232
|
};
|
|
238
233
|
}) => void;
|
|
234
|
+
setCoverTheme: (state: WritableDraft<PublicationReducerState>, action: {
|
|
235
|
+
payload: ThemeTokens | undefined;
|
|
236
|
+
}) => void;
|
|
239
237
|
setTocEntry: (state: WritableDraft<PublicationReducerState>, action: {
|
|
240
238
|
payload: TocItem | null;
|
|
241
239
|
}) => void;
|
|
@@ -255,6 +253,7 @@ declare const setAdjacentTimelineItems: _reduxjs_toolkit.ActionCreatorWithPayloa
|
|
|
255
253
|
previous: AdjacentTimelineItem | null;
|
|
256
254
|
next: AdjacentTimelineItem | null;
|
|
257
255
|
}, "publication/setAdjacentTimelineItems">;
|
|
256
|
+
declare const setCoverTheme: _reduxjs_toolkit.ActionCreatorWithOptionalPayload<ThemeTokens | undefined, "publication/setCoverTheme">;
|
|
258
257
|
|
|
259
258
|
interface RenditionProperties<T extends string | Array<string>> {
|
|
260
259
|
default?: T;
|
package/dist/lib/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ThReduxGlobalPreferencesAdapter, ThReduxPreferencesAdapter, ThStoreProvider, actionsSlice, activateDockPanel, audioSettingsSlice, collapseDockPanel, deactivateDockPanel, dockAction, expandDockPanel, globalPreferencesSlice, handleSpacingSetting, initialSettingsState, initialWebPubSettingsState, makeStore, playerSlice, preferencesSlice, publicationSlice, readerSlice, setActionOpen, setAdjacentTimelineItems, setAutoPlay, setBreakpoint, setColorScheme, setColumnCount, setContainerBreakpoint, setContrast, setCoverTheme, setDirection, setDockPanelWidth, setEnableMediaSession, setFXL, setFontFamily, setFontLanguage, setFontSize, setFontWeight, setForcedColors, setFullscreen, setHasArrows, setHasDisplayTransformability, setHovering, setHyphens, setImmersive, setLetterSpacing, setLigatures, setLineHeight, setLineLength, setLoading, setLocale, setMonochrome, setNoRuby, setOverflow, setPaginatedAffordance, setParagraphIndent, setParagraphSpacing, setPlatformModifier, setPlaybackRate, setPollInterval, setPositionsList, setPreservePitch, setProgressionFormat, setPublicationEnd, setPublicationStart, setPublisherStyles, setRTL, setReaderProfile, setReducedMotion, setReducedTransparency, setRemotePlaybackState, setRunningHeadFormat, setScriptMode, setScroll, setScrollAffordance, setScrollAffordances, setSeekableRanges, setSeeking, setSettingsContainer, setSkipBackwardInterval, setSkipForwardInterval, setSkipInterval, setSleepTimerOnFragmentEnd, setSleepTimerOnTrackEnd, setSleepTimerRemainingSeconds, setSpacingPreset, setStalled, setStatus, setTextAlign, setTextNormalization, setTheme, setTimeline, setTocEntry, setTocTree, setTrackReady, setUI, setUserNavigated, setVolume, setWebPubFontFamily, setWebPubFontWeight, setWebPubHyphens, setWebPubLetterSpacing, setWebPubLigatures, setWebPubLineHeight, setWebPubNoRuby, setWebPubParagraphIndent, setWebPubParagraphSpacing, setWebPubPublisherStyles, setWebPubSpacingPreset, setWebPubTextAlign, setWebPubTextNormalization, setWebPubWordSpacing, setWebPubZoom, setWordSpacing, settingsSlice, themeSlice, toggleActionOpen, toggleImmersive, updateFromPreferences, webPubSettingsSlice } from '../chunk-
|
|
1
|
+
export { ThReduxGlobalPreferencesAdapter, ThReduxPreferencesAdapter, ThStoreProvider, actionsSlice, activateDockPanel, audioSettingsSlice, collapseDockPanel, deactivateDockPanel, dockAction, expandDockPanel, globalPreferencesSlice, handleSpacingSetting, initialSettingsState, initialWebPubSettingsState, makeStore, playerSlice, preferencesSlice, publicationSlice, readerSlice, setActionOpen, setAdjacentTimelineItems, setAutoPlay, setBreakpoint, setColorScheme, setColumnCount, setContainerBreakpoint, setContrast, setCoverTheme, setDirection, setDockPanelWidth, setEnableMediaSession, setFXL, setFontFamily, setFontLanguage, setFontSize, setFontWeight, setForcedColors, setFullscreen, setHasArrows, setHasDisplayTransformability, setHovering, setHyphens, setImmersive, setLetterSpacing, setLigatures, setLineHeight, setLineLength, setLoading, setLocale, setMonochrome, setNoRuby, setOverflow, setPaginatedAffordance, setParagraphIndent, setParagraphSpacing, setPlatformModifier, setPlaybackRate, setPollInterval, setPositionsList, setPreservePitch, setProgressionFormat, setPublicationEnd, setPublicationStart, setPublisherStyles, setRTL, setReaderProfile, setReducedMotion, setReducedTransparency, setRemotePlaybackState, setRunningHeadFormat, setScriptMode, setScroll, setScrollAffordance, setScrollAffordances, setSeekableRanges, setSeeking, setSettingsContainer, setSkipBackwardInterval, setSkipForwardInterval, setSkipInterval, setSleepTimerOnFragmentEnd, setSleepTimerOnTrackEnd, setSleepTimerRemainingSeconds, setSpacingPreset, setStalled, setStatus, setTextAlign, setTextNormalization, setTheme, setTimeline, setTocEntry, setTocTree, setTrackReady, setUI, setUserNavigated, setVolume, setWebPubFontFamily, setWebPubFontWeight, setWebPubHyphens, setWebPubLetterSpacing, setWebPubLigatures, setWebPubLineHeight, setWebPubNoRuby, setWebPubParagraphIndent, setWebPubParagraphSpacing, setWebPubPublisherStyles, setWebPubSpacingPreset, setWebPubTextAlign, setWebPubTextNormalization, setWebPubWordSpacing, setWebPubZoom, setWordSpacing, settingsSlice, themeSlice, toggleActionOpen, toggleImmersive, updateFromPreferences, webPubSettingsSlice } from '../chunk-G2M4MYVF.mjs';
|
|
2
2
|
import '../chunk-TEZB4ULX.mjs';
|
|
3
3
|
export { useAppDispatch, useAppSelector, useAppStore } from '../chunk-A575ZW4A.mjs';
|
|
4
4
|
import '../chunk-X63WSMOH.mjs';
|
|
@@ -52,12 +52,12 @@
|
|
|
52
52
|
"printingDisabled": "Utskrift har inaktiverats",
|
|
53
53
|
"errors": {
|
|
54
54
|
"title": "Fel",
|
|
55
|
-
"notFound": "Ingen
|
|
55
|
+
"notFound": "Ingen bok hittades.",
|
|
56
56
|
"accessDenied": "Access nekas.",
|
|
57
|
-
"network": "
|
|
58
|
-
"serverError": "Serverfel
|
|
57
|
+
"network": "Servern kan inte nås – försök igen senare.",
|
|
58
|
+
"serverError": "Serverfel – försök igen senare.",
|
|
59
59
|
"clientError": "Ogiltig begäran.",
|
|
60
|
-
"generic": "Kan inte ladda
|
|
60
|
+
"generic": "Kan inte ladda boken."
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
63
|
"navigation": {
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
},
|
|
76
76
|
"jumpToPosition": {
|
|
77
77
|
"go": "Hoppa",
|
|
78
|
-
"label": "Välj en position
|
|
78
|
+
"label": "Välj en position mellan {{ positionStart }} till {{ positionEnd }}:",
|
|
79
79
|
"error": {
|
|
80
80
|
"notFound": "Positionen hittades inte."
|
|
81
81
|
}
|
|
@@ -83,10 +83,10 @@
|
|
|
83
83
|
"overflowMenu": {
|
|
84
84
|
"active": {
|
|
85
85
|
"tooltip": "Fler åtgärder",
|
|
86
|
-
"trigger": "
|
|
86
|
+
"trigger": "Visa eller dölj meny"
|
|
87
87
|
},
|
|
88
88
|
"hint": {
|
|
89
|
-
"tooltip": "
|
|
89
|
+
"tooltip": "Visa eller dölj åtgärder",
|
|
90
90
|
"trigger": "Visa åtgärder"
|
|
91
91
|
}
|
|
92
92
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
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, readiumCSSFontCollection, resolveAudioContentProtectionConfig, resolveContentProtectionConfig, sepiaTheme, tamilCollection, useActionsPreferences, useAudioActionsPreferences, useAudioPreferences, useFilteredPreferenceKeys, usePreferenceKeys, usePreferences, useSharedPreferences, useTheming, validateObjectKeys } from '../chunk-
|
|
1
|
+
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, readiumCSSFontCollection, resolveAudioContentProtectionConfig, resolveContentProtectionConfig, sepiaTheme, tamilCollection, useActionsPreferences, useAudioActionsPreferences, useAudioPreferences, useFilteredPreferenceKeys, usePreferenceKeys, usePreferences, useSharedPreferences, useTheming, validateObjectKeys } from '../chunk-UOFADXXI.mjs';
|
|
2
2
|
export { ThArrowVariant, ThAudioPlayerComponent, ThAudioProgressBarVariant, ThAudioPublicationMetadataComponent, ThBackLinkVariant, ThBreakpoints, ThDocumentTitleFormat, ThLayoutDirection, ThLayoutUI, ThProgressionFormat, ThRunningHeadFormat } from '../chunk-2YRT7RNW.mjs';
|
|
3
3
|
import '../chunk-GFSLVQIG.mjs';
|
|
4
4
|
export { ThGlobalPreferencesContext, useGlobalPreferences } from '../chunk-AE6P4KJB.mjs';
|
|
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import React__default, { RefObject, ReactNode } from 'react';
|
|
3
3
|
import { w as ThActionsTriggerVariant, a as ThSheetHeaderVariant, u as ThCollapsibilityVisibility, j as ThShortcutConfig, h as ThActionEntry, g as ThActionsKeys, T as ThDockingKeys, e as ThSheetTypes } from './actions-C33UN3Ji.mjs';
|
|
4
4
|
import { TooltipProps, Heading, HeadingProps, PopoverProps } from 'react-aria-components';
|
|
5
|
-
import { T as ThActionButtonProps, f as ThMenuItemProps, a as ThCollapsibleActionsBarProps, v as ThSettingsEntry, W as WithRef, t as ThDropdownProps, h as ThNumberFieldProps, k as ThRadioGroupProps, m as ThSliderProps, o as ThSliderWithPresetsProps, q as ThSwitchProps } from './ThSettingsWrapper-
|
|
5
|
+
import { T as ThActionButtonProps, f as ThMenuItemProps, a as ThCollapsibleActionsBarProps, v as ThSettingsEntry, W as WithRef, t as ThDropdownProps, h as ThNumberFieldProps, k as ThRadioGroupProps, m as ThSliderProps, o as ThSliderWithPresetsProps, q as ThSwitchProps } from './ThSettingsWrapper-D4WIzlXA.mjs';
|
|
6
6
|
import { h as ThTextSettingsKeys, b as ThSpacingSettingsKeys, j as ThSettingsGroupPref, o as ThSettingsRangePlaceholder, g as ThSettingsKeys, T as ThLineHeightOptions, a as ThSpacingPresetKeys } from './useContrast-Bl08zDTU.mjs';
|
|
7
7
|
import { PressEvent } from 'react-aria';
|
|
8
8
|
import { f as SettingsReducerState } from './settingsReducer-Pp9aoiiC.mjs';
|
package/package.json
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"bugs": {
|
|
21
21
|
"url": "https://github.com/edrlab/thorium-web/issues"
|
|
22
22
|
},
|
|
23
|
-
"version": "1.5.
|
|
23
|
+
"version": "1.5.5",
|
|
24
24
|
"private": false,
|
|
25
25
|
"files": [
|
|
26
26
|
"./dist"
|
|
@@ -65,9 +65,9 @@
|
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
67
|
"@readium/css": ">=2.0.5",
|
|
68
|
-
"@readium/navigator": ">=2.
|
|
68
|
+
"@readium/navigator": ">=2.6.1",
|
|
69
69
|
"@readium/navigator-html-injectables": ">=2.4.4",
|
|
70
|
-
"@readium/shared": "
|
|
70
|
+
"@readium/shared": ">=2.2.3",
|
|
71
71
|
"@reduxjs/toolkit": "^2.11.2",
|
|
72
72
|
"i18next": "^25.8.13",
|
|
73
73
|
"i18next-browser-languagedetector": "^8.2.1",
|
|
@@ -86,9 +86,9 @@
|
|
|
86
86
|
"dependencies": {
|
|
87
87
|
"@edrlab/thorium-locales": "github:edrlab/thorium-locales",
|
|
88
88
|
"@readium/css": ">=2.0.5",
|
|
89
|
-
"@readium/navigator": ">=2.
|
|
89
|
+
"@readium/navigator": ">=2.6.1",
|
|
90
90
|
"@readium/navigator-html-injectables": ">=2.4.4",
|
|
91
|
-
"@readium/shared": "
|
|
91
|
+
"@readium/shared": ">=2.2.3",
|
|
92
92
|
"@reduxjs/toolkit": "^2.11.2",
|
|
93
93
|
"classnames": "^2.5.1",
|
|
94
94
|
"colorthief": "^3.3.1",
|
|
@@ -99,14 +99,14 @@
|
|
|
99
99
|
"motion": "^12.34.3",
|
|
100
100
|
"next": "16.1.6",
|
|
101
101
|
"react": "^19.2.4",
|
|
102
|
-
"react-aria": "^3.
|
|
103
|
-
"react-aria-components": "^1.
|
|
102
|
+
"react-aria": "^3.49.0",
|
|
103
|
+
"react-aria-components": "^1.18.0",
|
|
104
104
|
"react-dom": "^19.2.4",
|
|
105
105
|
"react-i18next": "^16.5.4",
|
|
106
106
|
"react-modal-sheet": "5.2.1",
|
|
107
107
|
"react-redux": "^9.2.0",
|
|
108
108
|
"react-resizable-panels": "^3.0.6",
|
|
109
|
-
"react-stately": "^3.
|
|
109
|
+
"react-stately": "^3.47.0"
|
|
110
110
|
},
|
|
111
111
|
"devDependencies": {
|
|
112
112
|
"@svgr/webpack": "^8.1.0",
|