diff --git a/packages/@react-spectrum/s2/src/pressScale.ts b/packages/@react-spectrum/s2/src/pressScale.ts
index d3110fcac18..d333e528f00 100644
--- a/packages/@react-spectrum/s2/src/pressScale.ts
+++ b/packages/@react-spectrum/s2/src/pressScale.ts
@@ -13,6 +13,28 @@
import {composeRenderProps} from 'react-aria-components/composeRenderProps';
import {CSSProperties, RefObject} from 'react';
+/**
+ * Returns a render prop style function that applies a subtle Spectrum "press" scale
+ * effect to an element while it is being pressed.
+ *
+ * @param ref - A ref to the element receiving the press effect.
+ * @param style - An optional base style object, or a render prop function returning
+ * one.
+ * @returns A render prop function suitable for passing to a React Aria component's
+ * `style` prop.
+ *
+ * @example
+ * ```tsx
+ * import {Button} from 'react-aria-components/Button';
+ * import {pressScale} from '@react-spectrum/s2';
+ * import {useRef} from 'react';
+ *
+ * function MyButton(props) {
+ * let ref = useRef(null);
+ * return ;
+ * }
+ * ```
+ */
export function pressScale(ref: RefObject, style?: CSSProperties | ((renderProps: R) => CSSProperties)): (renderProps: R) => CSSProperties {
return composeRenderProps(style, (style, renderProps: R) => {
if (renderProps.isPressed && ref.current) {
diff --git a/packages/@react-types/shared/src/dom.d.ts b/packages/@react-types/shared/src/dom.d.ts
index f231d08c45b..95b25296cdd 100644
--- a/packages/@react-types/shared/src/dom.d.ts
+++ b/packages/@react-types/shared/src/dom.d.ts
@@ -83,54 +83,54 @@ export interface FocusableDOMProps extends DOMProps {
}
-export interface TextInputDOMEvents {
+export interface TextInputDOMEvents {
// Clipboard events
/**
* Handler that is called when the user copies text. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/oncopy).
*/
- onCopy?: ClipboardEventHandler,
+ onCopy?: ClipboardEventHandler,
/**
* Handler that is called when the user cuts text. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/oncut).
*/
- onCut?: ClipboardEventHandler,
+ onCut?: ClipboardEventHandler,
/**
* Handler that is called when the user pastes text. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/onpaste).
*/
- onPaste?: ClipboardEventHandler,
+ onPaste?: ClipboardEventHandler,
// Composition events
/**
* Handler that is called when a text composition system starts a new text composition session. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Element/compositionstart_event).
*/
- onCompositionStart?: CompositionEventHandler,
+ onCompositionStart?: CompositionEventHandler,
/**
* Handler that is called when a text composition system completes or cancels the current text composition session. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Element/compositionend_event).
*/
- onCompositionEnd?: CompositionEventHandler,
+ onCompositionEnd?: CompositionEventHandler,
/**
* Handler that is called when a new character is received in the current text composition session. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Element/compositionupdate_event).
*/
- onCompositionUpdate?: CompositionEventHandler,
+ onCompositionUpdate?: CompositionEventHandler,
// Selection events
/**
* Handler that is called when text in the input is selected. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Element/select_event).
*/
- onSelect?: ReactEventHandler,
+ onSelect?: ReactEventHandler,
// Input events
/**
* Handler that is called when the input value is about to be modified. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/beforeinput_event).
*/
- onBeforeInput?: FormEventHandler,
+ onBeforeInput?: FormEventHandler,
/**
* Handler that is called when the input value is modified. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).
*/
- onInput?: FormEventHandler
+ onInput?: FormEventHandler
}
export interface InputDOMProps {
@@ -148,7 +148,7 @@ export interface InputDOMProps {
// DOM props that apply to all text inputs
// Ensure this is synced with useTextField
-export interface TextInputDOMProps extends DOMProps, InputDOMProps, TextInputDOMEvents {
+export interface TextInputDOMProps extends DOMProps, InputDOMProps, TextInputDOMEvents {
/**
* Describes the type of autocomplete functionality the input should provide if any. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefautocomplete).
*/
@@ -261,7 +261,7 @@ export interface GlobalDOMAttributes extends GlobalDOMEvents {
// NOTES:
// - Drag and drop events are omitted for now.
// - Keyboard and focus events are supported directly on focusable elements (FocusableProps).
-// - Text input events (e.g. onInput, onCompositionStart, onCopy) are
+// - Text input events (e.g. onInput, onCompositionStart, onCopy) are
// supported only directly on input elements (TextInputDOMProps).
// We don't support contentEditable on our components.
// - Media events should be handled directly on the