@atlaskit/primitives 7.4.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,82 @@
1
1
  # @atlaskit/primitives
2
2
 
3
+ ## 8.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [#109778](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/109778)
8
+ [`d20b004b7c9dd`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/d20b004b7c9dd) -
9
+ Box no longer supports usage as a button. Use
10
+ [the Pressable primitive](https://atlassian.design/components/primitives/pressable/examples)
11
+ instead, which is more specialized and has built-in event tracking support.
12
+
13
+ - Pressable has focus ring styles built-in, so remove existing styles including
14
+ `@atlaskit/focus-ring`
15
+ - Pressable has a default cursor (`cursor: pointer`) built-in, so existing styles can be removed.
16
+ - Pressable has a `isDisabled` prop, rather than direct usage of the `disabled` attribute.
17
+ - Pressable is built on Box, so no visual changes are expected.
18
+
19
+ **Before migration**
20
+
21
+ ```
22
+ import { Box, xcss } from '@atlaskit/primitives';
23
+ import FocusRing from '@atlaskit/focus-ring';
24
+
25
+ const buttonStyles = xcss({
26
+ cursor: 'pointer',
27
+ backgroundColor: 'color.background.brand.bold'
28
+ });
29
+
30
+
31
+ const MyApp = () => (
32
+ <FocusRing>
33
+ <Box
34
+ as="button"
35
+ xcss={buttonStyles}
36
+ disabled={isDisabled}
37
+ >
38
+ Hello
39
+ </Box>
40
+ </FocusRing>
41
+ )
42
+ ```
43
+
44
+ **After migration**
45
+
46
+ ```
47
+ import { Pressable, xcss } from '@atlaskit/primitives';
48
+
49
+ const buttonStyles = xcss({
50
+ backgroundColor: 'color.background.brand.bold'
51
+ });
52
+
53
+ const MyApp = () => (
54
+ <Pressable
55
+ xcss={buttonStyles}
56
+ isDisabled={isDisabled}
57
+ >
58
+ Hello
59
+ </Pressable>
60
+ );
61
+ ```
62
+
63
+ ### Minor Changes
64
+
65
+ - [#108386](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/108386)
66
+ [`8f3fa9e80b93c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/8f3fa9e80b93c) -
67
+ Updated xl breakpoint to be 1768px instead of 1760px (110.5rem instead of 110rem) to match updated
68
+ design guidance.
69
+
70
+ ### Patch Changes
71
+
72
+ - Updated dependencies
73
+
74
+ ## 7.4.1
75
+
76
+ ### Patch Changes
77
+
78
+ - Updated dependencies
79
+
3
80
  ## 7.4.0
4
81
 
5
82
  ### Minor Changes
@@ -88,7 +88,7 @@ var AnchorNoRef = function AnchorNoRef(_ref, ref) {
88
88
  action: 'clicked',
89
89
  componentName: componentName || 'Anchor',
90
90
  packageName: "@atlaskit/primitives",
91
- packageVersion: "7.4.0",
91
+ packageVersion: "8.0.0",
92
92
  analyticsData: analyticsContext,
93
93
  actionSubject: 'link'
94
94
  });
@@ -19,7 +19,7 @@ var _excluded = ["as", "children", "backgroundColor", "padding", "paddingBlock",
19
19
  */
20
20
  /** @jsx jsx */
21
21
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
22
- // Can either Exclude or Extract - here we're excluding all SVG-related elements
22
+ // Can either Exclude or Extract - here we're excluding all SVG-related elements and button (handled by Pressable)
23
23
 
24
24
  // Basically just ElementType but without ComponentType, it makes sense to keep the "Type" suffix
25
25
  // eslint-disable-next-line @repo/internal/react/consistent-types-definitions
@@ -81,7 +81,7 @@ var Pressable = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
81
81
  action: 'clicked',
82
82
  componentName: componentName || 'Pressable',
83
83
  packageName: "@atlaskit/primitives",
84
- packageVersion: "7.4.0",
84
+ packageVersion: "8.0.0",
85
85
  analyticsData: analyticsContext,
86
86
  actionSubject: 'button'
87
87
  });
@@ -96,6 +96,7 @@ var Pressable = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
96
96
  // it with cx(defaultStyles, focusRingStyles, xcssStyles) when we've moved away from Emotion.
97
97
  styles = Array.isArray(xcssStyles) ? [].concat((0, _toConsumableArray2.default)(styles), (0, _toConsumableArray2.default)(xcssStyles)) : [].concat((0, _toConsumableArray2.default)(styles), [xcssStyles]);
98
98
  return /*#__PURE__*/_react.default.createElement(_box.default, (0, _extends2.default)({}, htmlAttributes, {
99
+ // @ts-expect-error - `as` is not compatible with Box. Pressable will be rewritten to diverge from Box soon.
99
100
  as: "button",
100
101
  ref: ref,
101
102
  testId: testId,
@@ -46,13 +46,13 @@ var UNSAFE_BREAKPOINTS_CONFIG = exports.UNSAFE_BREAKPOINTS_CONFIG = {
46
46
  gridItemGutter: "var(--ds-space-400, 32px)",
47
47
  gridMargin: "var(--ds-space-400, 32px)",
48
48
  min: '90rem',
49
- max: '109.99rem'
49
+ max: '110.49rem'
50
50
  },
51
51
  // large high res
52
52
  xl: {
53
53
  gridItemGutter: "var(--ds-space-400, 32px)",
54
54
  gridMargin: "var(--ds-space-500, 40px)",
55
- min: '110rem',
55
+ min: '110.5rem',
56
56
  max: null
57
57
  }
58
58
  // NOTE: We previously had an `xxl=135rem` breakpoint, but it was removed as it was not used anywhere and felt too large
@@ -21,22 +21,22 @@ var media = exports.media = {
21
21
  sm: '@media (min-width: 48rem)',
22
22
  md: '@media (min-width: 64rem)',
23
23
  lg: '@media (min-width: 90rem)',
24
- xl: '@media (min-width: 110rem)'
24
+ xl: '@media (min-width: 110.5rem)'
25
25
  },
26
26
  only: {
27
27
  xxs: '@media (min-width: 0rem) and (max-width: 29.99rem)',
28
28
  xs: '@media (min-width: 30rem) and (max-width: 47.99rem)',
29
29
  sm: '@media (min-width: 48rem) and (max-width: 63.99rem)',
30
30
  md: '@media (min-width: 64rem) and (max-width: 89.99rem)',
31
- lg: '@media (min-width: 90rem) and (max-width: 109.99rem)',
32
- xl: '@media (min-width: 110rem)'
31
+ lg: '@media (min-width: 90rem) and (max-width: 110.49rem)',
32
+ xl: '@media (min-width: 110.5rem)'
33
33
  },
34
34
  below: {
35
35
  xs: '@media not all and (min-width: 30rem)',
36
36
  sm: '@media not all and (min-width: 48rem)',
37
37
  md: '@media not all and (min-width: 64rem)',
38
38
  lg: '@media not all and (min-width: 90rem)',
39
- xl: '@media not all and (min-width: 110rem)'
39
+ xl: '@media not all and (min-width: 110.5rem)'
40
40
  }
41
41
  };
42
42
 
@@ -74,7 +74,7 @@ const AnchorNoRef = ({
74
74
  action: 'clicked',
75
75
  componentName: componentName || 'Anchor',
76
76
  packageName: "@atlaskit/primitives",
77
- packageVersion: "7.4.0",
77
+ packageVersion: "8.0.0",
78
78
  analyticsData: analyticsContext,
79
79
  actionSubject: 'link'
80
80
  });
@@ -11,7 +11,7 @@ import { backgroundColorStylesMap, isSurfaceColorToken, paddingStylesMap, surfac
11
11
  import { parseXcss } from '../xcss/xcss';
12
12
  import { SurfaceContext } from './internal/surface-provider';
13
13
 
14
- // Can either Exclude or Extract - here we're excluding all SVG-related elements
14
+ // Can either Exclude or Extract - here we're excluding all SVG-related elements and button (handled by Pressable)
15
15
 
16
16
  // Basically just ElementType but without ComponentType, it makes sense to keep the "Type" suffix
17
17
  // eslint-disable-next-line @repo/internal/react/consistent-types-definitions
@@ -67,7 +67,7 @@ const Pressable = /*#__PURE__*/forwardRef(({
67
67
  action: 'clicked',
68
68
  componentName: componentName || 'Pressable',
69
69
  packageName: "@atlaskit/primitives",
70
- packageVersion: "7.4.0",
70
+ packageVersion: "8.0.0",
71
71
  analyticsData: analyticsContext,
72
72
  actionSubject: 'button'
73
73
  });
@@ -82,6 +82,7 @@ const Pressable = /*#__PURE__*/forwardRef(({
82
82
  // it with cx(defaultStyles, focusRingStyles, xcssStyles) when we've moved away from Emotion.
83
83
  styles = Array.isArray(xcssStyles) ? [...styles, ...xcssStyles] : [...styles, xcssStyles];
84
84
  return /*#__PURE__*/React.createElement(Box, _extends({}, htmlAttributes, {
85
+ // @ts-expect-error - `as` is not compatible with Box. Pressable will be rewritten to diverge from Box soon.
85
86
  as: "button",
86
87
  ref: ref,
87
88
  testId: testId,
@@ -40,13 +40,13 @@ export const UNSAFE_BREAKPOINTS_CONFIG = {
40
40
  gridItemGutter: "var(--ds-space-400, 32px)",
41
41
  gridMargin: "var(--ds-space-400, 32px)",
42
42
  min: '90rem',
43
- max: '109.99rem'
43
+ max: '110.49rem'
44
44
  },
45
45
  // large high res
46
46
  xl: {
47
47
  gridItemGutter: "var(--ds-space-400, 32px)",
48
48
  gridMargin: "var(--ds-space-500, 40px)",
49
- min: '110rem',
49
+ min: '110.5rem',
50
50
  max: null
51
51
  }
52
52
  // NOTE: We previously had an `xxl=135rem` breakpoint, but it was removed as it was not used anywhere and felt too large
@@ -15,22 +15,22 @@ export const media = {
15
15
  sm: '@media (min-width: 48rem)',
16
16
  md: '@media (min-width: 64rem)',
17
17
  lg: '@media (min-width: 90rem)',
18
- xl: '@media (min-width: 110rem)'
18
+ xl: '@media (min-width: 110.5rem)'
19
19
  },
20
20
  only: {
21
21
  xxs: '@media (min-width: 0rem) and (max-width: 29.99rem)',
22
22
  xs: '@media (min-width: 30rem) and (max-width: 47.99rem)',
23
23
  sm: '@media (min-width: 48rem) and (max-width: 63.99rem)',
24
24
  md: '@media (min-width: 64rem) and (max-width: 89.99rem)',
25
- lg: '@media (min-width: 90rem) and (max-width: 109.99rem)',
26
- xl: '@media (min-width: 110rem)'
25
+ lg: '@media (min-width: 90rem) and (max-width: 110.49rem)',
26
+ xl: '@media (min-width: 110.5rem)'
27
27
  },
28
28
  below: {
29
29
  xs: '@media not all and (min-width: 30rem)',
30
30
  sm: '@media not all and (min-width: 48rem)',
31
31
  md: '@media not all and (min-width: 64rem)',
32
32
  lg: '@media not all and (min-width: 90rem)',
33
- xl: '@media not all and (min-width: 110rem)'
33
+ xl: '@media not all and (min-width: 110.5rem)'
34
34
  }
35
35
  };
36
36
 
@@ -78,7 +78,7 @@ var AnchorNoRef = function AnchorNoRef(_ref, ref) {
78
78
  action: 'clicked',
79
79
  componentName: componentName || 'Anchor',
80
80
  packageName: "@atlaskit/primitives",
81
- packageVersion: "7.4.0",
81
+ packageVersion: "8.0.0",
82
82
  analyticsData: analyticsContext,
83
83
  actionSubject: 'link'
84
84
  });
@@ -14,7 +14,7 @@ import { backgroundColorStylesMap, isSurfaceColorToken, paddingStylesMap, surfac
14
14
  import { parseXcss } from '../xcss/xcss';
15
15
  import { SurfaceContext } from './internal/surface-provider';
16
16
 
17
- // Can either Exclude or Extract - here we're excluding all SVG-related elements
17
+ // Can either Exclude or Extract - here we're excluding all SVG-related elements and button (handled by Pressable)
18
18
 
19
19
  // Basically just ElementType but without ComponentType, it makes sense to keep the "Type" suffix
20
20
  // eslint-disable-next-line @repo/internal/react/consistent-types-definitions
@@ -71,7 +71,7 @@ var Pressable = /*#__PURE__*/forwardRef(function (_ref, ref) {
71
71
  action: 'clicked',
72
72
  componentName: componentName || 'Pressable',
73
73
  packageName: "@atlaskit/primitives",
74
- packageVersion: "7.4.0",
74
+ packageVersion: "8.0.0",
75
75
  analyticsData: analyticsContext,
76
76
  actionSubject: 'button'
77
77
  });
@@ -86,6 +86,7 @@ var Pressable = /*#__PURE__*/forwardRef(function (_ref, ref) {
86
86
  // it with cx(defaultStyles, focusRingStyles, xcssStyles) when we've moved away from Emotion.
87
87
  styles = Array.isArray(xcssStyles) ? [].concat(_toConsumableArray(styles), _toConsumableArray(xcssStyles)) : [].concat(_toConsumableArray(styles), [xcssStyles]);
88
88
  return /*#__PURE__*/React.createElement(Box, _extends({}, htmlAttributes, {
89
+ // @ts-expect-error - `as` is not compatible with Box. Pressable will be rewritten to diverge from Box soon.
89
90
  as: "button",
90
91
  ref: ref,
91
92
  testId: testId,
@@ -40,13 +40,13 @@ export var UNSAFE_BREAKPOINTS_CONFIG = {
40
40
  gridItemGutter: "var(--ds-space-400, 32px)",
41
41
  gridMargin: "var(--ds-space-400, 32px)",
42
42
  min: '90rem',
43
- max: '109.99rem'
43
+ max: '110.49rem'
44
44
  },
45
45
  // large high res
46
46
  xl: {
47
47
  gridItemGutter: "var(--ds-space-400, 32px)",
48
48
  gridMargin: "var(--ds-space-500, 40px)",
49
- min: '110rem',
49
+ min: '110.5rem',
50
50
  max: null
51
51
  }
52
52
  // NOTE: We previously had an `xxl=135rem` breakpoint, but it was removed as it was not used anywhere and felt too large
@@ -15,22 +15,22 @@ export var media = {
15
15
  sm: '@media (min-width: 48rem)',
16
16
  md: '@media (min-width: 64rem)',
17
17
  lg: '@media (min-width: 90rem)',
18
- xl: '@media (min-width: 110rem)'
18
+ xl: '@media (min-width: 110.5rem)'
19
19
  },
20
20
  only: {
21
21
  xxs: '@media (min-width: 0rem) and (max-width: 29.99rem)',
22
22
  xs: '@media (min-width: 30rem) and (max-width: 47.99rem)',
23
23
  sm: '@media (min-width: 48rem) and (max-width: 63.99rem)',
24
24
  md: '@media (min-width: 64rem) and (max-width: 89.99rem)',
25
- lg: '@media (min-width: 90rem) and (max-width: 109.99rem)',
26
- xl: '@media (min-width: 110rem)'
25
+ lg: '@media (min-width: 90rem) and (max-width: 110.49rem)',
26
+ xl: '@media (min-width: 110.5rem)'
27
27
  },
28
28
  below: {
29
29
  xs: '@media not all and (min-width: 30rem)',
30
30
  sm: '@media not all and (min-width: 48rem)',
31
31
  md: '@media not all and (min-width: 64rem)',
32
32
  lg: '@media not all and (min-width: 90rem)',
33
- xl: '@media not all and (min-width: 110rem)'
33
+ xl: '@media not all and (min-width: 110.5rem)'
34
34
  }
35
35
  };
36
36
 
@@ -2,7 +2,7 @@ import React, { type Ref } from 'react';
2
2
  import { type UIAnalyticsEvent } from '@atlaskit/analytics-next';
3
3
  import { type RouterLinkComponentProps } from '@atlaskit/app-provider';
4
4
  import { type BoxProps } from './box';
5
- export type AnchorProps<RouterLinkConfig extends Record<string, any> = never> = RouterLinkComponentProps<RouterLinkConfig> & Omit<BoxProps<'a'>, 'href' | 'as' | 'style' | 'onClick'> & {
5
+ export type AnchorProps<RouterLinkConfig extends Record<string, any> = never> = RouterLinkComponentProps<RouterLinkConfig> & Omit<BoxProps<'a'>, 'href' | 'as' | 'onClick' | 'style' | 'className'> & {
6
6
  /**
7
7
  * Handler called on click. The second argument can be used to track analytics data. See the tutorial in the analytics-next package for details.
8
8
  */
@@ -6,7 +6,7 @@ import { type ComponentPropsWithoutRef, type ComponentPropsWithRef, type ReactEl
6
6
  import { type BackgroundColor, type Space } from '../xcss/style-maps.partial';
7
7
  import { type SVGElements } from './internal/types';
8
8
  import type { BasePrimitiveProps, StyleProp } from './types';
9
- type AllowedElements = Exclude<keyof JSX.IntrinsicElements, SVGElements>;
9
+ type AllowedElements = Exclude<keyof JSX.IntrinsicElements, SVGElements | 'button'>;
10
10
  type CustomElementType<P = any> = {
11
11
  [K in AllowedElements]: P extends JSX.IntrinsicElements[K] ? K : never;
12
12
  }[AllowedElements];
@@ -1,12 +1,20 @@
1
- import React from 'react';
1
+ import React, { type ComponentPropsWithoutRef, type ComponentPropsWithRef, type ReactNode } from 'react';
2
2
  import { type UIAnalyticsEvent } from '@atlaskit/analytics-next';
3
- import { type BoxProps } from './box';
4
- export type PressableProps = Omit<BoxProps<'button'>, 'disabled' | 'as' | 'style' | 'onClick'> & {
5
- isDisabled?: boolean;
3
+ import { type BackgroundColor, type Space } from '../xcss/style-maps.partial';
4
+ import type { BasePrimitiveProps, StyleProp } from './types';
5
+ type BasePressableProps = {
6
+ /**
7
+ * Elements to be rendered inside the Box.
8
+ */
9
+ children?: ReactNode;
6
10
  /**
7
11
  * Handler called on click. The second argument provides an Atlaskit UI analytics event that can be fired to a listening channel. See the ['analytics-next' package](https://atlaskit.atlassian.com/packages/analytics/analytics-next) documentation for more information.
8
12
  */
9
13
  onClick?: (e: React.MouseEvent<HTMLButtonElement>, analyticsEvent: UIAnalyticsEvent) => void;
14
+ /**
15
+ * Whether the button is disabled.
16
+ */
17
+ isDisabled?: boolean;
10
18
  /**
11
19
  * An optional name used to identify events for [React UFO (Unified Frontend Observability) press interactions](https://developer.atlassian.com/platform/ufo/react-ufo/react-ufo/getting-started/#quick-start--press-interactions). For more information, see [React UFO integration into Design System components](https://go.atlassian.com/react-ufo-dst-integration).
12
20
  */
@@ -19,7 +27,53 @@ export type PressableProps = Omit<BoxProps<'button'>, 'disabled' | 'as' | 'style
19
27
  * Additional information to be included in the `context` of Atlaskit analytics events that come from pressable.
20
28
  */
21
29
  analyticsContext?: Record<string, any>;
30
+ /**
31
+ * Token representing background color with a built-in fallback value.
32
+ */
33
+ backgroundColor?: BackgroundColor;
34
+ /**
35
+ * Tokens representing CSS shorthand for `paddingBlock` and `paddingInline` together.
36
+ *
37
+ * @see paddingBlock
38
+ * @see paddingInline
39
+ */
40
+ padding?: Space;
41
+ /**
42
+ * Tokens representing CSS shorthand `paddingBlock`.
43
+ *
44
+ * @see paddingBlockStart
45
+ * @see paddingBlockEnd
46
+ */
47
+ paddingBlock?: Space;
48
+ /**
49
+ * Tokens representing CSS `paddingBlockStart`.
50
+ */
51
+ paddingBlockStart?: Space;
52
+ /**
53
+ * Tokens representing CSS `paddingBlockEnd`.
54
+ */
55
+ paddingBlockEnd?: Space;
56
+ /**
57
+ * Tokens representing CSS shorthand `paddingInline`.
58
+ *
59
+ * @see paddingInlineStart
60
+ * @see paddingInlineEnd
61
+ */
62
+ paddingInline?: Space;
63
+ /**
64
+ * Tokens representing CSS `paddingInlineStart`.
65
+ */
66
+ paddingInlineStart?: Space;
67
+ /**
68
+ * Tokens representing CSS `paddingInlineEnd`.
69
+ */
70
+ paddingInlineEnd?: Space;
71
+ /**
72
+ * Forwarded ref.
73
+ */
74
+ ref?: ComponentPropsWithRef<'button'>['ref'];
22
75
  };
76
+ export type PressableProps = Omit<ComponentPropsWithoutRef<'button'>, 'disabled' | 'onClick' | 'style' | 'className'> & BasePrimitiveProps & StyleProp & BasePressableProps;
23
77
  /**
24
78
  * __Pressable__
25
79
  *
@@ -29,23 +83,5 @@ export type PressableProps = Omit<BoxProps<'button'>, 'disabled' | 'as' | 'style
29
83
  * - [Code](https://atlassian.design/components/primitives/pressable/code)
30
84
  * - [Usage](https://atlassian.design/components/primitives/pressable/usage)
31
85
  */
32
- declare const Pressable: React.ForwardRefExoticComponent<Pick<Omit<BoxProps<"button">, "style" | "disabled" | "as" | "onClick"> & {
33
- isDisabled?: boolean | undefined;
34
- /**
35
- * Handler called on click. The second argument provides an Atlaskit UI analytics event that can be fired to a listening channel. See the ['analytics-next' package](https://atlaskit.atlassian.com/packages/analytics/analytics-next) documentation for more information.
36
- */
37
- onClick?: ((e: React.MouseEvent<HTMLButtonElement>, analyticsEvent: UIAnalyticsEvent) => void) | undefined;
38
- /**
39
- * An optional name used to identify events for [React UFO (Unified Frontend Observability) press interactions](https://developer.atlassian.com/platform/ufo/react-ufo/react-ufo/getting-started/#quick-start--press-interactions). For more information, see [React UFO integration into Design System components](https://go.atlassian.com/react-ufo-dst-integration).
40
- */
41
- interactionName?: string | undefined;
42
- /**
43
- * An optional component name used to identify this component in Atlaskit analytics events. This can be used if a parent component's name is preferred over the default 'Pressable'.
44
- */
45
- componentName?: string | undefined;
46
- /**
47
- * Additional information to be included in the `context` of Atlaskit analytics events that come from pressable.
48
- */
49
- analyticsContext?: Record<string, any> | undefined;
50
- }, "padding" | "paddingBlock" | "paddingBlockStart" | "paddingBlockEnd" | "paddingInline" | "paddingInlineStart" | "paddingInlineEnd" | "backgroundColor" | "color" | "translate" | "hidden" | "key" | "value" | "children" | "form" | "slot" | "title" | "name" | "type" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "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-label" | "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" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "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" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | keyof import("./types").BasePrimitiveProps | "isDisabled" | "interactionName" | "componentName" | "analyticsContext"> & React.RefAttributes<HTMLButtonElement>>;
86
+ declare const Pressable: React.ForwardRefExoticComponent<Pick<Omit<Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "key" | keyof React.ButtonHTMLAttributes<HTMLButtonElement>>, "style" | "disabled" | "className" | "onClick"> & BasePrimitiveProps & StyleProp & BasePressableProps, "padding" | "paddingBlock" | "paddingBlockStart" | "paddingBlockEnd" | "paddingInline" | "paddingInlineStart" | "paddingInlineEnd" | "backgroundColor" | "color" | "translate" | "hidden" | "key" | "value" | "style" | "children" | "form" | "slot" | "title" | "name" | "type" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "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-label" | "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" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "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" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | keyof BasePrimitiveProps | "isDisabled" | "interactionName" | "componentName" | "analyticsContext"> & React.RefAttributes<HTMLButtonElement>>;
51
87
  export default Pressable;
@@ -35,12 +35,12 @@ export declare const UNSAFE_BREAKPOINTS_CONFIG: {
35
35
  readonly gridItemGutter: "var(--ds-space-400)";
36
36
  readonly gridMargin: "var(--ds-space-400)";
37
37
  readonly min: "90rem";
38
- readonly max: "109.99rem";
38
+ readonly max: "110.49rem";
39
39
  };
40
40
  readonly xl: {
41
41
  readonly gridItemGutter: "var(--ds-space-400)";
42
42
  readonly gridMargin: "var(--ds-space-500)";
43
- readonly min: "110rem";
43
+ readonly min: "110.5rem";
44
44
  readonly max: null;
45
45
  };
46
46
  };
@@ -15,22 +15,22 @@ export declare const media: {
15
15
  readonly sm: "@media (min-width: 48rem)";
16
16
  readonly md: "@media (min-width: 64rem)";
17
17
  readonly lg: "@media (min-width: 90rem)";
18
- readonly xl: "@media (min-width: 110rem)";
18
+ readonly xl: "@media (min-width: 110.5rem)";
19
19
  };
20
20
  only: {
21
21
  readonly xxs: "@media (min-width: 0rem) and (max-width: 29.99rem)";
22
22
  readonly xs: "@media (min-width: 30rem) and (max-width: 47.99rem)";
23
23
  readonly sm: "@media (min-width: 48rem) and (max-width: 63.99rem)";
24
24
  readonly md: "@media (min-width: 64rem) and (max-width: 89.99rem)";
25
- readonly lg: "@media (min-width: 90rem) and (max-width: 109.99rem)";
26
- readonly xl: "@media (min-width: 110rem)";
25
+ readonly lg: "@media (min-width: 90rem) and (max-width: 110.49rem)";
26
+ readonly xl: "@media (min-width: 110.5rem)";
27
27
  };
28
28
  below: {
29
29
  readonly xs: "@media not all and (min-width: 30rem)";
30
30
  readonly sm: "@media not all and (min-width: 48rem)";
31
31
  readonly md: "@media not all and (min-width: 64rem)";
32
32
  readonly lg: "@media not all and (min-width: 90rem)";
33
- readonly xl: "@media not all and (min-width: 110rem)";
33
+ readonly xl: "@media not all and (min-width: 110.5rem)";
34
34
  };
35
35
  };
36
36
  /**
@@ -43,21 +43,21 @@ export declare const UNSAFE_media: {
43
43
  readonly sm: "@media (min-width: 48rem)";
44
44
  readonly md: "@media (min-width: 64rem)";
45
45
  readonly lg: "@media (min-width: 90rem)";
46
- readonly xl: "@media (min-width: 110rem)";
46
+ readonly xl: "@media (min-width: 110.5rem)";
47
47
  };
48
48
  only: {
49
49
  readonly xxs: "@media (min-width: 0rem) and (max-width: 29.99rem)";
50
50
  readonly xs: "@media (min-width: 30rem) and (max-width: 47.99rem)";
51
51
  readonly sm: "@media (min-width: 48rem) and (max-width: 63.99rem)";
52
52
  readonly md: "@media (min-width: 64rem) and (max-width: 89.99rem)";
53
- readonly lg: "@media (min-width: 90rem) and (max-width: 109.99rem)";
54
- readonly xl: "@media (min-width: 110rem)";
53
+ readonly lg: "@media (min-width: 90rem) and (max-width: 110.49rem)";
54
+ readonly xl: "@media (min-width: 110.5rem)";
55
55
  };
56
56
  below: {
57
57
  readonly xs: "@media not all and (min-width: 30rem)";
58
58
  readonly sm: "@media not all and (min-width: 48rem)";
59
59
  readonly md: "@media not all and (min-width: 64rem)";
60
60
  readonly lg: "@media not all and (min-width: 90rem)";
61
- readonly xl: "@media not all and (min-width: 110rem)";
61
+ readonly xl: "@media not all and (min-width: 110.5rem)";
62
62
  };
63
63
  };
@@ -2,7 +2,7 @@ import React, { type Ref } from 'react';
2
2
  import { type UIAnalyticsEvent } from '@atlaskit/analytics-next';
3
3
  import { type RouterLinkComponentProps } from '@atlaskit/app-provider';
4
4
  import { type BoxProps } from './box';
5
- export type AnchorProps<RouterLinkConfig extends Record<string, any> = never> = RouterLinkComponentProps<RouterLinkConfig> & Omit<BoxProps<'a'>, 'href' | 'as' | 'style' | 'onClick'> & {
5
+ export type AnchorProps<RouterLinkConfig extends Record<string, any> = never> = RouterLinkComponentProps<RouterLinkConfig> & Omit<BoxProps<'a'>, 'href' | 'as' | 'onClick' | 'style' | 'className'> & {
6
6
  /**
7
7
  * Handler called on click. The second argument can be used to track analytics data. See the tutorial in the analytics-next package for details.
8
8
  */
@@ -6,7 +6,7 @@ import { type ComponentPropsWithoutRef, type ComponentPropsWithRef, type ReactEl
6
6
  import { type BackgroundColor, type Space } from '../xcss/style-maps.partial';
7
7
  import { type SVGElements } from './internal/types';
8
8
  import type { BasePrimitiveProps, StyleProp } from './types';
9
- type AllowedElements = Exclude<keyof JSX.IntrinsicElements, SVGElements>;
9
+ type AllowedElements = Exclude<keyof JSX.IntrinsicElements, SVGElements | 'button'>;
10
10
  type CustomElementType<P = any> = {
11
11
  [K in AllowedElements]: P extends JSX.IntrinsicElements[K] ? K : never;
12
12
  }[AllowedElements];
@@ -1,12 +1,20 @@
1
- import React from 'react';
1
+ import React, { type ComponentPropsWithoutRef, type ComponentPropsWithRef, type ReactNode } from 'react';
2
2
  import { type UIAnalyticsEvent } from '@atlaskit/analytics-next';
3
- import { type BoxProps } from './box';
4
- export type PressableProps = Omit<BoxProps<'button'>, 'disabled' | 'as' | 'style' | 'onClick'> & {
5
- isDisabled?: boolean;
3
+ import { type BackgroundColor, type Space } from '../xcss/style-maps.partial';
4
+ import type { BasePrimitiveProps, StyleProp } from './types';
5
+ type BasePressableProps = {
6
+ /**
7
+ * Elements to be rendered inside the Box.
8
+ */
9
+ children?: ReactNode;
6
10
  /**
7
11
  * Handler called on click. The second argument provides an Atlaskit UI analytics event that can be fired to a listening channel. See the ['analytics-next' package](https://atlaskit.atlassian.com/packages/analytics/analytics-next) documentation for more information.
8
12
  */
9
13
  onClick?: (e: React.MouseEvent<HTMLButtonElement>, analyticsEvent: UIAnalyticsEvent) => void;
14
+ /**
15
+ * Whether the button is disabled.
16
+ */
17
+ isDisabled?: boolean;
10
18
  /**
11
19
  * An optional name used to identify events for [React UFO (Unified Frontend Observability) press interactions](https://developer.atlassian.com/platform/ufo/react-ufo/react-ufo/getting-started/#quick-start--press-interactions). For more information, see [React UFO integration into Design System components](https://go.atlassian.com/react-ufo-dst-integration).
12
20
  */
@@ -19,7 +27,53 @@ export type PressableProps = Omit<BoxProps<'button'>, 'disabled' | 'as' | 'style
19
27
  * Additional information to be included in the `context` of Atlaskit analytics events that come from pressable.
20
28
  */
21
29
  analyticsContext?: Record<string, any>;
30
+ /**
31
+ * Token representing background color with a built-in fallback value.
32
+ */
33
+ backgroundColor?: BackgroundColor;
34
+ /**
35
+ * Tokens representing CSS shorthand for `paddingBlock` and `paddingInline` together.
36
+ *
37
+ * @see paddingBlock
38
+ * @see paddingInline
39
+ */
40
+ padding?: Space;
41
+ /**
42
+ * Tokens representing CSS shorthand `paddingBlock`.
43
+ *
44
+ * @see paddingBlockStart
45
+ * @see paddingBlockEnd
46
+ */
47
+ paddingBlock?: Space;
48
+ /**
49
+ * Tokens representing CSS `paddingBlockStart`.
50
+ */
51
+ paddingBlockStart?: Space;
52
+ /**
53
+ * Tokens representing CSS `paddingBlockEnd`.
54
+ */
55
+ paddingBlockEnd?: Space;
56
+ /**
57
+ * Tokens representing CSS shorthand `paddingInline`.
58
+ *
59
+ * @see paddingInlineStart
60
+ * @see paddingInlineEnd
61
+ */
62
+ paddingInline?: Space;
63
+ /**
64
+ * Tokens representing CSS `paddingInlineStart`.
65
+ */
66
+ paddingInlineStart?: Space;
67
+ /**
68
+ * Tokens representing CSS `paddingInlineEnd`.
69
+ */
70
+ paddingInlineEnd?: Space;
71
+ /**
72
+ * Forwarded ref.
73
+ */
74
+ ref?: ComponentPropsWithRef<'button'>['ref'];
22
75
  };
76
+ export type PressableProps = Omit<ComponentPropsWithoutRef<'button'>, 'disabled' | 'onClick' | 'style' | 'className'> & BasePrimitiveProps & StyleProp & BasePressableProps;
23
77
  /**
24
78
  * __Pressable__
25
79
  *
@@ -29,23 +83,5 @@ export type PressableProps = Omit<BoxProps<'button'>, 'disabled' | 'as' | 'style
29
83
  * - [Code](https://atlassian.design/components/primitives/pressable/code)
30
84
  * - [Usage](https://atlassian.design/components/primitives/pressable/usage)
31
85
  */
32
- declare const Pressable: React.ForwardRefExoticComponent<Pick<Omit<BoxProps<"button">, "style" | "disabled" | "as" | "onClick"> & {
33
- isDisabled?: boolean | undefined;
34
- /**
35
- * Handler called on click. The second argument provides an Atlaskit UI analytics event that can be fired to a listening channel. See the ['analytics-next' package](https://atlaskit.atlassian.com/packages/analytics/analytics-next) documentation for more information.
36
- */
37
- onClick?: ((e: React.MouseEvent<HTMLButtonElement>, analyticsEvent: UIAnalyticsEvent) => void) | undefined;
38
- /**
39
- * An optional name used to identify events for [React UFO (Unified Frontend Observability) press interactions](https://developer.atlassian.com/platform/ufo/react-ufo/react-ufo/getting-started/#quick-start--press-interactions). For more information, see [React UFO integration into Design System components](https://go.atlassian.com/react-ufo-dst-integration).
40
- */
41
- interactionName?: string | undefined;
42
- /**
43
- * An optional component name used to identify this component in Atlaskit analytics events. This can be used if a parent component's name is preferred over the default 'Pressable'.
44
- */
45
- componentName?: string | undefined;
46
- /**
47
- * Additional information to be included in the `context` of Atlaskit analytics events that come from pressable.
48
- */
49
- analyticsContext?: Record<string, any> | undefined;
50
- }, "padding" | "paddingBlock" | "paddingBlockStart" | "paddingBlockEnd" | "paddingInline" | "paddingInlineStart" | "paddingInlineEnd" | "backgroundColor" | "color" | "translate" | "hidden" | "key" | "value" | "children" | "form" | "slot" | "title" | "name" | "type" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "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-label" | "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" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "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" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | keyof import("./types").BasePrimitiveProps | "isDisabled" | "interactionName" | "componentName" | "analyticsContext"> & React.RefAttributes<HTMLButtonElement>>;
86
+ declare const Pressable: React.ForwardRefExoticComponent<Pick<Omit<Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "key" | keyof React.ButtonHTMLAttributes<HTMLButtonElement>>, "style" | "disabled" | "className" | "onClick"> & BasePrimitiveProps & StyleProp & BasePressableProps, "padding" | "paddingBlock" | "paddingBlockStart" | "paddingBlockEnd" | "paddingInline" | "paddingInlineStart" | "paddingInlineEnd" | "backgroundColor" | "color" | "translate" | "hidden" | "key" | "value" | "style" | "children" | "form" | "slot" | "title" | "name" | "type" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "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-label" | "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" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "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" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | keyof BasePrimitiveProps | "isDisabled" | "interactionName" | "componentName" | "analyticsContext"> & React.RefAttributes<HTMLButtonElement>>;
51
87
  export default Pressable;
@@ -35,12 +35,12 @@ export declare const UNSAFE_BREAKPOINTS_CONFIG: {
35
35
  readonly gridItemGutter: "var(--ds-space-400)";
36
36
  readonly gridMargin: "var(--ds-space-400)";
37
37
  readonly min: "90rem";
38
- readonly max: "109.99rem";
38
+ readonly max: "110.49rem";
39
39
  };
40
40
  readonly xl: {
41
41
  readonly gridItemGutter: "var(--ds-space-400)";
42
42
  readonly gridMargin: "var(--ds-space-500)";
43
- readonly min: "110rem";
43
+ readonly min: "110.5rem";
44
44
  readonly max: null;
45
45
  };
46
46
  };
@@ -15,22 +15,22 @@ export declare const media: {
15
15
  readonly sm: "@media (min-width: 48rem)";
16
16
  readonly md: "@media (min-width: 64rem)";
17
17
  readonly lg: "@media (min-width: 90rem)";
18
- readonly xl: "@media (min-width: 110rem)";
18
+ readonly xl: "@media (min-width: 110.5rem)";
19
19
  };
20
20
  only: {
21
21
  readonly xxs: "@media (min-width: 0rem) and (max-width: 29.99rem)";
22
22
  readonly xs: "@media (min-width: 30rem) and (max-width: 47.99rem)";
23
23
  readonly sm: "@media (min-width: 48rem) and (max-width: 63.99rem)";
24
24
  readonly md: "@media (min-width: 64rem) and (max-width: 89.99rem)";
25
- readonly lg: "@media (min-width: 90rem) and (max-width: 109.99rem)";
26
- readonly xl: "@media (min-width: 110rem)";
25
+ readonly lg: "@media (min-width: 90rem) and (max-width: 110.49rem)";
26
+ readonly xl: "@media (min-width: 110.5rem)";
27
27
  };
28
28
  below: {
29
29
  readonly xs: "@media not all and (min-width: 30rem)";
30
30
  readonly sm: "@media not all and (min-width: 48rem)";
31
31
  readonly md: "@media not all and (min-width: 64rem)";
32
32
  readonly lg: "@media not all and (min-width: 90rem)";
33
- readonly xl: "@media not all and (min-width: 110rem)";
33
+ readonly xl: "@media not all and (min-width: 110.5rem)";
34
34
  };
35
35
  };
36
36
  /**
@@ -43,21 +43,21 @@ export declare const UNSAFE_media: {
43
43
  readonly sm: "@media (min-width: 48rem)";
44
44
  readonly md: "@media (min-width: 64rem)";
45
45
  readonly lg: "@media (min-width: 90rem)";
46
- readonly xl: "@media (min-width: 110rem)";
46
+ readonly xl: "@media (min-width: 110.5rem)";
47
47
  };
48
48
  only: {
49
49
  readonly xxs: "@media (min-width: 0rem) and (max-width: 29.99rem)";
50
50
  readonly xs: "@media (min-width: 30rem) and (max-width: 47.99rem)";
51
51
  readonly sm: "@media (min-width: 48rem) and (max-width: 63.99rem)";
52
52
  readonly md: "@media (min-width: 64rem) and (max-width: 89.99rem)";
53
- readonly lg: "@media (min-width: 90rem) and (max-width: 109.99rem)";
54
- readonly xl: "@media (min-width: 110rem)";
53
+ readonly lg: "@media (min-width: 90rem) and (max-width: 110.49rem)";
54
+ readonly xl: "@media (min-width: 110.5rem)";
55
55
  };
56
56
  below: {
57
57
  readonly xs: "@media not all and (min-width: 30rem)";
58
58
  readonly sm: "@media not all and (min-width: 48rem)";
59
59
  readonly md: "@media not all and (min-width: 64rem)";
60
60
  readonly lg: "@media not all and (min-width: 90rem)";
61
- readonly xl: "@media not all and (min-width: 110rem)";
61
+ readonly xl: "@media not all and (min-width: 110.5rem)";
62
62
  };
63
63
  };
@@ -104,7 +104,7 @@ export default function Pressable(
104
104
  /**
105
105
  * Elements to be rendered inside the primitive.
106
106
  */
107
- children: React.ReactNode;
107
+ children?: React.ReactNode;
108
108
 
109
109
  /**
110
110
  * Forwarded ref element.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/primitives",
3
- "version": "7.4.0",
3
+ "version": "8.0.0",
4
4
  "description": "Primitives are token-backed low-level building blocks.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -125,7 +125,7 @@
125
125
  "dependencies": {
126
126
  "@atlaskit/analytics-next": "^9.3.0",
127
127
  "@atlaskit/app-provider": "^1.3.0",
128
- "@atlaskit/css": "^0.1.0",
128
+ "@atlaskit/css": "^0.3.0",
129
129
  "@atlaskit/ds-lib": "^2.3.0",
130
130
  "@atlaskit/interaction-context": "^2.1.0",
131
131
  "@atlaskit/tokens": "^1.51.0",