@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.
Files changed (93) hide show
  1. package/dist/{ThPreferencesAdapter-B3a-f5v-.d.mts → ThPreferencesAdapter-GepvYoaL.d.mts} +4 -3
  2. package/dist/{ThSettingsWrapper-D4WIzlXA.d.mts → ThSettingsWrapper-DyYC678Q.d.mts} +1 -1
  3. package/dist/{actions-C33UN3Ji.d.mts → actions-CTg9C4C-.d.mts} +1 -1
  4. package/dist/{actionsReducer-Bzcj3wk3.d.mts → actionsReducer-Cnd7Cdh9.d.mts} +1 -1
  5. package/dist/{chunk-VYSDLACR.mjs → chunk-3R5JARA2.mjs} +3 -3
  6. package/dist/{chunk-VYSDLACR.mjs.map → chunk-3R5JARA2.mjs.map} +1 -1
  7. package/dist/{chunk-X6Z4WZLX.mjs → chunk-5IT53TCU.mjs} +55 -35
  8. package/dist/chunk-5IT53TCU.mjs.map +1 -0
  9. package/dist/{chunk-7WGC22F3.mjs → chunk-6DR4EAK3.mjs} +42 -49
  10. package/dist/chunk-6DR4EAK3.mjs.map +1 -0
  11. package/dist/chunk-7SMOXFAF.mjs +121 -0
  12. package/dist/chunk-7SMOXFAF.mjs.map +1 -0
  13. package/dist/{chunk-AEEGHJVM.mjs → chunk-CXKDZVAV.mjs} +113 -258
  14. package/dist/chunk-CXKDZVAV.mjs.map +1 -0
  15. package/dist/{chunk-MD5LZNDG.mjs → chunk-DKF53WEQ.mjs} +39 -16
  16. package/dist/chunk-DKF53WEQ.mjs.map +1 -0
  17. package/dist/{chunk-GFSLVQIG.mjs → chunk-EREFYF5J.mjs} +3 -3
  18. package/dist/{chunk-GFSLVQIG.mjs.map → chunk-EREFYF5J.mjs.map} +1 -1
  19. package/dist/{chunk-YE5QOQUT.mjs → chunk-I765HTBI.mjs} +15 -109
  20. package/dist/chunk-I765HTBI.mjs.map +1 -0
  21. package/dist/{chunk-G4T4RXFB.mjs → chunk-LF6IMH7J.mjs} +83 -70
  22. package/dist/chunk-LF6IMH7J.mjs.map +1 -0
  23. package/dist/{chunk-NQ2ZSGCX.mjs → chunk-MFVZ5AEN.mjs} +7 -3
  24. package/dist/chunk-MFVZ5AEN.mjs.map +1 -0
  25. package/dist/{chunk-2YRT7RNW.mjs → chunk-QOU3R5ZT.mjs} +9 -3
  26. package/dist/chunk-QOU3R5ZT.mjs.map +1 -0
  27. package/dist/{chunk-G35H3K32.mjs → chunk-VWKUZP5V.mjs} +43 -48
  28. package/dist/chunk-VWKUZP5V.mjs.map +1 -0
  29. package/dist/{chunk-IVCUCIYN.mjs → chunk-WOJR6ALR.mjs} +41 -18
  30. package/dist/chunk-WOJR6ALR.mjs.map +1 -0
  31. package/dist/components/Audio/index.css +1 -0
  32. package/dist/components/Audio/index.css.map +1 -1
  33. package/dist/components/Audio/index.d.mts +13 -13
  34. package/dist/components/Audio/index.mjs +10 -11
  35. package/dist/components/Epub/index.d.mts +13 -13
  36. package/dist/components/Epub/index.mjs +11 -12
  37. package/dist/components/Reader/index.css +1 -0
  38. package/dist/components/Reader/index.css.map +1 -1
  39. package/dist/components/Reader/index.d.mts +12 -12
  40. package/dist/components/Reader/index.mjs +18 -18
  41. package/dist/components/Reader/index.mjs.map +1 -1
  42. package/dist/components/WebPub/index.d.mts +13 -13
  43. package/dist/components/WebPub/index.mjs +11 -12
  44. package/dist/core/Components/index.d.mts +6 -6
  45. package/dist/core/Helpers/index.d.mts +4 -4
  46. package/dist/core/Helpers/index.mjs +2 -2
  47. package/dist/core/Hooks/index.d.mts +14 -9
  48. package/dist/core/Hooks/index.mjs +4 -4
  49. package/dist/lib/index.d.mts +43 -33
  50. package/dist/lib/index.mjs +3 -4
  51. package/dist/locales/ar/thorium-shared.json +39 -0
  52. package/dist/locales/bg/thorium-web.json +23 -0
  53. package/dist/locales/brh/thorium-shared.json +1 -0
  54. package/dist/locales/brh/thorium-web.json +1 -0
  55. package/dist/locales/da/thorium-shared.json +3 -0
  56. package/dist/locales/el/thorium-web.json +41 -6
  57. package/dist/locales/en/thorium-shared.json +3 -0
  58. package/dist/locales/es/thorium-shared.json +3 -0
  59. package/dist/locales/et/thorium-shared.json +3 -0
  60. package/dist/locales/fi/thorium-shared.json +3 -0
  61. package/dist/locales/fi/thorium-web.json +4 -4
  62. package/dist/locales/he/thorium-shared.json +3 -1
  63. package/dist/locales/it/thorium-shared.json +3 -0
  64. package/dist/locales/lt/thorium-shared.json +30 -4
  65. package/dist/locales/pt-PT/thorium-shared.json +8 -5
  66. package/dist/locales/sv/thorium-shared.json +3 -3
  67. package/dist/locales/sv/thorium-web.json +7 -7
  68. package/dist/locales/tr/thorium-shared.json +80 -0
  69. package/dist/preferences/index.d.mts +10 -10
  70. package/dist/preferences/index.mjs +4 -5
  71. package/dist/{settingsReducer-Pp9aoiiC.d.mts → settingsReducer-DRWEq8Cm.d.mts} +1 -1
  72. package/dist/{ui-DnZZhozX.d.mts → ui-DHQ_zvWn.d.mts} +7 -1
  73. package/dist/{useAudioNavigator-9RuOpLGB.d.mts → useAudioNavigator-B4NBPvmZ.d.mts} +4 -5
  74. package/dist/{useContrast-Bl08zDTU.d.mts → useContrast-Unp3534Z.d.mts} +1 -1
  75. package/dist/{usePreferences-Cy7-JN2x.d.mts → usePreferences-Bi-ptif0.d.mts} +6 -9
  76. package/dist/usePublicationProgress-DT-X5ZLf.d.mts +44 -0
  77. package/dist/{useReaderTransitions-BsTdWZDK.d.mts → useReaderTransitions-B9fOF61y.d.mts} +10 -14
  78. package/package.json +13 -10
  79. package/dist/chunk-2YRT7RNW.mjs.map +0 -1
  80. package/dist/chunk-7WGC22F3.mjs.map +0 -1
  81. package/dist/chunk-A575ZW4A.mjs +0 -10
  82. package/dist/chunk-A575ZW4A.mjs.map +0 -1
  83. package/dist/chunk-AEEGHJVM.mjs.map +0 -1
  84. package/dist/chunk-G35H3K32.mjs.map +0 -1
  85. package/dist/chunk-G4T4RXFB.mjs.map +0 -1
  86. package/dist/chunk-IVCUCIYN.mjs.map +0 -1
  87. package/dist/chunk-MD5LZNDG.mjs.map +0 -1
  88. package/dist/chunk-NQ2ZSGCX.mjs.map +0 -1
  89. package/dist/chunk-TEZB4ULX.mjs +0 -57
  90. package/dist/chunk-TEZB4ULX.mjs.map +0 -1
  91. package/dist/chunk-X6Z4WZLX.mjs.map +0 -1
  92. package/dist/chunk-YE5QOQUT.mjs.map +0 -1
  93. package/dist/useTimeline-DCZ1qoCO.d.mts +0 -55
