@atlaskit/ds-explorations 0.1.4 → 1.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.
Files changed (101) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/box/package.json +15 -0
  3. package/dist/cjs/components/box.partial.js +184 -201
  4. package/dist/cjs/components/inline.partial.js +49 -30
  5. package/dist/cjs/components/interaction-surface.partial.js +35 -3
  6. package/dist/cjs/components/stack.partial.js +49 -30
  7. package/dist/cjs/components/text.partial.js +116 -85
  8. package/dist/cjs/index.js +1 -9
  9. package/dist/cjs/internal/color-map.js +6 -5
  10. package/dist/cjs/internal/spacing-scale.js +17 -0
  11. package/dist/cjs/version.json +1 -1
  12. package/dist/es2019/components/box.partial.js +182 -184
  13. package/dist/es2019/components/inline.partial.js +49 -29
  14. package/dist/es2019/components/interaction-surface.partial.js +35 -3
  15. package/dist/es2019/components/stack.partial.js +49 -29
  16. package/dist/es2019/components/text.partial.js +73 -35
  17. package/dist/es2019/index.js +1 -2
  18. package/dist/es2019/internal/color-map.js +4 -3
  19. package/dist/es2019/internal/spacing-scale.js +9 -0
  20. package/dist/es2019/version.json +1 -1
  21. package/dist/esm/components/box.partial.js +183 -197
  22. package/dist/esm/components/inline.partial.js +49 -29
  23. package/dist/esm/components/interaction-surface.partial.js +35 -3
  24. package/dist/esm/components/stack.partial.js +49 -29
  25. package/dist/esm/components/text.partial.js +78 -46
  26. package/dist/esm/index.js +1 -2
  27. package/dist/esm/internal/color-map.js +4 -3
  28. package/dist/esm/internal/spacing-scale.js +9 -0
  29. package/dist/esm/version.json +1 -1
  30. package/dist/types/components/box.partial.d.ts +114 -18
  31. package/dist/types/components/inline.partial.d.ts +38 -4
  32. package/dist/types/components/interaction-surface.partial.d.ts +7 -3
  33. package/dist/types/components/stack.partial.d.ts +39 -6
  34. package/dist/types/components/text.partial.d.ts +5 -3
  35. package/dist/types/components/types.d.ts +1 -0
  36. package/dist/types/index.d.ts +0 -1
  37. package/dist/types/internal/color-map.d.ts +11 -9
  38. package/dist/types/internal/spacing-scale.d.ts +9 -0
  39. package/dist/types-ts4.0/components/box.partial.d.ts +114 -24
  40. package/dist/types-ts4.0/components/inline.partial.d.ts +38 -4
  41. package/dist/types-ts4.0/components/interaction-surface.partial.d.ts +7 -3
  42. package/dist/types-ts4.0/components/stack.partial.d.ts +39 -6
  43. package/dist/types-ts4.0/components/text.partial.d.ts +5 -6
  44. package/dist/types-ts4.0/components/types.d.ts +1 -0
  45. package/dist/types-ts4.0/index.d.ts +0 -1
  46. package/dist/types-ts4.0/internal/color-map.d.ts +11 -9
  47. package/dist/types-ts4.0/internal/spacing-scale.d.ts +22 -0
  48. package/examples/00-basic.tsx +4 -4
  49. package/examples/01-box.tsx +29 -46
  50. package/examples/02-text-advanced.tsx +38 -0
  51. package/examples/02-text.tsx +72 -62
  52. package/examples/03-stack.tsx +48 -74
  53. package/examples/04-inline.tsx +46 -75
  54. package/examples/05-badge.tsx +2 -2
  55. package/examples/06-section-message.tsx +7 -7
  56. package/examples/07-comment.tsx +4 -6
  57. package/examples/08-lozenge.tsx +9 -5
  58. package/examples/99-interactions.tsx +53 -46
  59. package/examples/config.jsonc +11 -0
  60. package/package.json +5 -2
  61. package/report.api.md +240 -54
  62. package/scripts/__tests__/__snapshots__/codegen.test.tsx.snap +52 -64
  63. package/scripts/codegen-styles.tsx +34 -6
  64. package/scripts/color-codegen-template.tsx +10 -15
  65. package/scripts/color-map-template.tsx +1 -1
  66. package/scripts/spacing-codegen-template.tsx +48 -12
  67. package/scripts/spacing-scale-template.tsx +40 -0
  68. package/scripts/utils.tsx +1 -3
  69. package/src/components/__tests__/unit/box.test.tsx +18 -13
  70. package/src/components/__tests__/unit/inline.test.tsx +10 -10
  71. package/src/components/__tests__/unit/interaction-suface.test.tsx +14 -8
  72. package/src/components/__tests__/unit/stack.test.tsx +7 -7
  73. package/src/components/__tests__/unit/text.test.tsx +23 -0
  74. package/src/components/__tests__/visual-regression/__image_snapshots__/box-snapshot-test-tsx-box-example-with-background-and-padding-block-should-match-snapshot-1-snap.png +2 -2
  75. package/src/components/__tests__/visual-regression/__image_snapshots__/box-snapshot-test-tsx-box-example-with-background-and-padding-inline-should-match-snapshot-1-snap.png +2 -2
  76. package/src/components/__tests__/visual-regression/__image_snapshots__/box-snapshot-test-tsx-box-example-with-background-and-padding-should-match-snapshot-1-snap.png +2 -2
  77. package/src/components/__tests__/visual-regression/__image_snapshots__/box-snapshot-test-tsx-box-example-with-background-color-should-match-snapshot-1-snap.png +2 -2
  78. package/src/components/__tests__/visual-regression/__image_snapshots__/box-snapshot-test-tsx-box-example-with-border-color-should-match-snapshot-1-snap.png +2 -2
  79. package/src/components/__tests__/visual-regression/__image_snapshots__/inline-snapshot-test-tsx-inline-alignment-example-should-match-snapshot-1-snap.png +2 -2
  80. package/src/components/__tests__/visual-regression/__image_snapshots__/inline-snapshot-test-tsx-inline-spacing-example-should-match-snapshot-1-snap.png +2 -2
  81. package/src/components/__tests__/visual-regression/__image_snapshots__/stack-snapshot-test-tsx-stack-alignment-example-should-match-snapshot-1-snap.png +2 -2
  82. package/src/components/__tests__/visual-regression/__image_snapshots__/stack-snapshot-test-tsx-stack-spacing-example-should-match-snapshot-1-snap.png +2 -2
  83. package/src/components/__tests__/visual-regression/__image_snapshots__/text-snapshot-test-tsx-text-example-with-line-heights-should-match-snapshot-1-snap.png +2 -2
  84. package/src/components/__tests__/visual-regression/__image_snapshots__/text-snapshot-test-tsx-text-example-with-testing-should-match-snapshot-1-snap.png +2 -2
  85. package/src/components/box.partial.tsx +296 -159
  86. package/src/components/inline.partial.tsx +75 -21
  87. package/src/components/interaction-surface.partial.tsx +6 -4
  88. package/src/components/stack.partial.tsx +75 -22
  89. package/src/components/text.partial.tsx +78 -41
  90. package/src/components/types.tsx +2 -0
  91. package/src/index.tsx +0 -1
  92. package/src/internal/color-map.tsx +4 -3
  93. package/src/internal/spacing-scale.tsx +22 -0
  94. package/text/package.json +15 -0
  95. package/tmp/api-report-tmp.d.ts +583 -0
  96. package/dist/cjs/constants.js +0 -21
  97. package/dist/es2019/constants.js +0 -14
  98. package/dist/esm/constants.js +0 -14
  99. package/dist/types/constants.d.ts +0 -15
  100. package/dist/types-ts4.0/constants.d.ts +0 -15
  101. package/src/constants.tsx +0 -16
