@edrlab/thorium-web 1.4.1 → 1.5.1

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 (87) hide show
  1. package/dist/{ThPreferencesAdapter-_5AePKHa.d.mts → ThPreferencesAdapter-B3a-f5v-.d.mts} +22 -17
  2. package/dist/{ThSettingsWrapper-B_9klYXH.d.mts → ThSettingsWrapper-DtzcwzYX.d.mts} +4 -4
  3. package/dist/{actions-CuRRM3rp.d.mts → actions-C33UN3Ji.d.mts} +14 -3
  4. package/dist/{actionsReducer-VFR42qgL.d.mts → actionsReducer-Bzcj3wk3.d.mts} +1 -1
  5. package/dist/{chunk-SZAVAQ6S.mjs → chunk-2B3HE57E.mjs} +42 -52
  6. package/dist/chunk-2B3HE57E.mjs.map +1 -0
  7. package/dist/{chunk-SI4FBFHM.mjs → chunk-3ITHCTDL.mjs} +157 -108
  8. package/dist/chunk-3ITHCTDL.mjs.map +1 -0
  9. package/dist/{chunk-OD75GC5N.mjs → chunk-3VB756GR.mjs} +89 -51
  10. package/dist/chunk-3VB756GR.mjs.map +1 -0
  11. package/dist/{chunk-ETLIGONP.mjs → chunk-AXX4U2FW.mjs} +25 -133
  12. package/dist/chunk-AXX4U2FW.mjs.map +1 -0
  13. package/dist/{chunk-WF2UOYO7.mjs → chunk-CCHCCVSF.mjs} +3 -3
  14. package/dist/{chunk-WF2UOYO7.mjs.map → chunk-CCHCCVSF.mjs.map} +1 -1
  15. package/dist/{chunk-RBEPH5E5.mjs → chunk-J6XDICU2.mjs} +80 -50
  16. package/dist/chunk-J6XDICU2.mjs.map +1 -0
  17. package/dist/chunk-KQ3KS5O5.mjs +37 -0
  18. package/dist/chunk-KQ3KS5O5.mjs.map +1 -0
  19. package/dist/{chunk-DQDOOTCE.mjs → chunk-KT2QY5QU.mjs} +3 -3
  20. package/dist/{chunk-DQDOOTCE.mjs.map → chunk-KT2QY5QU.mjs.map} +1 -1
  21. package/dist/{chunk-KGSFTRCH.mjs → chunk-KXOIN35D.mjs} +45 -117
  22. package/dist/chunk-KXOIN35D.mjs.map +1 -0
  23. package/dist/{chunk-E2JEGVVE.mjs → chunk-MTH2RF6V.mjs} +45 -12
  24. package/dist/chunk-MTH2RF6V.mjs.map +1 -0
  25. package/dist/{chunk-MSHUPSBI.mjs → chunk-THOJRBVD.mjs} +337 -90
  26. package/dist/chunk-THOJRBVD.mjs.map +1 -0
  27. package/dist/{chunk-VENFFPK2.mjs → chunk-VYSDLACR.mjs} +2 -2
  28. package/dist/{chunk-VENFFPK2.mjs.map → chunk-VYSDLACR.mjs.map} +1 -1
  29. package/dist/chunk-X63WSMOH.mjs +57 -0
  30. package/dist/chunk-X63WSMOH.mjs.map +1 -0
  31. package/dist/{chunk-YEVLT3AV.mjs → chunk-YE5QOQUT.mjs} +3 -3
  32. package/dist/{chunk-YEVLT3AV.mjs.map → chunk-YE5QOQUT.mjs.map} +1 -1
  33. package/dist/components/Audio/index.css +10 -0
  34. package/dist/components/Audio/index.css.map +1 -1
  35. package/dist/components/Audio/index.d.mts +12 -11
  36. package/dist/components/Audio/index.mjs +13 -12
  37. package/dist/components/Epub/index.css +10 -0
  38. package/dist/components/Epub/index.css.map +1 -1
  39. package/dist/components/Epub/index.d.mts +12 -11
  40. package/dist/components/Epub/index.mjs +14 -13
  41. package/dist/components/Misc/index.mjs +4 -4
  42. package/dist/components/Reader/index.css +10 -0
  43. package/dist/components/Reader/index.css.map +1 -1
  44. package/dist/components/Reader/index.d.mts +11 -10
  45. package/dist/components/Reader/index.mjs +21 -20
  46. package/dist/components/Reader/index.mjs.map +1 -1
  47. package/dist/components/WebPub/index.css +10 -0
  48. package/dist/components/WebPub/index.css.map +1 -1
  49. package/dist/components/WebPub/index.d.mts +12 -11
  50. package/dist/components/WebPub/index.mjs +14 -13
  51. package/dist/core/Components/index.d.mts +10 -25
  52. package/dist/core/Components/index.mjs +1 -1
  53. package/dist/core/Helpers/index.d.mts +1 -1
  54. package/dist/core/Helpers/index.mjs +3 -2
  55. package/dist/core/Hooks/index.d.mts +14 -7
  56. package/dist/core/Hooks/index.mjs +2 -1
  57. package/dist/i18n/index.mjs +2 -2
  58. package/dist/keyboardUtilities-BCP3UcLb.d.mts +30 -0
  59. package/dist/lib/index.d.mts +9 -8
  60. package/dist/lib/index.mjs +3 -2
  61. package/dist/locales/da/thorium-shared.json +217 -10
  62. package/dist/locales/he/thorium-shared.json +8 -0
  63. package/dist/locales/he/thorium-web.json +9 -0
  64. package/dist/locales/it/thorium-shared.json +2 -2
  65. package/dist/locales/it/thorium-web.json +24 -2
  66. package/dist/locales/lt/thorium-shared.json +85 -1
  67. package/dist/locales/sv/thorium-shared.json +5 -5
  68. package/dist/locales/sv/thorium-web.json +22 -0
  69. package/dist/preferences/index.d.mts +16 -23
  70. package/dist/preferences/index.mjs +4 -3
  71. package/dist/{settingsReducer-VqBhLq50.d.mts → settingsReducer-Pp9aoiiC.d.mts} +1 -1
  72. package/dist/{useAudioNavigator-CWXyNWq1.d.mts → useAudioNavigator-9RuOpLGB.d.mts} +8 -5
  73. package/dist/{useContrast-Cbso7N1l.d.mts → useContrast-Bl08zDTU.d.mts} +2 -7
  74. package/dist/{usePreferences-9ZvbcbLW.d.mts → usePreferences-Cy7-JN2x.d.mts} +4 -8
  75. package/dist/{useReaderTransitions-0hKGCvMm.d.mts → useReaderTransitions-CpgrXS5g.d.mts} +50 -23
  76. package/package.json +7 -7
  77. package/dist/chunk-44PEO3DS.mjs +0 -121
  78. package/dist/chunk-44PEO3DS.mjs.map +0 -1
  79. package/dist/chunk-E2JEGVVE.mjs.map +0 -1
  80. package/dist/chunk-ETLIGONP.mjs.map +0 -1
  81. package/dist/chunk-KGSFTRCH.mjs.map +0 -1
  82. package/dist/chunk-MSHUPSBI.mjs.map +0 -1
  83. package/dist/chunk-OD75GC5N.mjs.map +0 -1
  84. package/dist/chunk-RBEPH5E5.mjs.map +0 -1
  85. package/dist/chunk-SI4FBFHM.mjs.map +0 -1
  86. package/dist/chunk-SZAVAQ6S.mjs.map +0 -1
  87. package/dist/keyboardUtilities-BWAyLS_D.d.mts +0 -56
@@ -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()?.href;\n\n if (profile === \"audio\") {\n return (\n <ThAudioPreferencesProvider\n devMode={ process.env.NODE_ENV !== \"production\" }\n initialPreferences={ preferences?.initialPreferences as ThAudioPreferences<any> | undefined }\n adapter={ preferences?.adapter as ThAudioPreferencesAdapter<any> | undefined }\n >\n <ThI18nProvider { ...i18nOptions }>\n <StatefulAudioContent { ...props } coverUrl={ coverUrl } externalLoading={ isLoading ?? false } />\n </ThI18nProvider>\n </ThAudioPreferencesProvider>\n );\n }\n\n return (\n <ThPreferencesProvider\n devMode={ process.env.NODE_ENV !== \"production\" }\n initialPreferences={ preferences?.initialPreferences as ThPreferences<any> | undefined }\n adapter={ preferences?.adapter as ThPreferencesAdapter<any> | undefined }\n >\n <ThI18nProvider { ...i18nOptions }>\n <StatefulLoader isLoading={ isLoading ?? false }>\n <StatefulReaderContent profile={ profile } { ...props } coverUrl={ coverUrl } plugins={ resolvedPlugins } />\n </StatefulLoader>\n </ThI18nProvider>\n </ThPreferencesProvider>\n );\n};\n\n// ─── Audio inner content ──────────────────────────────────────────────────────\n\ninterface AudioContentProps {\n publication: Publication;\n localDataKey: string | null;\n positionStorage?: PositionStorage;\n coverUrl?: string;\n externalLoading: boolean;\n}\n\nconst StatefulAudioContent = ({ publication, localDataKey, positionStorage, coverUrl, externalLoading }: AudioContentProps) => {\n const { preferences } = useAudioPreferences();\n const themeObject = useAppSelector(state => state.theming.theme);\n const dispatch = useAppDispatch();\n\n const { coverBlobUrl, coverReady } = useCoverBlobUrl(coverUrl);\n\n const { themeResolved, setContainerRef } = useTheming<ThemeKeyType>({\n theme: themeObject.audio ?? \"auto\",\n themeKeys: preferences.theming.themes.keys,\n systemKeys: preferences.theming.themes.systemThemes,\n breakpointsMap: preferences.theming.breakpoints,\n coverUrl: coverBlobUrl,\n autoThemeSource: \"cover\",\n initProps: {\n ...propsToCSSVars(preferences.theming.icon, { prefix: prefixString(\"icon\") }),\n ...propsToCSSVars(preferences.theming.layout, {\n prefix: prefixString(\"layout\"),\n exclude: [\"ui\", \"compact\", \"expanded\", \"progressBar\"]\n })\n },\n onCoverThemeGenerated: (themeTokens) => dispatch(setCoverTheme(themeTokens)),\n onBreakpointChange: (breakpoint) => dispatch(setBreakpoint(breakpoint)),\n onContainerBreakpointChange: (breakpoint) => dispatch(setContainerBreakpoint(breakpoint)),\n onColorSchemeChange: (colorScheme) => dispatch(setColorScheme(colorScheme)),\n onContrastChange: (contrast) => dispatch(setContrast(contrast)),\n onForcedColorsChange: (forcedColors) => dispatch(setForcedColors(forcedColors)),\n onMonochromeChange: (isMonochrome) => dispatch(setMonochrome(isMonochrome)),\n onReducedMotionChange: (reducedMotion) => dispatch(setReducedMotion(reducedMotion)),\n onReducedTransparencyChange: (reducedTransparency) => dispatch(setReducedTransparency(reducedTransparency))\n });\n\n return (\n <StatefulLoader isLoading={ externalLoading || !themeResolved || !coverReady }>\n <Suspense>\n <StatefulPlayer publication={ publication } localDataKey={ localDataKey } positionStorage={ positionStorage } coverUrl={ coverBlobUrl } containerRefSetter={ setContainerRef } />\n </Suspense>\n </StatefulLoader>\n );\n};\n\n// ─── Reader inner content ─────────────────────────────────────────────────────\n\ninterface ReaderContentProps {\n profile: \"epub\" | \"webPub\" | undefined | null;\n publication: Publication;\n localDataKey: string | null;\n positionStorage?: PositionStorage;\n plugins?: ThPlugin[];\n coverUrl?: string;\n}\n\nconst StatefulReaderContent = ({ profile, publication, plugins, coverUrl, ...props }: ReaderContentProps) => {\n const { preferences, resolveFontLanguage } = usePreferences();\n const themeObject = useAppSelector(state => state.theming.theme);\n const isFXL = useAppSelector(state => state.publication.isFXL);\n const theme = profile === \"epub\" ? (isFXL ? themeObject.fxl : themeObject.reflow) : ThThemeKeys.light;\n const dispatch = useAppDispatch();\n\n useEffect(() => {\n if (!publication) return;\n const resolvedLang = resolveFontLanguage(\n publication.metadata.languages?.[0],\n getScriptMode(publication.metadata)\n );\n dispatch(setFontLanguage(resolvedLang));\n }, [publication, resolveFontLanguage, dispatch]);\n\n const { setContainerRef } = useTheming<ThemeKeyType>({\n theme,\n themeKeys: preferences.theming.themes.keys,\n systemKeys: preferences.theming.themes.systemThemes,\n breakpointsMap: preferences.theming.breakpoints,\n coverUrl,\n autoThemeSource: \"system\",\n initProps: {\n ...propsToCSSVars(preferences.theming.arrow, { prefix: prefixString(\"arrow\") }),\n ...propsToCSSVars(preferences.theming.icon, { prefix: prefixString(\"icon\") }),\n ...propsToCSSVars(preferences.theming.layout, {\n prefix: prefixString(\"layout\"),\n exclude: [\"ui\"]\n })\n },\n onCoverThemeGenerated: (themeTokens) => dispatch(setCoverTheme(themeTokens)),\n onBreakpointChange: (breakpoint) => dispatch(setBreakpoint(breakpoint)),\n onContainerBreakpointChange: (breakpoint) => dispatch(setContainerBreakpoint(breakpoint)),\n onColorSchemeChange: (colorScheme) => dispatch(setColorScheme(colorScheme)),\n onContrastChange: (contrast) => dispatch(setContrast(contrast)),\n onForcedColorsChange: (forcedColors) => dispatch(setForcedColors(forcedColors)),\n onMonochromeChange: (isMonochrome) => dispatch(setMonochrome(isMonochrome)),\n onReducedMotionChange: (reducedMotion) => dispatch(setReducedMotion(reducedMotion)),\n onReducedTransparencyChange: (reducedTransparency) => dispatch(setReducedTransparency(reducedTransparency))\n });\n\n switch (profile) {\n case \"epub\":\n return <Suspense><StatefulEpubReader publication={ publication } { ...props } plugins={ plugins } containerRefSetter={ setContainerRef } /></Suspense>;\n case \"webPub\":\n default:\n return <Suspense><StatefulWebPubReader publication={ publication } { ...props } plugins={ plugins } containerRefSetter={ setContainerRef } /></Suspense>;\n }\n};\n"]}
1
+ {"version":3,"sources":["../../../src/hooks/useCoverBlobUrl.ts","../../../src/components/Reader/StatefulReaderWrapper.tsx"],"names":["StatefulPlayer","useState","useEffect"],"mappings":"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","file":"index.mjs","sourcesContent":["import { useState, useEffect, useRef } from \"react\";\nimport { proxyUrl } from \"@/helpers/proxyUrl\";\n\nexport const useCoverBlobUrl = (coverUrl: string | undefined): { coverBlobUrl: string | undefined; coverReady: boolean } => {\n const [coverBlobUrl, setCoverBlobUrl] = useState<string | undefined>(undefined);\n const [coverFailed, setCoverFailed] = useState(false);\n const revokeRef = useRef<(() => void) | undefined>(undefined);\n\n useEffect(() => {\n if (!coverUrl) return;\n const controller = new AbortController();\n const fetched = proxyUrl(coverUrl) ?? coverUrl;\n let objectUrl: string | undefined;\n fetch(fetched, { signal: controller.signal })\n .then(r => r.blob())\n .then(blob => {\n objectUrl = URL.createObjectURL(blob);\n revokeRef.current = () => URL.revokeObjectURL(objectUrl!);\n setCoverBlobUrl(objectUrl);\n })\n .catch((err) => {\n if (err.name === \"AbortError\") return;\n setCoverFailed(true);\n });\n return () => {\n controller.abort();\n revokeRef.current?.();\n revokeRef.current = undefined;\n };\n }, [coverUrl]);\n\n return {\n coverBlobUrl,\n coverReady: !coverUrl || !!coverBlobUrl || coverFailed,\n };\n};\n","import { lazy, Suspense, useState, useEffect } from \"react\";\n\nimport { Publication, Locator } from \"@readium/shared\";\nimport { getScriptMode } from \"@readium/navigator\";\nimport { ThThemeKeys, ThemeKeyType, useTheming } from \"@/preferences\";\n\nimport { usePreferences } from \"@/preferences/hooks/usePreferences\";\nimport { useAudioPreferences } from \"@/preferences/hooks/useAudioPreferences\";\nimport { ThAudioPreferencesProvider } from \"@/preferences/ThAudioPreferencesProvider\";\nimport { ThPreferencesProvider } from \"@/preferences/ThPreferencesProvider\";\nimport { ThI18nProvider } from \"@/i18n/ThI18nProvider\";\n\nimport { useAppSelector, useAppDispatch } from \"@/lib/hooks\";\nimport {\n setBreakpoint,\n setContainerBreakpoint,\n setColorScheme,\n setContrast,\n setForcedColors,\n setMonochrome,\n setReducedMotion,\n setReducedTransparency,\n 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"]}
@@ -92,10 +92,20 @@ input {
92
92
  color: var(--th-theme-disable);
93
93
  }
