@atlaskit/code 14.4.5 → 14.4.7

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 (58) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/__perf__/code-block-100-lines.tsx +7 -0
  3. package/__perf__/code-block-1000-lines.tsx +7 -0
  4. package/__perf__/code-block-4458-lines.tsx +7 -0
  5. package/__perf__/code-block-500-lines.tsx +7 -0
  6. package/__perf__/{code-block-text.tsx → code-block-no-syntax-highlighting.tsx} +1 -1
  7. package/__perf__/{code-block-jsx.tsx → code-block-syntax-highlighting.tsx} +0 -0
  8. package/__perf__/{default.tsx → inline-code.tsx} +0 -0
  9. package/__perf__/source-code-examples/100-line-example.tsx +101 -0
  10. package/__perf__/source-code-examples/1000-line-example.tsx +1000 -0
  11. package/__perf__/source-code-examples/4458-line-example.tsx +4461 -0
  12. package/__perf__/source-code-examples/500-line-example.tsx +501 -0
  13. package/dist/cjs/bidi-warning/bidi-warning-decorator.js +6 -19
  14. package/dist/cjs/bidi-warning/index.js +0 -2
  15. package/dist/cjs/bidi-warning/ui/index.js +6 -17
  16. package/dist/cjs/bidi-warning/ui/styled.js +7 -12
  17. package/dist/cjs/code-block.js +25 -34
  18. package/dist/cjs/code.js +11 -33
  19. package/dist/cjs/constants.js +0 -2
  20. package/dist/cjs/entry-points/block.js +0 -2
  21. package/dist/cjs/entry-points/constants.js +0 -1
  22. package/dist/cjs/entry-points/inline.js +0 -4
  23. package/dist/cjs/extract-react-types/code-block.js +0 -1
  24. package/dist/cjs/extract-react-types/code.js +0 -1
  25. package/dist/cjs/index.js +0 -7
  26. package/dist/cjs/internal/hooks/use-highlight.js +10 -24
  27. package/dist/cjs/internal/theme/constants.js +2 -3
  28. package/dist/cjs/internal/theme/get-theme.js +0 -16
  29. package/dist/cjs/internal/theme/styles.js +4 -23
  30. package/dist/cjs/internal/utils/get-normalized-language.js +2 -8
  31. package/dist/cjs/react-syntax-highlighter-bidi-warning-renderer.js +17 -41
  32. package/dist/cjs/version.json +1 -1
  33. package/dist/es2019/bidi-warning/bidi-warning-decorator.js +5 -9
  34. package/dist/es2019/bidi-warning/ui/index.js +0 -1
  35. package/dist/es2019/bidi-warning/ui/styled.js +5 -6
  36. package/dist/es2019/code-block.js +5 -3
  37. package/dist/es2019/code.js +0 -7
  38. package/dist/es2019/internal/hooks/use-highlight.js +4 -8
  39. package/dist/es2019/internal/theme/constants.js +2 -1
  40. package/dist/es2019/internal/theme/get-theme.js +2 -3
  41. package/dist/es2019/internal/theme/styles.js +8 -9
  42. package/dist/es2019/internal/utils/get-normalized-language.js +2 -3
  43. package/dist/es2019/react-syntax-highlighter-bidi-warning-renderer.js +14 -21
  44. package/dist/es2019/version.json +1 -1
  45. package/dist/esm/bidi-warning/bidi-warning-decorator.js +6 -16
  46. package/dist/esm/bidi-warning/ui/index.js +6 -9
  47. package/dist/esm/bidi-warning/ui/styled.js +7 -8
  48. package/dist/esm/code-block.js +26 -26
  49. package/dist/esm/code.js +11 -21
  50. package/dist/esm/internal/hooks/use-highlight.js +10 -19
  51. package/dist/esm/internal/theme/constants.js +2 -1
  52. package/dist/esm/internal/theme/get-theme.js +0 -5
  53. package/dist/esm/internal/theme/styles.js +4 -10
  54. package/dist/esm/internal/utils/get-normalized-language.js +2 -3
  55. package/dist/esm/react-syntax-highlighter-bidi-warning-renderer.js +20 -33
  56. package/dist/esm/version.json +1 -1
  57. package/package.json +1 -1
  58. package/report.api.md +14 -1