@@ -11,8 +11,6 @@ var _react = require("react");
11
11
 
12
12
  var _react2 = require("@emotion/react");
13
13
 
14
- var _constants = require("../constants");
15
-
16
14
  var _text = _interopRequireDefault(require("./text.partial"));
17
15
 
18
16
  /** @jsx jsx */
@@ -28,6 +26,12 @@ var flexAlignItemsMap = {
28
26
  }),
29
27
  flexEnd: (0, _react2.css)({
30
28
  alignItems: 'flex-end'
29
+ }),
30
+ start: (0, _react2.css)({
31
+ alignItems: 'start'
32
+ }),
33
+ end: (0, _react2.css)({
34
+ alignItems: 'end'
31
35
  })
32
36
  };
33
37
  var flexJustifyContentMap = {
@@ -39,6 +43,17 @@ var flexJustifyContentMap = {
39
43
  }),
40
44
  flexEnd: (0, _react2.css)({
41
45
  justifyContent: 'flex-end'
46
+ }),
47
+ start: (0, _react2.css)({
48
+ justifyContent: 'start'
49
+ }),
50
+ end: (0, _react2.css)({
51
+ justifyContent: 'end'
52
+ })
53
+ };
54
+ var flexWrapMap = {
55
+ wrap: (0, _react2.css)({
56
+ flexWrap: 'wrap'
42
57
  })
43
58
  };