94
94
  .thorium_web_button_tooltip {
95
+ display: flex;
96
+ align-items: center;
97
+ gap: 0.5em;
95
98
  background-color: var(--th-theme-text);
96
99
  color: var(--th-theme-background);
100
+ padding: 5px 10px;
101
+ border-radius: var(--th-layout-radius);
102
+ }
103
+ .thorium_web_button_tooltipShortcut {
104
+ font-family: monospace;
105
+ font-weight: bold;
97
106
  padding: 5px;
98
107
  border-radius: var(--th-layout-radius);
108
+ border: 1px solid currentColor;
99
109
  }
100
110
  .thorium_web_button_alwaysVisible {
101
111
  opacity: 1;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/app/read/app.css","../../../src/app/reset.css","../../../src/components/assets/styles/thorium-web.button.module.css","../../../src/components/Actions/assets/styles/thorium-web.overflow.module.css","../../../src/components/Actions/JumpToPosition/assets/styles/thorium-web.jumpToPosition.module.css","../../../src/components/Sheets/assets/styles/thorium-web.sheets.module.css","../../../src/components/Docking/assets/styles/thorium-web.docking.module.css","../../../src/components/Settings/assets/styles/thorium-web.reader.settings.module.css","../../../src/components/Actions/Toc/assets/styles/thorium-web.toc.module.css","../../../src/components/Audio/actions/Volume/assets/styles/thorium-web.volume.module.css","../../../src/components/Audio/actions/PlaybackRate/assets/styles/thorium-web.playbackRate.module.css","../../../src/components/Audio/actions/Toc/assets/styles/thorium-web.audioToc.module.css","../../../src/components/Audio/actions/SleepTimer/assets/styles/thorium-web.sleepTimer.module.css","../../../src/components/assets/styles/thorium-web.reader.app.module.css","../../../src/components/assets/styles/thorium-web.reader.header.module.css","../../../src/components/assets/styles/thorium-web.backlink.module.css","../../../src/components/assets/styles/thorium-web.reader.pagination.module.css","../../../src/components/assets/styles/thorium-web.reader.progression.module.css"],"sourcesContent":["html, body {\n min-height: 100%;\n height: 100%;\n margin: 0;\n overflow: hidden;\n touch-action: pan-x pan-y;\n overscroll-behavior-x: none;\n overscroll-behavior-y: none;\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n position: relative;\n}","button {\n -webkit-appearance: none;\n appearance: none;\n border: none;\n background: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n}\n\ninput {\n font-size: 1rem;\n border-radius: 0;\n text-align: inherit;\n background: none;\n box-shadow: none;\n padding: 0;\n cursor: text;\n border: none;\n color: inherit;\n font: inherit;\n outline: none;\n}\n\n::selection {\n background-color: var(--th-theme-select);\n color: var(--th-theme-onSelect);\n}",".icon,\n.dockerButton,\n.closeButton,\n.backButton {\n box-sizing: border-box;\n padding: calc(var(--th-icon-size, 24px) * (1/4));\n text-align: center;\n border-radius: var(--th-layout-radius);\n line-height: 0;\n}\n\n.backButton {\n box-sizing: content-box;\n height: var(--th-icon-size, 24px);\n border: 2px solid transparent;\n display: flex;\n align-items: center;\n}\n\n.closeButton,\n.backButton {\n margin-inline-start: auto;\n}\n\n.icon svg,\n.dockerButton svg,\n.closeButton svg,\n.backButton svg {\n fill: currentColor;\n width: var(--th-icon-size, 24px);\n height: var(--th-icon-size, 24px);\n}\n\n.icon[data-hovered],\n.dockerButton[data-hovered],\n.closeButton[data-hovered],\n.backButton[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.icon[data-focus-visible],\n.dockerButton[data-focus-visible],\n.closeButton[data-focus-visible],\n.backButton[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.backButton[data-disabled] {\n color: var(--th-theme-disable)\n}\n\n.tooltip {\n background-color: var(--th-theme-text);\n color: var(--th-theme-background);\n padding: 5px;\n border-radius: var(--th-layout-radius);\n}\n\n/* Visibility + Immersive */\n\n.alwaysVisible {\n opacity: 1;\n}\n\n:global(.thorium_web_stackedUI.thorium_web_isImmersive:not(.thorium_web_isHovering)) .partiallyVisible {\n opacity: 0;\n}\n\n/* Utils to improve icons’ consistency */\n\n.iconCompSm {\n padding: calc(var(--th-icon-size, 24px) * (1/3));\n}\n\n.iconCompSm svg {\n width: calc(var(--th-icon-size, 24px) * (3/4));\n height: calc(var(--th-icon-size, 24px) * (3/4));\n stroke: var(--th-theme-text);\n}\n\n.iconCompLg {\n padding: calc(var(--th-icon-size, 24px) * (1/6));\n}\n\n.iconCompLg svg {\n width: calc(var(--th-icon-size, 24px) * (4/3));\n height: calc(var(--th-icon-size, 24px) * (4/3));\n}\n\n.iconApplyStroke svg {\n stroke: var(--th-theme-text);\n}",":global(.thorium_web_layeredUI.thorium_web_isImmersive:not(.thorium_web_isHovering)) .hint {\n transform: translateY(calc(var(--th-icon-size, 24px) * 2.5));\n transition-property: transform;\n transition-duration: 200ms; \n transition-timing-function: ease-in-out;\n}\n\n:global(.thorium_web_layeredUI.thorium_web_isReflow.thorium_web_isScroll.thorium_web_isImmersive:not(.thorium_web_isHovering)) .hint {\n outline: 1px solid var(--th-theme-subdue);\n background-color: var(--th-theme-background);\n}\n\n.popover {\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n padding: calc(var(--th-layout-spacing) / 2);\n border-radius: var(--th-layout-radius);\n border: 1px solid var(--th-theme-subdue);\n filter: drop-shadow(var(--th-theme-elevate));\n box-sizing: border-box;\n max-width: var(--th-layout-constraints-popover, 500px);\n width: max-content;\n}\n\n.menu {\n outline: none;\n}\n\n.menuItem {\n display: flex;\n align-items: center;\n gap: calc(var(--th-layout-spacing) / 2);\n padding: calc(var(--th-layout-spacing) / 2);\n border-radius: var(--th-layout-radius);\n outline: none;\n}\n\n.menuItem[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.menuItem[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.menuItem[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.menuItem > svg {\n width: calc(var(--th-icon-size, 24px) / 1.5);\n height: calc(var(--th-icon-size, 24px) / 1.5);\n fill: currentColor;\n}\n\n.menuItemLabel {\n font-size: 1rem;\n}\n\n.menuItemShortcut {\n font-family: monospace;\n font-weight: bold;\n color: var(--th-theme-subdue);\n padding: 5px;\n margin-inline-start: auto;\n border-radius: var(--th-layout-radius);\n border: 1px solid var(--th-theme-subdue);\n}",".wrapper {}\n\n.form {\n display: flex;\n gap: calc(var(--th-layout-spacing) / 2);\n}\n\n.label {\n margin-block: 0 var(--th-layout-spacing);\n display: block;\n}\n\n.input {\n display: block;\n font-weight: bold;\n padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-layout-spacing) / 2);\n border-radius: var(--th-layout-radius);\n border: 2px solid var(--th-theme-subdue);\n}\n\n.button {\n box-sizing: content-box;\n border: 2px solid var(--th-theme-subdue);\n padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-icon-size, 24px) * (1/2));\n text-align: center;\n border-radius: var(--th-layout-radius);\n margin-inline-start: auto;\n align-self: flex-end;\n}\n\n.button[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.input[data-focus-visible],\n.button[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.numberField[data-disabled],\n.button[data-disabled] {\n color: var(--th-theme-disable);\n} ","/* React Aria modal provides a visual viewport for mobile + keyboard: --visual-viewport-height \n which should explain why it’s being used here while not mentioned anywhere else in the codebase */\n\n.fullscreen {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 10;\n overflow-y: auto;\n scroll-padding-top: calc(var(--th-sheet-sticky-header, 80px) + var(--th-layout-spacing));\n scroll-padding-bottom: var(--th-layout-spacing);\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n max-height: var(--visual-viewport-height, 100dvh);\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n align-items: center;\n}\n\n.modal {\n position: fixed;\n inset: 0;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--th-layout-spacing);\n background-color: var(--th-layout-defaults-scrim, rgba(0, 0, 0, 0.2));\n pointer-events: none;\n}\n\n.modalDialog {\n pointer-events: auto;\n overflow-y: auto;\n scroll-padding-top: calc(var(--th-sheet-sticky-header, 80px) + var(--th-layout-spacing));\n scroll-padding-bottom: var(--th-layout-spacing);\n box-sizing: border-box;\n width: 100%;\n max-width: var(--th-layout-constraints-modal, 600px);\n max-height: 90dvh;\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n border-radius: var(--th-layout-radius);\n border: 1px solid var(--th-theme-subdue);\n filter: drop-shadow(var(--th-theme-elevate));\n}\n\n.popover {\n overflow-y: auto;\n scroll-padding-top: calc(var(--th-sheet-sticky-header, 80px) + var(--th-layout-spacing));\n scroll-padding-bottom: var(--th-layout-spacing);\n box-sizing: border-box;\n width: calc(340px + (2 * var(--th-layout-spacing)));\n max-width: var(--th-layout-constraints-popover, 500px);\n max-height: 100%;\n max-height: var(--visual-viewport-height, 100dvh);\n padding: 0;\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n border-radius: var(--th-layout-radius);\n border: 1px solid var(--th-theme-subdue);\n filter: drop-shadow(var(--th-theme-elevate));\n}\n\n.compactPopover {\n overflow-y: auto;\n scroll-padding-top: var(--th-layout-spacing);\n scroll-padding-bottom: var(--th-layout-spacing);\n box-sizing: border-box;\n width: calc(340px + (2 * var(--th-layout-spacing)));\n max-width: var(--th-layout-constraints-popover, 500px);\n max-height: 100%;\n max-height: var(--visual-viewport-height, 100dvh);\n padding: 0;\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n border-radius: var(--th-layout-radius);\n border: 1px solid var(--th-theme-subdue);\n filter: drop-shadow(var(--th-theme-elevate));\n}\n\n/* React Modal Sheet handles scroll + sticky header so no need for scroll-padding here */\n.draggable {\n box-sizing: border-box;\n max-width: var(--th-layout-constraints-bottomSheet, 600px);\n left: max(calc((100% - var(--th-layout-constraints-bottomSheet, 600px)) / 2), 0px) !important;\n background-color: var(--th-theme-background) !important;\n color: var(--th-theme-text) !important;\n border: none;\n /* Animating drop-shadow pretty much kills performance, hence why we use a pseudo-element */\n filter: none !important;\n box-shadow: none !important;\n /* M3 = 28dp, see https://m3.material.io/components/bottom-sheets/overview */\n border-top-left-radius: 28px !important;\n border-top-right-radius: 28px !important;\n transition: border-radius 500ms;\n}\n\n.draggable::after {\n content: \"\";\n z-index: -1;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n /* important for performance */\n transform: translateZ(0);\n box-shadow: var(--th-theme-elevate);\n border-top-left-radius: 28px;\n border-top-right-radius: 28px;\n}\n\n.draggableFullHeightDetent {\n height: calc(100% - env(safe-area-inset-top)) !important;\n}\n\n.draggableContentHeightDetent {\n max-height: calc(100% - env(safe-area-inset-top)) !important;\n}\n\n.draggable[data-full-height] {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n transition: border-radius 500ms;\n}\n\n.draggableBackdrop {\n /* So that React Aria can use it to dismiss the sheet as it’s set to none by React Modal Sheet. */\n pointer-events: auto !important;\n background-color: transparent !important;\n}\n\n.draggableScrim {\n background-color: var(--th-layout-defaults-scrim) !important;\n}\n\n.draggableContainer {\n padding: 0;\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n}\n\n.draggableScroller {\n position: relative;\n scroll-padding-bottom: calc(var(--th-layout-spacing) * 4);\n}\n\n.dragIndicator {\n width: calc(var(--th-icon-size, 40px) * 1.5);\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.dragIndicator[data-focus-visible] {\n border-radius: var(--th-layout-radius);\n outline: 2px solid var(--th-theme-focus);\n}\n\n.dragIndicator svg {\n fill: var(--th-theme-subdue);\n width: 100%;\n height: auto;\n}\n\n.docked {\n /* We need relative positioning so that RAC FocusScope scrolls properly on tabbing */\n position: relative;\n overflow-y: auto;\n scroll-padding-top: calc(var(--th-sheet-sticky-header, 80px) + var(--th-layout-spacing));\n scroll-padding-bottom: var(--th-layout-spacing);\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n height: 100vh;\n height: 100dvh;\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n}\n\n.dockedLeftBorder {\n border-right: 1px solid var(--th-theme-subdue);\n}\n\n.dockedRightBorder {\n border-left: 1px solid var(--th-theme-subdue);\n}\n\n.dialog {\n outline: none;\n}\n\n.header {\n display: flex;\n align-items: center;\n position: sticky;\n top: 0;\n left: 0;\n right: 0;\n z-index: 10;\n padding: calc(var(--th-layout-spacing) / 2) var(--th-layout-spacing);\n background-color: var(--th-theme-background);\n border-bottom: 1px solid var(--th-theme-subdue);\n}\n\n.draggableHeader {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n background-color: var(--th-theme-background);\n border-bottom: 1px solid var(--th-theme-subdue);\n padding: var(--th-layout-spacing) var(--th-layout-spacing) calc(var(--th-layout-spacing) / 2) var(--th-layout-spacing);\n /* Otherwise covers the modal’s */\n border-top-left-radius: 28px !important;\n border-top-right-radius: 28px !important;\n transition: border-radius 500ms;\n}\n\n.draggable[data-full-height] .draggableHeader {\n /* Otherwise covers the modal’s */\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n transition: border-radius 500ms;\n}\n\n.heading {\n font-size: 1.25rem;\n line-height: 1;\n margin: 0;\n padding: 0;\n}\n\n.compactHeader {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.body {\n padding: var(--th-layout-spacing);\n}",".dockerWrapper {\n margin-inline-start: auto;\n margin-inline-end: calc(var(--th-icon-size, 24px) * (1 / 4) * -1); /* Optical alingment */\n display: flex;\n gap: 2px;\n padding-inline-start: var(--th-layout-spacing);\n}\n\n.docker {\n display: flex;\n gap: 2px;\n}\n\n.resizeHandle {\n position: relative;\n width: 0;\n}\n\n.resizeHandle:focus-visible {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.resizeHandleGrab {\n position: absolute;\n z-index: 1000;\n top: 50%;\n transform: translateY(-50%);\n width: 5px;\n height: 50px;\n border-radius: 5px;\n background-color: var(--th-theme-subdue);\n}\n\n.resizeHandleGrabLeft {\n left: 0;\n}\n\n.resizeHandleGrabRight {\n left: -5px;\n}",".wrapper {}\n\n.group {\n margin: calc(var(--th-layout-spacing) * 2) 0; \n}\n\n.advancedGroup {\n position: relative;\n}\n\n.advancedIcon {\n position: absolute;\n inset-inline-end: 0;\n inset-block-start: 0;\n}\n\n.label {\n display: block;\n font-weight: bold;\n font-size: 1rem;\n margin: 0;\n}\n\n.groupLabel {\n padding-top: calc(var(--th-icon-size, 24px) * (1/3));\n}\n\n.radioWrapper,\n.groupWrapper {\n margin: var(--th-layout-spacing) 0;\n text-align: center;\n border-radius: var(--th-layout-radius);\n}\n\n.numberField .groupWrapper {\n margin-bottom: 0;\n}\n\n.radioWrapper {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(min(100%, 100px), 1fr));\n gap: calc(var(--th-layout-spacing) / 4);\n width: 100%; \n}\n\n.groupWrapper {\n display: flex;\n width: fit-content;\n gap: var(--th-layout-spacing) calc(var(--th-layout-spacing) / 2);\n}\n\n.advancedGroup .radioWrapper {\n margin-bottom: 0;\n}\n\n.groupWrapper[data-focus-within]:has(input[data-focus-visible]) {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.numberFieldWrapper,\n.sliderWrapper {\n display: flex;\n align-items: flex-start;\n max-width: 100%;\n}\n\n.numberFieldWrapper .numberField,\n.sliderWrapper .slider {\n flex: 1 0 auto;\n}\n\n.group:first-of-type {\n margin-top: 0;\n}\n\n.group:last-of-type {\n margin-bottom: 0;\n}\n\n/* Reset button */\n\n.resetButton {\n margin-inline-start: auto;\n}\n\n/* Number field */\n\n.numberField .input {\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n font-weight: bold;\n align-self: center;\n max-width: 20ch;\n}\n\n.groupWrapper[data-disabled] .input {\n color: var(--th-theme-disable)\n}\n\n.radio {\n padding: calc(var(--th-layout-spacing) / 2);\n border-radius: var(--th-layout-radius);\n box-sizing: border-box;\n border: 2px solid transparent;\n}\n\n.radio:not(.themeRadio) {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: calc(var(--th-layout-spacing) / 2);\n min-width: 0;\n width: 100%;\n}\n\n.radio:not(.themeRadio) > * {\n width: 100%;\n text-align: center;\n}\n\n/* Text truncation for non-theme radios */\n.radio:not(.themeRadio) span {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.2em;\n max-height: 2.4em; /* 2 lines of text */\n width: 100%;\n box-sizing: border-box;\n white-space: normal;\n}\n\n.radio:not(.themeRadio)[data-selected] {\n border: 2px solid var(--th-theme-subdue);\n}\n\n.radio[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.radio[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.radio[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n outline-offset: 2px;\n}\n\n.radio svg {\n width: var(--th-icon-size, 32px);\n height: var(--th-icon-size, 32px);\n /* So that it’s the same color as text based on state */\n fill: currentColor;\n}\n\n.themesWrapper {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-auto-flow: row;\n max-width: 100%;\n gap: calc(var(--th-layout-spacing) / 2);\n}\n\n.themeRadio {\n padding-block: calc(var(--th-layout-spacing) / 4);\n padding-inline: calc((var(--th-icon-size, 24px) * 5/6) + (var(--th-layout-spacing) / 4));\n position: relative;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.themeRadio svg {\n width: calc(var(--th-icon-size, 24px) * 5/6);\n height: calc(var(--th-icon-size, 24px) * 5/6);\n position: absolute;\n inset-inline-end: 5px;\n inset-block-end: 5px;\n /* So that it’s the same color as text w/o having to expose a custom prop globally */\n fill: currentColor;\n}\n\n.separator {\n border: none;\n border-top: 1px solid var(--th-theme-subdue);\n}\n\n/* Slider */\n\n.slider {\n display: grid;\n grid-template-areas: \"label output\"\n \"track track\";\n grid-template-columns: 1fr auto;\n gap: calc(var(--th-layout-spacing) / 2);\n color: var(--th-theme-text);\n flex-direction: column;\n max-width: min(calc(100% - (var(--th-layout-spacing) / 2)), 80%);\n}\n\n.sliderLabel {\n grid-area: label;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.sliderOutput {\n grid-area: output;\n}\n\n.slider[data-disabled] .sliderLabel,\n.slider[data-disabled] .sliderOutput {\n color: var(--th-theme-disable);\n}\n\n.sliderTrack {\n grid-area: track;\n position: relative;\n height: 30px;\n width: auto;\n box-sizing: border-box;\n margin-inline: calc(var(--th-layout-spacing) / 2);\n}\n\n.sliderTrack::before {\n content: \"\";\n display: block;\n position: absolute;\n background: var(--th-theme-subdue);\n height: 3px;\n width: 100%;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.sliderThumb {\n width: 1.25rem;\n height: 1.25rem;\n border-radius: 50%;\n background: var(--th-theme-text);\n border: 2px solid var(--th-theme-subdue);\n top: 50%;\n}\n\n.slider[data-disabled] .sliderThumb {\n background: var(--th-theme-disable);\n border: 2px solid var(--th-theme-disable);\n}\n\n.sliderThumb[data-dragging] {\n background: var(--th-theme-subdue);\n}\n\n.sliderThumb[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n border: 2px solid var(--th-theme-focus);\n}\n\n.sliderPlaceholder {\n color: var(--th-theme-subdue); \n}\n\n/* Slider with presets */\n\n.sliderWithPresetsWrapper {\n display: flex;\n flex-direction: column;\n gap: var(--th-layout-spacing);\n}\n\n\n/* Let the slider fill the full width of the wrapper */\n.sliderWithPresetsWrapper .sliderWrapper {\n width: 100%;\n}\n\n.sliderWithPresetsWrapper .slider {\n max-width: 100%;\n}\n\n.sliderWithPresetsRadioGroup {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(4.5rem, 1fr));\n gap: calc(var(--th-layout-spacing) / 4);\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.sliderWithPresetsRadio {\n padding: calc(var(--th-layout-spacing) / 2);\n border-radius: var(--th-layout-radius);\n box-sizing: border-box;\n border: 2px solid transparent;\n text-align: center;\n font-variant-numeric: tabular-nums;\n background: transparent;\n color: var(--th-theme-text);\n}\n\n.sliderWithPresetsRadio[data-selected] {\n border: 2px solid var(--th-theme-subdue);\n}\n\n.sliderWithPresetsRadio[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.sliderWithPresetsRadio[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n outline-offset: 2px;\n}\n\n.sliderWithPresetsRadio[data-disabled] {\n color: var(--th-theme-disable);\n border-color: var(--th-theme-disable);\n}\n\n/* Slider with ticks */\n\n.sliderWithTicks .sliderTrack::before {\n background: \n /* Track line */\n linear-gradient(\n to right,\n var(--th-theme-subdue) 0%,\n var(--th-theme-subdue) 100%\n ) 0 50% / 100% 3px no-repeat,\n\n /* Ticks */\n repeating-linear-gradient(\n to right,\n var(--th-theme-text) 0%,\n var(--th-theme-text) 1px,\n transparent 1px,\n transparent calc((100% - 2px) / var(--th-slider-ticks, 10))\n ) 0 50% / 100% 15px no-repeat;\n height: 15px;\n transform: translateY(-50%);\n position: relative;\n}\n\n/* First and last tick */\n\n.sliderWithTicks .sliderTrack::after {\n content: \"\";\n background: \n /* First tick */\n linear-gradient(\n to right,\n var(--th-theme-subdue) 0%,\n var(--th-theme-subdue) 3px,\n transparent 3px,\n transparent 100%\n ) 0 50% / 100% 20px no-repeat,\n\n /* Last tick */\n linear-gradient(\n to left,\n var(--th-theme-subdue) 0%,\n var(--th-theme-subdue) 3px,\n transparent 3px,\n transparent 100%\n ) 100% 50% / 100% 20px no-repeat;\n position: absolute;\n top: 50%;\n left: 0;\n right: 0;\n height: 20px;\n transform: translateY(-50%);\n pointer-events: none;\n}\n\n/* Dropdown */\n\n.dropdown[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.dropdownButton {\n margin-top: var(--th-layout-spacing);\n position: relative;\n padding-block: calc(var(--th-layout-spacing) / 2);\n padding-inline: calc(var(--th-layout-spacing) / 2) calc(var(--th-icon-size, 24px) * 6/5);\n border-radius: var(--th-layout-radius);\n box-sizing: border-box;\n border: 1px solid var(--th-theme-subdue);\n max-width: 100%;\n}\n\n.dropdownButton[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.dropdownButton svg {\n width: calc(var(--th-icon-size, 24px) * 5/6);\n height: calc(var(--th-icon-size, 24px) * 5/6);\n position: absolute;\n inset-inline-end: calc(var(--th-layout-spacing) / 4);\n inset-block-start: calc(var(--th-layout-spacing) / 2);\n fill: currentColor;\n}\n\n.dropdownPopover {\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n padding: calc(var(--th-layout-spacing) / 2);\n border-radius: var(--th-layout-radius);\n border: 1px solid var(--th-theme-subdue);\n filter: drop-shadow(var(--th-theme-elevate));\n box-sizing: border-box;\n width: max-content;\n overflow-y: auto;\n /* TMP: Needs to be higher than bottom sheet, which requires hack for Safari iOS */\n z-index: 1000000 !important;\n}\n\n.dropdownListbox {\n display: flex;\n flex-direction: column;\n gap: calc(var(--th-layout-spacing) / 2);\n}\n\n.dropdownListboxItem {\n padding: calc(var(--th-layout-spacing) / 4);\n border-radius: var(--th-layout-radius);\n outline: none;\n}\n\n.dropdownListboxItem[data-selected] {\n color: var(--th-theme-subdue);\n}\n\n.dropdownListboxItem[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.dropdownListboxItem[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.dropdownListboxItem[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n/* Switch */\n\n.switch {\n display: flex;\n align-items: center;\n gap: clamp(10px, calc(var(--th-layout-spacing) / 2), 20px);\n color: var(--th-theme-text);\n margin: var(--th-layout-spacing) 0;\n}\n\n.switchIndicator {\n width: 2rem;\n height: 1.143rem;\n border: 2px solid var(--th-theme-subdue);\n background: var(--th-theme-background);\n border-radius: 1.143rem;\n transition: all 200ms;\n flex-shrink: 0;\n}\n\n.switchIndicator::before {\n content: \"\";\n display: block;\n margin: 0.143rem;\n width: 0.857rem;\n height: 0.857rem;\n background: var(--th-theme-subdue);\n border-radius: 16px;\n transition: all 200ms;\n}\n\n.switch[data-selected] .switchIndicator::before {\n background: var(--th-theme-text);\n transform: translateX(100%);\n}\n\n:dir(rtl) .switch[data-selected] .switchIndicator::before {\n background: var(--th-theme-text);\n transform: translateX(-100%);\n}\n\n.switch[data-focus-visible] .switchIndicator {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.switch[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.switch[data-disabled] .switchIndicator::before {\n background: var(--th-theme-disable) !important;\n}","/* Search */\n.wrapper {}\n\n.search {\n margin-bottom: var(--th-layout-spacing);\n display: grid;\n grid-template-areas: \"label label\"\n \"input button\";\n grid-template-columns: 1fr auto;\n align-items: center;\n width: 100%;\n}\n\n.searchLabel {\n grid-area: label;\n margin-bottom: calc(var(--th-layout-spacing) / 2);\n}\n\n.searchInput {\n grid-area: input;\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n display: block;\n border-radius: var(--th-layout-radius);\n border: 2px solid var(--th-theme-subdue);\n padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-layout-spacing) / 2);\n}\n\n.searchInput::-webkit-search-cancel-button,\n.searchInput::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n.searchInput[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.searchIcon,\n.clearButton {\n grid-area: button;\n margin-inline-start: calc(var(--th-icon-size, 24px) * -1.25);\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.searchIcon svg {\n fill: var(--th-theme-subdue);\n width: var(--th-icon-size, 24px);\n height: var(--th-icon-size, 24px);\n}\n\n.clearButton svg {\n fill: var(--th-theme-text);\n width: var(--th-icon-size, 24px);\n height: var(--th-icon-size, 24px);\n}\n\n.searchIcon[hidden],\n.clearButton[data-disabled] {\n display: none;\n}\n\n.tree {\n background: var(--th-theme-background);\n color: var(--th-theme-text);\n outline: none;\n width: 100%;\n max-height: 100%;\n box-sizing: border-box;\n}\n\n/* React Aria is providing a --tree-item-level as items are not nested */\n.treeItem {\n display: flex;\n padding: calc(var(--th-layout-spacing) / 2);\n padding-inline-start: calc(((var(--tree-item-level) - 1) * var(--th-layout-spacing)) + (var(--th-layout-spacing) / 2));\n border-radius: var(--th-layout-radius);\n border: 2px solid transparent;\n box-sizing: border-box;\n}\n\n.tree:has(.treeItemButton) .treeItem {\n padding-inline-start: calc((var(--tree-item-level) * var(--th-layout-spacing)) + (var(--th-layout-spacing) / 2));\n}\n\n.tree .treeItem:has(.treeItemButton) {\n padding-inline-start: calc(((var(--tree-item-level) - 1) * var(--th-layout-spacing)));\n}\n\n.treeItemText {\n display: flex;\n flex: 1 1 auto;\n}\n\n.treeItemTextTitle {\n text-wrap: balance;\n}\n\n.treeItemTextPosition {\n margin-inline-start: auto;\n padding-inline-start: calc(var(--th-layout-spacing) / 2);\n color: var(--th-theme-subdue);\n font-variant-numeric: lining-nums tabular-nums;\n}\n\n.treeItemButton {\n align-self: flex-start;\n width: calc(var(--th-icon-size, 24px) * 5/6);\n height: calc(var(--th-icon-size, 24px) * 5/6);\n margin-inline-end: calc(var(--th-layout-spacing) / 2);\n flex-shrink: 0;\n}\n\n.treeItem[data-href] {\n cursor: pointer;\n}\n\n/* [data-hover] is only updated on tree items that can be expanded ATM… */\n.treeItem:hover {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.treeItem[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.treeItem[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.treeItem[data-selected] {\n border: 2px solid var(--th-theme-subdue);\n}\n\n.treeItemButton svg {\n flex: none;\n rotate: 0deg;\n transition: rotate 200ms;\n width: 100%;\n height: 100%;\n fill: currentColor;\n}\n\n.treeItem[data-expanded] .treeItemButton svg {\n rotate: 90deg;\n}\n\n.empty {\n max-width: 25ch;\n text-align: start;\n text-wrap: balance;\n}",".wrapper {\n width: auto;\n}\n\n.button {\n --th-icon-size: calc(var(--audio-icon-base) * (5/4));\n padding: calc(var(--th-icon-size) * (1/4));\n outline: none;\n}\n\n.button[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.button[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.sliderTrack {\n position: relative;\n box-sizing: border-box;\n}\n\n.sliderTrack::before {\n content: \"\";\n display: block;\n position: absolute;\n background: var(--th-theme-subdue);\n}\n\n.slider[data-disabled] .sliderTrack::before {\n background: var(--th-theme-disable);\n}\n\n/* Vertical */\n\n.slider[data-orientation=\"vertical\"] .sliderTrack {\n height: 150px;\n width: 30px;\n margin-block: calc(1.25rem / 2);\n}\n\n.slider[data-orientation=\"vertical\"] .sliderTrack::before {\n width: 3px;\n height: 100%;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.slider[data-orientation=\"vertical\"] .sliderThumb {\n left: 50%;\n transform: translateX(-50%);\n}\n\n/* Horizontal */\n\n.slider[data-orientation=\"horizontal\"] {\n max-width: 320px;\n width: 100%;\n}\n\n.slider[data-orientation=\"horizontal\"] .sliderTrack {\n width: 100%;\n height: 30px;\n}\n\n.slider[data-orientation=\"horizontal\"] .sliderTrack::before {\n height: 3px;\n width: 100%;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.slider[data-orientation=\"horizontal\"] .sliderThumb {\n top: 50%;\n transform: translateY(-50%);\n}\n\n/* Thumb shared */\n\n.sliderThumb {\n width: 1.25rem;\n height: 1.25rem;\n border-radius: 50%;\n background: var(--th-theme-text);\n border: 2px solid var(--th-theme-subdue);\n}\n\n.slider[data-disabled] .sliderThumb {\n background: var(--th-theme-disable);\n border: 2px solid var(--th-theme-disable);\n}\n\n.sliderThumb[data-dragging] {\n background: var(--th-theme-subdue);\n}\n\n.sliderThumb[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n border: 2px solid var(--th-theme-focus);\n}",".wrapper {\n width: auto;\n}\n\n.button {\n --th-icon-size: calc(var(--audio-icon-base) * (5/4));\n padding: calc(var(--th-icon-size) * (1/4));\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n outline: none;\n}\n\n.button[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.button[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.button:has(.label) {\n padding-bottom: calc(var(--th-icon-size) * (2/3));\n}\n\n.label {\n position: absolute;\n bottom: calc(var(--th-icon-size) * (1/4));\n left: 50%;\n transform: translateX(-50%);\n white-space: nowrap;\n line-height: 1;\n font-size: calc(var(--th-icon-size, 24px) * (5/12));\n font-variant-numeric: tabular-nums;\n font-weight: bold;\n}\n\n/* Playback rate - slider with presets variant */\n\n.slider {\n min-width: 260px;\n}\n\n/* Playback rate - number field variant */\n\n.numberfield {\n min-width: 140px;\n display: flex;\n justify-content: center;\n}",".button {\n --th-icon-size: calc(var(--audio-icon-base) * (5/4));\n padding: calc(var(--th-icon-size) * (1/4));\n outline: none;\n}\n\n.button[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.button[data-disabled] {\n color: var(--th-theme-disable);\n}",".wrapper {}\n\n.button {\n --th-icon-size: calc(var(--audio-icon-base) * (5/4));\n padding: calc(var(--th-icon-size) * (1/4));\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n outline: none;\n}\n\n.button[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.button[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.button:has(.label) {\n padding-bottom: calc(var(--th-icon-size) * (2/3));\n}\n\n.label {\n position: absolute;\n bottom: calc(var(--th-icon-size) * (1/4));\n left: 50%;\n transform: translateX(-50%);\n white-space: nowrap;\n line-height: 1;\n font-size: calc(var(--th-icon-size, 24px) * (5/12));\n font-variant-numeric: tabular-nums;\n font-weight: bold;\n}\n\n.listbox {\n display: flex;\n flex-direction: column;\n gap: calc(var(--th-layout-spacing) / 2);\n}\n\n.listboxItem {\n padding: calc(var(--th-layout-spacing) / 4);\n border-radius: var(--th-layout-radius);\n outline: none;\n cursor: default;\n}\n\n.listboxItem[data-selected] {\n background-color: var(--th-theme-hover);\n font-weight: bold;\n}\n\n.listboxItem[data-hovered]:not([data-selected]) {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.listboxItem[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n/* Sleep timer duration field */\n\n.durationField {\n display: flex;\n flex-direction: column;\n}\n\n.instruction {\n display: block;\n margin: 0 0 var(--th-layout-spacing) 0;\n}\n\n.inputs {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: calc(var(--th-layout-spacing) / 4);\n margin-bottom: var(--th-layout-spacing);\n}\n\n.fieldGroup {\n display: contents;\n}\n\n.fieldInput {\n width: 4ch;\n text-align: center;\n background: transparent;\n border: 2px solid var(--th-theme-subdue);\n border-radius: var(--th-layout-radius);\n padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-layout-spacing) / 2);\n color: var(--th-theme-text);\n font-variant-numeric: tabular-nums;\n font-weight: bold;\n outline: none;\n}\n\n.fieldInput[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.unitLabel {\n margin-inline-end: calc(var(--th-layout-spacing) / 4);\n}\n\n.remaining {\n font-variant-numeric: tabular-nums;\n font-weight: bold;\n margin: 0 0 var(--th-layout-spacing) 0;\n}\n\n.cancelButton {\n margin-top: var(--th-layout-spacing);\n}\n\n/* Start button */\n\n.startButton {\n padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-icon-size, 24px) * (1/2));\n border-radius: var(--th-layout-radius);\n border: 2px solid var(--th-theme-subdue);\n background: transparent;\n color: var(--th-theme-text);\n cursor: default;\n width: 100%;\n box-sizing: border-box;\n text-align: center;\n}\n\n.startButton[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover)\n}\n\n.startButton[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.startButton[data-disabled] {\n color: var(--th-theme-disable);\n}","/* For some classNames we need global, as they impact other modules */\n\n.wrapper {\n height: 100%;\n width: 100%;\n margin: 0;\n}\n\n.main {\n width: 100%;\n height: 100%;\n margin: 0;\n}\n\n.shell {\n width: 100%;\n height: 100%;\n margin: 0;\n}\n\n.leftDock {\n height: 100vh;\n height: 100dvh;\n}\n\n.rightDock {\n height: 100vh;\n height: 100dvh;\n}\n\n/* Top and bottom bars */\n\n.bottomBar,\n.topBar {\n box-sizing: border-box;\n gap: 2px;\n touch-action: manipulation;\n background-color: var(--th-theme-background);\n}\n\n.bottomBar {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n/* Stacked UI */\n\n.main :global(.thorium_web_stackedUI) {\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 1 1 0;\n height: 100vh;\n height: 100dvh;\n max-height: 100%;\n background-color: var(--th-theme-background);\n}\n\n:global(.thorium_web_stackedUI) .topBar,\n:global(.thorium_web_stackedUI) .bottomBar {\n flex: 0 0 calc(var(--th-icon-size, 24px) * 2.5);\n height: calc(var(--th-icon-size, 24px) * 2.5);\n}\n\n:global(.thorium_web_stackedUI.thorium_web_isImmersive:not(.thorium_web_isHovering)) .topBar,\n:global(.thorium_web_stackedUI.thorium_web_isImmersive:not(.thorium_web_isHovering)) .bottomBar {\n opacity: var(--th-theme-immerse);\n}\n\n/* Layered UI */\n\n.main :global(.thorium_web_layeredUI) {\n position: relative;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100vh;\n height: 100dvh;\n max-height: 100%;\n background-color: var(--th-theme-background);\n}\n\n:global(.thorium_web_layeredUI) .topBar,\n:global(.thorium_web_layeredUI) .bottomBar {\n position: absolute;\n left: 0;\n right: 0;\n height: calc(var(--th-icon-size, 24px) * 2.5);\n z-index: 2;\n box-shadow: var(--th-theme-elevate);\n overflow: hidden;\n transition-property: transform, box-shadow;\n transition-duration: 200ms;\n transition-timing-function: ease-in-out;\n transform: translateY(0);\n}\n\n:global(.thorium_web_layeredUI) .topBar {\n top: 0;\n}\n\n:global(.thorium_web_layeredUI) .bottomBar {\n bottom: 0;\n}\n\n:global(.thorium_web_layeredUI.thorium_web_isImmersive:not(.thorium_web_isHovering)) .topBar {\n transform: translateY(calc(var(--th-icon-size, 24px) * -2.5));\n box-shadow: none;\n overflow: unset;\n}\n\n:global(.thorium_web_layeredUI.thorium_web_isImmersive:not(.thorium_web_isHovering)) .bottomBar {\n transform: translateY(calc(var(--th-icon-size, 24px) * 2.5));\n box-shadow: none;\n}\n\n.barOverlay {\n position: absolute;\n left: 0;\n right: 0;\n height: calc(var(--th-icon-size, 24px) * 2.5);\n pointer-events: auto;\n opacity: 0;\n z-index: 1000;\n}\n\n.headerOverlay {\n position: absolute;\n left: 0;\n right: 0;\n height: calc(var(--th-icon-size, 24px) * 2.5);\n pointer-events: auto;\n opacity: 0;\n z-index: 1000;\n top: 0;\n}\n\n.footerOverlay {\n position: absolute;\n left: 0;\n right: 0;\n height: calc(var(--th-icon-size, 24px) * 2.5);\n pointer-events: auto;\n opacity: 0;\n z-index: 1000;\n bottom: 0;\n}\n\n/* iFrame + its container */\n\n.iframeContainer {\n contain: content;\n width: 100%;\n height: 100%;\n margin: 0 auto;\n}\n\n.iframeContainer :global(.readium-navigator-iframe) {\n width: 100%;\n height: 100%;\n border-width: 0;\n}\n\n/* FXL: Loading spinner for resources */\n@keyframes loading {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.iframeContainer :global(div:has(> .readium-navigator-iframe.blank))::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: -30px;\n margin-left: -30px;\n width: 50px;\n height: 50px;\n border-radius: 50px;\n border: 5px solid grey;\n border-top-color: black;\n animation: loading 2s linear infinite;\n}\n\n/* Utils */\n\n.srOnly {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}",".header {\n box-sizing: border-box;\n display: grid;\n grid-template-areas: \"header-start header-center header-end\";\n grid-template-columns: 1fr 3fr 1fr;\n padding: 0.25rem 0.5rem 0;\n}\n\n.backlinkWrapper {\n grid-area: header-start;\n justify-self: start;\n align-self: center;\n}\n\n.header h1 {\n font-size: 1rem;\n color: var(--th-theme-text);\n font-weight: normal;\n grid-area: header-center;\n justify-self: center;\n align-self: center;\n max-width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; \n transition: opacity 200ms ease-in-out;\n}\n\n.actionsWrapper {\n grid-area: header-end;\n min-width: 0;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 2px;\n}",".link {\n display: block;\n box-sizing: content-box;\n padding: calc(var(--th-icon-size, 24px) * (1/4));\n text-align: start;\n border-radius: var(--th-layout-radius);\n max-width: 100%;\n height: var(--th-icon-size, 24px);\n}\n\n.link svg {\n fill: var(--th-theme-text);\n max-width: 100%;\n height: 100%;\n}\n\n.link img {\n max-width: 100%;\n height: 100%;\n}\n\n.link[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.link[data-hovered] svg {\n fill: var(--th-theme-onHover)\n}\n\n.link[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.link[data-disabled] {\n color: var(--th-theme-disable)\n}\n\n.link[data-disabled] svg {\n fill: var(--th-theme-disable)\n}",".wrapper {\n box-sizing: border-box;\n display: grid;\n gap: calc(var(--th-layout-spacing) / 2);\n grid-template-areas: \"pagination-start pagination-center pagination-end\";\n grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n align-items: center;\n width: 100%;\n max-width: var(--th-layout-constraints-pagination, 100%);\n}\n\n.listItem {\n box-sizing: border-box;\n list-style: none;\n}\n\n.listItem:has(.leftButton) {\n grid-area: pagination-start;\n justify-self: start;\n}\n\n.listItem:has(.progression) {\n grid-area: pagination-center;\n justify-self: center;\n}\n\n.listItem:has(.rightButton) {\n grid-area: pagination-end;\n justify-self: end;\n}\n\n\n.listItem button {\n box-sizing: border-box;\n padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-layout-spacing) / 2);\n gap: calc(var(--th-layout-spacing) / 2);\n max-height: calc(var(--th-icon-size, 24px) * 2);\n max-width: 100%;\n border-radius: var(--th-layout-radius);\n display: flex;\n align-items: center;\n}\n\n.rightButton {\n margin-inline-start: auto;\n text-align: end;\n}\n\n.listItem button[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.listItem button[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.listItem button[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.listItem button .label {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n white-space: normal;\n -webkit-line-clamp: 1;\n line-clamp: 1;\n}\n\n.listItem button svg {\n flex: none;\n width: var(--th-icon-size, 24px);\n height: var(--th-icon-size, 24px);\n fill: currentColor;\n}",".wrapper {\n color: var(--th-theme-text);\n font-variant-numeric: lining-nums tabular-nums;\n text-align: center;\n}"],"mappings":"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","names":["icon","dockerButton","closeButton","backButton","tooltip","alwaysVisible","partiallyVisible","iconCompSm","iconCompLg","iconApplyStroke","hint","popover","menu","menuItem","menuItemLabel","menuItemShortcut","wrapper","form","label","input","button","numberField","fullscreen","modal","modalDialog","popover","compactPopover","draggable","draggableFullHeightDetent","draggableContentHeightDetent","draggableBackdrop","draggableScrim","draggableContainer","draggableScroller","dragIndicator","docked","dockedLeftBorder","dockedRightBorder","dialog","header","draggableHeader","heading","compactHeader","body","dockerWrapper","docker","resizeHandle","resizeHandleGrab","resizeHandleGrabLeft","resizeHandleGrabRight","wrapper","group","advancedGroup","advancedIcon","label","groupLabel","radioWrapper","groupWrapper","numberField","numberFieldWrapper","sliderWrapper","slider","resetButton","input","radio","themeRadio","themesWrapper","separator","sliderLabel","sliderOutput","sliderTrack","sliderThumb","sliderPlaceholder","sliderWithPresetsWrapper","sliderWithPresetsRadioGroup","sliderWithPresetsRadio","sliderWithTicks","dropdown","dropdownButton","dropdownPopover","dropdownListbox","dropdownListboxItem","switch","switchIndicator","wrapper","search","searchLabel","searchInput","searchIcon","clearButton","tree","treeItem","treeItemButton","treeItemText","treeItemTextTitle","treeItemTextPosition","empty","wrapper","button","sliderTrack","slider","sliderThumb","wrapper","button","label","slider","numberfield","button","wrapper","button","label","listbox","listboxItem","durationField","instruction","inputs","fieldGroup","fieldInput","unitLabel","remaining","cancelButton","startButton","wrapper","main","shell","leftDock","rightDock","bottomBar","topBar","barOverlay","headerOverlay","footerOverlay","iframeContainer","loading","srOnly","header","backlinkWrapper","actionsWrapper","link","wrapper","listItem","leftButton","progression","rightButton","label","wrapper"]}
1
+ {"version":3,"sources":["../../../src/app/read/app.css","../../../src/app/reset.css","../../../src/components/assets/styles/thorium-web.button.module.css","../../../src/components/Actions/assets/styles/thorium-web.overflow.module.css","../../../src/components/Actions/JumpToPosition/assets/styles/thorium-web.jumpToPosition.module.css","../../../src/components/Sheets/assets/styles/thorium-web.sheets.module.css","../../../src/components/Docking/assets/styles/thorium-web.docking.module.css","../../../src/components/Settings/assets/styles/thorium-web.reader.settings.module.css","../../../src/components/Actions/Toc/assets/styles/thorium-web.toc.module.css","../../../src/components/Audio/actions/Volume/assets/styles/thorium-web.volume.module.css","../../../src/components/Audio/actions/PlaybackRate/assets/styles/thorium-web.playbackRate.module.css","../../../src/components/Audio/actions/Toc/assets/styles/thorium-web.audioToc.module.css","../../../src/components/Audio/actions/SleepTimer/assets/styles/thorium-web.sleepTimer.module.css","../../../src/components/assets/styles/thorium-web.reader.app.module.css","../../../src/components/assets/styles/thorium-web.reader.header.module.css","../../../src/components/assets/styles/thorium-web.backlink.module.css","../../../src/components/assets/styles/thorium-web.reader.pagination.module.css","../../../src/components/assets/styles/thorium-web.reader.progression.module.css"],"sourcesContent":["html, body {\n min-height: 100%;\n height: 100%;\n margin: 0;\n overflow: hidden;\n touch-action: pan-x pan-y;\n overscroll-behavior-x: none;\n overscroll-behavior-y: none;\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n position: relative;\n}","button {\n -webkit-appearance: none;\n appearance: none;\n border: none;\n background: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n}\n\ninput {\n font-size: 1rem;\n border-radius: 0;\n text-align: inherit;\n background: none;\n box-shadow: none;\n padding: 0;\n cursor: text;\n border: none;\n color: inherit;\n font: inherit;\n outline: none;\n}\n\n::selection {\n background-color: var(--th-theme-select);\n color: var(--th-theme-onSelect);\n}",".icon,\n.dockerButton,\n.closeButton,\n.backButton {\n box-sizing: border-box;\n padding: calc(var(--th-icon-size, 24px) * (1/4));\n text-align: center;\n border-radius: var(--th-layout-radius);\n line-height: 0;\n}\n\n.backButton {\n box-sizing: content-box;\n height: var(--th-icon-size, 24px);\n border: 2px solid transparent;\n display: flex;\n align-items: center;\n}\n\n.closeButton,\n.backButton {\n margin-inline-start: auto;\n}\n\n.icon svg,\n.dockerButton svg,\n.closeButton svg,\n.backButton svg {\n fill: currentColor;\n width: var(--th-icon-size, 24px);\n height: var(--th-icon-size, 24px);\n}\n\n.icon[data-hovered],\n.dockerButton[data-hovered],\n.closeButton[data-hovered],\n.backButton[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.icon[data-focus-visible],\n.dockerButton[data-focus-visible],\n.closeButton[data-focus-visible],\n.backButton[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.backButton[data-disabled] {\n color: var(--th-theme-disable)\n}\n\n.tooltip {\n display: flex;\n align-items: center;\n gap: 0.5em;\n background-color: var(--th-theme-text);\n color: var(--th-theme-background);\n padding: 5px 10px;\n border-radius: var(--th-layout-radius);\n}\n\n.tooltipShortcut {\n font-family: monospace;\n font-weight: bold;\n padding: 5px;\n border-radius: var(--th-layout-radius);\n border: 1px solid currentColor;\n}\n\n/* Visibility + Immersive */\n\n.alwaysVisible {\n opacity: 1;\n}\n\n:global(.thorium_web_stackedUI.thorium_web_isImmersive:not(.thorium_web_isHovering)) .partiallyVisible {\n opacity: 0;\n}\n\n/* Utils to improve icons’ consistency */\n\n.iconCompSm {\n padding: calc(var(--th-icon-size, 24px) * (1/3));\n}\n\n.iconCompSm svg {\n width: calc(var(--th-icon-size, 24px) * (3/4));\n height: calc(var(--th-icon-size, 24px) * (3/4));\n stroke: var(--th-theme-text);\n}\n\n.iconCompLg {\n padding: calc(var(--th-icon-size, 24px) * (1/6));\n}\n\n.iconCompLg svg {\n width: calc(var(--th-icon-size, 24px) * (4/3));\n height: calc(var(--th-icon-size, 24px) * (4/3));\n}\n\n.iconApplyStroke svg {\n stroke: var(--th-theme-text);\n}",":global(.thorium_web_layeredUI.thorium_web_isImmersive:not(.thorium_web_isHovering)) .hint {\n transform: translateY(calc(var(--th-icon-size, 24px) * 2.5));\n transition-property: transform;\n transition-duration: 200ms; \n transition-timing-function: ease-in-out;\n}\n\n:global(.thorium_web_layeredUI.thorium_web_isReflow.thorium_web_isScroll.thorium_web_isImmersive:not(.thorium_web_isHovering)) .hint {\n outline: 1px solid var(--th-theme-subdue);\n background-color: var(--th-theme-background);\n}\n\n.popover {\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n padding: calc(var(--th-layout-spacing) / 2);\n border-radius: var(--th-layout-radius);\n border: 1px solid var(--th-theme-subdue);\n filter: drop-shadow(var(--th-theme-elevate));\n box-sizing: border-box;\n max-width: var(--th-layout-constraints-popover, 500px);\n width: max-content;\n}\n\n.menu {\n outline: none;\n}\n\n.menuItem {\n display: flex;\n align-items: center;\n gap: calc(var(--th-layout-spacing) / 2);\n padding: calc(var(--th-layout-spacing) / 2);\n border-radius: var(--th-layout-radius);\n outline: none;\n}\n\n.menuItem[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.menuItem[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.menuItem[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.menuItem > svg {\n width: calc(var(--th-icon-size, 24px) / 1.5);\n height: calc(var(--th-icon-size, 24px) / 1.5);\n fill: currentColor;\n}\n\n.menuItemLabel {\n font-size: 1rem;\n}\n\n.menuItemShortcut {\n font-family: monospace;\n font-weight: bold;\n color: var(--th-theme-subdue);\n padding: 5px;\n margin-inline-start: auto;\n border-radius: var(--th-layout-radius);\n border: 1px solid var(--th-theme-subdue);\n}",".wrapper {}\n\n.form {\n display: flex;\n gap: calc(var(--th-layout-spacing) / 2);\n}\n\n.label {\n margin-block: 0 var(--th-layout-spacing);\n display: block;\n}\n\n.input {\n display: block;\n font-weight: bold;\n padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-layout-spacing) / 2);\n border-radius: var(--th-layout-radius);\n border: 2px solid var(--th-theme-subdue);\n}\n\n.button {\n box-sizing: content-box;\n border: 2px solid var(--th-theme-subdue);\n padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-icon-size, 24px) * (1/2));\n text-align: center;\n border-radius: var(--th-layout-radius);\n margin-inline-start: auto;\n align-self: flex-end;\n}\n\n.button[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.input[data-focus-visible],\n.button[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.numberField[data-disabled],\n.button[data-disabled] {\n color: var(--th-theme-disable);\n} ","/* React Aria modal provides a visual viewport for mobile + keyboard: --visual-viewport-height \n which should explain why it’s being used here while not mentioned anywhere else in the codebase */\n\n.fullscreen {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 10;\n overflow-y: auto;\n scroll-padding-top: calc(var(--th-sheet-sticky-header, 80px) + var(--th-layout-spacing));\n scroll-padding-bottom: var(--th-layout-spacing);\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n max-height: var(--visual-viewport-height, 100dvh);\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n align-items: center;\n}\n\n.modal {\n position: fixed;\n inset: 0;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--th-layout-spacing);\n background-color: var(--th-layout-defaults-scrim, rgba(0, 0, 0, 0.2));\n pointer-events: none;\n}\n\n.modalDialog {\n pointer-events: auto;\n overflow-y: auto;\n scroll-padding-top: calc(var(--th-sheet-sticky-header, 80px) + var(--th-layout-spacing));\n scroll-padding-bottom: var(--th-layout-spacing);\n box-sizing: border-box;\n width: 100%;\n max-width: var(--th-layout-constraints-modal, 600px);\n max-height: 90dvh;\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n border-radius: var(--th-layout-radius);\n border: 1px solid var(--th-theme-subdue);\n filter: drop-shadow(var(--th-theme-elevate));\n}\n\n.popover {\n overflow-y: auto;\n scroll-padding-top: calc(var(--th-sheet-sticky-header, 80px) + var(--th-layout-spacing));\n scroll-padding-bottom: var(--th-layout-spacing);\n box-sizing: border-box;\n width: calc(340px + (2 * var(--th-layout-spacing)));\n max-width: var(--th-layout-constraints-popover, 500px);\n max-height: 100%;\n max-height: var(--visual-viewport-height, 100dvh);\n padding: 0;\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n border-radius: var(--th-layout-radius);\n border: 1px solid var(--th-theme-subdue);\n filter: drop-shadow(var(--th-theme-elevate));\n}\n\n.compactPopover {\n overflow-y: auto;\n scroll-padding-top: var(--th-layout-spacing);\n scroll-padding-bottom: var(--th-layout-spacing);\n box-sizing: border-box;\n width: calc(340px + (2 * var(--th-layout-spacing)));\n max-width: var(--th-layout-constraints-popover, 500px);\n max-height: 100%;\n max-height: var(--visual-viewport-height, 100dvh);\n padding: 0;\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n border-radius: var(--th-layout-radius);\n border: 1px solid var(--th-theme-subdue);\n filter: drop-shadow(var(--th-theme-elevate));\n}\n\n/* React Modal Sheet handles scroll + sticky header so no need for scroll-padding here */\n.draggable {\n box-sizing: border-box;\n max-width: var(--th-layout-constraints-bottomSheet, 600px);\n left: max(calc((100% - var(--th-layout-constraints-bottomSheet, 600px)) / 2), 0px) !important;\n background-color: var(--th-theme-background) !important;\n color: var(--th-theme-text) !important;\n border: none;\n /* Animating drop-shadow pretty much kills performance, hence why we use a pseudo-element */\n filter: none !important;\n box-shadow: none !important;\n /* M3 = 28dp, see https://m3.material.io/components/bottom-sheets/overview */\n border-top-left-radius: 28px !important;\n border-top-right-radius: 28px !important;\n transition: border-radius 500ms;\n}\n\n.draggable::after {\n content: \"\";\n z-index: -1;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n /* important for performance */\n transform: translateZ(0);\n box-shadow: var(--th-theme-elevate);\n border-top-left-radius: 28px;\n border-top-right-radius: 28px;\n}\n\n.draggableFullHeightDetent {\n height: calc(100% - env(safe-area-inset-top)) !important;\n}\n\n.draggableContentHeightDetent {\n max-height: calc(100% - env(safe-area-inset-top)) !important;\n}\n\n.draggable[data-full-height] {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n transition: border-radius 500ms;\n}\n\n.draggableBackdrop {\n /* So that React Aria can use it to dismiss the sheet as it’s set to none by React Modal Sheet. */\n pointer-events: auto !important;\n background-color: transparent !important;\n}\n\n.draggableScrim {\n background-color: var(--th-layout-defaults-scrim) !important;\n}\n\n.draggableContainer {\n padding: 0;\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n}\n\n.draggableScroller {\n position: relative;\n scroll-padding-bottom: calc(var(--th-layout-spacing) * 4);\n}\n\n.dragIndicator {\n width: calc(var(--th-icon-size, 40px) * 1.5);\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.dragIndicator[data-focus-visible] {\n border-radius: var(--th-layout-radius);\n outline: 2px solid var(--th-theme-focus);\n}\n\n.dragIndicator svg {\n fill: var(--th-theme-subdue);\n width: 100%;\n height: auto;\n}\n\n.docked {\n /* We need relative positioning so that RAC FocusScope scrolls properly on tabbing */\n position: relative;\n overflow-y: auto;\n scroll-padding-top: calc(var(--th-sheet-sticky-header, 80px) + var(--th-layout-spacing));\n scroll-padding-bottom: var(--th-layout-spacing);\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n height: 100vh;\n height: 100dvh;\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n}\n\n.dockedLeftBorder {\n border-right: 1px solid var(--th-theme-subdue);\n}\n\n.dockedRightBorder {\n border-left: 1px solid var(--th-theme-subdue);\n}\n\n.dialog {\n outline: none;\n}\n\n.header {\n display: flex;\n align-items: center;\n position: sticky;\n top: 0;\n left: 0;\n right: 0;\n z-index: 10;\n padding: calc(var(--th-layout-spacing) / 2) var(--th-layout-spacing);\n background-color: var(--th-theme-background);\n border-bottom: 1px solid var(--th-theme-subdue);\n}\n\n.draggableHeader {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n background-color: var(--th-theme-background);\n border-bottom: 1px solid var(--th-theme-subdue);\n padding: var(--th-layout-spacing) var(--th-layout-spacing) calc(var(--th-layout-spacing) / 2) var(--th-layout-spacing);\n /* Otherwise covers the modal’s */\n border-top-left-radius: 28px !important;\n border-top-right-radius: 28px !important;\n transition: border-radius 500ms;\n}\n\n.draggable[data-full-height] .draggableHeader {\n /* Otherwise covers the modal’s */\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n transition: border-radius 500ms;\n}\n\n.heading {\n font-size: 1.25rem;\n line-height: 1;\n margin: 0;\n padding: 0;\n}\n\n.compactHeader {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.body {\n padding: var(--th-layout-spacing);\n}",".dockerWrapper {\n margin-inline-start: auto;\n margin-inline-end: calc(var(--th-icon-size, 24px) * (1 / 4) * -1); /* Optical alingment */\n display: flex;\n gap: 2px;\n padding-inline-start: var(--th-layout-spacing);\n}\n\n.docker {\n display: flex;\n gap: 2px;\n}\n\n.resizeHandle {\n position: relative;\n width: 0;\n}\n\n.resizeHandle:focus-visible {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.resizeHandleGrab {\n position: absolute;\n z-index: 1000;\n top: 50%;\n transform: translateY(-50%);\n width: 5px;\n height: 50px;\n border-radius: 5px;\n background-color: var(--th-theme-subdue);\n}\n\n.resizeHandleGrabLeft {\n left: 0;\n}\n\n.resizeHandleGrabRight {\n left: -5px;\n}",".wrapper {}\n\n.group {\n margin: calc(var(--th-layout-spacing) * 2) 0; \n}\n\n.advancedGroup {\n position: relative;\n}\n\n.advancedIcon {\n position: absolute;\n inset-inline-end: 0;\n inset-block-start: 0;\n}\n\n.label {\n display: block;\n font-weight: bold;\n font-size: 1rem;\n margin: 0;\n}\n\n.groupLabel {\n padding-top: calc(var(--th-icon-size, 24px) * (1/3));\n}\n\n.radioWrapper,\n.groupWrapper {\n margin: var(--th-layout-spacing) 0;\n text-align: center;\n border-radius: var(--th-layout-radius);\n}\n\n.numberField .groupWrapper {\n margin-bottom: 0;\n}\n\n.radioWrapper {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(min(100%, 100px), 1fr));\n gap: calc(var(--th-layout-spacing) / 4);\n width: 100%; \n}\n\n.groupWrapper {\n display: flex;\n width: fit-content;\n gap: var(--th-layout-spacing) calc(var(--th-layout-spacing) / 2);\n}\n\n.advancedGroup .radioWrapper {\n margin-bottom: 0;\n}\n\n.groupWrapper[data-focus-within]:has(input[data-focus-visible]) {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.numberFieldWrapper,\n.sliderWrapper {\n display: flex;\n align-items: flex-start;\n max-width: 100%;\n}\n\n.numberFieldWrapper .numberField,\n.sliderWrapper .slider {\n flex: 1 0 auto;\n}\n\n.group:first-of-type {\n margin-top: 0;\n}\n\n.group:last-of-type {\n margin-bottom: 0;\n}\n\n/* Reset button */\n\n.resetButton {\n margin-inline-start: auto;\n}\n\n/* Number field */\n\n.numberField .input {\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n font-weight: bold;\n align-self: center;\n max-width: 20ch;\n}\n\n.groupWrapper[data-disabled] .input {\n color: var(--th-theme-disable)\n}\n\n.radio {\n padding: calc(var(--th-layout-spacing) / 2);\n border-radius: var(--th-layout-radius);\n box-sizing: border-box;\n border: 2px solid transparent;\n}\n\n.radio:not(.themeRadio) {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: calc(var(--th-layout-spacing) / 2);\n min-width: 0;\n width: 100%;\n}\n\n.radio:not(.themeRadio) > * {\n width: 100%;\n text-align: center;\n}\n\n/* Text truncation for non-theme radios */\n.radio:not(.themeRadio) span {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.2em;\n max-height: 2.4em; /* 2 lines of text */\n width: 100%;\n box-sizing: border-box;\n white-space: normal;\n}\n\n.radio:not(.themeRadio)[data-selected] {\n border: 2px solid var(--th-theme-subdue);\n}\n\n.radio[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.radio[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.radio[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n outline-offset: 2px;\n}\n\n.radio svg {\n width: var(--th-icon-size, 32px);\n height: var(--th-icon-size, 32px);\n /* So that it’s the same color as text based on state */\n fill: currentColor;\n}\n\n.themesWrapper {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-auto-flow: row;\n max-width: 100%;\n gap: calc(var(--th-layout-spacing) / 2);\n}\n\n.themeRadio {\n padding-block: calc(var(--th-layout-spacing) / 4);\n padding-inline: calc((var(--th-icon-size, 24px) * 5/6) + (var(--th-layout-spacing) / 4));\n position: relative;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.themeRadio svg {\n width: calc(var(--th-icon-size, 24px) * 5/6);\n height: calc(var(--th-icon-size, 24px) * 5/6);\n position: absolute;\n inset-inline-end: 5px;\n inset-block-end: 5px;\n /* So that it’s the same color as text w/o having to expose a custom prop globally */\n fill: currentColor;\n}\n\n.separator {\n border: none;\n border-top: 1px solid var(--th-theme-subdue);\n}\n\n/* Slider */\n\n.slider {\n display: grid;\n grid-template-areas: \"label output\"\n \"track track\";\n grid-template-columns: 1fr auto;\n gap: calc(var(--th-layout-spacing) / 2);\n color: var(--th-theme-text);\n flex-direction: column;\n max-width: min(calc(100% - (var(--th-layout-spacing) / 2)), 80%);\n}\n\n.sliderLabel {\n grid-area: label;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.sliderOutput {\n grid-area: output;\n}\n\n.slider[data-disabled] .sliderLabel,\n.slider[data-disabled] .sliderOutput {\n color: var(--th-theme-disable);\n}\n\n.sliderTrack {\n grid-area: track;\n position: relative;\n height: 30px;\n width: auto;\n box-sizing: border-box;\n margin-inline: calc(var(--th-layout-spacing) / 2);\n}\n\n.sliderTrack::before {\n content: \"\";\n display: block;\n position: absolute;\n background: var(--th-theme-subdue);\n height: 3px;\n width: 100%;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.sliderThumb {\n width: 1.25rem;\n height: 1.25rem;\n border-radius: 50%;\n background: var(--th-theme-text);\n border: 2px solid var(--th-theme-subdue);\n top: 50%;\n}\n\n.slider[data-disabled] .sliderThumb {\n background: var(--th-theme-disable);\n border: 2px solid var(--th-theme-disable);\n}\n\n.sliderThumb[data-dragging] {\n background: var(--th-theme-subdue);\n}\n\n.sliderThumb[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n border: 2px solid var(--th-theme-focus);\n}\n\n.sliderPlaceholder {\n color: var(--th-theme-subdue); \n}\n\n/* Slider with presets */\n\n.sliderWithPresetsWrapper {\n display: flex;\n flex-direction: column;\n gap: var(--th-layout-spacing);\n}\n\n\n/* Let the slider fill the full width of the wrapper */\n.sliderWithPresetsWrapper .sliderWrapper {\n width: 100%;\n}\n\n.sliderWithPresetsWrapper .slider {\n max-width: 100%;\n}\n\n.sliderWithPresetsRadioGroup {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(4.5rem, 1fr));\n gap: calc(var(--th-layout-spacing) / 4);\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.sliderWithPresetsRadio {\n padding: calc(var(--th-layout-spacing) / 2);\n border-radius: var(--th-layout-radius);\n box-sizing: border-box;\n border: 2px solid transparent;\n text-align: center;\n font-variant-numeric: tabular-nums;\n background: transparent;\n color: var(--th-theme-text);\n}\n\n.sliderWithPresetsRadio[data-selected] {\n border: 2px solid var(--th-theme-subdue);\n}\n\n.sliderWithPresetsRadio[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.sliderWithPresetsRadio[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n outline-offset: 2px;\n}\n\n.sliderWithPresetsRadio[data-disabled] {\n color: var(--th-theme-disable);\n border-color: var(--th-theme-disable);\n}\n\n/* Slider with ticks */\n\n.sliderWithTicks .sliderTrack::before {\n background: \n /* Track line */\n linear-gradient(\n to right,\n var(--th-theme-subdue) 0%,\n var(--th-theme-subdue) 100%\n ) 0 50% / 100% 3px no-repeat,\n\n /* Ticks */\n repeating-linear-gradient(\n to right,\n var(--th-theme-text) 0%,\n var(--th-theme-text) 1px,\n transparent 1px,\n transparent calc((100% - 2px) / var(--th-slider-ticks, 10))\n ) 0 50% / 100% 15px no-repeat;\n height: 15px;\n transform: translateY(-50%);\n position: relative;\n}\n\n/* First and last tick */\n\n.sliderWithTicks .sliderTrack::after {\n content: \"\";\n background: \n /* First tick */\n linear-gradient(\n to right,\n var(--th-theme-subdue) 0%,\n var(--th-theme-subdue) 3px,\n transparent 3px,\n transparent 100%\n ) 0 50% / 100% 20px no-repeat,\n\n /* Last tick */\n linear-gradient(\n to left,\n var(--th-theme-subdue) 0%,\n var(--th-theme-subdue) 3px,\n transparent 3px,\n transparent 100%\n ) 100% 50% / 100% 20px no-repeat;\n position: absolute;\n top: 50%;\n left: 0;\n right: 0;\n height: 20px;\n transform: translateY(-50%);\n pointer-events: none;\n}\n\n/* Dropdown */\n\n.dropdown[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.dropdownButton {\n margin-top: var(--th-layout-spacing);\n position: relative;\n padding-block: calc(var(--th-layout-spacing) / 2);\n padding-inline: calc(var(--th-layout-spacing) / 2) calc(var(--th-icon-size, 24px) * 6/5);\n border-radius: var(--th-layout-radius);\n box-sizing: border-box;\n border: 1px solid var(--th-theme-subdue);\n max-width: 100%;\n}\n\n.dropdownButton[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.dropdownButton svg {\n width: calc(var(--th-icon-size, 24px) * 5/6);\n height: calc(var(--th-icon-size, 24px) * 5/6);\n position: absolute;\n inset-inline-end: calc(var(--th-layout-spacing) / 4);\n inset-block-start: calc(var(--th-layout-spacing) / 2);\n fill: currentColor;\n}\n\n.dropdownPopover {\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n padding: calc(var(--th-layout-spacing) / 2);\n border-radius: var(--th-layout-radius);\n border: 1px solid var(--th-theme-subdue);\n filter: drop-shadow(var(--th-theme-elevate));\n box-sizing: border-box;\n width: max-content;\n overflow-y: auto;\n /* TMP: Needs to be higher than bottom sheet, which requires hack for Safari iOS */\n z-index: 1000000 !important;\n}\n\n.dropdownListbox {\n display: flex;\n flex-direction: column;\n gap: calc(var(--th-layout-spacing) / 2);\n}\n\n.dropdownListboxItem {\n padding: calc(var(--th-layout-spacing) / 4);\n border-radius: var(--th-layout-radius);\n outline: none;\n}\n\n.dropdownListboxItem[data-selected] {\n color: var(--th-theme-subdue);\n}\n\n.dropdownListboxItem[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.dropdownListboxItem[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.dropdownListboxItem[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n/* Switch */\n\n.switch {\n display: flex;\n align-items: center;\n gap: clamp(10px, calc(var(--th-layout-spacing) / 2), 20px);\n color: var(--th-theme-text);\n margin: var(--th-layout-spacing) 0;\n}\n\n.switchIndicator {\n width: 2rem;\n height: 1.143rem;\n border: 2px solid var(--th-theme-subdue);\n background: var(--th-theme-background);\n border-radius: 1.143rem;\n transition: all 200ms;\n flex-shrink: 0;\n}\n\n.switchIndicator::before {\n content: \"\";\n display: block;\n margin: 0.143rem;\n width: 0.857rem;\n height: 0.857rem;\n background: var(--th-theme-subdue);\n border-radius: 16px;\n transition: all 200ms;\n}\n\n.switch[data-selected] .switchIndicator::before {\n background: var(--th-theme-text);\n transform: translateX(100%);\n}\n\n:dir(rtl) .switch[data-selected] .switchIndicator::before {\n background: var(--th-theme-text);\n transform: translateX(-100%);\n}\n\n.switch[data-focus-visible] .switchIndicator {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.switch[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.switch[data-disabled] .switchIndicator::before {\n background: var(--th-theme-disable) !important;\n}","/* Search */\n.wrapper {}\n\n.search {\n margin-bottom: var(--th-layout-spacing);\n display: grid;\n grid-template-areas: \"label label\"\n \"input button\";\n grid-template-columns: 1fr auto;\n align-items: center;\n width: 100%;\n}\n\n.searchLabel {\n grid-area: label;\n margin-bottom: calc(var(--th-layout-spacing) / 2);\n}\n\n.searchInput {\n grid-area: input;\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n display: block;\n border-radius: var(--th-layout-radius);\n border: 2px solid var(--th-theme-subdue);\n padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-layout-spacing) / 2);\n}\n\n.searchInput::-webkit-search-cancel-button,\n.searchInput::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n.searchInput[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.searchIcon,\n.clearButton {\n grid-area: button;\n margin-inline-start: calc(var(--th-icon-size, 24px) * -1.25);\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.searchIcon svg {\n fill: var(--th-theme-subdue);\n width: var(--th-icon-size, 24px);\n height: var(--th-icon-size, 24px);\n}\n\n.clearButton svg {\n fill: var(--th-theme-text);\n width: var(--th-icon-size, 24px);\n height: var(--th-icon-size, 24px);\n}\n\n.searchIcon[hidden],\n.clearButton[data-disabled] {\n display: none;\n}\n\n.tree {\n background: var(--th-theme-background);\n color: var(--th-theme-text);\n outline: none;\n width: 100%;\n max-height: 100%;\n box-sizing: border-box;\n}\n\n/* React Aria is providing a --tree-item-level as items are not nested */\n.treeItem {\n display: flex;\n padding: calc(var(--th-layout-spacing) / 2);\n padding-inline-start: calc(((var(--tree-item-level) - 1) * var(--th-layout-spacing)) + (var(--th-layout-spacing) / 2));\n border-radius: var(--th-layout-radius);\n border: 2px solid transparent;\n box-sizing: border-box;\n}\n\n.tree:has(.treeItemButton) .treeItem {\n padding-inline-start: calc((var(--tree-item-level) * var(--th-layout-spacing)) + (var(--th-layout-spacing) / 2));\n}\n\n.tree .treeItem:has(.treeItemButton) {\n padding-inline-start: calc(((var(--tree-item-level) - 1) * var(--th-layout-spacing)));\n}\n\n.treeItemText {\n display: flex;\n flex: 1 1 auto;\n}\n\n.treeItemTextTitle {\n text-wrap: balance;\n}\n\n.treeItemTextPosition {\n margin-inline-start: auto;\n padding-inline-start: calc(var(--th-layout-spacing) / 2);\n color: var(--th-theme-subdue);\n font-variant-numeric: lining-nums tabular-nums;\n}\n\n.treeItemButton {\n align-self: flex-start;\n width: calc(var(--th-icon-size, 24px) * 5/6);\n height: calc(var(--th-icon-size, 24px) * 5/6);\n margin-inline-end: calc(var(--th-layout-spacing) / 2);\n flex-shrink: 0;\n}\n\n.treeItem[data-href] {\n cursor: pointer;\n}\n\n/* [data-hover] is only updated on tree items that can be expanded ATM… */\n.treeItem:hover {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.treeItem[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.treeItem[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.treeItem[data-selected] {\n border: 2px solid var(--th-theme-subdue);\n}\n\n.treeItemButton svg {\n flex: none;\n rotate: 0deg;\n transition: rotate 200ms;\n width: 100%;\n height: 100%;\n fill: currentColor;\n}\n\n.treeItem[data-expanded] .treeItemButton svg {\n rotate: 90deg;\n}\n\n.empty {\n max-width: 25ch;\n text-align: start;\n text-wrap: balance;\n}",".wrapper {\n width: auto;\n}\n\n.button {\n --th-icon-size: calc(var(--audio-icon-base) * (5/4));\n padding: calc(var(--th-icon-size) * (1/4));\n outline: none;\n}\n\n.button[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.button[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.sliderTrack {\n position: relative;\n box-sizing: border-box;\n}\n\n.sliderTrack::before {\n content: \"\";\n display: block;\n position: absolute;\n background: var(--th-theme-subdue);\n}\n\n.slider[data-disabled] .sliderTrack::before {\n background: var(--th-theme-disable);\n}\n\n/* Vertical */\n\n.slider[data-orientation=\"vertical\"] .sliderTrack {\n height: 150px;\n width: 30px;\n margin-block: calc(1.25rem / 2);\n}\n\n.slider[data-orientation=\"vertical\"] .sliderTrack::before {\n width: 3px;\n height: 100%;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.slider[data-orientation=\"vertical\"] .sliderThumb {\n left: 50%;\n transform: translateX(-50%);\n}\n\n/* Horizontal */\n\n.slider[data-orientation=\"horizontal\"] {\n max-width: 320px;\n width: 100%;\n}\n\n.slider[data-orientation=\"horizontal\"] .sliderTrack {\n width: 100%;\n height: 30px;\n}\n\n.slider[data-orientation=\"horizontal\"] .sliderTrack::before {\n height: 3px;\n width: 100%;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.slider[data-orientation=\"horizontal\"] .sliderThumb {\n top: 50%;\n transform: translateY(-50%);\n}\n\n/* Thumb shared */\n\n.sliderThumb {\n width: 1.25rem;\n height: 1.25rem;\n border-radius: 50%;\n background: var(--th-theme-text);\n border: 2px solid var(--th-theme-subdue);\n}\n\n.slider[data-disabled] .sliderThumb {\n background: var(--th-theme-disable);\n border: 2px solid var(--th-theme-disable);\n}\n\n.sliderThumb[data-dragging] {\n background: var(--th-theme-subdue);\n}\n\n.sliderThumb[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n border: 2px solid var(--th-theme-focus);\n}",".wrapper {\n width: auto;\n}\n\n.button {\n --th-icon-size: calc(var(--audio-icon-base) * (5/4));\n padding: calc(var(--th-icon-size) * (1/4));\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n outline: none;\n}\n\n.button[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.button[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.button:has(.label) {\n padding-bottom: calc(var(--th-icon-size) * (2/3));\n}\n\n.label {\n position: absolute;\n bottom: calc(var(--th-icon-size) * (1/4));\n left: 50%;\n transform: translateX(-50%);\n white-space: nowrap;\n line-height: 1;\n font-size: calc(var(--th-icon-size, 24px) * (5/12));\n font-variant-numeric: tabular-nums;\n font-weight: bold;\n}\n\n/* Playback rate - slider with presets variant */\n\n.slider {\n min-width: 260px;\n}\n\n/* Playback rate - number field variant */\n\n.numberfield {\n min-width: 140px;\n display: flex;\n justify-content: center;\n}",".button {\n --th-icon-size: calc(var(--audio-icon-base) * (5/4));\n padding: calc(var(--th-icon-size) * (1/4));\n outline: none;\n}\n\n.button[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.button[data-disabled] {\n color: var(--th-theme-disable);\n}",".wrapper {}\n\n.button {\n --th-icon-size: calc(var(--audio-icon-base) * (5/4));\n padding: calc(var(--th-icon-size) * (1/4));\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n outline: none;\n}\n\n.button[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.button[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.button:has(.label) {\n padding-bottom: calc(var(--th-icon-size) * (2/3));\n}\n\n.label {\n position: absolute;\n bottom: calc(var(--th-icon-size) * (1/4));\n left: 50%;\n transform: translateX(-50%);\n white-space: nowrap;\n line-height: 1;\n font-size: calc(var(--th-icon-size, 24px) * (5/12));\n font-variant-numeric: tabular-nums;\n font-weight: bold;\n}\n\n.listbox {\n display: flex;\n flex-direction: column;\n gap: calc(var(--th-layout-spacing) / 2);\n}\n\n.listboxItem {\n padding: calc(var(--th-layout-spacing) / 4);\n border-radius: var(--th-layout-radius);\n outline: none;\n cursor: default;\n}\n\n.listboxItem[data-selected] {\n background-color: var(--th-theme-hover);\n font-weight: bold;\n}\n\n.listboxItem[data-hovered]:not([data-selected]) {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.listboxItem[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n/* Sleep timer duration field */\n\n.durationField {\n display: flex;\n flex-direction: column;\n}\n\n.instruction {\n display: block;\n margin: 0 0 var(--th-layout-spacing) 0;\n}\n\n.inputs {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: calc(var(--th-layout-spacing) / 4);\n margin-bottom: var(--th-layout-spacing);\n}\n\n.fieldGroup {\n display: contents;\n}\n\n.fieldInput {\n width: 4ch;\n text-align: center;\n background: transparent;\n border: 2px solid var(--th-theme-subdue);\n border-radius: var(--th-layout-radius);\n padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-layout-spacing) / 2);\n color: var(--th-theme-text);\n font-variant-numeric: tabular-nums;\n font-weight: bold;\n outline: none;\n}\n\n.fieldInput[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.unitLabel {\n margin-inline-end: calc(var(--th-layout-spacing) / 4);\n}\n\n.remaining {\n font-variant-numeric: tabular-nums;\n font-weight: bold;\n margin: 0 0 var(--th-layout-spacing) 0;\n}\n\n.cancelButton {\n margin-top: var(--th-layout-spacing);\n}\n\n/* Start button */\n\n.startButton {\n padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-icon-size, 24px) * (1/2));\n border-radius: var(--th-layout-radius);\n border: 2px solid var(--th-theme-subdue);\n background: transparent;\n color: var(--th-theme-text);\n cursor: default;\n width: 100%;\n box-sizing: border-box;\n text-align: center;\n}\n\n.startButton[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover)\n}\n\n.startButton[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.startButton[data-disabled] {\n color: var(--th-theme-disable);\n}","/* For some classNames we need global, as they impact other modules */\n\n.wrapper {\n height: 100%;\n width: 100%;\n margin: 0;\n}\n\n.main {\n width: 100%;\n height: 100%;\n margin: 0;\n}\n\n.shell {\n width: 100%;\n height: 100%;\n margin: 0;\n}\n\n.leftDock {\n height: 100vh;\n height: 100dvh;\n}\n\n.rightDock {\n height: 100vh;\n height: 100dvh;\n}\n\n/* Top and bottom bars */\n\n.bottomBar,\n.topBar {\n box-sizing: border-box;\n gap: 2px;\n touch-action: manipulation;\n background-color: var(--th-theme-background);\n}\n\n.bottomBar {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n/* Stacked UI */\n\n.main :global(.thorium_web_stackedUI) {\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 1 1 0;\n height: 100vh;\n height: 100dvh;\n max-height: 100%;\n background-color: var(--th-theme-background);\n}\n\n:global(.thorium_web_stackedUI) .topBar,\n:global(.thorium_web_stackedUI) .bottomBar {\n flex: 0 0 calc(var(--th-icon-size, 24px) * 2.5);\n height: calc(var(--th-icon-size, 24px) * 2.5);\n}\n\n:global(.thorium_web_stackedUI.thorium_web_isImmersive:not(.thorium_web_isHovering)) .topBar,\n:global(.thorium_web_stackedUI.thorium_web_isImmersive:not(.thorium_web_isHovering)) .bottomBar {\n opacity: var(--th-theme-immerse);\n}\n\n/* Layered UI */\n\n.main :global(.thorium_web_layeredUI) {\n position: relative;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100vh;\n height: 100dvh;\n max-height: 100%;\n background-color: var(--th-theme-background);\n}\n\n:global(.thorium_web_layeredUI) .topBar,\n:global(.thorium_web_layeredUI) .bottomBar {\n position: absolute;\n left: 0;\n right: 0;\n height: calc(var(--th-icon-size, 24px) * 2.5);\n z-index: 2;\n box-shadow: var(--th-theme-elevate);\n overflow: hidden;\n transition-property: transform, box-shadow;\n transition-duration: 200ms;\n transition-timing-function: ease-in-out;\n transform: translateY(0);\n}\n\n:global(.thorium_web_layeredUI) .topBar {\n top: 0;\n}\n\n:global(.thorium_web_layeredUI) .bottomBar {\n bottom: 0;\n}\n\n:global(.thorium_web_layeredUI.thorium_web_isImmersive:not(.thorium_web_isHovering)) .topBar {\n transform: translateY(calc(var(--th-icon-size, 24px) * -2.5));\n box-shadow: none;\n overflow: unset;\n}\n\n:global(.thorium_web_layeredUI.thorium_web_isImmersive:not(.thorium_web_isHovering)) .bottomBar {\n transform: translateY(calc(var(--th-icon-size, 24px) * 2.5));\n box-shadow: none;\n}\n\n.barOverlay {\n position: absolute;\n left: 0;\n right: 0;\n height: calc(var(--th-icon-size, 24px) * 2.5);\n pointer-events: auto;\n opacity: 0;\n z-index: 1000;\n}\n\n.headerOverlay {\n position: absolute;\n left: 0;\n right: 0;\n height: calc(var(--th-icon-size, 24px) * 2.5);\n pointer-events: auto;\n opacity: 0;\n z-index: 1000;\n top: 0;\n}\n\n.footerOverlay {\n position: absolute;\n left: 0;\n right: 0;\n height: calc(var(--th-icon-size, 24px) * 2.5);\n pointer-events: auto;\n opacity: 0;\n z-index: 1000;\n bottom: 0;\n}\n\n/* iFrame + its container */\n\n.iframeContainer {\n contain: content;\n width: 100%;\n height: 100%;\n margin: 0 auto;\n}\n\n.iframeContainer :global(.readium-navigator-iframe) {\n width: 100%;\n height: 100%;\n border-width: 0;\n}\n\n/* FXL: Loading spinner for resources */\n@keyframes loading {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.iframeContainer :global(div:has(> .readium-navigator-iframe.blank))::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: -30px;\n margin-left: -30px;\n width: 50px;\n height: 50px;\n border-radius: 50px;\n border: 5px solid grey;\n border-top-color: black;\n animation: loading 2s linear infinite;\n}\n\n/* Utils */\n\n.srOnly {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}",".header {\n box-sizing: border-box;\n display: grid;\n grid-template-areas: \"header-start header-center header-end\";\n grid-template-columns: 1fr 3fr 1fr;\n padding: 0.25rem 0.5rem 0;\n}\n\n.backlinkWrapper {\n grid-area: header-start;\n justify-self: start;\n align-self: center;\n}\n\n.header h1 {\n font-size: 1rem;\n color: var(--th-theme-text);\n font-weight: normal;\n grid-area: header-center;\n justify-self: center;\n align-self: center;\n max-width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; \n transition: opacity 200ms ease-in-out;\n}\n\n.actionsWrapper {\n grid-area: header-end;\n min-width: 0;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 2px;\n}",".link {\n display: block;\n box-sizing: content-box;\n padding: calc(var(--th-icon-size, 24px) * (1/4));\n text-align: start;\n border-radius: var(--th-layout-radius);\n max-width: 100%;\n height: var(--th-icon-size, 24px);\n}\n\n.link svg {\n fill: var(--th-theme-text);\n max-width: 100%;\n height: 100%;\n}\n\n.link img {\n max-width: 100%;\n height: 100%;\n}\n\n.link[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.link[data-hovered] svg {\n fill: var(--th-theme-onHover)\n}\n\n.link[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.link[data-disabled] {\n color: var(--th-theme-disable)\n}\n\n.link[data-disabled] svg {\n fill: var(--th-theme-disable)\n}",".wrapper {\n box-sizing: border-box;\n display: grid;\n gap: calc(var(--th-layout-spacing) / 2);\n grid-template-areas: \"pagination-start pagination-center pagination-end\";\n grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);\n background-color: var(--th-theme-background);\n color: var(--th-theme-text);\n align-items: center;\n width: 100%;\n max-width: var(--th-layout-constraints-pagination, 100%);\n}\n\n.listItem {\n box-sizing: border-box;\n list-style: none;\n}\n\n.listItem:has(.leftButton) {\n grid-area: pagination-start;\n justify-self: start;\n}\n\n.listItem:has(.progression) {\n grid-area: pagination-center;\n justify-self: center;\n}\n\n.listItem:has(.rightButton) {\n grid-area: pagination-end;\n justify-self: end;\n}\n\n\n.listItem button {\n box-sizing: border-box;\n padding: calc(var(--th-icon-size, 24px) * (1/4)) calc(var(--th-layout-spacing) / 2);\n gap: calc(var(--th-layout-spacing) / 2);\n max-height: calc(var(--th-icon-size, 24px) * 2);\n max-width: 100%;\n border-radius: var(--th-layout-radius);\n display: flex;\n align-items: center;\n}\n\n.rightButton {\n margin-inline-start: auto;\n text-align: end;\n}\n\n.listItem button[data-hovered] {\n background-color: var(--th-theme-hover);\n color: var(--th-theme-onHover);\n}\n\n.listItem button[data-focus-visible] {\n outline: 2px solid var(--th-theme-focus);\n}\n\n.listItem button[data-disabled] {\n color: var(--th-theme-disable);\n}\n\n.listItem button .label {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n white-space: normal;\n -webkit-line-clamp: 1;\n line-clamp: 1;\n}\n\n.listItem button svg {\n flex: none;\n width: var(--th-icon-size, 24px);\n height: var(--th-icon-size, 24px);\n fill: currentColor;\n}",".wrapper {\n color: var(--th-theme-text);\n font-variant-numeric: lining-nums tabular-nums;\n text-align: center;\n}"],"mappings":"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","names":["icon","dockerButton","closeButton","backButton","tooltip","tooltipShortcut","alwaysVisible","partiallyVisible","iconCompSm","iconCompLg","iconApplyStroke","hint","popover","menu","menuItem","menuItemLabel","menuItemShortcut","wrapper","form","label","input","button","numberField","fullscreen","modal","modalDialog","popover","compactPopover","draggable","draggableFullHeightDetent","draggableContentHeightDetent","draggableBackdrop","draggableScrim","draggableContainer","draggableScroller","dragIndicator","docked","dockedLeftBorder","dockedRightBorder","dialog","header","draggableHeader","heading","compactHeader","body","dockerWrapper","docker","resizeHandle","resizeHandleGrab","resizeHandleGrabLeft","resizeHandleGrabRight","wrapper","group","advancedGroup","advancedIcon","label","groupLabel","radioWrapper","groupWrapper","numberField","numberFieldWrapper","sliderWrapper","slider","resetButton","input","radio","themeRadio","themesWrapper","separator","sliderLabel","sliderOutput","sliderTrack","sliderThumb","sliderPlaceholder","sliderWithPresetsWrapper","sliderWithPresetsRadioGroup","sliderWithPresetsRadio","sliderWithTicks","dropdown","dropdownButton","dropdownPopover","dropdownListbox","dropdownListboxItem","switch","switchIndicator","wrapper","search","searchLabel","searchInput","searchIcon","clearButton","tree","treeItem","treeItemButton","treeItemText","treeItemTextTitle","treeItemTextPosition","empty","wrapper","button","sliderTrack","slider","sliderThumb","wrapper","button","label","slider","numberfield","button","wrapper","button","label","listbox","listboxItem","durationField","instruction","inputs","fieldGroup","fieldInput","unitLabel","remaining","cancelButton","startButton","wrapper","main","shell","leftDock","rightDock","bottomBar","topBar","barOverlay","headerOverlay","footerOverlay","iframeContainer","loading","srOnly","header","backlinkWrapper","actionsWrapper","link","wrapper","listItem","leftButton","progression","rightButton","label","wrapper"]}
@@ -1,24 +1,25 @@
1
- import { aB as StatefulReaderProps } from '../../useReaderTransitions-0hKGCvMm.mjs';
2
- export { ai as ScrimPref, d as StatefulActionContainerProps, o as StatefulActionIcon, n as StatefulActionIconProps, c as StatefulActionTriggerProps, S as StatefulActionsMapObject, i as StatefulAudioSettingsContainer, aj as StatefulBottomSheet, ah as StatefulBottomSheetProps, s as StatefulCollapsibleActionsBar, r as StatefulCollapsibleActionsBarProps, al as StatefulCompactPopoverSheet, ak as StatefulCompactPopoverSheetProps, an as StatefulDockedSheet, am as StatefulDockedSheetProps, C as StatefulDropdown, B as StatefulDropdownProps, a5 as StatefulFontFamily, ap as StatefulFullScreenSheet, ao as StatefulFullScreenSheetProps, e as StatefulFullscreenTrigger, az as StatefulGlobalPreferencesProvider, A as StatefulGroupWrapper, z as StatefulGroupWrapperProps, a7 as StatefulHyphens, f as StatefulJumpToPositionContainer, g as StatefulJumpToPositionTrigger, X as StatefulLetterSpacing, ac as StatefulLigatures, Y as StatefulLineHeight, av as StatefulModalBase, au as StatefulModalBaseProps, ar as StatefulModalSheet, aq as StatefulModalSheetProps, ad as StatefulNoRuby, E as StatefulNumberField, D as StatefulNumberFieldProps, v as StatefulOverflowMenu, q as StatefulOverflowMenuItem, p as StatefulOverflowMenuItemProps, t as StatefulOverflowMenuProps, Z as StatefulParagraphIndent, _ as StatefulParagraphSpacing, at as StatefulPopoverSheet, as as StatefulPopoverSheetProps, ay as StatefulPreferencesProvider, ae as StatefulPublisherStyles, G as StatefulRadioGroup, F as StatefulRadioGroupProps, W as StatefulSettingsItemProps, k as StatefulSettingsTrigger, h as StatefulSettingsWrapper, ax as StatefulSheet, aw as StatefulSheetWrapper, I as StatefulSlider, H as StatefulSliderProps, K as StatefulSliderWithPresets, J as StatefulSliderWithPresetsProps, $ as StatefulSpacingGroup, a0 as StatefulSpacingGroupContainer, a1 as StatefulSpacingPresets, M as StatefulSwitch, L as StatefulSwitchProps, a8 as StatefulTextAlign, a9 as StatefulTextGroup, aa as StatefulTextGroupContainer, ab as StatefulTextNormalize, af as StatefulTheme, l as StatefulTocContainer, m as StatefulTocTrigger, j as StatefulVisualSettingsContainer, a2 as StatefulWordSpacing, ag as StatefulZoom, T as ThPlugin, a6 as UnstableStatefulFontWeight, y as createAudioDefaultPlugin, x as createDefaultPlugin, w as useDocking, N as useEffectiveRange, P as useGridNavigation, O as useGridNavigationProps, Q as useGridTemplate, a3 as useLineHeight, u as useNavigator, R as usePlaceholder, a as usePublication, U as useReaderSetting, b as useReaderTransitions, V as useSettingsComponentStatus, a4 as useSpacingPresets } from '../../useReaderTransitions-0hKGCvMm.mjs';
3
- export { b as useWebPubNavigator } from '../../useAudioNavigator-CWXyNWq1.mjs';
1
+ import { aD as StatefulReaderProps } from '../../useReaderTransitions-CpgrXS5g.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-CpgrXS5g.mjs';
3
+ export { b as useWebPubNavigator } from '../../useAudioNavigator-9RuOpLGB.mjs';
4
4
  export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getPlatform, getSupportedProgressionFormats, isActiveElement, isIOSish, isInteractiveElement, isIpadOS, isKeyboardTriggered, isMacish, makeBreakpointsMap, propsToCSSVars } from '../../core/Helpers/index.mjs';
5
- export { U as UnstableKey, a as UnstableMetaKey, c as UnstableMetaKeys, g as UnstablePShortcut, b as UnstablePlatformModifier, f as UnstableShortcut, d as UnstableShortcutMetaKeywords, e as UnstableShortcutRepresentation, j as buildShortcut, h as defaultPlatformModifier, i as getPlatformModifier, m as metaKeys } from '../../keyboardUtilities-BWAyLS_D.mjs';
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
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-VFR42qgL.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-VqBhLq50.mjs';
9
- export { u as useTheming } from '../../ThPreferencesAdapter-_5AePKHa.mjs';
10
- export { T as ThPreferencesProvider, u as usePreferences } from '../../usePreferences-9ZvbcbLW.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';
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-CuRRM3rp.mjs';
16
+ import '../../actions-C33UN3Ji.mjs';
17
17
  import 'react-aria-components';
18
18
  import '../../ui-DnZZhozX.mjs';
19
- import '../../ThSettingsWrapper-B_9klYXH.mjs';
19
+ import '@readium/navigator-html-injectables';
20
+ import '../../ThSettingsWrapper-DtzcwzYX.mjs';
20
21
  import 'react-aria';
21
- import '../../useContrast-Cbso7N1l.mjs';
22
+ import '../../useContrast-Bl08zDTU.mjs';
22
23
  import '@readium/navigator';
23
24
  import '@readium/shared';
24
25
  import '../../errorHandler-CL2YIfQY.mjs';
@@ -1,24 +1,25 @@
1
- export { ExperimentalWebPubStatefulReader } from '../../chunk-RBEPH5E5.mjs';
2
- import '../../chunk-KGSFTRCH.mjs';
3
- export { 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, useDocking, useEffectiveRange, useGridNavigation, useGridTemplate, useLineHeight, useNavigator, usePlaceholder, usePublication, useReaderSetting, useReaderTransitions, useSettingsComponentStatus, useSpacingPresets } from '../../chunk-MSHUPSBI.mjs';
4
- export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getSupportedProgressionFormats, isActiveElement, isInteractiveElement, isKeyboardTriggered, makeBreakpointsMap } from '../../chunk-VENFFPK2.mjs';
5
- export { useWebPubNavigator } from '../../chunk-SZAVAQ6S.mjs';
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-YEVLT3AV.mjs';
1
+ export { ExperimentalWebPubStatefulReader } from '../../chunk-J6XDICU2.mjs';
2
+ import '../../chunk-KXOIN35D.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-THOJRBVD.mjs';
4
+ export { canRenderProgressionFormat, getBestMatchingProgressionFormat, getSupportedProgressionFormats, isActiveElement, isInteractiveElement, isKeyboardTriggered, makeBreakpointsMap } from '../../chunk-VYSDLACR.mjs';
5
+ export { useWebPubNavigator } from '../../chunk-2B3HE57E.mjs';
6
+ import '../../chunk-RRDEPGBK.mjs';
7
+ export { ThI18nProvider, Trans } from '../../chunk-KT2QY5QU.mjs';
8
+ export { DEFAULT_CONFIG, i18n, initI18n, useI18n } from '../../chunk-2NCN2AG2.mjs';
9
+ 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
10
  import '../../chunk-TEZB4ULX.mjs';