@@ -4,12 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Decorator = Decorator;
7
-
8
7
  var _react = require("@emotion/react");
9
-
10
8
  var _colors = require("@atlaskit/theme/colors");
11
-
12
9
  /** @jsx jsx */
10
+
13
11
  var decoration = (0, _react.css)({
14
12
  // Required as otherwise the following bidi characters cause the span
15
13
  // to not receive hover events.
@@ -19,17 +17,16 @@ var decoration = (0, _react.css)({
19
17
  position: 'relative',
20
18
  ':before': {
21
19
  display: 'inline-flex',
22
- padding: "var(--ds-scale-0, 0px)".concat(" ", "var(--ds-scale-050, 4px)"),
20
+ padding: "var(--ds-space-0, 0px)".concat(" ", "var(--ds-space-050, 4px)"),
23
21
  alignItems: 'center',
24
22
  justifyContent: 'center',
25
23
  flexDirection: 'row',
26
24
  background: "var(--ds-background-warning, ".concat(_colors.Y75, ")"),
27
25
  color: "var(--ds-text-warning, #7F5F01)",
28
26
  content: '"<"attr(data-bidi-character-code)">"',
29
- fontSize: '14px',
27
+ fontSize: "var(--ds-font-size-100, 14px)",
30
28
  fontStyle: 'normal',
31
29
  lineHeight: '18px',
32
-
33
30
  /**
34
31
  * Ensures the decoration receives pointer events when it occurs with
35
32
  * an ancestor that disables them.
@@ -41,18 +38,18 @@ var decoration = (0, _react.css)({
41
38
  color: "var(--ds-text-warning, #533F04)"
42
39
  }
43
40
  });
44
-
45
41
  function Decorator(_ref) {
46
42
  var bidiCharacter = _ref.bidiCharacter,
47
- children = _ref.children,
48
- testId = _ref.testId;
43
+ children = _ref.children,
44
+ testId = _ref.testId;
49
45
  var bidiCharacterCode = getBidiCharacterCode(bidiCharacter);
50
46
  return (0, _react.jsx)("span", {
51
47
  "aria-label": bidiCharacterCode
52
48
  }, (0, _react.jsx)("span", {
53
49
  css: decoration,
54
50
  "data-testid": testId,
55
- "data-bidi-character-code": bidiCharacterCode // This is set to true so that the content is not read out by
51
+ "data-bidi-character-code": bidiCharacterCode
52
+ // This is set to true so that the content is not read out by
56
53
  // screen readers as the content includes angle brackets for
57
54
  // visual decoration purposes.
58
55
  // We use a span with the aria-label set to the bidi character code
@@ -61,10 +58,8 @@ function Decorator(_ref) {
61
58
  "aria-hidden": "true"
62
59
  }, children));
63
60
  }
64
-
65
61
  function getBidiCharacterCode(bidiCharacter) {
66
62
  var _bidiCharacter$codePo;
67
-
68
63
  var bidiCharacterCode = (_bidiCharacter$codePo = bidiCharacter.codePointAt(0)) === null || _bidiCharacter$codePo === void 0 ? void 0 : _bidiCharacter$codePo.toString(16);
69
64
  return "U+".concat(bidiCharacterCode);
70
65
  }
@@ -4,23 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _react2 = require("@emotion/react");
11
-
12
9
  var _reactSyntaxHighlighter = require("react-syntax-highlighter");
13
-
14
10
  var _components = require("@atlaskit/theme/components");
15
-
16
11
  var _useHighlight = require("./internal/hooks/use-highlight");
17
-
18
12
  var _styles = require("./internal/theme/styles");
19
-
20
13
  var _getNormalizedLanguage = require("./internal/utils/get-normalized-language");
21
-
22
14
  var _reactSyntaxHighlighterBidiWarningRenderer = require("./react-syntax-highlighter-bidi-warning-renderer");
23
-
24
15
  /** @jsx jsx */
25
16
 
26
17
  /**
@@ -34,22 +25,22 @@ var _reactSyntaxHighlighterBidiWarningRenderer = require("./react-syntax-highlig
34
25
  */
35
26
  var CodeBlock = /*#__PURE__*/(0, _react.memo)(function CodeBlock(_ref) {
36
27
  var _ref$showLineNumbers = _ref.showLineNumbers,
37
- showLineNumbers = _ref$showLineNumbers === void 0 ? true : _ref$showLineNumbers,
38
- _ref$language = _ref.language,
39
- providedLanguage = _ref$language === void 0 ? 'text' : _ref$language,
40
- _ref$highlight = _ref.highlight,
41
- highlight = _ref$highlight === void 0 ? '' : _ref$highlight,
42
- _ref$highlightedStart = _ref.highlightedStartText,
43
- highlightedStartText = _ref$highlightedStart === void 0 ? 'Highlight start' : _ref$highlightedStart,
44
- _ref$highlightedEndTe = _ref.highlightedEndText,
45
- highlightedEndText = _ref$highlightedEndTe === void 0 ? 'Highlight end' : _ref$highlightedEndTe,
46
- testId = _ref.testId,
47
- text = _ref.text,
48
- _ref$codeBidiWarnings = _ref.codeBidiWarnings,
49
- codeBidiWarnings = _ref$codeBidiWarnings === void 0 ? true : _ref$codeBidiWarnings,
50
- codeBidiWarningLabel = _ref.codeBidiWarningLabel,
51
- _ref$codeBidiWarningT = _ref.codeBidiWarningTooltipEnabled,
52
- codeBidiWarningTooltipEnabled = _ref$codeBidiWarningT === void 0 ? true : _ref$codeBidiWarningT;
28
+ showLineNumbers = _ref$showLineNumbers === void 0 ? true : _ref$showLineNumbers,
29
+ _ref$language = _ref.language,
30
+ providedLanguage = _ref$language === void 0 ? 'text' : _ref$language,
31
+ _ref$highlight = _ref.highlight,
32
+ highlight = _ref$highlight === void 0 ? '' : _ref$highlight,
33
+ _ref$highlightedStart = _ref.highlightedStartText,
34
+ highlightedStartText = _ref$highlightedStart === void 0 ? 'Highlight start' : _ref$highlightedStart,
35
+ _ref$highlightedEndTe = _ref.highlightedEndText,
36
+ highlightedEndText = _ref$highlightedEndTe === void 0 ? 'Highlight end' : _ref$highlightedEndTe,
37
+ testId = _ref.testId,
38
+ text = _ref.text,
39
+ _ref$codeBidiWarnings = _ref.codeBidiWarnings,
40
+ codeBidiWarnings = _ref$codeBidiWarnings === void 0 ? true : _ref$codeBidiWarnings,
41
+ codeBidiWarningLabel = _ref.codeBidiWarningLabel,
42
+ _ref$codeBidiWarningT = _ref.codeBidiWarningTooltipEnabled,
43
+ codeBidiWarningTooltipEnabled = _ref$codeBidiWarningT === void 0 ? true : _ref$codeBidiWarningT;
53
44
  var numLines = (text || '').split('\n').length;
54
45
  var globalTheme = (0, _components.useGlobalTheme)();
55
46
  var theme = (0, _react.useMemo)(function () {
@@ -61,21 +52,20 @@ var CodeBlock = /*#__PURE__*/(0, _react.memo)(function CodeBlock(_ref) {
61
52
  var styles = (0, _react.useMemo)(function () {
62
53
  return (0, _react2.css)(getStyles(highlightedStartText, highlightedEndText, showLineNumbers));
63
54
  }, [highlightedStartText, highlightedEndText, showLineNumbers, getStyles]);
64
-
65
55
  var _useHighlightLines = (0, _useHighlight.useHighlightLines)({
66
- highlight: highlight,
67
- testId: testId
68
- }),
69
- getHighlightStyles = _useHighlightLines.getHighlightStyles,
70
- highlightedLines = _useHighlightLines.highlightedLines;
71
-
56
+ highlight: highlight,
57
+ testId: testId
58
+ }),
59
+ getHighlightStyles = _useHighlightLines.getHighlightStyles,
60
+ highlightedLines = _useHighlightLines.highlightedLines;
72
61
  var getLineProps = (0, _react.useCallback)(function (line) {
73
62
  return getHighlightStyles(line, highlightedLines);
74
63
  }, [getHighlightStyles, highlightedLines]);
75
64
  var language = (0, _react.useMemo)(function () {
76
65
  return (0, _getNormalizedLanguage.normalizeLanguage)(providedLanguage);
77
- }, [providedLanguage]); // https://product-fabric.atlassian.net/browse/DST-2472
66
+ }, [providedLanguage]);
78
67
 
68
+ // https://product-fabric.atlassian.net/browse/DST-2472
79
69
  var languageToUse = text ? language : 'text';
80
70
  var renderer = codeBidiWarnings ? (0, _reactSyntaxHighlighterBidiWarningRenderer.createBidiWarningRenderer)({
81
71
  codeBidiWarningLabel: codeBidiWarningLabel,
@@ -88,7 +78,8 @@ var CodeBlock = /*#__PURE__*/(0, _react.memo)(function CodeBlock(_ref) {
88
78
  css: styles,
89
79
  language: languageToUse,
90
80
  PreTag: "span",
91
- showLineNumbers: showLineNumbers // Wrap lines is needed to set styles on the line when highlighting.
81
+ showLineNumbers: showLineNumbers
82
+ // Wrap lines is needed to set styles on the line when highlighting.
92
83
  ,
93
84
  wrapLines: highlight.length > 0 || !!testId,
94
85
  lineProps: getLineProps,
package/dist/cjs/code.js CHANGED
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -14,30 +12,18 @@ Object.defineProperty(exports, "getCodeStyles", {
14
12
  return _styles.getCodeStyles;
15
13
  }
16
14
  });
17
-
18
15
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
19
-
20
16
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
21
-
22
17
  var _react = _interopRequireWildcard(require("react"));
23
-
24
18
  var _react2 = require("@emotion/react");
25
-
26
19
  var _components = require("@atlaskit/theme/components");
27
-
28
20
  var _bidiWarning = _interopRequireDefault(require("./bidi-warning"));
29
-
30
21
  var _bidiWarningDecorator = _interopRequireDefault(require("./bidi-warning/bidi-warning-decorator"));
31
-
32
22
  var _styles = require("./internal/theme/styles");
33
-
34
23
  var _excluded = ["testId"],
35
- _excluded2 = ["children", "codeBidiWarnings", "codeBidiWarningLabel", "codeBidiWarningTooltipEnabled"];
36
-
24
+ _excluded2 = ["children", "codeBidiWarnings", "codeBidiWarningLabel", "codeBidiWarningTooltipEnabled"];
37
25
  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); }
38
-
39
26
  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; }
40
-
41
27
  /**
42
28
  * __Code__
43
29
  *
@@ -49,18 +35,18 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
49
35
  */
50
36
  var Code = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(function Code(_ref, ref) {
51
37
  var testId = _ref.testId,
52
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
38
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
53
39
  var theme = (0, _components.useGlobalTheme)();
54
40
  var styles = (0, _react.useMemo)(function () {
55
41
  return (0, _react2.css)((0, _styles.getCodeStyles)(theme));
56
42
  }, [theme]);
57
43
  var children = props.children,
58
- _props$codeBidiWarnin = props.codeBidiWarnings,
59
- codeBidiWarnings = _props$codeBidiWarnin === void 0 ? true : _props$codeBidiWarnin,
60
- codeBidiWarningLabel = props.codeBidiWarningLabel,
61
- _props$codeBidiWarnin2 = props.codeBidiWarningTooltipEnabled,
62
- codeBidiWarningTooltipEnabled = _props$codeBidiWarnin2 === void 0 ? true : _props$codeBidiWarnin2,
63
- otherProps = (0, _objectWithoutProperties2.default)(props, _excluded2);
44
+ _props$codeBidiWarnin = props.codeBidiWarnings,
45
+ codeBidiWarnings = _props$codeBidiWarnin === void 0 ? true : _props$codeBidiWarnin,
46
+ codeBidiWarningLabel = props.codeBidiWarningLabel,
47
+ _props$codeBidiWarnin2 = props.codeBidiWarningTooltipEnabled,
48
+ codeBidiWarningTooltipEnabled = _props$codeBidiWarnin2 === void 0 ? true : _props$codeBidiWarnin2,
49
+ otherProps = (0, _objectWithoutProperties2.default)(props, _excluded2);
64
50
  var decoratedChildren = codeBidiWarnings ? (0, _react2.jsx)(RenderCodeChildrenWithBidiWarnings, {
65
51
  codeBidiWarningLabel: codeBidiWarningLabel,
66
52
  codeBidiWarningTooltipEnabled: codeBidiWarningTooltipEnabled
@@ -71,17 +57,15 @@ var Code = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(fu
71
57
  css: styles
72
58
  }, otherProps), decoratedChildren);
73
59
  }));
74
-
75
60
  function RenderCodeChildrenWithBidiWarnings(_ref2) {
76
61
  var children = _ref2.children,
77
- codeBidiWarningLabel = _ref2.codeBidiWarningLabel,
78
- codeBidiWarningTooltipEnabled = _ref2.codeBidiWarningTooltipEnabled;
79
-
62
+ codeBidiWarningLabel = _ref2.codeBidiWarningLabel,
63
+ codeBidiWarningTooltipEnabled = _ref2.codeBidiWarningTooltipEnabled;
80
64
  var replacedChildren = _react.default.Children.map(children, function (childNode) {
81
65
  if (typeof childNode === 'string') {
82
66
  var decorated = (0, _bidiWarningDecorator.default)(childNode, function (_ref3) {
83
67
  var bidiCharacter = _ref3.bidiCharacter,
84
- index = _ref3.index;
68
+ index = _ref3.index;
85
69
  return (0, _react2.jsx)(_bidiWarning.default, {
86
70
  bidiCharacter: bidiCharacter,
87
71
  key: index,
@@ -91,7 +75,6 @@ function RenderCodeChildrenWithBidiWarnings(_ref2) {
91
75
  });
92
76
  return decorated;
93
77
  }
94
-
95
78
  if (isReactElement(childNode) && childNode.props.children) {
96
79
  // eslint-disable-next-line @repo/internal/react/no-clone-element
97
80
  var newChildNode = /*#__PURE__*/_react.default.cloneElement(childNode, {
@@ -100,20 +83,15 @@ function RenderCodeChildrenWithBidiWarnings(_ref2) {
100
83
  codeBidiWarningTooltipEnabled: codeBidiWarningTooltipEnabled
101
84
  }, childNode.props.children)
102
85
  });
103
-
104
86
  return newChildNode;
105
87
  }
106
-
107
88
  return childNode;
108
89
  });
109
-
110
90
  return (0, _react2.jsx)(_react.default.Fragment, null, replacedChildren);
111
91
  }
112
-
113
92
  function isReactElement(child) {
114
93
  return !!child.type;
115
94
  }
116
-
117
95
  Code.displayName = 'Code';
118
96
  var _default = Code;
119
97
  exports.default = _default;
@@ -10,9 +10,7 @@ Object.defineProperty(exports, "CODE_BLOCK_SELECTOR", {
10
10
  }
11
11
  });
12
12
  exports.SUPPORTED_LANGUAGES = void 0;
13
-
14
13
  var _constants = require("./internal/theme/constants");
15
-
16
14
  var SUPPORTED_LANGUAGES = [{
17
15
  name: 'PHP',
18
16
  alias: ['php', 'php3', 'php4', 'php5'],
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "default", {
11
10
  return _codeBlock.default;
12
11
  }
13
12
  });
14
-
15
13
  var _codeBlock = _interopRequireDefault(require("../code-block"));
@@ -9,5 +9,4 @@ Object.defineProperty(exports, "SUPPORTED_LANGUAGES", {
9
9
  return _constants.SUPPORTED_LANGUAGES;
10
10
  }
11
11
  });
12
-
13
12
  var _constants = require("../constants");
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime/helpers/typeof");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -17,9 +16,6 @@ Object.defineProperty(exports, "getCodeStyles", {
17
16
  return _code.getCodeStyles;
18
17
  }
19
18
  });
20
-
21
19
  var _code = _interopRequireWildcard(require("../code"));
22
-
23
20
  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); }
24
-
25
21
  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; }
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = CodeBlock;
7
-
8
7
  // below type is redeclared from ../types to appease ERT
