@atlaskit/primitives 0.4.0 → 0.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/dist/cjs/components/box.js +20 -17
- package/dist/cjs/components/inline.partial.js +4 -2
- package/dist/cjs/components/internal/base-box.partial.js +3 -3
- package/dist/cjs/components/stack.partial.js +4 -2
- package/dist/cjs/index.js +7 -0
- package/dist/cjs/internal/style-maps.js +130 -0
- package/dist/cjs/internal/xcss.js +110 -0
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/components/box.js +19 -12
- package/dist/es2019/components/inline.partial.js +3 -1
- package/dist/es2019/components/internal/base-box.partial.js +2 -2
- package/dist/es2019/components/stack.partial.js +3 -1
- package/dist/es2019/index.js +1 -0
- package/dist/es2019/internal/style-maps.js +117 -0
- package/dist/es2019/internal/xcss.js +97 -0
- package/dist/es2019/version.json +1 -1
- package/dist/esm/components/box.js +21 -14
- package/dist/esm/components/inline.partial.js +4 -2
- package/dist/esm/components/internal/base-box.partial.js +3 -3
- package/dist/esm/components/stack.partial.js +4 -2
- package/dist/esm/index.js +1 -0
- package/dist/esm/internal/style-maps.js +117 -0
- package/dist/esm/internal/xcss.js +100 -0
- package/dist/esm/version.json +1 -1
- package/dist/types/components/box.d.ts +9 -7
- package/dist/types/components/inline.partial.d.ts +8 -3
- package/dist/types/components/internal/base-box.partial.d.ts +43 -4
- package/dist/types/components/stack.partial.d.ts +8 -3
- package/dist/types/components/types.d.ts +9 -14
- package/dist/types/index.d.ts +1 -0
- package/dist/types/internal/style-maps.d.ts +151 -0
- package/dist/types/internal/xcss.d.ts +22 -0
- package/package.json +3 -2
- package/report.api.md +240 -38
- package/tmp/api-report-tmp.d.ts +209 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/primitives
|
|
2
2
|
|
|
3
|
+
## 0.4.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`fa26963628c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fa26963628c) - Removes `customStyles` in favour of `xcss`.
|
|
8
|
+
|
|
9
|
+
## 0.4.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`8e03331eb8b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8e03331eb8b) - Introduce 'as' prop to Inline and Stack so the resulting element can be controlled.
|
|
14
|
+
|
|
3
15
|
## 0.4.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
|
@@ -1,29 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
-
var _react =
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
var _react2 = require("@emotion/react");
|
|
12
|
+
var _xcss = require("../internal/xcss");
|
|
12
13
|
var _baseBox = require("./internal/base-box.partial");
|
|
13
|
-
var _excluded = ["as", "children", "color", "backgroundColor", "shadow", "borderStyle", "borderWidth", "borderRadius", "borderColor", "layer", "flex", "flexGrow", "flexShrink", "alignSelf", "overflow", "overflowInline", "overflowBlock", "padding", "paddingBlock", "paddingBlockStart", "paddingBlockEnd", "paddingInline", "paddingInlineStart", "paddingInlineEnd", "height", "width", "display", "position", "
|
|
14
|
-
_excluded2 = ["
|
|
15
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
-
// TODO: Fill in the component {description} and ensure links point to the correct {packageName} location.
|
|
18
|
-
// Remove links that the component does not have (such as usage). If there are no links remove them all.
|
|
14
|
+
var _excluded = ["as", "children", "color", "backgroundColor", "shadow", "borderStyle", "borderWidth", "borderRadius", "borderColor", "layer", "flex", "flexGrow", "flexShrink", "alignSelf", "overflow", "overflowInline", "overflowBlock", "padding", "paddingBlock", "paddingBlockStart", "paddingBlockEnd", "paddingInline", "paddingInlineStart", "paddingInlineEnd", "height", "width", "display", "position", "style", "testId", "xcss"],
|
|
15
|
+
_excluded2 = ["className"];
|
|
19
16
|
/**
|
|
20
17
|
* __Box__
|
|
21
18
|
*
|
|
22
|
-
* A
|
|
19
|
+
* A Box is a primitive component that has the design decisions of the Atlassian Design System baked in.
|
|
20
|
+
* Renders a `div` by default.
|
|
23
21
|
*
|
|
24
|
-
* - [Examples](https://atlassian.design/components/
|
|
25
|
-
* - [Code](https://atlassian.design/components/
|
|
26
|
-
* - [Usage](https://atlassian.design/components/
|
|
22
|
+
* - [Examples](https://atlassian.design/components/primitives/box/examples)
|
|
23
|
+
* - [Code](https://atlassian.design/components/primitives/box/code)
|
|
24
|
+
* - [Usage](https://atlassian.design/components/primitives/box/usage)
|
|
27
25
|
*/
|
|
28
26
|
var Box = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
29
27
|
var as = _ref.as,
|
|
@@ -56,13 +54,14 @@ var Box = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
56
54
|
display = _ref$display === void 0 ? 'block' : _ref$display,
|
|
57
55
|
_ref$position = _ref.position,
|
|
58
56
|
position = _ref$position === void 0 ? 'static' : _ref$position,
|
|
59
|
-
|
|
57
|
+
style = _ref.style,
|
|
60
58
|
testId = _ref.testId,
|
|
59
|
+
xcss = _ref.xcss,
|
|
61
60
|
htmlAttributes = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
62
|
-
var
|
|
63
|
-
className = htmlAttributes.className,
|
|
61
|
+
var spreadClass = htmlAttributes.className,
|
|
64
62
|
safeHtmlAttributes = (0, _objectWithoutProperties2.default)(htmlAttributes, _excluded2);
|
|
65
|
-
|
|
63
|
+
var className = xcss && (0, _xcss.parseXcss)(xcss);
|
|
64
|
+
return (0, _react2.jsx)(_baseBox.BaseBox, (0, _extends2.default)({
|
|
66
65
|
as: as,
|
|
67
66
|
color: color,
|
|
68
67
|
backgroundColor: backgroundColor,
|
|
@@ -90,10 +89,14 @@ var Box = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
90
89
|
width: width,
|
|
91
90
|
display: display,
|
|
92
91
|
position: position,
|
|
93
|
-
|
|
92
|
+
style: style,
|
|
94
93
|
testId: testId,
|
|
95
94
|
ref: ref
|
|
95
|
+
// eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
|
|
96
|
+
,
|
|
97
|
+
css: className
|
|
96
98
|
}, safeHtmlAttributes), children);
|
|
97
99
|
});
|
|
100
|
+
Box.displayName = 'Box';
|
|
98
101
|
var _default = Box;
|
|
99
102
|
exports.default = _default;
|
|
@@ -184,7 +184,8 @@ var Separator = function Separator(_ref) {
|
|
|
184
184
|
*
|
|
185
185
|
*/
|
|
186
186
|
var Inline = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
|
|
187
|
-
var
|
|
187
|
+
var as = _ref2.as,
|
|
188
|
+
alignInline = _ref2.alignInline,
|
|
188
189
|
alignItems = _ref2.alignBlock,
|
|
189
190
|
_ref2$shouldWrap = _ref2.shouldWrap,
|
|
190
191
|
shouldWrap = _ref2$shouldWrap === void 0 ? false : _ref2$shouldWrap,
|
|
@@ -195,6 +196,7 @@ var Inline = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(
|
|
|
195
196
|
separator = _ref2.separator,
|
|
196
197
|
testId = _ref2.testId,
|
|
197
198
|
rawChildren = _ref2.children;
|
|
199
|
+
var Component = as || 'div';
|
|
198
200
|
var separatorComponent = typeof separator === 'string' ? (0, _react2.jsx)(Separator, null, separator) : separator;
|
|
199
201
|
var children = separatorComponent ? _react.Children.toArray(rawChildren).filter(Boolean).map(function (child, index) {
|
|
200
202
|
return (0, _react2.jsx)(_react.Fragment, {
|
|
@@ -202,7 +204,7 @@ var Inline = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(
|
|
|
202
204
|
}, separator && index > 0 ? separatorComponent : null, child);
|
|
203
205
|
}) : rawChildren;
|
|
204
206
|
var justifyContent = spread || alignInline;
|
|
205
|
-
return (0, _react2.jsx)(
|
|
207
|
+
return (0, _react2.jsx)(Component, {
|
|
206
208
|
css: [baseStyles, space && spaceMap[space], justifyContent && justifyContentMap[justifyContent], grow && flexGrowMap[grow], alignItems && alignItemsMap[alignItems], shouldWrap && flexWrapStyles, rowSpace && rowSpaceMap[rowSpace]],
|
|
207
209
|
"data-testid": testId,
|
|
208
210
|
ref: ref
|
|
@@ -15,7 +15,7 @@ var _constants = require("../../constants");
|
|
|
15
15
|
var _responsive = require("../../helpers/responsive");
|
|
16
16
|
var _types = require("./types");
|
|
17
17
|
var _utils = require("./utils");
|
|
18
|
-
var _excluded = ["as", "className", "children", "color", "backgroundColor", "shadow", "borderStyle", "borderWidth", "borderRadius", "borderColor", "layer", "flex", "flexGrow", "flexShrink", "alignSelf", "overflow", "overflowInline", "overflowBlock", "padding", "paddingBlock", "paddingBlockStart", "paddingBlockEnd", "paddingInline", "paddingInlineStart", "paddingInlineEnd", "height", "width", "display", "position", "
|
|
18
|
+
var _excluded = ["as", "className", "children", "color", "backgroundColor", "shadow", "borderStyle", "borderWidth", "borderRadius", "borderColor", "layer", "flex", "flexGrow", "flexShrink", "alignSelf", "overflow", "overflowInline", "overflowBlock", "padding", "paddingBlock", "paddingBlockStart", "paddingBlockEnd", "paddingInline", "paddingInlineStart", "paddingInlineEnd", "height", "width", "display", "position", "style", "testId"];
|
|
19
19
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
20
20
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
21
|
var responsiveRules = _types.BOX_RESPONSIVE_PROPS.reduce(function (mapping, cssProperty) {
|
|
@@ -87,11 +87,11 @@ var BaseBox = /*#__PURE__*/(0, _react.forwardRef)(function (_ref3, ref) {
|
|
|
87
87
|
display = _ref3$display === void 0 ? displayMap.block : _ref3$display,
|
|
88
88
|
_ref3$position = _ref3.position,
|
|
89
89
|
position = _ref3$position === void 0 ? 'static' : _ref3$position,
|
|
90
|
-
|
|
90
|
+
style = _ref3.style,
|
|
91
91
|
testId = _ref3.testId,
|
|
92
92
|
htmlAttributes = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
|
|
93
93
|
var Component = as || 'div';
|
|
94
|
-
var inlineStyles = Object.assign({},
|
|
94
|
+
var inlineStyles = Object.assign({}, style, getResponsiveVars('borderWidth', borderWidth, borderWidthMap), getResponsiveVars('display', display, displayMap), getResponsiveVars('padding', padding, paddingMap), getResponsiveVars('paddingBlock', paddingBlock, paddingMap), getResponsiveVars('paddingBlockStart', paddingBlockStart, paddingMap), getResponsiveVars('paddingBlockEnd', paddingBlockEnd, paddingMap), getResponsiveVars('paddingInline', paddingInline, paddingMap), getResponsiveVars('paddingInlineStart', paddingInlineStart, paddingMap), getResponsiveVars('paddingInlineEnd', paddingInlineEnd, paddingMap));
|
|
95
95
|
var node = (0, _react2.jsx)(Component, (0, _extends2.default)({
|
|
96
96
|
style: inlineStyles,
|
|
97
97
|
ref: ref
|
|
@@ -120,15 +120,17 @@ var baseStyles = (0, _react2.css)({
|
|
|
120
120
|
*
|
|
121
121
|
*/
|
|
122
122
|
var Stack = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
123
|
-
var
|
|
123
|
+
var as = _ref.as,
|
|
124
|
+
alignItems = _ref.alignInline,
|
|
124
125
|
alignBlock = _ref.alignBlock,
|
|
125
126
|
spread = _ref.spread,
|
|
126
127
|
grow = _ref.grow,
|
|
127
128
|
space = _ref.space,
|
|
128
129
|
children = _ref.children,
|
|
129
130
|
testId = _ref.testId;
|
|
131
|
+
var Component = as || 'div';
|
|
130
132
|
var justifyContent = spread || alignBlock;
|
|
131
|
-
return (0, _react2.jsx)(
|
|
133
|
+
return (0, _react2.jsx)(Component, {
|
|
132
134
|
css: [baseStyles, space && spaceMap[space], alignItems && alignItemsMap[alignItems], grow && flexGrowMap[grow], justifyContent && justifyContentMap[justifyContent]],
|
|
133
135
|
"data-testid": testId,
|
|
134
136
|
ref: ref
|
package/dist/cjs/index.js
CHANGED
|
@@ -22,6 +22,13 @@ Object.defineProperty(exports, "Stack", {
|
|
|
22
22
|
return _stack.default;
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
|
+
Object.defineProperty(exports, "xcss", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function get() {
|
|
28
|
+
return _xcss.xcss;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
25
31
|
var _box = _interopRequireDefault(require("./components/box"));
|
|
26
32
|
var _inline = _interopRequireDefault(require("./components/inline.partial"));
|
|
33
|
+
var _xcss = require("./internal/xcss");
|
|
27
34
|
var _stack = _interopRequireDefault(require("./components/stack.partial"));
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.textColorMap = exports.paddingMap = exports.dimensionMap = exports.borderWidthMap = exports.borderRadiusMap = exports.borderColorMap = exports.backgroundColorMap = void 0;
|
|
7
|
+
/* eslint-disable @atlaskit/design-system/no-unsafe-design-token-usage */
|
|
8
|
+
|
|
9
|
+
// TODO: All of these maps need to be codegen'd
|
|
10
|
+
var backgroundColorMap = {
|
|
11
|
+
disabled: "var(--ds-background-disabled, #091e4289)",
|
|
12
|
+
input: "var(--ds-background-input, #FAFBFC)",
|
|
13
|
+
'inverse.subtle': "var(--ds-background-inverse-subtle, #00000029)",
|
|
14
|
+
neutral: "var(--ds-background-neutral, #DFE1E6)",
|
|
15
|
+
'neutral.subtle': "var(--ds-background-neutral-subtle, transparent)",
|
|
16
|
+
'neutral.bold': "var(--ds-background-neutral-bold, #42526E)",
|
|
17
|
+
selected: "var(--ds-background-selected, #DEEBFF)",
|
|
18
|
+
'selected.bold': "var(--ds-background-selected-bold, #0052CC)",
|
|
19
|
+
'brand.bold': "var(--ds-background-brand-bold, #0052CC)",
|
|
20
|
+
danger: "var(--ds-background-danger, #FFEBE6)",
|
|
21
|
+
'danger.bold': "var(--ds-background-danger-bold, #DE350B)",
|
|
22
|
+
warning: "var(--ds-background-warning, #FFFAE6)",
|
|
23
|
+
'warning.bold': "var(--ds-background-warning-bold, #FFAB00)",
|
|
24
|
+
success: "var(--ds-background-success, #E3FCEF)",
|
|
25
|
+
'success.bold': "var(--ds-background-success-bold, #00875A)",
|
|
26
|
+
discovery: "var(--ds-background-discovery, #EAE6FF)",
|
|
27
|
+
'discovery.bold': "var(--ds-background-discovery-bold, #5243AA)",
|
|
28
|
+
information: "var(--ds-background-information, #DEEBFF)",
|
|
29
|
+
'information.bold': "var(--ds-background-information-bold, #0052CC)",
|
|
30
|
+
'color.blanket': "var(--ds-blanket, #091e4289)",
|
|
31
|
+
'color.blanket.selected': "var(--ds-blanket-selected, #388BFF14)",
|
|
32
|
+
'color.blanket.danger': "var(--ds-blanket-danger, #EF5C4814)",
|
|
33
|
+
'elevation.surface': "var(--ds-surface, #FFFFFF)",
|
|
34
|
+
'elevation.surface.overlay': "var(--ds-surface-overlay, #FFFFFF)",
|
|
35
|
+
'elevation.surface.raised': "var(--ds-surface-raised, #FFFFFF)",
|
|
36
|
+
'elevation.surface.sunken': "var(--ds-surface-sunken, #F4F5F7)"
|
|
37
|
+
};
|
|
38
|
+
exports.backgroundColorMap = backgroundColorMap;
|
|
39
|
+
var borderColorMap = {
|
|
40
|
+
'color.border': "var(--ds-border, #091e4221)",
|
|
41
|
+
disabled: "var(--ds-border-disabled, #FAFBFC)",
|
|
42
|
+
focused: "var(--ds-border-focused, #4C9AFF)",
|
|
43
|
+
input: "var(--ds-border-input, #FAFBFC)",
|
|
44
|
+
inverse: "var(--ds-border-inverse, #FFFFFF)",
|
|
45
|
+
selected: "var(--ds-border-selected, #0052CC)",
|
|
46
|
+
brand: "var(--ds-border-brand, #0052CC)",
|
|
47
|
+
danger: "var(--ds-border-danger, #FF5630)",
|
|
48
|
+
warning: "var(--ds-border-warning, #FFC400)",
|
|
49
|
+
success: "var(--ds-border-success, #00875A)",
|
|
50
|
+
discovery: "var(--ds-border-discovery, #998DD9)",
|
|
51
|
+
information: "var(--ds-border-information, #0065FF)",
|
|
52
|
+
bold: "var(--ds-border-bold, #344563)"
|
|
53
|
+
};
|
|
54
|
+
exports.borderColorMap = borderColorMap;
|
|
55
|
+
var borderWidthMap = {
|
|
56
|
+
'size.0': "var(--ds-width-0, 0)",
|
|
57
|
+
'size.050': "var(--ds-width-050, 1px)",
|
|
58
|
+
'size.100': "var(--ds-width-100, 2px)"
|
|
59
|
+
};
|
|
60
|
+
exports.borderWidthMap = borderWidthMap;
|
|
61
|
+
var borderRadiusMap = {
|
|
62
|
+
'radius.400': "var(--ds-radius-400, 16px)",
|
|
63
|
+
'radius.300': "var(--ds-radius-300, 12px)",
|
|
64
|
+
'radius.100': "var(--ds-radius-100, 4px)",
|
|
65
|
+
'radius.050': "var(--ds-radius-050, 2px)",
|
|
66
|
+
'radius.200': "var(--ds-radius-200, 8px)"
|
|
67
|
+
};
|
|
68
|
+
exports.borderRadiusMap = borderRadiusMap;
|
|
69
|
+
var paddingMap = {
|
|
70
|
+
'space.0': "var(--ds-space-0, 0px)",
|
|
71
|
+
'space.025': "var(--ds-space-025, 2px)",
|
|
72
|
+
'space.050': "var(--ds-space-050, 4px)",
|
|
73
|
+
'space.075': "var(--ds-space-075, 6px)",
|
|
74
|
+
'space.100': "var(--ds-space-100, 8px)",
|
|
75
|
+
'space.150': "var(--ds-space-150, 12px)",
|
|
76
|
+
'space.200': "var(--ds-space-200, 16px)",
|
|
77
|
+
'space.250': "var(--ds-space-250, 20px)",
|
|
78
|
+
'space.300': "var(--ds-space-300, 24px)",
|
|
79
|
+
'space.400': "var(--ds-space-400, 32px)",
|
|
80
|
+
'space.500': "var(--ds-space-500, 40px)",
|
|
81
|
+
'space.600': "var(--ds-space-600, 48px)",
|
|
82
|
+
'space.800': "var(--ds-space-800, 64px)",
|
|
83
|
+
'space.1000': "var(--ds-space-1000, 80px)"
|
|
84
|
+
};
|
|
85
|
+
exports.paddingMap = paddingMap;
|
|
86
|
+
var textColorMap = {
|
|
87
|
+
'color.text': "var(--ds-text, #172B4D)",
|
|
88
|
+
'accent.red': "var(--ds-text-accent-red, #DE350B)",
|
|
89
|
+
'accent.red.bolder': "var(--ds-text-accent-red-bolder, #BF2600)",
|
|
90
|
+
'accent.orange': "var(--ds-text-accent-orange, #F18D13)",
|
|
91
|
+
'accent.orange.bolder': "var(--ds-text-accent-orange-bolder, #B65C02)",
|
|
92
|
+
'accent.yellow': "var(--ds-text-accent-yellow, #FF991F)",
|
|
93
|
+
'accent.yellow.bolder': "var(--ds-text-accent-yellow-bolder, #FF8B00)",
|
|
94
|
+
'accent.green': "var(--ds-text-accent-green, #00875A)",
|
|
95
|
+
'accent.green.bolder': "var(--ds-text-accent-green-bolder, #006644)",
|
|
96
|
+
'accent.teal': "var(--ds-text-accent-teal, #00A3BF)",
|
|
97
|
+
'accent.teal.bolder': "var(--ds-text-accent-teal-bolder, #008DA6)",
|
|
98
|
+
'accent.blue': "var(--ds-text-accent-blue, #0052CC)",
|
|
99
|
+
'accent.blue.bolder': "var(--ds-text-accent-blue-bolder, #0747A6)",
|
|
100
|
+
'accent.purple': "var(--ds-text-accent-purple, #5243AA)",
|
|
101
|
+
'accent.purple.bolder': "var(--ds-text-accent-purple-bolder, #403294)",
|
|
102
|
+
'accent.magenta': "var(--ds-text-accent-magenta, #E774BB)",
|
|
103
|
+
'accent.magenta.bolder': "var(--ds-text-accent-magenta-bolder, #DA62AC)",
|
|
104
|
+
'accent.gray': "var(--ds-text-accent-gray, #505F79)",
|
|
105
|
+
'accent.gray.bolder': "var(--ds-text-accent-gray-bolder, #172B4D)",
|
|
106
|
+
disabled: "var(--ds-text-disabled, #A5ADBA)",
|
|
107
|
+
inverse: "var(--ds-text-inverse, #FFFFFF)",
|
|
108
|
+
selected: "var(--ds-text-selected, #0052CC)",
|
|
109
|
+
brand: "var(--ds-text-brand, #0065FF)",
|
|
110
|
+
danger: "var(--ds-text-danger, #DE350B)",
|
|
111
|
+
warning: "var(--ds-text-warning, #974F0C)",
|
|
112
|
+
'warning.inverse': "var(--ds-text-warning-inverse, #172B4D)",
|
|
113
|
+
success: "var(--ds-text-success, #006644)",
|
|
114
|
+
discovery: "var(--ds-text-discovery, #403294)",
|
|
115
|
+
information: "var(--ds-text-information, #0052CC)",
|
|
116
|
+
subtlest: "var(--ds-text-subtlest, #7A869A)",
|
|
117
|
+
subtle: "var(--ds-text-subtle, #42526E)"
|
|
118
|
+
};
|
|
119
|
+
exports.textColorMap = textColorMap;
|
|
120
|
+
var dimensionMap = {
|
|
121
|
+
'100%': '100%',
|
|
122
|
+
'size.100': '16px',
|
|
123
|
+
'size.200': '24px',
|
|
124
|
+
'size.300': '32px',
|
|
125
|
+
'size.400': '40px',
|
|
126
|
+
'size.500': '48px',
|
|
127
|
+
'size.600': '96px',
|
|
128
|
+
'size.1000': '192px'
|
|
129
|
+
};
|
|
130
|
+
exports.dimensionMap = dimensionMap;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.xcss = exports.transformStyles = exports.parseXcss = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
|
+
var _react = require("@emotion/react");
|
|
11
|
+
var _styleMaps = require("./style-maps");
|
|
12
|
+
var tokensMap = {
|
|
13
|
+
backgroundColor: _styleMaps.backgroundColorMap,
|
|
14
|
+
borderColor: _styleMaps.borderColorMap,
|
|
15
|
+
borderRadius: _styleMaps.borderRadiusMap,
|
|
16
|
+
borderWidth: _styleMaps.borderWidthMap,
|
|
17
|
+
color: _styleMaps.textColorMap,
|
|
18
|
+
height: _styleMaps.dimensionMap,
|
|
19
|
+
maxHeight: _styleMaps.dimensionMap,
|
|
20
|
+
maxWidth: _styleMaps.dimensionMap,
|
|
21
|
+
minHeight: _styleMaps.dimensionMap,
|
|
22
|
+
minWidth: _styleMaps.dimensionMap,
|
|
23
|
+
padding: _styleMaps.paddingMap,
|
|
24
|
+
paddingBlock: _styleMaps.paddingMap,
|
|
25
|
+
paddingBlockEnd: _styleMaps.paddingMap,
|
|
26
|
+
paddingBlockStart: _styleMaps.paddingMap,
|
|
27
|
+
paddingInline: _styleMaps.paddingMap,
|
|
28
|
+
paddingInlineEnd: _styleMaps.paddingMap,
|
|
29
|
+
paddingInlineStart: _styleMaps.paddingMap,
|
|
30
|
+
width: _styleMaps.dimensionMap
|
|
31
|
+
};
|
|
32
|
+
var uniqueSymbol = Symbol('Internal symbol to verify xcss function is called safely');
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Only exposed for testing.
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
var transformStyles = function transformStyles(styleObj) {
|
|
39
|
+
if (!styleObj || (0, _typeof2.default)(styleObj) !== 'object') {
|
|
40
|
+
return styleObj;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// If styles are defined as an CSSObject[], recursively call on each element until we reach CSSObject
|
|
44
|
+
if (Array.isArray(styleObj)) {
|
|
45
|
+
return styleObj.map(transformStyles);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Modifies styleObj in place. Be careful.
|
|
49
|
+
Object.entries(styleObj).forEach(function (_ref) {
|
|
50
|
+
var _process, _process$env;
|
|
51
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
52
|
+
key = _ref2[0],
|
|
53
|
+
value = _ref2[1];
|
|
54
|
+
if (((_process = process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.NODE_ENV) === 'development') {
|
|
55
|
+
// We don't support `.class`, `[data-testid]`, `> *`, `#some-id`
|
|
56
|
+
if (/(\.|\s|&+|\*\>|#|\[.*\])/.test(key)) {
|
|
57
|
+
throw new Error("Styles not supported for key '".concat(key, "'."));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// If key is a pseudo class or a pseudo element, then value should be an object.
|
|
62
|
+
// So, call transformStyles on the value
|
|
63
|
+
if (/^::?.*$/.test(key)) {
|
|
64
|
+
styleObj[key] = transformStyles(value);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// TODO: Deal with media queries
|
|
69
|
+
|
|
70
|
+
// We have now dealt with all the special cases, so,
|
|
71
|
+
// check whether what remains is a style property
|
|
72
|
+
// that can be transformed.
|
|
73
|
+
if (!(key in tokensMap)) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
var tokenValue = tokensMap[key][value];
|
|
77
|
+
if (!tokenValue) {
|
|
78
|
+
throw new Error('Invalid Token');
|
|
79
|
+
}
|
|
80
|
+
styleObj[key] = tokenValue;
|
|
81
|
+
});
|
|
82
|
+
return styleObj;
|
|
83
|
+
};
|
|
84
|
+
exports.transformStyles = transformStyles;
|
|
85
|
+
var xcss = function xcss(style) {
|
|
86
|
+
var transformedStyles = transformStyles(style);
|
|
87
|
+
return {
|
|
88
|
+
symbol: uniqueSymbol,
|
|
89
|
+
styles: (0, _react.css)(transformedStyles)
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* @internal used in primitives
|
|
95
|
+
* @returns
|
|
96
|
+
*/
|
|
97
|
+
exports.xcss = xcss;
|
|
98
|
+
var parseXcss = function parseXcss(args) {
|
|
99
|
+
if (Array.isArray(args)) {
|
|
100
|
+
// @ts-expect-error FIXME
|
|
101
|
+
return args.map(parseXcss);
|
|
102
|
+
}
|
|
103
|
+
var symbol = args.symbol,
|
|
104
|
+
styles = args.styles;
|
|
105
|
+
if ((typeof process === "undefined" ? "undefined" : (0, _typeof2.default)(process)) && process.env.NODE_ENV === 'development' && symbol !== uniqueSymbol) {
|
|
106
|
+
throw new Error('Styles generated from unsafe source, use the `xcss` export from `@atlaskit/primitives`.');
|
|
107
|
+
}
|
|
108
|
+
return styles;
|
|
109
|
+
};
|
|
110
|
+
exports.parseXcss = parseXcss;
|
package/dist/cjs/version.json
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
|
|
2
|
+
/** @jsx jsx */
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { jsx } from '@emotion/react';
|
|
5
|
+
import { parseXcss } from '../internal/xcss';
|
|
3
6
|
import { BaseBox } from './internal/base-box.partial';
|
|
4
|
-
// TODO: Fill in the component {description} and ensure links point to the correct {packageName} location.
|
|
5
|
-
// Remove links that the component does not have (such as usage). If there are no links remove them all.
|
|
6
7
|
/**
|
|
7
8
|
* __Box__
|
|
8
9
|
*
|
|
9
|
-
* A
|
|
10
|
+
* A Box is a primitive component that has the design decisions of the Atlassian Design System baked in.
|
|
11
|
+
* Renders a `div` by default.
|
|
10
12
|
*
|
|
11
|
-
* - [Examples](https://atlassian.design/components/
|
|
12
|
-
* - [Code](https://atlassian.design/components/
|
|
13
|
-
* - [Usage](https://atlassian.design/components/
|
|
13
|
+
* - [Examples](https://atlassian.design/components/primitives/box/examples)
|
|
14
|
+
* - [Code](https://atlassian.design/components/primitives/box/code)
|
|
15
|
+
* - [Usage](https://atlassian.design/components/primitives/box/usage)
|
|
14
16
|
*/
|
|
15
17
|
const Box = /*#__PURE__*/forwardRef(({
|
|
16
18
|
as,
|
|
@@ -41,16 +43,17 @@ const Box = /*#__PURE__*/forwardRef(({
|
|
|
41
43
|
width,
|
|
42
44
|
display = 'block',
|
|
43
45
|
position = 'static',
|
|
44
|
-
|
|
46
|
+
style,
|
|
45
47
|
testId,
|
|
48
|
+
xcss,
|
|
46
49
|
...htmlAttributes
|
|
47
50
|
}, ref) => {
|
|
48
51
|
const {
|
|
49
|
-
|
|
50
|
-
className,
|
|
52
|
+
className: spreadClass,
|
|
51
53
|
...safeHtmlAttributes
|
|
52
54
|
} = htmlAttributes;
|
|
53
|
-
|
|
55
|
+
const className = xcss && parseXcss(xcss);
|
|
56
|
+
return jsx(BaseBox, _extends({
|
|
54
57
|
as: as,
|
|
55
58
|
color: color,
|
|
56
59
|
backgroundColor: backgroundColor,
|
|
@@ -78,9 +81,13 @@ const Box = /*#__PURE__*/forwardRef(({
|
|
|
78
81
|
width: width,
|
|
79
82
|
display: display,
|
|
80
83
|
position: position,
|
|
81
|
-
|
|
84
|
+
style: style,
|
|
82
85
|
testId: testId,
|
|
83
86
|
ref: ref
|
|
87
|
+
// eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
|
|
88
|
+
,
|
|
89
|
+
css: className
|
|
84
90
|
}, safeHtmlAttributes), children);
|
|
85
91
|
});
|
|
92
|
+
Box.displayName = 'Box';
|
|
86
93
|
export default Box;
|
|
@@ -176,6 +176,7 @@ const Separator = ({
|
|
|
176
176
|
*
|
|
177
177
|
*/
|
|
178
178
|
const Inline = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
|
|
179
|
+
as,
|
|
179
180
|
alignInline,
|
|
180
181
|
alignBlock: alignItems,
|
|
181
182
|
shouldWrap = false,
|
|
@@ -187,6 +188,7 @@ const Inline = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
|
|
|
187
188
|
testId,
|
|
188
189
|
children: rawChildren
|
|
189
190
|
}, ref) => {
|
|
191
|
+
const Component = as || 'div';
|
|
190
192
|
const separatorComponent = typeof separator === 'string' ? jsx(Separator, null, separator) : separator;
|
|
191
193
|
const children = separatorComponent ? Children.toArray(rawChildren).filter(Boolean).map((child, index) => {
|
|
192
194
|
return jsx(Fragment, {
|
|
@@ -194,7 +196,7 @@ const Inline = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
|
|
|
194
196
|
}, separator && index > 0 ? separatorComponent : null, child);
|
|
195
197
|
}) : rawChildren;
|
|
196
198
|
const justifyContent = spread || alignInline;
|
|
197
|
-
return jsx(
|
|
199
|
+
return jsx(Component, {
|
|
198
200
|
css: [baseStyles, space && spaceMap[space], justifyContent && justifyContentMap[justifyContent], grow && flexGrowMap[grow], alignItems && alignItemsMap[alignItems], shouldWrap && flexWrapStyles, rowSpace && rowSpaceMap[rowSpace]],
|
|
199
201
|
"data-testid": testId,
|
|
200
202
|
ref: ref
|
|
@@ -80,12 +80,12 @@ export const BaseBox = /*#__PURE__*/forwardRef(({
|
|
|
80
80
|
width,
|
|
81
81
|
display = displayMap.block,
|
|
82
82
|
position = 'static',
|
|
83
|
-
|
|
83
|
+
style,
|
|
84
84
|
testId,
|
|
85
85
|
...htmlAttributes
|
|
86
86
|
}, ref) => {
|
|
87
87
|
const Component = as || 'div';
|
|
88
|
-
const inlineStyles = Object.assign({},
|
|
88
|
+
const inlineStyles = Object.assign({}, style, getResponsiveVars('borderWidth', borderWidth, borderWidthMap), getResponsiveVars('display', display, displayMap), getResponsiveVars('padding', padding, paddingMap), getResponsiveVars('paddingBlock', paddingBlock, paddingMap), getResponsiveVars('paddingBlockStart', paddingBlockStart, paddingMap), getResponsiveVars('paddingBlockEnd', paddingBlockEnd, paddingMap), getResponsiveVars('paddingInline', paddingInline, paddingMap), getResponsiveVars('paddingInlineStart', paddingInlineStart, paddingMap), getResponsiveVars('paddingInlineEnd', paddingInlineEnd, paddingMap));
|
|
89
89
|
const node = jsx(Component, _extends({
|
|
90
90
|
style: inlineStyles,
|
|
91
91
|
ref: ref
|
|
@@ -113,6 +113,7 @@ const baseStyles = css({
|
|
|
113
113
|
*
|
|
114
114
|
*/
|
|
115
115
|
const Stack = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
|
|
116
|
+
as,
|
|
116
117
|
alignInline: alignItems,
|
|
117
118
|
alignBlock,
|
|
118
119
|
spread,
|
|
@@ -121,8 +122,9 @@ const Stack = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({
|
|
|
121
122
|
children,
|
|
122
123
|
testId
|
|
123
124
|
}, ref) => {
|
|
125
|
+
const Component = as || 'div';
|
|
124
126
|
const justifyContent = spread || alignBlock;
|
|
125
|
-
return jsx(
|
|
127
|
+
return jsx(Component, {
|
|
126
128
|
css: [baseStyles, space && spaceMap[space], alignItems && alignItemsMap[alignItems], grow && flexGrowMap[grow], justifyContent && justifyContentMap[justifyContent]],
|
|
127
129
|
"data-testid": testId,
|
|
128
130
|
ref: ref
|
package/dist/es2019/index.js
CHANGED