@atlaskit/radio 5.5.1 → 5.5.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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/radio
2
2
 
3
+ ## 5.5.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`9d00501a414`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9d00501a414) - Ensure legacy types are published for TS 4.5-4.8
8
+
3
9
  ## 5.5.1
4
10
 
5
11
  ### Patch Changes
package/dist/cjs/radio.js CHANGED
@@ -18,7 +18,7 @@ var _styles = _interopRequireDefault(require("./styles"));
18
18
  var _excluded = ["ariaLabel", "isDisabled", "isRequired", "isInvalid", "isChecked", "label", "mode", "name", "onChange", "value", "testId", "analyticsContext"];
19
19
  /** @jsx jsx */
20
20
  var packageName = "@atlaskit/radio";
21
- var packageVersion = "5.5.1";
21
+ var packageVersion = "5.5.2";
22
22
  var fontFamily = (0, _constants.fontFamily)();
23
23
  var noop = _noop.default;
24
24
  var labelPaddingStyles = (0, _react2.css)({
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/radio",
3
- "version": "5.5.1",
3
+ "version": "5.5.2",
4
4
  "sideEffects": false
5
5
  }
@@ -9,7 +9,7 @@ import GlobalTheme from '@atlaskit/theme/components';
9
9
  import { fontFamily as getFontFamily } from '@atlaskit/theme/constants';
10
10
  import getRadioCustomProperties from './styles';
11
11
  const packageName = "@atlaskit/radio";
12
- const packageVersion = "5.5.1";
12
+ const packageVersion = "5.5.2";
13
13
  const fontFamily = getFontFamily();
14
14
  const noop = __noop;
15
15
  const labelPaddingStyles = css({
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/radio",
3
- "version": "5.5.1",
3
+ "version": "5.5.2",
4
4
  "sideEffects": false
5
5
  }
package/dist/esm/radio.js CHANGED
@@ -11,7 +11,7 @@ import GlobalTheme from '@atlaskit/theme/components';
11
11
  import { fontFamily as getFontFamily } from '@atlaskit/theme/constants';
12
12
  import getRadioCustomProperties from './styles';
13
13
  var packageName = "@atlaskit/radio";
14
- var packageVersion = "5.5.1";
14
+ var packageVersion = "5.5.2";
15
15
  var fontFamily = getFontFamily();
16
16
  var noop = __noop;
17
17
  var labelPaddingStyles = css({
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/radio",
3
- "version": "5.5.1",
3
+ "version": "5.5.2",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,2 @@
1
+ export { default as RadioGroup } from './radio-group';
2
+ export { default as Radio } from './radio';
@@ -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-disabled)";
9
+ '--local-background-hover': "var(--ds-background-input-hovered)";
10
+ '--local-border': "var(--ds-border-input)";
11
+ '--local-border-disabled': "var(--ds-border-disabled)";
12
+ '--local-border-hover': "var(--ds-border-input)";
13
+ '--local-border-focus': "var(--ds-border-focused)";
14
+ '--local-dot-active': "var(--ds-icon-inverse)";
15
+ '--local-dot-checked': "var(--ds-icon-inverse)";
16
+ '--local-dot-disabled': "var(--ds-icon-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 type OptionPropType = {
4
+ isDisabled?: boolean;
5
+ label?: ReactNode;
6
+ name?: string;
7
+ value?: RadioValue;
8
+ testId?: string;
9
+ };
10
+ export type OptionsPropType = Array<OptionPropType>;
11
+ export type RadioValue = string;
12
+ 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
+ type Combine<First, Second> = Omit<First, keyof Second> & Second;
58
+ export 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.5.1",
3
+ "version": "5.5.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/"