diff --git a/packages/react-dom-bindings/src/client/CSSPropertyOperations.js b/packages/react-dom-bindings/src/client/CSSPropertyOperations.js index b8db87b75adcb..d63b71ed7d577 100644 --- a/packages/react-dom-bindings/src/client/CSSPropertyOperations.js +++ b/packages/react-dom-bindings/src/client/CSSPropertyOperations.js @@ -7,7 +7,7 @@ import {shorthandToLonghand} from './CSSShorthandProperty'; -import dangerousStyleValue from '../shared/dangerousStyleValue'; +import dangerousStyleValue from './dangerousStyleValue'; import hyphenateStyleName from '../shared/hyphenateStyleName'; import warnValidStyle from '../shared/warnValidStyle'; diff --git a/packages/react-dom-bindings/src/shared/DOMNamespaces.js b/packages/react-dom-bindings/src/client/DOMNamespaces.js similarity index 100% rename from packages/react-dom-bindings/src/shared/DOMNamespaces.js rename to packages/react-dom-bindings/src/client/DOMNamespaces.js diff --git a/packages/react-dom-bindings/src/shared/HTMLNodeType.js b/packages/react-dom-bindings/src/client/HTMLNodeType.js similarity index 100% rename from packages/react-dom-bindings/src/shared/HTMLNodeType.js rename to packages/react-dom-bindings/src/client/HTMLNodeType.js diff --git a/packages/react-dom-bindings/src/client/ReactDOMComponent.js b/packages/react-dom-bindings/src/client/ReactDOMComponent.js index 0caaac1221d35..8cb2e95accb9f 100644 --- a/packages/react-dom-bindings/src/client/ReactDOMComponent.js +++ b/packages/react-dom-bindings/src/client/ReactDOMComponent.js @@ -55,14 +55,14 @@ import { setValueForStyles, validateShorthandPropertyCollisionInDev, } from './CSSPropertyOperations'; -import {HTML_NAMESPACE, getIntrinsicNamespace} from '../shared/DOMNamespaces'; +import {HTML_NAMESPACE, getIntrinsicNamespace} from './DOMNamespaces'; import { getPropertyInfo, shouldIgnoreAttribute, shouldRemoveAttribute, } from '../shared/DOMProperty'; -import assertValidProps from '../shared/assertValidProps'; -import {DOCUMENT_NODE} from '../shared/HTMLNodeType'; +import assertValidProps from './assertValidProps'; +import {DOCUMENT_NODE} from './HTMLNodeType'; import isCustomComponent from '../shared/isCustomComponent'; import possibleStandardNames from '../shared/possibleStandardNames'; import {validateProperties as validateARIAProperties} from '../shared/ReactDOMInvalidARIAHook'; diff --git a/packages/react-dom-bindings/src/client/ReactDOMComponentTree.js b/packages/react-dom-bindings/src/client/ReactDOMComponentTree.js index c97634d9e5bca..adaf3095ed60b 100644 --- a/packages/react-dom-bindings/src/client/ReactDOMComponentTree.js +++ b/packages/react-dom-bindings/src/client/ReactDOMComponentTree.js @@ -13,7 +13,7 @@ import type {ReactScopeInstance} from 'shared/ReactTypes'; import type { ReactDOMEventHandle, ReactDOMEventHandleListener, -} from '../shared/ReactDOMTypes'; +} from './ReactDOMEventHandleTypes'; import type { Container, TextInstance, diff --git a/packages/react-dom-bindings/src/client/ReactDOMEventHandle.js b/packages/react-dom-bindings/src/client/ReactDOMEventHandle.js index 79db99902d239..26d821a6d9866 100644 --- a/packages/react-dom-bindings/src/client/ReactDOMEventHandle.js +++ b/packages/react-dom-bindings/src/client/ReactDOMEventHandle.js @@ -12,7 +12,7 @@ import type {ReactScopeInstance} from 'shared/ReactTypes'; import type { ReactDOMEventHandle, ReactDOMEventHandleListener, -} from '../shared/ReactDOMTypes'; +} from './ReactDOMEventHandleTypes'; import {allNativeEvents} from '../events/EventRegistry'; import { @@ -21,7 +21,7 @@ import { doesTargetHaveEventHandle, addEventHandleToTarget, } from './ReactDOMComponentTree'; -import {ELEMENT_NODE} from '../shared/HTMLNodeType'; +import {ELEMENT_NODE} from './HTMLNodeType'; import {listenToNativeEventForNonManagedEventTarget} from '../events/DOMPluginEventSystem'; import { diff --git a/packages/react-dom-bindings/src/shared/ReactDOMTypes.js b/packages/react-dom-bindings/src/client/ReactDOMEventHandleTypes.js similarity index 100% rename from packages/react-dom-bindings/src/shared/ReactDOMTypes.js rename to packages/react-dom-bindings/src/client/ReactDOMEventHandleTypes.js diff --git a/packages/react-dom-bindings/src/client/ReactDOMFloatClient.js b/packages/react-dom-bindings/src/client/ReactDOMFloatClient.js index cbf0bb2126950..e9c47c61a5f25 100644 --- a/packages/react-dom-bindings/src/client/ReactDOMFloatClient.js +++ b/packages/react-dom-bindings/src/client/ReactDOMFloatClient.js @@ -16,8 +16,8 @@ import ReactDOMSharedInternals from 'shared/ReactDOMSharedInternals.js'; const {Dispatcher} = ReactDOMSharedInternals; import {checkAttributeStringCoercion} from 'shared/CheckStringCoercion'; -import {DOCUMENT_NODE} from '../shared/HTMLNodeType'; -import {SVG_NAMESPACE} from '../shared/DOMNamespaces'; +import {DOCUMENT_NODE} from './HTMLNodeType'; +import {SVG_NAMESPACE} from './DOMNamespaces'; import { validatePreloadArguments, validatePreinitArguments, diff --git a/packages/react-dom-bindings/src/client/ReactDOMHostConfig.js b/packages/react-dom-bindings/src/client/ReactDOMHostConfig.js index 64487d63876b2..b63c8054788e9 100644 --- a/packages/react-dom-bindings/src/client/ReactDOMHostConfig.js +++ b/packages/react-dom-bindings/src/client/ReactDOMHostConfig.js @@ -61,7 +61,7 @@ import { getChildNamespace, SVG_NAMESPACE, MATH_NAMESPACE, -} from '../shared/DOMNamespaces'; +} from './DOMNamespaces'; import { ELEMENT_NODE, TEXT_NODE, @@ -69,8 +69,8 @@ import { DOCUMENT_NODE, DOCUMENT_TYPE_NODE, DOCUMENT_FRAGMENT_NODE, -} from '../shared/HTMLNodeType'; -import dangerousStyleValue from '../shared/dangerousStyleValue'; +} from './HTMLNodeType'; +import dangerousStyleValue from './dangerousStyleValue'; import {retryIfBlockedOn} from '../events/ReactDOMEventReplaying'; diff --git a/packages/react-dom-bindings/src/client/ReactDOMSelection.js b/packages/react-dom-bindings/src/client/ReactDOMSelection.js index 214f50f1280c7..d8b08834ba5ad 100644 --- a/packages/react-dom-bindings/src/client/ReactDOMSelection.js +++ b/packages/react-dom-bindings/src/client/ReactDOMSelection.js @@ -6,7 +6,7 @@ */ import getNodeForCharacterOffset from './getNodeForCharacterOffset'; -import {TEXT_NODE} from '../shared/HTMLNodeType'; +import {TEXT_NODE} from './HTMLNodeType'; /** * @param {DOMElement} outerNode diff --git a/packages/react-dom-bindings/src/client/ReactInputSelection.js b/packages/react-dom-bindings/src/client/ReactInputSelection.js index f474033c410d1..1a3d63b367f6f 100644 --- a/packages/react-dom-bindings/src/client/ReactInputSelection.js +++ b/packages/react-dom-bindings/src/client/ReactInputSelection.js @@ -8,7 +8,7 @@ import getActiveElement from './getActiveElement'; import {getOffsets, setOffsets} from './ReactDOMSelection'; -import {ELEMENT_NODE, TEXT_NODE} from '../shared/HTMLNodeType'; +import {ELEMENT_NODE, TEXT_NODE} from './HTMLNodeType'; function isTextNode(node) { return node && node.nodeType === TEXT_NODE; diff --git a/packages/react-dom-bindings/src/shared/assertValidProps.js b/packages/react-dom-bindings/src/client/assertValidProps.js similarity index 100% rename from packages/react-dom-bindings/src/shared/assertValidProps.js rename to packages/react-dom-bindings/src/client/assertValidProps.js diff --git a/packages/react-dom-bindings/src/shared/dangerousStyleValue.js b/packages/react-dom-bindings/src/client/dangerousStyleValue.js similarity index 96% rename from packages/react-dom-bindings/src/shared/dangerousStyleValue.js rename to packages/react-dom-bindings/src/client/dangerousStyleValue.js index e4a9ff2e5d7be..bef3e41b062e0 100644 --- a/packages/react-dom-bindings/src/shared/dangerousStyleValue.js +++ b/packages/react-dom-bindings/src/client/dangerousStyleValue.js @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import {isUnitlessNumber} from './CSSProperty'; +import {isUnitlessNumber} from '../shared/CSSProperty'; import {checkCSSPropertyStringCoercion} from 'shared/CheckStringCoercion'; /** diff --git a/packages/react-dom-bindings/src/client/getNodeForCharacterOffset.js b/packages/react-dom-bindings/src/client/getNodeForCharacterOffset.js index 360d8ab3c5dcd..9dcdd1407a96d 100644 --- a/packages/react-dom-bindings/src/client/getNodeForCharacterOffset.js +++ b/packages/react-dom-bindings/src/client/getNodeForCharacterOffset.js @@ -7,7 +7,7 @@ * @flow */ -import {TEXT_NODE} from '../shared/HTMLNodeType'; +import {TEXT_NODE} from './HTMLNodeType'; /** * Given any node return the first leaf node without children. diff --git a/packages/react-dom-bindings/src/shared/omittedCloseTags.js b/packages/react-dom-bindings/src/client/omittedCloseTags.js similarity index 100% rename from packages/react-dom-bindings/src/shared/omittedCloseTags.js rename to packages/react-dom-bindings/src/client/omittedCloseTags.js diff --git a/packages/react-dom-bindings/src/client/setInnerHTML.js b/packages/react-dom-bindings/src/client/setInnerHTML.js index e8a1b82f0f8c5..f8a82fde34ef0 100644 --- a/packages/react-dom-bindings/src/client/setInnerHTML.js +++ b/packages/react-dom-bindings/src/client/setInnerHTML.js @@ -7,7 +7,7 @@ * @flow */ -import {SVG_NAMESPACE} from '../shared/DOMNamespaces'; +import {SVG_NAMESPACE} from './DOMNamespaces'; import createMicrosoftUnsafeLocalFunction from './createMicrosoftUnsafeLocalFunction'; import {enableTrustedTypesIntegration} from 'shared/ReactFeatureFlags'; diff --git a/packages/react-dom-bindings/src/client/setTextContent.js b/packages/react-dom-bindings/src/client/setTextContent.js index 203ac25ae141c..e98575adcf967 100644 --- a/packages/react-dom-bindings/src/client/setTextContent.js +++ b/packages/react-dom-bindings/src/client/setTextContent.js @@ -7,7 +7,7 @@ * @flow */ -import {TEXT_NODE} from '../shared/HTMLNodeType'; +import {TEXT_NODE} from './HTMLNodeType'; /** * Set the textContent property of a node. For text updates, it's faster diff --git a/packages/react-dom-bindings/src/shared/voidElementTags.js b/packages/react-dom-bindings/src/client/voidElementTags.js similarity index 100% rename from packages/react-dom-bindings/src/shared/voidElementTags.js rename to packages/react-dom-bindings/src/client/voidElementTags.js diff --git a/packages/react-dom-bindings/src/events/DOMPluginEventSystem.js b/packages/react-dom-bindings/src/events/DOMPluginEventSystem.js index 37a054bc53968..b9a554196b39d 100644 --- a/packages/react-dom-bindings/src/events/DOMPluginEventSystem.js +++ b/packages/react-dom-bindings/src/events/DOMPluginEventSystem.js @@ -43,7 +43,7 @@ import { getEventListenerSet, getEventHandlerListeners, } from '../client/ReactDOMComponentTree'; -import {COMMENT_NODE, DOCUMENT_NODE} from '../shared/HTMLNodeType'; +import {COMMENT_NODE, DOCUMENT_NODE} from '../client/HTMLNodeType'; import {batchedUpdates} from './ReactDOMUpdateBatching'; import getListener from './getListener'; import {passiveBrowserEventsSupported} from './checkPassiveEvents'; diff --git a/packages/react-dom-bindings/src/events/getEventTarget.js b/packages/react-dom-bindings/src/events/getEventTarget.js index b66487cf290a6..2a7b65a26eb3b 100644 --- a/packages/react-dom-bindings/src/events/getEventTarget.js +++ b/packages/react-dom-bindings/src/events/getEventTarget.js @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import {TEXT_NODE} from '../shared/HTMLNodeType'; +import {TEXT_NODE} from '../client/HTMLNodeType'; /** * Gets the target node from a native browser event by accounting for diff --git a/packages/react-dom-bindings/src/events/plugins/SelectEventPlugin.js b/packages/react-dom-bindings/src/events/plugins/SelectEventPlugin.js index 8a568aed3cfef..1a54ba1a0a52f 100644 --- a/packages/react-dom-bindings/src/events/plugins/SelectEventPlugin.js +++ b/packages/react-dom-bindings/src/events/plugins/SelectEventPlugin.js @@ -23,7 +23,7 @@ import {registerTwoPhaseEvent} from '../EventRegistry'; import getActiveElement from '../../client/getActiveElement'; import {getNodeFromInstance} from '../../client/ReactDOMComponentTree'; import {hasSelectionCapabilities} from '../../client/ReactInputSelection'; -import {DOCUMENT_NODE} from '../../shared/HTMLNodeType'; +import {DOCUMENT_NODE} from '../../client/HTMLNodeType'; import {accumulateTwoPhaseListeners} from '../DOMPluginEventSystem'; const skipSelectionChangeEvent = diff --git a/packages/react-dom-bindings/src/server/DOMMarkupOperations.js b/packages/react-dom-bindings/src/server/DOMMarkupOperations.js deleted file mode 100644 index 58254e2cf21b0..0000000000000 --- a/packages/react-dom-bindings/src/server/DOMMarkupOperations.js +++ /dev/null @@ -1,82 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @flow - */ - -import { - BOOLEAN, - OVERLOADED_BOOLEAN, - getPropertyInfo, - isAttributeNameSafe, - shouldIgnoreAttribute, - shouldRemoveAttribute, -} from '../shared/DOMProperty'; -import sanitizeURL from '../shared/sanitizeURL'; -import {checkAttributeStringCoercion} from 'shared/CheckStringCoercion'; -import quoteAttributeValueForBrowser from './quoteAttributeValueForBrowser'; - -/** - * Operations for dealing with DOM properties. - */ - -/** - * Creates markup for a property. - * - * @param {string} name - * @param {*} value - * @return {?string} Markup string, or null if the property was invalid. - */ -export function createMarkupForProperty(name: string, value: mixed): string { - const propertyInfo = getPropertyInfo(name); - if (name !== 'style' && shouldIgnoreAttribute(name, propertyInfo, false)) { - return ''; - } - if (shouldRemoveAttribute(name, value, propertyInfo, false)) { - return ''; - } - if (propertyInfo !== null) { - const attributeName = propertyInfo.attributeName; - const {type} = propertyInfo; - if (type === BOOLEAN || (type === OVERLOADED_BOOLEAN && value === true)) { - return attributeName + '=""'; - } else { - if (propertyInfo.sanitizeURL) { - if (__DEV__) { - checkAttributeStringCoercion(value, attributeName); - } - value = '' + (value: any); - sanitizeURL(value); - } - return attributeName + '=' + quoteAttributeValueForBrowser(value); - } - } else if (isAttributeNameSafe(name)) { - return name + '=' + quoteAttributeValueForBrowser(value); - } - return ''; -} - -/** - * Creates markup for a custom property. - * - * @param {string} name - * @param {*} value - * @return {string} Markup string, or empty string if the property was invalid. - */ -export function createMarkupForCustomAttribute( - name: string, - value: mixed, -): string { - if ( - !isAttributeNameSafe(name) || - value == null || - typeof value === 'function' || - typeof value === 'symbol' - ) { - return ''; - } - return name + '=' + quoteAttributeValueForBrowser(value); -} diff --git a/packages/react-dom-bindings/src/server/quoteAttributeValueForBrowser.js b/packages/react-dom-bindings/src/server/quoteAttributeValueForBrowser.js deleted file mode 100644 index 7798b79c9314f..0000000000000 --- a/packages/react-dom-bindings/src/server/quoteAttributeValueForBrowser.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -import escapeTextForBrowser from './escapeTextForBrowser'; - -/** - * Escapes attribute value to prevent scripting attacks. - * - * @param {*} value Value to escape. - * @return {string} An escaped string. - */ -function quoteAttributeValueForBrowser(value) { - return '"' + escapeTextForBrowser(value) + '"'; -} - -export default quoteAttributeValueForBrowser; diff --git a/packages/react-dom-bindings/src/shared/ReactDOMDispatcher.js b/packages/react-dom-bindings/src/shared/ReactDOMDispatcher.js deleted file mode 100644 index 057cc5a804eb9..0000000000000 --- a/packages/react-dom-bindings/src/shared/ReactDOMDispatcher.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @flow - */ - -type DispatcherType = { - [string]: mixed, -}; - -const Dispatcher: {current: null | DispatcherType} = { - current: null, -}; - -export default Dispatcher; diff --git a/packages/react-dom/src/__tests__/ReactMount-test.js b/packages/react-dom/src/__tests__/ReactMount-test.js index f383bec90f3cb..df92131a7cb17 100644 --- a/packages/react-dom/src/__tests__/ReactMount-test.js +++ b/packages/react-dom/src/__tests__/ReactMount-test.js @@ -9,7 +9,7 @@ 'use strict'; -const {COMMENT_NODE} = require('react-dom-bindings/src/shared/HTMLNodeType'); +const {COMMENT_NODE} = require('react-dom-bindings/src/client/HTMLNodeType'); let React; let ReactDOM; diff --git a/packages/react-dom/src/client/ReactDOMLegacy.js b/packages/react-dom/src/client/ReactDOMLegacy.js index 01fac625b5fad..84c12ff7e34a3 100644 --- a/packages/react-dom/src/client/ReactDOMLegacy.js +++ b/packages/react-dom/src/client/ReactDOMLegacy.js @@ -27,7 +27,7 @@ import { DOCUMENT_NODE, ELEMENT_NODE, COMMENT_NODE, -} from 'react-dom-bindings/src/shared/HTMLNodeType'; +} from 'react-dom-bindings/src/client/HTMLNodeType'; import { createContainer, diff --git a/packages/react-dom/src/client/ReactDOMRoot.js b/packages/react-dom/src/client/ReactDOMRoot.js index 2737a14cce418..eebae0b50b2b3 100644 --- a/packages/react-dom/src/client/ReactDOMRoot.js +++ b/packages/react-dom/src/client/ReactDOMRoot.js @@ -66,7 +66,7 @@ import { COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_FRAGMENT_NODE, -} from 'react-dom-bindings/src/shared/HTMLNodeType'; +} from 'react-dom-bindings/src/client/HTMLNodeType'; import { createContainer, diff --git a/packages/react-dom/src/test-utils/ReactTestUtils.js b/packages/react-dom/src/test-utils/ReactTestUtils.js index c3cc82d831496..2efe739241cc5 100644 --- a/packages/react-dom/src/test-utils/ReactTestUtils.js +++ b/packages/react-dom/src/test-utils/ReactTestUtils.js @@ -20,7 +20,7 @@ import { HostText, } from 'react-reconciler/src/ReactWorkTags'; import {SyntheticEvent} from 'react-dom-bindings/src/events/SyntheticEvent'; -import {ELEMENT_NODE} from 'react-dom-bindings/src/shared/HTMLNodeType'; +import {ELEMENT_NODE} from 'react-dom-bindings/src/client/HTMLNodeType'; import { rethrowCaughtError, invokeGuardedCallbackAndCatchFirstError,