@atlaskit/editor-common 109.14.1 → 109.15.1

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 (41) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/copy-button/index.js +4 -2
  3. package/dist/cjs/keymaps/index.js +11 -6
  4. package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +3 -1
  5. package/dist/cjs/monitoring/error.js +1 -1
  6. package/dist/cjs/preset/core-plugin/index.js +1 -1
  7. package/dist/cjs/preset/core-plugin/requestDocument.js +23 -1
  8. package/dist/cjs/resizer/BreakoutResizer.js +6 -4
  9. package/dist/cjs/styles/shared/table.js +3 -3
  10. package/dist/cjs/ui/DropList/index.js +1 -1
  11. package/dist/cjs/ui/PanelTextInput/index.js +7 -4
  12. package/dist/cjs/utils/browser.js +43 -9
  13. package/dist/es2019/copy-button/index.js +3 -1
  14. package/dist/es2019/keymaps/index.js +6 -1
  15. package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +3 -1
  16. package/dist/es2019/monitoring/error.js +1 -1
  17. package/dist/es2019/preset/core-plugin/index.js +1 -1
  18. package/dist/es2019/preset/core-plugin/requestDocument.js +17 -1
  19. package/dist/es2019/resizer/BreakoutResizer.js +5 -3
  20. package/dist/es2019/styles/shared/table.js +107 -105
  21. package/dist/es2019/ui/DropList/index.js +1 -1
  22. package/dist/es2019/ui/PanelTextInput/index.js +4 -1
  23. package/dist/es2019/utils/browser.js +43 -9
  24. package/dist/esm/copy-button/index.js +3 -1
  25. package/dist/esm/keymaps/index.js +6 -1
  26. package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +3 -1
  27. package/dist/esm/monitoring/error.js +1 -1
  28. package/dist/esm/preset/core-plugin/index.js +1 -1
  29. package/dist/esm/preset/core-plugin/requestDocument.js +23 -1
  30. package/dist/esm/resizer/BreakoutResizer.js +5 -3
  31. package/dist/esm/styles/shared/table.js +4 -4
  32. package/dist/esm/ui/DropList/index.js +1 -1
  33. package/dist/esm/ui/PanelTextInput/index.js +4 -1
  34. package/dist/esm/utils/browser.js +43 -9
  35. package/dist/types/analytics/types/ai-streaming.d.ts +3 -0
  36. package/dist/types/preset/core-plugin/requestDocument.d.ts +2 -2
  37. package/dist/types/types/next-editor-plugin.d.ts +4 -1
  38. package/dist/types-ts4.5/analytics/types/ai-streaming.d.ts +3 -0
  39. package/dist/types-ts4.5/preset/core-plugin/requestDocument.d.ts +2 -2
  40. package/dist/types-ts4.5/types/next-editor-plugin.d.ts +4 -1
  41. package/package.json +5 -2
