@atlaskit/react-select 1.4.0 → 1.4.2
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/CHANGELOG.md +16 -0
- package/dist/cjs/accessibility/index.js +9 -7
- package/dist/cjs/components/containers.js +9 -7
- package/dist/cjs/components/control.js +58 -13
- package/dist/cjs/components/group.js +11 -11
- package/dist/cjs/components/indicators.js +39 -34
- package/dist/cjs/components/input.js +1 -1
- package/dist/cjs/components/internal/a11y-text.js +2 -0
- package/dist/cjs/components/live-region.js +6 -3
- package/dist/cjs/components/menu.js +4 -5
- package/dist/cjs/components/multi-value.js +86 -30
- package/dist/cjs/components/option.js +38 -13
- package/dist/cjs/components/placeholder.js +3 -6
- package/dist/cjs/components/single-value.js +3 -6
- package/dist/cjs/select.js +105 -54
- package/dist/es2019/accessibility/index.js +9 -7
- package/dist/es2019/components/containers.js +8 -8
- package/dist/es2019/components/control.js +71 -24
- package/dist/es2019/components/group.js +10 -18
- package/dist/es2019/components/indicators.js +25 -28
- package/dist/es2019/components/input.js +1 -1
- package/dist/es2019/components/internal/a11y-text.js +2 -0
- package/dist/es2019/components/live-region.js +6 -2
- package/dist/es2019/components/menu.js +6 -11
- package/dist/es2019/components/multi-value.js +89 -30
- package/dist/es2019/components/option.js +48 -22
- package/dist/es2019/components/placeholder.js +3 -7
- package/dist/es2019/components/single-value.js +3 -5
- package/dist/es2019/select.js +74 -24
- package/dist/esm/accessibility/index.js +9 -7
- package/dist/esm/components/containers.js +9 -7
- package/dist/esm/components/control.js +58 -13
- package/dist/esm/components/group.js +11 -11
- package/dist/esm/components/indicators.js +39 -34
- package/dist/esm/components/input.js +1 -1
- package/dist/esm/components/internal/a11y-text.js +2 -0
- package/dist/esm/components/live-region.js +6 -2
- package/dist/esm/components/menu.js +4 -5
- package/dist/esm/components/multi-value.js +86 -30
- package/dist/esm/components/option.js +38 -13
- package/dist/esm/components/placeholder.js +3 -6
- package/dist/esm/components/single-value.js +3 -6
- package/dist/esm/select.js +105 -53
- package/dist/types/components/containers.d.ts +5 -1
- package/dist/types/components/control.d.ts +10 -1
- package/dist/types/components/group.d.ts +2 -2
- package/dist/types/components/indicators.d.ts +16 -4
- package/dist/types/components/menu.d.ts +1 -1
- package/dist/types/components/multi-value.d.ts +3 -3
- package/dist/types/components/option.d.ts +1 -1
- package/dist/types/components/placeholder.d.ts +1 -1
- package/dist/types/components/single-value.d.ts +1 -1
- package/dist/types/select.d.ts +13 -4
- package/dist/types-ts4.5/components/containers.d.ts +5 -1
- package/dist/types-ts4.5/components/control.d.ts +10 -1
- package/dist/types-ts4.5/components/group.d.ts +2 -2
- package/dist/types-ts4.5/components/indicators.d.ts +16 -4
- package/dist/types-ts4.5/components/menu.d.ts +1 -1
- package/dist/types-ts4.5/components/multi-value.d.ts +3 -3
- package/dist/types-ts4.5/components/option.d.ts +1 -1
- package/dist/types-ts4.5/components/placeholder.d.ts +1 -1
- package/dist/types-ts4.5/components/single-value.d.ts +1 -1
- package/dist/types-ts4.5/select.d.ts +13 -4
- package/package.json +6 -2
|
@@ -23,11 +23,20 @@ export interface ControlProps<Option = unknown, IsMulti extends boolean = boolea
|
|
|
23
23
|
* Whether the select is focused.
|
|
24
24
|
*/
|
|
25
25
|
isFocused: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the select is invalid.
|
|
28
|
+
*/
|
|
29
|
+
isInvalid: boolean | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the select is compact.
|
|
32
|
+
*/
|
|
33
|
+
isCompact?: boolean;
|
|
34
|
+
appearance?: 'default' | 'subtle' | 'none';
|
|
26
35
|
/**
|
|
27
36
|
* Whether the select is expanded.
|
|
28
37
|
*/
|
|
29
38
|
menuIsOpen: boolean;
|
|
30
39
|
}
|
|
31
|
-
export declare const css: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, isFocused,
|
|
40
|
+
export declare const css: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, isFocused, isInvalid, isCompact, appearance, }: ControlProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
32
41
|
declare const Control: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: ControlProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
33
42
|
export default Control;
|
|
@@ -37,7 +37,7 @@ export interface GroupProps<Option = unknown, IsMulti extends boolean = boolean,
|
|
|
37
37
|
data: Group;
|
|
38
38
|
options: Options<Option>;
|
|
39
39
|
}
|
|
40
|
-
export declare const groupCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
40
|
+
export declare const groupCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({}: GroupProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
41
41
|
declare const Group: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: GroupProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
42
42
|
interface GroupHeadingPropsDefinedProps<Option, IsMulti extends boolean, Group extends GroupBase<Option>> extends ForwardedHeadingProps<Option, Group> {
|
|
43
43
|
className?: string | undefined;
|
|
@@ -48,6 +48,6 @@ interface GroupHeadingPropsDefinedProps<Option, IsMulti extends boolean, Group e
|
|
|
48
48
|
cx: CX;
|
|
49
49
|
}
|
|
50
50
|
export type GroupHeadingProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> = GroupHeadingPropsDefinedProps<Option, IsMulti, Group> & JSX.IntrinsicElements['div'];
|
|
51
|
-
export declare const groupHeadingCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
51
|
+
export declare const groupHeadingCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({}: GroupHeadingProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
52
52
|
export declare const GroupHeading: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: GroupHeadingProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
53
53
|
export default Group;
|
|
@@ -27,8 +27,12 @@ export interface DropdownIndicatorProps<Option = unknown, IsMulti extends boolea
|
|
|
27
27
|
*/
|
|
28
28
|
isFocused: boolean;
|
|
29
29
|
isDisabled: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the select is compact.
|
|
32
|
+
*/
|
|
33
|
+
isCompact?: boolean;
|
|
30
34
|
}
|
|
31
|
-
export declare const dropdownIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
35
|
+
export declare const dropdownIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isCompact, isDisabled, }: DropdownIndicatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
32
36
|
export declare const DropdownIndicator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: DropdownIndicatorProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
33
37
|
export interface ClearIndicatorProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
|
|
34
38
|
/**
|
|
@@ -47,17 +51,21 @@ export interface ClearIndicatorProps<Option = unknown, IsMulti extends boolean =
|
|
|
47
51
|
* The focused state of the select.
|
|
48
52
|
*/
|
|
49
53
|
isFocused: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Whether the select is compact.
|
|
56
|
+
*/
|
|
57
|
+
isCompact?: boolean;
|
|
50
58
|
}
|
|
51
|
-
export declare const clearIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
59
|
+
export declare const clearIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isCompact, }: ClearIndicatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
52
60
|
export declare const ClearIndicator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: ClearIndicatorProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
53
61
|
export interface IndicatorSeparatorProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
|
|
54
62
|
isDisabled: boolean;
|
|
55
63
|
isFocused: boolean;
|
|
56
64
|
innerProps?: JSX.IntrinsicElements['span'];
|
|
57
65
|
}
|
|
58
|
-
export declare const indicatorSeparatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled,
|
|
66
|
+
export declare const indicatorSeparatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, }: IndicatorSeparatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
59
67
|
export declare const IndicatorSeparator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: IndicatorSeparatorProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
60
|
-
export declare const loadingIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isFocused, size, theme: { colors
|
|
68
|
+
export declare const loadingIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isFocused, size, isCompact, theme: { colors }, }: LoadingIndicatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
61
69
|
export interface LoadingIndicatorProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
|
|
62
70
|
/**
|
|
63
71
|
* Props that will be passed on to the children.
|
|
@@ -72,5 +80,9 @@ export interface LoadingIndicatorProps<Option = unknown, IsMulti extends boolean
|
|
|
72
80
|
* Set size of the container.
|
|
73
81
|
*/
|
|
74
82
|
size: number;
|
|
83
|
+
/**
|
|
84
|
+
* Whether the select is compact.
|
|
85
|
+
*/
|
|
86
|
+
isCompact?: boolean;
|
|
75
87
|
}
|
|
76
88
|
export declare const LoadingIndicator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ innerProps, isRtl, size, ...restProps }: LoadingIndicatorProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
@@ -94,7 +94,7 @@ export interface MenuListProps<Option = unknown, IsMulti extends boolean = boole
|
|
|
94
94
|
*/
|
|
95
95
|
innerProps: JSX.IntrinsicElements['div'];
|
|
96
96
|
}
|
|
97
|
-
export declare const menuListCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ maxHeight,
|
|
97
|
+
export declare const menuListCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ maxHeight, }: MenuListProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
98
98
|
export declare const MenuList: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: MenuListProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
99
99
|
export declare const noOptionsMessageCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing: { baseUnit }, colors, }, }: NoticeProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
100
100
|
export declare const loadingMessageCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing: { baseUnit }, colors, }, }: NoticeProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
@@ -22,9 +22,9 @@ export interface MultiValueProps<Option = unknown, IsMulti extends boolean = boo
|
|
|
22
22
|
removeProps: JSX.IntrinsicElements['div'];
|
|
23
23
|
index: number;
|
|
24
24
|
}
|
|
25
|
-
export declare const multiValueCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing, borderRadius, colors }, }: MultiValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
26
|
-
export declare const multiValueLabelCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
27
|
-
export declare const multiValueRemoveCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
25
|
+
export declare const multiValueCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, isFocused, theme: { spacing, borderRadius, colors }, }: MultiValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
26
|
+
export declare const multiValueLabelCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ cropWithEllipsis, isDisabled, }: MultiValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
27
|
+
export declare const multiValueRemoveCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isFocused, }: MultiValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
28
28
|
export interface MultiValueGenericProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> {
|
|
29
29
|
children: ReactNode;
|
|
30
30
|
data: any;
|
|
@@ -44,6 +44,6 @@ export interface OptionProps<Option = unknown, IsMulti extends boolean = boolean
|
|
|
44
44
|
*/
|
|
45
45
|
isSelected: boolean;
|
|
46
46
|
}
|
|
47
|
-
export declare const optionCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, isFocused, isSelected,
|
|
47
|
+
export declare const optionCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, isFocused, isSelected, }: OptionProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
48
48
|
declare const Option: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: OptionProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
49
49
|
export default Option;
|
|
@@ -17,6 +17,6 @@ export interface PlaceholderProps<Option = unknown, IsMulti extends boolean = bo
|
|
|
17
17
|
isDisabled: boolean;
|
|
18
18
|
isFocused: boolean;
|
|
19
19
|
}
|
|
20
|
-
export declare const placeholderCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
20
|
+
export declare const placeholderCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, }: PlaceholderProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
21
21
|
declare const Placeholder: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: PlaceholderProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
22
22
|
export default Placeholder;
|
|
@@ -23,6 +23,6 @@ export interface SingleValueProps<Option = unknown, IsMulti extends boolean = bo
|
|
|
23
23
|
*/
|
|
24
24
|
isDisabled: boolean;
|
|
25
25
|
}
|
|
26
|
-
export declare const css: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, theme: { spacing
|
|
26
|
+
export declare const css: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, theme: { spacing }, }: SingleValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
27
27
|
declare const SingleValue: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: SingleValueProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
28
28
|
export default SingleValue;
|
package/dist/types/select.d.ts
CHANGED
|
@@ -405,10 +405,15 @@ export interface SelectProps<Option, IsMulti extends boolean, Group extends Grou
|
|
|
405
405
|
* Use `isRequired` instead.
|
|
406
406
|
*/
|
|
407
407
|
required?: boolean;
|
|
408
|
+
/**
|
|
409
|
+
* This prop affects the height of the select control. Compact is gridSize() * 4, default is gridSize * 5
|
|
410
|
+
*/
|
|
411
|
+
spacing?: 'compact' | 'default';
|
|
412
|
+
appearance: 'default' | 'subtle' | 'none';
|
|
408
413
|
[key: string]: any;
|
|
409
414
|
}
|
|
410
415
|
export declare const defaultProps: {
|
|
411
|
-
'aria-live': string;
|
|
416
|
+
'aria-live': string | undefined;
|
|
412
417
|
backspaceRemovesValue: boolean;
|
|
413
418
|
blurInputOnSelect: boolean;
|
|
414
419
|
captureMenuScroll: boolean;
|
|
@@ -486,7 +491,7 @@ interface CategorizedGroup<Option, Group extends GroupBase<Option>> {
|
|
|
486
491
|
type CategorizedGroupOrOption<Option, Group extends GroupBase<Option>> = CategorizedGroup<Option, Group> | CategorizedOption<Option>;
|
|
487
492
|
export default class Select<Option = unknown, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>> extends Component<SelectProps<Option, IsMulti, Group>, State<Option, IsMulti, Group>> {
|
|
488
493
|
static defaultProps: {
|
|
489
|
-
'aria-live': string;
|
|
494
|
+
'aria-live': string | undefined;
|
|
490
495
|
backspaceRemovesValue: boolean;
|
|
491
496
|
blurInputOnSelect: boolean;
|
|
492
497
|
captureMenuScroll: boolean;
|
|
@@ -536,7 +541,7 @@ export default class Select<Option = unknown, IsMulti extends boolean = false, G
|
|
|
536
541
|
openAfterFocus: boolean;
|
|
537
542
|
scrollToFocusedOptionOnUpdate: boolean;
|
|
538
543
|
userIsDragging?: boolean;
|
|
539
|
-
|
|
544
|
+
isVoiceOver: boolean;
|
|
540
545
|
controlRef: HTMLDivElement | null;
|
|
541
546
|
getControlRef: RefCallback<HTMLDivElement>;
|
|
542
547
|
focusedOptionRef: HTMLDivElement | null;
|
|
@@ -604,7 +609,7 @@ export default class Select<Option = unknown, IsMulti extends boolean = false, G
|
|
|
604
609
|
getOptionValue: (data: Option) => string;
|
|
605
610
|
getStyles: <Key extends keyof StylesProps<Option, IsMulti, Group>>(key: Key, props: StylesProps<Option, IsMulti, Group>[Key]) => import("./types").CSSObjectWithLabel;
|
|
606
611
|
getClassNames: <Key extends keyof StylesProps<Option, IsMulti, Group>>(key: Key, props: StylesProps<Option, IsMulti, Group>[Key]) => string | undefined;
|
|
607
|
-
getElementId: (element: 'group' | 'input' | 'listbox' | 'option' | 'placeholder' | 'live-region') => string;
|
|
612
|
+
getElementId: (element: 'group' | 'input' | 'listbox' | 'option' | 'placeholder' | 'live-region' | 'multi-message') => string;
|
|
608
613
|
getComponents: () => {
|
|
609
614
|
ClearIndicator: <Option_1, IsMulti_1 extends boolean, Group_1 extends GroupBase<Option_1>>(props: import(".").ClearIndicatorProps<Option_1, IsMulti_1, Group_1>) => import("@emotion/react").jsx.JSX.Element;
|
|
610
615
|
Control: <Option_2, IsMulti_2 extends boolean, Group_2 extends GroupBase<Option_2>>(props: import(".").ControlProps<Option_2, IsMulti_2, Group_2>) => import("@emotion/react").jsx.JSX.Element;
|
|
@@ -645,6 +650,9 @@ export default class Select<Option = unknown, IsMulti extends boolean = false, G
|
|
|
645
650
|
filterOption(option: FilterOptionOption<Option>, inputValue: string): boolean;
|
|
646
651
|
formatOptionLabel(data: Option, context: FormatOptionLabelContext): ReactNode;
|
|
647
652
|
formatGroupLabel(data: Group): React.ReactNode;
|
|
653
|
+
calculateDescription(action?: String): {
|
|
654
|
+
'aria-describedby': string;
|
|
655
|
+
} | undefined;
|
|
648
656
|
onMenuMouseDown: MouseEventHandler<HTMLDivElement>;
|
|
649
657
|
onMenuMouseMove: MouseEventHandler<HTMLDivElement>;
|
|
650
658
|
onControlMouseDown: (event: React.MouseEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>) => void;
|
|
@@ -679,6 +687,7 @@ export default class Select<Option = unknown, IsMulti extends boolean = false, G
|
|
|
679
687
|
renderMenu(): JSX.Element | null;
|
|
680
688
|
renderFormField(): JSX.Element | undefined;
|
|
681
689
|
renderLiveRegion(): JSX.Element;
|
|
690
|
+
renderMultiselectMessage(): JSX.Element;
|
|
682
691
|
render(): JSX.Element;
|
|
683
692
|
}
|
|
684
693
|
export type PublicBaseSelectProps<Option, IsMulti extends boolean, Group extends GroupBase<Option>> = JSX.LibraryManagedAttributes<typeof Select, SelectProps<Option, IsMulti, Group>>;
|
|
@@ -32,8 +32,12 @@ export interface ValueContainerProps<Option = unknown, IsMulti extends boolean =
|
|
|
32
32
|
*/
|
|
33
33
|
children: ReactNode;
|
|
34
34
|
isDisabled: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Whether the select is compact.
|
|
37
|
+
*/
|
|
38
|
+
isCompact?: boolean;
|
|
35
39
|
}
|
|
36
|
-
export declare const valueContainerCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
40
|
+
export declare const valueContainerCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isMulti, hasValue, isCompact, selectProps: { controlShouldRenderValue }, }: ValueContainerProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
37
41
|
export declare const ValueContainer: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: ValueContainerProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
38
42
|
export interface IndicatorsContainerProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
|
|
39
43
|
isDisabled: boolean;
|
|
@@ -23,11 +23,20 @@ export interface ControlProps<Option = unknown, IsMulti extends boolean = boolea
|
|
|
23
23
|
* Whether the select is focused.
|
|
24
24
|
*/
|
|
25
25
|
isFocused: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the select is invalid.
|
|
28
|
+
*/
|
|
29
|
+
isInvalid: boolean | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the select is compact.
|
|
32
|
+
*/
|
|
33
|
+
isCompact?: boolean;
|
|
34
|
+
appearance?: 'default' | 'subtle' | 'none';
|
|
26
35
|
/**
|
|
27
36
|
* Whether the select is expanded.
|
|
28
37
|
*/
|
|
29
38
|
menuIsOpen: boolean;
|
|
30
39
|
}
|
|
31
|
-
export declare const css: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, isFocused,
|
|
40
|
+
export declare const css: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, isFocused, isInvalid, isCompact, appearance, }: ControlProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
32
41
|
declare const Control: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: ControlProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
33
42
|
export default Control;
|
|
@@ -37,7 +37,7 @@ export interface GroupProps<Option = unknown, IsMulti extends boolean = boolean,
|
|
|
37
37
|
data: Group;
|
|
38
38
|
options: Options<Option>;
|
|
39
39
|
}
|
|
40
|
-
export declare const groupCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
40
|
+
export declare const groupCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({}: GroupProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
41
41
|
declare const Group: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: GroupProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
42
42
|
interface GroupHeadingPropsDefinedProps<Option, IsMulti extends boolean, Group extends GroupBase<Option>> extends ForwardedHeadingProps<Option, Group> {
|
|
43
43
|
className?: string | undefined;
|
|
@@ -48,6 +48,6 @@ interface GroupHeadingPropsDefinedProps<Option, IsMulti extends boolean, Group e
|
|
|
48
48
|
cx: CX;
|
|
49
49
|
}
|
|
50
50
|
export type GroupHeadingProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> = GroupHeadingPropsDefinedProps<Option, IsMulti, Group> & JSX.IntrinsicElements['div'];
|
|
51
|
-
export declare const groupHeadingCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
51
|
+
export declare const groupHeadingCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({}: GroupHeadingProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
52
52
|
export declare const GroupHeading: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: GroupHeadingProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
53
53
|
export default Group;
|
|
@@ -27,8 +27,12 @@ export interface DropdownIndicatorProps<Option = unknown, IsMulti extends boolea
|
|
|
27
27
|
*/
|
|
28
28
|
isFocused: boolean;
|
|
29
29
|
isDisabled: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the select is compact.
|
|
32
|
+
*/
|
|
33
|
+
isCompact?: boolean;
|
|
30
34
|
}
|
|
31
|
-
export declare const dropdownIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
35
|
+
export declare const dropdownIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isCompact, isDisabled, }: DropdownIndicatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
32
36
|
export declare const DropdownIndicator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: DropdownIndicatorProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
33
37
|
export interface ClearIndicatorProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
|
|
34
38
|
/**
|
|
@@ -47,17 +51,21 @@ export interface ClearIndicatorProps<Option = unknown, IsMulti extends boolean =
|
|
|
47
51
|
* The focused state of the select.
|
|
48
52
|
*/
|
|
49
53
|
isFocused: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Whether the select is compact.
|
|
56
|
+
*/
|
|
57
|
+
isCompact?: boolean;
|
|
50
58
|
}
|
|
51
|
-
export declare const clearIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
59
|
+
export declare const clearIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isCompact, }: ClearIndicatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
52
60
|
export declare const ClearIndicator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: ClearIndicatorProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
53
61
|
export interface IndicatorSeparatorProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
|
|
54
62
|
isDisabled: boolean;
|
|
55
63
|
isFocused: boolean;
|
|
56
64
|
innerProps?: JSX.IntrinsicElements['span'];
|
|
57
65
|
}
|
|
58
|
-
export declare const indicatorSeparatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled,
|
|
66
|
+
export declare const indicatorSeparatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, }: IndicatorSeparatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
59
67
|
export declare const IndicatorSeparator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: IndicatorSeparatorProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
60
|
-
export declare const loadingIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isFocused, size, theme: { colors
|
|
68
|
+
export declare const loadingIndicatorCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isFocused, size, isCompact, theme: { colors }, }: LoadingIndicatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
61
69
|
export interface LoadingIndicatorProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
|
|
62
70
|
/**
|
|
63
71
|
* Props that will be passed on to the children.
|
|
@@ -72,5 +80,9 @@ export interface LoadingIndicatorProps<Option = unknown, IsMulti extends boolean
|
|
|
72
80
|
* Set size of the container.
|
|
73
81
|
*/
|
|
74
82
|
size: number;
|
|
83
|
+
/**
|
|
84
|
+
* Whether the select is compact.
|
|
85
|
+
*/
|
|
86
|
+
isCompact?: boolean;
|
|
75
87
|
}
|
|
76
88
|
export declare const LoadingIndicator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ innerProps, isRtl, size, ...restProps }: LoadingIndicatorProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
@@ -94,7 +94,7 @@ export interface MenuListProps<Option = unknown, IsMulti extends boolean = boole
|
|
|
94
94
|
*/
|
|
95
95
|
innerProps: JSX.IntrinsicElements['div'];
|
|
96
96
|
}
|
|
97
|
-
export declare const menuListCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ maxHeight,
|
|
97
|
+
export declare const menuListCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ maxHeight, }: MenuListProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
98
98
|
export declare const MenuList: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: MenuListProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
99
99
|
export declare const noOptionsMessageCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing: { baseUnit }, colors, }, }: NoticeProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
100
100
|
export declare const loadingMessageCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing: { baseUnit }, colors, }, }: NoticeProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
@@ -22,9 +22,9 @@ export interface MultiValueProps<Option = unknown, IsMulti extends boolean = boo
|
|
|
22
22
|
removeProps: JSX.IntrinsicElements['div'];
|
|
23
23
|
index: number;
|
|
24
24
|
}
|
|
25
|
-
export declare const multiValueCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing, borderRadius, colors }, }: MultiValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
26
|
-
export declare const multiValueLabelCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
27
|
-
export declare const multiValueRemoveCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
25
|
+
export declare const multiValueCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, isFocused, theme: { spacing, borderRadius, colors }, }: MultiValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
26
|
+
export declare const multiValueLabelCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ cropWithEllipsis, isDisabled, }: MultiValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
27
|
+
export declare const multiValueRemoveCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isFocused, }: MultiValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
28
28
|
export interface MultiValueGenericProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> {
|
|
29
29
|
children: ReactNode;
|
|
30
30
|
data: any;
|
|
@@ -44,6 +44,6 @@ export interface OptionProps<Option = unknown, IsMulti extends boolean = boolean
|
|
|
44
44
|
*/
|
|
45
45
|
isSelected: boolean;
|
|
46
46
|
}
|
|
47
|
-
export declare const optionCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, isFocused, isSelected,
|
|
47
|
+
export declare const optionCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, isFocused, isSelected, }: OptionProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
48
48
|
declare const Option: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: OptionProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
49
49
|
export default Option;
|
|
@@ -17,6 +17,6 @@ export interface PlaceholderProps<Option = unknown, IsMulti extends boolean = bo
|
|
|
17
17
|
isDisabled: boolean;
|
|
18
18
|
isFocused: boolean;
|
|
19
19
|
}
|
|
20
|
-
export declare const placeholderCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({
|
|
20
|
+
export declare const placeholderCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, }: PlaceholderProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
21
21
|
declare const Placeholder: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: PlaceholderProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
22
22
|
export default Placeholder;
|
|
@@ -23,6 +23,6 @@ export interface SingleValueProps<Option = unknown, IsMulti extends boolean = bo
|
|
|
23
23
|
*/
|
|
24
24
|
isDisabled: boolean;
|
|
25
25
|
}
|
|
26
|
-
export declare const css: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, theme: { spacing
|
|
26
|
+
export declare const css: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ isDisabled, theme: { spacing }, }: SingleValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel;
|
|
27
27
|
declare const SingleValue: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: SingleValueProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
|
28
28
|
export default SingleValue;
|
|
@@ -405,10 +405,15 @@ export interface SelectProps<Option, IsMulti extends boolean, Group extends Grou
|
|
|
405
405
|
* Use `isRequired` instead.
|
|
406
406
|
*/
|
|
407
407
|
required?: boolean;
|
|
408
|
+
/**
|
|
409
|
+
* This prop affects the height of the select control. Compact is gridSize() * 4, default is gridSize * 5
|
|
410
|
+
*/
|
|
411
|
+
spacing?: 'compact' | 'default';
|
|
412
|
+
appearance: 'default' | 'subtle' | 'none';
|
|
408
413
|
[key: string]: any;
|
|
409
414
|
}
|
|
410
415
|
export declare const defaultProps: {
|
|
411
|
-
'aria-live': string;
|
|
416
|
+
'aria-live': string | undefined;
|
|
412
417
|
backspaceRemovesValue: boolean;
|
|
413
418
|
blurInputOnSelect: boolean;
|
|
414
419
|
captureMenuScroll: boolean;
|
|
@@ -486,7 +491,7 @@ interface CategorizedGroup<Option, Group extends GroupBase<Option>> {
|
|
|
486
491
|
type CategorizedGroupOrOption<Option, Group extends GroupBase<Option>> = CategorizedGroup<Option, Group> | CategorizedOption<Option>;
|
|
487
492
|
export default class Select<Option = unknown, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>> extends Component<SelectProps<Option, IsMulti, Group>, State<Option, IsMulti, Group>> {
|
|
488
493
|
static defaultProps: {
|
|
489
|
-
'aria-live': string;
|
|
494
|
+
'aria-live': string | undefined;
|
|
490
495
|
backspaceRemovesValue: boolean;
|
|
491
496
|
blurInputOnSelect: boolean;
|
|
492
497
|
captureMenuScroll: boolean;
|
|
@@ -536,7 +541,7 @@ export default class Select<Option = unknown, IsMulti extends boolean = false, G
|
|
|
536
541
|
openAfterFocus: boolean;
|
|
537
542
|
scrollToFocusedOptionOnUpdate: boolean;
|
|
538
543
|
userIsDragging?: boolean;
|
|
539
|
-
|
|
544
|
+
isVoiceOver: boolean;
|
|
540
545
|
controlRef: HTMLDivElement | null;
|
|
541
546
|
getControlRef: RefCallback<HTMLDivElement>;
|
|
542
547
|
focusedOptionRef: HTMLDivElement | null;
|
|
@@ -604,7 +609,7 @@ export default class Select<Option = unknown, IsMulti extends boolean = false, G
|
|
|
604
609
|
getOptionValue: (data: Option) => string;
|
|
605
610
|
getStyles: <Key extends keyof StylesProps<Option, IsMulti, Group>>(key: Key, props: StylesProps<Option, IsMulti, Group>[Key]) => import("./types").CSSObjectWithLabel;
|
|
606
611
|
getClassNames: <Key extends keyof StylesProps<Option, IsMulti, Group>>(key: Key, props: StylesProps<Option, IsMulti, Group>[Key]) => string | undefined;
|
|
607
|
-
getElementId: (element: 'group' | 'input' | 'listbox' | 'option' | 'placeholder' | 'live-region') => string;
|
|
612
|
+
getElementId: (element: 'group' | 'input' | 'listbox' | 'option' | 'placeholder' | 'live-region' | 'multi-message') => string;
|
|
608
613
|
getComponents: () => {
|
|
609
614
|
ClearIndicator: <Option_1, IsMulti_1 extends boolean, Group_1 extends GroupBase<Option_1>>(props: import(".").ClearIndicatorProps<Option_1, IsMulti_1, Group_1>) => import("@emotion/react").jsx.JSX.Element;
|
|
610
615
|
Control: <Option_2, IsMulti_2 extends boolean, Group_2 extends GroupBase<Option_2>>(props: import(".").ControlProps<Option_2, IsMulti_2, Group_2>) => import("@emotion/react").jsx.JSX.Element;
|
|
@@ -645,6 +650,9 @@ export default class Select<Option = unknown, IsMulti extends boolean = false, G
|
|
|
645
650
|
filterOption(option: FilterOptionOption<Option>, inputValue: string): boolean;
|
|
646
651
|
formatOptionLabel(data: Option, context: FormatOptionLabelContext): ReactNode;
|
|
647
652
|
formatGroupLabel(data: Group): React.ReactNode;
|
|
653
|
+
calculateDescription(action?: String): {
|
|
654
|
+
'aria-describedby': string;
|
|
655
|
+
} | undefined;
|
|
648
656
|
onMenuMouseDown: MouseEventHandler<HTMLDivElement>;
|
|
649
657
|
onMenuMouseMove: MouseEventHandler<HTMLDivElement>;
|
|
650
658
|
onControlMouseDown: (event: React.MouseEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>) => void;
|
|
@@ -679,6 +687,7 @@ export default class Select<Option = unknown, IsMulti extends boolean = false, G
|
|
|
679
687
|
renderMenu(): JSX.Element | null;
|
|
680
688
|
renderFormField(): JSX.Element | undefined;
|
|
681
689
|
renderLiveRegion(): JSX.Element;
|
|
690
|
+
renderMultiselectMessage(): JSX.Element;
|
|
682
691
|
render(): JSX.Element;
|
|
683
692
|
}
|
|
684
693
|
export type PublicBaseSelectProps<Option, IsMulti extends boolean, Group extends GroupBase<Option>> = JSX.LibraryManagedAttributes<typeof Select, SelectProps<Option, IsMulti, Group>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/react-select",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"description": "A forked version of react-select to only be used in atlaskit/select",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -28,8 +28,9 @@
|
|
|
28
28
|
"./async-creatable": "./src/async-creatable.tsx"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@atlaskit/ds-lib": "^3.
|
|
31
|
+
"@atlaskit/ds-lib": "^3.3.0",
|
|
32
32
|
"@atlaskit/platform-feature-flags": "^0.3.0",
|
|
33
|
+
"@atlaskit/tokens": "^2.4.0",
|
|
33
34
|
"@babel/runtime": "^7.0.0",
|
|
34
35
|
"@emotion/react": "^11.7.1",
|
|
35
36
|
"@floating-ui/dom": "^1.0.1",
|
|
@@ -55,6 +56,9 @@
|
|
|
55
56
|
"platform-feature-flags": {
|
|
56
57
|
"design_system_select-a11y-improvement": {
|
|
57
58
|
"type": "boolean"
|
|
59
|
+
},
|
|
60
|
+
"platform-component-visual-refresh": {
|
|
61
|
+
"type": "boolean"
|
|
58
62
|
}
|
|
59
63
|
},
|
|
60
64
|
"techstack": {
|