9
8
  function CodeBlock(__) {
10
9
  return null;
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = _;
7
-
8
7
  function _(__) {
9
8
  return null;
10
9
  }
package/dist/cjs/index.js CHANGED
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -31,13 +29,8 @@ Object.defineProperty(exports, "getCodeStyles", {
31
29
  return _code.getCodeStyles;
32
30
  }
33
31
  });
34
-
35
32
  var _code = _interopRequireWildcard(require("./code"));
36
-
37
33
  var _codeBlock = _interopRequireDefault(require("./code-block"));
38
-
39
34
  var _constants = require("./constants");
40
-
41
35
  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); }
42
-
43
36
  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; }
@@ -1,57 +1,46 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useHighlightLines = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
10
  var _react = require("react");
15
-
16
11
  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; }
17
-
18
12
  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; }
19
-
20
13
  var DEFAULT_LINE_EL_ATTR_OBJ = {
21
14
  'data-ds--code--row': ''
22
15
  };
23
-
24
16
  var getLineStyleObject = function getLineStyleObject(lineNumber, testId) {
25
17
  return testId ? _objectSpread({
26
18
  'data-testid': "".concat(testId, "-line-").concat(lineNumber)
27
19
  }, DEFAULT_LINE_EL_ATTR_OBJ) : DEFAULT_LINE_EL_ATTR_OBJ;
28
20
  };
