@atlaskit/primitives 5.1.1 → 5.1.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 +6 -0
- package/dist/cjs/components/anchor.js +1 -1
- package/dist/cjs/components/pressable.js +1 -1
- package/dist/cjs/components/text.js +15 -16
- package/dist/es2019/components/anchor.js +1 -1
- package/dist/es2019/components/pressable.js +1 -1
- package/dist/es2019/components/text.js +14 -16
- package/dist/esm/components/anchor.js +1 -1
- package/dist/esm/components/pressable.js +1 -1
- package/dist/esm/components/text.js +15 -17
- package/dist/types/components/text.d.ts +8 -4
- package/dist/types-ts4.5/components/text.d.ts +8 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @atlaskit/primitives
|
|
2
2
|
|
|
3
|
+
## 5.1.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#80174](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/80174) [`2a4fd6ccba31`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/2a4fd6ccba31) - Add forwardRef to text component
|
|
8
|
+
|
|
3
9
|
## 5.1.1
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -76,7 +76,7 @@ var Anchor = function Anchor(_ref, ref) {
|
|
|
76
76
|
action: 'clicked',
|
|
77
77
|
componentName: componentName || 'Anchor',
|
|
78
78
|
packageName: "@atlaskit/primitives",
|
|
79
|
-
packageVersion: "5.1.
|
|
79
|
+
packageVersion: "5.1.2",
|
|
80
80
|
analyticsData: analyticsContext,
|
|
81
81
|
actionSubject: 'link'
|
|
82
82
|
});
|
|
@@ -80,7 +80,7 @@ var UNSAFE_PRESSABLE = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref)
|
|
|
80
80
|
action: 'clicked',
|
|
81
81
|
componentName: componentName || 'Pressable',
|
|
82
82
|
packageName: "@atlaskit/primitives",
|
|
83
|
-
packageVersion: "5.1.
|
|
83
|
+
packageVersion: "5.1.2",
|
|
84
84
|
analyticsData: analyticsContext,
|
|
85
85
|
actionSubject: 'button'
|
|
86
86
|
});
|
|
@@ -5,14 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
8
|
var _react = require("react");
|
|
10
9
|
var _react2 = require("@emotion/react");
|
|
11
10
|
var _tinyInvariant = _interopRequireDefault(require("tiny-invariant"));
|
|
12
11
|
var _styleMaps = require("../xcss/style-maps.partial");
|
|
13
12
|
var _surfaceProvider = require("./internal/surface-provider");
|
|
14
|
-
var _excluded = ["children"];
|
|
15
13
|
/** @jsx jsx */
|
|
14
|
+
|
|
16
15
|
var asAllowlist = ['span', 'p', 'strong', 'em'];
|
|
17
16
|
// We're doing this because our CSS reset can add top margins to elements such as `p` which is totally insane.
|
|
18
17
|
// Long term we should remove those instances from the reset - it should be a reset to 0.
|
|
@@ -83,23 +82,23 @@ var useColor = function useColor(colorProp, hasTextAncestor) {
|
|
|
83
82
|
*
|
|
84
83
|
* @internal
|
|
85
84
|
*/
|
|
86
|
-
var Text = function
|
|
87
|
-
var
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
maxLines = props.maxLines;
|
|
85
|
+
var Text = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
86
|
+
var _ref$as = _ref.as,
|
|
87
|
+
Component = _ref$as === void 0 ? 'span' : _ref$as,
|
|
88
|
+
colorProp = _ref.color,
|
|
89
|
+
textAlign = _ref.textAlign,
|
|
90
|
+
testId = _ref.testId,
|
|
91
|
+
id = _ref.id,
|
|
92
|
+
_ref$size = _ref.size,
|
|
93
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
94
|
+
weight = _ref.weight,
|
|
95
|
+
maxLines = _ref.maxLines,
|
|
96
|
+
children = _ref.children;
|
|
99
97
|
(0, _tinyInvariant.default)(asAllowlist.includes(Component), "@atlaskit/primitives: Text received an invalid \"as\" value of \"".concat(Component, "\""));
|
|
100
98
|
var hasTextAncestor = useHasTextAncestor();
|
|
101
99
|
var color = useColor(colorProp, hasTextAncestor);
|
|
102
100
|
var component = (0, _react2.jsx)(Component, {
|
|
101
|
+
ref: ref,
|
|
103
102
|
css: [resetStyles, _styleMaps.fontStylesMap[size], color && _styleMaps.textColorStylesMap[color], maxLines && truncationStyles, maxLines === 1 && wordBreakMap.breakAll, textAlign && textAlignMap[textAlign], weight && _styleMaps.fontWeightStylesMap[weight], Component === 'em' && emStyles, Component === 'strong' && strongStyles],
|
|
104
103
|
style: {
|
|
105
104
|
WebkitLineClamp: maxLines
|
|
@@ -112,5 +111,5 @@ var Text = function Text(_ref) {
|
|
|
112
111
|
component : (0, _react2.jsx)(HasTextAncestorContext.Provider, {
|
|
113
112
|
value: true
|
|
114
113
|
}, component);
|
|
115
|
-
};
|
|
114
|
+
});
|
|
116
115
|
var _default = exports.default = Text;
|
|
@@ -66,7 +66,7 @@ const UNSAFE_PRESSABLE = /*#__PURE__*/forwardRef(({
|
|
|
66
66
|
action: 'clicked',
|
|
67
67
|
componentName: componentName || 'Pressable',
|
|
68
68
|
packageName: "@atlaskit/primitives",
|
|
69
|
-
packageVersion: "5.1.
|
|
69
|
+
packageVersion: "5.1.2",
|
|
70
70
|
analyticsData: analyticsContext,
|
|
71
71
|
actionSubject: 'button'
|
|
72
72
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
|
-
import { createContext, useContext } from 'react';
|
|
2
|
+
import { createContext, forwardRef, useContext } from 'react';
|
|
3
3
|
import { css, jsx } from '@emotion/react';
|
|
4
4
|
import invariant from 'tiny-invariant';
|
|
5
5
|
import { fontStylesMap, fontWeightStylesMap, inverseColorMap, textColorStylesMap } from '../xcss/style-maps.partial';
|
|
@@ -72,24 +72,22 @@ const useColor = (colorProp, hasTextAncestor) => {
|
|
|
72
72
|
*
|
|
73
73
|
* @internal
|
|
74
74
|
*/
|
|
75
|
-
const Text = ({
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
weight,
|
|
87
|
-
maxLines
|
|
88
|
-
} = props;
|
|
75
|
+
const Text = /*#__PURE__*/forwardRef(({
|
|
76
|
+
as: Component = 'span',
|
|
77
|
+
color: colorProp,
|
|
78
|
+
textAlign,
|
|
79
|
+
testId,
|
|
80
|
+
id,
|
|
81
|
+
size = 'medium',
|
|
82
|
+
weight,
|
|
83
|
+
maxLines,
|
|
84
|
+
children
|
|
85
|
+
}, ref) => {
|
|
89
86
|
invariant(asAllowlist.includes(Component), `@atlaskit/primitives: Text received an invalid "as" value of "${Component}"`);
|
|
90
87
|
const hasTextAncestor = useHasTextAncestor();
|
|
91
88
|
const color = useColor(colorProp, hasTextAncestor);
|
|
92
89
|
const component = jsx(Component, {
|
|
90
|
+
ref: ref,
|
|
93
91
|
css: [resetStyles, fontStylesMap[size], color && textColorStylesMap[color], maxLines && truncationStyles, maxLines === 1 && wordBreakMap.breakAll, textAlign && textAlignMap[textAlign], weight && fontWeightStylesMap[weight], Component === 'em' && emStyles, Component === 'strong' && strongStyles],
|
|
94
92
|
style: {
|
|
95
93
|
WebkitLineClamp: maxLines
|
|
@@ -102,5 +100,5 @@ const Text = ({
|
|
|
102
100
|
component : jsx(HasTextAncestorContext.Provider, {
|
|
103
101
|
value: true
|
|
104
102
|
}, component);
|
|
105
|
-
};
|
|
103
|
+
});
|
|
106
104
|
export default Text;
|
|
@@ -66,7 +66,7 @@ var Anchor = function Anchor(_ref, ref) {
|
|
|
66
66
|
action: 'clicked',
|
|
67
67
|
componentName: componentName || 'Anchor',
|
|
68
68
|
packageName: "@atlaskit/primitives",
|
|
69
|
-
packageVersion: "5.1.
|
|
69
|
+
packageVersion: "5.1.2",
|
|
70
70
|
analyticsData: analyticsContext,
|
|
71
71
|
actionSubject: 'link'
|
|
72
72
|
});
|
|
@@ -70,7 +70,7 @@ var UNSAFE_PRESSABLE = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
70
70
|
action: 'clicked',
|
|
71
71
|
componentName: componentName || 'Pressable',
|
|
72
72
|
packageName: "@atlaskit/primitives",
|
|
73
|
-
packageVersion: "5.1.
|
|
73
|
+
packageVersion: "5.1.2",
|
|
74
74
|
analyticsData: analyticsContext,
|
|
75
75
|
actionSubject: 'button'
|
|
76
76
|
});
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
|
-
var _excluded = ["children"];
|
|
3
1
|
/** @jsx jsx */
|
|
4
|
-
import { createContext, useContext } from 'react';
|
|
2
|
+
import { createContext, forwardRef, useContext } from 'react';
|
|
5
3
|
import { css, jsx } from '@emotion/react';
|
|
6
4
|
import invariant from 'tiny-invariant';
|
|
7
5
|
import { fontStylesMap, fontWeightStylesMap, inverseColorMap, textColorStylesMap } from '../xcss/style-maps.partial';
|
|
@@ -76,23 +74,23 @@ var useColor = function useColor(colorProp, hasTextAncestor) {
|
|
|
76
74
|
*
|
|
77
75
|
* @internal
|
|
78
76
|
*/
|
|
79
|
-
var Text = function
|
|
80
|
-
var
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
maxLines = props.maxLines;
|
|
77
|
+
var Text = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
78
|
+
var _ref$as = _ref.as,
|
|
79
|
+
Component = _ref$as === void 0 ? 'span' : _ref$as,
|
|
80
|
+
colorProp = _ref.color,
|
|
81
|
+
textAlign = _ref.textAlign,
|
|
82
|
+
testId = _ref.testId,
|
|
83
|
+
id = _ref.id,
|
|
84
|
+
_ref$size = _ref.size,
|
|
85
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
86
|
+
weight = _ref.weight,
|
|
87
|
+
maxLines = _ref.maxLines,
|
|
88
|
+
children = _ref.children;
|
|
92
89
|
invariant(asAllowlist.includes(Component), "@atlaskit/primitives: Text received an invalid \"as\" value of \"".concat(Component, "\""));
|
|
93
90
|
var hasTextAncestor = useHasTextAncestor();
|
|
94
91
|
var color = useColor(colorProp, hasTextAncestor);
|
|
95
92
|
var component = jsx(Component, {
|
|
93
|
+
ref: ref,
|
|
96
94
|
css: [resetStyles, fontStylesMap[size], color && textColorStylesMap[color], maxLines && truncationStyles, maxLines === 1 && wordBreakMap.breakAll, textAlign && textAlignMap[textAlign], weight && fontWeightStylesMap[weight], Component === 'em' && emStyles, Component === 'strong' && strongStyles],
|
|
97
95
|
style: {
|
|
98
96
|
WebkitLineClamp: maxLines
|
|
@@ -105,5 +103,5 @@ var Text = function Text(_ref) {
|
|
|
105
103
|
component : jsx(HasTextAncestorContext.Provider, {
|
|
106
104
|
value: true
|
|
107
105
|
}, component);
|
|
108
|
-
};
|
|
106
|
+
});
|
|
109
107
|
export default Text;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
|
-
import {
|
|
2
|
+
import { ComponentPropsWithRef, ElementType, ReactNode } from 'react';
|
|
3
3
|
import { FontSize, FontWeight, TextColor } from '../xcss/style-maps.partial';
|
|
4
4
|
import type { BasePrimitiveProps } from './types';
|
|
5
5
|
declare const asAllowlist: readonly ["span", "p", "strong", "em"];
|
|
6
6
|
type AsElement = (typeof asAllowlist)[number];
|
|
7
|
-
type TextPropsBase = {
|
|
7
|
+
type TextPropsBase<T extends ElementType = 'span'> = {
|
|
8
8
|
/**
|
|
9
9
|
* HTML tag to be rendered. Defaults to `span`.
|
|
10
10
|
*/
|
|
@@ -41,8 +41,12 @@ type TextPropsBase = {
|
|
|
41
41
|
* The [HTML `font-weight` attribute](https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight).
|
|
42
42
|
*/
|
|
43
43
|
weight?: FontWeight;
|
|
44
|
+
/**
|
|
45
|
+
* Forwarded ref.
|
|
46
|
+
*/
|
|
47
|
+
ref?: ComponentPropsWithRef<T>['ref'];
|
|
44
48
|
};
|
|
45
|
-
export type TextProps = TextPropsBase & Omit<BasePrimitiveProps, 'xcss'>;
|
|
49
|
+
export type TextProps<T extends ElementType = 'span'> = TextPropsBase<T> & Omit<BasePrimitiveProps, 'xcss'>;
|
|
46
50
|
type TextAlign = keyof typeof textAlignMap;
|
|
47
51
|
declare const textAlignMap: {
|
|
48
52
|
center: import("@emotion/react").SerializedStyles;
|
|
@@ -58,5 +62,5 @@ declare const textAlignMap: {
|
|
|
58
62
|
*
|
|
59
63
|
* @internal
|
|
60
64
|
*/
|
|
61
|
-
declare const Text:
|
|
65
|
+
declare const Text: import("react").ForwardRefExoticComponent<Pick<TextPropsBase<ElementType> & Omit<BasePrimitiveProps, "xcss">, "color" | "maxLines" | "textAlign" | "size" | "weight" | "children" | "as" | "id" | "role" | "testId" | "data-testid"> & import("react").RefAttributes<any>>;
|
|
62
66
|
export default Text;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
|
-
import {
|
|
2
|
+
import { ComponentPropsWithRef, ElementType, ReactNode } from 'react';
|
|
3
3
|
import { FontSize, FontWeight, TextColor } from '../xcss/style-maps.partial';
|
|
4
4
|
import type { BasePrimitiveProps } from './types';
|
|
5
5
|
declare const asAllowlist: readonly [
|
|
@@ -9,7 +9,7 @@ declare const asAllowlist: readonly [
|
|
|
9
9
|
"em"
|
|
10
10
|
];
|
|
11
11
|
type AsElement = (typeof asAllowlist)[number];
|
|
12
|
-
type TextPropsBase = {
|
|
12
|
+
type TextPropsBase<T extends ElementType = 'span'> = {
|
|
13
13
|
/**
|
|
14
14
|
* HTML tag to be rendered. Defaults to `span`.
|
|
15
15
|
*/
|
|
@@ -46,8 +46,12 @@ type TextPropsBase = {
|
|
|
46
46
|
* The [HTML `font-weight` attribute](https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight).
|
|
47
47
|
*/
|
|
48
48
|
weight?: FontWeight;
|
|
49
|
+
/**
|
|
50
|
+
* Forwarded ref.
|
|
51
|
+
*/
|
|
52
|
+
ref?: ComponentPropsWithRef<T>['ref'];
|
|
49
53
|
};
|
|
50
|
-
export type TextProps = TextPropsBase & Omit<BasePrimitiveProps, 'xcss'>;
|
|
54
|
+
export type TextProps<T extends ElementType = 'span'> = TextPropsBase<T> & Omit<BasePrimitiveProps, 'xcss'>;
|
|
51
55
|
type TextAlign = keyof typeof textAlignMap;
|
|
52
56
|
declare const textAlignMap: {
|
|
53
57
|
center: import("@emotion/react").SerializedStyles;
|
|
@@ -63,5 +67,5 @@ declare const textAlignMap: {
|
|
|
63
67
|
*
|
|
64
68
|
* @internal
|
|
65
69
|
*/
|
|
66
|
-
declare const Text:
|
|
70
|
+
declare const Text: import("react").ForwardRefExoticComponent<Pick<TextPropsBase<ElementType> & Omit<BasePrimitiveProps, "xcss">, "color" | "maxLines" | "textAlign" | "size" | "weight" | "children" | "as" | "id" | "role" | "testId" | "data-testid"> & import("react").RefAttributes<any>>;
|
|
67
71
|
export default Text;
|