@@ -1,25 +1,25 @@
1
- export { ExperimentalWebPubStatefulReader } from '../../chunk-MD5LZNDG.mjs';
2
- export { StatefulAudioMediaActions, StatefulAudioPlaybackControls, StatefulAudioProgressBar, StatefulNextButton, StatefulPlayPauseButton, StatefulPlayer, StatefulPreviousButton, StatefulSkipBackwardButton, StatefulSkipForwardButton } from '../../chunk-G35H3K32.mjs';
3
- export { StatefulReader } from '../../chunk-IVCUCIYN.mjs';
4
- import '../../chunk-X6Z4WZLX.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-G4T4RXFB.mjs';
6
- export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getSupportedProgressionFormats, isActiveElement, isInteractiveElement, isKeyboardTriggered, makeBreakpointsMap } from '../../chunk-VYSDLACR.mjs';
7
- export { useAudioNavigator, useEpubNavigator, useWebPubNavigator } from '../../chunk-AEEGHJVM.mjs';
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, setCoverTheme, setFontLanguage } from '../../chunk-YE5QOQUT.mjs';
11
- 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-YE5QOQUT.mjs';
12
- import '../../chunk-TEZB4ULX.mjs';
13
- import { ThAudioPreferencesProvider, ThPreferencesProvider, useAudioPreferences, useTheming, prefixString, usePreferences, proxyUrl } from '../../chunk-7WGC22F3.mjs';
14
- export { ThPreferencesProvider, usePreferences, useTheming } from '../../chunk-7WGC22F3.mjs';
15
- import { propsToCSSVars } from '../../chunk-2YRT7RNW.mjs';
16
- export { propsToCSSVars } from '../../chunk-2YRT7RNW.mjs';
17
- import '../../chunk-GFSLVQIG.mjs';
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-NQ2ZSGCX.mjs';
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAM,eAAA,GAAkB,CAAC,QAAA,KAA4F;AAC1H,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAA6B,MAAS,CAAA;AAC9E,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA;AACpD,EAAA,MAAM,SAAA,GAAY,OAAiC,MAAS,CAAA;AAE5D,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,QAAA,EAAU;AACf,IAAA,MAAM,UAAA,GAAa,IAAI,eAAA,EAAgB;AACvC,IAAA,MAAM,OAAA,GAAU,QAAA,CAAS,QAAQ,CAAA,IAAK,QAAA;AACtC,IAAA,IAAI,SAAA;AACJ,IAAA,KAAA,CAAM,OAAA,EAAS,EAAE,MAAA,EAAQ,UAAA,CAAW,QAAQ,CAAA,CACzC,IAAA,CAAK,CAAA,CAAA,KAAK,CAAA,CAAE,IAAA,EAAM,CAAA,CAClB,KAAK,CAAA,IAAA,KAAQ;AACZ,MAAA,SAAA,GAAY,GAAA,CAAI,gBAAgB,IAAI,CAAA;AACpC,MAAA,SAAA,CAAU,OAAA,GAAU,MAAM,GAAA,CAAI,eAAA,CAAgB,SAAU,CAAA;AACxD,MAAA,eAAA,CAAgB,SAAS,CAAA;AAAA,IAC3B,CAAC,CAAA,CACA,KAAA,CAAM,CAAC,GAAA,KAAQ;AACd,MAAA,IAAI,GAAA,CAAI,SAAS,YAAA,EAAc;AAC/B,MAAA,cAAA,CAAe,IAAI,CAAA;AAAA,IACrB,CAAC,CAAA;AACH,IAAA,OAAO,MAAM;AACX,MAAA,UAAA,CAAW,KAAA,EAAM;AACjB,MAAA,SAAA,CAAU,OAAA,IAAU;AACpB,MAAA,SAAA,CAAU,OAAA,GAAU,MAAA;AAAA,IACtB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AAEb,EAAA,OAAO;AAAA,IACL,YAAA;AAAA,IACA,UAAA,EAAY,CAAC,QAAA,IAAY,CAAC,CAAC,YAAA,IAAgB;AAAA,GAC7C;AACF,CAAA;ACAA,IAAM,kBAAA,GAAqB,IAAA,CAAK,MAAM,OAAO,mBAAmB,CAAA,CAAE,IAAA,CAAK,CAAA,GAAA,MAAQ,EAAE,OAAA,EAAS,GAAA,CAAI,cAAA,GAAiB,CAAC,CAAA;AAChH,IAAM,oBAAA,GAAuB,IAAA,CAAK,MAAM,OAAO,qBAAqB,CAAA,CAAE,IAAA,CAAK,CAAA,GAAA,MAAQ,EAAE,OAAA,EAAS,GAAA,CAAI,gCAAA,GAAmC,CAAC,CAAA;AACtI,IAAMA,eAAAA,GAAiB,IAAA,CAAK,MAAM,OAAO,oBAAoB,CAAA,CAAE,IAAA,CAAK,CAAA,GAAA,MAAQ,EAAE,OAAA,EAAS,GAAA,CAAI,cAAA,GAAiB,CAAC,CAAA;AA2CtG,IAAM,qBAAA,GAAwB,CAAC,EAAE,OAAA,EAAS,OAAA,EAAS,SAAA,EAAW,WAAA,EAAa,IAAA,EAAM,WAAA,EAAa,GAAG,KAAA,EAAM,KAAsC;AAClJ,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAIC,SAAiC,MAAS,CAAA;AAExF,EAAA,MAAM,cAAA,GAAiB,OAAA,KAAY,MAAA,GAAS,OAAA,EAAS,IAAA,GACjD,OAAA,KAAY,QAAA,GAAW,OAAA,EAAS,MAAA,GAChC,OAAA,KAAY,OAAA,GAAU,OAAA,EAAS,KAAA,GAC/B,MAAA;AAEJ,EAAAC,UAAU,MAAM;AACd,IAAA,IAAI,CAAC,cAAA,EAAgB;AACrB,IAAA,MAAM,SAAS,cAAA,EAAe;AAC9B,IAAA,IAAI,kBAAkB,OAAA,EAAS;AAC7B,MAAA,MAAA,CAAO,KAAK,kBAAkB,CAAA;AAAA,IAChC,CAAA,MAAO;AACL,MAAA,kBAAA,CAAmB,MAAM,CAAA;AAAA,IAC3B;AAAA,EACF,CAAA,EAAG,CAAC,cAAc,CAAC,CAAA;AAEnB,EAAA,IAAI,cAAA,IAAkB,eAAA,KAAoB,MAAA,EAAW,OAAO,IAAA;AAE5D,EAAA,MAAM,QAAA,GAAW,MAAM,WAAA,EAAa,QAAA,IAAY,KAAA,CAAM,KAAA,CAAM,YAAY,OAAO,CAAA;AAE/E,EAAA,IAAI,YAAY,OAAA,EAAS;AACvB,IAAA,uBACE,GAAA;AAAA,MAAC,0BAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAAU,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,YAAA;AAAA,QACnC,oBAAqB,WAAA,EAAa,kBAAA;AAAA,QAClC,SAAU,WAAA,EAAa,OAAA;AAAA,QAEvB,QAAA,kBAAA,GAAA,CAAC,cAAA,EAAA,EAAiB,GAAG,WAAA,EACnB,QAAA,kBAAA,GAAA,CAAC,oBAAA,EAAA,EAAuB,GAAG,KAAA,EAAQ,QAAA,EAAsB,eAAA,EAAkB,SAAA,IAAa,KAAA,EAAQ,CAAA,EAClG;AAAA;AAAA,KACF;AAAA,EAEJ;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,qBAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAU,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,YAAA;AAAA,MACnC,oBAAqB,WAAA,EAAa,kBAAA;AAAA,MAClC,SAAU,WAAA,EAAa,OAAA;AAAA,MAEvB,8BAAC,cAAA,EAAA,EAAiB,GAAG,aACnB,QAAA,kBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,WAAY,SAAA,IAAa,KAAA,EACvC,QAAA,kBAAA,GAAA,CAAC,qBAAA,EAAA,EAAsB,SAAsB,GAAG,KAAA,EAAQ,UAAsB,OAAA,EAAU,eAAA,EAAkB,GAC5G,CAAA,EACF;AAAA;AAAA,GACF;AAEJ;AAYA,IAAM,oBAAA,GAAuB,CAAC,EAAE,WAAA,EAAa,cAAc,eAAA,EAAiB,QAAA,EAAU,iBAAgB,KAAyB;AAC7H,EAAA,MAAM,EAAE,WAAA,EAAY,GAAI,mBAAA,EAAoB;AAC5C,EAAA,MAAM,WAAA,GAAc,cAAA,CAAe,CAAA,KAAA,KAAS,KAAA,CAAM,QAAQ,KAAK,CAAA;AAC/D,EAAA,MAAM,WAAW,cAAA,EAAe;AAEhC,EAAA,MAAM,EAAE,YAAA,EAAc,UAAA,EAAW,GAAI,gBAAgB,QAAQ,CAAA;AAE7D,EAAA,MAAM,EAAE,aAAA,EAAe,eAAA,EAAgB,GAAI,UAAA,CAAyB;AAAA,IAClE,KAAA,EAAO,YAAY,KAAA,IAAS,MAAA;AAAA,IAC5B,SAAA,EAAW,WAAA,CAAY,OAAA,CAAQ,MAAA,CAAO,IAAA;AAAA,IACtC,UAAA,EAAY,WAAA,CAAY,OAAA,CAAQ,MAAA,CAAO,YAAA;AAAA,IACvC,cAAA,EAAgB,YAAY,OAAA,CAAQ,WAAA;AAAA,IACpC,QAAA,EAAU,YAAA;AAAA,IACV,eAAA,EAAiB,OAAA;AAAA,IACjB,SAAA,EAAW;AAAA,MACT,GAAG,cAAA,CAAe,WAAA,CAAY,OAAA,CAAQ,IAAA,EAAM,EAAE,MAAA,EAAQ,YAAA,CAAa,MAAM,CAAA,EAAG,CAAA;AAAA,MAC5E,GAAG,cAAA,CAAe,WAAA,CAAY,OAAA,CAAQ,MAAA,EAAQ;AAAA,QAC5C,MAAA,EAAQ,aAAa,QAAQ,CAAA;AAAA,QAC7B,OAAA,EAAS,CAAC,IAAA,EAAM,SAAA,EAAW,YAAY,aAAa;AAAA,OACrD;AAAA,KACH;AAAA,IACA,uBAAuB,CAAC,WAAA,KAAgB,QAAA,CAAS,aAAA,CAAc,WAAW,CAAC,CAAA;AAAA,IAC3E,oBAAoB,CAAC,UAAA,KAAe,QAAA,CAAS,aAAA,CAAc,UAAU,CAAC,CAAA;AAAA,IACtE,6BAA6B,CAAC,UAAA,KAAe,QAAA,CAAS,sBAAA,CAAuB,UAAU,CAAC,CAAA;AAAA,IACxF,qBAAqB,CAAC,WAAA,KAAgB,QAAA,CAAS,cAAA,CAAe,WAAW,CAAC,CAAA;AAAA,IAC1E,kBAAkB,CAAC,QAAA,KAAa,QAAA,CAAS,WAAA,CAAY,QAAQ,CAAC,CAAA;AAAA,IAC9D,sBAAsB,CAAC,YAAA,KAAiB,QAAA,CAAS,eAAA,CAAgB,YAAY,CAAC,CAAA;AAAA,IAC9E,oBAAoB,CAAC,YAAA,KAAiB,QAAA,CAAS,aAAA,CAAc,YAAY,CAAC,CAAA;AAAA,IAC1E,uBAAuB,CAAC,aAAA,KAAkB,QAAA,CAAS,gBAAA,CAAiB,aAAa,CAAC,CAAA;AAAA,IAClF,6BAA6B,CAAC,mBAAA,KAAwB,QAAA,CAAS,sBAAA,CAAuB,mBAAmB,CAAC;AAAA,GAC3G,CAAA;AAED,EAAA,uBACE,GAAA,CAAC,kBAAe,SAAA,EAAY,eAAA,IAAmB,CAAC,aAAA,IAAiB,CAAC,YAChE,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EACC,8BAACF,eAAAA,EAAA,EAAe,aAA4B,YAAA,EAA8B,eAAA,EAAoC,UAAW,YAAA,EAAe,kBAAA,EAAqB,eAAA,EAAkB,CAAA,EACjL,CAAA,EACF,CAAA;AAEJ,CAAA;AAaA,IAAM,qBAAA,GAAwB,CAAC,EAAE,OAAA,EAAS,aAAa,OAAA,EAAS,QAAA,EAAU,GAAG,KAAA,EAAM,KAA0B;AAC3G,EAAA,MAAM,EAAE,WAAA,EAAa,mBAAA,EAAoB,GAAI,cAAA,EAAe;AAC5D,EAAA,MAAM,WAAA,GAAc,cAAA,CAAe,CAAA,KAAA,KAAS,KAAA,CAAM,QAAQ,KAAK,CAAA;AAC/D,EAAA,MAAM,KAAA,GAAQ,cAAA,CAAe,CAAA,KAAA,KAAS,KAAA,CAAM,YAAY,KAAK,CAAA;AAC7D,EAAA,MAAM,QAAQ,OAAA,KAAY,MAAA,GAAU,KAAA,GAAQ,WAAA,CAAY,MAAM,WAAA,CAAY,MAAA,GAAA,OAAA;AAC1E,EAAA,MAAM,WAAW,cAAA,EAAe;AAEhC,EAAAE,UAAU,MAAM;AACd,IAAA,IAAI,CAAC,WAAA,EAAa;AAClB,IAAA,MAAM,YAAA,GAAe,mBAAA;AAAA,MACnB,WAAA,CAAY,QAAA,CAAS,SAAA,GAAY,CAAC,CAAA;AAAA,MAClC,aAAA,CAAc,YAAY,QAAQ;AAAA,KACpC;AACA,IAAA,QAAA,CAAS,eAAA,CAAgB,YAAY,CAAC,CAAA;AAAA,EACxC,CAAA,EAAG,CAAC,WAAA,EAAa,mBAAA,EAAqB,QAAQ,CAAC,CAAA;AAE/C,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,UAAA,CAAyB;AAAA,IACnD,KAAA;AAAA,IACA,SAAA,EAAW,WAAA,CAAY,OAAA,CAAQ,MAAA,CAAO,IAAA;AAAA,IACtC,UAAA,EAAY,WAAA,CAAY,OAAA,CAAQ,MAAA,CAAO,YAAA;AAAA,IACvC,cAAA,EAAgB,YAAY,OAAA,CAAQ,WAAA;AAAA,IACpC,QAAA;AAAA,IACA,eAAA,EAAiB,QAAA;AAAA,IACjB,SAAA,EAAW;AAAA,MACT,GAAG,cAAA,CAAe,WAAA,CAAY,OAAA,CAAQ,KAAA,EAAO,EAAE,MAAA,EAAQ,YAAA,CAAa,OAAO,CAAA,EAAG,CAAA;AAAA,MAC9E,GAAG,cAAA,CAAe,WAAA,CAAY,OAAA,CAAQ,IAAA,EAAM,EAAE,MAAA,EAAQ,YAAA,CAAa,MAAM,CAAA,EAAG,CAAA;AAAA,MAC5E,GAAG,cAAA,CAAe,WAAA,CAAY,OAAA,CAAQ,MAAA,EAAQ;AAAA,QAC5C,MAAA,EAAQ,aAAa,QAAQ,CAAA;AAAA,QAC7B,OAAA,EAAS,CAAC,IAAI;AAAA,OACf;AAAA,KACH;AAAA,IACA,uBAAuB,CAAC,WAAA,KAAgB,QAAA,CAAS,aAAA,CAAc,WAAW,CAAC,CAAA;AAAA,IAC3E,oBAAoB,CAAC,UAAA,KAAe,QAAA,CAAS,aAAA,CAAc,UAAU,CAAC,CAAA;AAAA,IACtE,6BAA6B,CAAC,UAAA,KAAe,QAAA,CAAS,sBAAA,CAAuB,UAAU,CAAC,CAAA;AAAA,IACxF,qBAAqB,CAAC,WAAA,KAAgB,QAAA,CAAS,cAAA,CAAe,WAAW,CAAC,CAAA;AAAA,IAC1E,kBAAkB,CAAC,QAAA,KAAa,QAAA,CAAS,WAAA,CAAY,QAAQ,CAAC,CAAA;AAAA,IAC9D,sBAAsB,CAAC,YAAA,KAAiB,QAAA,CAAS,eAAA,CAAgB,YAAY,CAAC,CAAA;AAAA,IAC9E,oBAAoB,CAAC,YAAA,KAAiB,QAAA,CAAS,aAAA,CAAc,YAAY,CAAC,CAAA;AAAA,IAC1E,uBAAuB,CAAC,aAAA,KAAkB,QAAA,CAAS,gBAAA,CAAiB,aAAa,CAAC,CAAA;AAAA,IAClF,6BAA6B,CAAC,mBAAA,KAAwB,QAAA,CAAS,sBAAA,CAAuB,mBAAmB,CAAC;AAAA,GAC3G,CAAA;AAED,EAAA,QAAQ,OAAA;AAAS,IACf,KAAK,MAAA;AACH,MAAA,uBAAO,GAAA,CAAC,QAAA,EAAA,EAAS,QAAA,kBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,WAAA,EAA8B,GAAG,KAAA,EAAQ,OAAA,EAAoB,kBAAA,EAAqB,eAAA,EAAkB,CAAA,EAAE,CAAA;AAAA,IAC7I,KAAK,QAAA;AAAA,IACL;AACE,MAAA,uBAAO,GAAA,CAAC,QAAA,EAAA,EAAS,QAAA,kBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,WAAA,EAA8B,GAAG,KAAA,EAAQ,OAAA,EAAoB,kBAAA,EAAqB,eAAA,EAAkB,CAAA,EAAE,CAAA;AAAA;AAEnJ,CAAA","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-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
- export { b as useWebPubNavigator } from '../../useAudioNavigator-9RuOpLGB.mjs';
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 { AdjacentTimelineItem, 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, 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, setProgressionFormat, setPublicationEnd, setPublicationStart, setRTL, setReaderProfile, setReducedMotion, setReducedTransparency, setRemotePlaybackState, setRunningHeadFormat, setScriptMode, setScrollAffordance, setScrollAffordances, setSeekableRanges, setSeeking, setSettingsContainer, setSkipBackwardInterval, setSkipForwardInterval, setSkipInterval, setSleepTimerOnFragmentEnd, setSleepTimerOnTrackEnd, setSleepTimerRemainingSeconds, setStalled, setStatus, setTheme, setTimeline, 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-Bzcj3wk3.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-Pp9aoiiC.mjs';
9
- export { u as useTheming } from '../../ThPreferencesAdapter-B3a-f5v-.mjs';
10
- export { T as ThPreferencesProvider, u as usePreferences } from '../../usePreferences-Cy7-JN2x.mjs';
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-C33UN3Ji.mjs';
16
+ import '../../actions-CTg9C4C-.mjs';
17
17
  import 'react-aria-components';
18
- import '../../ui-DnZZhozX.mjs';
18
+ import '../../ui-DHQ_zvWn.mjs';
19
19
  import '@readium/navigator-html-injectables';
20
- import '../../ThSettingsWrapper-D4WIzlXA.mjs';
20
+ import '../../ThSettingsWrapper-DyYC678Q.mjs';
21
21
  import 'react-aria';
22
- import '../../useContrast-Bl08zDTU.mjs';
22
+ import '../../useContrast-Unp3534Z.mjs';
23
23
  import '@readium/navigator';
24
24
  import '@readium/shared';
25
25
  import '../../errorHandler-CL2YIfQY.mjs';
26
- import '../../useTimeline-DCZ1qoCO.mjs';
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-MD5LZNDG.mjs';
2
- import '../../chunk-X6Z4WZLX.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-G4T4RXFB.mjs';
4
- export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getSupportedProgressionFormats, isActiveElement, isInteractiveElement, isKeyboardTriggered, makeBreakpointsMap } from '../../chunk-VYSDLACR.mjs';
5
- export { useWebPubNavigator } from '../../chunk-AEEGHJVM.mjs';
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, 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-YE5QOQUT.mjs';
8
- import '../../chunk-TEZB4ULX.mjs';
9
- export { ThPreferencesProvider, usePreferences, useTheming } from '../../chunk-7WGC22F3.mjs';
10
- export { propsToCSSVars } from '../../chunk-2YRT7RNW.mjs';
11
- import '../../chunk-GFSLVQIG.mjs';
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
- import '../../chunk-NQ2ZSGCX.mjs';
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-Bzcj3wk3.mjs';
2
- import { T as ThDockingKeys } from '../../actions-C33UN3Ji.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-C33UN3Ji.mjs';
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';
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-DnZZhozX.mjs';
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, i as ThProgressionFormat } from '../../ui-DnZZhozX.mjs';
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 { a as TimelineProgression } from '../../useTimeline-DCZ1qoCO.mjs';
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?: TimelineProgression) => ThProgressionFormat[];
35
+ declare const getSupportedProgressionFormats: (timeline?: ProgressionDetails) => ThProgressionFormat[];
36
36
  declare const canRenderProgressionFormat: (format: ThProgressionFormat, supportedFormats: ThProgressionFormat[]) => boolean;