29
-
30
21
  var useHighlightLines = function useHighlightLines(_ref) {
31
22
  var _ref$highlight = _ref.highlight,
32
- highlight = _ref$highlight === void 0 ? '' : _ref$highlight,
33
- testId = _ref.testId;
23
+ highlight = _ref$highlight === void 0 ? '' : _ref$highlight,
24
+ testId = _ref.testId;
34
25
  var highlightedLines = (0, _react.useMemo)(function () {
35
26
  if (!highlight) {
36
27
  return [];
37
28
  }
38
-
39
29
  return highlight.split(',').map(function (num) {
40
30
  if (num.indexOf('-') > 0) {
41
31
  // We found a line group, e.g. 1-3
42
- var _num$split$map$sort = num.split('-').map(Number) // Sort by lowest value first, highest value last.
43
- .sort(function (a, b) {
44
- return a - b;
45
- }),
46
- _num$split$map$sort2 = (0, _slicedToArray2.default)(_num$split$map$sort, 2),
47
- from = _num$split$map$sort2[0],
48
- to = _num$split$map$sort2[1];
49
-
32
+ var _num$split$map$sort = num.split('-').map(Number)
33
+ // Sort by lowest value first, highest value last.
34
+ .sort(function (a, b) {
35
+ return a - b;
36
+ }),
37
+ _num$split$map$sort2 = (0, _slicedToArray2.default)(_num$split$map$sort, 2),
38
+ from = _num$split$map$sort2[0],
39
+ to = _num$split$map$sort2[1];
50
40
  return Array(to + 1).fill(undefined).map(function (_, index) {
51
41
  return index;
52
42
  }).slice(from, to + 1);
53
43
  }
54
-
55
44
  return Number(num);
56
45
  }).reduce(function (acc, val) {
57
46
  return acc.concat(val);
@@ -61,14 +50,12 @@ var useHighlightLines = function useHighlightLines(_ref) {
61
50
  if (!highlight || highlightedLines.length === 0) {
62
51
  return getLineStyleObject(lineNumber, testId);
63
52
  }
64
-
65
53
  if (highlightedLines.includes(lineNumber)) {
66
54
  var highlightedDataAttrObj = {
67
55
  'data-ds--code--row--highlight': ''
68
56
  };
69
57
  return _objectSpread(_objectSpread({}, highlightedDataAttrObj), getLineStyleObject(lineNumber, testId));
70
58
  }
71
-
72
59
  return getLineStyleObject(lineNumber, testId);
73
60
  }, [highlight, testId]);
74
61
  return {
@@ -76,5 +63,4 @@ var useHighlightLines = function useHighlightLines(_ref) {
76
63
  highlightedLines: highlightedLines
77
64
  };
78
65
  };
79
-
80
66
  exports.useHighlightLines = useHighlightLines;
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VAR_CODE_LINE_NUMBER_BG_COLOR = exports.VAR_CODE_BG_COLOR = exports.SPACING = exports.LINE_NUMBER_GUTTER = exports.HIGHLIGHT_BORDER_WIDTH = exports.CODE_LINE_HEIGHT = exports.CODE_FONT_SIZE = exports.CODE_BLOCK_SELECTOR = void 0;
7
-
8
7
  var _constants = require("@atlaskit/theme/constants");
9
-
10
8
  var CODE_FONT_SIZE = 12;
11
9
  exports.CODE_FONT_SIZE = CODE_FONT_SIZE;
12
10
  var CODE_LINE_HEIGHT = '20px';
@@ -19,8 +17,9 @@ var LINE_NUMBER_GUTTER = SPACING * 2;
19
17
  exports.LINE_NUMBER_GUTTER = LINE_NUMBER_GUTTER;
20
18
  var VAR_CODE_LINE_NUMBER_BG_COLOR = '--ds--code--line-number-bg-color';
21
19
  exports.VAR_CODE_LINE_NUMBER_BG_COLOR = VAR_CODE_LINE_NUMBER_BG_COLOR;
22
- var VAR_CODE_BG_COLOR = '--ds--code--bg-color'; // selector for codeblock
20
+ var VAR_CODE_BG_COLOR = '--ds--code--bg-color';
23
21
 
22
+ // selector for codeblock
24
23
  exports.VAR_CODE_BG_COLOR = VAR_CODE_BG_COLOR;
25
24
  var CODE_BLOCK_SELECTOR = "data-ds--code--code-block";
26
25
  exports.CODE_BLOCK_SELECTOR = CODE_BLOCK_SELECTOR;
@@ -1,38 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.getColorPalette = exports.getBaseTheme = exports.defaultBaseTheme = exports.default = void 0;
11
-
12
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
10
  var _memoizeOne = _interopRequireDefault(require("memoize-one"));
15
-
16
11
  var colors = _interopRequireWildcard(require("@atlaskit/theme/colors"));
17
-
18
12
  var _components = require("@atlaskit/theme/components");
19
-
20
13
  var _constants = require("@atlaskit/theme/constants");
21
-
22
14
  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); }
23
-
24
15
  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; }
25
-
26
16
  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; }
