@atlaskit/radio 5.4.0 → 5.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 +12 -0
- package/Radio/package.json +8 -1
- package/RadioGroup/package.json +8 -1
- package/dist/cjs/radio.js +4 -3
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/radio.js +4 -3
- package/dist/es2019/version.json +1 -1
- package/dist/esm/radio.js +4 -3
- package/dist/esm/version.json +1 -1
- package/dist/types-ts4.0/index.d.ts +2 -0
- package/dist/types-ts4.0/radio-group.d.ts +50 -0
- package/dist/types-ts4.0/radio.d.ts +45 -0
- package/dist/types-ts4.0/styles.d.ts +18 -0
- package/dist/types-ts4.0/types.d.ts +118 -0
- package/package.json +15 -6
- package/report.api.md +46 -14
- package/types/package.json +8 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/radio
|
|
2
2
|
|
|
3
|
+
## 5.4.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`9827dcb82b8`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9827dcb82b8) - No-op change to introduce spacing tokens to design system components.
|
|
8
|
+
|
|
9
|
+
## 5.4.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`8cc2f888c83`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8cc2f888c83) - Upgrade Typescript from `4.3.5` to `4.5.5`
|
|
14
|
+
|
|
3
15
|
## 5.4.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/Radio/package.json
CHANGED
|
@@ -4,5 +4,12 @@
|
|
|
4
4
|
"module": "../dist/esm/radio.js",
|
|
5
5
|
"module:es2019": "../dist/es2019/radio.js",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"types": "../dist/types/radio.d.ts"
|
|
7
|
+
"types": "../dist/types/radio.d.ts",
|
|
8
|
+
"typesVersions": {
|
|
9
|
+
">=4.0 <4.5": {
|
|
10
|
+
"*": [
|
|
11
|
+
"../dist/types-ts4.0/radio.d.ts"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
}
|
|
8
15
|
}
|
package/RadioGroup/package.json
CHANGED
|
@@ -4,5 +4,12 @@
|
|
|
4
4
|
"module": "../dist/esm/radio-group.js",
|
|
5
5
|
"module:es2019": "../dist/es2019/radio-group.js",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"types": "../dist/types/radio-group.d.ts"
|
|
7
|
+
"types": "../dist/types/radio-group.d.ts",
|
|
8
|
+
"typesVersions": {
|
|
9
|
+
">=4.0 <4.5": {
|
|
10
|
+
"*": [
|
|
11
|
+
"../dist/types-ts4.0/radio-group.d.ts"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
}
|
|
8
15
|
}
|
package/dist/cjs/radio.js
CHANGED
|
@@ -29,11 +29,11 @@ var _styles = _interopRequireDefault(require("./styles"));
|
|
|
29
29
|
|
|
30
30
|
var _excluded = ["ariaLabel", "isDisabled", "isRequired", "isInvalid", "isChecked", "label", "mode", "name", "onChange", "value", "testId", "analyticsContext"];
|
|
31
31
|
var packageName = "@atlaskit/radio";
|
|
32
|
-
var packageVersion = "5.4.
|
|
32
|
+
var packageVersion = "5.4.2";
|
|
33
33
|
var fontFamily = (0, _constants.fontFamily)();
|
|
34
34
|
var noop = _noop.default;
|
|
35
35
|
var labelPaddingStyles = (0, _react2.css)({
|
|
36
|
-
padding:
|
|
36
|
+
padding: "var(--ds-scale-025, 2px)".concat(" ", "var(--ds-scale-050, 4px)")
|
|
37
37
|
});
|
|
38
38
|
var labelStyles = (0, _react2.css)({
|
|
39
39
|
display: 'flex',
|
|
@@ -65,7 +65,8 @@ var radioStyles = (0, _react2.css)({
|
|
|
65
65
|
*/
|
|
66
66
|
width: '24px',
|
|
67
67
|
height: '24px',
|
|
68
|
-
|
|
68
|
+
// TODO Delete this comment after verifying spacing token -> previous value `0`
|
|
69
|
+
margin: "var(--ds-scale-0, 0px)",
|
|
69
70
|
position: 'relative',
|
|
70
71
|
alignItems: 'center',
|
|
71
72
|
justifyContent: 'center',
|
package/dist/cjs/version.json
CHANGED
package/dist/es2019/radio.js
CHANGED
|
@@ -10,11 +10,11 @@ import GlobalTheme from '@atlaskit/theme/components';
|
|
|
10
10
|
import { fontFamily as getFontFamily } from '@atlaskit/theme/constants';
|
|
11
11
|
import getRadioCustomProperties from './styles';
|
|
12
12
|
const packageName = "@atlaskit/radio";
|
|
13
|
-
const packageVersion = "5.4.
|
|
13
|
+
const packageVersion = "5.4.2";
|
|
14
14
|
const fontFamily = getFontFamily();
|
|
15
15
|
const noop = __noop;
|
|
16
16
|
const labelPaddingStyles = css({
|
|
17
|
-
padding:
|
|
17
|
+
padding: `${"var(--ds-scale-025, 2px)"} ${"var(--ds-scale-050, 4px)"}`
|
|
18
18
|
});
|
|
19
19
|
const labelStyles = css({
|
|
20
20
|
display: 'flex',
|
|
@@ -46,7 +46,8 @@ const radioStyles = css({
|
|
|
46
46
|
*/
|
|
47
47
|
width: '24px',
|
|
48
48
|
height: '24px',
|
|
49
|
-
|
|
49
|
+
// TODO Delete this comment after verifying spacing token -> previous value `0`
|
|
50
|
+
margin: "var(--ds-scale-0, 0px)",
|
|
50
51
|
position: 'relative',
|
|
51
52
|
alignItems: 'center',
|
|
52
53
|
justifyContent: 'center',
|
package/dist/es2019/version.json
CHANGED
package/dist/esm/radio.js
CHANGED
|
@@ -12,11 +12,11 @@ import GlobalTheme from '@atlaskit/theme/components';
|
|
|
12
12
|
import { fontFamily as getFontFamily } from '@atlaskit/theme/constants';
|
|
13
13
|
import getRadioCustomProperties from './styles';
|
|
14
14
|
var packageName = "@atlaskit/radio";
|
|
15
|
-
var packageVersion = "5.4.
|
|
15
|
+
var packageVersion = "5.4.2";
|
|
16
16
|
var fontFamily = getFontFamily();
|
|
17
17
|
var noop = __noop;
|
|
18
18
|
var labelPaddingStyles = css({
|
|
19
|
-
padding:
|
|
19
|
+
padding: "var(--ds-scale-025, 2px)".concat(" ", "var(--ds-scale-050, 4px)")
|
|
20
20
|
});
|
|
21
21
|
var labelStyles = css({
|
|
22
22
|
display: 'flex',
|
|
@@ -48,7 +48,8 @@ var radioStyles = css({
|
|
|
48
48
|
*/
|
|
49
49
|
width: '24px',
|
|
50
50
|
height: '24px',
|
|
51
|
-
|
|
51
|
+
// TODO Delete this comment after verifying spacing token -> previous value `0`
|
|
52
|
+
margin: "var(--ds-scale-0, 0px)",
|
|
52
53
|
position: 'relative',
|
|
53
54
|
alignItems: 'center',
|
|
54
55
|
justifyContent: 'center',
|
package/dist/esm/version.json
CHANGED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React, { SyntheticEvent } from 'react';
|
|
2
|
+
import { UIAnalyticsEvent } from '@atlaskit/analytics-next';
|
|
3
|
+
import { OptionsPropType, RadioValue } from './types';
|
|
4
|
+
export interface RadioGroupProps {
|
|
5
|
+
/**
|
|
6
|
+
* Once set, controls the selected value on the `RadioGroup`
|
|
7
|
+
*/
|
|
8
|
+
value?: RadioValue | null;
|
|
9
|
+
/**
|
|
10
|
+
* Sets the initial selected value on the `RadioGroup`
|
|
11
|
+
*/
|
|
12
|
+
defaultValue?: RadioValue | null;
|
|
13
|
+
/**
|
|
14
|
+
* Sets the disabled state of all `Radio` elements in the group. Overrides the `isDisabled` setting of all child `Radio` items.
|
|
15
|
+
*/
|
|
16
|
+
isDisabled?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Sets the required state of all `Radio` elements in the group
|
|
19
|
+
*/
|
|
20
|
+
isRequired?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Sets the invalid state of all `Radio` elements in the group
|
|
23
|
+
*/
|
|
24
|
+
isInvalid?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* An array of objects, each object is mapped onto a `Radio` element within the group. Name must be unique to the group.
|
|
27
|
+
*/
|
|
28
|
+
options: OptionsPropType;
|
|
29
|
+
/**
|
|
30
|
+
* Function that gets fired after each invalid event
|
|
31
|
+
*/
|
|
32
|
+
onInvalid?: (event: SyntheticEvent<any>) => void;
|
|
33
|
+
/**
|
|
34
|
+
* Function that gets after each change event
|
|
35
|
+
*/
|
|
36
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>, analyticsEvent: UIAnalyticsEvent) => void;
|
|
37
|
+
/**
|
|
38
|
+
* Sets the `name` prop on each of the `Radio` elements in the group
|
|
39
|
+
*/
|
|
40
|
+
name?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Additional information to be included in the `context` of analytics events that come from radio
|
|
43
|
+
*/
|
|
44
|
+
analyticsContext?: Record<string, any>;
|
|
45
|
+
/**
|
|
46
|
+
* The id of the element that links to this radiogroup.
|
|
47
|
+
*/
|
|
48
|
+
'aria-labelledby'?: string;
|
|
49
|
+
}
|
|
50
|
+
export default function RadioGroup(props: RadioGroupProps): JSX.Element;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
/**
|
|
3
|
+
* __Radio__
|
|
4
|
+
*
|
|
5
|
+
* A radio input allows users to select only one option from a number of choices. Radio is generally displayed in a radio group.
|
|
6
|
+
*
|
|
7
|
+
* - [Examples](https://atlassian.design/components/radio/examples)
|
|
8
|
+
* - [Code](https://atlassian.design/components/radio/code)
|
|
9
|
+
* - [Usage](https://atlassian.design/components/radio/usage)
|
|
10
|
+
*/
|
|
11
|
+
declare const Radio: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<Pick<Omit<Omit<import("react").InputHTMLAttributes<HTMLInputElement>, "aria-label" | "disabled" | "required" | "checked" | "value">, keyof {
|
|
12
|
+
ariaLabel?: string | undefined;
|
|
13
|
+
isDisabled?: boolean | undefined;
|
|
14
|
+
isRequired?: boolean | undefined;
|
|
15
|
+
isInvalid?: boolean | undefined;
|
|
16
|
+
isChecked?: boolean | undefined;
|
|
17
|
+
label?: import("react").ReactNode;
|
|
18
|
+
onChange?: ((e: import("react").ChangeEvent<HTMLInputElement>, analyticsEvent: import("@atlaskit/analytics-next").UIAnalyticsEvent) => void) | undefined;
|
|
19
|
+
value?: string | undefined;
|
|
20
|
+
testId?: string | undefined;
|
|
21
|
+
analyticsContext?: Record<string, any> | undefined;
|
|
22
|
+
}> & {
|
|
23
|
+
ariaLabel?: string | undefined;
|
|
24
|
+
isDisabled?: boolean | undefined;
|
|
25
|
+
isRequired?: boolean | undefined;
|
|
26
|
+
isInvalid?: boolean | undefined;
|
|
27
|
+
isChecked?: boolean | undefined;
|
|
28
|
+
label?: import("react").ReactNode;
|
|
29
|
+
onChange?: ((e: import("react").ChangeEvent<HTMLInputElement>, analyticsEvent: import("@atlaskit/analytics-next").UIAnalyticsEvent) => void) | undefined;
|
|
30
|
+
value?: string | undefined;
|
|
31
|
+
testId?: string | undefined;
|
|
32
|
+
analyticsContext?: Record<string, any> | undefined;
|
|
33
|
+
} & import("@atlaskit/analytics-next").WithAnalyticsEventsProps, "accept" | "alt" | "autoComplete" | "autoFocus" | "capture" | "crossOrigin" | "form" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "height" | "list" | "max" | "maxLength" | "min" | "minLength" | "multiple" | "name" | "pattern" | "placeholder" | "readOnly" | "size" | "src" | "step" | "type" | "width" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "inputMode" | "is" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | keyof {
|
|
34
|
+
ariaLabel?: string | undefined;
|
|
35
|
+
isDisabled?: boolean | undefined;
|
|
36
|
+
isRequired?: boolean | undefined;
|
|
37
|
+
isInvalid?: boolean | undefined;
|
|
38
|
+
isChecked?: boolean | undefined;
|
|
39
|
+
label?: import("react").ReactNode;
|
|
40
|
+
onChange?: ((e: import("react").ChangeEvent<HTMLInputElement>, analyticsEvent: import("@atlaskit/analytics-next").UIAnalyticsEvent) => void) | undefined;
|
|
41
|
+
value?: string | undefined;
|
|
42
|
+
testId?: string | undefined;
|
|
43
|
+
analyticsContext?: Record<string, any> | undefined;
|
|
44
|
+
} | "createAnalyticsEvent"> & import("react").RefAttributes<HTMLInputElement>>>;
|
|
45
|
+
export default Radio;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ThemeModes } from '@atlaskit/theme/types';
|
|
2
|
+
export default function getRadioCustomProperties(mode: ThemeModes): {
|
|
3
|
+
'--local-background': "var(--ds-background-input)";
|
|
4
|
+
'--local-background-active': "var(--ds-background-input-pressed)";
|
|
5
|
+
'--local-background-checked': "var(--ds-background-brand-bold)";
|
|
6
|
+
'--local-background-checked-active': "var(--ds-background-brand-bold-pressed)";
|
|
7
|
+
'--local-background-checked-hover': "var(--ds-background-brand-bold-hovered)";
|
|
8
|
+
'--local-background-disabled': "var(--ds-background-input)";
|
|
9
|
+
'--local-background-hover': "var(--ds-background-input-hovered)";
|
|
10
|
+
'--local-border': "var(--ds-border-input)";
|
|
11
|
+
'--local-border-disabled': "var(--ds-background-disabled)";
|
|
12
|
+
'--local-border-hover': "var(--ds-border-input)";
|
|
13
|
+
'--local-border-focus': "var(--ds-border-focused)";
|
|
14
|
+
'--local-dot-active': "var(--ds-text-inverse)";
|
|
15
|
+
'--local-dot-checked': "var(--ds-text-inverse)";
|
|
16
|
+
'--local-dot-disabled': "var(--ds-text-disabled)";
|
|
17
|
+
'--local-invalid': "var(--ds-icon-danger)";
|
|
18
|
+
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { ReactNode, SyntheticEvent } from 'react';
|
|
2
|
+
import { UIAnalyticsEvent, WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
|
|
3
|
+
export declare type OptionPropType = {
|
|
4
|
+
isDisabled?: boolean;
|
|
5
|
+
label?: ReactNode;
|
|
6
|
+
name?: string;
|
|
7
|
+
value?: RadioValue;
|
|
8
|
+
testId?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare type OptionsPropType = Array<OptionPropType>;
|
|
11
|
+
export declare type RadioValue = string;
|
|
12
|
+
declare type OwnProps = {
|
|
13
|
+
/**
|
|
14
|
+
* the aria-label attribute associated with the radio element
|
|
15
|
+
*/
|
|
16
|
+
ariaLabel?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Makes a `Radio` field unselectable when true. Overridden by `isDisabled` prop of `RadioGroup`.
|
|
19
|
+
*/
|
|
20
|
+
isDisabled?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Marks this as a required field
|
|
23
|
+
*/
|
|
24
|
+
isRequired?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Field is invalid
|
|
27
|
+
*/
|
|
28
|
+
isInvalid?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Set the field as checked
|
|
31
|
+
*/
|
|
32
|
+
isChecked?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* The label value for the input rendered to the dom
|
|
35
|
+
*/
|
|
36
|
+
label?: ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* onChange event handler, passed into the props of each `Radio` Component instantiated within `RadioGroup`
|
|
39
|
+
*/
|
|
40
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>, analyticsEvent: UIAnalyticsEvent) => void;
|
|
41
|
+
/**
|
|
42
|
+
* Field value
|
|
43
|
+
*/
|
|
44
|
+
value?: RadioValue;
|
|
45
|
+
/**
|
|
46
|
+
* A `testId` prop is provided for specified elements, which is a unique string that appears as a data attribute `data-testid` in the rendered code, serving as a hook for automated tests
|
|
47
|
+
* we have 2 different testid generated based on the one you pass to the Radio component:
|
|
48
|
+
* - `{testId}--radio-input` to check if it got changed to checked/unchecked.
|
|
49
|
+
* - `{testId}--radio-label` to click the input
|
|
50
|
+
*/
|
|
51
|
+
testId?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Additional information to be included in the `context` of analytics events that come from radio
|
|
54
|
+
*/
|
|
55
|
+
analyticsContext?: Record<string, any>;
|
|
56
|
+
};
|
|
57
|
+
declare type Combine<First, Second> = Omit<First, keyof Second> & Second;
|
|
58
|
+
export declare type RadioProps = Combine<Omit<React.InputHTMLAttributes<HTMLInputElement>, 'aria-label' | 'disabled' | 'required' | 'checked' | 'value'>, OwnProps> & WithAnalyticsEventsProps;
|
|
59
|
+
export interface ExtractReactTypeProps extends WithAnalyticsEventsProps {
|
|
60
|
+
/**
|
|
61
|
+
* the aria-label attribute associated with the radio element
|
|
62
|
+
*/
|
|
63
|
+
ariaLabel?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Field disabled
|
|
66
|
+
*/
|
|
67
|
+
isDisabled?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Marks this as a required field
|
|
70
|
+
*/
|
|
71
|
+
isRequired?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Field is invalid
|
|
74
|
+
*/
|
|
75
|
+
isInvalid?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Set the field as checked
|
|
78
|
+
*/
|
|
79
|
+
isChecked?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* The label value for the input rendered to the dom
|
|
82
|
+
*/
|
|
83
|
+
label?: ReactNode;
|
|
84
|
+
/**
|
|
85
|
+
* Field name, must be unique to the radio group
|
|
86
|
+
*/
|
|
87
|
+
name?: string;
|
|
88
|
+
/**
|
|
89
|
+
* `onChange` event handler, passed into the props of each `Radio` Component instantiated within RadioGroup
|
|
90
|
+
*/
|
|
91
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>, analyticsEvent: UIAnalyticsEvent) => void;
|
|
92
|
+
onBlur?: React.FocusEventHandler<HTMLInputElement>;
|
|
93
|
+
onFocus?: React.FocusEventHandler<HTMLInputElement>;
|
|
94
|
+
onMouseDown?: React.MouseEventHandler;
|
|
95
|
+
onMouseUp?: React.MouseEventHandler;
|
|
96
|
+
onMouseEnter?: React.MouseEventHandler;
|
|
97
|
+
onMouseLeave?: React.MouseEventHandler;
|
|
98
|
+
/**
|
|
99
|
+
* `onInvalid` event handler, passed into the props of each `Radio` component instantiated within `RadioGroup`
|
|
100
|
+
*/
|
|
101
|
+
onInvalid?: (e: SyntheticEvent<any>) => void;
|
|
102
|
+
/**
|
|
103
|
+
* Field value
|
|
104
|
+
*/
|
|
105
|
+
value?: RadioValue;
|
|
106
|
+
/**
|
|
107
|
+
* A `testId` prop is provided for specified elements, which is a unique string that appears as a data attribute `data-testid` in the rendered code, serving as a hook for automated tests
|
|
108
|
+
* we have two different `testId`s generated based on the one you pass to the Radio component:
|
|
109
|
+
* - `{testId}--radio-input` to check if it got changed to checked/unchecked.
|
|
110
|
+
* - `{testId}--radio-label` to click the input
|
|
111
|
+
*/
|
|
112
|
+
testId?: string;
|
|
113
|
+
/**
|
|
114
|
+
* Additional information to be included in the `context` of analytics events that come from radio
|
|
115
|
+
*/
|
|
116
|
+
analyticsContext?: Record<string, any>;
|
|
117
|
+
}
|
|
118
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/radio",
|
|
3
|
-
"version": "5.4.
|
|
3
|
+
"version": "5.4.2",
|
|
4
4
|
"description": "A radio input allows users to select only one option from a number of choices. Radio is generally displayed in a radio group.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -12,9 +12,18 @@
|
|
|
12
12
|
"module": "dist/esm/index.js",
|
|
13
13
|
"module:es2019": "dist/es2019/index.js",
|
|
14
14
|
"types": "dist/types/index.d.ts",
|
|
15
|
+
"typesVersions": {
|
|
16
|
+
">=4.0 <4.5": {
|
|
17
|
+
"*": [
|
|
18
|
+
"dist/types-ts4.0/*",
|
|
19
|
+
"dist/types-ts4.0/index.d.ts"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
15
23
|
"sideEffects": false,
|
|
16
24
|
"atlaskit:src": "src/index.tsx",
|
|
17
25
|
"atlassian": {
|
|
26
|
+
"disableProductCI": true,
|
|
18
27
|
"team": "Design System Team",
|
|
19
28
|
"releaseModel": "scheduled",
|
|
20
29
|
"website": {
|
|
@@ -41,18 +50,18 @@
|
|
|
41
50
|
},
|
|
42
51
|
"devDependencies": {
|
|
43
52
|
"@atlaskit/button": "^16.3.0",
|
|
44
|
-
"@atlaskit/checkbox": "^12.
|
|
53
|
+
"@atlaskit/checkbox": "^12.4.0",
|
|
45
54
|
"@atlaskit/docs": "^9.0.0",
|
|
46
|
-
"@atlaskit/form": "^8.
|
|
47
|
-
"@atlaskit/section-message": "^6.
|
|
55
|
+
"@atlaskit/form": "^8.6.0",
|
|
56
|
+
"@atlaskit/section-message": "^6.3.0",
|
|
48
57
|
"@atlaskit/ssr": "*",
|
|
49
58
|
"@atlaskit/visual-regression": "*",
|
|
50
59
|
"@atlaskit/webdriver-runner": "*",
|
|
51
60
|
"@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
|
|
52
|
-
"@testing-library/react": "^
|
|
61
|
+
"@testing-library/react": "^12.1.5",
|
|
53
62
|
"react-dom": "^16.8.0",
|
|
54
63
|
"storybook-addon-performance": "^0.16.0",
|
|
55
|
-
"typescript": "4.
|
|
64
|
+
"typescript": "4.5.5"
|
|
56
65
|
},
|
|
57
66
|
"keywords": [
|
|
58
67
|
"atlaskit",
|
package/report.api.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
## API Report File for "@atlaskit/radio"
|
|
1
|
+
## API Report File for "@atlaskit/radio".
|
|
2
2
|
|
|
3
|
-
> Do not edit this file.
|
|
3
|
+
> Do not edit this file. This report is auto-generated by [API Extractor](https://api-extractor.com/).
|
|
4
|
+
|
|
5
|
+
[Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)
|
|
4
6
|
|
|
5
7
|
```ts
|
|
6
8
|
/// <reference types="react" />
|
|
@@ -26,6 +28,15 @@ declare type OptionPropType = {
|
|
|
26
28
|
|
|
27
29
|
declare type OptionsPropType = Array<OptionPropType>;
|
|
28
30
|
|
|
31
|
+
/**
|
|
32
|
+
* __Radio__
|
|
33
|
+
*
|
|
34
|
+
* A radio input allows users to select only one option from a number of choices. Radio is generally displayed in a radio group.
|
|
35
|
+
*
|
|
36
|
+
* - [Examples](https://atlassian.design/components/radio/examples)
|
|
37
|
+
* - [Code](https://atlassian.design/components/radio/code)
|
|
38
|
+
* - [Usage](https://atlassian.design/components/radio/usage)
|
|
39
|
+
*/
|
|
29
40
|
export declare const Radio: MemoExoticComponent<ForwardRefExoticComponent<
|
|
30
41
|
Pick<
|
|
31
42
|
Omit<
|
|
@@ -345,7 +356,6 @@ export declare const Radio: MemoExoticComponent<ForwardRefExoticComponent<
|
|
|
345
356
|
| 'onAnimationIterationCapture'
|
|
346
357
|
| 'onTransitionEnd'
|
|
347
358
|
| 'onTransitionEndCapture'
|
|
348
|
-
| 'css'
|
|
349
359
|
| keyof {
|
|
350
360
|
ariaLabel?: string | undefined;
|
|
351
361
|
isDisabled?: boolean | undefined;
|
|
@@ -371,30 +381,52 @@ export declare const Radio: MemoExoticComponent<ForwardRefExoticComponent<
|
|
|
371
381
|
export declare function RadioGroup(props: RadioGroupProps): JSX.Element;
|
|
372
382
|
|
|
373
383
|
declare interface RadioGroupProps {
|
|
374
|
-
/**
|
|
384
|
+
/**
|
|
385
|
+
* Once set, controls the selected value on the `RadioGroup`
|
|
386
|
+
*/
|
|
375
387
|
value?: RadioValue | null;
|
|
376
|
-
/**
|
|
388
|
+
/**
|
|
389
|
+
* Sets the initial selected value on the `RadioGroup`
|
|
390
|
+
*/
|
|
377
391
|
defaultValue?: RadioValue | null;
|
|
378
|
-
/**
|
|
392
|
+
/**
|
|
393
|
+
* Sets the disabled state of all `Radio` elements in the group. Overrides the `isDisabled` setting of all child `Radio` items.
|
|
394
|
+
*/
|
|
379
395
|
isDisabled?: boolean;
|
|
380
|
-
/**
|
|
396
|
+
/**
|
|
397
|
+
* Sets the required state of all `Radio` elements in the group
|
|
398
|
+
*/
|
|
381
399
|
isRequired?: boolean;
|
|
382
|
-
/**
|
|
400
|
+
/**
|
|
401
|
+
* Sets the invalid state of all `Radio` elements in the group
|
|
402
|
+
*/
|
|
383
403
|
isInvalid?: boolean;
|
|
384
|
-
/**
|
|
404
|
+
/**
|
|
405
|
+
* An array of objects, each object is mapped onto a `Radio` element within the group. Name must be unique to the group.
|
|
406
|
+
*/
|
|
385
407
|
options: OptionsPropType;
|
|
386
|
-
/**
|
|
408
|
+
/**
|
|
409
|
+
* Function that gets fired after each invalid event
|
|
410
|
+
*/
|
|
387
411
|
onInvalid?: (event: SyntheticEvent<any>) => void;
|
|
388
|
-
/**
|
|
412
|
+
/**
|
|
413
|
+
* Function that gets after each change event
|
|
414
|
+
*/
|
|
389
415
|
onChange?: (
|
|
390
416
|
e: React_2.ChangeEvent<HTMLInputElement>,
|
|
391
417
|
analyticsEvent: UIAnalyticsEvent,
|
|
392
418
|
) => void;
|
|
393
|
-
/**
|
|
419
|
+
/**
|
|
420
|
+
* Sets the `name` prop on each of the `Radio` elements in the group
|
|
421
|
+
*/
|
|
394
422
|
name?: string;
|
|
395
|
-
/**
|
|
423
|
+
/**
|
|
424
|
+
* Additional information to be included in the `context` of analytics events that come from radio
|
|
425
|
+
*/
|
|
396
426
|
analyticsContext?: Record<string, any>;
|
|
397
|
-
/**
|
|
427
|
+
/**
|
|
428
|
+
* The id of the element that links to this radiogroup.
|
|
429
|
+
*/
|
|
398
430
|
'aria-labelledby'?: string;
|
|
399
431
|
}
|
|
400
432
|
|
package/types/package.json
CHANGED
|
@@ -4,5 +4,12 @@
|
|
|
4
4
|
"module": "../dist/esm/types.js",
|
|
5
5
|
"module:es2019": "../dist/es2019/types.js",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"types": "../dist/types/types.d.ts"
|
|
7
|
+
"types": "../dist/types/types.d.ts",
|
|
8
|
+
"typesVersions": {
|
|
9
|
+
">=4.0 <4.5": {
|
|
10
|
+
"*": [
|
|
11
|
+
"../dist/types-ts4.0/types.d.ts"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
}
|
|
8
15
|
}
|