@atlaskit/renderer 114.3.0 → 114.3.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/afm-cc/tsconfig.json +3 -0
  3. package/dist/cjs/react/marks/alignment.js +13 -1
  4. package/dist/cjs/react/nodes/codeBlock/components/codeBlockContainer.js +36 -13
  5. package/dist/cjs/react/nodes/codeBlock/components/lightWeightCodeBlock.js +165 -5
  6. package/dist/cjs/react/nodes/layoutColumn.js +18 -1
  7. package/dist/cjs/react/nodes/media/index.js +75 -32
  8. package/dist/cjs/react/nodes/mediaSingle/index.js +9 -2
  9. package/dist/cjs/react/nodes/multiBodiedExtension.js +83 -4
  10. package/dist/cjs/react/nodes/panel.js +162 -2
  11. package/dist/cjs/react/nodes/table/sticky.js +51 -1
  12. package/dist/cjs/ui/Expand.js +124 -8
  13. package/dist/cjs/ui/Renderer/index.js +1 -1
  14. package/dist/cjs/ui/annotations/draft/component.js +27 -7
  15. package/dist/cjs/ui/annotations/element/mark.js +85 -6
  16. package/dist/es2019/react/marks/alignment.js +13 -1
  17. package/dist/es2019/react/nodes/codeBlock/components/codeBlockContainer.js +69 -13
  18. package/dist/es2019/react/nodes/codeBlock/components/lightWeightCodeBlock.js +194 -4
  19. package/dist/es2019/react/nodes/layoutColumn.js +27 -1
  20. package/dist/es2019/react/nodes/media/index.js +49 -15
  21. package/dist/es2019/react/nodes/mediaSingle/index.js +9 -2
  22. package/dist/es2019/react/nodes/multiBodiedExtension.js +83 -4
  23. package/dist/es2019/react/nodes/panel.js +162 -2
  24. package/dist/es2019/react/nodes/table/sticky.js +64 -1
  25. package/dist/es2019/ui/Expand.js +125 -8
  26. package/dist/es2019/ui/Renderer/index.js +1 -1
  27. package/dist/es2019/ui/annotations/draft/component.js +28 -7
  28. package/dist/es2019/ui/annotations/element/mark.js +96 -6
  29. package/dist/esm/react/marks/alignment.js +13 -1
  30. package/dist/esm/react/nodes/codeBlock/components/codeBlockContainer.js +36 -13
  31. package/dist/esm/react/nodes/codeBlock/components/lightWeightCodeBlock.js +164 -4
  32. package/dist/esm/react/nodes/layoutColumn.js +18 -1
  33. package/dist/esm/react/nodes/media/index.js +75 -32
  34. package/dist/esm/react/nodes/mediaSingle/index.js +9 -2
  35. package/dist/esm/react/nodes/multiBodiedExtension.js +83 -4
  36. package/dist/esm/react/nodes/panel.js +163 -3
  37. package/dist/esm/react/nodes/table/sticky.js +51 -1
  38. package/dist/esm/ui/Expand.js +125 -9
  39. package/dist/esm/ui/Renderer/index.js +1 -1
  40. package/dist/esm/ui/annotations/draft/component.js +28 -7
  41. package/dist/esm/ui/annotations/element/mark.js +85 -7
  42. package/dist/types/react/nodes/codeBlock/components/lightWeightCodeBlock.d.ts +5 -1
  43. package/dist/types/ui/annotations/draft/component.d.ts +0 -4
  44. package/dist/types-ts4.5/react/nodes/codeBlock/components/lightWeightCodeBlock.d.ts +5 -1
  45. package/dist/types-ts4.5/ui/annotations/draft/component.d.ts +0 -4
  46. package/package.json +5 -4
  47. package/dist/cjs/react/nodes/mediaSingle/styles.js +0 -24
  48. package/dist/es2019/react/nodes/mediaSingle/styles.js +0 -18
  49. package/dist/esm/react/nodes/mediaSingle/styles.js +0 -18
  50. package/dist/types/react/nodes/mediaSingle/styles.d.ts +0 -2
  51. package/dist/types-ts4.5/react/nodes/mediaSingle/styles.d.ts +0 -2
@@ -6,16 +6,23 @@ import _extends from "@babel/runtime/helpers/extends";
6
6
 
7
7
  import { default as React, Fragment, useCallback, useContext, useMemo, useEffect } from 'react';