27
-
28
17
  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; }
29
-
30
18
  // Hardcoded values have been used due to the current color palette not having any
31
19
  // accessible color options for Teal and Yellow and +20A
32
20
  var T800 = '#067384';
33
21
  var Y1100 = '#7A5D1A';
34
22
  var PLUS20 = '#3A434E';
35
-
36
23
  var getBaseTheme = function getBaseTheme(theme) {
37
24
  return {
38
25
  fontFamily: (0, _constants.codeFontFamily)(),
@@ -63,7 +50,6 @@ var getBaseTheme = function getBaseTheme(theme) {
63
50
  })
64
51
  };
65
52
  };
66
-
67
53
  exports.getBaseTheme = getBaseTheme;
68
54
  var defaultBaseTheme = getBaseTheme({
69
55
  mode: 'light'
@@ -253,10 +239,8 @@ var getColorPalette = (0, _memoizeOne.default)(function (theme) {
253
239
  };
254
240
  });
255
241
  exports.getColorPalette = getColorPalette;
256
-
257
242
  var getTheme = function getTheme(theme) {
258
243
  return _objectSpread(_objectSpread({}, getBaseTheme(theme)), getColorPalette(theme));
259
244
  };
260
-
261
245
  var _default = getTheme;
262
246
  exports.default = _default;
@@ -1,34 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.getLineNumWidth = exports.getCodeStyles = exports.getCodeBlockTheme = exports.getCodeBlockStyles = exports.getBaseCodeStyles = void 0;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _constants = require("@atlaskit/theme/constants");
13
-
14
10
  var _constants2 = require("./constants");
15
-
16
11
  var _getTheme = require("./get-theme");
17
-
18
12
  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; }