@@ -4,7 +4,7 @@ import { tableCellContentDomSelector, tableCellSelector, tableHeaderSelector, ta
4
4
  import { akEditorBreakoutPadding, akEditorFullWidthLayoutWidth, akEditorSelectedNodeClassName, akEditorTableBorder, akEditorTableNumberColumnWidth, akEditorTableToolbar, akEditorWideLayoutWidth, overflowShadow } from '@atlaskit/editor-shared-styles';
5
5
  import { fg } from '@atlaskit/platform-feature-flags';
6
6
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
7
- import { browser } from '../../utils/browser';
7
+ import { browser as browserLegacy, getBrowserInfo } from '../../utils/browser';
8
8
  import { CodeBlockSharedCssClassName } from './code-block';
9
9
  import { tableCellBackgroundStyleOverride } from './tableCell';
10
10
  export const tableMarginTop = 24;
@@ -68,148 +68,150 @@ css`
68
68
  margin-top: 0;
69
69
  }
70
70
  `;
71
-
72
- // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Appears safe to auto-fix, but leaving it up to the team to remediate as the readability only gets worse with autofixing
73
- const tableSharedStyle = () => css`
74
- ${tableCellBackgroundStyleOverride()}
75
- .${TableSharedCssClassName.TABLE_CONTAINER} {
76
- position: relative;
77
- margin: 0 auto ${"var(--ds-space-200, 16px)"};
78
- box-sizing: border-box;
79
-
80
- /**
71
+ const tableSharedStyle = () => {
72
+ const browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
73
+ // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Appears safe to auto-fix, but leaving it up to the team to remediate as the readability only gets worse with autofixing
74
+ return css`
75
+ ${tableCellBackgroundStyleOverride()}
76
+ .${TableSharedCssClassName.TABLE_CONTAINER} {
77
+ position: relative;
78
+ margin: 0 auto ${"var(--ds-space-200, 16px)"};
79
+ box-sizing: border-box;
80
+
81
+ /**
81
82
  * Fix block top alignment inside table cells.
82
83
  */
83
- .decisionItemView-content-wrap:first-of-type > div {
84
- margin-top: 0;
84
+ .decisionItemView-content-wrap:first-of-type > div {
85
+ margin-top: 0;
86
+ }
87
+ }
88
+ .${TableSharedCssClassName.TABLE_CONTAINER}[data-number-column='true'] {
89
+ padding-left: ${akEditorTableNumberColumnWidth - 1}px;
90
+ clear: both;
85
91
  }
86
- }
87
- .${TableSharedCssClassName.TABLE_CONTAINER}[data-number-column='true'] {
88
- padding-left: ${akEditorTableNumberColumnWidth - 1}px;
89
- clear: both;
90
- }
91
92
 
92
- .${TableSharedCssClassName.TABLE_RESIZER_CONTAINER} {
93
- will-change: width, margin-left;
94
- }
93
+ .${TableSharedCssClassName.TABLE_RESIZER_CONTAINER} {
94
+ will-change: width, margin-left;
95
+ }
95
96
 
96
- .${TableSharedCssClassName.TABLE_RESIZER_CONTAINER} table {
97
- will-change: width;
98
- }
97
+ .${TableSharedCssClassName.TABLE_RESIZER_CONTAINER} table {
98
+ will-change: width;
99
+ }
99
100
 
100
- .${TableSharedCssClassName.TABLE_NODE_WRAPPER} > table {
101
- margin: ${"var(--ds-space-300, 24px)"} 0 0 0;
102
- }
101
+ .${TableSharedCssClassName.TABLE_NODE_WRAPPER} > table {
102
+ margin: ${"var(--ds-space-300, 24px)"} 0 0 0;
103
+ }
103
104
 
104
- .${TableSharedCssClassName.TABLE_CONTAINER} > table,
105
- .${TableSharedCssClassName.TABLE_STICKY_WRAPPER} > table {
106
- margin: ${"var(--ds-space-300, 24px)"} ${"var(--ds-space-100, 8px)"} 0 0;
107
- }
105
+ .${TableSharedCssClassName.TABLE_CONTAINER} > table,
106
+ .${TableSharedCssClassName.TABLE_STICKY_WRAPPER} > table {
107
+ margin: ${"var(--ds-space-300, 24px)"} ${"var(--ds-space-100, 8px)"} 0 0;
108
+ }
108
109
 
109
- /* support panel nested in table */
110
- ${fg('platform_editor_bordered_panel_nested_in_table') ? `.${TableSharedCssClassName.TABLE_NODE_WRAPPER} .ak-editor-panel {
110
+ /* support panel nested in table */
111
+ ${fg('platform_editor_bordered_panel_nested_in_table') ? `.${TableSharedCssClassName.TABLE_NODE_WRAPPER} .ak-editor-panel {
111
112
  border: ${"var(--ds-border-width, 1px)"} solid ${"var(--ds-border, #d9dbea)"};
112
113
  }` : ''}
113
114
 
114
- /* avoid applying styles to nested tables (possible via extensions) */
115
+ /* avoid applying styles to nested tables (possible via extensions) */
115
116
  .${TableSharedCssClassName.TABLE_CONTAINER} > table,
116
117
  .${TableSharedCssClassName.TABLE_NODE_WRAPPER} > table,
117
118
  .${TableSharedCssClassName.TABLE_STICKY_WRAPPER} > table {
118
- border-collapse: collapse;
119
- border: ${tableCellBorderWidth}px solid
120
- ${`var(--ds-background-accent-gray-subtler, ${akEditorTableBorder})`};
121
- table-layout: fixed;
122
- font-size: 1em;
123
- width: 100%;
124
-
125
- &[data-autosize='true'] {
126
- table-layout: auto;
127
- }
128
-
129
- & {
130
- * {
131
- box-sizing: border-box;
132
- }
133
- hr {
134
- box-sizing: content-box;
119
+ border-collapse: collapse;
120
+ border: ${tableCellBorderWidth}px solid
121
+ ${`var(--ds-background-accent-gray-subtler, ${akEditorTableBorder})`};
122
+ table-layout: fixed;
123
+ font-size: 1em;
124
+ width: 100%;
125
+
126
+ &[data-autosize='true'] {
127
+ table-layout: auto;
135
128
  }
136
129
 
137
- tbody {
138
- border-bottom: none;
139
- }
140
- th td {
141
- background-color: ${"var(--ds-background-neutral-subtle, white)"};
142
- }
130
+ & {
131
+ * {
132
+ box-sizing: border-box;
133
+ }
134
+ hr {
135
+ box-sizing: content-box;
136
+ }
143
137
 
144
- > tbody > tr > th,
145
- > tbody > tr > td {
146
- min-width: ${tableCellMinWidth}px;
147
- font-weight: ${"var(--ds-font-weight-regular, 400)"};
148
- vertical-align: top;
149
- border: 1px solid ${`var(--ds-background-accent-gray-subtler, ${akEditorTableBorder})`};
150
- border-right-width: 0;
151
- border-bottom-width: 0;
138
+ tbody {
139
+ border-bottom: none;
140
+ }
141
+ th td {
142
+ background-color: ${"var(--ds-background-neutral-subtle, white)"};
143
+ }
144
+
145
+ > tbody > tr > th,
146
+ > tbody > tr > td {
147
+ min-width: ${tableCellMinWidth}px;
148
+ font-weight: ${"var(--ds-font-weight-regular, 400)"};
149
+ vertical-align: top;
150
+ border: 1px solid ${`var(--ds-background-accent-gray-subtler, ${akEditorTableBorder})`};
151
+ border-right-width: 0;
152
+ border-bottom-width: 0;
152
153
 
153
- padding: ${"var(--ds-space-100, 8px)"};
154
- /* https://stackoverflow.com/questions/7517127/borders-not-shown-in-firefox-with-border-collapse-on-table-position-relative-o */
155
- ${browser.gecko || browser.ie || browser.mac && browser.chrome ? 'background-clip: padding-box;' : ''}
154
+ padding: ${"var(--ds-space-100, 8px)"};
155
+ /* https://stackoverflow.com/questions/7517127/borders-not-shown-in-firefox-with-border-collapse-on-table-position-relative-o */
156
+ ${browser.gecko || browser.ie || browser.mac && browser.chrome ? 'background-clip: padding-box;' : ''}
156
157
 
157
- ${firstNodeWithNotMarginTop()}
158
+ ${firstNodeWithNotMarginTop()}
158
159
 
159
160
  th p:not(:first-of-type),
160
161
  td p:not(:first-of-type) {
161
- margin-top: ${"var(--ds-space-150, 12px)"};
162
+ margin-top: ${"var(--ds-space-150, 12px)"};
163
+ }
162
164
  }
163
- }
164
165
 
165
- /* Ensures nested tables are compatible with parent table background color - uses specificity to ensure tables nested by extensions are not affected */
166
- > tbody > tr > td {
167
- background-color: ${"var(--ds-surface, #FFFFFF)"};
168
- }
166
+ /* Ensures nested tables are compatible with parent table background color - uses specificity to ensure tables nested by extensions are not affected */
167
+ > tbody > tr > td {
168
+ background-color: ${"var(--ds-surface, #FFFFFF)"};
169
+ }
169
170
 
170
- th {
171
- background-color: ${`var(--ds-background-accent-gray-subtlest, ${akEditorTableToolbar})`};
172
- text-align: left;
171
+ th {
172
+ background-color: ${`var(--ds-background-accent-gray-subtlest, ${akEditorTableToolbar})`};
173
+ text-align: left;
173
174
 
174
- /* only apply this styling to codeblocks in default background headercells */
175
- /* TODO this needs to be overhauled as it relies on unsafe selectors */
176
- ${expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? '&:not(.danger)' : '&:not([style]):not(.danger)'} {
177
- .${CodeBlockSharedCssClassName.CODEBLOCK_CONTAINER}:not(.danger) {
178
- background-color: ${"var(--ds-surface-raised, rgb(235, 237, 240))"};
175
+ /* only apply this styling to codeblocks in default background headercells */
176
+ /* TODO this needs to be overhauled as it relies on unsafe selectors */
177
+ ${expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? '&:not(.danger)' : '&:not([style]):not(.danger)'} {
178
+ .${CodeBlockSharedCssClassName.CODEBLOCK_CONTAINER}:not(.danger) {
179
+ background-color: ${"var(--ds-surface-raised, rgb(235, 237, 240))"};
179
180
 
180
- :not(.${akEditorSelectedNodeClassName}) {
181
- box-shadow: 0px 0px 0px 1px ${"var(--ds-border, transparent)"};
182
- }
181
+ :not(.${akEditorSelectedNodeClassName}) {
182
+ box-shadow: 0px 0px 0px 1px ${"var(--ds-border, transparent)"};
183
+ }
183
184
 
184
- .${CodeBlockSharedCssClassName.CODEBLOCK_CONTENT_WRAPPER} {
185
- background-image: ${overflowShadow({
186
- leftCoverWidth: "var(--ds-space-300, 24px)"
187
- })};
185
+ .${CodeBlockSharedCssClassName.CODEBLOCK_CONTENT_WRAPPER} {
186
+ background-image: ${overflowShadow({
187
+ leftCoverWidth: "var(--ds-space-300, 24px)"
188
+ })};
188
189
 
189
- background-color: ${"var(--ds-background-neutral, rgb(235, 237, 240))"};
190
- }
190
+ background-color: ${"var(--ds-background-neutral, rgb(235, 237, 240))"};
191
+ }
191
192
 
192
- .${CodeBlockSharedCssClassName.CODEBLOCK_LINE_NUMBER_GUTTER} {
193
- background-color: ${"var(--ds-background-neutral, rgb(226, 229, 233))"};
194
- }
193
+ .${CodeBlockSharedCssClassName.CODEBLOCK_LINE_NUMBER_GUTTER} {
194
+ background-color: ${"var(--ds-background-neutral, rgb(226, 229, 233))"};
195
+ }
195
196
 
196
- /* this is only relevant to the element taken care of by renderer */
197
- > [data-ds--code--code-block] {
198
- background-image: ${overflowShadow({
199
- leftCoverWidth: "var(--ds-space-300, 24px)"
200
- })}!important;
197
+ /* this is only relevant to the element taken care of by renderer */
198
+ > [data-ds--code--code-block] {
199
+ background-image: ${overflowShadow({
200
+ leftCoverWidth: "var(--ds-space-300, 24px)"
201
+ })}!important;
201
202
 
202
- background-color: ${"var(--ds-background-neutral, rgb(235, 237, 240))"}!important;
203
+ background-color: ${"var(--ds-background-neutral, rgb(235, 237, 240))"}!important;
203
204
 
204
- /* selector lives inside @atlaskit/code */
205
- --ds--code--line-number-bg-color: ${"var(--ds-background-neutral, rgb(226, 229, 233))"};
205
+ /* selector lives inside @atlaskit/code */
206
+ --ds--code--line-number-bg-color: ${"var(--ds-background-neutral, rgb(226, 229, 233))"};
207
+ }
206
208
  }
207
209
  }
208
210
  }
209
211
  }
210
212
  }
211
- }
212
- `;
213
+ `;
214
+ };
213
215
  export const calcTableWidth = (layout, containerWidth, addControllerPadding = true) => {
214
216
  switch (layout) {
215
217
  case 'full-width':
@@ -14,7 +14,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
14
14
  import { fg } from '@atlaskit/platform-feature-flags';
15
15
  import Layer from '../Layer';
16
16
  const packageName = "@atlaskit/editor-common";
17
- const packageVersion = "109.14.0";
17
+ const packageVersion = "109.15.0";
18
18
  const halfFocusRing = 1;
19
19
  const dropOffset = '0, 8';
20
20
  const fadeIn = keyframes({
@@ -8,7 +8,8 @@ import { PureComponent } from 'react';
8
8
 
9
9
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
10
10
  import { jsx } from '@emotion/react';
11
- import { browser } from '../../utils';
11
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
12
+ import { browser as browserLegacy, getBrowserInfo } from '../../utils/browser';
12
13
  import { panelTextInput, panelTextInputWithCustomWidth } from './styles';
13
14
  const KeyZCode = 90;
14
15
  const KeyYCode = 89;
@@ -157,6 +158,7 @@ export default class PanelTextInput extends PureComponent {
157
158
  // Ignored via go/ees005
158
159
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
159
160
  isUndoEvent(event) {
161
+ const browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
160
162
  return event.keyCode === KeyZCode && (
161
163
  // cmd + z for mac
162
164
  browser.mac && event.metaKey && !event.shiftKey ||
@@ -167,6 +169,7 @@ export default class PanelTextInput extends PureComponent {
167
169
  // Ignored via go/ees005
168
170
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
169
171
  isRedoEvent(event) {
172
+ const browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
170
173
  return (
171
174
  // ctrl + y for non-mac
172
175
  !browser.mac && event.ctrlKey && event.keyCode === KeyYCode || browser.mac && event.metaKey && event.shiftKey && event.keyCode === KeyZCode || event.ctrlKey && event.shiftKey && event.keyCode === KeyZCode
@@ -98,6 +98,42 @@ const getSecondMatch = (regexp, ua) => {
98
98
  return match && match.length > 0 && match[2] || '';
99
99
  };
100
100
 
101
+ // Helper functions to safely access browser properties
102
+ const getSafeUserAgent = () => {
103
+ var _window$navigator;
104
+ if (typeof window === 'undefined') {
105
+ return undefined;
106
+ }
107
+
108
+ // Check for SSR user agent first
109
+ if (process.env.REACT_SSR) {
110
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
111
+ const ssrUserAgent = window.__SSR_USER_AGENT__;
112
+ if (ssrUserAgent) {
113
+ return ssrUserAgent;
114
+ }
115
+ }
116
+
117
+ // Fallback to navigator.userAgent with proper null checking
118
+ return (_window$navigator = window.navigator) === null || _window$navigator === void 0 ? void 0 : _window$navigator.userAgent;
119
+ };
120
+ const getSafePlatform = () => {
121
+ var _window$navigator2;
122
+ if (typeof window === 'undefined') {
123
+ return undefined;
124
+ }
125
+ return (_window$navigator2 = window.navigator) === null || _window$navigator2 === void 0 ? void 0 : _window$navigator2.platform;
126
+ };
127
+ const hasIntersectionObserver = () => {
128
+ return typeof window !== 'undefined' && 'IntersectionObserver' in window && 'IntersectionObserverEntry' in window &&
129
+ // Ignored via go/ees005
130
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
131
+ 'intersectionRatio' in window.IntersectionObserverEntry.prototype;
132
+ };
133
+ const hasResizeObserver = () => {
134
+ return typeof window !== 'undefined' && 'ResizeObserver' in window && 'ResizeObserverEntry' in window;
135
+ };
136
+
101
137
  // New API to get the browser info on demand
102
138
  export const getBrowserInfo = memorizeOne(() => {
103
139
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -118,9 +154,8 @@ export const getBrowserInfo = memorizeOne(() => {
118
154
  supportsIntersectionObserver: false,
119
155
  supportsResizeObserver: false
120
156
  };
121
- const userAgent = process.env.REACT_SSR ?
122
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
123
- window.__SSR_USER_AGENT__ : navigator.userAgent;
157
+ const userAgent = getSafeUserAgent();
158
+ const platform = getSafePlatform();
124
159
  if (userAgent) {
125
160
  // inspired from https://github.com/bowser-js/bowser/blob/master/src/parser-browsers.js
126
161
  // Ignored via go/ees005
@@ -131,9 +166,11 @@ export const getBrowserInfo = memorizeOne(() => {
131
166
  // eslint-disable-next-line require-unicode-regexp
132
167
  const internetExplorer = /msie|trident/i.test(userAgent);
133
168
 
169
+ // Ideally we should use userAgent instead of platform, but we have lots of keymap tests failure when we change it
170
+ // So leave it as is for now.
134
171
  // Ignored via go/ees005
135
172
  // eslint-disable-next-line require-unicode-regexp
136
- result.mac = /macintosh/i.test(userAgent);
173
+ result.mac = platform && /Mac/.test(platform);
137
174
 
138
175
  // Previously relied on navigator.userAgentData?.platform and userAgent, now used only userAgent
139
176
  result.windows =
@@ -188,11 +225,8 @@ export const getBrowserInfo = memorizeOne(() => {
188
225
  // Previously we relied on documentElement.style.WebkitAppearance, now changed to userAgent
189
226
  // eslint-disable-next-line require-unicode-regexp
190
227
  result.webkit = /(apple)?webkit/i.test(userAgent);
191
- result.supportsIntersectionObserver = typeof window !== 'undefined' && 'IntersectionObserver' in window && 'IntersectionObserverEntry' in window &&
192
- // Ignored via go/ees005
193
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
194
- 'intersectionRatio' in window.IntersectionObserverEntry.prototype;
195
- result.supportsResizeObserver = typeof window !== 'undefined' && 'ResizeObserver' in window && 'ResizeObserverEntry' in window;
228
+ result.supportsIntersectionObserver = hasIntersectionObserver();
229
+ result.supportsResizeObserver = hasResizeObserver();
196
230
  }
197
231
  return result;
198
232
  });
@@ -1,8 +1,9 @@
1
1
  import { DOMSerializer } from '@atlaskit/editor-prosemirror/model';
2
2
  import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
3
3
  import { findParentNodeOfType, findSelectedNodeOfType } from '@atlaskit/editor-prosemirror/utils';
4
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
4
5
  import { copyHTMLToClipboard, copyHTMLToClipboardPolyfill } from '../clipboard';
5
- import { browser } from '../utils';
6
+ import { browser as browserLegacy, getBrowserInfo } from '../utils/browser';
6
7
  export function getSelectedNodeOrNodeParentByNodeType(_ref) {
7
8
  var nodeType = _ref.nodeType,
8
9
  selection = _ref.selection;
@@ -20,6 +21,7 @@ export var copyDomNode = function copyDomNode(domNode, nodeType, selection) {
20
21
  var div = document.createElement('div');
21
22
  div.appendChild(domNode);
22
23
  var schema = selection.$from.doc.type.schema;
24
+ var browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
23
25
 
24
26
  // if copying inline content
25
27
  if (nodeType.inlineContent) {
@@ -8,8 +8,9 @@ import React, { Fragment } from 'react';
8
8
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
9
9
  import { css, jsx } from '@emotion/react';
10
10
  import { base, keyName } from 'w3c-keyname';
11
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
11
12
  import { editorCommandToPMCommand } from '../preset/editor-commands';
12
- import { browser } from '../utils';
13
+ import { browser as browserLegacy, getBrowserInfo } from '../utils/browser';
13
14
  export var addAltText = makeKeyMapWithCommon('Add Alt Text', 'Mod-Alt-y');
14
15
  export var navToEditorToolbar = makeKeyMapWithCommon('Navigate to editor toolbar', 'Alt-F9');
15
16
  export var navToFloatingToolbar = makeKeyMapWithCommon('Navigate to floating toolbar', 'Alt-F10');
@@ -124,6 +125,7 @@ var tooltipShortcutStyle = css({
124
125
  });
125
126
  export function formatShortcut(keymap) {
126
127
  var shortcut;
128
+ var browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
127
129
  if (browser.mac) {
128
130
  // for reference: https://wincent.com/wiki/Unicode_representations_of_modifier_keys
129
131
  shortcut = keymap.mac
@@ -205,6 +207,7 @@ export function findShortcutByDescription(description) {
205
207
  return;
206
208
  }
207
209
  export function findShortcutByKeymap(keymap) {
210
+ var browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
208
211
  if (browser.mac) {
209
212
  return keymap.mac;
210
213
  }
@@ -212,6 +215,7 @@ export function findShortcutByKeymap(keymap) {
212
215
  }
213
216
  export function getAriaKeyshortcuts(keymap) {
214
217
  var keyShortcuts;
218
+ var browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
215
219
  if (typeof keymap === 'string') {
216
220
  keyShortcuts = keymap;
217
221
  } else if (_typeof(keymap) === 'object') {
@@ -302,6 +306,7 @@ export function bindKeymapWithEditorCommand(shortcut, cmd, keymap) {
302
306
  }
303
307
  export function findKeyMapForBrowser(keyMap) {
304
308
  if (keyMap) {
309
+ var browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
305
310
  if (browser.mac) {
306
311
  return keyMap.mac;
307
312
  }
@@ -33,7 +33,8 @@ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
33
33
  import Tooltip from '@atlaskit/tooltip';
34
34
  import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, fireAnalyticsEvent, INPUT_METHOD } from '../../../analytics';
35
35
  import { Announcer, PanelTextInput } from '../../../ui';
36
- import { browser, normalizeUrl } from '../../../utils';
36
+ import { normalizeUrl } from '../../../utils';
37
+ import { browser as browserLegacy, getBrowserInfo } from '../../../utils/browser';
37
38
  import LinkSearchList, { LinkSearchListNext } from '../../LinkSearch/LinkSearchList';
38
39
  import { container, containerWithProvider, inputWrapper } from '../../LinkSearch/ToolbarComponents';
39
40
  import { transformTimeStamp } from '../../LinkSearch/transformTimeStamp';
@@ -873,6 +874,7 @@ export var HyperlinkLinkAddToolbar = /*#__PURE__*/function (_PureComponent) {
873
874
  var ariaActiveDescendant = selectedIndex > -1 ? "link-search-list-item-".concat(selectedIndex) : '';
874
875
  var linkSearchInputId = 'search-recent-links-field-id';
875
876
  var displayTextInputId = 'display-text-filed-id';
877
+ var browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
876
878
  // Added workaround with a screen reader Announcer specifically for VoiceOver + Safari
877
879
  // as the Aria design pattern for combobox does not work in this case
878
880
  // for details: https://a11y-internal.atlassian.net/browse/AK-740
@@ -7,7 +7,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  import { isFedRamp } from './environment';
8
8
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
9
9
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
10
- var packageVersion = "109.14.0";
10
+ var packageVersion = "109.15.0";
11
11
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
12
12
  // Remove URL as it has UGC
13
13
  // Ignored via go/ees007
@@ -118,7 +118,7 @@ export var corePlugin = function corePlugin(_ref) {
118
118
  requestDocument: function requestDocument(onReceive, options) {
119
119
  var _config$getEditorView;
120
120
  var view = (_config$getEditorView = config === null || config === void 0 ? void 0 : config.getEditorView()) !== null && _config$getEditorView !== void 0 ? _config$getEditorView : null;
121
- scheduleDocumentRequest(view, onReceive, options === null || options === void 0 ? void 0 : options.transformer, config === null || config === void 0 ? void 0 : config.fireAnalyticsEvent);
121
+ scheduleDocumentRequest(view, onReceive, options === null || options === void 0 ? void 0 : options.transformer, config === null || config === void 0 ? void 0 : config.fireAnalyticsEvent, options === null || options === void 0 ? void 0 : options.alwaysFire);
122
122
  },
123
123
  createTransformer: function createTransformer(cb) {
124
124
  var _config$getEditorView2;
@@ -1,6 +1,8 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
3
  import { JSONTransformer } from '@atlaskit/editor-json-transformer';
3
4
  import { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
4
6
  import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../../analytics';
5
7
  var transformer = new JSONTransformer();
6
8
  export function toJSON(node) {
@@ -13,13 +15,28 @@ export function toJSON(node) {
13
15
  export function createThrottleSchedule(callback) {
14
16
  var frameId;
15
17
  var lastArgs;
18
+ var delayedCallbacks = [];
16
19
  var wrapperFn = function wrapperFn() {
17
20
  var _globalThis$requestId;
21
+ var lastArgsBefore = lastArgs;
18
22
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
19
23
  args[_key] = arguments[_key];
20
24
  }
21
25
  lastArgs = args;
22
26
  if (frameId) {
27
+ if (fg('aifc_create_enabled')) {
28
+ if (lastArgsBefore) {
29
+ var _lastArgsBefore = _slicedToArray(lastArgsBefore, 5),
30
+ _v = _lastArgsBefore[0],
31
+ _c = _lastArgsBefore[1],
32
+ _t = _lastArgsBefore[2],
33
+ _f = _lastArgsBefore[3],
34
+ alwaysFire = _lastArgsBefore[4];
35
+ if (alwaysFire) {
36
+ delayedCallbacks.push(lastArgsBefore);
37
+ }
38
+ }
39
+ }
23
40
  return;
24
41
  }
25
42
 
@@ -28,6 +45,11 @@ export function createThrottleSchedule(callback) {
28
45
  frameId = delayFunction(function () {
29
46
  frameId = undefined;
30
47
  if (lastArgs) {
48
+ if (fg('aifc_create_enabled')) {
49
+ delayedCallbacks.forEach(function (savedArgs) {
50
+ callback.apply(void 0, _toConsumableArray(savedArgs));
51
+ });
52
+ }
31
53
  callback.apply(void 0, _toConsumableArray(lastArgs));
32
54
  }
33
55
  }, {
@@ -38,7 +60,7 @@ export function createThrottleSchedule(callback) {
38
60
  }
39
61
 
40
62
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
- export function returnDocumentRequest(editorView, callback, transformer, fireAnalyticsEvent) {
63
+ export function returnDocumentRequest(editorView, callback, transformer, fireAnalyticsEvent, alwaysFire) {
42
64
  var _editorView$state;
43
65
  var _ref = (_editorView$state = editorView === null || editorView === void 0 ? void 0 : editorView.state) !== null && _editorView$state !== void 0 ? _editorView$state : {},
44
66
  doc = _ref.doc,
@@ -3,10 +3,11 @@ import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useSta
3
3
  import { bind, bindAll } from 'bind-event-listener';
4
4
  import { akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth, akEditorGutterPadding, akEditorGutterPaddingDynamic, akEditorGutterPaddingReduced, akEditorFullPageNarrowBreakout } from '@atlaskit/editor-shared-styles';
5
5
  import { fg } from '@atlaskit/platform-feature-flags';
6
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
6
7
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
7
8
  import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../analytics';
8
9
  import { LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN } from '../styles';
9
- import { browser } from '../utils/browser';
10
+ import { browser as browserLegacy, getBrowserInfo } from '../utils/browser';
10
11
  import Resizer from './Resizer';
11
12
  import { ResizerBreakoutModeLabel } from './ResizerBreakoutModeLabel';
12
13
  import { SNAP_GAP, useBreakoutGuidelines } from './useBreakoutGuidelines';
@@ -131,6 +132,7 @@ var BreakoutResizer = function BreakoutResizer(_ref) {
131
132
  currentLayout = _useBreakoutGuideline.currentLayout,
132
133
  guidelines = _useBreakoutGuideline.guidelines,
133
134
  setCurrentWidth = _useBreakoutGuideline.setCurrentWidth;
135
+ var browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
134
136
  useEffect(function () {
135
137
  if (displayGuidelines) {
136
138
  displayGuidelines(guidelines || []);
@@ -266,7 +268,7 @@ var BreakoutResizer = function BreakoutResizer(_ref) {
266
268
  } else if (!areResizeMetaKeysPressed.current) {
267
269
  handleEscape();
268
270
  }
269
- }, [handleEscape, handleLayoutSizeChangeOnKeypress]);
271
+ }, [handleEscape, handleLayoutSizeChangeOnKeypress, browser]);
270
272
  var resizeHandleKeyUpHandler = useCallback(function (event) {
271
273
  if (event.altKey || event.metaKey) {
272
274
  areResizeMetaKeysPressed.current = false;
@@ -292,7 +294,7 @@ var BreakoutResizer = function BreakoutResizer(_ref) {
292
294
  inline: 'nearest'
293
295
  });
294
296
  }
295
- }, [resizerRef]);
297
+ }, [resizerRef, browser]);
296
298
  useLayoutEffect(function () {
297
299
  if (!resizerRef.current || !editorView) {
298
300
  return;
@@ -6,7 +6,7 @@ import { tableCellContentDomSelector, tableCellSelector, tableHeaderSelector, ta
6
6
  import { akEditorBreakoutPadding, akEditorFullWidthLayoutWidth, akEditorSelectedNodeClassName, akEditorTableBorder, akEditorTableNumberColumnWidth, akEditorTableToolbar, akEditorWideLayoutWidth, overflowShadow } from '@atlaskit/editor-shared-styles';
7
7
  import { fg } from '@atlaskit/platform-feature-flags';
8
8
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
9
- import { browser } from '../../utils/browser';
9
+ import { browser as browserLegacy, getBrowserInfo } from '../../utils/browser';
10
10
  import { CodeBlockSharedCssClassName } from './code-block';
11
11
  import { tableCellBackgroundStyleOverride } from './tableCell';
12
12
  export var tableMarginTop = 24;
@@ -51,10 +51,10 @@ var firstNodeWithNotMarginTop = function firstNodeWithNotMarginTop() {
51
51
  css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t\t\t\t> :nth-child(1 of :not(style, .ProseMirror-gapcursor, .ProseMirror-widget, span)) {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\t\t\t"]))) : // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression
52
52
  css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n\t\t\t\t> :first-child:not(style),\n\t\t\t\t> style:first-child + * {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\n\t\t\t\t> .ProseMirror-gapcursor:first-child + *,\n\t\t\t\t> style:first-child + .ProseMirror-gapcursor + * {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\n\t\t\t\t> .ProseMirror-gapcursor:first-child + span + *,\n\t\t\t\t> style:first-child + .ProseMirror-gapcursor + span + * {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\t\t\t"])));
53
53
  };
54
-
55
- // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Appears safe to auto-fix, but leaving it up to the team to remediate as the readability only gets worse with autofixing
56
54
  var tableSharedStyle = function tableSharedStyle() {
57
- return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n\t", "\n\t.", " {\n\t\tposition: relative;\n\t\tmargin: 0 auto ", ";\n\t\tbox-sizing: border-box;\n\n\t\t/**\n * Fix block top alignment inside table cells.\n */\n\t\t.decisionItemView-content-wrap:first-of-type > div {\n\t\t\tmargin-top: 0;\n\t\t}\n\t}\n\t.", "[data-number-column='true'] {\n\t\tpadding-left: ", "px;\n\t\tclear: both;\n\t}\n\n\t.", " {\n\t\twill-change: width, margin-left;\n\t}\n\n\t.", " table {\n\t\twill-change: width;\n\t}\n\n\t.", " > table {\n\t\tmargin: ", " 0 0 0;\n\t}\n\n\t.", " > table,\n\t.", " > table {\n\t\tmargin: ", " ", " 0 0;\n\t}\n\n\t/* support panel nested in table */\n\t", "\n\n\t/* avoid applying styles to nested tables (possible via extensions) */\n\t.", " > table,\n\t.", " > table,\n\t.", " > table {\n\t\tborder-collapse: collapse;\n\t\tborder: ", "px solid\n\t\t\t", ";\n\t\ttable-layout: fixed;\n\t\tfont-size: 1em;\n\t\twidth: 100%;\n\n\t\t&[data-autosize='true'] {\n\t\t\ttable-layout: auto;\n\t\t}\n\n\t\t& {\n\t\t\t* {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}\n\t\t\thr {\n\t\t\t\tbox-sizing: content-box;\n\t\t\t}\n\n\t\t\ttbody {\n\t\t\t\tborder-bottom: none;\n\t\t\t}\n\t\t\tth td {\n\t\t\t\tbackground-color: ", ";\n\t\t\t}\n\n\t\t\t> tbody > tr > th,\n\t\t\t> tbody > tr > td {\n\t\t\t\tmin-width: ", "px;\n\t\t\t\tfont-weight: ", ";\n\t\t\t\tvertical-align: top;\n\t\t\t\tborder: 1px solid ", ";\n\t\t\t\tborder-right-width: 0;\n\t\t\t\tborder-bottom-width: 0;\n\n\t\t\t\tpadding: ", ";\n\t\t\t\t/* https://stackoverflow.com/questions/7517127/borders-not-shown-in-firefox-with-border-collapse-on-table-position-relative-o */\n\t\t\t\t", "\n\n\t\t\t\t", "\n\n\t\t\t\tth p:not(:first-of-type),\n\t\t\t\ttd p:not(:first-of-type) {\n\t\t\t\t\tmargin-top: ", ";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/* Ensures nested tables are compatible with parent table background color - uses specificity to ensure tables nested by extensions are not affected */\n\t\t\t> tbody > tr > td {\n\t\t\t\tbackground-color: ", ";\n\t\t\t}\n\n\t\t\tth {\n\t\t\t\tbackground-color: ", ";\n\t\t\t\ttext-align: left;\n\n\t\t\t\t/* only apply this styling to codeblocks in default background headercells */\n\t\t\t\t/* TODO this needs to be overhauled as it relies on unsafe selectors */\n\t\t\t\t", " {\n\t\t\t\t\t.", ":not(.danger) {\n\t\t\t\t\t\tbackground-color: ", ";\n\n\t\t\t\t\t\t:not(.", ") {\n\t\t\t\t\t\t\tbox-shadow: 0px 0px 0px 1px ", ";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\tbackground-image: ", ";\n\n\t\t\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/* this is only relevant to the element taken care of by renderer */\n\t\t\t\t\t\t> [data-ds--code--code-block] {\n\t\t\t\t\t\t\tbackground-image: ", "!important;\n\n\t\t\t\t\t\t\tbackground-color: ", "!important;\n\n\t\t\t\t\t\t\t/* selector lives inside @atlaskit/code */\n\t\t\t\t\t\t\t--ds--code--line-number-bg-color: ", ";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n"])), tableCellBackgroundStyleOverride(), TableSharedCssClassName.TABLE_CONTAINER, "var(--ds-space-200, 16px)", TableSharedCssClassName.TABLE_CONTAINER, akEditorTableNumberColumnWidth - 1, TableSharedCssClassName.TABLE_RESIZER_CONTAINER, TableSharedCssClassName.TABLE_RESIZER_CONTAINER, TableSharedCssClassName.TABLE_NODE_WRAPPER, "var(--ds-space-300, 24px)", TableSharedCssClassName.TABLE_CONTAINER, TableSharedCssClassName.TABLE_STICKY_WRAPPER, "var(--ds-space-300, 24px)", "var(--ds-space-100, 8px)", fg('platform_editor_bordered_panel_nested_in_table') ? ".".concat(TableSharedCssClassName.TABLE_NODE_WRAPPER, " .ak-editor-panel {\n\t\t\tborder: ", "var(--ds-border-width, 1px)", " solid ", "var(--ds-border, #d9dbea)", ";\n\t\t}") : '', TableSharedCssClassName.TABLE_CONTAINER, TableSharedCssClassName.TABLE_NODE_WRAPPER, TableSharedCssClassName.TABLE_STICKY_WRAPPER, tableCellBorderWidth, "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-background-neutral-subtle, white)", tableCellMinWidth, "var(--ds-font-weight-regular, 400)", "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-space-100, 8px)", browser.gecko || browser.ie || browser.mac && browser.chrome ? 'background-clip: padding-box;' : '', firstNodeWithNotMarginTop(), "var(--ds-space-150, 12px)", "var(--ds-surface, #FFFFFF)", "var(--ds-background-accent-gray-subtlest, ".concat(akEditorTableToolbar, ")"), expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? '&:not(.danger)' : '&:not([style]):not(.danger)', CodeBlockSharedCssClassName.CODEBLOCK_CONTAINER, "var(--ds-surface-raised, rgb(235, 237, 240))", akEditorSelectedNodeClassName, "var(--ds-border, transparent)", CodeBlockSharedCssClassName.CODEBLOCK_CONTENT_WRAPPER, overflowShadow({
55
+ var browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
56
+ // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Appears safe to auto-fix, but leaving it up to the team to remediate as the readability only gets worse with autofixing
57
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n\t\t", "\n\t\t.", " {\n\t\t\tposition: relative;\n\t\t\tmargin: 0 auto ", ";\n\t\t\tbox-sizing: border-box;\n\n\t\t\t/**\n * Fix block top alignment inside table cells.\n */\n\t\t\t.decisionItemView-content-wrap:first-of-type > div {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\t\t}\n\t\t.", "[data-number-column='true'] {\n\t\t\tpadding-left: ", "px;\n\t\t\tclear: both;\n\t\t}\n\n\t\t.", " {\n\t\t\twill-change: width, margin-left;\n\t\t}\n\n\t\t.", " table {\n\t\t\twill-change: width;\n\t\t}\n\n\t\t.", " > table {\n\t\t\tmargin: ", " 0 0 0;\n\t\t}\n\n\t\t.", " > table,\n\t\t.", " > table {\n\t\t\tmargin: ", " ", " 0 0;\n\t\t}\n\n\t\t/* support panel nested in table */\n\t\t", "\n\n\t\t/* avoid applying styles to nested tables (possible via extensions) */\n\t.", " > table,\n\t.", " > table,\n\t.", " > table {\n\t\t\tborder-collapse: collapse;\n\t\t\tborder: ", "px solid\n\t\t\t\t", ";\n\t\t\ttable-layout: fixed;\n\t\t\tfont-size: 1em;\n\t\t\twidth: 100%;\n\n\t\t\t&[data-autosize='true'] {\n\t\t\t\ttable-layout: auto;\n\t\t\t}\n\n\t\t\t& {\n\t\t\t\t* {\n\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t}\n\t\t\t\thr {\n\t\t\t\t\tbox-sizing: content-box;\n\t\t\t\t}\n\n\t\t\t\ttbody {\n\t\t\t\t\tborder-bottom: none;\n\t\t\t\t}\n\t\t\t\tth td {\n\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t}\n\n\t\t\t\t> tbody > tr > th,\n\t\t\t\t> tbody > tr > td {\n\t\t\t\t\tmin-width: ", "px;\n\t\t\t\t\tfont-weight: ", ";\n\t\t\t\t\tvertical-align: top;\n\t\t\t\t\tborder: 1px solid ", ";\n\t\t\t\t\tborder-right-width: 0;\n\t\t\t\t\tborder-bottom-width: 0;\n\n\t\t\t\t\tpadding: ", ";\n\t\t\t\t\t/* https://stackoverflow.com/questions/7517127/borders-not-shown-in-firefox-with-border-collapse-on-table-position-relative-o */\n\t\t\t\t\t", "\n\n\t\t\t\t\t", "\n\n\t\t\t\tth p:not(:first-of-type),\n\t\t\t\ttd p:not(:first-of-type) {\n\t\t\t\t\t\tmargin-top: ", ";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* Ensures nested tables are compatible with parent table background color - uses specificity to ensure tables nested by extensions are not affected */\n\t\t\t\t> tbody > tr > td {\n\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t}\n\n\t\t\t\tth {\n\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t\ttext-align: left;\n\n\t\t\t\t\t/* only apply this styling to codeblocks in default background headercells */\n\t\t\t\t\t/* TODO this needs to be overhauled as it relies on unsafe selectors */\n\t\t\t\t\t", " {\n\t\t\t\t\t\t.", ":not(.danger) {\n\t\t\t\t\t\t\tbackground-color: ", ";\n\n\t\t\t\t\t\t\t:not(.", ") {\n\t\t\t\t\t\t\t\tbox-shadow: 0px 0px 0px 1px ", ";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\tbackground-image: ", ";\n\n\t\t\t\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t/* this is only relevant to the element taken care of by renderer */\n\t\t\t\t\t\t\t> [data-ds--code--code-block] {\n\t\t\t\t\t\t\t\tbackground-image: ", "!important;\n\n\t\t\t\t\t\t\t\tbackground-color: ", "!important;\n\n\t\t\t\t\t\t\t\t/* selector lives inside @atlaskit/code */\n\t\t\t\t\t\t\t\t--ds--code--line-number-bg-color: ", ";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t"])), tableCellBackgroundStyleOverride(), TableSharedCssClassName.TABLE_CONTAINER, "var(--ds-space-200, 16px)", TableSharedCssClassName.TABLE_CONTAINER, akEditorTableNumberColumnWidth - 1, TableSharedCssClassName.TABLE_RESIZER_CONTAINER, TableSharedCssClassName.TABLE_RESIZER_CONTAINER, TableSharedCssClassName.TABLE_NODE_WRAPPER, "var(--ds-space-300, 24px)", TableSharedCssClassName.TABLE_CONTAINER, TableSharedCssClassName.TABLE_STICKY_WRAPPER, "var(--ds-space-300, 24px)", "var(--ds-space-100, 8px)", fg('platform_editor_bordered_panel_nested_in_table') ? ".".concat(TableSharedCssClassName.TABLE_NODE_WRAPPER, " .ak-editor-panel {\n\t\t\tborder: ", "var(--ds-border-width, 1px)", " solid ", "var(--ds-border, #d9dbea)", ";\n\t\t}") : '', TableSharedCssClassName.TABLE_CONTAINER, TableSharedCssClassName.TABLE_NODE_WRAPPER, TableSharedCssClassName.TABLE_STICKY_WRAPPER, tableCellBorderWidth, "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-background-neutral-subtle, white)", tableCellMinWidth, "var(--ds-font-weight-regular, 400)", "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-space-100, 8px)", browser.gecko || browser.ie || browser.mac && browser.chrome ? 'background-clip: padding-box;' : '', firstNodeWithNotMarginTop(), "var(--ds-space-150, 12px)", "var(--ds-surface, #FFFFFF)", "var(--ds-background-accent-gray-subtlest, ".concat(akEditorTableToolbar, ")"), expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? '&:not(.danger)' : '&:not([style]):not(.danger)', CodeBlockSharedCssClassName.CODEBLOCK_CONTAINER, "var(--ds-surface-raised, rgb(235, 237, 240))", akEditorSelectedNodeClassName, "var(--ds-border, transparent)", CodeBlockSharedCssClassName.CODEBLOCK_CONTENT_WRAPPER, overflowShadow({
58
58
  leftCoverWidth: "var(--ds-space-300, 24px)"
59
59
  }), "var(--ds-background-neutral, rgb(235, 237, 240))", CodeBlockSharedCssClassName.CODEBLOCK_LINE_NUMBER_GUTTER, "var(--ds-background-neutral, rgb(226, 229, 233))", overflowShadow({
60
60
  leftCoverWidth: "var(--ds-space-300, 24px)"
@@ -21,7 +21,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
21
21
  import { fg } from '@atlaskit/platform-feature-flags';
22
22
  import Layer from '../Layer';
23
23
  var packageName = "@atlaskit/editor-common";
24
- var packageVersion = "109.14.0";
24
+ var packageVersion = "109.15.0";
25
25
  var halfFocusRing = 1;
26
26
  var dropOffset = '0, 8';
27
27
  var fadeIn = keyframes({