37
- declare const getBestMatchingProgressionFormat: (preferredFormats: ThProgressionFormat[], timeline?: TimelineProgression) => ThProgressionFormat | null;
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-VYSDLACR.mjs';
2
- export { propsToCSSVars } from '../../chunk-2YRT7RNW.mjs';
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, e as ThBreakpointsObject, u as useBreakpoints } from '../../ui-DnZZhozX.mjs';
2
- import { T as ThLineHeightOptions, c as ThTextAlignOptions } from '../../useContrast-Bl08zDTU.mjs';
3
- export { e as ThColorScheme, f as ThContrast, u as useColorScheme, k as useContrast } from '../../useContrast-Bl08zDTU.mjs';
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 { T as TimelineItem, a as TimelineProgression, c as TocEntryRef, b as TocItem, U as UnstableTimeline, t as timelineInstance, u as useTimeline } from '../../useTimeline-DCZ1qoCO.mjs';
7
- 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-9RuOpLGB.mjs';
8
- import { F as FontFamilyStateObject, L as LineLengthStateObject } from '../../settingsReducer-Pp9aoiiC.mjs';
9
- import '../../actions-C33UN3Ji.mjs';
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 { timelineInstance, useAudioNavigator, useAudioSettingsCache, useDocumentTitle, useEpubNavigator, useEpubSettingsCache, useFullscreen, useIsClient, useLocalStorage, useObservableCondition, useTimeline, useWebPubNavigator, useWebPubSettingsCache } from '../../chunk-AEEGHJVM.mjs';
2
- import '../../chunk-TEZB4ULX.mjs';
3
- export { useBreakpoints, useForcedColors, useMonochrome, useReducedMotion, useReducedTransparency } from '../../chunk-GFSLVQIG.mjs';
4
- export { ThColorScheme, ThContrast, useColorScheme, useContrast, useMediaQuery } from '../../chunk-NQ2ZSGCX.mjs';
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';
@@ -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-Bl08zDTU.mjs';
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
- import { F as FontFamilyStateObject, e as SpacingStateObject, S as SetFontFamilyPayload, c as SetSpacingPresetPayload, d as SpacingStateKey, f as SettingsReducerState } from '../settingsReducer-Pp9aoiiC.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-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
- import { m as ActionsReducerState } from '../actionsReducer-Bzcj3wk3.mjs';
12
- 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
- import { Locator } from '@readium/shared';
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-C33UN3Ji.mjs';
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 AdjacentTimelineItem {
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: Locator[];
186
+ positionsList: SerializedLocator[];
184
187
  atPublicationStart: boolean;
185
188
  atPublicationEnd: boolean;
186
- unstableTimeline?: UnstableTimeline;
189
+ progress?: Progress;
190
+ toc: {
191
+ tree?: TocItem[];
192
+ currentEntry?: TocEntryRef | null;
193
+ };
187
194
  adjacentTimelineItems: {
188
- previous: AdjacentTimelineItem | null;
189
- next: AdjacentTimelineItem | null;
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
- setTimeline: (state: WritableDraft<PublicationReducerState>, action: {
226
- payload: any;
227
- type: string;
233
+ setProgress: (state: WritableDraft<PublicationReducerState>, action: {
234
+ payload: Progress;
228
235
  }) => void;
229
236
  setTocTree: (state: WritableDraft<PublicationReducerState>, action: {
230
- payload: any;
231
- type: string;
237
+ payload: TocItem[] | undefined;
232
238
  }) => void;
233
239
  setAdjacentTimelineItems: (state: WritableDraft<PublicationReducerState>, action: {
234
240
  payload: {
235
- previous: AdjacentTimelineItem | null;
236
- next: AdjacentTimelineItem | null;
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 setTimeline: _reduxjs_toolkit.ActionCreatorWithPayload<any, "publication/setTimeline">;
252
- declare const setTocTree: _reduxjs_toolkit.ActionCreatorWithPayload<any, "publication/setTocTree">;
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: AdjacentTimelineItem | null;
256
- next: AdjacentTimelineItem | null;
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 AdjacentTimelineItem, 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 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, setProgressionFormat, setPublicationEnd, setPublicationStart, setRTL, setReaderProfile, setReducedMotion, setReducedTransparency, setRemotePlaybackState, setRunningHeadFormat, setScriptMode, setScrollAffordance, setScrollAffordances, setSeekableRanges, setSeeking, setSettingsContainer, setSkipBackwardInterval, setSkipForwardInterval, setSkipInterval, setSleepTimerOnFragmentEnd, setSleepTimerOnTrackEnd, setSleepTimerRemainingSeconds, setStalled, setStatus, setTheme, setTimeline, 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 };
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 };
@@ -1,8 +1,7 @@
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-YE5QOQUT.mjs';
2
- import '../chunk-TEZB4ULX.mjs';
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
- import '../chunk-NQ2ZSGCX.mjs';
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