19
-
20
13
  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
-
22
14
  var getLineNumWidth = function getLineNumWidth(numLines) {
23
15
  if (!numLines) {
24
16
  return '1ch';
25
17
  }
26
-
27
18
  return "".concat(numLines.toFixed(0).length, "ch");
28
19
  };
29
-
30
20
  exports.getLineNumWidth = getLineNumWidth;
31
-
32
21
  var lineNumberStyle = function lineNumberStyle(theme) {
33
22
  return {
34
23
  // width of the line number gutter
@@ -48,9 +37,9 @@ var lineNumberStyle = function lineNumberStyle(theme) {
48
37
  // this is to fix SSR spacing issue
49
38
  display: 'block'
50
39
  };
51
- }; // order of these keys does matter as it will affect the css precedence
52
-
40
+ };
53
41
 
42
+ // order of these keys does matter as it will affect the css precedence
54
43
  var syntaxKeywordColors = function syntaxKeywordColors(theme) {
55
44
  return {
56
45
  '.token': {
@@ -198,11 +187,10 @@ var syntaxKeywordColors = function syntaxKeywordColors(theme) {
198
187
  }
199
188
  };
200
189
  };
190
+
201
191
  /**
202
192
  * Styles applied at the root element level, common across code/codeblock
203
193
  */
204
-
205
-
206
194
  var getBaseCodeStyles = function getBaseCodeStyles(theme) {
207
195
  return {
208
196
  fontSize: _constants2.CODE_FONT_SIZE,
@@ -214,16 +202,14 @@ var getBaseCodeStyles = function getBaseCodeStyles(theme) {
214
202
  borderRadius: "".concat((0, _constants.borderRadius)(), "px")
215
203
  };
216
204
  };
205
+
217
206
  /**
218
207
  * Takes an implemented CodeBlock theme, and returns styles required for
219
208
  * react-syntax-highlighter.
220
209
  *
221
210
  * @param theme
222
211
  */
223
-
224
-
225
212
  exports.getBaseCodeStyles = getBaseCodeStyles;
226
-
227
213
  var getCodeBlockStyles = function getCodeBlockStyles(theme) {
228
214
  return function (highlightedStartText, highlightedEndText, hasLineNumbers) {
229
215
  return _objectSpread(_objectSpread(_objectSpread({
@@ -307,9 +293,7 @@ var getCodeBlockStyles = function getCodeBlockStyles(theme) {
307
293
  });
308
294
  };
309
295
  };
310
-
311
296
  exports.getCodeBlockStyles = getCodeBlockStyles;
312
-
313
297
  var getCodeStyles = function getCodeStyles(globalTheme) {
314
298
  // Required to have proper compatibility with styled components interpolations
315
299
  var akTheme = 'theme' in globalTheme ? globalTheme.theme : globalTheme;
@@ -325,13 +309,10 @@ var getCodeStyles = function getCodeStyles(globalTheme) {
325
309
  whiteSpace: 'pre-wrap'
326
310
  });
327
311
  };
328
-
329
312
  exports.getCodeStyles = getCodeStyles;
330
-
331
313
  var getCodeBlockTheme = function getCodeBlockTheme(globalTheme, maxLines) {
332
314
  return _objectSpread(_objectSpread(_objectSpread({}, (0, _getTheme.getBaseTheme)(globalTheme)), (0, _getTheme.getColorPalette)(globalTheme)), {}, {
333
315
  lineNumberWidth: maxLines ? getLineNumWidth(maxLines) : undefined
334
316
  });
335
317
  };
336
-
337
318
  exports.getCodeBlockTheme = getCodeBlockTheme;