@react-spectrum/s2 3.0.0-nightly-5ae234603-240925 → 3.0.0-nightly-a626c2596-240926
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/Button.cjs +5 -1
- package/dist/Button.cjs.map +1 -1
- package/dist/Button.css.map +1 -1
- package/dist/Button.mjs +5 -1
- package/dist/Button.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/Checkbox.cjs +4 -1
- package/dist/Checkbox.cjs.map +1 -1
- package/dist/Checkbox.css +4 -0
- package/dist/Checkbox.css.map +1 -1
- package/dist/Checkbox.mjs +4 -1
- package/dist/Checkbox.mjs.map +1 -1
- package/dist/ComboBox.cjs +3 -0
- package/dist/ComboBox.cjs.map +1 -1
- package/dist/ComboBox.css.map +1 -1
- package/dist/ComboBox.mjs +3 -0
- package/dist/ComboBox.mjs.map +1 -1
- package/dist/Content.cjs +0 -2
- package/dist/Content.cjs.map +1 -1
- package/dist/Content.mjs +1 -2
- package/dist/Content.mjs.map +1 -1
- package/dist/Dialog.cjs +7 -5
- package/dist/Dialog.cjs.map +1 -1
- package/dist/Dialog.css.map +1 -1
- package/dist/Dialog.mjs +8 -6
- package/dist/Dialog.mjs.map +1 -1
- package/dist/MoveHorizontalCircleTableWidget.cjs +33 -0
- package/dist/MoveHorizontalCircleTableWidget.cjs.map +1 -0
- package/dist/MoveHorizontalCircleTableWidget.mjs +28 -0
- package/dist/MoveHorizontalCircleTableWidget.mjs.map +1 -0
- package/dist/Picker.cjs +3 -0
- package/dist/Picker.cjs.map +1 -1
- package/dist/Picker.css.map +1 -1
- package/dist/Picker.mjs +3 -0
- package/dist/Picker.mjs.map +1 -1
- package/dist/Popover.cjs +1 -0
- package/dist/Popover.cjs.map +1 -1
- package/dist/Popover.css +4 -0
- package/dist/Popover.css.map +1 -1
- package/dist/Popover.mjs +1 -0
- package/dist/Popover.mjs.map +1 -1
- package/dist/Table.cjs +1093 -0
- package/dist/Table.cjs.map +1 -0
- package/dist/Table.css +821 -0
- package/dist/Table.css.map +1 -0
- package/dist/Table.mjs +1083 -0
- package/dist/Table.mjs.map +1 -0
- package/dist/TagGroup.cjs +5 -3
- package/dist/TagGroup.cjs.map +1 -1
- package/dist/TagGroup.css.map +1 -1
- package/dist/TagGroup.mjs +5 -3
- package/dist/TagGroup.mjs.map +1 -1
- package/dist/ar-AE.cjs +5 -0
- package/dist/ar-AE.cjs.map +1 -1
- package/dist/ar-AE.mjs +5 -0
- package/dist/ar-AE.mjs.map +1 -1
- package/dist/bg-BG.cjs +5 -0
- package/dist/bg-BG.cjs.map +1 -1
- package/dist/bg-BG.mjs +5 -0
- package/dist/bg-BG.mjs.map +1 -1
- package/dist/cs-CZ.cjs +5 -0
- package/dist/cs-CZ.cjs.map +1 -1
- package/dist/cs-CZ.mjs +5 -0
- package/dist/cs-CZ.mjs.map +1 -1
- package/dist/da-DK.cjs +5 -0
- package/dist/da-DK.cjs.map +1 -1
- package/dist/da-DK.mjs +5 -0
- package/dist/da-DK.mjs.map +1 -1
- package/dist/de-DE.cjs +5 -0
- package/dist/de-DE.cjs.map +1 -1
- package/dist/de-DE.mjs +5 -0
- package/dist/de-DE.mjs.map +1 -1
- package/dist/el-GR.cjs +5 -0
- package/dist/el-GR.cjs.map +1 -1
- package/dist/el-GR.mjs +5 -0
- package/dist/el-GR.mjs.map +1 -1
- package/dist/en-US.cjs +5 -0
- package/dist/en-US.cjs.map +1 -1
- package/dist/en-US.mjs +5 -0
- package/dist/en-US.mjs.map +1 -1
- package/dist/es-ES.cjs +5 -0
- package/dist/es-ES.cjs.map +1 -1
- package/dist/es-ES.mjs +5 -0
- package/dist/es-ES.mjs.map +1 -1
- package/dist/et-EE.cjs +5 -0
- package/dist/et-EE.cjs.map +1 -1
- package/dist/et-EE.mjs +5 -0
- package/dist/et-EE.mjs.map +1 -1
- package/dist/fi-FI.cjs +5 -0
- package/dist/fi-FI.cjs.map +1 -1
- package/dist/fi-FI.mjs +5 -0
- package/dist/fi-FI.mjs.map +1 -1
- package/dist/fr-FR.cjs +5 -0
- package/dist/fr-FR.cjs.map +1 -1
- package/dist/fr-FR.mjs +5 -0
- package/dist/fr-FR.mjs.map +1 -1
- package/dist/he-IL.cjs +5 -0
- package/dist/he-IL.cjs.map +1 -1
- package/dist/he-IL.mjs +5 -0
- package/dist/he-IL.mjs.map +1 -1
- package/dist/hr-HR.cjs +5 -0
- package/dist/hr-HR.cjs.map +1 -1
- package/dist/hr-HR.mjs +5 -0
- package/dist/hr-HR.mjs.map +1 -1
- package/dist/hu-HU.cjs +5 -0
- package/dist/hu-HU.cjs.map +1 -1
- package/dist/hu-HU.mjs +5 -0
- package/dist/hu-HU.mjs.map +1 -1
- package/dist/it-IT.cjs +5 -0
- package/dist/it-IT.cjs.map +1 -1
- package/dist/it-IT.mjs +5 -0
- package/dist/it-IT.mjs.map +1 -1
- package/dist/ja-JP.cjs +5 -0
- package/dist/ja-JP.cjs.map +1 -1
- package/dist/ja-JP.mjs +5 -0
- package/dist/ja-JP.mjs.map +1 -1
- package/dist/ko-KR.cjs +5 -0
- package/dist/ko-KR.cjs.map +1 -1
- package/dist/ko-KR.mjs +5 -0
- package/dist/ko-KR.mjs.map +1 -1
- package/dist/lt-LT.cjs +5 -0
- package/dist/lt-LT.cjs.map +1 -1
- package/dist/lt-LT.mjs +5 -0
- package/dist/lt-LT.mjs.map +1 -1
- package/dist/lv-LV.cjs +5 -0
- package/dist/lv-LV.cjs.map +1 -1
- package/dist/lv-LV.mjs +5 -0
- package/dist/lv-LV.mjs.map +1 -1
- package/dist/main.cjs +8 -0
- package/dist/main.cjs.map +1 -1
- package/dist/module.mjs +3 -1
- package/dist/module.mjs.map +1 -1
- package/dist/nb-NO.cjs +5 -0
- package/dist/nb-NO.cjs.map +1 -1
- package/dist/nb-NO.mjs +5 -0
- package/dist/nb-NO.mjs.map +1 -1
- package/dist/nl-NL.cjs +5 -0
- package/dist/nl-NL.cjs.map +1 -1
- package/dist/nl-NL.mjs +5 -0
- package/dist/nl-NL.mjs.map +1 -1
- package/dist/pl-PL.cjs +5 -0
- package/dist/pl-PL.cjs.map +1 -1
- package/dist/pl-PL.mjs +5 -0
- package/dist/pl-PL.mjs.map +1 -1
- package/dist/pt-BR.cjs +5 -0
- package/dist/pt-BR.cjs.map +1 -1
- package/dist/pt-BR.mjs +5 -0
- package/dist/pt-BR.mjs.map +1 -1
- package/dist/pt-PT.cjs +5 -0
- package/dist/pt-PT.cjs.map +1 -1
- package/dist/pt-PT.mjs +5 -0
- package/dist/pt-PT.mjs.map +1 -1
- package/dist/ro-RO.cjs +5 -0
- package/dist/ro-RO.cjs.map +1 -1
- package/dist/ro-RO.mjs +5 -0
- package/dist/ro-RO.mjs.map +1 -1
- package/dist/ru-RU.cjs +5 -0
- package/dist/ru-RU.cjs.map +1 -1
- package/dist/ru-RU.mjs +5 -0
- package/dist/ru-RU.mjs.map +1 -1
- package/dist/sk-SK.cjs +5 -0
- package/dist/sk-SK.cjs.map +1 -1
- package/dist/sk-SK.mjs +5 -0
- package/dist/sk-SK.mjs.map +1 -1
- package/dist/sl-SI.cjs +5 -0
- package/dist/sl-SI.cjs.map +1 -1
- package/dist/sl-SI.mjs +5 -0
- package/dist/sl-SI.mjs.map +1 -1
- package/dist/sr-SP.cjs +5 -0
- package/dist/sr-SP.cjs.map +1 -1
- package/dist/sr-SP.mjs +5 -0
- package/dist/sr-SP.mjs.map +1 -1
- package/dist/sv-SE.cjs +5 -0
- package/dist/sv-SE.cjs.map +1 -1
- package/dist/sv-SE.mjs +5 -0
- package/dist/sv-SE.mjs.map +1 -1
- package/dist/tr-TR.cjs +5 -0
- package/dist/tr-TR.cjs.map +1 -1
- package/dist/tr-TR.mjs +5 -0
- package/dist/tr-TR.mjs.map +1 -1
- package/dist/types.d.ts +90 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/uk-UA.cjs +5 -0
- package/dist/uk-UA.cjs.map +1 -1
- package/dist/uk-UA.mjs +5 -0
- package/dist/uk-UA.mjs.map +1 -1
- package/dist/utils.cjs +30 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.mjs +25 -0
- package/dist/utils.mjs.map +1 -0
- package/dist/zh-CN.cjs +5 -0
- package/dist/zh-CN.cjs.map +1 -1
- package/dist/zh-CN.mjs +5 -0
- package/dist/zh-CN.mjs.map +1 -1
- package/dist/zh-TW.cjs +5 -0
- package/dist/zh-TW.cjs.map +1 -1
- package/dist/zh-TW.mjs +5 -0
- package/dist/zh-TW.mjs.map +1 -1
- package/package.json +18 -16
- package/src/Button.tsx +22 -14
- package/src/Card.tsx +1 -1
- package/src/Checkbox.tsx +1 -0
- package/src/ComboBox.tsx +3 -0
- package/src/Content.tsx +1 -3
- package/src/Dialog.tsx +3 -2
- package/src/Picker.tsx +3 -0
- package/src/Popover.tsx +4 -1
- package/src/Table.tsx +1084 -48
- package/src/TagGroup.tsx +3 -2
- package/src/index.ts +2 -0
- package/src/utils.ts +28 -0
- package/style/__tests__/mergeStyles.test.js +32 -0
- package/style/__tests__/style-macro.test.js +128 -0
- package/style/dist/main.cjs +1984 -0
- package/style/dist/main.cjs.map +1 -0
- package/style/dist/module.mjs +1973 -0
- package/style/dist/module.mjs.map +1 -0
- package/style/dist/style-macro.cjs +543 -0
- package/style/dist/style-macro.cjs.map +1 -0
- package/style/dist/style-macro.mjs +534 -0
- package/style/dist/style-macro.mjs.map +1 -0
- package/style/dist/types.d.ts +780 -0
- package/style/dist/types.d.ts.map +1 -0
- package/style/runtime.ts +103 -0
- package/style/spectrum-theme.ts +974 -0
- package/style/style-macro.ts +638 -0
- package/style/tokens.ts +68 -0
- package/style/types.ts +177 -0
package/src/TagGroup.tsx
CHANGED
|
@@ -39,10 +39,11 @@ import {fontRelative, style} from '../style/spectrum-theme' with { type: 'macro'
|
|
|
39
39
|
import {FormContext, useFormProps} from './Form';
|
|
40
40
|
import {forwardRefType} from './types';
|
|
41
41
|
import {IconContext} from './Icon';
|
|
42
|
-
import {ImageContext
|
|
42
|
+
import {ImageContext} from './Image';
|
|
43
43
|
// @ts-ignore
|
|
44
44
|
import intlMessages from '../intl/*.json';
|
|
45
45
|
import {pressScale} from './pressScale';
|
|
46
|
+
import {Text, TextContext} from './Content';
|
|
46
47
|
import {useDOMRef} from '@react-spectrum/utils';
|
|
47
48
|
import {useEffectEvent, useId, useLayoutEffect, useResizeObserver} from '@react-aria/utils';
|
|
48
49
|
import {useLocalizedStringFormatter} from '@react-aria/i18n';
|
|
@@ -573,7 +574,7 @@ function TagWrapper({children, isDisabled, allowsRemoving, isInRealDOM}) {
|
|
|
573
574
|
styles: style({order: 0})
|
|
574
575
|
}],
|
|
575
576
|
[ImageContext, {
|
|
576
|
-
|
|
577
|
+
styles: style({
|
|
577
578
|
size: fontRelative(20),
|
|
578
579
|
flexShrink: 0,
|
|
579
580
|
order: 0,
|
package/src/index.ts
CHANGED
|
@@ -63,6 +63,7 @@ export {Skeleton, useIsSkeleton} from './Skeleton';
|
|
|
63
63
|
export {SkeletonCollection} from './SkeletonCollection';
|
|
64
64
|
export {StatusLight, StatusLightContext} from './StatusLight';
|
|
65
65
|
export {Switch, SwitchContext} from './Switch';
|
|
66
|
+
export {Table, TableHeader, TableBody, Row, Cell, Column} from './Table';
|
|
66
67
|
export {Tabs, TabList, Tab, TabPanel, TabsContext} from './Tabs';
|
|
67
68
|
export {TagGroup, Tag, TagGroupContext} from './TagGroup';
|
|
68
69
|
export {TextArea, TextField, TextAreaContext, TextFieldContext} from './TextField';
|
|
@@ -121,6 +122,7 @@ export type {SkeletonProps} from './Skeleton';
|
|
|
121
122
|
export type {SkeletonCollectionProps} from './SkeletonCollection';
|
|
122
123
|
export type {StatusLightProps} from './StatusLight';
|
|
123
124
|
export type {SwitchProps} from './Switch';
|
|
125
|
+
export type {TableProps, TableHeaderProps, TableBodyProps, RowProps, CellProps, ColumnProps} from './Table';
|
|
124
126
|
export type {TabsProps, TabProps, TabListProps, TabPanelProps} from './Tabs';
|
|
125
127
|
export type {TagGroupProps, TagProps} from './TagGroup';
|
|
126
128
|
export type {TextFieldProps, TextAreaProps} from './TextField';
|
package/src/utils.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import {useMediaQuery} from '@react-spectrum/utils';
|
|
14
|
+
|
|
15
|
+
export type Scale = 'large' | 'medium';
|
|
16
|
+
|
|
17
|
+
export function useIsMobileDevice(): boolean {
|
|
18
|
+
return useMediaQuery('(max-width: 640px)');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function useScale(): Scale {
|
|
22
|
+
let matchesFine = useMediaQuery('not ((hover: hover) and (pointer: fine))');
|
|
23
|
+
if (matchesFine) {
|
|
24
|
+
return 'large';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return 'medium';
|
|
28
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import {mergeStyles} from '../runtime';
|
|
14
|
+
import {style} from '../spectrum-theme';
|
|
15
|
+
|
|
16
|
+
describe('mergeStyles', () => {
|
|
17
|
+
it('should merge styles', () => {
|
|
18
|
+
let a = style({backgroundColor: 'red-1000', color: 'pink-100'});
|
|
19
|
+
let b = style({fontSize: 'body-xs', backgroundColor: 'gray-50'});
|
|
20
|
+
let expected = style({backgroundColor: 'gray-50', color: 'pink-100', fontSize: 'body-xs'});
|
|
21
|
+
let merged = mergeStyles(a, b);
|
|
22
|
+
expect(merged).toBe(expected);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('should merge with arbitrary values', () => {
|
|
26
|
+
let a = style({backgroundColor: 'red-1000', color: '[hotpink]'});
|
|
27
|
+
let b = style({fontSize: '[15px]', backgroundColor: 'gray-50'});
|
|
28
|
+
let expected = style({backgroundColor: 'gray-50', color: '[hotpink]', fontSize: '[15px]'});
|
|
29
|
+
let merged = mergeStyles(a, b);
|
|
30
|
+
expect(merged).toBe(expected);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import {style} from '../spectrum-theme';
|
|
14
|
+
|
|
15
|
+
function testStyle(...args) {
|
|
16
|
+
let css;
|
|
17
|
+
let js = style.apply(
|
|
18
|
+
{
|
|
19
|
+
addAsset({content}) {
|
|
20
|
+
css = content;
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
args
|
|
24
|
+
);
|
|
25
|
+
return {css, js};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
describe('style-macro', () => {
|
|
29
|
+
it('should handle nested css conditions', () => {
|
|
30
|
+
let {css, js} = testStyle({
|
|
31
|
+
marginTop: {
|
|
32
|
+
':first-child': {
|
|
33
|
+
default: 4,
|
|
34
|
+
lg: 8
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
expect(css).toMatchInlineSnapshot(`
|
|
40
|
+
".\\.:not(#a#b) { all: revert-layer }
|
|
41
|
+
|
|
42
|
+
@layer _.a, _.b, _.c, UNSAFE_overrides;
|
|
43
|
+
|
|
44
|
+
@layer _.b {
|
|
45
|
+
.A-13alit4c {
|
|
46
|
+
&:first-child {
|
|
47
|
+
margin-top: 0.25rem;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@layer _.c.e {
|
|
53
|
+
@media (min-width: 1024px) {
|
|
54
|
+
.A-13alit4ed {
|
|
55
|
+
&:first-child {
|
|
56
|
+
margin-top: 0.5rem;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
"
|
|
63
|
+
`);
|
|
64
|
+
expect(js).toMatchInlineSnapshot('" . A-13alit4c A-13alit4ed"');
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
it('should support self references', () => {
|
|
68
|
+
let {css} = testStyle({
|
|
69
|
+
borderWidth: 2,
|
|
70
|
+
paddingX: 'edge-to-text',
|
|
71
|
+
width: '[calc(200px - self(borderStartWidth) - self(paddingStart))]'
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
expect(css).toMatchInlineSnapshot(`
|
|
75
|
+
".\\.:not(#a#b) { all: revert-layer }
|
|
76
|
+
|
|
77
|
+
@layer _.a, _.b, UNSAFE_overrides;
|
|
78
|
+
|
|
79
|
+
@layer _.a {
|
|
80
|
+
.uc {
|
|
81
|
+
border-top-width: 2px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
.vc {
|
|
86
|
+
border-bottom-width: 2px;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
.s-375toy {
|
|
91
|
+
border-inline-start-width: var(--s);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
.tc {
|
|
96
|
+
border-inline-end-width: 2px;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
.C-375tnm {
|
|
101
|
+
padding-inline-start: var(--C);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
.DI {
|
|
106
|
+
padding-inline-end: calc(var(--k, var(--o)) * 3 / 8);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
.l-4s570k {
|
|
111
|
+
width: calc(200px - var(--s) - var(--C));
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
.-_375toy_s-c {
|
|
116
|
+
--s: 2px;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
.-_375tnm_C-I {
|
|
121
|
+
--C: calc(var(--k, var(--o)) * 3 / 8);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
"
|
|
126
|
+
`);
|
|
127
|
+
});
|
|
128
|
+
});
|