44
59
  var baseStyles = (0, _react2.css)({
@@ -58,12 +73,15 @@ var Inline = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
58
73
  var gap = _ref.gap,
59
74
  alignItems = _ref.alignItems,
60
75
  justifyContent = _ref.justifyContent,
76
+ flexWrap = _ref.flexWrap,
61
77
  divider = _ref.divider,
78
+ UNSAFE_style = _ref.UNSAFE_style,
62
79
  children = _ref.children,
63
80
  testId = _ref.testId;
64
81
  var dividerComponent = typeof divider === 'string' ? (0, _react2.jsx)(_text.default, null, divider) : divider;
65
82
  return (0, _react2.jsx)("div", {
66
- css: [baseStyles, gap && gapMap[gap], alignItems && flexAlignItemsMap[alignItems], justifyContent && flexJustifyContentMap[justifyContent]],
83
+ style: UNSAFE_style,
84
+ css: [baseStyles, gap && columnGapMap[gap], alignItems && flexAlignItemsMap[alignItems], justifyContent && flexJustifyContentMap[justifyContent], flexWrap && flexWrapMap[flexWrap]],
67
85
  "data-testid": testId,
68
86
  ref: ref
69
87
  }, _react.Children.map(children, function (child, index) {
@@ -74,49 +92,50 @@ Inline.displayName = 'Inline';
74
92
  var _default = Inline;
75
93
  /**
76
94
  * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
77
- * @codegen <<SignedSource::36d00b5586593733c7f84e9a10ddb7fd>>
95
+ * @codegen <<SignedSource::cff5655983f2243060cade5b107d7762>>
78
96
  * @codegenId spacing
79
97
  * @codegenCommand yarn codegen-styles
80
- * @codegenParams ["gap"]
98
+ * @codegenParams ["columnGap"]
99
+ * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <<SignedSource::0c1fe9904b2ff2465a532b97ab76491e>>
81
100
  */
82
101
 
83
102
  exports.default = _default;
84
- var gapMap = {
85
- 'sp-0': (0, _react2.css)({
86
- gap: _constants.SPACING_SCALE['sp-0']
103
+ var columnGapMap = {
104
+ 'scale.0': (0, _react2.css)({
105
+ columnGap: "var(--ds-scale-0, 0px)"
87
106
  }),
88
- 'sp-25': (0, _react2.css)({
89
- gap: _constants.SPACING_SCALE['sp-25']
107
+ 'scale.025': (0, _react2.css)({
108
+ columnGap: "var(--ds-scale-025, 2px)"
90
109
  }),
91
- 'sp-50': (0, _react2.css)({
92
- gap: _constants.SPACING_SCALE['sp-50']
110
+ 'scale.050': (0, _react2.css)({
111
+ columnGap: "var(--ds-scale-050, 4px)"
93
112
  }),
94
- 'sp-75': (0, _react2.css)({
95
- gap: _constants.SPACING_SCALE['sp-75']
113
+ 'scale.075': (0, _react2.css)({
114
+ columnGap: "var(--ds-scale-075, 6px)"
96
115
  }),
97
- 'sp-100': (0, _react2.css)({
98
- gap: _constants.SPACING_SCALE['sp-100']
116
+ 'scale.100': (0, _react2.css)({
117
+ columnGap: "var(--ds-scale-100, 8px)"
99
118
  }),
100
- 'sp-150': (0, _react2.css)({
101
- gap: _constants.SPACING_SCALE['sp-150']
119
+ 'scale.150': (0, _react2.css)({
120
+ columnGap: "var(--ds-scale-150, 12px)"
102
121
  }),
103
- 'sp-200': (0, _react2.css)({
104
- gap: _constants.SPACING_SCALE['sp-200']
122
+ 'scale.200': (0, _react2.css)({
123
+ columnGap: "var(--ds-scale-200, 16px)"
105
124
  }),
106
- 'sp-300': (0, _react2.css)({
107
- gap: _constants.SPACING_SCALE['sp-300']
125
+ 'scale.250': (0, _react2.css)({
126
+ columnGap: "var(--ds-scale-250, 20px)"
108
127
  }),
109
- 'sp-400': (0, _react2.css)({
110
- gap: _constants.SPACING_SCALE['sp-400']
128
+ 'scale.300': (0, _react2.css)({
129
+ columnGap: "var(--ds-scale-300, 24px)"
111
130
  }),
112
- 'sp-500': (0, _react2.css)({
113
- gap: _constants.SPACING_SCALE['sp-500']
131
+ 'scale.400': (0, _react2.css)({
132
+ columnGap: "var(--ds-scale-400, 32px)"
114
133
  }),
115
- 'sp-600': (0, _react2.css)({
116
- gap: _constants.SPACING_SCALE['sp-600']
134
+ 'scale.500': (0, _react2.css)({
135
+ columnGap: "var(--ds-scale-500, 40px)"
117
136
  }),
118
- 'sp-800': (0, _react2.css)({
119
- gap: _constants.SPACING_SCALE['sp-800']
137
+ 'scale.600': (0, _react2.css)({
138
+ columnGap: "var(--ds-scale-600, 48px)"
120
139
  })
121
140
  };
122
141
  /**
@@ -30,8 +30,9 @@ var baseStyles = (0, _react2.css)({
30
30
  * ```js
31
31
  * // a minimal icon button
32
32
  * <Box as="button">
33
- * <InteractionSurface />
34
- * <WarningIcon label="icon button" />
33
+ * <InteractionSurface>
34
+ * <WarningIcon label="icon button" />
35
+ * </InteractionSurface>
35
36
  * </Box>
36
37
  * ```
37
38
  */
@@ -57,10 +58,11 @@ var InteractionSurface = function InteractionSurface(_ref) {
57
58
  var _default = InteractionSurface;
58
59
  /**
59
60
  * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
60
- * @codegen <<SignedSource::45000716488a9f41306a232c1f4c9f8d>>
61
+ * @codegen <<SignedSource::1bad97ad2c03ae813521797686ac780d>>
61
62
  * @codegenId interactions
62
63
  * @codegenCommand yarn codegen-styles
63
64
  * @codegenParams ["background"]
65
+ * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <<SignedSource::0c1fe9904b2ff2465a532b97ab76491e>>
64
66
  */
65
67
 
66
68
  exports.default = _default;
@@ -154,6 +156,21 @@ var backgroundActiveColorMap = {
154
156
  ':active': {
155
157
  backgroundColor: "var(--ds-background-information-bold-pressed, #09326C)"
156
158
  }
159
+ }),
160
+ 'elevation.surface': (0, _react2.css)({
161
+ ':active': {
162
+ backgroundColor: "var(--ds-surface-pressed, #DCDFE4)"
163
+ }
164
+ }),
165
+ 'elevation.surface.raised': (0, _react2.css)({
166
+ ':active': {
167
+ backgroundColor: "var(--ds-surface-raised-pressed, #DCDFE4)"
168
+ }
169
+ }),
170
+ 'elevation.surface.overlay': (0, _react2.css)({
171
+ ':active': {
172
+ backgroundColor: "var(--ds-surface-overlay-pressed, #DCDFE4)"
173
+ }
157
174
  })
158
175
  };
159
176
  var backgroundHoverColorMap = {
@@ -246,6 +263,21 @@ var backgroundHoverColorMap = {
246
263
  ':hover': {
247
264
  backgroundColor: "var(--ds-background-information-bold-hovered, #0055CC)"
248
265
  }
266
+ }),
267
+ 'elevation.surface': (0, _react2.css)({
268
+ ':hover': {
269
+ backgroundColor: "var(--ds-surface-hovered, #F1F2F4)"
270
+ }
271
+ }),
272
+ 'elevation.surface.raised': (0, _react2.css)({
273
+ ':hover': {
274
+ backgroundColor: "var(--ds-surface-raised-hovered, #F1F2F4)"
275
+ }
276
+ }),
277
+ 'elevation.surface.overlay': (0, _react2.css)({
278
+ ':hover': {
279
+ backgroundColor: "var(--ds-surface-overlay-hovered, #F1F2F4)"
280
+ }
249
281
  })
250
282
  };
251
283
  /**
@@ -9,8 +9,6 @@ var _react = require("react");
9
9
 
10
10
  var _react2 = require("@emotion/react");
11
11
 
12
- var _constants = require("../constants");
13
-
14
12
  /** @jsx jsx */
15
13
  var flexAlignItemsMap = {
16
14
  center: (0, _react2.css)({
@@ -24,6 +22,12 @@ var flexAlignItemsMap = {
24
22
  }),
25
23
  flexEnd: (0, _react2.css)({
26
24
  alignItems: 'flex-end'
25
+ }),
26
+ start: (0, _react2.css)({
27
+ alignItems: 'start'
28
+ }),
29
+ end: (0, _react2.css)({
30
+ alignItems: 'end'
27
31
  })
28
32
  };
29
33
  var flexJustifyContentMap = {
@@ -35,6 +39,17 @@ var flexJustifyContentMap = {
35
39
  }),
36
40
  flexEnd: (0, _react2.css)({
37
41
  justifyContent: 'flex-end'
42
+ }),
43
+ start: (0, _react2.css)({
44
+ justifyContent: 'start'
45
+ }),
46
+ end: (0, _react2.css)({
47
+ justifyContent: 'end'
48
+ })
49
+ };
50
+ var flexWrapMap = {
51
+ wrap: (0, _react2.css)({
52
+ flexWrap: 'wrap'
38
53
  })
39
54
  };
40
55
  var baseStyles = (0, _react2.css)({
@@ -54,10 +69,13 @@ var Stack = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
54
69
  var gap = _ref.gap,
55
70
  alignItems = _ref.alignItems,
56
71
  justifyContent = _ref.justifyContent,
72
+ flexWrap = _ref.flexWrap,
57
73
  children = _ref.children,
74
+ UNSAFE_style = _ref.UNSAFE_style,
58
75
  testId = _ref.testId;
59
76
  return (0, _react2.jsx)("div", {
60
- css: [baseStyles, gap && gapMap[gap], alignItems && flexAlignItemsMap[alignItems], justifyContent && flexJustifyContentMap[justifyContent]],
77
+ style: UNSAFE_style,
78
+ css: [baseStyles, gap && rowGapMap[gap], alignItems && flexAlignItemsMap[alignItems], justifyContent && flexJustifyContentMap[justifyContent], flexWrap && flexWrapMap[flexWrap]],
61
79
  "data-testid": testId,
62
80
  ref: ref
63
81
  }, children);
@@ -66,49 +84,50 @@ Stack.displayName = 'Stack';
66
84
  var _default = Stack;
67
85
  /**
68
86
  * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
69
- * @codegen <<SignedSource::36d00b5586593733c7f84e9a10ddb7fd>>
87
+ * @codegen <<SignedSource::c486b14097494305925c3c989823d602>>
70
88
  * @codegenId spacing
71
89
  * @codegenCommand yarn codegen-styles
72
- * @codegenParams ["gap"]
90
+ * @codegenParams ["rowGap"]
91
+ * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <<SignedSource::0c1fe9904b2ff2465a532b97ab76491e>>
73
92
  */
74
93
 
75
94
  exports.default = _default;
76
- var gapMap = {
77
- 'sp-0': (0, _react2.css)({
78
- gap: _constants.SPACING_SCALE['sp-0']
95
+ var rowGapMap = {
96
+ 'scale.0': (0, _react2.css)({
97
+ rowGap: "var(--ds-scale-0, 0px)"
79
98
  }),
80
- 'sp-25': (0, _react2.css)({
81
- gap: _constants.SPACING_SCALE['sp-25']
99
+ 'scale.025': (0, _react2.css)({
100
+ rowGap: "var(--ds-scale-025, 2px)"
82
101
  }),
83
- 'sp-50': (0, _react2.css)({
84
- gap: _constants.SPACING_SCALE['sp-50']
102
+ 'scale.050': (0, _react2.css)({
103
+ rowGap: "var(--ds-scale-050, 4px)"
85
104
  }),
86
- 'sp-75': (0, _react2.css)({
87
- gap: _constants.SPACING_SCALE['sp-75']
105
+ 'scale.075': (0, _react2.css)({
106
+ rowGap: "var(--ds-scale-075, 6px)"
88
107
  }),
89
- 'sp-100': (0, _react2.css)({
90
- gap: _constants.SPACING_SCALE['sp-100']
108
+ 'scale.100': (0, _react2.css)({
109
+ rowGap: "var(--ds-scale-100, 8px)"
91
110
  }),
92
- 'sp-150': (0, _react2.css)({
93
- gap: _constants.SPACING_SCALE['sp-150']
111
+ 'scale.150': (0, _react2.css)({
112
+ rowGap: "var(--ds-scale-150, 12px)"
94
113
  }),
95
- 'sp-200': (0, _react2.css)({
96
- gap: _constants.SPACING_SCALE['sp-200']
114
+ 'scale.200': (0, _react2.css)({
115
+ rowGap: "var(--ds-scale-200, 16px)"
97
116
  }),
98
- 'sp-300': (0, _react2.css)({
99
- gap: _constants.SPACING_SCALE['sp-300']
117
+ 'scale.250': (0, _react2.css)({
118
+ rowGap: "var(--ds-scale-250, 20px)"
100
119
  }),
101
- 'sp-400': (0, _react2.css)({
102
- gap: _constants.SPACING_SCALE['sp-400']
120
+ 'scale.300': (0, _react2.css)({
121
+ rowGap: "var(--ds-scale-300, 24px)"
103
122
  }),
104
- 'sp-500': (0, _react2.css)({
105
- gap: _constants.SPACING_SCALE['sp-500']
123
+ 'scale.400': (0, _react2.css)({
124
+ rowGap: "var(--ds-scale-400, 32px)"
106
125
  }),
107
- 'sp-600': (0, _react2.css)({
108
- gap: _constants.SPACING_SCALE['sp-600']
126
+ 'scale.500': (0, _react2.css)({
127
+ rowGap: "var(--ds-scale-500, 40px)"
109
128
  }),
110
- 'sp-800': (0, _react2.css)({
111
- gap: _constants.SPACING_SCALE['sp-800']
129
+ 'scale.600': (0, _react2.css)({
130
+ rowGap: "var(--ds-scale-600, 48px)"
112
131
  })
113
132
  };
114
133
  /**
@@ -7,112 +7,135 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
 
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _react = require("react");
13
13
 
14
- var _react = require("@emotion/react");
14
+ var _react2 = require("@emotion/react");
15
15
 
16
16
  var _tinyInvariant = _interopRequireDefault(require("tiny-invariant"));
17
17
 
18
- var _colorMap = require("../internal/color-map");
18
+ var _colorMap = _interopRequireDefault(require("../internal/color-map"));
19
19
 
20
20
  var _surfaceProvider = require("./surface-provider");
21
21
 
22
- 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; }
23
-
24
- 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; }
25
-
22
+ var _excluded = ["children"];
26
23
  var asAllowlist = ['span', 'div', 'p'];
27
24
  var fontFamily = "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif";
28
25
  var fontSizeMap = {
29
- '11px': (0, _react.css)({
26
+ '11px': (0, _react2.css)({
30
27
  fontSize: '11px'
31
28
  }),
32
- '12px': (0, _react.css)({
29
+ '12px': (0, _react2.css)({
33
30
  fontSize: '12px'
34
31
  }),
35
- '14px': (0, _react.css)({
32
+ '14px': (0, _react2.css)({
36
33
  fontSize: '14px'
37
34
  })
38
35
  };
39
36
  // NOTE: can't use numbers as keys or Constellation won't build. Weird one.
40
37
  var fontWeightMap = {
41
- '400': (0, _react.css)({
38
+ '400': (0, _react2.css)({
42
39
  fontWeight: 400
43
40
  }),
44
- '500': (0, _react.css)({
41
+ '500': (0, _react2.css)({
45
42
  fontWeight: 500
46
43
  }),
47
- '700': (0, _react.css)({
44
+ '600': (0, _react2.css)({
45
+ fontWeight: 600
46
+ }),
47
+ '700': (0, _react2.css)({
48
48
  fontWeight: 700
49
49
  })
50
50
  };
51
51
  var lineHeightMap = {
52
- '12px': (0, _react.css)({
52
+ '12px': (0, _react2.css)({
53
53
  lineHeight: '12px'
54
54
  }),
55
- '16px': (0, _react.css)({
55
+ '16px': (0, _react2.css)({
56
56
  lineHeight: '16px'
57
57
  }),
58
- '20px': (0, _react.css)({
58
+ '20px': (0, _react2.css)({
59
59
  lineHeight: '20px'
60
60
  }),
61
- '24px': (0, _react.css)({
61
+ '24px': (0, _react2.css)({
62
62
  lineHeight: '24px'
63
63
  }),
64
- '28px': (0, _react.css)({
64
+ '28px': (0, _react2.css)({
65
65
  lineHeight: '28px'
66
66
  }),
67
- '32px': (0, _react.css)({
67
+ '32px': (0, _react2.css)({
68
68
  lineHeight: '32px'
69
69
  }),
70
- '40px': (0, _react.css)({
70
+ '40px': (0, _react2.css)({
71
71
  lineHeight: '40px'
72
72
  })
73
73
  };
74
74
  var textAlignMap = {
75
- center: (0, _react.css)({
75
+ center: (0, _react2.css)({
76
76
  textAlign: 'center'
77
77
  }),
78
- end: (0, _react.css)({
78
+ end: (0, _react2.css)({
79
79
  textAlign: 'end'
80
80
  }),
81
- start: (0, _react.css)({
81
+ start: (0, _react2.css)({
82
82
  textAlign: 'start'
83
83
  })
84
84
  };
85
85
  var textTransformMap = {
86
- none: (0, _react.css)({
86
+ none: (0, _react2.css)({
87
87
  textTransform: 'none'
88
88
  }),
89
- lowercase: (0, _react.css)({
89
+ lowercase: (0, _react2.css)({
90
90
  textTransform: 'lowercase'
91
91
  }),
92
- uppercase: (0, _react.css)({
92
+ uppercase: (0, _react2.css)({
93
93
  textTransform: 'uppercase'
94
94
  })
95
95
  };
96
96
  var verticalAlignMap = {
97
- top: (0, _react.css)({
97
+ top: (0, _react2.css)({
98
98
  verticalAlign: 'top'
99
99
  }),
100
- middle: (0, _react.css)({
100
+ middle: (0, _react2.css)({
101
101
  verticalAlign: 'middle'
102
102
  }),
103
- bottom: (0, _react.css)({
103
+ bottom: (0, _react2.css)({
104
104
  verticalAlign: 'bottom'
105
105
  })
106
106
  };
107
- var baseStyles = (0, _react.css)({
107
+ var baseStyles = (0, _react2.css)({
108
108
  boxSizing: 'border-box',
109
+ margin: '0px',
110
+ padding: '0px',
109
111
  fontFamily: fontFamily
110
112
  });
111
- var truncateStyles = (0, _react.css)({
113
+ var truncateStyles = (0, _react2.css)({
112
114
  overflow: 'hidden',
113
115
  textOverflow: 'ellipsis',
114
116
  whiteSpace: 'nowrap'
115
117
  });
118
+ /**
119
+ * Custom hook designed to abstract the parsing of the color props and make it clearer in the future how color is reconciled between themes and tokens.
120
+ */
121
+
122
+ var useColor = function useColor(colorProp) {
123
+ var surface = (0, _surfaceProvider.useSurface)();
124
+ var inverseTextColor = _colorMap.default[surface];
125
+ /**
126
+ * Where the color of the surface is inverted we override the user choice
127
+ * as there is no valid choice that is not covered by the override.
128
+ */
129
+
130
+ var color = inverseTextColor !== null && inverseTextColor !== void 0 ? inverseTextColor : colorProp;
131
+ return color;
132
+ };
133
+
134
+ var HasTextAncestorContext = /*#__PURE__*/(0, _react.createContext)(false);
135
+
136
+ var useHasTextAncestor = function useHasTextAncestor() {
137
+ return (0, _react.useContext)(HasTextAncestorContext);
138
+ };
116
139
  /**
117
140
  * __Text__
118
141
  *
@@ -123,88 +146,96 @@ var truncateStyles = (0, _react.css)({
123
146
  * @internal
124
147
  */
125
148
 
126
- var Text = function Text(_ref) {
127
- var _ref$as = _ref.as,
128
- Component = _ref$as === void 0 ? 'span' : _ref$as,
129
- children = _ref.children,
130
- colorTuple = _ref.color,
131
- fontSize = _ref.fontSize,
132
- fontWeight = _ref.fontWeight,
133
- lineHeight = _ref.lineHeight,
134
- _ref$shouldTruncate = _ref.shouldTruncate,
135
- shouldTruncate = _ref$shouldTruncate === void 0 ? false : _ref$shouldTruncate,
136
- textAlign = _ref.textAlign,
137
- textTransform = _ref.textTransform,
138
- verticalAlign = _ref.verticalAlign,
139
- testId = _ref.testId,
140
- UNSAFE_style = _ref.UNSAFE_style;
141
- var surface = (0, _surfaceProvider.useSurface)(); // @ts-ignore
142
-
143
- var _ref2 = colorTuple || [],
144
- _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
145
- _ref3$ = _ref3[0],
146
- color = _ref3$ === void 0 ? _colorMap.colorMap[surface] : _ref3$,
147
- fallback = _ref3[1];
148
149
 
150
+ var Text = function Text(_ref) {
151
+ var children = _ref.children,
152
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
153
+ var _props$as = props.as,
154
+ Component = _props$as === void 0 ? 'span' : _props$as,
155
+ colorProp = props.color,
156
+ fontSize = props.fontSize,
157
+ fontWeight = props.fontWeight,
158
+ lineHeight = props.lineHeight,
159
+ _props$shouldTruncate = props.shouldTruncate,
160
+ shouldTruncate = _props$shouldTruncate === void 0 ? false : _props$shouldTruncate,
161
+ textAlign = props.textAlign,
162
+ textTransform = props.textTransform,
163
+ verticalAlign = props.verticalAlign,
164
+ testId = props.testId,
165
+ UNSAFE_style = props.UNSAFE_style;
149
166
  (0, _tinyInvariant.default)(asAllowlist.includes(Component), "@atlaskit/ds-explorations: Text received an invalid \"as\" value of \"".concat(Component, "\""));
150
- return (0, _react.jsx)(Component, {
151
- style: _objectSpread(_objectSpread({}, UNSAFE_style), fallback && {
152
- '--ds-co-fb': fallback
153
- }),
167
+ var color = useColor(colorProp);
168
+ var isWrapped = useHasTextAncestor();
169
+ /**
170
+ * If the text is already wrapped and applies no props we can just
171
+ * render the children directly as a fragment.
172
+ */
173
+
174
+ if (isWrapped && Object.keys(props).length === 0) {
175
+ return (0, _react2.jsx)(_react.Fragment, null, children);
176
+ }
177
+
178
+ var component = (0, _react2.jsx)(Component, {
179
+ style: UNSAFE_style,
154
180
  css: [baseStyles, color && textColorMap[color], fontSize && fontSizeMap[fontSize], fontWeight && fontWeightMap[fontWeight], lineHeight && lineHeightMap[lineHeight], shouldTruncate && truncateStyles, textAlign && textAlignMap[textAlign], textTransform && textTransformMap[textTransform], verticalAlign && verticalAlignMap[verticalAlign]],
155
181
  "data-testid": testId
156
182
  }, children);
183
+ return isWrapped ? // no need to re-apply context if the text is already wrapped
184
+ component : (0, _react2.jsx)(HasTextAncestorContext.Provider, {
185
+ value: true
186
+ }, component);
157
187
  };
158
188
 
159
189
  var _default = Text;
160
190
  /**
161
191
  * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
162
- * @codegen <<SignedSource::140ffff6e1310c1c37e2067e2c232b92>>
192
+ * @codegen <<SignedSource::21771f01de3c37646642de03274f0738>>
163
193
  * @codegenId colors
164
194
  * @codegenCommand yarn codegen-styles
165
195
  * @codegenParams ["text"]
196
+ * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <<SignedSource::0c1fe9904b2ff2465a532b97ab76491e>>
166
197
  */
167
198
 
168
199
  exports.default = _default;
169
200
  var textColorMap = {
170
- 'color.text': (0, _react.css)({
171
- color: "var(--ds-text, var(--ds-co-fb))"
201
+ 'color.text': (0, _react2.css)({
202
+ color: "var(--ds-text, #172B4D)"
172
203
  }),
173
- subtle: (0, _react.css)({
174
- color: "var(--ds-text-subtle, var(--ds-co-fb))"
204
+ subtle: (0, _react2.css)({
205
+ color: "var(--ds-text-subtle, #42526E)"
175
206
  }),
176
- subtlest: (0, _react.css)({
177
- color: "var(--ds-text-subtlest, var(--ds-co-fb))"
207
+ subtlest: (0, _react2.css)({
208
+ color: "var(--ds-text-subtlest, #7A869A)"
178
209
  }),
179
- disabled: (0, _react.css)({
180
- color: "var(--ds-text-disabled, var(--ds-co-fb))"
210
+ disabled: (0, _react2.css)({
211
+ color: "var(--ds-text-disabled, #A5ADBA)"
181
212
  }),
182
- inverse: (0, _react.css)({
183
- color: "var(--ds-text-inverse, var(--ds-co-fb))"
213
+ inverse: (0, _react2.css)({
214
+ color: "var(--ds-text-inverse, #FFFFFF)"
184
215
  }),
185
- brand: (0, _react.css)({
186
- color: "var(--ds-text-brand, var(--ds-co-fb))"
216
+ brand: (0, _react2.css)({
217
+ color: "var(--ds-text-brand, #0065FF)"
187
218
  }),
188
- selected: (0, _react.css)({
189
- color: "var(--ds-text-selected, var(--ds-co-fb))"
219
+ selected: (0, _react2.css)({
220
+ color: "var(--ds-text-selected, #0052CC)"
190
221
  }),
191
- danger: (0, _react.css)({
192
- color: "var(--ds-text-danger, var(--ds-co-fb))"
222
+ danger: (0, _react2.css)({
223
+ color: "var(--ds-text-danger, #DE350B)"
193
224
  }),
194
- warning: (0, _react.css)({
195
- color: "var(--ds-text-warning, var(--ds-co-fb))"
225
+ warning: (0, _react2.css)({
226
+ color: "var(--ds-text-warning, #974F0C)"
196
227
  }),
197
- 'warning.inverse': (0, _react.css)({
198
- color: "var(--ds-text-warning-inverse, var(--ds-co-fb))"
228
+ 'warning.inverse': (0, _react2.css)({
229
+ color: "var(--ds-text-warning-inverse, #172B4D)"
199
230
  }),
200
- success: (0, _react.css)({
201
- color: "var(--ds-text-success, var(--ds-co-fb))"
231
+ success: (0, _react2.css)({
232
+ color: "var(--ds-text-success, #006644)"
202
233
  }),
203
- discovery: (0, _react.css)({
204
- color: "var(--ds-text-discovery, var(--ds-co-fb))"
234
+ discovery: (0, _react2.css)({
235
+ color: "var(--ds-text-discovery, #403294)"
205
236
  }),
206
- information: (0, _react.css)({
207
- color: "var(--ds-text-information, var(--ds-co-fb))"
237
+ information: (0, _react2.css)({
238
+ color: "var(--ds-text-information, #0052CC)"
208
239
  })
209
240
  };
210
241
  /**
package/dist/cjs/index.js CHANGED
@@ -23,12 +23,6 @@ Object.defineProperty(exports, "UNSAFE_InteractionSurface", {
23
23
  return _interactionSurface.default;
24
24
  }
25
25
  });
26
- Object.defineProperty(exports, "UNSAFE_SPACING_SCALE", {
27
- enumerable: true,
28
- get: function get() {
29
- return _constants.SPACING_SCALE;
30
- }
31
- });
32
26
  Object.defineProperty(exports, "UNSAFE_Stack", {
33
27
  enumerable: true,
34
28
  get: function get() {
@@ -50,6 +44,4 @@ var _inline = _interopRequireDefault(require("./components/inline.partial"));
50
44
 
51
45
  var _stack = _interopRequireDefault(require("./components/stack.partial"));
52
46
 
53
- var _interactionSurface = _interopRequireDefault(require("./components/interaction-surface.partial"));
54
-
55
- var _constants = require("./constants");
47
+ var _interactionSurface = _interopRequireDefault(require("./components/interaction-surface.partial"));