@react-spectrum/s2 0.7.1 → 0.8.0
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/ActionBar.cjs.map +1 -1
- package/dist/ActionBar.css.map +1 -1
- package/dist/ActionBar.mjs.map +1 -1
- package/dist/ActionButton.cjs +26 -7
- package/dist/ActionButton.cjs.map +1 -1
- package/dist/ActionButton.css +74 -18
- package/dist/ActionButton.css.map +1 -1
- package/dist/ActionButton.mjs +26 -7
- package/dist/ActionButton.mjs.map +1 -1
- package/dist/Add.cjs.map +1 -1
- package/dist/Add.mjs.map +1 -1
- package/dist/Asterisk.cjs.map +1 -1
- package/dist/Asterisk.mjs.map +1 -1
- package/dist/Breadcrumbs.cjs.map +1 -1
- package/dist/Breadcrumbs.css.map +1 -1
- package/dist/Breadcrumbs.mjs.map +1 -1
- package/dist/Button.cjs.map +1 -1
- package/dist/Button.css.map +1 -1
- package/dist/Button.mjs.map +1 -1
- package/dist/ButtonGroup.cjs +3 -2
- package/dist/ButtonGroup.cjs.map +1 -1
- package/dist/ButtonGroup.css.map +1 -1
- package/dist/ButtonGroup.mjs +3 -2
- package/dist/ButtonGroup.mjs.map +1 -1
- package/dist/Card.cjs +1 -1
- package/dist/Card.cjs.map +1 -1
- package/dist/Card.css.map +1 -1
- package/dist/Card.mjs +1 -1
- package/dist/Card.mjs.map +1 -1
- package/dist/CenterBaseline.cjs.map +1 -1
- package/dist/CenterBaseline.css.map +1 -1
- package/dist/CenterBaseline.mjs.map +1 -1
- package/dist/Checkmark.cjs.map +1 -1
- package/dist/Checkmark.mjs.map +1 -1
- package/dist/Chevron.cjs.map +1 -1
- package/dist/Chevron.mjs.map +1 -1
- package/dist/ColorHandle.cjs.map +1 -1
- package/dist/ColorHandle.css.map +1 -1
- package/dist/ColorHandle.mjs.map +1 -1
- package/dist/ColorSwatchPicker.cjs +2 -2
- package/dist/ColorSwatchPicker.cjs.map +1 -1
- package/dist/ColorSwatchPicker.css.map +1 -1
- package/dist/ColorSwatchPicker.mjs +2 -2
- package/dist/ColorSwatchPicker.mjs.map +1 -1
- package/dist/ComboBox.cjs.map +1 -1
- package/dist/ComboBox.css.map +1 -1
- package/dist/ComboBox.mjs.map +1 -1
- package/dist/Content.cjs +6 -6
- package/dist/Content.cjs.map +1 -1
- package/dist/Content.mjs +6 -6
- package/dist/Content.mjs.map +1 -1
- package/dist/Cross.cjs.map +1 -1
- package/dist/Cross.mjs.map +1 -1
- package/dist/Dash.cjs.map +1 -1
- package/dist/Dash.mjs.map +1 -1
- package/dist/DialogContainer.cjs.map +1 -1
- package/dist/DialogContainer.mjs.map +1 -1
- package/dist/DialogTrigger.cjs.map +1 -1
- package/dist/DialogTrigger.mjs.map +1 -1
- package/dist/Disclosure.cjs +24 -21
- package/dist/Disclosure.cjs.map +1 -1
- package/dist/Disclosure.css +12 -20
- package/dist/Disclosure.css.map +1 -1
- package/dist/Disclosure.mjs +24 -21
- package/dist/Disclosure.mjs.map +1 -1
- package/dist/Divider.cjs +6 -0
- package/dist/Divider.cjs.map +1 -1
- package/dist/Divider.css +8 -0
- package/dist/Divider.css.map +1 -1
- package/dist/Divider.mjs +6 -0
- package/dist/Divider.mjs.map +1 -1
- package/dist/Field.cjs.map +1 -1
- package/dist/Field.css.map +1 -1
- package/dist/Field.mjs.map +1 -1
- package/dist/Image.cjs +1 -1
- package/dist/Image.cjs.map +1 -1
- package/dist/Image.css.map +1 -1
- package/dist/Image.mjs +1 -1
- package/dist/Image.mjs.map +1 -1
- package/dist/ImageCoordinator.cjs.map +1 -1
- package/dist/ImageCoordinator.mjs.map +1 -1
- package/dist/Link.cjs.map +1 -1
- package/dist/Link.css.map +1 -1
- package/dist/Link.mjs.map +1 -1
- package/dist/LinkOut.cjs.map +1 -1
- package/dist/LinkOut.mjs.map +1 -1
- package/dist/Menu.cjs.map +1 -1
- package/dist/Menu.css.map +1 -1
- package/dist/Menu.mjs.map +1 -1
- package/dist/NotificationBadge.cjs +163 -0
- package/dist/NotificationBadge.cjs.map +1 -0
- package/dist/NotificationBadge.css +227 -0
- package/dist/NotificationBadge.css.map +1 -0
- package/dist/NotificationBadge.mjs +157 -0
- package/dist/NotificationBadge.mjs.map +1 -0
- package/dist/Picker.cjs.map +1 -1
- package/dist/Picker.css.map +1 -1
- package/dist/Picker.mjs.map +1 -1
- package/dist/Provider.cjs.map +1 -1
- package/dist/Provider.css.map +1 -1
- package/dist/Provider.mjs.map +1 -1
- package/dist/Slider.cjs.map +1 -1
- package/dist/Slider.css.map +1 -1
- package/dist/Slider.mjs.map +1 -1
- package/dist/StatusLight.cjs +2 -2
- package/dist/StatusLight.cjs.map +1 -1
- package/dist/StatusLight.css.map +1 -1
- package/dist/StatusLight.mjs +2 -2
- package/dist/StatusLight.mjs.map +1 -1
- package/dist/Tabs.cjs +1 -0
- package/dist/Tabs.cjs.map +1 -1
- package/dist/Tabs.css.map +1 -1
- package/dist/Tabs.mjs +1 -0
- package/dist/Tabs.mjs.map +1 -1
- package/dist/TabsPicker.cjs.map +1 -1
- package/dist/TabsPicker.css.map +1 -1
- package/dist/TabsPicker.mjs.map +1 -1
- package/dist/Toast.cjs +557 -0
- package/dist/Toast.cjs.map +1 -0
- package/dist/Toast.css +461 -0
- package/dist/Toast.css.map +1 -0
- package/dist/Toast.mjs +551 -0
- package/dist/Toast.mjs.map +1 -0
- package/dist/Toast_module.cjs +70 -0
- package/dist/Toast_module.cjs.map +1 -0
- package/dist/Toast_module.css +119 -0
- package/dist/Toast_module.css.map +1 -0
- package/dist/Toast_module.mjs +72 -0
- package/dist/Toast_module.mjs.map +1 -0
- package/dist/ToggleButton.cjs.map +1 -1
- package/dist/ToggleButton.css.map +1 -1
- package/dist/ToggleButton.mjs.map +1 -1
- package/dist/Tooltip.cjs.map +1 -1
- package/dist/Tooltip.css.map +1 -1
- package/dist/Tooltip.mjs.map +1 -1
- package/dist/TreeView.cjs.map +1 -1
- package/dist/TreeView.css.map +1 -1
- package/dist/TreeView.mjs.map +1 -1
- package/dist/ar-AE.cjs +6 -1
- package/dist/ar-AE.cjs.map +1 -1
- package/dist/ar-AE.mjs +6 -1
- package/dist/ar-AE.mjs.map +1 -1
- package/dist/bg-BG.cjs +6 -1
- package/dist/bg-BG.cjs.map +1 -1
- package/dist/bg-BG.mjs +6 -1
- package/dist/bg-BG.mjs.map +1 -1
- package/dist/cs-CZ.cjs +10 -2
- package/dist/cs-CZ.cjs.map +1 -1
- package/dist/cs-CZ.mjs +10 -2
- package/dist/cs-CZ.mjs.map +1 -1
- package/dist/da-DK.cjs +8 -3
- package/dist/da-DK.cjs.map +1 -1
- package/dist/da-DK.mjs +8 -3
- package/dist/da-DK.mjs.map +1 -1
- package/dist/de-DE.cjs +7 -3
- package/dist/de-DE.cjs.map +1 -1
- package/dist/de-DE.mjs +7 -3
- package/dist/de-DE.mjs.map +1 -1
- package/dist/el-GR.cjs +6 -1
- package/dist/el-GR.cjs.map +1 -1
- package/dist/el-GR.mjs +6 -1
- package/dist/el-GR.mjs.map +1 -1
- package/dist/en-US.cjs +6 -1
- package/dist/en-US.cjs.map +1 -1
- package/dist/en-US.mjs +6 -1
- package/dist/en-US.mjs.map +1 -1
- package/dist/es-ES.cjs +10 -6
- package/dist/es-ES.cjs.map +1 -1
- package/dist/es-ES.mjs +10 -6
- package/dist/es-ES.mjs.map +1 -1
- package/dist/et-EE.cjs +6 -1
- package/dist/et-EE.cjs.map +1 -1
- package/dist/et-EE.mjs +6 -1
- package/dist/et-EE.mjs.map +1 -1
- package/dist/fi-FI.cjs +7 -2
- package/dist/fi-FI.cjs.map +1 -1
- package/dist/fi-FI.mjs +7 -2
- package/dist/fi-FI.mjs.map +1 -1
- package/dist/fr-FR.cjs +7 -3
- package/dist/fr-FR.cjs.map +1 -1
- package/dist/fr-FR.mjs +7 -3
- package/dist/fr-FR.mjs.map +1 -1
- package/dist/he-IL.cjs +9 -5
- package/dist/he-IL.cjs.map +1 -1
- package/dist/he-IL.mjs +9 -5
- package/dist/he-IL.mjs.map +1 -1
- package/dist/hr-HR.cjs +11 -3
- package/dist/hr-HR.cjs.map +1 -1
- package/dist/hr-HR.mjs +11 -3
- package/dist/hr-HR.mjs.map +1 -1
- package/dist/hu-HU.cjs +6 -1
- package/dist/hu-HU.cjs.map +1 -1
- package/dist/hu-HU.mjs +6 -1
- package/dist/hu-HU.mjs.map +1 -1
- package/dist/it-IT.cjs +6 -2
- package/dist/it-IT.cjs.map +1 -1
- package/dist/it-IT.mjs +6 -2
- package/dist/it-IT.mjs.map +1 -1
- package/dist/ja-JP.cjs +7 -2
- package/dist/ja-JP.cjs.map +1 -1
- package/dist/ja-JP.mjs +7 -2
- package/dist/ja-JP.mjs.map +1 -1
- package/dist/ko-KR.cjs +8 -3
- package/dist/ko-KR.cjs.map +1 -1
- package/dist/ko-KR.mjs +8 -3
- package/dist/ko-KR.mjs.map +1 -1
- package/dist/lt-LT.cjs +8 -3
- package/dist/lt-LT.cjs.map +1 -1
- package/dist/lt-LT.mjs +8 -3
- package/dist/lt-LT.mjs.map +1 -1
- package/dist/lv-LV.cjs +9 -4
- package/dist/lv-LV.cjs.map +1 -1
- package/dist/lv-LV.mjs +9 -4
- package/dist/lv-LV.mjs.map +1 -1
- package/dist/main.cjs +9 -0
- package/dist/main.cjs.map +1 -1
- package/dist/module.mjs +6 -2
- package/dist/module.mjs.map +1 -1
- package/dist/nb-NO.cjs +12 -4
- package/dist/nb-NO.cjs.map +1 -1
- package/dist/nb-NO.mjs +12 -4
- package/dist/nb-NO.mjs.map +1 -1
- package/dist/nl-NL.cjs +6 -1
- package/dist/nl-NL.cjs.map +1 -1
- package/dist/nl-NL.mjs +6 -1
- package/dist/nl-NL.mjs.map +1 -1
- package/dist/pl-PL.cjs +11 -3
- package/dist/pl-PL.cjs.map +1 -1
- package/dist/pl-PL.mjs +11 -3
- package/dist/pl-PL.mjs.map +1 -1
- package/dist/pressScale.cjs.map +1 -1
- package/dist/pressScale.mjs.map +1 -1
- package/dist/pt-BR.cjs +6 -1
- package/dist/pt-BR.cjs.map +1 -1
- package/dist/pt-BR.mjs +6 -1
- package/dist/pt-BR.mjs.map +1 -1
- package/dist/pt-PT.cjs +6 -1
- package/dist/pt-PT.cjs.map +1 -1
- package/dist/pt-PT.mjs +6 -1
- package/dist/pt-PT.mjs.map +1 -1
- package/dist/ro-RO.cjs +8 -4
- package/dist/ro-RO.cjs.map +1 -1
- package/dist/ro-RO.mjs +8 -4
- package/dist/ro-RO.mjs.map +1 -1
- package/dist/ru-RU.cjs +11 -3
- package/dist/ru-RU.cjs.map +1 -1
- package/dist/ru-RU.mjs +11 -3
- package/dist/ru-RU.mjs.map +1 -1
- package/dist/sk-SK.cjs +10 -2
- package/dist/sk-SK.cjs.map +1 -1
- package/dist/sk-SK.mjs +10 -2
- package/dist/sk-SK.mjs.map +1 -1
- package/dist/sl-SI.cjs +11 -3
- package/dist/sl-SI.cjs.map +1 -1
- package/dist/sl-SI.mjs +11 -3
- package/dist/sl-SI.mjs.map +1 -1
- package/dist/sr-SP.cjs +10 -2
- package/dist/sr-SP.cjs.map +1 -1
- package/dist/sr-SP.mjs +10 -2
- package/dist/sr-SP.mjs.map +1 -1
- package/dist/sv-SE.cjs +6 -2
- package/dist/sv-SE.cjs.map +1 -1
- package/dist/sv-SE.mjs +6 -2
- package/dist/sv-SE.mjs.map +1 -1
- package/dist/tr-TR.cjs +7 -2
- package/dist/tr-TR.cjs.map +1 -1
- package/dist/tr-TR.mjs +7 -2
- package/dist/tr-TR.mjs.map +1 -1
- package/dist/types.d.ts +97 -29
- package/dist/types.d.ts.map +1 -1
- package/dist/uk-UA.cjs +10 -2
- package/dist/uk-UA.cjs.map +1 -1
- package/dist/uk-UA.mjs +10 -2
- package/dist/uk-UA.mjs.map +1 -1
- package/dist/zh-CN.cjs +6 -1
- package/dist/zh-CN.cjs.map +1 -1
- package/dist/zh-CN.mjs +6 -1
- package/dist/zh-CN.mjs.map +1 -1
- package/dist/zh-TW.cjs +6 -1
- package/dist/zh-TW.cjs.map +1 -1
- package/dist/zh-TW.mjs +6 -1
- package/dist/zh-TW.mjs.map +1 -1
- package/icons/Skeleton.cjs.map +1 -1
- package/icons/Skeleton.css.map +1 -1
- package/icons/Skeleton.mjs.map +1 -1
- package/package.json +21 -19
- package/src/ActionBar.tsx +9 -2
- package/src/ActionButton.tsx +38 -3
- package/src/Breadcrumbs.tsx +1 -1
- package/src/Button.tsx +2 -2
- package/src/ButtonGroup.tsx +4 -2
- package/src/Calendar.tsx +2 -1
- package/src/Card.tsx +1 -1
- package/src/CenterBaseline.tsx +1 -1
- package/src/ColorHandle.tsx +2 -2
- package/src/ColorSwatchPicker.tsx +2 -1
- package/src/ComboBox.tsx +2 -2
- package/src/Content.tsx +6 -6
- package/src/DateField.tsx +1 -1
- package/src/DatePicker.tsx +1 -1
- package/src/DateRangePicker.tsx +1 -1
- package/src/DialogContainer.tsx +2 -2
- package/src/DialogTrigger.tsx +2 -1
- package/src/Disclosure.tsx +18 -24
- package/src/Divider.tsx +2 -0
- package/src/Field.tsx +2 -2
- package/src/Image.tsx +1 -1
- package/src/ImageCoordinator.tsx +3 -3
- package/src/Link.tsx +1 -1
- package/src/ListBox.tsx +3 -2
- package/src/Menu.tsx +5 -5
- package/src/NotificationBadge.tsx +172 -0
- package/src/Picker.tsx +2 -2
- package/src/Provider.tsx +1 -1
- package/src/RangeCalendar.tsx +2 -1
- package/src/Skeleton.tsx +4 -4
- package/src/Slider.tsx +1 -1
- package/src/StatusLight.tsx +2 -2
- package/src/Tabs.tsx +4 -3
- package/src/TabsPicker.tsx +1 -1
- package/src/TimeField.tsx +1 -1
- package/src/Toast.module.css +153 -0
- package/src/Toast.tsx +579 -0
- package/src/ToggleButton.tsx +1 -1
- package/src/Toolbar.tsx +2 -1
- package/src/Tooltip.tsx +2 -2
- package/src/TreeView.tsx +2 -2
- package/src/index.ts +6 -1
- package/src/page.macro.ts +3 -3
- package/src/pressScale.ts +1 -1
- package/src/style-utils.ts +2 -2
- package/style/dist/main.cjs +18 -18
- package/style/dist/module.mjs +9 -9
- package/style/dist/spectrum-theme.cjs +191 -191
- package/style/dist/spectrum-theme.cjs.map +1 -1
- package/style/dist/spectrum-theme.mjs +183 -183
- package/style/dist/spectrum-theme.mjs.map +1 -1
- package/style/dist/style-macro.cjs +74 -74
- package/style/dist/style-macro.cjs.map +1 -1
- package/style/dist/style-macro.mjs +68 -68
- package/style/dist/style-macro.mjs.map +1 -1
- package/style/dist/types.d.ts +4 -4
- package/style/dist/types.d.ts.map +1 -1
- package/style/spectrum-theme.ts +5 -5
- package/style/style-macro.ts +3 -3
- package/style/tokens.ts +22 -6
package/src/Provider.tsx
CHANGED
|
@@ -50,7 +50,7 @@ export interface ProviderProps extends UnsafeStyles {
|
|
|
50
50
|
|
|
51
51
|
export const ColorSchemeContext = createContext<ColorScheme | 'light dark' | null>(null);
|
|
52
52
|
|
|
53
|
-
export function Provider(props: ProviderProps) {
|
|
53
|
+
export function Provider(props: ProviderProps): ReactNode {
|
|
54
54
|
let result = <ProviderInner {...props} />;
|
|
55
55
|
let parentColorScheme = useContext(ColorSchemeContext);
|
|
56
56
|
let colorScheme = props.colorScheme || parentColorScheme;
|
package/src/RangeCalendar.tsx
CHANGED
|
@@ -20,6 +20,7 @@ import {
|
|
|
20
20
|
Heading,
|
|
21
21
|
Text
|
|
22
22
|
} from 'react-aria-components';
|
|
23
|
+
import {ReactNode} from 'react';
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
export interface RangeCalendarProps<T extends DateValue>
|
|
@@ -29,7 +30,7 @@ export interface RangeCalendarProps<T extends DateValue>
|
|
|
29
30
|
|
|
30
31
|
export function RangeCalendar<T extends DateValue>(
|
|
31
32
|
{errorMessage, ...props}: RangeCalendarProps<T>
|
|
32
|
-
) {
|
|
33
|
+
): ReactNode {
|
|
33
34
|
return (
|
|
34
35
|
<AriaRangeCalendar {...props}>
|
|
35
36
|
<header>
|
package/src/Skeleton.tsx
CHANGED
|
@@ -19,7 +19,7 @@ import {style} from '../style' with {type: 'macro'};
|
|
|
19
19
|
import {StyleString} from '../style/types';
|
|
20
20
|
import {useMediaQuery} from '@react-spectrum/utils';
|
|
21
21
|
|
|
22
|
-
export function useLoadingAnimation(isAnimating: boolean) {
|
|
22
|
+
export function useLoadingAnimation(isAnimating: boolean): (element: HTMLElement | null) => void {
|
|
23
23
|
let animationRef = useRef<Animation | null>(null);
|
|
24
24
|
let reduceMotion = useMediaQuery('(prefers-reduced-motion: reduce)');
|
|
25
25
|
return useCallback((element: HTMLElement | null) => {
|
|
@@ -65,7 +65,7 @@ export interface SkeletonProps {
|
|
|
65
65
|
/**
|
|
66
66
|
* A Skeleton wraps around content to render it as a placeholder.
|
|
67
67
|
*/
|
|
68
|
-
export function Skeleton({children, isLoading}: SkeletonProps) {
|
|
68
|
+
export function Skeleton({children, isLoading}: SkeletonProps): ReactNode {
|
|
69
69
|
// Disable all form components inside a skeleton.
|
|
70
70
|
return (
|
|
71
71
|
<SkeletonContext.Provider value={isLoading}>
|
|
@@ -97,7 +97,7 @@ export function useSkeletonText(children: ReactNode, style: CSSProperties | unde
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
// Rendered inside <Text> to create skeleton line boxes via box-decoration-break.
|
|
100
|
-
export function SkeletonText({children}) {
|
|
100
|
+
export function SkeletonText({children}: {children: ReactNode}): ReactNode {
|
|
101
101
|
return (
|
|
102
102
|
<span
|
|
103
103
|
// @ts-ignore - compatibility with React < 19
|
|
@@ -114,7 +114,7 @@ export function SkeletonText({children}) {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
// Clones the child element and displays it with skeleton styling.
|
|
117
|
-
export function SkeletonWrapper({children}: {children: SkeletonElement}) {
|
|
117
|
+
export function SkeletonWrapper({children}: {children: SkeletonElement}): ReactNode {
|
|
118
118
|
let isLoading = useContext(SkeletonContext);
|
|
119
119
|
let animation = useLoadingAnimation(isLoading || false);
|
|
120
120
|
if (isLoading == null) {
|
package/src/Slider.tsx
CHANGED
|
@@ -317,7 +317,7 @@ export let filledTrack = style({
|
|
|
317
317
|
translateY: '[-50%]'
|
|
318
318
|
});
|
|
319
319
|
|
|
320
|
-
export function SliderBase<T extends number | number[]>(props: SliderBaseProps<T> & {sliderRef: RefObject<HTMLDivElement | null>}) {
|
|
320
|
+
export function SliderBase<T extends number | number[]>(props: SliderBaseProps<T> & {sliderRef: RefObject<HTMLDivElement | null>}): ReactNode {
|
|
321
321
|
let formContext = useContext(FormContext);
|
|
322
322
|
props = useFormProps(props);
|
|
323
323
|
let {
|
package/src/StatusLight.tsx
CHANGED
|
@@ -112,11 +112,11 @@ export const StatusLight = /*#__PURE__*/ forwardRef(function StatusLight(props:
|
|
|
112
112
|
let domRef = useDOMRef(ref);
|
|
113
113
|
let isSkeleton = useIsSkeleton();
|
|
114
114
|
|
|
115
|
-
if (!children && !props['aria-label']) {
|
|
115
|
+
if (!children && !props['aria-label'] && process.env.NODE_ENV !== 'production') {
|
|
116
116
|
console.warn('If no children are provided, an aria-label must be specified');
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
if (!role && (props['aria-label'] || props['aria-labelledby'])) {
|
|
119
|
+
if (!role && (props['aria-label'] || props['aria-labelledby']) && process.env.NODE_ENV !== 'production') {
|
|
120
120
|
console.warn('A labelled StatusLight must have a role.');
|
|
121
121
|
}
|
|
122
122
|
|
package/src/Tabs.tsx
CHANGED
|
@@ -182,12 +182,13 @@ const tablist = style({
|
|
|
182
182
|
flexBasis: '[0%]'
|
|
183
183
|
});
|
|
184
184
|
|
|
185
|
-
export function TabList<T extends object>(props: TabListProps<T>) {
|
|
185
|
+
export function TabList<T extends object>(props: TabListProps<T>): ReactNode | null {
|
|
186
186
|
let {showTabs} = useContext(CollapseContext) ?? {};
|
|
187
187
|
|
|
188
188
|
if (showTabs) {
|
|
189
189
|
return <TabListInner {...props} />;
|
|
190
190
|
}
|
|
191
|
+
return null;
|
|
191
192
|
}
|
|
192
193
|
|
|
193
194
|
function TabListInner<T extends object>(props: TabListProps<T>) {
|
|
@@ -362,7 +363,7 @@ const icon = style({
|
|
|
362
363
|
}
|
|
363
364
|
});
|
|
364
365
|
|
|
365
|
-
export function Tab(props: TabProps) {
|
|
366
|
+
export function Tab(props: TabProps): ReactNode {
|
|
366
367
|
let {density, labelBehavior} = useContext(InternalTabsContext) ?? {};
|
|
367
368
|
|
|
368
369
|
let contentId = useId();
|
|
@@ -421,7 +422,7 @@ const tabPanel = style({
|
|
|
421
422
|
minWidth: 0
|
|
422
423
|
}, getAllowedOverrides({height: true}));
|
|
423
424
|
|
|
424
|
-
export function TabPanel(props: TabPanelProps) {
|
|
425
|
+
export function TabPanel(props: TabPanelProps): ReactNode | null {
|
|
425
426
|
let {showTabs} = useContext(CollapseContext);
|
|
426
427
|
let {selectedKey} = useContext(InternalTabsContext);
|
|
427
428
|
if (showTabs) {
|
package/src/TabsPicker.tsx
CHANGED
|
@@ -305,7 +305,7 @@ function TabLine(props) {
|
|
|
305
305
|
export interface PickerItemProps extends Omit<ListBoxItemProps, 'children' | 'style' | 'className'>, StyleProps {
|
|
306
306
|
children: ReactNode
|
|
307
307
|
}
|
|
308
|
-
export function PickerItem(props: PickerItemProps) {
|
|
308
|
+
export function PickerItem(props: PickerItemProps): ReactNode {
|
|
309
309
|
let ref = useRef(null);
|
|
310
310
|
let isLink = props.href != null;
|
|
311
311
|
const size = 'M';
|
package/src/TimeField.tsx
CHANGED
|
@@ -30,7 +30,7 @@ export interface TimeFieldProps<T extends TimeValue>
|
|
|
30
30
|
|
|
31
31
|
export function TimeField<T extends TimeValue>(
|
|
32
32
|
{label, description, errorMessage, ...props}: TimeFieldProps<T>
|
|
33
|
-
) {
|
|
33
|
+
): ReactNode {
|
|
34
34
|
return (
|
|
35
35
|
<AriaTimeField {...props}>
|
|
36
36
|
<Label>{label}</Label>
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/* Safari doesn't support :active-view-transition-type() yet, so we fall back to a class on the html element */
|
|
2
|
+
html.toast-add,
|
|
3
|
+
html.toast-remove,
|
|
4
|
+
html.toast-expand,
|
|
5
|
+
html.toast-collapse,
|
|
6
|
+
html.toast-clear,
|
|
7
|
+
html:active-view-transition-type(toast-add, toast-remove, toast-expand, toast-collapse, toast-clear) {
|
|
8
|
+
view-transition-name: none;
|
|
9
|
+
|
|
10
|
+
.toast-controls {
|
|
11
|
+
view-transition-name: toast-controls;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.toast-background {
|
|
15
|
+
view-transition-name: toast-background;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&::view-transition-group(toast-background) {
|
|
19
|
+
z-index: -1;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&::view-transition-group(*) {
|
|
23
|
+
animation-duration: 400ms;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
html.toast-add,
|
|
28
|
+
html.toast-remove,
|
|
29
|
+
html:active-view-transition-type(toast-add, toast-remove) {
|
|
30
|
+
/* The new toast should slide in and out. With reduce motion enabled, it fades by default. */
|
|
31
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
32
|
+
&::view-transition-new(.toast):only-child {
|
|
33
|
+
animation-name: slide-in;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&::view-transition-old(.toast):only-child {
|
|
37
|
+
animation-name: slide-out;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&::view-transition-group(.toast.bottom) {
|
|
42
|
+
--slideX: 0;
|
|
43
|
+
--slideY: calc(100% + 12px);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&::view-transition-group(.toast.top) {
|
|
47
|
+
--slideX: 0;
|
|
48
|
+
--slideY: calc(-100% - 12px);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&::view-transition-group(.toast.start) {
|
|
52
|
+
--slideX: calc(-100% - 12px);
|
|
53
|
+
--slideY: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&::view-transition-group(.toast.end) {
|
|
57
|
+
--slideX: calc(100% + 12px);
|
|
58
|
+
--slideY: 0;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/* Make the "Show all" button animate slightly faster/slower than other components when expanding/collapsing.
|
|
63
|
+
* This prevents it from appearing to overlap the text when it fades out and the text repositions. */
|
|
64
|
+
html.toast-expand,
|
|
65
|
+
html:active-view-transition-type(toast-expand) {
|
|
66
|
+
&::view-transition-group(toast-expand) {
|
|
67
|
+
animation-duration: 300ms;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
html.toast-collapse,
|
|
72
|
+
html:active-view-transition-type(toast-collapse) {
|
|
73
|
+
&::view-transition-group(toast-expand) {
|
|
74
|
+
animation-duration: 600ms;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
html.toast-expand,
|
|
79
|
+
html.toast-collapse,
|
|
80
|
+
html:active-view-transition-type(toast-expand, toast-collapse) {
|
|
81
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
82
|
+
/* When expanding/collapsing, animate the components of the main toast individually. */
|
|
83
|
+
.toast-content {
|
|
84
|
+
view-transition-name: toast-content;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.toast-expand {
|
|
88
|
+
view-transition-name: toast-expand;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.toast-action {
|
|
92
|
+
view-transition-name: toast-action;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.toast-close {
|
|
96
|
+
view-transition-name: toast-close;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* Force toast controls to be visible during the animation */
|
|
100
|
+
.toast-controls {
|
|
101
|
+
display: flex;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* Smoothly transition the size of toasts. */
|
|
105
|
+
&::view-transition-old(.toast),
|
|
106
|
+
&::view-transition-new(.toast) {
|
|
107
|
+
/* Make the old and new images fill the size of the parent group. */
|
|
108
|
+
height: 100%;
|
|
109
|
+
width: 100%;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/* Background toasts don't have their components split apart in separate view transitions.
|
|
113
|
+
* This means we need to do some tricks to get the aspect ratio to transition smoothly.
|
|
114
|
+
* Clipping messes up the shadows a bit, but it's less noticeable on the background toasts. */
|
|
115
|
+
&::view-transition-old(.background-toast),
|
|
116
|
+
&::view-transition-new(.background-toast) {
|
|
117
|
+
/* Cover all of the available space without stretching the aspect ratio */
|
|
118
|
+
object-fit: cover;
|
|
119
|
+
object-position: top center;
|
|
120
|
+
/* Clip to retain rounded corners */
|
|
121
|
+
clip-path: inset(0px round 10px);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
@media (prefers-reduced-motion) {
|
|
126
|
+
/* Do not animate individual toasts in reduced motion. The whole list cross-fades instead. */
|
|
127
|
+
.toast {
|
|
128
|
+
view-transition-name: none !important;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.toast-list-expanded {
|
|
132
|
+
view-transition-name: toast-list-expanded;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.toast-list-collapsed {
|
|
136
|
+
view-transition-name: toast-list-collapsed;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
@keyframes slide-in {
|
|
142
|
+
from {
|
|
143
|
+
translate: var(--slideX) var(--slideY);
|
|
144
|
+
opacity: 0;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
@keyframes slide-out {
|
|
149
|
+
to {
|
|
150
|
+
translate: var(--slideX) var(--slideY);
|
|
151
|
+
opacity: 0;
|
|
152
|
+
}
|
|
153
|
+
}
|