8
8
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
9
- import { jsx } from '@emotion/react';
9
+ import { css, jsx } from '@emotion/react';
10
10
  import { injectIntl } from 'react-intl-next';
11
11
  import { MediaSingle as UIMediaSingle, WidthContext } from '@atlaskit/editor-common/ui';
12
12
  import { akEditorFullWidthLayoutWidth, akEditorDefaultLayoutWidth, akEditorWideLayoutWidth } from '@atlaskit/editor-shared-styles';
13
13
  import { FullPagePadding } from '../../../ui/Renderer/style';
14
- import { uiMediaSingleBaseStyles, uiMediaSingleLayoutStyles } from './styles';
15
14
  import { useAnnotationRangeDispatch } from '../../../ui/annotations/contexts/AnnotationRangeContext';
16
15
  import { useAnnotationHoverDispatch } from '../../../ui/annotations/contexts/AnnotationHoverContext';
17
16
  const DEFAULT_WIDTH = 250;
18
17
  const DEFAULT_HEIGHT = 200;
18
+ const uiMediaSingleBaseStyles = css({
19
+ transition: 'all 0.1s linear'
20
+ });
21
+ const uiMediaSingleLayoutStyles = css({
22
+ // eslint-disable-next-line @atlaskit/design-system/use-tokens-space
23
+ marginLeft: '50%',
24
+ transform: 'translateX(-50%)'
25
+ });
19
26
  const isMediaElement = media => {
20
27
  if (!media) {
21
28
  return false;
@@ -15,8 +15,9 @@ import { RendererCssClassName } from '../../consts';
15
15
  import { calcBreakoutWidth } from '@atlaskit/editor-common/utils';
16
16
  import { useMultiBodiedExtensionActions } from './multiBodiedExtension/actions';
17
17
  import { useMultiBodiedExtensionContext } from './multiBodiedExtension/context';
18
+ import { fg } from '@atlaskit/platform-feature-flags';
18
19
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Ignored via go/DSP-18766
19
- const navigationStyles = css`
20
+ const navigationStylesOld = css`
20
21
  ${sharedMultiBodiedExtensionStyles.mbeNavigation};
21
22
  margin-left: 0 !important;
22
23
  margin-right: 0 !important;
@@ -26,8 +27,35 @@ const navigationStyles = css`
26
27
  }
27
28
  `;
28
29
 
30
+ // localized sharedMultiBodiedExtensionStyles.mbeNavigation in navigationCssExtendedNew
31
+ const navigationStylesNew = css({
32
+ borderTopLeftRadius: "var(--ds-border-radius, 3px)",
33
+ borderTopRightRadius: "var(--ds-border-radius, 3px)",
34
+ userSelect: 'none',
35
+ WebkitUserModify: 'read-only',
36
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-important-styles -- Ignored via go/DSP-18766
37
+ borderBottom: 'none !important',
38
+ background: "var(--ds-surface, white)",
39
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
40
+ '&.remove-margins': {
41
+ margin: "var(--ds-space-negative-100, -8px)"
42
+ },
43
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
44
+ '&.remove-border': {
45
+ border: 'none'
46
+ },
47
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-important-styles
48
+ marginLeft: '0 !important',
49
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-important-styles
50
+ marginRight: '0 !important',
51
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
52
+ '.mbe-add-tab-button, .mbe-remove-tab': {
53
+ display: 'none'
54
+ }
55
+ });
56
+
29
57
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- needs manual remediation
30
- const containerStyles = css`
58
+ const containerStylesOld = css`
31
59
  ${sharedMultiBodiedExtensionStyles.mbeExtensionContainer};
32
60
  .ak-renderer-extension {
33
61
  margin-top: 0 !important;
@@ -40,6 +68,57 @@ const containerStyles = css`
40
68
  }
41
69
  }
42
70
  `;
71
+
72
+ // localized sharedMultiBodiedExtensionStyles.mbeExtensionContainer in containerStylesNew
73
+ // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- needs manual remediation
74
+ const containerStylesNew = css({
75
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-important-styles -- Ignored via go/DSP-18766
76
+ background: 'transparent !important',
77
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
78
+ 'padding:': {
79
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-important-styles -- Ignored via go/DSP-18766
80
+ left: `${"var(--ds-space-100, 8px)"} !important`,
81
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-important-styles -- Ignored via go/DSP-18766
82
+ right: `${"var(--ds-space-100, 8px)"} !important`
83
+ },
84
+ paddingBottom: "var(--ds-space-100, 8px)",
85
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
86
+ '&.remove-padding': {
87
+ paddingBottom: 0
88
+ },
89
+ position: 'relative',
90
+ verticalAlign: 'middle',
91
+ cursor: 'pointer',
92
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
93
+ '.multiBodiedExtension-handler-result': {
94
+ marginLeft: "var(--ds-space-100, 8px)"
95
+ },
96
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
97
+ ".multiBodiedExtension-content-dom-wrapper > [data-extension-frame='true'], .multiBodiedExtension--frames > [data-extension-frame='true']": {
98
+ display: 'none',
99
+ background: "var(--ds-surface, white)"
100
+ },
101
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
102
+ '.multiBodiedExtension-content-dom-wrapper, .multiBodiedExtension--frames': {
103
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
104
+ "[data-extension-frame='true'] > :not(style):first-child, [data-extension-frame='true'] > style:first-child + *": {
105
+ marginTop: 0
106
+ }
107
+ },
108
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
109
+ '.ak-renderer-extension': {
110
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-important-styles
111
+ marginTop: '0 !important'
112
+ },
113
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
114
+ '[data-layout="full-width"], [data-layout="wide"]': {
115
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
116
+ '.multiBodiedExtension-navigation': {
117
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-important-styles
118
+ borderRight: `3px solid ${`var(--ds-border, ${N40})`} !important`
119
+ }
120
+ }
121
+ });
43
122
  const MultiBodiedExtensionChildrenContainer = ({
44
123
  children
45
124
  }) => {
@@ -56,7 +135,7 @@ const MultiBodiedExtensionNavigation = ({
56
135
  return jsx("nav", {
57
136
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
58
137
  className: "multiBodiedExtension-navigation",
59
- css: navigationStyles,
138
+ css: fg('platform_editor_emotion_refactor_renderer') ? navigationStylesNew : navigationStylesOld,
60
139
  "data-testid": "multiBodiedExtension-navigation"
61
140
  }, children);
62
141
  };
@@ -164,7 +243,7 @@ const MultiBodiedExtension = props => {
164
243
  return jsx("section", {
165
244
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
166
245
  className: "multiBodiedExtension--container",
167
- css: [containerStyles, containerActiveFrameStyles],
246
+ css: [fg('platform_editor_emotion_refactor_renderer') ? containerStylesNew : containerStylesOld, containerActiveFrameStyles],
168
247
  "data-testid": "multiBodiedExtension--container",
169
248
  "data-active-child-index": activeChildIndex,
170
249
  "data-layout": layout
@@ -8,13 +8,155 @@ import React from 'react';
8
8
  import { css, jsx } from '@emotion/react';
9
9
  import TipIcon from '@atlaskit/icon/glyph/editor/hint';
10
10
  import { PanelType } from '@atlaskit/adf-schema';
11
- import { panelSharedStylesWithoutPrefix, PanelSharedCssClassName } from '@atlaskit/editor-common/panel';
11
+ import { PanelSharedCssClassName, panelSharedStylesWithoutPrefix } from '@atlaskit/editor-common/panel';
12
12
  import { hexToEditorBackgroundPaletteColor } from '@atlaskit/editor-palette';
13
13
  import EmojiIcon from '@atlaskit/icon/glyph/editor/emoji';
14
14
  import { fg } from '@atlaskit/platform-feature-flags';
15
15
  import EmojiItem from './emoji';
16
16
  import { PanelInfoIcon, PanelSuccessIcon, PanelNoteIcon, PanelWarningIcon, PanelErrorIcon } from '@atlaskit/editor-common/icons';
17
- const PanelStyled = ({
17
+ import { akEditorCustomIconSize } from '@atlaskit/editor-shared-styles/consts';
18
+ import { componentWithFG } from '@atlaskit/platform-feature-flags-react';
19
+ import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
20
+ // New custom icons are a little smaller than predefined icons.
21
+ // To fix alignment issues with custom icons, vertical alignment is updated.
22
+ const panelEmojiSpriteVerticalAlignment = -(8 * 3 - akEditorCustomIconSize) / 2;
23
+ const panelEmojiImageVerticalAlignment = panelEmojiSpriteVerticalAlignment - 1;
24
+ const blockNodesVerticalMargin = '0.75rem';
25
+ const akEditorTableCellMinWidth = 48;
26
+ const panelBaseStyles = css({
27
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
28
+ '&.ak-editor-panel': {
29
+ borderRadius: "var(--ds-border-radius, 3px)",
30
+ margin: `${blockNodesVerticalMargin} 0 0`,
31
+ paddingTop: "var(--ds-space-100, 8px)",
32
+ paddingRight: "var(--ds-space-200, 16px)",
33
+ paddingBottom: "var(--ds-space-100, 8px)",
34
+ paddingLeft: "var(--ds-space-100, 8px)",
35
+ minWidth: `${akEditorTableCellMinWidth}px`,
36
+ display: 'flex',
37
+ position: 'relative',
38
+ alignItems: 'normal',
39
+ wordBreak: 'break-word',
40
+ backgroundColor: "var(--ds-background-accent-blue-subtlest, #DEEBFF)",
41
+ color: 'inherit',
42
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
43
+ '.ak-editor-panel__icon': {
44
+ flexShrink: 0,
45
+ height: "var(--ds-space-300, 24px)",
46
+ width: "var(--ds-space-300, 24px)",
47
+ boxSizing: 'content-box',
48
+ paddingRight: "var(--ds-space-100, 8px)",
49
+ textAlign: 'center',
50
+ userSelect: 'none',
51
+ MozUserSelect: 'none',
52
+ WebkitUserSelect: 'none',
53
+ MsUserSelect: 'none',
54
+ // eslint-disable-next-line @atlaskit/design-system/use-tokens-space
55
+ marginTop: '0.1em',
56
+ color: "var(--ds-icon-information, #1D7AFC)",
57
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
58
+ '> span': {
59
+ verticalAlign: 'middle',
60
+ display: 'inline-flex'
61
+ },
62
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
63
+ '.emoji-common-emoji-sprite': {
64
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values
65
+ verticalAlign: `${panelEmojiSpriteVerticalAlignment}px`
66
+ },
67
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
68
+ '.emoji-common-emoji-image': {
69
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values
70
+ verticalAlign: `${panelEmojiImageVerticalAlignment}px`,
71
+ // Vertical align only works for inline-block elements in Firefox
72
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-selectors
73
+ '@-moz-document url-prefix()': {
74
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
75
+ img: {
76
+ display: 'inline-block'
77
+ }
78
+ }
79
+ }
80
+ },
81
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
82
+ '.ak-editor-panel__content': {
83
+ margin: `${"var(--ds-space-025, 2px)"} 0 ${"var(--ds-space-025, 2px)"}`,
84
+ flex: '1 0 0',
85
+ /*
86
+ https://ishadeed.com/article/min-max-css/#setting-min-width-to-zero-with-flexbox
87
+ The default value for min-width is auto, which is computed to zero. When an element is a flex item, the value of min-width doesn’t compute to zero. The minimum size of a flex item is equal to the size of its contents.
88
+ */
89
+ minWidth: 0
90
+ },
91
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
92
+ '&[data-panel-type="note"]': {
93
+ backgroundColor: "var(--ds-background-accent-purple-subtlest, #EAE6FF)",
94
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
95
+ '.ak-editor-panel__icon': {
96
+ color: "var(--ds-icon-discovery, #8270DB)"
97
+ }
98
+ },
99
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-values, @atlaskit/ui-styling-standard/no-imported-style-values
100
+ '&[data-panel-type="tip"]': {
101
+ backgroundColor: "var(--ds-background-accent-green-subtlest, #E3FCEF)",
102
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
103
+ '.ak-editor-panel__icon': {
104
+ color: "var(--ds-icon-success, #22A06B)"
105
+ }
106
+ },
107
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-values, @atlaskit/ui-styling-standard/no-imported-style-values
108
+ '&[data-panel-type="warning"]': {
109
+ backgroundColor: "var(--ds-background-accent-yellow-subtlest, #FFFAE6)",
110
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
111
+ '.ak-editor-panel__icon': {
112
+ color: "var(--ds-icon-warning, #E56910)"
113
+ }
114
+ },
115
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-values, @atlaskit/ui-styling-standard/no-imported-style-values
116
+ '&[data-panel-type="error"]': {
117
+ backgroundColor: "var(--ds-background-accent-red-subtlest, #FFEBE6)",
118
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
119
+ '.ak-editor-panel__icon': {
120
+ color: "var(--ds-icon-danger, #C9372C)"
121
+ }
122
+ },
123
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-values, @atlaskit/ui-styling-standard/no-imported-style-values
124
+ '&[data-panel-type="success"]': {
125
+ backgroundColor: "var(--ds-background-accent-green-subtlest, #E3FCEF)",
126
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
127
+ '.ak-editor-panel__icon': {
128
+ color: "var(--ds-icon-success, #22A06B)"
129
+ }
130
+ }
131
+ }
132
+ });
133
+ const panelHasNoIconStyles = css({
134
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-values, @atlaskit/ui-styling-standard/no-imported-style-values
135
+ '&.ak-editor-panel': {
136
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
137
+ '&[data-panel-type="custom"]': {
138
+ paddingLeft: "var(--ds-space-150, 12px)",
139
+ paddingRight: "var(--ds-space-150, 12px)"
140
+ }
141
+ }
142
+ });
143
+ const panelNestedIconStyles = css({
144
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
145
+ '&.ak-editor-panel__no-icon': {
146
+ paddingLeft: "var(--ds-space-150, 12px)",
147
+ paddingRight: "var(--ds-space-150, 12px)"
148
+ }
149
+ });
150
+ const panelCustomBackground = css({
151
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-values, @atlaskit/ui-styling-standard/no-imported-style-values
152
+ '&.ak-editor-panel': {
153
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
154
+ '&[data-panel-type="custom"]': {
155
+ backgroundColor: 'var(--ak-renderer-panel-custom-bg-color)'
156
+ }
157
+ }
158
+ });
159
+ const PanelStyledOld = ({
18
160
  backgroundColor,
19
161
  hasIcon,
20
162
  ...props
@@ -51,6 +193,24 @@ const PanelStyled = ({
51
193
  }, props), props.children)
52
194
  );
53
195
  };
196
+ const PanelStyledNew = ({
197
+ backgroundColor,
198
+ hasIcon,
199
+ ...props
200
+ }) => {
201
+ const customBackgroundColor = backgroundColor ? hexToEditorBackgroundPaletteColor(backgroundColor) : backgroundColor;
202
+ return jsx("div", _extends({
203
+ style:
204
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
205
+ {
206
+ '--ak-renderer-panel-custom-bg-color': customBackgroundColor
207
+ },
208
+ css: [panelBaseStyles, !hasIcon && panelHasNoIconStyles, props['data-panel-type'] === PanelType.CUSTOM && backgroundColor && panelCustomBackground, editorExperiment('nested-dnd', true) && panelNestedIconStyles]
209
+ // Ignored via go/ees005
210
+ // eslint-disable-next-line react/jsx-props-no-spreading
211
+ }, props), props.children);
212
+ };
213
+ const PanelStyled = componentWithFG('platform_editor_emotion_refactor_renderer', PanelStyledNew, PanelStyledOld);
54
214
  PanelStyled.displayName = 'PanelStyled';
55
215
  const panelIcons = {
56
216
  info: PanelInfoIcon,
@@ -13,6 +13,7 @@ import { akEditorStickyHeaderZIndex } from '@atlaskit/editor-shared-styles';
13
13
  import { N40A } from '@atlaskit/theme/colors';
14
14
  import { Table } from './table';
15
15
  import { recursivelyInjectProps } from '../../utils/inject-props';
16
+ import { componentWithFG } from '@atlaskit/platform-feature-flags-react';
16
17
  export const tableStickyPadding = 8;
17
18
  const modeSpecficStyles = {
18
19
  none: css({
@@ -26,6 +27,38 @@ const modeSpecficStyles = {
26
27
  })
27
28
  };
28
29
 
30
+ // refactored based on fixedTableDivStaticStyles
31
+ // TODO: DSP-4123 - Quality ticket
32
+ const fixedTableDivStaticStylesNew = css({
33
+ zIndex: 'var(--ak-renderer-sticky-header-zindex)',
34
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-values, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
35
+ [`& .${TableSharedCssClassName.TABLE_CONTAINER}, & .${TableSharedCssClassName.TABLE_STICKY_WRAPPER} > table`]: {
36
+ marginTop: 0,
37
+ marginBottom: 0,
38
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
39
+ tr: {
40
+ background: "var(--ds-surface, white)"
41
+ }
42
+ },
43
+ borderTop: `${tableStickyPadding}px solid ${"var(--ds-surface, white)"}`,
44
+ background: "var(--ds-surface-overlay, white)",
45
+ boxShadow: `0 6px 4px -4px ${`var(--ds-shadow-overflow-perimeter, ${N40A})`}`,
46
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
47
+ "div[data-expanded='false'] &": {
48
+ display: 'none'
49
+ },
50
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-values, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
51
+ [`& .${TableSharedCssClassName.TABLE_CONTAINER}.is-sticky.right-shadow::after, & .${TableSharedCssClassName.TABLE_CONTAINER}.is-sticky.left-shadow::before`]: {
52
+ top: '0px',
53
+ height: '100%'
54
+ },
55
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
56
+ "&.fixed-table-div-custom-table-resizing[mode='stick']": {
57
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
58
+ zIndex: 'var(--ak-renderer-sticky-header-zindex)'
59
+ }
60
+ });
61
+
29
62
  // TODO: DSP-4123 - Quality ticket
30
63
  const fixedTableDivStaticStyles = (top, width, allowTableResizing) => {
31
64
  let stickyHeaderZIndex;
@@ -69,7 +102,7 @@ const fixedTableDivStaticStyles = (top, width, allowTableResizing) => {
69
102
  }
70
103
  });
71
104
  };
72
- const FixedTableDiv = props => {
105
+ const FixedTableDivOld = props => {
73
106
  const {
74
107
  top,
75
108
  wrapperWidth,
@@ -90,6 +123,36 @@ const FixedTableDiv = props => {
90
123
  css: fixedTableCss
91
124
  }), props.children);
92
125
  };
126
+ const FixedTableDivNew = props => {
127
+ const {
128
+ top,
129
+ wrapperWidth,
130
+ mode,
131
+ allowTableResizing
132
+ } = props;
133
+ let stickyHeaderZIndex;
134
+ if (allowTableResizing) {
135
+ stickyHeaderZIndex = 13;
136
+ } else {
137
+ stickyHeaderZIndex = akEditorStickyHeaderZIndex;
138
+ }
139
+ const attrs = {
140
+ mode
141
+ };
142
+ return jsx("div", _extends({}, attrs, {
143
+ "data-testid": "sticky-table-fixed"
144
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
145
+ ,
146
+ className: allowTableResizing ? 'fixed-table-div-custom-table-resizing' : '',
147
+ css: [fixedTableDivStaticStylesNew, modeSpecficStyles === null || modeSpecficStyles === void 0 ? void 0 : modeSpecficStyles[mode]],
148
+ style: {
149
+ '--ak-renderer-sticky-header-zindex': stickyHeaderZIndex,
150
+ width: `${wrapperWidth}px`,
151
+ top: top ? `${top}px` : undefined
152
+ }
153
+ }), props.children);
154
+ };
155
+ const FixedTableDiv = componentWithFG('platform_editor_emotion_refactor_renderer', FixedTableDivNew, FixedTableDivOld);
93
156
  export const StickyTable = ({
94
157
  top,
95
158
  left,
@@ -9,7 +9,7 @@ import React, { useCallback, useRef } from 'react';
9
9
  // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
10
10
  import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
11
11
  import { clearNextSiblingMarginTopStyle, ExpandIconWrapper, ExpandLayoutWrapperWithRef, expandMessages, sharedExpandStyles, WidthProvider } from '@atlaskit/editor-common/ui';
12
- import { akEditorLineHeight, relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
12
+ import { akEditorLineHeight, akEditorSwoopCubicBezier, akLayoutGutterOffset } from '@atlaskit/editor-shared-styles';
13
13
  import { default as ChevronRightIconLegacy } from '@atlaskit/icon/glyph/chevron-right';
14
14
  import ChevronRightIcon from '@atlaskit/icon/utility/chevron-right';
15
15
  import Tooltip from '@atlaskit/tooltip';
@@ -17,11 +17,12 @@ import _uniqueId from 'lodash/uniqueId';
17
17
  import { injectIntl } from 'react-intl-next';
18
18
  import { MODE, PLATFORM } from '../analytics/events';
19
19
  import { ActiveHeaderIdConsumer } from './active-header-id-provider';
20
+ import { componentWithFG } from '@atlaskit/platform-feature-flags-react';
20
21
  const titleStyles = css({
21
22
  outline: 'none',
22
23
  border: 'none',
23
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
24
- fontSize: relativeFontSizeToBase16(14),
24
+ // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
25
+ fontSize: `${14 / 16}rem`,
25
26
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values, @atlaskit/design-system/use-tokens-typography -- Ignored via go/DSP-18766
26
27
  lineHeight: akEditorLineHeight,
27
28
  fontWeight: "var(--ds-font-weight-regular, 400)",
@@ -31,7 +32,92 @@ const titleStyles = css({
31
32
  padding: `0 0 0 ${"var(--ds-space-050, 4px)"}`,
32
33
  textAlign: 'left'
33
34
  });
34
- const Container = props => {
35
+ const containerStyles = css({
36
+ borderWidth: '1px',
37
+ borderStyle: 'solid',
38
+ borderColor: 'transparent',
39
+ borderRadius: "var(--ds-border-radius-100, 4px)",
40
+ minHeight: '25px',
41
+ background: "var(--ds-background-neutral-subtle, transparent)",
42
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
43
+ transition: `background 0.3s ${akEditorSwoopCubicBezier}, border-color 0.3s ${akEditorSwoopCubicBezier}`,
44
+ padding: "var(--ds-space-0, 0px)",
45
+ paddingBottom: "var(--ds-space-0, 0px)",
46
+ marginTop: "var(--ds-space-050, 0.25rem)",
47
+ marginBottom: 0,
48
+ marginLeft: 0,
49
+ marginRight: 0,
50
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
51
+ 'td > :not(style):first-child, td > style:first-child + *': {
52
+ marginTop: 0
53
+ }
54
+ });
55
+ const containerStylesExpanded = css({
56
+ background: "var(--ds-surface, rgba(255, 255, 255, 0.6))",
57
+ paddingBottom: "var(--ds-space-100, 8px)",
58
+ borderColor: "var(--ds-border, #091E4224)"
59
+ });
60
+ const containerStylesFocused = css({
61
+ borderColor: "var(--ds-border-focused, #388BFF)"
62
+ });
63
+ const containerStylesDataNodeTypeExpand = css({
64
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values
65
+ marginLeft: `-${akLayoutGutterOffset}px`,
66
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values
67
+ marginRight: `-${akLayoutGutterOffset}px`
68
+ });
69
+ const titleContainerStyles = css({
70
+ display: 'flex',
71
+ alignItems: 'flex-start',
72
+ background: 'none',
73
+ border: 'none',
74
+ // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography
75
+ fontSize: `${14 / 16}rem`,
76
+ width: '100%',
77
+ color: "var(--ds-text-subtle, #44546F)",
78
+ overflow: 'hidden',
79
+ cursor: 'pointer',
80
+ padding: "var(--ds-space-100, 8px)",
81
+ '&:focus': {
82
+ outline: 0
83
+ }
84
+ });
85
+ const titleContainerStylesExpanded = css({
86
+ paddingBottom: "var(--ds-space-0, 0px)"
87
+ });
88
+ const contentContainerStyles = css({
89
+ paddingTop: "var(--ds-space-0, 0px)",
90
+ marginLeft: "var(--ds-space-050, 4px)",
91
+ paddingRight: "var(--ds-space-200, 16px)",
92
+ paddingLeft: "var(--ds-space-400, 32px)",
93
+ display: 'flow-root',
94
+ visibility: 'hidden',
95
+ // The follow rules inside @supports block are added as a part of ED-8893
96
+ // The fix is targeting mobile bridge on iOS 12 or below,
97
+ // We should consider remove this fix when we no longer support iOS 12
98
+ '@supports not (display: flow-root)': {
99
+ width: '100%',
100
+ boxSizing: 'border-box'
101
+ }
102
+ });
103
+ const contentContainerStylesExpanded = css({
104
+ paddingTop: "var(--ds-space-100, 8px)",
105
+ visibility: 'visible'
106
+ });
107
+ const contentContainerStylesNotExpanded = css({
108
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
109
+ '.expand-content-wrapper, .nestedExpand-content-wrapper': {
110
+ /* We visually hide the content here to preserve the content during copy+paste */
111
+ /* Do not add text nowrap here because inline comment navigation depends on the location of the text */
112
+ width: '100%',
113
+ display: 'block',
114
+ height: 0,
115
+ overflow: 'hidden',
116
+ clip: 'rect(1px, 1px, 1px, 1px)',
117
+ userSelect: 'none'
118
+ }
119
+ });
120
+ const ContainerOld = props => {
35
121
  const paddingBottom = props.expanded ? "var(--ds-space-100, 8px)" : "var(--ds-space-0, 0px)";
36
122
  const sharedContainerStyles = sharedExpandStyles.containerStyles(props);
37
123
 
@@ -49,7 +135,15 @@ const Container = props => {
49
135
  }, props), props.children)
50
136
  );
51
137
  };
52
- const TitleContainer = props => {
138
+ const ContainerNew = props => {
139
+ return jsx("div", _extends({
140
+ css: [containerStyles, props['data-node-type'] === 'expand' && containerStylesDataNodeTypeExpand, props.expanded && containerStylesExpanded, props.focused && containerStylesFocused]
141
+ // Ignored via go/ees005
142
+ // eslint-disable-next-line react/jsx-props-no-spreading
143
+ }, props), props.children);
144
+ };
145
+ const Container = componentWithFG('platform_editor_emotion_refactor_renderer', ContainerNew, ContainerOld);
146
+ const TitleContainerOld = props => {
53
147
  const paddingBottom = !props.expanded ? "var(--ds-space-100, 8px)" : "var(--ds-space-0, 0px)";
54
148
 
55
149
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- needs manual remediation
@@ -64,15 +158,31 @@ const TitleContainer = props => {
64
158
  } = props;
65
159
  return (
66
160
  // Ignored via go/ees005
67
- // eslint-disable-next-line react/jsx-props-no-spreading, @atlaskit/design-system/consistent-css-prop-usage
161
+ // eslint-disable-next-line react/jsx-props-no-spreading, @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/design-system/no-html-button
68
162
  jsx("button", _extends({
69
163
  type: "button",
70
164
  css: styles
71
165
  }, buttonProps), props.children)
72
166
  );
73
167
  };
168
+ const TitleContainerNew = props => {
169
+ const {
170
+ expanded,
171
+ ...buttonProps
172
+ } = props;
173
+ return (
174
+ // eslint-disable-next-line @atlaskit/design-system/no-html-button
175
+ jsx("button", _extends({
176
+ type: "button",
177
+ css: [titleContainerStyles, expanded && titleContainerStylesExpanded]
178
+ // Ignored via go/ees005
179
+ // eslint-disable-next-line react/jsx-props-no-spreading
180
+ }, buttonProps), props.children)
181
+ );
182
+ };
183
+ const TitleContainer = componentWithFG('platform_editor_emotion_refactor_renderer', TitleContainerNew, TitleContainerOld);
74
184
  TitleContainer.displayName = 'TitleContainerButton';
75
- const ContentContainer = props => {
185
+ const ContentContainerOld = props => {
76
186
  const sharedContentStyles = sharedExpandStyles.contentStyles(props);
77
187
  const visibility = props.expanded ? 'visible' : 'hidden';
78
188
 
@@ -84,7 +194,6 @@ const ContentContainer = props => {
84
194
  visibility: ${visibility};
85
195
  `;
86
196
  return (
87
- // eslint-disable-next-line
88
197
  // Ignored via go/ees005
89
198
  // eslint-disable-next-line react/jsx-props-no-spreading, @atlaskit/design-system/consistent-css-prop-usage
90
199
  jsx("div", _extends({
@@ -92,6 +201,14 @@ const ContentContainer = props => {
92
201
  }, props), props.children)
93
202
  );
94
203
  };
204
+ const ContentContainerNew = props => {
205
+ return jsx("div", _extends({
206
+ css: [contentContainerStyles, props.expanded && contentContainerStylesExpanded, !props.expanded && contentContainerStylesNotExpanded]
207
+ // Ignored via go/ees005
208
+ // eslint-disable-next-line react/jsx-props-no-spreading
209
+ }, props), props.children);
210
+ };
211
+ const ContentContainer = componentWithFG('platform_editor_emotion_refactor_renderer', ContentContainerNew, ContentContainerOld);
95
212
  function fireExpandToggleAnalytics(nodeType, expanded, fireAnalyticsEvent) {
96
213
  if (!fireAnalyticsEvent) {
97
214
  return;
@@ -48,7 +48,7 @@ import { removeEmptySpaceAroundContent } from './rendererHelper';
48
48
  export const NORMAL_SEVERITY_THRESHOLD = 2000;
49
49
  export const DEGRADED_SEVERITY_THRESHOLD = 3000;
50
50
  const packageName = "@atlaskit/renderer";
51
- const packageVersion = "114.3.0";
51
+ const packageVersion = "114.3.2";
52
52
  const setAsQueryContainerStyles = css({
53
53
  containerName: 'ak-renderer-wrapper',
54
54
  containerType: 'inline-size',