9
- export { ThPreferencesProvider, usePreferences, useTheming } from '../../chunk-OD75GC5N.mjs';
11
+ export { ThPreferencesProvider, usePreferences, useTheming } from '../../chunk-3VB756GR.mjs';
10
12
  export { propsToCSSVars } from '../../chunk-2YRT7RNW.mjs';
11
13
  import '../../chunk-GFSLVQIG.mjs';
12
14
  import '../../chunk-AE6P4KJB.mjs';
15
+ import '../../chunk-GNROODJB.mjs';
13
16
  export { useAppDispatch, useAppSelector, useAppStore } from '../../chunk-A575ZW4A.mjs';
14
- export { UnstableShortcutMetaKeywords, UnstableShortcutRepresentation, buildShortcut, defaultPlatformModifier, getPlatform, getPlatformModifier, isIOSish, isIpadOS, isMacish, metaKeys } from '../../chunk-44PEO3DS.mjs';
17
+ export { ShortcutRepresentation, defaultPlatformModifier, getPlatformModifier, metaKeys } from '../../chunk-X63WSMOH.mjs';
15
18
  import '../../chunk-NQ2ZSGCX.mjs';
16
- import '../../chunk-RRDEPGBK.mjs';
17
- import '../../chunk-ETLIGONP.mjs';
19
+ export { getPlatform, isIOSish, isIpadOS, isMacish } from '../../chunk-KQ3KS5O5.mjs';
20
+ import '../../chunk-AXX4U2FW.mjs';
18
21
  import '../../chunk-YZ73DHRU.mjs';
19
- export { DEFAULT_CONFIG, i18n, initI18n, useI18n } from '../../chunk-2NCN2AG2.mjs';
20
22
  import '../../chunk-AQSJDL63.mjs';
21
- import '../../chunk-GNROODJB.mjs';
22
23
  import '../../chunk-3GDQP6AS.mjs';
23
24
  //# sourceMappingURL=index.mjs.map
24
25
  //# sourceMappingURL=index.mjs.map