@sanity/ui 4.0.2 → 4.0.3
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.
- package/dist/autocomplete.js +3 -3
- package/dist/breadcrumbs.js +2 -2
- package/dist/{button-DXgc_BsT.js → button-D6Z-yLlP.js} +2 -2
- package/dist/{button-DXgc_BsT.js.map → button-D6Z-yLlP.js.map} +1 -1
- package/dist/code.js +1 -1
- package/dist/code.js.map +1 -1
- package/dist/{hotkeys-CmmTQZpn.js → hotkeys-Bvex-n5O.js} +2 -2
- package/dist/{hotkeys-CmmTQZpn.js.map → hotkeys-Bvex-n5O.js.map} +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/menu.js +2 -2
- package/dist/{stack-iW9HuGLg.js → stack-C2HKTF-l.js} +2 -2
- package/dist/stack-C2HKTF-l.js.map +1 -0
- package/dist/{textInput-CtgXqhgw.js → textInput-VH0sQqrm.js} +3 -3
- package/dist/{textInput-CtgXqhgw.js.map → textInput-VH0sQqrm.js.map} +1 -1
- package/dist/toast.js +2 -2
- package/package.json +1 -1
- package/dist/stack-iW9HuGLg.js.map +0 -1
package/dist/menu.js
CHANGED
|
@@ -4,10 +4,10 @@ import { i as isHTMLButtonElement, r as isHTMLAnchorElement } from "./element-BY
|
|
|
4
4
|
import { t as getTheme_v2 } from "./getTheme_v2-y09KqtEb.js";
|
|
5
5
|
import { d as createGlobalScopedContext, h as _cardColorStyle, l as useRootTheme, r as isRecord, t as useLayer, v as responsiveRadiusStyle, y as Box } from "./useLayer-BAVfmbNN.js";
|
|
6
6
|
import { t as Flex } from "./flex-C-5JHi1C.js";
|
|
7
|
-
import { n as Text, t as Stack } from "./stack-
|
|
7
|
+
import { n as Text, t as Stack } from "./stack-C2HKTF-l.js";
|
|
8
8
|
import { t as Popover } from "./popover-PorX5Jv9.js";
|
|
9
9
|
import { t as useClickOutsideEvent } from "./useClickOutsideEvent-lEVhDFCQ.js";
|
|
10
|
-
import { i as useGlobalKeyDown, t as Hotkeys } from "./hotkeys-
|
|
10
|
+
import { i as useGlobalKeyDown, t as Hotkeys } from "./hotkeys-Bvex-n5O.js";
|
|
11
11
|
import { c } from "react/compiler-runtime";
|
|
12
12
|
import { cloneElement, isValidElement, useContext, useEffect, useImperativeHandle, useRef, useState } from "react";
|
|
13
13
|
import { css, styled } from "styled-components";
|
|
@@ -31,7 +31,7 @@ function SpanWithTextOverflow(props) {
|
|
|
31
31
|
}
|
|
32
32
|
function textBaseStyle(props) {
|
|
33
33
|
let { $accent, $muted } = props, { font } = getTheme_v2(props.theme);
|
|
34
|
-
return css`color:var(--card-fg-color);${$accent && css`color:var(--card-accent-fg-color);`} ${$muted && css`color:var(--card-muted-fg-color);`} & code{font-family:${font.code.family};border-radius:1px;background-color:var(--card-code-bg-color);color:var(--card-code-fg-color);}& a{text-decoration:none;border-radius:1px;color:var(--card-link-color);outline:none;@media (hover:hover){&:hover{text-decoration:underline;}}&:focus{box-shadow:0 0 0 1px var(--card-bg-color),0 0 0 3px var(--card-focus-ring-color);}&:focus:not(:focus-visible){box-shadow:none;}}& strong{font-weight:${font.text.weights.bold};}& svg{display:inline;}& [data-sanity-icon]{vertical-align:baseline;color:var(--card-icon-color);& path{vector-effect:non-scaling-stroke !important;}}`;
|
|
34
|
+
return css`color:var(--card-fg-color);${$accent && css`color:var(--card-accent-fg-color);`} ${$muted && css`color:var(--card-muted-fg-color);`} & code{font-family:${font.code.family};border-radius:1px;background-color:var(--card-code-bg-color);color:var(--card-code-fg-color);}& a{text-decoration:none;border-radius:1px;color:var(--card-link-color);outline:none;@media (hover:hover){&:hover{text-decoration:underline;}}&:focus{box-shadow:0 0 0 1px var(--card-bg-color),0 0 0 3px var(--card-focus-ring-color);}&:focus:not(:focus-visible){box-shadow:none;}}& strong{font-weight:${font.text.weights.bold};}& svg{display:inline;max-width:unset;}& [data-sanity-icon]{vertical-align:baseline;color:var(--card-icon-color);& path{vector-effect:non-scaling-stroke !important;}}`;
|
|
35
35
|
}
|
|
36
36
|
const StyledText = /* @__PURE__ */ styled.div.withConfig({
|
|
37
37
|
displayName: "StyledText",
|
|
@@ -109,4 +109,4 @@ function StackComponent(props) {
|
|
|
109
109
|
const Stack = StackComponent;
|
|
110
110
|
export { responsiveTextAlignStyle as a, responsiveTextFont as i, Text as n, SpanWithTextOverflow as r, Stack as t };
|
|
111
111
|
|
|
112
|
-
//# sourceMappingURL=stack-
|
|
112
|
+
//# sourceMappingURL=stack-C2HKTF-l.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-C2HKTF-l.js","names":["CSSObject","getTheme_v2","_responsive","ThemeProps","ResponsiveTextAlignStyleProps","responsiveTextAlignStyle","props","media","theme","$align","textAlign","CSSObject","ThemeProps","responsiveFont","ResponsiveFontStyleProps","responsiveTextFont","props","spanWithTextOverflow","SpanWithTextOverflow","props","$","_c","t0","children","css","getTheme_v2","ThemeProps","textBaseStyle","props","$accent","$muted","ReturnType","font","theme","code","family","text","weights","bold","styled","ThemeFontWeightKey","responsiveTextAlignStyle","responsiveTextFont","ResponsiveFontStyleProps","_getArrayProp","ElementType","Props","TextAlign","SpanWithTextOverflow","textBaseStyle","TextOwnProps","accent","align","muted","size","textOverflow","weight","TextProps","E","StyledText","div","TextComponent","props","$","_c","childrenProp","ref","restProps","t0","t1","t2","children","undefined","t3","t4","t5","t6","Text","React","JSX","Element","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveStackSpaceStyleProps","$space","BASE_STYLE","display","listStyle","stackBaseStyle","responsiveStackSpaceStyle","props","media","space","theme","spaceIndex","gridGap","styled","_getArrayProp","ElementType","Props","Box","BoxOwnProps","responsiveStackSpaceStyle","ResponsiveStackSpaceStyleProps","stackBaseStyle","StackOwnProps","gap","space","StackProps","E","StyledStack","StackComponent","props","$","_c","as","ref","restProps","t0","undefined","t1","t2","Stack","React","JSX","Element"],"sources":["../src/core/styles/font/textAlignStyle.ts","../src/core/styles/font/textFontStyle.ts","../src/core/utils/spanWithTextOverflow.css.ts","../src/core/utils/spanWithTextOverflow.tsx","../src/core/primitives/text/styles.ts","../src/core/primitives/text/text.tsx","../src/core/primitives/stack/styles.ts","../src/core/primitives/stack/stack.tsx"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveTextAlignStyleProps} from './types'\n\n/**\n * Get responsive text align styles.\n * @internal\n */\nexport function responsiveTextAlignStyle(\n props: ResponsiveTextAlignStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$align, (textAlign) => {\n return {textAlign}\n })\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `text` font style.\n * @internal\n */\nexport function responsiveTextFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('text', props)\n}\n","import {style} from '@vanilla-extract/css'\n\nexport const spanWithTextOverflow = style({\n display: 'block',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: ['hidden', 'clip'],\n})\n","import {spanWithTextOverflow} from './spanWithTextOverflow.css'\n\n/** @internal */\nexport function SpanWithTextOverflow(props: {children?: React.ReactNode}): React.JSX.Element {\n return <span className={spanWithTextOverflow}>{props.children}</span>\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {ThemeProps} from '../../styles/types'\n\nexport function textBaseStyle(\n props: {$accent?: boolean; $muted?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted} = props\n const {font} = getTheme_v2(props.theme)\n\n return css`\n color: var(--card-fg-color);\n\n ${\n $accent &&\n css`\n color: var(--card-accent-fg-color);\n `\n }\n\n ${\n $muted &&\n css`\n color: var(--card-muted-fg-color);\n `\n }\n\n & code {\n font-family: ${font.code.family};\n border-radius: 1px;\n background-color: var(--card-code-bg-color);\n color: var(--card-code-fg-color);\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: var(--card-link-color);\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px var(--card-bg-color),\n 0 0 0 3px var(--card-focus-ring-color);\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & strong {\n font-weight: ${font.text.weights.bold};\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n /* ...and aren't squeezed by resets that set max-width: 100% */\n max-width: unset;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n color: var(--card-icon-color);\n\n & path {\n vector-effect: non-scaling-stroke !important;\n }\n }\n `\n}\n","import {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {responsiveTextAlignStyle} from '../../styles/font/textAlignStyle'\nimport {responsiveTextFont} from '../../styles/font/textFontStyle'\nimport {ResponsiveFontStyleProps} from '../../styles/font/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {TextAlign} from '../../types/text'\nimport {SpanWithTextOverflow} from '../../utils/spanWithTextOverflow'\nimport {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextOwnProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n /** When `true` the text color will be muted. */\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\n/**\n * @public\n */\nexport type TextProps<E extends ElementType = 'div'> = Props<TextOwnProps, E>\n\nconst StyledText = styled.div<ResponsiveFontStyleProps>(\n responsiveTextFont,\n responsiveTextAlignStyle,\n textBaseStyle,\n)\n\nfunction TextComponent(\n props: TextOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n ref,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <StyledText\n data-ui=\"Text\"\n {...restProps}\n $accent={accent}\n $align={_getArrayProp(align)}\n $muted={muted}\n ref={ref}\n $size={_getArrayProp(size)}\n $weight={weight}\n >\n <span>{children}</span>\n </StyledText>\n )\n}\n\n/**\n * The `Text` component is an agile, themed typographic element.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Text = TextComponent as unknown as <E extends ElementType = 'div'>(\n props: TextProps<E>,\n) => React.JSX.Element\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\n\nexport interface ResponsiveStackSpaceStyleProps {\n $space: number[]\n}\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n 'gridTemplateColumns': 'minmax(0, 1fr)',\n 'gridAutoRows': 'min-content',\n}\n\nexport function stackBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveStackSpaceStyle(\n props: ResponsiveStackSpaceStyleProps & ThemeProps,\n): CSSObject[] {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$space, (spaceIndex) => ({\n // oxlint-disable-next-line no-deprecated\n gridGap: rem(space[spaceIndex]),\n }))\n}\n","import {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps, stackBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface StackOwnProps extends BoxOwnProps {\n gap?: number | number[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n}\n\n/**\n * @public\n */\nexport type StackProps<E extends ElementType = 'div'> = Props<StackOwnProps, E>\n\nconst StyledStack = styled(Box)<ResponsiveStackSpaceStyleProps>(\n stackBaseStyle,\n responsiveStackSpaceStyle,\n)\n\nfunction StackComponent(\n props: StackOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n) {\n const {as, gap, ref, ...restProps} = props\n\n return (\n <StyledStack\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Stack\"\n {...restProps}\n $space={_getArrayProp(gap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n}\n\n/**\n * The `Stack` component is used to place elements on top of each other.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Stack = StackComponent as unknown as <E extends ElementType = 'div'>(\n props: StackProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import { a as rem, i as _responsive, n as _getArrayProp, s as EMPTY_RECORD } fro
|
|
|
2
2
|
import { a as isHTMLElement, c as isHTMLTextAreaElement, i as isHTMLButtonElement, o as isHTMLInputElement, r as isHTMLAnchorElement, s as isHTMLSelectElement } from "./element-BYgCE_iK.js";
|
|
3
3
|
import { t as getTheme_v2 } from "./getTheme_v2-y09KqtEb.js";
|
|
4
4
|
import { l as useRootTheme, m as focusRingStyle, p as focusRingBorderStyle, s as Card, v as responsiveRadiusStyle, y as Box } from "./useLayer-BAVfmbNN.js";
|
|
5
|
-
import { n as Text } from "./stack-
|
|
6
|
-
import { t as Button } from "./button-
|
|
5
|
+
import { n as Text } from "./stack-C2HKTF-l.js";
|
|
6
|
+
import { t as Button } from "./button-D6Z-yLlP.js";
|
|
7
7
|
import { c } from "react/compiler-runtime";
|
|
8
8
|
import { isValidElement, useEffect, useImperativeHandle, useRef } from "react";
|
|
9
9
|
import { css, styled } from "styled-components";
|
|
@@ -318,4 +318,4 @@ function _temp(event) {
|
|
|
318
318
|
}
|
|
319
319
|
export { textInputRootStyle as a, useCustomValidity as c, focusFirstDescendant as d, focusLastDescendant as f, _raf2 as h, textInputRepresentationStyle as i, _hasFocus as l, _raf as m, textInputBaseStyle as n, responsiveInputPaddingIconRightStyle as o, isFocusable as p, textInputFontSizeStyle as r, responsiveInputPaddingStyle as s, TextInput as t, attemptFocus as u };
|
|
320
320
|
|
|
321
|
-
//# sourceMappingURL=textInput-
|
|
321
|
+
//# sourceMappingURL=textInput-VH0sQqrm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textInput-CtgXqhgw.js","names":["isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","_hasFocus","element","HTMLElement","Boolean","document","activeElement","contains","isFocusable","tabIndex","getAttribute","href","rel","type","disabled","attemptFocus","focus","focusFirstDescendant","i","childNodes","length","child","focusLastDescendant","useEffect","useCustomValidity","ref","customValidity","$","_c","t0","t1","current","setCustomValidity","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","TextInputResponsivePaddingStyleProps","$fontSize","$iconLeft","$iconRight","$padding","$space","responsiveInputPaddingStyle","props","font","media","space","theme","len","Math","max","length","_padding","_space","_fontSize","i","undefined","_","size","text","sizes","emSize","lineHeight","ascenderHeight","descenderHeight","p","s","styles","paddingTop","paddingRight","paddingBottom","paddingLeft","responsiveInputPaddingIconRightStyle","css","ThemeColorSchemeKey","CSSObject","ThemeFontWeightKey","getTheme_v2","CardTone","focusRingBorderStyle","focusRingStyle","_responsive","rem","ThemeProps","TextInputInputStyleProps","$fontSize","$scheme","$tone","$weight","TextInputRepresentationStyleProps","$hasPrefix","$hasSuffix","$unstableDisableFocusRing","ROOT_STYLE","textInputRootStyle","ReturnType","textInputBaseStyle","props","color","font","theme","text","family","weights","regular","input","default","enabled","fg","placeholder","disabled","invalid","readOnly","textInputFontSizeStyle","media","sizeIndex","size","sizes","fontSize","lineHeight","textInputRepresentationStyle","undefined","bg","border","width","focusRing","hovered","CloseIcon","isValidElement","useCallback","useImperativeHandle","useMemo","useRef","isValidElementType","styled","ThemeFontWeightKey","EMPTY_RECORD","useCustomValidity","_getArrayProp","responsiveInputPaddingStyle","TextInputResponsivePaddingStyleProps","textInputBaseStyle","textInputFontSizeStyle","TextInputInputStyleProps","textInputRepresentationStyle","TextInputRepresentationStyleProps","textInputRootStyle","responsiveRadiusStyle","ResponsiveRadiusStyleProps","useRootTheme","Radius","Box","Button","ButtonOwnProps","Card","Text","TextInputClearButtonProps","Omit","React","HTMLProps","HTMLButtonElement","TextInputType","TextInputProps","__unstable_disableFocusRing","border","clearButton","customValidity","fontSize","icon","ElementType","ReactNode","iconRight","onClear","padding","prefix","radius","space","gap","suffix","type","weight","CLEAR_BUTTON_BOX_STYLE","CSSProperties","zIndex","StyledTextInput","attrs","forwardedAs","InputRoot","span","Prefix","Suffix","Input","input","Presentation","LeftBox","RightBox","RightCard","TextInputClearButton","display","TextInput","props","$","_c","IconComponent","IconRightComponent","forwardedRef","readOnly","restProps","t0","t1","t2","t3","t4","t5","t6","disabled","ref","undefined","fontSizeProp","paddingProp","radiusProp","rootTheme","t7","t8","t9","t10","$hasClearButton","Boolean","$hasIcon","$hasIconRight","$hasSuffix","$hasPrefix","t11","Symbol","for","current","handleClearMouseDown","_temp","t12","event_0","event","preventDefault","stopPropagation","focus","handleClearClick","t13","prefixNode","t14","t15","t16","t17","scheme","tone","presentationNode","t18","map","_temp2","clearButtonBoxPadding","t19","_temp3","clearButtonPadding","clearButtonProps","t20","clearButtonNode","t21","suffixNode","t22","t23","t24","t25","v_0","v"],"sources":["../src/core/helpers/animation.ts","../src/core/helpers/focus.ts","../src/core/hooks/useCustomValidity.ts","../src/core/styles/input/responsiveInputPaddingStyle.ts","../src/core/styles/input/textInputStyle.ts","../src/core/primitives/textInput/textInput.tsx"],"sourcesContent":["/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\n}\n","import {\n isHTMLAnchorElement,\n isHTMLButtonElement,\n isHTMLElement,\n isHTMLInputElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n// export const globalFocusState = {\n// IgnoreUtilFocusChanges: false,\n// }\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = true\n\n try {\n element.focus()\n } catch {\n // ignore\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = false\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n ref: {current: null | {setCustomValidity: (validity: string) => void}},\n customValidity: string | undefined,\n): void {\n useEffect(() => {\n ref.current?.setCustomValidity(customValidity || '')\n }, [customValidity, ref])\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\n\nexport interface TextInputResponsivePaddingStyleProps {\n $fontSize: number[]\n $iconLeft?: boolean\n $iconRight?: boolean\n $padding: number[]\n $space: number[]\n}\n\nexport function responsiveInputPaddingStyle(\n props: TextInputResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[] {\n const {$fontSize, $iconLeft, $iconRight, $padding, $space} = props\n const {font, media, space} = getTheme_v2(props.theme)\n const len = Math.max($padding.length, $space.length, $fontSize.length)\n const _padding: number[] = []\n const _space: number[] = []\n const _fontSize: number[] = []\n\n for (let i = 0; i < len; i += 1) {\n _fontSize[i] = $fontSize[i] === undefined ? _fontSize[i - 1] : $fontSize[i]\n _padding[i] = $padding[i] === undefined ? _padding[i - 1] : $padding[i]\n _space[i] = $space[i] === undefined ? _space[i - 1] : $space[i]\n }\n\n return _responsive(media, _padding, (_, i) => {\n const size = font.text.sizes[_fontSize[i]] || font.text.sizes[2]\n const emSize = size.lineHeight - size.ascenderHeight - size.descenderHeight\n const p = space[_padding[i]]\n const s = space[_space[i]]\n\n const styles = {\n paddingTop: rem(p - size.ascenderHeight),\n paddingRight: rem(p),\n paddingBottom: rem(p - size.descenderHeight),\n paddingLeft: rem(p),\n }\n\n if ($iconRight) styles.paddingRight = rem(p + emSize + s)\n if ($iconLeft) styles.paddingLeft = rem(p + emSize + s)\n\n return styles\n })\n}\n\nexport function responsiveInputPaddingIconRightStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconRight: true})\n}\n","import {css} from 'styled-components'\n\nimport {ThemeColorSchemeKey} from '../../../theme/system/color/_system'\nimport {CSSObject} from '../../../theme/system/css'\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {CardTone} from '../../types/card'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\n\n/**\n * @internal\n */\nexport interface TextInputInputStyleProps {\n $fontSize: number[]\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $weight?: ThemeFontWeightKey\n}\n\n/**\n * @internal\n */\nexport interface TextInputRepresentationStyleProps {\n $hasPrefix?: boolean\n $hasSuffix?: boolean\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $unstableDisableFocusRing?: boolean\n}\n\nconst ROOT_STYLE = css`\n &:not([hidden]) {\n display: flex;\n }\n\n align-items: center;\n`\n\nexport function textInputRootStyle(): ReturnType<typeof css> {\n return ROOT_STYLE\n}\n\nexport function textInputBaseStyle(\n props: TextInputInputStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$scheme, $tone, $weight} = props\n const {color, font} = getTheme_v2(props.theme)\n\n return css`\n appearance: none;\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n width: 100%;\n box-sizing: border-box;\n font-family: ${font.text.family};\n font-weight: ${($weight && font.text.weights[$weight]) || font.text.weights.regular};\n margin: 0;\n position: relative;\n z-index: 1;\n display: block;\n\n /* NOTE: This is a hack to disable Chrome’s autofill styles */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: var(--input-fg-color) !important;\n transition: background-color 5000s;\n transition-delay: 86400s /* 24h */;\n }\n\n /* &:is(textarea) */\n &[data-as='textarea'] {\n resize: none;\n }\n\n color: var(--input-fg-color);\n\n &::placeholder {\n color: var(--input-placeholder-color);\n }\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --input-fg-color: ${color.input.default.enabled.fg};\n --input-placeholder-color: ${color.input.default.enabled.placeholder};\n\n /* enabled */\n &:not(:invalid):not(:disabled):not(:read-only) {\n --input-fg-color: ${color.input.default.enabled.fg};\n --input-placeholder-color: ${color.input.default.enabled.placeholder};\n }\n\n /* disabled */\n &:not(:invalid):disabled {\n --input-fg-color: ${color.input.default.disabled.fg};\n --input-placeholder-color: ${color.input.default.disabled.placeholder};\n }\n\n /* invalid */\n &:invalid {\n --input-fg-color: ${color.input.invalid.enabled.fg};\n --input-placeholder-color: ${color.input.invalid.enabled.placeholder};\n }\n\n /* readOnly */\n &:read-only {\n --input-fg-color: ${color.input.default.readOnly.fg};\n --input-placeholder-color: ${color.input.default.readOnly.placeholder};\n }\n }\n `\n}\n\nexport function textInputFontSizeStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject[] {\n const {font, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$fontSize, (sizeIndex) => {\n const size = font.text.sizes[sizeIndex] || font.text.sizes[2]\n\n return {\n fontSize: rem(size.fontSize),\n lineHeight: `${size.lineHeight / size.fontSize}`,\n }\n })\n}\n\nexport function textInputRepresentationStyle(\n props: TextInputRepresentationStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$hasPrefix, $hasSuffix, $scheme, $tone, $unstableDisableFocusRing} = props\n const {color, input} = getTheme_v2(props.theme)\n\n return css`\n --input-box-shadow: none;\n\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: block;\n pointer-events: none;\n z-index: 0;\n\n background-color: var(--card-bg-color);\n box-shadow: var(--input-box-shadow);\n\n border-top-left-radius: ${$hasPrefix ? 0 : undefined};\n border-bottom-left-radius: ${$hasPrefix ? 0 : undefined};\n border-top-right-radius: ${$hasSuffix ? 0 : undefined};\n border-bottom-right-radius: ${$hasSuffix ? 0 : undefined};\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --card-bg-color: ${color.input.default.enabled.bg};\n --card-fg-color: ${color.input.default.enabled.fg};\n\n /* enabled */\n *:not(:disabled) + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n /* invalid */\n *:not(:disabled):invalid + & {\n --card-bg-color: ${color.input.invalid.enabled.bg};\n --card-fg-color: ${color.input.invalid.enabled.fg};\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.enabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n *:not(:disabled):focus + & {\n &[data-border] {\n --input-box-shadow: ${\n $unstableDisableFocusRing\n ? undefined\n : focusRingStyle({\n border: {color: color.input.default.enabled.border, width: input.border.width},\n focusRing: input.text.focusRing,\n })\n };\n }\n\n &:not([data-border]) {\n --input-box-shadow: ${\n $unstableDisableFocusRing\n ? undefined\n : focusRingStyle({focusRing: input.text.focusRing})\n };\n }\n }\n\n /* disabled */\n *:not(:invalid):disabled + & {\n --card-bg-color: ${color.input.default.disabled.bg} !important;\n --card-fg-color: ${color.input.default.disabled.fg} !important;\n --card-icon-color: ${color.input.default.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n *:invalid:disabled + & {\n --card-bg-color: ${color.input.invalid.disabled.bg} !important;\n --card-fg-color: ${color.input.invalid.disabled.fg} !important;\n --card-icon-color: ${color.input.invalid.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* readOnly */\n *:not(:invalid):read-only + & {\n --card-bg-color: ${color.input.default.readOnly.bg} !important;\n --card-fg-color: ${color.input.default.readOnly.fg} !important;\n }\n\n *:invalid:read-only + & {\n --card-bg-color: ${color.input.invalid.readOnly.bg} !important;\n --card-fg-color: ${color.input.invalid.readOnly.fg} !important;\n }\n\n /* hovered */\n @media (hover: hover) {\n *:not(:disabled):not(:read-only):not(:invalid):hover + & {\n --card-bg-color: ${color.input.default.hovered.bg};\n --card-fg-color: ${color.input.default.hovered.fg};\n }\n\n *:invalid:not(:disabled):not(:read-only):hover + & {\n --card-bg-color: ${color.input.invalid.hovered.bg};\n --card-fg-color: ${color.input.invalid.hovered.fg};\n }\n\n *:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.hovered.border,\n width: input.border.width,\n })};\n }\n\n *:invalid:not(:disabled):not(:read-only):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.hovered.border,\n width: input.border.width,\n })};\n }\n }\n }\n `\n}\n","import {CloseIcon} from '@sanity/icons/Close'\nimport {isValidElement, useCallback, useImperativeHandle, useMemo, useRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {\n responsiveInputPaddingStyle,\n TextInputResponsivePaddingStyleProps,\n} from '../../styles/input/responsiveInputPaddingStyle'\nimport {\n textInputBaseStyle,\n textInputFontSizeStyle,\n TextInputInputStyleProps,\n textInputRepresentationStyle,\n TextInputRepresentationStyleProps,\n textInputRootStyle,\n} from '../../styles/input/textInputStyle'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {useRootTheme} from '../../theme/useRootTheme'\nimport {Radius} from '../../types/radius'\nimport {Box} from '../box/box'\nimport {Button, ButtonOwnProps} from '../button/button'\nimport {Card} from '../card/card'\nimport {Text} from '../text/text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = ButtonOwnProps &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'onClick' | 'onMouseDown' | 'ref'>\n\n/**\n * @public\n */\nexport type TextInputType =\n | 'search'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'url'\n | 'month'\n | 'number'\n | 'password'\n | 'tel'\n | 'time'\n | 'text'\n | 'week'\n | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n border?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n fontSize?: number | number[]\n // oxlint-disable-next-line no-redundant-type-constituents\n icon?: React.ElementType | React.ReactNode\n // oxlint-disable-next-line no-redundant-type-constituents\n iconRight?: React.ElementType | React.ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n padding?: number | number[]\n prefix?: React.ReactNode\n radius?: Radius | Radius[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n gap?: number | number[]\n suffix?: React.ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: React.CSSProperties = {zIndex: 2}\n\nconst StyledTextInput = styled(Card).attrs({forwardedAs: 'span'})(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Prefix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Suffix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Input = styled.input<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.span<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\nconst LeftBox = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n`\n\nconst RightBox = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst RightCard = styled(Card)`\n background-color: transparent;\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst TextInputClearButton = styled(Button)({\n '&:not([hidden])': {\n display: 'block',\n },\n})\n\n/**\n * Single line text input.\n *\n * @public\n */\nexport function TextInput(\n props: TextInputProps & Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'prefix' | 'type'>,\n) {\n const {\n __unstable_disableFocusRing,\n border = true,\n clearButton,\n disabled = false,\n fontSize: fontSizeProp = 2,\n gap = 3,\n icon: IconComponent,\n iconRight: IconRightComponent,\n onClear,\n padding: paddingProp = 3,\n prefix,\n radius: radiusProp = 2,\n readOnly,\n ref: forwardedRef,\n suffix,\n customValidity,\n type = 'text',\n weight,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n const rootTheme = useRootTheme()\n\n const fontSize = _getArrayProp(fontSizeProp)\n const padding = _getArrayProp(paddingProp)\n const radius = _getArrayProp(radiusProp)\n const space = _getArrayProp(gap)\n\n // Transient properties\n const $hasClearButton = Boolean(clearButton)\n const $hasIcon = Boolean(IconComponent)\n const $hasIconRight = Boolean(IconRightComponent)\n const $hasSuffix = Boolean(suffix)\n const $hasPrefix = Boolean(prefix)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n\n if (onClear) onClear()\n\n // Focus the input, in case focus has been lost when clicking the clear button\n ref.current?.focus()\n },\n [onClear, ref],\n )\n\n // Render prefix (memoized)\n const prefixNode = useMemo(\n () =>\n prefix && (\n <Prefix borderTop borderLeft borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{prefix}</span>\n </Prefix>\n ),\n [prefix, radius],\n )\n\n // Render presentation (memoized)\n const presentationNode = useMemo(\n () => (\n <Presentation\n $hasPrefix={$hasPrefix}\n $unstableDisableFocusRing={__unstable_disableFocusRing}\n $hasSuffix={$hasSuffix}\n $radius={radius}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n >\n {IconComponent && (\n <LeftBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n </LeftBox>\n )}\n\n {!$hasClearButton && IconRightComponent && (\n <RightBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n </RightBox>\n )}\n </Presentation>\n ),\n [\n __unstable_disableFocusRing,\n border,\n fontSize,\n IconComponent,\n IconRightComponent,\n padding,\n radius,\n rootTheme,\n $hasClearButton,\n $hasPrefix,\n $hasSuffix,\n ],\n )\n\n // Render clear button (memoized)\n const clearButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const clearButtonPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return v - 1\n }),\n [padding],\n )\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (typeof clearButton === 'object' ? clearButton : EMPTY_RECORD),\n [clearButton],\n )\n const clearButtonNode = useMemo(\n () =>\n !disabled &&\n !readOnly &&\n clearButton && (\n <RightCard\n forwardedAs=\"span\"\n padding={clearButtonBoxPadding}\n style={CLEAR_BUTTON_BOX_STYLE}\n tone={customValidity ? 'critical' : 'inherit'}\n >\n <TextInputClearButton\n aria-label=\"Clear\"\n data-qa=\"clear-button\"\n fontSize={fontSize}\n icon={CloseIcon}\n mode=\"bleed\"\n padding={clearButtonPadding}\n radius={radius}\n {...clearButtonProps}\n onClick={handleClearClick}\n onMouseDown={handleClearMouseDown}\n />\n </RightCard>\n ),\n [\n clearButton,\n clearButtonBoxPadding,\n clearButtonPadding,\n clearButtonProps,\n customValidity,\n disabled,\n fontSize,\n handleClearClick,\n handleClearMouseDown,\n radius,\n readOnly,\n ],\n )\n\n // Render suffix (memoized)\n const suffixNode = useMemo(\n () =>\n suffix && (\n <Suffix borderTop borderRight borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{suffix}</span>\n </Suffix>\n ),\n [radius, suffix],\n )\n\n return (\n <StyledTextInput data-ui=\"TextInput\" tone={rootTheme.tone}>\n {prefixNode}\n\n <InputRoot>\n <Input\n data-as=\"input\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={fontSize}\n $iconLeft={$hasIcon}\n $iconRight={$hasIconRight || $hasClearButton}\n $padding={padding}\n $scheme={rootTheme.scheme}\n $space={space}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n {presentationNode}\n {clearButtonNode}\n </InputRoot>\n\n {suffixNode}\n </StyledTextInput>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"textInput-VH0sQqrm.js","names":["isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","_hasFocus","element","HTMLElement","Boolean","document","activeElement","contains","isFocusable","tabIndex","getAttribute","href","rel","type","disabled","attemptFocus","focus","focusFirstDescendant","i","childNodes","length","child","focusLastDescendant","useEffect","useCustomValidity","ref","customValidity","$","_c","t0","t1","current","setCustomValidity","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","TextInputResponsivePaddingStyleProps","$fontSize","$iconLeft","$iconRight","$padding","$space","responsiveInputPaddingStyle","props","font","media","space","theme","len","Math","max","length","_padding","_space","_fontSize","i","undefined","_","size","text","sizes","emSize","lineHeight","ascenderHeight","descenderHeight","p","s","styles","paddingTop","paddingRight","paddingBottom","paddingLeft","responsiveInputPaddingIconRightStyle","css","ThemeColorSchemeKey","CSSObject","ThemeFontWeightKey","getTheme_v2","CardTone","focusRingBorderStyle","focusRingStyle","_responsive","rem","ThemeProps","TextInputInputStyleProps","$fontSize","$scheme","$tone","$weight","TextInputRepresentationStyleProps","$hasPrefix","$hasSuffix","$unstableDisableFocusRing","ROOT_STYLE","textInputRootStyle","ReturnType","textInputBaseStyle","props","color","font","theme","text","family","weights","regular","input","default","enabled","fg","placeholder","disabled","invalid","readOnly","textInputFontSizeStyle","media","sizeIndex","size","sizes","fontSize","lineHeight","textInputRepresentationStyle","undefined","bg","border","width","focusRing","hovered","CloseIcon","isValidElement","useCallback","useImperativeHandle","useMemo","useRef","isValidElementType","styled","ThemeFontWeightKey","EMPTY_RECORD","useCustomValidity","_getArrayProp","responsiveInputPaddingStyle","TextInputResponsivePaddingStyleProps","textInputBaseStyle","textInputFontSizeStyle","TextInputInputStyleProps","textInputRepresentationStyle","TextInputRepresentationStyleProps","textInputRootStyle","responsiveRadiusStyle","ResponsiveRadiusStyleProps","useRootTheme","Radius","Box","Button","ButtonOwnProps","Card","Text","TextInputClearButtonProps","Omit","React","HTMLProps","HTMLButtonElement","TextInputType","TextInputProps","__unstable_disableFocusRing","border","clearButton","customValidity","fontSize","icon","ElementType","ReactNode","iconRight","onClear","padding","prefix","radius","space","gap","suffix","type","weight","CLEAR_BUTTON_BOX_STYLE","CSSProperties","zIndex","StyledTextInput","attrs","forwardedAs","InputRoot","span","Prefix","Suffix","Input","input","Presentation","LeftBox","RightBox","RightCard","TextInputClearButton","display","TextInput","props","$","_c","IconComponent","IconRightComponent","forwardedRef","readOnly","restProps","t0","t1","t2","t3","t4","t5","t6","disabled","ref","undefined","fontSizeProp","paddingProp","radiusProp","rootTheme","t7","t8","t9","t10","$hasClearButton","Boolean","$hasIcon","$hasIconRight","$hasSuffix","$hasPrefix","t11","Symbol","for","current","handleClearMouseDown","_temp","t12","event_0","event","preventDefault","stopPropagation","focus","handleClearClick","t13","prefixNode","t14","t15","t16","t17","scheme","tone","presentationNode","t18","map","_temp2","clearButtonBoxPadding","t19","_temp3","clearButtonPadding","clearButtonProps","t20","clearButtonNode","t21","suffixNode","t22","t23","t24","t25","v_0","v"],"sources":["../src/core/helpers/animation.ts","../src/core/helpers/focus.ts","../src/core/hooks/useCustomValidity.ts","../src/core/styles/input/responsiveInputPaddingStyle.ts","../src/core/styles/input/textInputStyle.ts","../src/core/primitives/textInput/textInput.tsx"],"sourcesContent":["/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\n}\n","import {\n isHTMLAnchorElement,\n isHTMLButtonElement,\n isHTMLElement,\n isHTMLInputElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n// export const globalFocusState = {\n// IgnoreUtilFocusChanges: false,\n// }\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = true\n\n try {\n element.focus()\n } catch {\n // ignore\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = false\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n ref: {current: null | {setCustomValidity: (validity: string) => void}},\n customValidity: string | undefined,\n): void {\n useEffect(() => {\n ref.current?.setCustomValidity(customValidity || '')\n }, [customValidity, ref])\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\n\nexport interface TextInputResponsivePaddingStyleProps {\n $fontSize: number[]\n $iconLeft?: boolean\n $iconRight?: boolean\n $padding: number[]\n $space: number[]\n}\n\nexport function responsiveInputPaddingStyle(\n props: TextInputResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[] {\n const {$fontSize, $iconLeft, $iconRight, $padding, $space} = props\n const {font, media, space} = getTheme_v2(props.theme)\n const len = Math.max($padding.length, $space.length, $fontSize.length)\n const _padding: number[] = []\n const _space: number[] = []\n const _fontSize: number[] = []\n\n for (let i = 0; i < len; i += 1) {\n _fontSize[i] = $fontSize[i] === undefined ? _fontSize[i - 1] : $fontSize[i]\n _padding[i] = $padding[i] === undefined ? _padding[i - 1] : $padding[i]\n _space[i] = $space[i] === undefined ? _space[i - 1] : $space[i]\n }\n\n return _responsive(media, _padding, (_, i) => {\n const size = font.text.sizes[_fontSize[i]] || font.text.sizes[2]\n const emSize = size.lineHeight - size.ascenderHeight - size.descenderHeight\n const p = space[_padding[i]]\n const s = space[_space[i]]\n\n const styles = {\n paddingTop: rem(p - size.ascenderHeight),\n paddingRight: rem(p),\n paddingBottom: rem(p - size.descenderHeight),\n paddingLeft: rem(p),\n }\n\n if ($iconRight) styles.paddingRight = rem(p + emSize + s)\n if ($iconLeft) styles.paddingLeft = rem(p + emSize + s)\n\n return styles\n })\n}\n\nexport function responsiveInputPaddingIconRightStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconRight: true})\n}\n","import {css} from 'styled-components'\n\nimport {ThemeColorSchemeKey} from '../../../theme/system/color/_system'\nimport {CSSObject} from '../../../theme/system/css'\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {CardTone} from '../../types/card'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\n\n/**\n * @internal\n */\nexport interface TextInputInputStyleProps {\n $fontSize: number[]\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $weight?: ThemeFontWeightKey\n}\n\n/**\n * @internal\n */\nexport interface TextInputRepresentationStyleProps {\n $hasPrefix?: boolean\n $hasSuffix?: boolean\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $unstableDisableFocusRing?: boolean\n}\n\nconst ROOT_STYLE = css`\n &:not([hidden]) {\n display: flex;\n }\n\n align-items: center;\n`\n\nexport function textInputRootStyle(): ReturnType<typeof css> {\n return ROOT_STYLE\n}\n\nexport function textInputBaseStyle(\n props: TextInputInputStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$scheme, $tone, $weight} = props\n const {color, font} = getTheme_v2(props.theme)\n\n return css`\n appearance: none;\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n width: 100%;\n box-sizing: border-box;\n font-family: ${font.text.family};\n font-weight: ${($weight && font.text.weights[$weight]) || font.text.weights.regular};\n margin: 0;\n position: relative;\n z-index: 1;\n display: block;\n\n /* NOTE: This is a hack to disable Chrome’s autofill styles */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: var(--input-fg-color) !important;\n transition: background-color 5000s;\n transition-delay: 86400s /* 24h */;\n }\n\n /* &:is(textarea) */\n &[data-as='textarea'] {\n resize: none;\n }\n\n color: var(--input-fg-color);\n\n &::placeholder {\n color: var(--input-placeholder-color);\n }\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --input-fg-color: ${color.input.default.enabled.fg};\n --input-placeholder-color: ${color.input.default.enabled.placeholder};\n\n /* enabled */\n &:not(:invalid):not(:disabled):not(:read-only) {\n --input-fg-color: ${color.input.default.enabled.fg};\n --input-placeholder-color: ${color.input.default.enabled.placeholder};\n }\n\n /* disabled */\n &:not(:invalid):disabled {\n --input-fg-color: ${color.input.default.disabled.fg};\n --input-placeholder-color: ${color.input.default.disabled.placeholder};\n }\n\n /* invalid */\n &:invalid {\n --input-fg-color: ${color.input.invalid.enabled.fg};\n --input-placeholder-color: ${color.input.invalid.enabled.placeholder};\n }\n\n /* readOnly */\n &:read-only {\n --input-fg-color: ${color.input.default.readOnly.fg};\n --input-placeholder-color: ${color.input.default.readOnly.placeholder};\n }\n }\n `\n}\n\nexport function textInputFontSizeStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject[] {\n const {font, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$fontSize, (sizeIndex) => {\n const size = font.text.sizes[sizeIndex] || font.text.sizes[2]\n\n return {\n fontSize: rem(size.fontSize),\n lineHeight: `${size.lineHeight / size.fontSize}`,\n }\n })\n}\n\nexport function textInputRepresentationStyle(\n props: TextInputRepresentationStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$hasPrefix, $hasSuffix, $scheme, $tone, $unstableDisableFocusRing} = props\n const {color, input} = getTheme_v2(props.theme)\n\n return css`\n --input-box-shadow: none;\n\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: block;\n pointer-events: none;\n z-index: 0;\n\n background-color: var(--card-bg-color);\n box-shadow: var(--input-box-shadow);\n\n border-top-left-radius: ${$hasPrefix ? 0 : undefined};\n border-bottom-left-radius: ${$hasPrefix ? 0 : undefined};\n border-top-right-radius: ${$hasSuffix ? 0 : undefined};\n border-bottom-right-radius: ${$hasSuffix ? 0 : undefined};\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --card-bg-color: ${color.input.default.enabled.bg};\n --card-fg-color: ${color.input.default.enabled.fg};\n\n /* enabled */\n *:not(:disabled) + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n /* invalid */\n *:not(:disabled):invalid + & {\n --card-bg-color: ${color.input.invalid.enabled.bg};\n --card-fg-color: ${color.input.invalid.enabled.fg};\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.enabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n *:not(:disabled):focus + & {\n &[data-border] {\n --input-box-shadow: ${\n $unstableDisableFocusRing\n ? undefined\n : focusRingStyle({\n border: {color: color.input.default.enabled.border, width: input.border.width},\n focusRing: input.text.focusRing,\n })\n };\n }\n\n &:not([data-border]) {\n --input-box-shadow: ${\n $unstableDisableFocusRing\n ? undefined\n : focusRingStyle({focusRing: input.text.focusRing})\n };\n }\n }\n\n /* disabled */\n *:not(:invalid):disabled + & {\n --card-bg-color: ${color.input.default.disabled.bg} !important;\n --card-fg-color: ${color.input.default.disabled.fg} !important;\n --card-icon-color: ${color.input.default.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n *:invalid:disabled + & {\n --card-bg-color: ${color.input.invalid.disabled.bg} !important;\n --card-fg-color: ${color.input.invalid.disabled.fg} !important;\n --card-icon-color: ${color.input.invalid.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* readOnly */\n *:not(:invalid):read-only + & {\n --card-bg-color: ${color.input.default.readOnly.bg} !important;\n --card-fg-color: ${color.input.default.readOnly.fg} !important;\n }\n\n *:invalid:read-only + & {\n --card-bg-color: ${color.input.invalid.readOnly.bg} !important;\n --card-fg-color: ${color.input.invalid.readOnly.fg} !important;\n }\n\n /* hovered */\n @media (hover: hover) {\n *:not(:disabled):not(:read-only):not(:invalid):hover + & {\n --card-bg-color: ${color.input.default.hovered.bg};\n --card-fg-color: ${color.input.default.hovered.fg};\n }\n\n *:invalid:not(:disabled):not(:read-only):hover + & {\n --card-bg-color: ${color.input.invalid.hovered.bg};\n --card-fg-color: ${color.input.invalid.hovered.fg};\n }\n\n *:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.hovered.border,\n width: input.border.width,\n })};\n }\n\n *:invalid:not(:disabled):not(:read-only):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.hovered.border,\n width: input.border.width,\n })};\n }\n }\n }\n `\n}\n","import {CloseIcon} from '@sanity/icons/Close'\nimport {isValidElement, useCallback, useImperativeHandle, useMemo, useRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {\n responsiveInputPaddingStyle,\n TextInputResponsivePaddingStyleProps,\n} from '../../styles/input/responsiveInputPaddingStyle'\nimport {\n textInputBaseStyle,\n textInputFontSizeStyle,\n TextInputInputStyleProps,\n textInputRepresentationStyle,\n TextInputRepresentationStyleProps,\n textInputRootStyle,\n} from '../../styles/input/textInputStyle'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {useRootTheme} from '../../theme/useRootTheme'\nimport {Radius} from '../../types/radius'\nimport {Box} from '../box/box'\nimport {Button, ButtonOwnProps} from '../button/button'\nimport {Card} from '../card/card'\nimport {Text} from '../text/text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = ButtonOwnProps &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'onClick' | 'onMouseDown' | 'ref'>\n\n/**\n * @public\n */\nexport type TextInputType =\n | 'search'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'url'\n | 'month'\n | 'number'\n | 'password'\n | 'tel'\n | 'time'\n | 'text'\n | 'week'\n | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n border?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n fontSize?: number | number[]\n // oxlint-disable-next-line no-redundant-type-constituents\n icon?: React.ElementType | React.ReactNode\n // oxlint-disable-next-line no-redundant-type-constituents\n iconRight?: React.ElementType | React.ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n padding?: number | number[]\n prefix?: React.ReactNode\n radius?: Radius | Radius[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n gap?: number | number[]\n suffix?: React.ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: React.CSSProperties = {zIndex: 2}\n\nconst StyledTextInput = styled(Card).attrs({forwardedAs: 'span'})(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Prefix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Suffix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Input = styled.input<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.span<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\nconst LeftBox = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n`\n\nconst RightBox = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst RightCard = styled(Card)`\n background-color: transparent;\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst TextInputClearButton = styled(Button)({\n '&:not([hidden])': {\n display: 'block',\n },\n})\n\n/**\n * Single line text input.\n *\n * @public\n */\nexport function TextInput(\n props: TextInputProps & Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'prefix' | 'type'>,\n) {\n const {\n __unstable_disableFocusRing,\n border = true,\n clearButton,\n disabled = false,\n fontSize: fontSizeProp = 2,\n gap = 3,\n icon: IconComponent,\n iconRight: IconRightComponent,\n onClear,\n padding: paddingProp = 3,\n prefix,\n radius: radiusProp = 2,\n readOnly,\n ref: forwardedRef,\n suffix,\n customValidity,\n type = 'text',\n weight,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n const rootTheme = useRootTheme()\n\n const fontSize = _getArrayProp(fontSizeProp)\n const padding = _getArrayProp(paddingProp)\n const radius = _getArrayProp(radiusProp)\n const space = _getArrayProp(gap)\n\n // Transient properties\n const $hasClearButton = Boolean(clearButton)\n const $hasIcon = Boolean(IconComponent)\n const $hasIconRight = Boolean(IconRightComponent)\n const $hasSuffix = Boolean(suffix)\n const $hasPrefix = Boolean(prefix)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n\n if (onClear) onClear()\n\n // Focus the input, in case focus has been lost when clicking the clear button\n ref.current?.focus()\n },\n [onClear, ref],\n )\n\n // Render prefix (memoized)\n const prefixNode = useMemo(\n () =>\n prefix && (\n <Prefix borderTop borderLeft borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{prefix}</span>\n </Prefix>\n ),\n [prefix, radius],\n )\n\n // Render presentation (memoized)\n const presentationNode = useMemo(\n () => (\n <Presentation\n $hasPrefix={$hasPrefix}\n $unstableDisableFocusRing={__unstable_disableFocusRing}\n $hasSuffix={$hasSuffix}\n $radius={radius}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n >\n {IconComponent && (\n <LeftBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n </LeftBox>\n )}\n\n {!$hasClearButton && IconRightComponent && (\n <RightBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n </RightBox>\n )}\n </Presentation>\n ),\n [\n __unstable_disableFocusRing,\n border,\n fontSize,\n IconComponent,\n IconRightComponent,\n padding,\n radius,\n rootTheme,\n $hasClearButton,\n $hasPrefix,\n $hasSuffix,\n ],\n )\n\n // Render clear button (memoized)\n const clearButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const clearButtonPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return v - 1\n }),\n [padding],\n )\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (typeof clearButton === 'object' ? clearButton : EMPTY_RECORD),\n [clearButton],\n )\n const clearButtonNode = useMemo(\n () =>\n !disabled &&\n !readOnly &&\n clearButton && (\n <RightCard\n forwardedAs=\"span\"\n padding={clearButtonBoxPadding}\n style={CLEAR_BUTTON_BOX_STYLE}\n tone={customValidity ? 'critical' : 'inherit'}\n >\n <TextInputClearButton\n aria-label=\"Clear\"\n data-qa=\"clear-button\"\n fontSize={fontSize}\n icon={CloseIcon}\n mode=\"bleed\"\n padding={clearButtonPadding}\n radius={radius}\n {...clearButtonProps}\n onClick={handleClearClick}\n onMouseDown={handleClearMouseDown}\n />\n </RightCard>\n ),\n [\n clearButton,\n clearButtonBoxPadding,\n clearButtonPadding,\n clearButtonProps,\n customValidity,\n disabled,\n fontSize,\n handleClearClick,\n handleClearMouseDown,\n radius,\n readOnly,\n ],\n )\n\n // Render suffix (memoized)\n const suffixNode = useMemo(\n () =>\n suffix && (\n <Suffix borderTop borderRight borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{suffix}</span>\n </Suffix>\n ),\n [radius, suffix],\n )\n\n return (\n <StyledTextInput data-ui=\"TextInput\" tone={rootTheme.tone}>\n {prefixNode}\n\n <InputRoot>\n <Input\n data-as=\"input\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={fontSize}\n $iconLeft={$hasIcon}\n $iconRight={$hasIconRight || $hasClearButton}\n $padding={padding}\n $scheme={rootTheme.scheme}\n $space={space}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n {presentationNode}\n {clearButtonNode}\n </InputRoot>\n\n {suffixNode}\n </StyledTextInput>\n )\n}\n"],"mappings":"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"}
|
package/dist/toast.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { t as getTheme_v2 } from "./getTheme_v2-y09KqtEb.js";
|
|
3
3
|
import { d as createGlobalScopedContext, i as usePrefersReducedMotion, n as LayerProvider, r as isRecord, s as Card, t as useLayer, y as Box } from "./useLayer-BAVfmbNN.js";
|
|
4
4
|
import { t as Flex } from "./flex-C-5JHi1C.js";
|
|
5
|
-
import { n as Text, t as Stack } from "./stack-
|
|
6
|
-
import { t as Button } from "./button-
|
|
5
|
+
import { n as Text, t as Stack } from "./stack-C2HKTF-l.js";
|
|
6
|
+
import { t as Button } from "./button-D6Z-yLlP.js";
|
|
7
7
|
import { t as Grid } from "./grid-BXHFJhf_.js";
|
|
8
8
|
import { c } from "react/compiler-runtime";
|
|
9
9
|
import { startTransition, useContext, useState, useSyncExternalStore } from "react";
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stack-iW9HuGLg.js","names":["CSSObject","getTheme_v2","_responsive","ThemeProps","ResponsiveTextAlignStyleProps","responsiveTextAlignStyle","props","media","theme","$align","textAlign","CSSObject","ThemeProps","responsiveFont","ResponsiveFontStyleProps","responsiveTextFont","props","spanWithTextOverflow","SpanWithTextOverflow","props","$","_c","t0","children","css","getTheme_v2","ThemeProps","textBaseStyle","props","$accent","$muted","ReturnType","font","theme","code","family","text","weights","bold","styled","ThemeFontWeightKey","responsiveTextAlignStyle","responsiveTextFont","ResponsiveFontStyleProps","_getArrayProp","ElementType","Props","TextAlign","SpanWithTextOverflow","textBaseStyle","TextOwnProps","accent","align","muted","size","textOverflow","weight","TextProps","E","StyledText","div","TextComponent","props","$","_c","childrenProp","ref","restProps","t0","t1","t2","children","undefined","t3","t4","t5","t6","Text","React","JSX","Element","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveStackSpaceStyleProps","$space","BASE_STYLE","display","listStyle","stackBaseStyle","responsiveStackSpaceStyle","props","media","space","theme","spaceIndex","gridGap","styled","_getArrayProp","ElementType","Props","Box","BoxOwnProps","responsiveStackSpaceStyle","ResponsiveStackSpaceStyleProps","stackBaseStyle","StackOwnProps","gap","space","StackProps","E","StyledStack","StackComponent","props","$","_c","as","ref","restProps","t0","undefined","t1","t2","Stack","React","JSX","Element"],"sources":["../src/core/styles/font/textAlignStyle.ts","../src/core/styles/font/textFontStyle.ts","../src/core/utils/spanWithTextOverflow.css.ts","../src/core/utils/spanWithTextOverflow.tsx","../src/core/primitives/text/styles.ts","../src/core/primitives/text/text.tsx","../src/core/primitives/stack/styles.ts","../src/core/primitives/stack/stack.tsx"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveTextAlignStyleProps} from './types'\n\n/**\n * Get responsive text align styles.\n * @internal\n */\nexport function responsiveTextAlignStyle(\n props: ResponsiveTextAlignStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$align, (textAlign) => {\n return {textAlign}\n })\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `text` font style.\n * @internal\n */\nexport function responsiveTextFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('text', props)\n}\n","import {style} from '@vanilla-extract/css'\n\nexport const spanWithTextOverflow = style({\n display: 'block',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: ['hidden', 'clip'],\n})\n","import {spanWithTextOverflow} from './spanWithTextOverflow.css'\n\n/** @internal */\nexport function SpanWithTextOverflow(props: {children?: React.ReactNode}): React.JSX.Element {\n return <span className={spanWithTextOverflow}>{props.children}</span>\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {ThemeProps} from '../../styles/types'\n\nexport function textBaseStyle(\n props: {$accent?: boolean; $muted?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted} = props\n const {font} = getTheme_v2(props.theme)\n\n return css`\n color: var(--card-fg-color);\n\n ${\n $accent &&\n css`\n color: var(--card-accent-fg-color);\n `\n }\n\n ${\n $muted &&\n css`\n color: var(--card-muted-fg-color);\n `\n }\n\n & code {\n font-family: ${font.code.family};\n border-radius: 1px;\n background-color: var(--card-code-bg-color);\n color: var(--card-code-fg-color);\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: var(--card-link-color);\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px var(--card-bg-color),\n 0 0 0 3px var(--card-focus-ring-color);\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & strong {\n font-weight: ${font.text.weights.bold};\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n color: var(--card-icon-color);\n\n & path {\n vector-effect: non-scaling-stroke !important;\n }\n }\n `\n}\n","import {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {responsiveTextAlignStyle} from '../../styles/font/textAlignStyle'\nimport {responsiveTextFont} from '../../styles/font/textFontStyle'\nimport {ResponsiveFontStyleProps} from '../../styles/font/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {TextAlign} from '../../types/text'\nimport {SpanWithTextOverflow} from '../../utils/spanWithTextOverflow'\nimport {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextOwnProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n /** When `true` the text color will be muted. */\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\n/**\n * @public\n */\nexport type TextProps<E extends ElementType = 'div'> = Props<TextOwnProps, E>\n\nconst StyledText = styled.div<ResponsiveFontStyleProps>(\n responsiveTextFont,\n responsiveTextAlignStyle,\n textBaseStyle,\n)\n\nfunction TextComponent(\n props: TextOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n ref,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <StyledText\n data-ui=\"Text\"\n {...restProps}\n $accent={accent}\n $align={_getArrayProp(align)}\n $muted={muted}\n ref={ref}\n $size={_getArrayProp(size)}\n $weight={weight}\n >\n <span>{children}</span>\n </StyledText>\n )\n}\n\n/**\n * The `Text` component is an agile, themed typographic element.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Text = TextComponent as unknown as <E extends ElementType = 'div'>(\n props: TextProps<E>,\n) => React.JSX.Element\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\n\nexport interface ResponsiveStackSpaceStyleProps {\n $space: number[]\n}\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n 'gridTemplateColumns': 'minmax(0, 1fr)',\n 'gridAutoRows': 'min-content',\n}\n\nexport function stackBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveStackSpaceStyle(\n props: ResponsiveStackSpaceStyleProps & ThemeProps,\n): CSSObject[] {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$space, (spaceIndex) => ({\n // oxlint-disable-next-line no-deprecated\n gridGap: rem(space[spaceIndex]),\n }))\n}\n","import {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps, stackBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface StackOwnProps extends BoxOwnProps {\n gap?: number | number[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n}\n\n/**\n * @public\n */\nexport type StackProps<E extends ElementType = 'div'> = Props<StackOwnProps, E>\n\nconst StyledStack = styled(Box)<ResponsiveStackSpaceStyleProps>(\n stackBaseStyle,\n responsiveStackSpaceStyle,\n)\n\nfunction StackComponent(\n props: StackOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n) {\n const {as, gap, ref, ...restProps} = props\n\n return (\n <StyledStack\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Stack\"\n {...restProps}\n $space={_getArrayProp(gap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n}\n\n/**\n * The `Stack` component is used to place elements on top of each other.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Stack = StackComponent as unknown as <E extends ElementType = 'div'>(\n props: StackProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
|