@edrlab/thorium-web 1.5.4 → 1.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ThPreferencesAdapter-B3a-f5v-.d.mts → ThPreferencesAdapter-GepvYoaL.d.mts} +4 -3
- package/dist/{ThSettingsWrapper-D4WIzlXA.d.mts → ThSettingsWrapper-DyYC678Q.d.mts} +1 -1
- package/dist/{actions-C33UN3Ji.d.mts → actions-CTg9C4C-.d.mts} +1 -1
- package/dist/{actionsReducer-Bzcj3wk3.d.mts → actionsReducer-Cnd7Cdh9.d.mts} +1 -1
- package/dist/{chunk-VYSDLACR.mjs → chunk-3R5JARA2.mjs} +3 -3
- package/dist/{chunk-VYSDLACR.mjs.map → chunk-3R5JARA2.mjs.map} +1 -1
- package/dist/{chunk-X6Z4WZLX.mjs → chunk-5IT53TCU.mjs} +55 -35
- package/dist/chunk-5IT53TCU.mjs.map +1 -0
- package/dist/{chunk-7WGC22F3.mjs → chunk-6DR4EAK3.mjs} +42 -49
- package/dist/chunk-6DR4EAK3.mjs.map +1 -0
- package/dist/chunk-7SMOXFAF.mjs +121 -0
- package/dist/chunk-7SMOXFAF.mjs.map +1 -0
- package/dist/{chunk-AEEGHJVM.mjs → chunk-CXKDZVAV.mjs} +113 -258
- package/dist/chunk-CXKDZVAV.mjs.map +1 -0
- package/dist/{chunk-MD5LZNDG.mjs → chunk-DKF53WEQ.mjs} +39 -16
- package/dist/chunk-DKF53WEQ.mjs.map +1 -0
- package/dist/{chunk-GFSLVQIG.mjs → chunk-EREFYF5J.mjs} +3 -3
- package/dist/{chunk-GFSLVQIG.mjs.map → chunk-EREFYF5J.mjs.map} +1 -1
- package/dist/{chunk-YE5QOQUT.mjs → chunk-I765HTBI.mjs} +15 -109
- package/dist/chunk-I765HTBI.mjs.map +1 -0
- package/dist/{chunk-G4T4RXFB.mjs → chunk-LF6IMH7J.mjs} +83 -70
- package/dist/chunk-LF6IMH7J.mjs.map +1 -0
- package/dist/{chunk-NQ2ZSGCX.mjs → chunk-MFVZ5AEN.mjs} +7 -3
- package/dist/chunk-MFVZ5AEN.mjs.map +1 -0
- package/dist/{chunk-2YRT7RNW.mjs → chunk-QOU3R5ZT.mjs} +9 -3
- package/dist/chunk-QOU3R5ZT.mjs.map +1 -0
- package/dist/{chunk-G35H3K32.mjs → chunk-VWKUZP5V.mjs} +43 -48
- package/dist/chunk-VWKUZP5V.mjs.map +1 -0
- package/dist/{chunk-IVCUCIYN.mjs → chunk-WOJR6ALR.mjs} +41 -18
- package/dist/chunk-WOJR6ALR.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 +13 -13
- package/dist/components/Audio/index.mjs +10 -11
- package/dist/components/Epub/index.d.mts +13 -13
- package/dist/components/Epub/index.mjs +11 -12
- package/dist/components/Reader/index.css +1 -0
- package/dist/components/Reader/index.css.map +1 -1
- package/dist/components/Reader/index.d.mts +12 -12
- package/dist/components/Reader/index.mjs +18 -18
- package/dist/components/Reader/index.mjs.map +1 -1
- package/dist/components/WebPub/index.d.mts +13 -13
- package/dist/components/WebPub/index.mjs +11 -12
- package/dist/core/Components/index.d.mts +6 -6
- package/dist/core/Helpers/index.d.mts +4 -4
- package/dist/core/Helpers/index.mjs +2 -2
- package/dist/core/Hooks/index.d.mts +14 -9
- package/dist/core/Hooks/index.mjs +4 -4
- package/dist/lib/index.d.mts +43 -33
- package/dist/lib/index.mjs +3 -4
- package/dist/locales/ar/thorium-shared.json +39 -0
- package/dist/locales/bg/thorium-web.json +23 -0
- package/dist/locales/brh/thorium-shared.json +1 -0
- package/dist/locales/brh/thorium-web.json +1 -0
- package/dist/locales/da/thorium-shared.json +3 -0
- package/dist/locales/el/thorium-web.json +41 -6
- package/dist/locales/en/thorium-shared.json +3 -0
- package/dist/locales/es/thorium-shared.json +3 -0
- package/dist/locales/et/thorium-shared.json +3 -0
- package/dist/locales/fi/thorium-shared.json +3 -0
- package/dist/locales/fi/thorium-web.json +4 -4
- package/dist/locales/he/thorium-shared.json +3 -1
- package/dist/locales/it/thorium-shared.json +3 -0
- package/dist/locales/lt/thorium-shared.json +30 -4
- package/dist/locales/pt-PT/thorium-shared.json +8 -5
- package/dist/locales/sv/thorium-shared.json +3 -3
- package/dist/locales/sv/thorium-web.json +7 -7
- package/dist/locales/tr/thorium-shared.json +80 -0
- package/dist/preferences/index.d.mts +10 -10
- package/dist/preferences/index.mjs +4 -5
- package/dist/{settingsReducer-Pp9aoiiC.d.mts → settingsReducer-DRWEq8Cm.d.mts} +1 -1
- package/dist/{ui-DnZZhozX.d.mts → ui-DHQ_zvWn.d.mts} +7 -1
- package/dist/{useAudioNavigator-9RuOpLGB.d.mts → useAudioNavigator-B4NBPvmZ.d.mts} +4 -5
- package/dist/{useContrast-Bl08zDTU.d.mts → useContrast-Unp3534Z.d.mts} +1 -1
- package/dist/{usePreferences-Cy7-JN2x.d.mts → usePreferences-Bi-ptif0.d.mts} +6 -9
- package/dist/usePublicationProgress-DT-X5ZLf.d.mts +44 -0
- package/dist/{useReaderTransitions-BsTdWZDK.d.mts → useReaderTransitions-B9fOF61y.d.mts} +10 -14
- package/package.json +13 -10
- package/dist/chunk-2YRT7RNW.mjs.map +0 -1
- package/dist/chunk-7WGC22F3.mjs.map +0 -1
- package/dist/chunk-A575ZW4A.mjs +0 -10
- package/dist/chunk-A575ZW4A.mjs.map +0 -1
- package/dist/chunk-AEEGHJVM.mjs.map +0 -1
- package/dist/chunk-G35H3K32.mjs.map +0 -1
- package/dist/chunk-G4T4RXFB.mjs.map +0 -1
- package/dist/chunk-IVCUCIYN.mjs.map +0 -1
- package/dist/chunk-MD5LZNDG.mjs.map +0 -1
- package/dist/chunk-NQ2ZSGCX.mjs.map +0 -1
- package/dist/chunk-TEZB4ULX.mjs +0 -57
- package/dist/chunk-TEZB4ULX.mjs.map +0 -1
- package/dist/chunk-X6Z4WZLX.mjs.map +0 -1
- package/dist/chunk-YE5QOQUT.mjs.map +0 -1
- package/dist/useTimeline-DCZ1qoCO.d.mts +0 -55
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
export { ExperimentalWebPubStatefulReader } from '../../chunk-
|
|
2
|
-
export { StatefulAudioMediaActions, StatefulAudioPlaybackControls, StatefulAudioProgressBar, StatefulNextButton, StatefulPlayPauseButton, StatefulPlayer, StatefulPreviousButton, StatefulSkipBackwardButton, StatefulSkipForwardButton } from '../../chunk-
|
|
3
|
-
export { StatefulReader } from '../../chunk-
|
|
4
|
-
import '../../chunk-
|
|
5
|
-
export { ORDERED_LINE_HEIGHT_OPTIONS, StatefulActionIcon, StatefulAudioAutoPlay, StatefulAudioPlaybackRateContainer, StatefulAudioPlaybackRateTrigger, StatefulAudioRemotePlaybackTrigger, StatefulAudioSettingsContainer, StatefulAudioSkipBackwardInterval, StatefulAudioSkipForwardInterval, StatefulAudioSkipInterval, StatefulAudioSleepTimerContainer, StatefulAudioSleepTimerTrigger, StatefulAudioTocContainer, StatefulAudioTocTrigger, StatefulAudioVolumeContainer, StatefulAudioVolumeTrigger, StatefulBottomSheet, StatefulCollapsibleActionsBar, StatefulColumns, StatefulCompactPopoverSheet, StatefulDockedSheet, StatefulDropdown, StatefulFontFamily, StatefulFullScreenSheet, StatefulFullscreenTrigger, StatefulGlobalPreferencesProvider, StatefulGroupWrapper, StatefulHyphens, StatefulJumpToPositionContainer, StatefulJumpToPositionTrigger, StatefulLayout, 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-
|
|
6
|
-
export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getSupportedProgressionFormats, isActiveElement, isInteractiveElement, isKeyboardTriggered, makeBreakpointsMap } from '../../chunk-
|
|
7
|
-
export { useAudioNavigator, useEpubNavigator, useWebPubNavigator } from '../../chunk-
|
|
1
|
+
export { ExperimentalWebPubStatefulReader } from '../../chunk-DKF53WEQ.mjs';
|
|
2
|
+
export { StatefulAudioMediaActions, StatefulAudioPlaybackControls, StatefulAudioProgressBar, StatefulNextButton, StatefulPlayPauseButton, StatefulPlayer, StatefulPreviousButton, StatefulSkipBackwardButton, StatefulSkipForwardButton } from '../../chunk-VWKUZP5V.mjs';
|
|
3
|
+
export { StatefulReader } from '../../chunk-WOJR6ALR.mjs';
|
|
4
|
+
import '../../chunk-5IT53TCU.mjs';
|
|
5
|
+
export { ORDERED_LINE_HEIGHT_OPTIONS, StatefulActionIcon, StatefulAudioAutoPlay, StatefulAudioPlaybackRateContainer, StatefulAudioPlaybackRateTrigger, StatefulAudioRemotePlaybackTrigger, StatefulAudioSettingsContainer, StatefulAudioSkipBackwardInterval, StatefulAudioSkipForwardInterval, StatefulAudioSkipInterval, StatefulAudioSleepTimerContainer, StatefulAudioSleepTimerTrigger, StatefulAudioTocContainer, StatefulAudioTocTrigger, StatefulAudioVolumeContainer, StatefulAudioVolumeTrigger, StatefulBottomSheet, StatefulCollapsibleActionsBar, StatefulColumns, StatefulCompactPopoverSheet, StatefulDockedSheet, StatefulDropdown, StatefulFontFamily, StatefulFullScreenSheet, StatefulFullscreenTrigger, StatefulGlobalPreferencesProvider, StatefulGroupWrapper, StatefulHyphens, StatefulJumpToPositionContainer, StatefulJumpToPositionTrigger, StatefulLayout, 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-LF6IMH7J.mjs';
|
|
6
|
+
export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getSupportedProgressionFormats, isActiveElement, isInteractiveElement, isKeyboardTriggered, makeBreakpointsMap } from '../../chunk-3R5JARA2.mjs';
|
|
7
|
+
export { useAudioNavigator, useEpubNavigator, useWebPubNavigator } from '../../chunk-CXKDZVAV.mjs';
|
|
8
8
|
import { ThI18nProvider } from '../../chunk-DQDOOTCE.mjs';
|
|
9
9
|
export { ThI18nProvider, Trans } from '../../chunk-DQDOOTCE.mjs';
|
|
10
|
-
import { setReducedTransparency, setReducedMotion, setMonochrome, setForcedColors, setContrast, setColorScheme, setContainerBreakpoint, setBreakpoint
|
|
11
|
-
export { ThReduxGlobalPreferencesAdapter, ThReduxPreferencesAdapter, ThStoreProvider, actionsSlice, activateDockPanel, audioSettingsSlice, collapseDockPanel, deactivateDockPanel, dockAction, expandDockPanel, globalPreferencesSlice, handleSpacingSetting, initialSettingsState, initialWebPubSettingsState, makeStore, playerSlice, preferencesSlice,
|
|
12
|
-
import '../../chunk-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
import { setReducedTransparency, setReducedMotion, setMonochrome, setForcedColors, setContrast, setColorScheme, setContainerBreakpoint, setBreakpoint } from '../../chunk-I765HTBI.mjs';
|
|
11
|
+
export { ThReduxGlobalPreferencesAdapter, ThReduxPreferencesAdapter, ThStoreProvider, actionsSlice, activateDockPanel, audioSettingsSlice, collapseDockPanel, deactivateDockPanel, dockAction, expandDockPanel, globalPreferencesSlice, handleSpacingSetting, initialSettingsState, initialWebPubSettingsState, makeStore, playerSlice, preferencesSlice, readerSlice, setActionOpen, setAutoPlay, setBreakpoint, setColorScheme, setColumnCount, setContainerBreakpoint, setContrast, setDirection, setDockPanelWidth, setEnableMediaSession, setFontFamily, setFontSize, setFontWeight, setForcedColors, setFullscreen, setHasArrows, setHovering, setHyphens, setImmersive, setLetterSpacing, setLigatures, setLineHeight, setLineLength, setLoading, setLocale, setMonochrome, setNoRuby, setOverflow, setPaginatedAffordance, setParagraphIndent, setParagraphSpacing, setPlatformModifier, setPlaybackRate, setPollInterval, setPreservePitch, setProgressionFormat, setPublisherStyles, setReaderProfile, setReducedMotion, setReducedTransparency, setRemotePlaybackState, setRunningHeadFormat, setScroll, setScrollAffordance, setScrollAffordances, setSeekableRanges, setSeeking, setSettingsContainer, setSkipBackwardInterval, setSkipForwardInterval, setSkipInterval, setSleepTimerOnFragmentEnd, setSleepTimerOnTrackEnd, setSleepTimerRemainingSeconds, setSpacingPreset, setStalled, setStatus, setTextAlign, setTextNormalization, setTheme, 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-I765HTBI.mjs';
|
|
12
|
+
import { setCoverTheme, setFontLanguage } from '../../chunk-7SMOXFAF.mjs';
|
|
13
|
+
export { publicationSlice, setAdjacentTimelineItems, setCoverTheme, setFXL, setFontLanguage, setHasDisplayTransformability, setPositionsList, setProgress, setPublicationEnd, setPublicationStart, setRTL, setScriptMode, setTocEntry, setTocTree } from '../../chunk-7SMOXFAF.mjs';
|
|
14
|
+
import { ThAudioPreferencesProvider, ThPreferencesProvider, useAudioPreferences, useTheming, prefixString, usePreferences, proxyUrl } from '../../chunk-6DR4EAK3.mjs';
|
|
15
|
+
export { ThPreferencesProvider, usePreferences, useTheming } from '../../chunk-6DR4EAK3.mjs';
|
|
16
|
+
import { propsToCSSVars } from '../../chunk-QOU3R5ZT.mjs';
|
|
17
|
+
export { propsToCSSVars } from '../../chunk-QOU3R5ZT.mjs';
|
|
18
|
+
import '../../chunk-EREFYF5J.mjs';
|
|
18
19
|
import '../../chunk-AE6P4KJB.mjs';
|
|
19
|
-
import { useAppSelector, useAppDispatch } from '../../chunk-A575ZW4A.mjs';
|
|
20
|
-
export { useAppDispatch, useAppSelector, useAppStore } from '../../chunk-A575ZW4A.mjs';
|
|
21
20
|
export { ShortcutRepresentation, defaultPlatformModifier, getPlatformModifier, metaKeys } from '../../chunk-X63WSMOH.mjs';
|
|
22
|
-
import '../../chunk-
|
|
21
|
+
import { useAppSelector, useAppDispatch } from '../../chunk-MFVZ5AEN.mjs';
|
|
22
|
+
export { useAppDispatch, useAppSelector, useAppStore } from '../../chunk-MFVZ5AEN.mjs';
|
|
23
23
|
export { getPlatform, isIOSish, isIpadOS, isMacish } from '../../chunk-KQ3KS5O5.mjs';
|
|
24
24
|
import { StatefulLoader } from '../../chunk-E74VFBKW.mjs';
|
|
25
25
|
import '../../chunk-RRDEPGBK.mjs';
|
|
@@ -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,29 +1,29 @@
|
|
|
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-
|
|
3
|
-
export { b as useWebPubNavigator } from '../../useAudioNavigator-
|
|
1
|
+
import { aD as StatefulReaderProps } from '../../useReaderTransitions-B9fOF61y.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-B9fOF61y.mjs';
|
|
3
|
+
export { b as useWebPubNavigator } from '../../useAudioNavigator-B4NBPvmZ.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';
|
|
6
|
-
export {
|
|
7
|
-
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, m as ActionsReducerState, 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-
|
|
8
|
-
export { F as FontFamilyStateObject, L as LineLengthStateObject, S as SetFontFamilyPayload, a as SetLineLengthPayload, c as SetSpacingPresetPayload, b as SetSpacingSettingPayload, f as SettingsReducerState, d as SpacingStateKey, e as SpacingStateObject, 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-
|
|
9
|
-
export { u as useTheming } from '../../ThPreferencesAdapter-
|
|
10
|
-
export { T as ThPreferencesProvider, u as usePreferences } from '../../usePreferences-
|
|
6
|
+
export { AppDispatch, AppState, AppStore, AudioSettingsState, GlobalPreferencesReducerState, PaginatedAffordanceObject, PaginatedAffordancePayload, PaginatedAffordanceProperties, PlayerReducerState, PlayerStatus, PreferencesReducerState, PublicationReducerState, ReaderProfile, ReaderReducerState, RemotePlaybackState, RenditionChangePayload, RenditionObject, RenditionProperties, RootState, SeekableRange, SleepTimerState, ThReduxGlobalPreferencesAdapter, ThReduxPreferencesAdapter, ThStoreProvider, ThemeReducerState, ThemeStateChangePayload, ThemeStateObject, TimelineItemRef, UIChangePayload, WebPubSettingsReducerState, audioSettingsSlice, globalPreferencesSlice, initialWebPubSettingsState, makeStore, playerSlice, preferencesSlice, publicationSlice, readerSlice, setAdjacentTimelineItems, setAutoPlay, setBreakpoint, setColorScheme, setContainerBreakpoint, setContrast, setCoverTheme, setDirection, setEnableMediaSession, setFXL, setFontLanguage, setForcedColors, setFullscreen, setHasArrows, setHasDisplayTransformability, setHovering, setImmersive, setLoading, setLocale, setMonochrome, setPaginatedAffordance, setPlatformModifier, setPlaybackRate, setPollInterval, setPositionsList, setPreservePitch, setProgress, setProgressionFormat, setPublicationEnd, setPublicationStart, setRTL, setReaderProfile, setReducedMotion, setReducedTransparency, setRemotePlaybackState, setRunningHeadFormat, setScriptMode, setScrollAffordance, setScrollAffordances, setSeekableRanges, setSeeking, setSettingsContainer, setSkipBackwardInterval, setSkipForwardInterval, setSkipInterval, setSleepTimerOnFragmentEnd, setSleepTimerOnTrackEnd, setSleepTimerRemainingSeconds, setStalled, setStatus, setTheme, setTocEntry, setTocTree, setTrackReady, setUI, setUserNavigated, setVolume, setWebPubFontFamily, setWebPubFontWeight, setWebPubHyphens, setWebPubLetterSpacing, setWebPubLigatures, setWebPubLineHeight, setWebPubNoRuby, setWebPubParagraphIndent, setWebPubParagraphSpacing, setWebPubPublisherStyles, setWebPubSpacingPreset, setWebPubTextAlign, setWebPubTextNormalization, setWebPubWordSpacing, setWebPubZoom, themeSlice, toggleImmersive, updateFromPreferences, useAppDispatch, useAppSelector, useAppStore, webPubSettingsSlice } from '../../lib/index.mjs';
|
|
7
|
+
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, m as ActionsReducerState, 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-Cnd7Cdh9.mjs';
|
|
8
|
+
export { F as FontFamilyStateObject, L as LineLengthStateObject, S as SetFontFamilyPayload, a as SetLineLengthPayload, c as SetSpacingPresetPayload, b as SetSpacingSettingPayload, f as SettingsReducerState, d as SpacingStateKey, e as SpacingStateObject, 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-DRWEq8Cm.mjs';
|
|
9
|
+
export { u as useTheming } from '../../ThPreferencesAdapter-GepvYoaL.mjs';
|
|
10
|
+
export { T as ThPreferencesProvider, u as usePreferences } from '../../usePreferences-Bi-ptif0.mjs';
|
|
11
11
|
export { Trans } from 'react-i18next';
|
|
12
12
|
export { DEFAULT_CONFIG, ThI18nProvider, initI18n, useI18n } from '../../i18n/index.mjs';
|
|
13
13
|
export { default as i18n } from 'i18next';
|
|
14
14
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
15
15
|
import 'react';
|
|
16
|
-
import '../../actions-
|
|
16
|
+
import '../../actions-CTg9C4C-.mjs';
|
|
17
17
|
import 'react-aria-components';
|
|
18
|
-
import '../../ui-
|
|
18
|
+
import '../../ui-DHQ_zvWn.mjs';
|
|
19
19
|
import '@readium/navigator-html-injectables';
|
|
20
|
-
import '../../ThSettingsWrapper-
|
|
20
|
+
import '../../ThSettingsWrapper-DyYC678Q.mjs';
|
|
21
21
|
import 'react-aria';
|
|
22
|
-
import '../../useContrast-
|
|
22
|
+
import '../../useContrast-Unp3534Z.mjs';
|
|
23
23
|
import '@readium/navigator';
|
|
24
24
|
import '@readium/shared';
|
|
25
25
|
import '../../errorHandler-CL2YIfQY.mjs';
|
|
26
|
-
import '../../
|
|
26
|
+
import '../../usePublicationProgress-DT-X5ZLf.mjs';
|
|
27
27
|
import '@reduxjs/toolkit';
|
|
28
28
|
import '../../immer.d-CoRThNOF.mjs';
|
|
29
29
|
import 'react-redux';
|
|
@@ -1,18 +1,17 @@
|
|
|
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-
|
|
4
|
-
export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getSupportedProgressionFormats, isActiveElement, isInteractiveElement, isKeyboardTriggered, makeBreakpointsMap } from '../../chunk-
|
|
5
|
-
export { useWebPubNavigator } from '../../chunk-
|
|
1
|
+
export { ExperimentalWebPubStatefulReader } from '../../chunk-DKF53WEQ.mjs';
|
|
2
|
+
import '../../chunk-5IT53TCU.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-LF6IMH7J.mjs';
|
|
4
|
+
export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getSupportedProgressionFormats, isActiveElement, isInteractiveElement, isKeyboardTriggered, makeBreakpointsMap } from '../../chunk-3R5JARA2.mjs';
|
|
5
|
+
export { useWebPubNavigator } from '../../chunk-CXKDZVAV.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,
|
|
8
|
-
|
|
9
|
-
export { ThPreferencesProvider, usePreferences, useTheming } from '../../chunk-
|
|
10
|
-
export { propsToCSSVars } from '../../chunk-
|
|
11
|
-
import '../../chunk-
|
|
7
|
+
export { ThReduxGlobalPreferencesAdapter, ThReduxPreferencesAdapter, ThStoreProvider, actionsSlice, activateDockPanel, audioSettingsSlice, collapseDockPanel, deactivateDockPanel, dockAction, expandDockPanel, globalPreferencesSlice, handleSpacingSetting, initialSettingsState, initialWebPubSettingsState, makeStore, playerSlice, preferencesSlice, readerSlice, setActionOpen, setAutoPlay, setBreakpoint, setColorScheme, setColumnCount, setContainerBreakpoint, setContrast, setDirection, setDockPanelWidth, setEnableMediaSession, setFontFamily, setFontSize, setFontWeight, setForcedColors, setFullscreen, setHasArrows, setHovering, setHyphens, setImmersive, setLetterSpacing, setLigatures, setLineHeight, setLineLength, setLoading, setLocale, setMonochrome, setNoRuby, setOverflow, setPaginatedAffordance, setParagraphIndent, setParagraphSpacing, setPlatformModifier, setPlaybackRate, setPollInterval, setPreservePitch, setProgressionFormat, setPublisherStyles, setReaderProfile, setReducedMotion, setReducedTransparency, setRemotePlaybackState, setRunningHeadFormat, setScroll, setScrollAffordance, setScrollAffordances, setSeekableRanges, setSeeking, setSettingsContainer, setSkipBackwardInterval, setSkipForwardInterval, setSkipInterval, setSleepTimerOnFragmentEnd, setSleepTimerOnTrackEnd, setSleepTimerRemainingSeconds, setSpacingPreset, setStalled, setStatus, setTextAlign, setTextNormalization, setTheme, 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-I765HTBI.mjs';
|
|
8
|
+
export { publicationSlice, setAdjacentTimelineItems, setCoverTheme, setFXL, setFontLanguage, setHasDisplayTransformability, setPositionsList, setProgress, setPublicationEnd, setPublicationStart, setRTL, setScriptMode, setTocEntry, setTocTree } from '../../chunk-7SMOXFAF.mjs';
|
|
9
|
+
export { ThPreferencesProvider, usePreferences, useTheming } from '../../chunk-6DR4EAK3.mjs';
|
|
10
|
+
export { propsToCSSVars } from '../../chunk-QOU3R5ZT.mjs';
|
|
11
|
+
import '../../chunk-EREFYF5J.mjs';
|
|
12
12
|
import '../../chunk-AE6P4KJB.mjs';
|
|
13
|
-
export { useAppDispatch, useAppSelector, useAppStore } from '../../chunk-A575ZW4A.mjs';
|
|
14
13
|
export { ShortcutRepresentation, defaultPlatformModifier, getPlatformModifier, metaKeys } from '../../chunk-X63WSMOH.mjs';
|
|
15
|
-
|
|
14
|
+
export { useAppDispatch, useAppSelector, useAppStore } from '../../chunk-MFVZ5AEN.mjs';
|
|
16
15
|
export { getPlatform, isIOSish, isIpadOS, isMacish } from '../../chunk-KQ3KS5O5.mjs';
|
|
17
16
|
import '../../chunk-RRDEPGBK.mjs';
|
|
18
17
|
import '../../chunk-ES2Y5MC7.mjs';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as ActionStateObject } from '../../actionsReducer-
|
|
2
|
-
import { T as ThDockingKeys } from '../../actions-
|
|
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-
|
|
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-
|
|
1
|
+
import { a as ActionStateObject } from '../../actionsReducer-Cnd7Cdh9.mjs';
|
|
2
|
+
import { T as ThDockingKeys } from '../../actions-CTg9C4C-.mjs';
|
|
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-CTg9C4C-.mjs';
|
|
4
|
+
import { T as ThActionButtonProps, W as WithRef, H as HTMLAttributesWithRef } from '../../ThSettingsWrapper-DyYC678Q.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-DyYC678Q.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';
|
|
@@ -10,7 +10,7 @@ import React__default, { RefObject, ReactNode, HTMLAttributes, ComponentType, SV
|
|
|
10
10
|
import { SheetRef, Sheet } from 'react-modal-sheet';
|
|
11
11
|
import '@reduxjs/toolkit';
|
|
12
12
|
import '../../immer.d-CoRThNOF.mjs';
|
|
13
|
-
import '../../ui-
|
|
13
|
+
import '../../ui-DHQ_zvWn.mjs';
|
|
14
14
|
import '@readium/navigator-html-injectables';
|
|
15
15
|
|
|
16
16
|
declare const ThCloseButton: ({ label, ref, compounds, children, ...props }: ThActionButtonProps) => react_jsx_runtime.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { B as BreakpointsMap,
|
|
1
|
+
import { B as BreakpointsMap, j as ThProgressionFormat } from '../../ui-DHQ_zvWn.mjs';
|
|
2
2
|
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';
|
|
3
|
-
import {
|
|
3
|
+
import { P as ProgressionDetails } from '../../usePublicationProgress-DT-X5ZLf.mjs';
|
|
4
4
|
import '@readium/shared';
|
|
5
5
|
|
|
6
6
|
declare const makeBreakpointsMap: <T>({ defaultValue, fromEnum, pref, disabledValue, validateKey }: {
|
|
@@ -32,9 +32,9 @@ declare const isMacish: () => boolean;
|
|
|
32
32
|
declare const isIpadOS: () => boolean;
|
|
33
33
|
declare const isIOSish: () => boolean;
|
|
34
34
|
|
|
35
|
-
declare const getSupportedProgressionFormats: (timeline?:
|
|
35
|
+
declare const getSupportedProgressionFormats: (timeline?: ProgressionDetails) => ThProgressionFormat[];
|
|
36
36
|
declare const canRenderProgressionFormat: (format: ThProgressionFormat, supportedFormats: ThProgressionFormat[]) => boolean;
|
|
37
|
-
declare const getBestMatchingProgressionFormat: (preferredFormats: ThProgressionFormat[], timeline?:
|
|
37
|
+
declare const getBestMatchingProgressionFormat: (preferredFormats: ThProgressionFormat[], timeline?: ProgressionDetails) => ThProgressionFormat | null;
|
|
38
38
|
|
|
39
39
|
interface PropsToCSSVarsOptions {
|
|
40
40
|
prefix?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getSupportedProgressionFormats, isActiveElement, isInteractiveElement, isKeyboardTriggered, makeBreakpointsMap } from '../../chunk-
|
|
2
|
-
export { propsToCSSVars } from '../../chunk-
|
|
1
|
+
export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getSupportedProgressionFormats, isActiveElement, isInteractiveElement, isKeyboardTriggered, makeBreakpointsMap } from '../../chunk-3R5JARA2.mjs';
|
|
2
|
+
export { propsToCSSVars } from '../../chunk-QOU3R5ZT.mjs';
|
|
3
3
|
export { ShortcutRepresentation, defaultPlatformModifier, getPlatformModifier, metaKeys } from '../../chunk-X63WSMOH.mjs';
|
|
4
4
|
export { getPlatform, isIOSish, isIpadOS, isMacish } from '../../chunk-KQ3KS5O5.mjs';
|
|
5
5
|
import '../../chunk-3GDQP6AS.mjs';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export { B as BreakpointsMap,
|
|
2
|
-
import { T as ThLineHeightOptions, c as ThTextAlignOptions } from '../../useContrast-
|
|
3
|
-
export { e as ThColorScheme, f as ThContrast, u as useColorScheme, k as useContrast } from '../../useContrast-
|
|
1
|
+
export { B as BreakpointsMap, f as ThBreakpointsObject, u as useBreakpoints } from '../../ui-DHQ_zvWn.mjs';
|
|
2
|
+
import { T as ThLineHeightOptions, c as ThTextAlignOptions } from '../../useContrast-Unp3534Z.mjs';
|
|
3
|
+
export { e as ThColorScheme, f as ThContrast, u as useColorScheme, k as useContrast } from '../../useContrast-Unp3534Z.mjs';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { ObservableCondition } from '@readium/navigator-html-injectables';
|
|
6
|
-
export {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import '../../
|
|
6
|
+
export { a as Progress, P as ProgressionDetails, u as usePublicationProgress } from '../../usePublicationProgress-DT-X5ZLf.mjs';
|
|
7
|
+
import { Timeline, TimelineItem } from '@readium/shared';
|
|
8
|
+
export { A as AudioNavigatorLoadProps, c as AudioSettings, d as AudioSettingsCache, E as EpubNavigatorLoadProps, W as WebPubNavigatorLoadProps, u as useAudioNavigator, e as useAudioSettingsCache, a as useEpubNavigator, b as useWebPubNavigator } from '../../useAudioNavigator-B4NBPvmZ.mjs';
|
|
9
|
+
import { F as FontFamilyStateObject, L as LineLengthStateObject } from '../../settingsReducer-DRWEq8Cm.mjs';
|
|
10
|
+
import '../../actions-CTg9C4C-.mjs';
|
|
10
11
|
import 'react/jsx-runtime';
|
|
11
12
|
import 'react-aria-components';
|
|
12
|
-
import '@readium/shared';
|
|
13
13
|
import '@readium/navigator';
|
|
14
14
|
import '@reduxjs/toolkit';
|
|
15
15
|
import '../../immer.d-CoRThNOF.mjs';
|
|
@@ -49,6 +49,11 @@ declare const useReducedMotion: (onChange?: (reducedMotion: boolean) => void) =>
|
|
|
49
49
|
|
|
50
50
|
declare const useReducedTransparency: (onChange?: (reducedTransparency: boolean) => void) => boolean;
|
|
51
51
|
|
|
52
|
+
declare const useTimelineAdjacency: (getNavigatorTimeline: () => Timeline | undefined) => {
|
|
53
|
+
updateAdjacentItems: (item: TimelineItem) => void;
|
|
54
|
+
clearAdjacentItems: () => void;
|
|
55
|
+
};
|
|
56
|
+
|
|
52
57
|
interface ReadiumCSSSettings {
|
|
53
58
|
columnCount: string;
|
|
54
59
|
fontFamily: FontFamilyStateObject;
|
|
@@ -95,4 +100,4 @@ interface WebPubStatelessCache {
|
|
|
95
100
|
}
|
|
96
101
|
declare const useWebPubSettingsCache: (fontFamily: FontFamilyStateObject, fontWeight: number, hyphens: boolean | null, letterSpacing: number | null, ligatures: boolean | null, lineHeight: ThLineHeightOptions | null, noRuby: boolean | null, paragraphIndent: number | null, paragraphSpacing: number | null, publisherStyles: boolean, textAlign: ThTextAlignOptions | null, textNormalization: boolean, wordSpacing: number | null, zoom: number) => React.RefObject<WebPubStatelessCache>;
|
|
97
102
|
|
|
98
|
-
export { type EPubSettingsCache, type ReadiumCSSSettings, type WebPubCSSSettings, type WebPubStatelessCache, useDocumentTitle, useEpubSettingsCache, useForcedColors, useFullscreen, useIsClient, useLocalStorage, useMediaQuery, useMonochrome, useObservableCondition, usePrevious, useReducedMotion, useReducedTransparency, useWebPubSettingsCache };
|
|
103
|
+
export { type EPubSettingsCache, type ReadiumCSSSettings, type WebPubCSSSettings, type WebPubStatelessCache, useDocumentTitle, useEpubSettingsCache, useForcedColors, useFullscreen, useIsClient, useLocalStorage, useMediaQuery, useMonochrome, useObservableCondition, usePrevious, useReducedMotion, useReducedTransparency, useTimelineAdjacency, useWebPubSettingsCache };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export {
|
|
2
|
-
import '../../chunk-
|
|
3
|
-
export { useBreakpoints, useForcedColors, useMonochrome, useReducedMotion, useReducedTransparency } from '../../chunk-
|
|
4
|
-
export { ThColorScheme, ThContrast, useColorScheme, useContrast, useMediaQuery } from '../../chunk-
|
|
1
|
+
export { useAudioNavigator, useAudioSettingsCache, useDocumentTitle, useEpubNavigator, useEpubSettingsCache, useFullscreen, useIsClient, useLocalStorage, useObservableCondition, usePublicationProgress, useTimelineAdjacency, useWebPubNavigator, useWebPubSettingsCache } from '../../chunk-CXKDZVAV.mjs';
|
|
2
|
+
import '../../chunk-7SMOXFAF.mjs';
|
|
3
|
+
export { useBreakpoints, useForcedColors, useMonochrome, useReducedMotion, useReducedTransparency } from '../../chunk-EREFYF5J.mjs';
|
|
4
|
+
export { ThColorScheme, ThContrast, useColorScheme, useContrast, useMediaQuery } from '../../chunk-MFVZ5AEN.mjs';
|
|
5
5
|
import '../../chunk-KQ3KS5O5.mjs';
|
|
6
6
|
export { usePrevious } from '../../chunk-YZ73DHRU.mjs';
|
|
7
7
|
import '../../chunk-3GDQP6AS.mjs';
|
package/dist/lib/index.d.mts
CHANGED
|
@@ -3,21 +3,21 @@ import * as _reduxjs_toolkit from '@reduxjs/toolkit';
|
|
|
3
3
|
import { PayloadAction, Store } from '@reduxjs/toolkit';
|
|
4
4
|
import { W as WritableDraft } from '../immer.d-CoRThNOF.mjs';
|
|
5
5
|
import { b as UnstablePlatformModifier } from '../keyboardUtilities-BCP3UcLb.mjs';
|
|
6
|
-
import { m as ThSettingsContainerKeys, e as ThColorScheme, f as ThContrast, T as ThLineHeightOptions, c as ThTextAlignOptions, a as ThSpacingPresetKeys } from '../useContrast-
|
|
7
|
-
import {
|
|
8
|
-
import { F as FontFamilyStateObject, e as SpacingStateObject, S as SetFontFamilyPayload, c as SetSpacingPresetPayload, d as SpacingStateKey, f as SettingsReducerState } from '../settingsReducer-
|
|
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-
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
import {
|
|
6
|
+
import { m as ThSettingsContainerKeys, e as ThColorScheme, f as ThContrast, T as ThLineHeightOptions, c as ThTextAlignOptions, a as ThSpacingPresetKeys } from '../useContrast-Unp3534Z.mjs';
|
|
7
|
+
import { s as ThLayoutDirection, e as ThBreakpoints, j as ThProgressionFormat, i as ThRunningHeadFormat, p as ThPaginatedAffordancePrefValue, k as ThLayoutUI } from '../ui-DHQ_zvWn.mjs';
|
|
8
|
+
import { F as FontFamilyStateObject, e as SpacingStateObject, S as SetFontFamilyPayload, c as SetSpacingPresetPayload, d as SpacingStateKey, f as SettingsReducerState } from '../settingsReducer-DRWEq8Cm.mjs';
|
|
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-DRWEq8Cm.mjs';
|
|
10
|
+
import { m as ActionsReducerState } from '../actionsReducer-Cnd7Cdh9.mjs';
|
|
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-Cnd7Cdh9.mjs';
|
|
12
|
+
import { S as SerializedLocator, a as Progress } from '../usePublicationProgress-DT-X5ZLf.mjs';
|
|
13
|
+
import { a as ThemeTokens, e as ThPreferences, C as CustomizableKeys, d as ThPreferencesAdapter, g as ThGlobalPreferencesAdapter, f as ThGlobalPreferences } from '../ThPreferencesAdapter-GepvYoaL.mjs';
|
|
14
14
|
import { ScriptMode } from '@readium/navigator';
|
|
15
|
-
import { U as UnstableTimeline, b as TocItem } from '../useTimeline-DCZ1qoCO.mjs';
|
|
16
15
|
import { TypedUseSelectorHook } from 'react-redux';
|
|
17
|
-
import '../actions-
|
|
16
|
+
import '../actions-CTg9C4C-.mjs';
|
|
18
17
|
import 'react';
|
|
19
18
|
import 'react-aria-components';
|
|
20
19
|
import '@readium/navigator-html-injectables';
|
|
20
|
+
import '@readium/shared';
|
|
21
21
|
|
|
22
22
|
type ReaderProfile = "epub" | "webPub" | "audio" | undefined;
|
|
23
23
|
interface ReaderReducerState {
|
|
@@ -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">;
|
|
@@ -170,8 +164,17 @@ declare const setForcedColors: _reduxjs_toolkit.ActionCreatorWithPayload<any, "t
|
|
|
170
164
|
declare const setBreakpoint: _reduxjs_toolkit.ActionCreatorWithPayload<any, "theming/setBreakpoint">;
|
|
171
165
|
declare const setContainerBreakpoint: _reduxjs_toolkit.ActionCreatorWithPayload<any, "theming/setContainerBreakpoint">;
|
|
172
166
|
|
|
173
|
-
interface
|
|
167
|
+
interface TocItem {
|
|
168
|
+
id: string;
|
|
169
|
+
href: string;
|
|
174
170
|
title: string;
|
|
171
|
+
position?: string;
|
|
172
|
+
children?: TocItem[];
|
|
173
|
+
}
|
|
174
|
+
type TocEntryRef = Omit<TocItem, "children">;
|
|
175
|
+
|
|
176
|
+
interface TimelineItemRef {
|
|
177
|
+
title?: string;
|
|
175
178
|
href: string;
|
|
176
179
|
}
|
|
177
180
|
interface PublicationReducerState {
|
|
@@ -180,14 +183,19 @@ interface PublicationReducerState {
|
|
|
180
183
|
isRTL: boolean;
|
|
181
184
|
scriptMode: ScriptMode;
|
|
182
185
|
hasDisplayTransformability: boolean;
|
|
183
|
-
positionsList:
|
|
186
|
+
positionsList: SerializedLocator[];
|
|
184
187
|
atPublicationStart: boolean;
|
|
185
188
|
atPublicationEnd: boolean;
|
|
186
|
-
|
|
189
|
+
progress?: Progress;
|
|
190
|
+
toc: {
|
|
191
|
+
tree?: TocItem[];
|
|
192
|
+
currentEntry?: TocEntryRef | null;
|
|
193
|
+
};
|
|
187
194
|
adjacentTimelineItems: {
|
|
188
|
-
previous:
|
|
189
|
-
next:
|
|
195
|
+
previous: TimelineItemRef | null;
|
|
196
|
+
next: TimelineItemRef | null;
|
|
190
197
|
};
|
|
198
|
+
coverTheme?: ThemeTokens;
|
|
191
199
|
}
|
|
192
200
|
declare const publicationSlice: _reduxjs_toolkit.Slice<PublicationReducerState, {
|
|
193
201
|
setFontLanguage: (state: WritableDraft<PublicationReducerState>, action: {
|
|
@@ -222,20 +230,21 @@ declare const publicationSlice: _reduxjs_toolkit.Slice<PublicationReducerState,
|
|
|
222
230
|
payload: any;
|
|
223
231
|
type: string;
|
|
224
232
|
}) => void;
|
|
225
|
-
|
|
226
|
-
payload:
|
|
227
|
-
type: string;
|
|
233
|
+
setProgress: (state: WritableDraft<PublicationReducerState>, action: {
|
|
234
|
+
payload: Progress;
|
|
228
235
|
}) => void;
|
|
229
236
|
setTocTree: (state: WritableDraft<PublicationReducerState>, action: {
|
|
230
|
-
payload:
|
|
231
|
-
type: string;
|
|
237
|
+
payload: TocItem[] | undefined;
|
|
232
238
|
}) => void;
|
|
233
239
|
setAdjacentTimelineItems: (state: WritableDraft<PublicationReducerState>, action: {
|
|
234
240
|
payload: {
|
|
235
|
-
previous:
|
|
236
|
-
next:
|
|
241
|
+
previous: TimelineItemRef | null;
|
|
242
|
+
next: TimelineItemRef | null;
|
|
237
243
|
};
|
|
238
244
|
}) => void;
|
|
245
|
+
setCoverTheme: (state: WritableDraft<PublicationReducerState>, action: {
|
|
246
|
+
payload: ThemeTokens | undefined;
|
|
247
|
+
}) => void;
|
|
239
248
|
setTocEntry: (state: WritableDraft<PublicationReducerState>, action: {
|
|
240
249
|
payload: TocItem | null;
|
|
241
250
|
}) => void;
|
|
@@ -248,13 +257,14 @@ declare const setHasDisplayTransformability: _reduxjs_toolkit.ActionCreatorWithP
|
|
|
248
257
|
declare const setPositionsList: _reduxjs_toolkit.ActionCreatorWithPayload<any, "publication/setPositionsList">;
|
|
249
258
|
declare const setPublicationStart: _reduxjs_toolkit.ActionCreatorWithPayload<any, "publication/setPublicationStart">;
|
|
250
259
|
declare const setPublicationEnd: _reduxjs_toolkit.ActionCreatorWithPayload<any, "publication/setPublicationEnd">;
|
|
251
|
-
declare const
|
|
252
|
-
declare const setTocTree: _reduxjs_toolkit.
|
|
260
|
+
declare const setProgress: _reduxjs_toolkit.ActionCreatorWithPayload<Progress, "publication/setProgress">;
|
|
261
|
+
declare const setTocTree: _reduxjs_toolkit.ActionCreatorWithOptionalPayload<TocItem[] | undefined, "publication/setTocTree">;
|
|
253
262
|
declare const setTocEntry: _reduxjs_toolkit.ActionCreatorWithPayload<TocItem | null, "publication/setTocEntry">;
|
|
254
263
|
declare const setAdjacentTimelineItems: _reduxjs_toolkit.ActionCreatorWithPayload<{
|
|
255
|
-
previous:
|
|
256
|
-
next:
|
|
264
|
+
previous: TimelineItemRef | null;
|
|
265
|
+
next: TimelineItemRef | null;
|
|
257
266
|
}, "publication/setAdjacentTimelineItems">;
|
|
267
|
+
declare const setCoverTheme: _reduxjs_toolkit.ActionCreatorWithOptionalPayload<ThemeTokens | undefined, "publication/setCoverTheme">;
|
|
258
268
|
|
|
259
269
|
interface RenditionProperties<T extends string | Array<string>> {
|
|
260
270
|
default?: T;
|
|
@@ -630,4 +640,4 @@ declare const useAppDispatch: () => AppDispatch;
|
|
|
630
640
|
declare const useAppSelector: TypedUseSelectorHook<RootState>;
|
|
631
641
|
declare const useAppStore: () => AppStore;
|
|
632
642
|
|
|
633
|
-
export { ActionsReducerState, type
|
|
643
|
+
export { ActionsReducerState, type AppDispatch, type AppState, type AppStore, type AudioSettingsState, FontFamilyStateObject, type GlobalPreferencesReducerState, type PaginatedAffordanceObject, type PaginatedAffordancePayload, type PaginatedAffordanceProperties, type PlayerReducerState, type PlayerStatus, type PreferencesReducerState, type PublicationReducerState, type ReaderProfile, type ReaderReducerState, type RemotePlaybackState, type RenditionChangePayload, type RenditionObject, type RenditionProperties, type RootState, type SeekableRange, SetFontFamilyPayload, SetSpacingPresetPayload, SettingsReducerState, type SleepTimerState, SpacingStateKey, SpacingStateObject, ThReduxGlobalPreferencesAdapter, ThReduxPreferencesAdapter, ThStoreProvider, type ThemeReducerState, type ThemeStateChangePayload, type ThemeStateObject, type TimelineItemRef, type UIChangePayload, type WebPubSettingsReducerState, audioSettingsSlice, globalPreferencesSlice, initialWebPubSettingsState, makeStore, playerSlice, preferencesSlice, publicationSlice, readerSlice, setAdjacentTimelineItems, setAutoPlay, setBreakpoint, setColorScheme, setContainerBreakpoint, setContrast, setCoverTheme, setDirection, setEnableMediaSession, setFXL, setFontLanguage, setForcedColors, setFullscreen, setHasArrows, setHasDisplayTransformability, setHovering, setImmersive, setLoading, setLocale, setMonochrome, setPaginatedAffordance, setPlatformModifier, setPlaybackRate, setPollInterval, setPositionsList, setPreservePitch, setProgress, setProgressionFormat, setPublicationEnd, setPublicationStart, setRTL, setReaderProfile, setReducedMotion, setReducedTransparency, setRemotePlaybackState, setRunningHeadFormat, setScriptMode, setScrollAffordance, setScrollAffordances, setSeekableRanges, setSeeking, setSettingsContainer, setSkipBackwardInterval, setSkipForwardInterval, setSkipInterval, setSleepTimerOnFragmentEnd, setSleepTimerOnTrackEnd, setSleepTimerRemainingSeconds, setStalled, setStatus, setTheme, setTocEntry, setTocTree, setTrackReady, setUI, setUserNavigated, setVolume, setWebPubFontFamily, setWebPubFontWeight, setWebPubHyphens, setWebPubLetterSpacing, setWebPubLigatures, setWebPubLineHeight, setWebPubNoRuby, setWebPubParagraphIndent, setWebPubParagraphSpacing, setWebPubPublisherStyles, setWebPubSpacingPreset, setWebPubTextAlign, setWebPubTextNormalization, setWebPubWordSpacing, setWebPubZoom, themeSlice, toggleImmersive, updateFromPreferences, useAppDispatch, useAppSelector, useAppStore, webPubSettingsSlice };
|
package/dist/lib/index.mjs
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
export { ThReduxGlobalPreferencesAdapter, ThReduxPreferencesAdapter, ThStoreProvider, actionsSlice, activateDockPanel, audioSettingsSlice, collapseDockPanel, deactivateDockPanel, dockAction, expandDockPanel, globalPreferencesSlice, handleSpacingSetting, initialSettingsState, initialWebPubSettingsState, makeStore, playerSlice, preferencesSlice,
|
|
2
|
-
|
|
3
|
-
export { useAppDispatch, useAppSelector, useAppStore } from '../chunk-A575ZW4A.mjs';
|
|
1
|
+
export { ThReduxGlobalPreferencesAdapter, ThReduxPreferencesAdapter, ThStoreProvider, actionsSlice, activateDockPanel, audioSettingsSlice, collapseDockPanel, deactivateDockPanel, dockAction, expandDockPanel, globalPreferencesSlice, handleSpacingSetting, initialSettingsState, initialWebPubSettingsState, makeStore, playerSlice, preferencesSlice, readerSlice, setActionOpen, setAutoPlay, setBreakpoint, setColorScheme, setColumnCount, setContainerBreakpoint, setContrast, setDirection, setDockPanelWidth, setEnableMediaSession, setFontFamily, setFontSize, setFontWeight, setForcedColors, setFullscreen, setHasArrows, setHovering, setHyphens, setImmersive, setLetterSpacing, setLigatures, setLineHeight, setLineLength, setLoading, setLocale, setMonochrome, setNoRuby, setOverflow, setPaginatedAffordance, setParagraphIndent, setParagraphSpacing, setPlatformModifier, setPlaybackRate, setPollInterval, setPreservePitch, setProgressionFormat, setPublisherStyles, setReaderProfile, setReducedMotion, setReducedTransparency, setRemotePlaybackState, setRunningHeadFormat, setScroll, setScrollAffordance, setScrollAffordances, setSeekableRanges, setSeeking, setSettingsContainer, setSkipBackwardInterval, setSkipForwardInterval, setSkipInterval, setSleepTimerOnFragmentEnd, setSleepTimerOnTrackEnd, setSleepTimerRemainingSeconds, setSpacingPreset, setStalled, setStatus, setTextAlign, setTextNormalization, setTheme, 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-I765HTBI.mjs';
|
|
2
|
+
export { publicationSlice, setAdjacentTimelineItems, setCoverTheme, setFXL, setFontLanguage, setHasDisplayTransformability, setPositionsList, setProgress, setPublicationEnd, setPublicationStart, setRTL, setScriptMode, setTocEntry, setTocTree } from '../chunk-7SMOXFAF.mjs';
|
|
4
3
|
import '../chunk-X63WSMOH.mjs';
|
|
5
|
-
|
|
4
|
+
export { useAppDispatch, useAppSelector, useAppStore } from '../chunk-MFVZ5AEN.mjs';
|
|
6
5
|
import '../chunk-KQ3KS5O5.mjs';
|
|
7
6
|
import '../chunk-3GDQP6AS.mjs';
|
|
8
7
|
//# sourceMappingURL=index.mjs.map
|