diff --git a/entry_types/scrolled/package/.eslintignore b/entry_types/scrolled/package/.eslintignore index 16b0dd0c46..21e25a956c 100644 --- a/entry_types/scrolled/package/.eslintignore +++ b/entry_types/scrolled/package/.eslintignore @@ -3,6 +3,7 @@ /node_modules /contentElements /editor.js +/entryState.js /frontend /frontend-server.js /contentElements-editor.js diff --git a/entry_types/scrolled/package/.eslintrc.js b/entry_types/scrolled/package/.eslintrc.js index 1ff2c4185f..ad8234c9b1 100644 --- a/entry_types/scrolled/package/.eslintrc.js +++ b/entry_types/scrolled/package/.eslintrc.js @@ -22,6 +22,32 @@ module.exports = { 'jest/globals': true, }, "extends": ["plugin:jest/recommended"] + }, + { + // Content elements, widgets and the editor are bundled + // separately and need to import from 'pageflow-scrolled/frontend' + // and 'pageflow-scrolled/entryState' to keep that code external. + // Stories are excluded because they legitimately import the + // content element's sibling './frontend' aggregator via + // '../frontend'. + "files": ["src/contentElements/**/*.js", "src/widgets/**/*.js", "src/editor/**/*.js"], + "excludedFiles": ["src/**/stories.js"], + "rules": { + "no-restricted-imports": ["error", { + "patterns": ["**/frontend/**", "../**/frontend", "**/entryState/**"] + }] + } + }, + { + // The frontend is bundled separately from entryState and needs + // to use 'pageflow-scrolled/entryState' to keep that code + // external. + "files": ["src/frontend/**/*.js"], + "rules": { + "no-restricted-imports": ["error", { + "patterns": ["**/entryState/**", "../**/entryState"] + }] + } } ] }; diff --git a/entry_types/scrolled/package/.gitignore b/entry_types/scrolled/package/.gitignore index 47075eb0a6..86c4077995 100644 --- a/entry_types/scrolled/package/.gitignore +++ b/entry_types/scrolled/package/.gitignore @@ -2,6 +2,7 @@ /contentElements /editor.js /editor.css +/entryState.js /frontend /frontend-server.js /contentElements-editor.js diff --git a/entry_types/scrolled/package/.storybook/main.js b/entry_types/scrolled/package/.storybook/main.js index f556f85294..46e1178c3c 100644 --- a/entry_types/scrolled/package/.storybook/main.js +++ b/entry_types/scrolled/package/.storybook/main.js @@ -36,6 +36,7 @@ module.exports = { ...config.resolve.alias, 'pageflow/frontend': path.resolve(__dirname, '../../../../package/src/frontend'), 'pageflow/review': path.resolve(__dirname, '../../../../package/src/review'), + 'pageflow-scrolled/entryState': path.resolve(__dirname, '../src/entryState'), 'pageflow-scrolled/frontend': path.resolve(__dirname, '../src/frontend'), 'pageflow-scrolled/review': path.resolve(__dirname, '../src/review'), 'pageflow-scrolled/testHelpers': path.resolve(__dirname, '../src/testHelpers') diff --git a/entry_types/scrolled/package/src/contentElements/inlineAudio/editor.js b/entry_types/scrolled/package/src/contentElements/inlineAudio/editor.js index 191a5481d6..a421b69763 100644 --- a/entry_types/scrolled/package/src/contentElements/inlineAudio/editor.js +++ b/entry_types/scrolled/package/src/contentElements/inlineAudio/editor.js @@ -3,6 +3,7 @@ import {FileInputView, CheckBoxInputView} from 'pageflow/editor'; import {SelectInputView, SeparatorView, ColorInputView} from 'pageflow/ui'; import I18n from 'i18n-js'; +// eslint-disable-next-line no-restricted-imports import { defaultRemainingWaveformColor, defaultRemainingWaveformColorInverted, diff --git a/entry_types/scrolled/package/src/editor/controllers/PreviewMessageController.js b/entry_types/scrolled/package/src/editor/controllers/PreviewMessageController.js index bf8266c0da..22d2fa01d0 100644 --- a/entry_types/scrolled/package/src/editor/controllers/PreviewMessageController.js +++ b/entry_types/scrolled/package/src/editor/controllers/PreviewMessageController.js @@ -1,6 +1,6 @@ import {Object} from 'pageflow/ui'; import {ReviewMessageHandler} from 'pageflow-scrolled/review'; -import {watchCollections} from '../../entryState'; +import {watchCollections} from 'pageflow-scrolled/entryState'; import {InsertContentElementDialogView} from '../views/InsertContentElementDialogView' import {SelectLinkDestinationDialogView} from '../views/SelectLinkDestinationDialogView' diff --git a/entry_types/scrolled/package/src/editor/views/EditSectionTransitionView.js b/entry_types/scrolled/package/src/editor/views/EditSectionTransitionView.js index be9dc8b2ea..f03203bfa6 100644 --- a/entry_types/scrolled/package/src/editor/views/EditSectionTransitionView.js +++ b/entry_types/scrolled/package/src/editor/views/EditSectionTransitionView.js @@ -1,7 +1,7 @@ import {EditConfigurationView} from 'pageflow/editor'; import {EditSectionTransitionEffectView} from './EditSectionTransitionEffectView'; import {getAvailableTransitionNames} from 'pageflow-scrolled/frontend'; -import {normalizeSectionConfigurationData} from '../../entryState'; +import {normalizeSectionConfigurationData} from 'pageflow-scrolled/entryState'; export const EditSectionTransitionView = EditConfigurationView.extend({ translationKeyPrefix: 'pageflow_scrolled.editor.edit_section_transition', diff --git a/entry_types/scrolled/package/src/editor/views/SectionThumbnailView.js b/entry_types/scrolled/package/src/editor/views/SectionThumbnailView.js index 826fb12135..ce4c265d68 100644 --- a/entry_types/scrolled/package/src/editor/views/SectionThumbnailView.js +++ b/entry_types/scrolled/package/src/editor/views/SectionThumbnailView.js @@ -3,7 +3,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import {cssModulesUtils} from 'pageflow/ui'; -import {watchCollections} from '../../entryState'; +import {watchCollections} from 'pageflow-scrolled/entryState'; import {StandaloneSectionThumbnail} from 'pageflow-scrolled/frontend' import styles from './SectionThumbnailView.module.css'; diff --git a/entry_types/scrolled/package/src/editor/views/inputs/TypographyVariantSelectInputView.js b/entry_types/scrolled/package/src/editor/views/inputs/TypographyVariantSelectInputView.js index 49d149c8dc..5b98532ee4 100644 --- a/entry_types/scrolled/package/src/editor/views/inputs/TypographyVariantSelectInputView.js +++ b/entry_types/scrolled/package/src/editor/views/inputs/TypographyVariantSelectInputView.js @@ -5,7 +5,7 @@ import Backbone from 'backbone'; import styles from './TypographyVariantSelectInputView.module.css'; import {ListboxInputView} from './ListboxInputView'; -import {watchCollections} from '../../../entryState'; +import {watchCollections} from 'pageflow-scrolled/entryState'; import {StandaloneSectionThumbnail} from 'pageflow-scrolled/frontend' export const TypographyVariantSelectInputView = ListboxInputView.extend({ diff --git a/entry_types/scrolled/package/src/entryState/index.js b/entry_types/scrolled/package/src/entryState/index.js index cb7892f41a..bcdfc57d24 100644 --- a/entry_types/scrolled/package/src/entryState/index.js +++ b/entry_types/scrolled/package/src/entryState/index.js @@ -17,7 +17,8 @@ export { useChapters, useChapter, useSectionForegroundContentElements, - useContentElement + useContentElement, + useMainStoryline } from './structure'; export {useFile} from './useFile'; export {useFileWithInlineRights} from './useFileWithInlineRights'; diff --git a/entry_types/scrolled/package/src/frontend/AudioPlayer/AudioStructuredData.js b/entry_types/scrolled/package/src/frontend/AudioPlayer/AudioStructuredData.js index 9dd66c066b..6ff0442aad 100644 --- a/entry_types/scrolled/package/src/frontend/AudioPlayer/AudioStructuredData.js +++ b/entry_types/scrolled/package/src/frontend/AudioPlayer/AudioStructuredData.js @@ -2,7 +2,7 @@ import React from 'react'; import {ensureProtocol} from '../utils/urls'; import {formatTimeDuration} from '../utils/iso8601'; -import {useEntryMetadata} from '../../entryState'; +import {useEntryMetadata} from 'pageflow-scrolled/entryState'; import {StructuredData} from '../StructuredData'; diff --git a/entry_types/scrolled/package/src/frontend/Content.js b/entry_types/scrolled/package/src/frontend/Content.js index f3e47c6da1..d51eb17048 100644 --- a/entry_types/scrolled/package/src/frontend/Content.js +++ b/entry_types/scrolled/package/src/frontend/Content.js @@ -4,7 +4,7 @@ import Chapter from "./Chapter"; import {VhFix} from './VhFix'; import {useActiveExcursion} from './useActiveExcursion'; import {useCurrentSectionIndexState} from './useCurrentChapter'; -import {useEntryStructure} from '../entryState'; +import {useEntryStructure} from 'pageflow-scrolled/entryState'; import {extensible} from './extensions'; import {usePostMessageListener} from './usePostMessageListener'; import {useSectionChangeEvents} from './useSectionChangeEvents'; diff --git a/entry_types/scrolled/package/src/frontend/Figure.js b/entry_types/scrolled/package/src/frontend/Figure.js index c91d63aa6f..6363ef0de1 100644 --- a/entry_types/scrolled/package/src/frontend/Figure.js +++ b/entry_types/scrolled/package/src/frontend/Figure.js @@ -6,7 +6,7 @@ import {EditableText} from './EditableText'; import {useDarkBackground} from './backgroundColor'; import {useContentElementEditorState} from './useContentElementEditorState'; import {useI18n} from './i18n'; -import {useTheme} from '../entryState'; +import {useTheme} from 'pageflow-scrolled/entryState'; import {isBlankEditableTextValue} from './utils/blank'; import styles from './Figure.module.css'; diff --git a/entry_types/scrolled/package/src/frontend/ImageStructuredData.js b/entry_types/scrolled/package/src/frontend/ImageStructuredData.js index 0489e827ef..c43a6c0ac2 100644 --- a/entry_types/scrolled/package/src/frontend/ImageStructuredData.js +++ b/entry_types/scrolled/package/src/frontend/ImageStructuredData.js @@ -1,7 +1,7 @@ import React from 'react'; import {ensureProtocol} from './utils/urls'; -import {useEntryMetadata} from '../entryState'; +import {useEntryMetadata} from 'pageflow-scrolled/entryState'; import {StructuredData} from './StructuredData'; diff --git a/entry_types/scrolled/package/src/frontend/Link.js b/entry_types/scrolled/package/src/frontend/Link.js index ca1c14b9db..a0f793ce7d 100644 --- a/entry_types/scrolled/package/src/frontend/Link.js +++ b/entry_types/scrolled/package/src/frontend/Link.js @@ -1,6 +1,6 @@ import React from 'react'; -import {useChapter, useDownloadableFile, useEmbedOriginUrl} from '../entryState'; +import {useChapter, useDownloadableFile, useEmbedOriginUrl} from 'pageflow-scrolled/entryState'; export function Link({attributes, children, href, openInNewTab}) { const embedOriginUrl = useEmbedOriginUrl(); diff --git a/entry_types/scrolled/package/src/frontend/PlayerControls/WaveformPlayerControls/index.js b/entry_types/scrolled/package/src/frontend/PlayerControls/WaveformPlayerControls/index.js index 6ca00fbe29..228217b775 100644 --- a/entry_types/scrolled/package/src/frontend/PlayerControls/WaveformPlayerControls/index.js +++ b/entry_types/scrolled/package/src/frontend/PlayerControls/WaveformPlayerControls/index.js @@ -2,7 +2,7 @@ import React from 'react'; import classNames from 'classnames'; import {useDarkBackground} from '../../backgroundColor'; -import {useTheme} from '../../../entryState'; +import {useTheme} from 'pageflow-scrolled/entryState'; import {Waveform} from './Waveform'; import {TimeDisplay} from '../TimeDisplay'; import {TextTracksMenu} from '../TextTracksMenu'; diff --git a/entry_types/scrolled/package/src/frontend/RootProviders.js b/entry_types/scrolled/package/src/frontend/RootProviders.js index 330e05c70c..f8ffd5e97a 100644 --- a/entry_types/scrolled/package/src/frontend/RootProviders.js +++ b/entry_types/scrolled/package/src/frontend/RootProviders.js @@ -3,7 +3,7 @@ import React from 'react'; import {consent as consentApi} from 'pageflow/frontend'; import {BrowserFeaturesProvider} from './useBrowserFeature'; -import {EntryStateProvider} from '../entryState'; +import {EntryStateProvider} from 'pageflow-scrolled/entryState'; import {FocusOutlineProvider} from './focusOutline'; import {LocaleProvider} from './i18n'; import {PhonePlatformProvider} from './PhonePlatformProvider'; diff --git a/entry_types/scrolled/package/src/frontend/Section.js b/entry_types/scrolled/package/src/frontend/Section.js index 75db6c2aa3..0c83979758 100644 --- a/entry_types/scrolled/package/src/frontend/Section.js +++ b/entry_types/scrolled/package/src/frontend/Section.js @@ -6,7 +6,7 @@ import { SectionAtmo } from './SectionAtmo'; import { useSectionForegroundContentElements, useFileWithInlineRights -} from '../entryState'; +} from 'pageflow-scrolled/entryState'; import {Foreground} from './Foreground'; import {BackdropFrameEffect} from './BackdropFrameEffect'; diff --git a/entry_types/scrolled/package/src/frontend/SectionThumbnail.js b/entry_types/scrolled/package/src/frontend/SectionThumbnail.js index d5af7f4800..0322eea646 100644 --- a/entry_types/scrolled/package/src/frontend/SectionThumbnail.js +++ b/entry_types/scrolled/package/src/frontend/SectionThumbnail.js @@ -3,7 +3,7 @@ import classNames from 'classnames'; import Measure from 'react-measure'; import {RootProviders} from './RootProviders'; -import {useEntryStateDispatch, useSection} from '../entryState'; +import {useEntryStateDispatch, useSection} from 'pageflow-scrolled/entryState'; import {Section} from './Section'; import {FullscreenDimensionProvider} from './Fullscreen'; import {StaticPreview} from './useScrollPositionLifecycle'; diff --git a/entry_types/scrolled/package/src/frontend/ThemeIcon.js b/entry_types/scrolled/package/src/frontend/ThemeIcon.js index 5605d1a87b..a96705f5e8 100644 --- a/entry_types/scrolled/package/src/frontend/ThemeIcon.js +++ b/entry_types/scrolled/package/src/frontend/ThemeIcon.js @@ -31,7 +31,7 @@ import exitFullscreen from './icons/exitFullscreen.svg'; import play from './icons/play.svg'; import pause from './icons/pause.svg'; -import {useTheme} from '../entryState'; +import {useTheme} from 'pageflow-scrolled/entryState'; const icons = { expand: arrowRight, diff --git a/entry_types/scrolled/package/src/frontend/VideoPlayer/VideoStructuredData.js b/entry_types/scrolled/package/src/frontend/VideoPlayer/VideoStructuredData.js index a29d54505f..e7e6e988ed 100644 --- a/entry_types/scrolled/package/src/frontend/VideoPlayer/VideoStructuredData.js +++ b/entry_types/scrolled/package/src/frontend/VideoPlayer/VideoStructuredData.js @@ -2,7 +2,7 @@ import React from 'react'; import {ensureProtocol} from '../utils/urls'; import {formatTimeDuration} from '../utils/iso8601'; -import {useEntryMetadata} from '../../entryState'; +import {useEntryMetadata} from 'pageflow-scrolled/entryState'; import {StructuredData} from '../StructuredData'; diff --git a/entry_types/scrolled/package/src/frontend/VideoPlayerControls.js b/entry_types/scrolled/package/src/frontend/VideoPlayerControls.js index 4fa96c9759..e619c94ddf 100644 --- a/entry_types/scrolled/package/src/frontend/VideoPlayerControls.js +++ b/entry_types/scrolled/package/src/frontend/VideoPlayerControls.js @@ -2,7 +2,7 @@ import React from 'react'; import {MediaPlayerControls} from './MediaPlayerControls'; import {useVideoQualitySetting} from './useVideoQualitySetting'; -import {useAvailableQualities} from '../entryState'; +import {useAvailableQualities} from 'pageflow-scrolled/entryState'; import {useI18n} from './i18n'; export function VideoPlayerControls({videoFile, ...props}) { diff --git a/entry_types/scrolled/package/src/frontend/Widget.js b/entry_types/scrolled/package/src/frontend/Widget.js index 6a08154e68..2ae49e8ae9 100644 --- a/entry_types/scrolled/package/src/frontend/Widget.js +++ b/entry_types/scrolled/package/src/frontend/Widget.js @@ -1,7 +1,7 @@ import React from 'react'; import {api} from './api'; -import {useWidget} from '../entryState'; +import {useWidget} from 'pageflow-scrolled/entryState'; import {extensible} from './extensions'; export const Widget = extensible('Widget', function Widget({role, props, children, renderFallback}) { diff --git a/entry_types/scrolled/package/src/frontend/WidgetPresenceWrapper.js b/entry_types/scrolled/package/src/frontend/WidgetPresenceWrapper.js index e7161b0091..1861d024ce 100644 --- a/entry_types/scrolled/package/src/frontend/WidgetPresenceWrapper.js +++ b/entry_types/scrolled/package/src/frontend/WidgetPresenceWrapper.js @@ -1,5 +1,5 @@ import React from 'react'; -import {useActiveWidgets} from '../entryState'; +import {useActiveWidgets} from 'pageflow-scrolled/entryState'; import {api} from './api'; export function WidgetPresenceWrapper({children}) { diff --git a/entry_types/scrolled/package/src/frontend/commenting/EntryDecorator.js b/entry_types/scrolled/package/src/frontend/commenting/EntryDecorator.js index 7ac530b431..132aa8dc85 100644 --- a/entry_types/scrolled/package/src/frontend/commenting/EntryDecorator.js +++ b/entry_types/scrolled/package/src/frontend/commenting/EntryDecorator.js @@ -1,6 +1,6 @@ import React, {useEffect} from 'react'; -import {useEntryMetadata} from '../../entryState'; +import {useEntryMetadata} from 'pageflow-scrolled/entryState'; import {createReviewSession} from 'pageflow/review'; import {ReviewStateProvider, ReviewMessageHandler} from 'pageflow-scrolled/review'; import {AddCommentModeProvider} from './AddCommentModeProvider'; diff --git a/entry_types/scrolled/package/src/frontend/dash.js b/entry_types/scrolled/package/src/frontend/dash.js index f9deec70bd..cfce063916 100644 --- a/entry_types/scrolled/package/src/frontend/dash.js +++ b/entry_types/scrolled/package/src/frontend/dash.js @@ -1,5 +1,5 @@ import {browser} from 'pageflow/frontend'; -import {getFileUrlTemplateHost} from '../entryState'; +import {getFileUrlTemplateHost} from 'pageflow-scrolled/entryState'; export async function loadDashUnlessHlsSupported(seed) { if (!hasHlsSupport({seed, agent: browser.agent})) { diff --git a/entry_types/scrolled/package/src/frontend/i18n.js b/entry_types/scrolled/package/src/frontend/i18n.js index 9a45292e71..464140635d 100644 --- a/entry_types/scrolled/package/src/frontend/i18n.js +++ b/entry_types/scrolled/package/src/frontend/i18n.js @@ -1,6 +1,6 @@ import React, {useContext, createContext} from 'react'; import I18n from 'i18n-js'; -import {useEntryMetadata} from '../entryState'; +import {useEntryMetadata} from 'pageflow-scrolled/entryState'; const LocaleContext = createContext('en'); diff --git a/entry_types/scrolled/package/src/frontend/index.js b/entry_types/scrolled/package/src/frontend/index.js index 889b80489a..51e935588e 100644 --- a/entry_types/scrolled/package/src/frontend/index.js +++ b/entry_types/scrolled/package/src/frontend/index.js @@ -81,7 +81,7 @@ export { useTheme, useShareProviders, useShareUrl -} from '../entryState'; +} from 'pageflow-scrolled/entryState'; export {ContentElementAttributesProvider} from './useContentElementAttributes'; export {useContentElementConfigurationUpdate} from './useContentElementConfigurationUpdate'; diff --git a/entry_types/scrolled/package/src/frontend/inlineEditing/ContentElementConfigurationUpdateProvider.js b/entry_types/scrolled/package/src/frontend/inlineEditing/ContentElementConfigurationUpdateProvider.js index 4ea68c5b5e..05c53676e3 100644 --- a/entry_types/scrolled/package/src/frontend/inlineEditing/ContentElementConfigurationUpdateProvider.js +++ b/entry_types/scrolled/package/src/frontend/inlineEditing/ContentElementConfigurationUpdateProvider.js @@ -1,7 +1,7 @@ import React, {useCallback} from 'react'; import {ContentElementConfigurationUpdateContext} from '../useContentElementConfigurationUpdate'; -import {updateContentElementConfiguration, useEntryStateDispatch} from '../../entryState'; +import {updateContentElementConfiguration, useEntryStateDispatch} from 'pageflow-scrolled/entryState'; import {postUpdateContentElementMessage} from './postMessage'; export function ContentElementConfigurationUpdateProvider({id, permaId, children}) { diff --git a/entry_types/scrolled/package/src/frontend/inlineEditing/EntryDecorator.js b/entry_types/scrolled/package/src/frontend/inlineEditing/EntryDecorator.js index 2a842f3aaa..cf6d7d6d3d 100644 --- a/entry_types/scrolled/package/src/frontend/inlineEditing/EntryDecorator.js +++ b/entry_types/scrolled/package/src/frontend/inlineEditing/EntryDecorator.js @@ -1,7 +1,7 @@ import React, {useEffect, useCallback} from 'react'; import {ReviewStateProvider} from 'pageflow-scrolled/review'; -import {useEntryStateDispatch} from '../../entryState'; +import {useEntryStateDispatch} from 'pageflow-scrolled/entryState'; import {usePostMessageListener} from '../usePostMessageListener'; import {EditorStateProvider, useEditorSelection} from './EditorState'; import { diff --git a/entry_types/scrolled/package/src/frontend/inlineEditing/LinkTooltip.js b/entry_types/scrolled/package/src/frontend/inlineEditing/LinkTooltip.js index 88d36742a3..291f955bad 100644 --- a/entry_types/scrolled/package/src/frontend/inlineEditing/LinkTooltip.js +++ b/entry_types/scrolled/package/src/frontend/inlineEditing/LinkTooltip.js @@ -12,8 +12,7 @@ import { } from '@floating-ui/react'; import {useI18n} from '../i18n'; -import {useChapter, useDownloadableFile} from '../../entryState'; -import {useMainStoryline} from '../../entryState/structure'; +import {useChapter, useDownloadableFile, useMainStoryline} from 'pageflow-scrolled/entryState'; import {SectionThumbnail} from '../SectionThumbnail'; import {useFloatingPortalRoot} from '../FloatingPortalRootProvider'; import {useStorylineActivity} from '../storylineActivity'; diff --git a/entry_types/scrolled/package/src/frontend/inlineEditing/MarginIndicator.js b/entry_types/scrolled/package/src/frontend/inlineEditing/MarginIndicator.js index 3a1fa80228..84ac927db8 100644 --- a/entry_types/scrolled/package/src/frontend/inlineEditing/MarginIndicator.js +++ b/entry_types/scrolled/package/src/frontend/inlineEditing/MarginIndicator.js @@ -1,6 +1,6 @@ import React from 'react'; -import {useTheme} from '../../entryState'; +import {useTheme} from 'pageflow-scrolled/entryState'; import {Scale} from '../../shared/Scale'; import {useContentElementEditorState} from '../useContentElementEditorState'; import {useI18n} from '../i18n'; diff --git a/entry_types/scrolled/package/src/frontend/inlineEditing/PaddingIndicator.js b/entry_types/scrolled/package/src/frontend/inlineEditing/PaddingIndicator.js index 3b40ceabde..c86a97d036 100644 --- a/entry_types/scrolled/package/src/frontend/inlineEditing/PaddingIndicator.js +++ b/entry_types/scrolled/package/src/frontend/inlineEditing/PaddingIndicator.js @@ -1,7 +1,7 @@ import React from 'react'; import classNames from 'classnames'; -import {useTheme} from '../../entryState'; +import {useTheme} from 'pageflow-scrolled/entryState'; import {Scale} from '../../shared/Scale'; import {getAppearanceSectionScopeName} from '../appearance'; import {useEditorSelection} from './EditorState'; diff --git a/entry_types/scrolled/package/src/frontend/inlineEditing/WidgetConfigurationUpdateProvider.js b/entry_types/scrolled/package/src/frontend/inlineEditing/WidgetConfigurationUpdateProvider.js index 359fe4937c..bc7916bbc0 100644 --- a/entry_types/scrolled/package/src/frontend/inlineEditing/WidgetConfigurationUpdateProvider.js +++ b/entry_types/scrolled/package/src/frontend/inlineEditing/WidgetConfigurationUpdateProvider.js @@ -1,7 +1,7 @@ import React, {useCallback} from 'react'; import {WidgetConfigurationUpdateContext} from '../useWidgetConfigurationUpdate'; -import {updateWidgetConfiguration, useEntryStateDispatch} from '../../entryState'; +import {updateWidgetConfiguration, useEntryStateDispatch} from 'pageflow-scrolled/entryState'; import {postUpdateWidgetMessage} from './postMessage'; export function WidgetConfigurationUpdateProvider({role, children}) { diff --git a/entry_types/scrolled/package/src/frontend/layouts/TwoColumn.js b/entry_types/scrolled/package/src/frontend/layouts/TwoColumn.js index 4d078b4bee..0e7080350c 100644 --- a/entry_types/scrolled/package/src/frontend/layouts/TwoColumn.js +++ b/entry_types/scrolled/package/src/frontend/layouts/TwoColumn.js @@ -4,7 +4,7 @@ import classNames from 'classnames'; import {api} from '../api'; import {ContentElements} from '../ContentElements'; import useMediaQuery from '../useMediaQuery'; -import {useTheme} from '../../entryState'; +import {useTheme} from 'pageflow-scrolled/entryState'; import {widths, widthName} from './widths'; import styles from './TwoColumn.module.css'; diff --git a/entry_types/scrolled/package/src/frontend/thirdPartyConsent/OptIn.js b/entry_types/scrolled/package/src/frontend/thirdPartyConsent/OptIn.js index 6cf816b508..c18fbf742a 100644 --- a/entry_types/scrolled/package/src/frontend/thirdPartyConsent/OptIn.js +++ b/entry_types/scrolled/package/src/frontend/thirdPartyConsent/OptIn.js @@ -2,7 +2,7 @@ import React, {useState} from 'react'; import {useConsentGiven} from './hooks'; import {useI18n} from '../i18n'; import {useContentElementAttributes} from '../useContentElementAttributes'; -import {useContentElementConsentVendor} from '../../entryState'; +import {useContentElementConsentVendor} from 'pageflow-scrolled/entryState'; import {usePrivacyLink} from '../usePrivacyLink'; import styles from './OptIn.module.css'; diff --git a/entry_types/scrolled/package/src/frontend/thirdPartyConsent/OptOutInfo.js b/entry_types/scrolled/package/src/frontend/thirdPartyConsent/OptOutInfo.js index 2ac37e75ff..a37c88e108 100644 --- a/entry_types/scrolled/package/src/frontend/thirdPartyConsent/OptOutInfo.js +++ b/entry_types/scrolled/package/src/frontend/thirdPartyConsent/OptOutInfo.js @@ -2,7 +2,7 @@ import React from 'react'; import classNames from 'classnames'; import {useConsentGiven} from './hooks'; -import {useTheme, useContentElementConsentVendor} from '../../entryState'; +import {useTheme, useContentElementConsentVendor} from 'pageflow-scrolled/entryState'; import {useI18n} from '../i18n'; import {useContentElementAttributes} from '../useContentElementAttributes'; import {widths} from '../layouts'; diff --git a/entry_types/scrolled/package/src/frontend/useBackdrop.js b/entry_types/scrolled/package/src/frontend/useBackdrop.js index 879e381c25..b51cd6c392 100644 --- a/entry_types/scrolled/package/src/frontend/useBackdrop.js +++ b/entry_types/scrolled/package/src/frontend/useBackdrop.js @@ -1,4 +1,4 @@ -import {useContentElement, useFileWithInlineRights} from '../entryState'; +import {useContentElement, useFileWithInlineRights} from 'pageflow-scrolled/entryState'; import {usePortraitOrientation} from './usePortraitOrientation'; export function useBackdrop(section) { diff --git a/entry_types/scrolled/package/src/frontend/useCurrentChapter.js b/entry_types/scrolled/package/src/frontend/useCurrentChapter.js index 9371b8dccd..6310b3f785 100644 --- a/entry_types/scrolled/package/src/frontend/useCurrentChapter.js +++ b/entry_types/scrolled/package/src/frontend/useCurrentChapter.js @@ -1,6 +1,6 @@ import React, {useState, useContext, useMemo} from 'react'; -import {useSectionsWithChapter} from '../entryState'; +import {useSectionsWithChapter} from 'pageflow-scrolled/entryState'; const CurrentChapterContext = React.createContext(); const CurrentSectionIndexStateContext = React.createContext(); diff --git a/entry_types/scrolled/package/src/frontend/usePrivacyLink.js b/entry_types/scrolled/package/src/frontend/usePrivacyLink.js index f5fde52075..0489c07101 100644 --- a/entry_types/scrolled/package/src/frontend/usePrivacyLink.js +++ b/entry_types/scrolled/package/src/frontend/usePrivacyLink.js @@ -1,4 +1,4 @@ -import {useLegalInfo} from '../entryState'; +import {useLegalInfo} from 'pageflow-scrolled/entryState'; // eslint-disable-next-line no-script-url const displayPrivacySettingsUrl = 'javascript:pageflowDisplayPrivacySettings()'; diff --git a/entry_types/scrolled/package/src/frontend/useTextTracks.js b/entry_types/scrolled/package/src/frontend/useTextTracks.js index 6c1642716b..c15ed47878 100644 --- a/entry_types/scrolled/package/src/frontend/useTextTracks.js +++ b/entry_types/scrolled/package/src/frontend/useTextTracks.js @@ -1,4 +1,4 @@ -import {useEntryMetadata, useNestedFiles} from '../entryState'; +import {useEntryMetadata, useNestedFiles} from 'pageflow-scrolled/entryState'; import {useSetting} from './useSetting'; import {useI18n} from './i18n'; diff --git a/rollup.config.js b/rollup.config.js index 49cfbcf635..2172c056fd 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -275,6 +275,15 @@ const pageflowScrolled = [ ...plugins({extractCss: true}) ] }, + { + input: pageflowScrolledPackageRoot + '/src/entryState/index.js', + output: { + file: pageflowScrolledPackageRoot + '/entryState.js', + format: 'esm', + }, + external, + plugins: plugins() + }, { input: pageflowScrolledPackageRoot + '/src/frontend/index.js', output: {