@atlaskit/editor-core 207.2.0 → 207.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/cjs/ui/Appearance/Chromeless.js +27 -11
  3. package/dist/cjs/ui/Appearance/Comment/Comment.js +25 -5
  4. package/dist/cjs/ui/Appearance/FullPage/FullPage.js +26 -4
  5. package/dist/cjs/ui/Appearance/FullPage/StyledComponents.js +2 -2
  6. package/dist/cjs/ui/ContentStyles/layout.js +2 -2
  7. package/dist/cjs/ui/ContextPanel/index.js +10 -4
  8. package/dist/cjs/ui/EditorContentContainer/EditorContentContainer.js +29 -234
  9. package/dist/cjs/ui/EditorContentContainer/styles/ai-panel.js +97 -0
  10. package/dist/cjs/ui/EditorContentContainer/styles/annotationStyles.js +45 -0
  11. package/dist/cjs/ui/EditorContentContainer/styles/embedCardStyles.js +34 -0
  12. package/dist/cjs/ui/EditorContentContainer/styles/layout.js +126 -0
  13. package/dist/cjs/ui/EditorContentContainer/styles/link.js +32 -0
  14. package/dist/cjs/ui/EditorContentContainer/styles/rule.js +29 -0
  15. package/dist/cjs/version-wrapper.js +1 -1
  16. package/dist/es2019/ui/Appearance/Chromeless.js +28 -10
  17. package/dist/es2019/ui/Appearance/Comment/Comment.js +24 -3
  18. package/dist/es2019/ui/Appearance/FullPage/FullPage.js +24 -2
  19. package/dist/es2019/ui/Appearance/FullPage/StyledComponents.js +2 -2
  20. package/dist/es2019/ui/ContentStyles/layout.js +3 -2
  21. package/dist/es2019/ui/ContextPanel/index.js +11 -5
  22. package/dist/es2019/ui/EditorContentContainer/EditorContentContainer.js +23 -773
  23. package/dist/es2019/ui/EditorContentContainer/styles/ai-panel.js +213 -0
  24. package/dist/es2019/ui/EditorContentContainer/styles/annotationStyles.js +47 -0
  25. package/dist/es2019/ui/EditorContentContainer/styles/embedCardStyles.js +27 -0
  26. package/dist/es2019/ui/EditorContentContainer/styles/layout.js +517 -0
  27. package/dist/es2019/ui/EditorContentContainer/styles/link.js +26 -0
  28. package/dist/es2019/ui/EditorContentContainer/styles/rule.js +22 -0
  29. package/dist/es2019/version-wrapper.js +1 -1
  30. package/dist/esm/ui/Appearance/Chromeless.js +28 -12
  31. package/dist/esm/ui/Appearance/Comment/Comment.js +26 -6
  32. package/dist/esm/ui/Appearance/FullPage/FullPage.js +27 -5
  33. package/dist/esm/ui/Appearance/FullPage/StyledComponents.js +2 -2
  34. package/dist/esm/ui/ContentStyles/layout.js +2 -2
  35. package/dist/esm/ui/ContextPanel/index.js +11 -5
  36. package/dist/esm/ui/EditorContentContainer/EditorContentContainer.js +31 -237
  37. package/dist/esm/ui/EditorContentContainer/styles/ai-panel.js +91 -0
  38. package/dist/esm/ui/EditorContentContainer/styles/annotationStyles.js +37 -0
  39. package/dist/esm/ui/EditorContentContainer/styles/embedCardStyles.js +27 -0
  40. package/dist/esm/ui/EditorContentContainer/styles/layout.js +120 -0
  41. package/dist/esm/ui/EditorContentContainer/styles/link.js +26 -0
  42. package/dist/esm/ui/EditorContentContainer/styles/rule.js +21 -0
  43. package/dist/esm/version-wrapper.js +1 -1
  44. package/dist/types/ui/Appearance/Chromeless.d.ts +0 -4
  45. package/dist/types/ui/Appearance/FullPage/FullPage.d.ts +1 -1
  46. package/dist/types/ui/Appearance/FullPage/getEditorViewModeSync.d.ts +1 -1
  47. package/dist/types/ui/EditorContentContainer/EditorContentContainer.d.ts +0 -11
  48. package/dist/types/ui/EditorContentContainer/styles/ai-panel.d.ts +2 -0
  49. package/dist/types/ui/EditorContentContainer/styles/annotationStyles.d.ts +1 -0
  50. package/dist/types/ui/EditorContentContainer/styles/embedCardStyles.d.ts +1 -0
  51. package/dist/types/ui/EditorContentContainer/styles/layout.d.ts +2 -0
  52. package/dist/types/ui/EditorContentContainer/styles/link.d.ts +2 -0
  53. package/dist/types/ui/EditorContentContainer/styles/rule.d.ts +1 -0
  54. package/dist/types-ts4.5/ui/Appearance/Chromeless.d.ts +0 -4
  55. package/dist/types-ts4.5/ui/Appearance/FullPage/FullPage.d.ts +1 -1
  56. package/dist/types-ts4.5/ui/Appearance/FullPage/getEditorViewModeSync.d.ts +1 -1
  57. package/dist/types-ts4.5/ui/EditorContentContainer/EditorContentContainer.d.ts +0 -11
  58. package/dist/types-ts4.5/ui/EditorContentContainer/styles/ai-panel.d.ts +2 -0
  59. package/dist/types-ts4.5/ui/EditorContentContainer/styles/annotationStyles.d.ts +1 -0
  60. package/dist/types-ts4.5/ui/EditorContentContainer/styles/embedCardStyles.d.ts +1 -0
  61. package/dist/types-ts4.5/ui/EditorContentContainer/styles/layout.d.ts +2 -0
  62. package/dist/types-ts4.5/ui/EditorContentContainer/styles/link.d.ts +2 -0
  63. package/dist/types-ts4.5/ui/EditorContentContainer/styles/rule.d.ts +1 -0
  64. package/package.json +2 -2
@@ -0,0 +1,213 @@
1
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
2
+ import { css, keyframes } from "@emotion/react";
3
+ /**
4
+ * aiPanelStyles
5
+ * was imported from packages/editor/editor-core/src/ui/ContentStyles/ai-panels.ts
6
+ */
7
+ const isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
8
+ const rotationAnimation = keyframes({
9
+ '0%': {
10
+ '--panel-gradient-angle': '0deg',
11
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
12
+ ...(isFirefox ? {
13
+ backgroundPosition: '100%'
14
+ } : {})
15
+ },
16
+ '100%': {
17
+ '--panel-gradient-angle': '360deg',
18
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
19
+ ...(isFirefox ? {
20
+ backgroundPosition: '-100%'
21
+ } : {})
22
+ }
23
+ });
24
+ const aiPrismColor = {
25
+ ['prism.border.step.1']: {
26
+ light: '#0065FF',
27
+ dark: '#0065FF80'
28
+ },
29
+ ['prism.border.step.2']: {
30
+ light: '#0469FF',
31
+ dark: '#0469FF80'
32
+ },
33
+ ['prism.border.step.3']: {
34
+ light: '#BF63F3',
35
+ dark: '#BF63F380'
36
+ },
37
+ ['prism.border.step.4']: {
38
+ light: '#FFA900',
39
+ dark: '#FFA90080'
40
+ }
41
+ };
42
+ const prismBorderAnimationStyles = css({
43
+ '&::before, &::after': {
44
+ animationName: rotationAnimation,
45
+ animationDuration: '2s',
46
+ animationTimingFunction: 'linear',
47
+ animationIterationCount: 'infinite',
48
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
49
+ ...(isFirefox ? {
50
+ animationDirection: 'normal',
51
+ animationDuration: '1s'
52
+ } : {}),
53
+ '@media (prefers-reduced-motion)': {
54
+ animation: 'none'
55
+ }
56
+ }
57
+ });
58
+ const prismBorderBaseStyles = css({
59
+ content: "''",
60
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
61
+ position: 'absolute',
62
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
63
+ zIndex: -1,
64
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
65
+ width: `calc(100% + 2px)`,
66
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
67
+ height: `calc(100% + 2px)`,
68
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
69
+ top: `-1px`,
70
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
71
+ left: `-1px`,
72
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
73
+ borderRadius: `calc(${"var(--ds-border-radius-100, 3px)"} + 1px)`,
74
+ transform: 'translate3d(0, 0, 0)',
75
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
76
+ ...(isFirefox ? {
77
+ background: `linear-gradient(90deg,
78
+ ${aiPrismColor['prism.border.step.1']['light']} 0%,
79
+ ${aiPrismColor['prism.border.step.2']['light']} 12%,
80
+ ${aiPrismColor['prism.border.step.3']['light']} 24%,
81
+ ${aiPrismColor['prism.border.step.4']['light']} 48%,
82
+ ${aiPrismColor['prism.border.step.3']['light']} 64%,
83
+ ${aiPrismColor['prism.border.step.2']['light']} 80%,
84
+ ${aiPrismColor['prism.border.step.1']['light']} 100%
85
+ )`,
86
+ backgroundSize: '200%'
87
+ } : {
88
+ background: `conic-gradient(
89
+ from var(--panel-gradient-angle, 270deg),
90
+ ${aiPrismColor['prism.border.step.1']['light']} 0%,
91
+ ${aiPrismColor['prism.border.step.2']['light']} 20%,
92
+ ${aiPrismColor['prism.border.step.3']['light']} 50%,
93
+ ${aiPrismColor['prism.border.step.4']['light']} 56%,
94
+ ${aiPrismColor['prism.border.step.1']['light']} 100%
95
+ )`
96
+ })
97
+ });
98
+ const prismBorderDarkStyles = css({
99
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
100
+ ...(isFirefox ? {
101
+ background: `linear-gradient(90deg,
102
+ ${aiPrismColor['prism.border.step.1']['dark']} 0%,
103
+ ${aiPrismColor['prism.border.step.2']['dark']} 12%,
104
+ ${aiPrismColor['prism.border.step.3']['dark']} 24%,
105
+ ${aiPrismColor['prism.border.step.4']['dark']} 48%,
106
+ ${aiPrismColor['prism.border.step.3']['dark']} 64%,
107
+ ${aiPrismColor['prism.border.step.2']['dark']} 80%,
108
+ ${aiPrismColor['prism.border.step.1']['dark']} 100%
109
+ )`,
110
+ backgroundSize: '200%'
111
+ } : {
112
+ background: `conic-gradient(
113
+ from var(--panel-gradient-angle, 270deg),
114
+ ${aiPrismColor['prism.border.step.1']['dark']} 0%,
115
+ ${aiPrismColor['prism.border.step.2']['dark']} 20%,
116
+ ${aiPrismColor['prism.border.step.3']['dark']} 50%,
117
+ ${aiPrismColor['prism.border.step.4']['dark']} 56%,
118
+ ${aiPrismColor['prism.border.step.1']['dark']} 100%
119
+ )`
120
+ })
121
+ });
122
+ const prismBorderHoverStyles = css({
123
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
124
+ background: "var(--ds-border-input, #8590A2)"
125
+ });
126
+
127
+ // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
128
+ export const aiPanelBaseStyles = css`
129
+ @property --panel-gradient-angle {
130
+ syntax: '<angle>';
131
+ initial-value: 270deg;
132
+ inherits: false;
133
+ }
134
+
135
+ div[extensionType='com.atlassian.ai-blocks'] {
136
+ /* This hides the label for the extension */
137
+ .extension-label {
138
+ display: none;
139
+ }
140
+
141
+ /* This styles the ai panel correctly when its just sitting on the page and there
142
+ is no user interaction */
143
+ .extension-container {
144
+ position: relative;
145
+ box-shadow: none;
146
+ overflow: unset;
147
+ background-color: ${"var(--ds-surface, #FFFFFF)"} !important;
148
+ &::before,
149
+ &::after {
150
+ ${prismBorderBaseStyles}
151
+ }
152
+ &.with-hover-border {
153
+ &::before,
154
+ &::after {
155
+ ${prismBorderHoverStyles}
156
+ }
157
+ }
158
+ & .with-margin-styles {
159
+ background-color: ${"var(--ds-surface, #FFFFFF)"} !important;
160
+ border-radius: ${"var(--ds-border-radius-100, 3px)"};
161
+ }
162
+ }
163
+ }
164
+
165
+ /* This styles the ai panel correctly when its streaming */
166
+ div[extensionType='com.atlassian.ai-blocks']:has(.streaming) {
167
+ .extension-container {
168
+ box-shadow: none;
169
+ overflow: unset;
170
+ ${prismBorderAnimationStyles}
171
+ &::before,
172
+ &::after {
173
+ ${prismBorderBaseStyles}
174
+ }
175
+ }
176
+ }
177
+
178
+ /* This styles the ai panel correctly when a user is hovering over the delete button in the floating panel */
179
+ div[extensionType='com.atlassian.ai-blocks'].danger {
180
+ .extension-container {
181
+ box-shadow: 0 0 0 1px ${"var(--ds-border-danger, #E2483D)"};
182
+ }
183
+ }
184
+
185
+ /* This removes the margin from the action list when inside an ai panel */
186
+ div[extensiontype='com.atlassian.ai-blocks'][extensionkey='ai-action-items-block:aiActionItemsBodiedExtension'] {
187
+ div[data-node-type='actionList'] {
188
+ margin: 0 !important;
189
+ }
190
+ }
191
+ `;
192
+
193
+ // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
194
+ export const aiPanelDarkStyles = css`
195
+ div[extensionType='com.atlassian.ai-blocks'] {
196
+ .extension-container {
197
+ &::before,
198
+ &::after {
199
+ ${prismBorderDarkStyles}
200
+ }
201
+ }
202
+ }
203
+
204
+ /* This styles the ai panel correctly when its streaming */
205
+ div[extensionType='com.atlassian.ai-blocks']:has(.streaming) {
206
+ .extension-container {
207
+ &::before,
208
+ &::after {
209
+ ${prismBorderDarkStyles}
210
+ }
211
+ }
212
+ }
213
+ `;
@@ -0,0 +1,47 @@
1
+ import { css } from '@emotion/react'; // eslint-disable-line @atlaskit/ui-styling-standard/use-compiled
2
+
3
+ import { AnnotationSharedClassNames } from '@atlaskit/editor-common/styles';
4
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles
5
+ export const annotationStyles = css({
6
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
7
+ '.ProseMirror': {
8
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values,@atlaskit/ui-styling-standard/no-nested-selectors,@atlaskit/ui-styling-standard/no-unsafe-values
9
+ [`.${AnnotationSharedClassNames.blur}, .${AnnotationSharedClassNames.focus}, .${AnnotationSharedClassNames.draft}, .${AnnotationSharedClassNames.hover}`]: {
10
+ borderBottom: '2px solid transparent',
11
+ cursor: 'pointer',
12
+ padding: '1px 0 2px',
13
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-selectors
14
+ '&:has(.card), &:has([data-inline-card])': {
15
+ padding: '5px 0 3px 0'
16
+ },
17
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-selectors
18
+ '&:has(.date-lozenger-container)': {
19
+ paddingTop: "var(--ds-space-025, 2px)"
20
+ }
21
+ },
22
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values,@atlaskit/ui-styling-standard/no-nested-selectors,@atlaskit/ui-styling-standard/no-unsafe-values
23
+ [`.${AnnotationSharedClassNames.focus}`]: {
24
+ background: "var(--ds-background-accent-yellow-subtlest-pressed, #F5CD47)",
25
+ borderBottomColor: "var(--ds-border-accent-yellow, #B38600)",
26
+ boxShadow: "var(--ds-shadow-raised, 0px 1px 1px #091E4240, 0px 0px 1px #091E424f)"
27
+ },
28
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values,@atlaskit/ui-styling-standard/no-nested-selectors,@atlaskit/ui-styling-standard/no-unsafe-values
29
+ [`.${AnnotationSharedClassNames.draft}`]: {
30
+ background: "var(--ds-background-accent-yellow-subtlest-pressed, #F5CD47)",
31
+ borderBottomColor: "var(--ds-border-accent-yellow, #B38600)",
32
+ boxShadow: "var(--ds-shadow-raised, 0px 1px 1px #091E4240, 0px 0px 1px #091E424f)",
33
+ cursor: 'initial'
34
+ },
35
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values,@atlaskit/ui-styling-standard/no-nested-selectors,@atlaskit/ui-styling-standard/no-unsafe-values
36
+ [`.${AnnotationSharedClassNames.blur}`]: {
37
+ background: "var(--ds-background-accent-yellow-subtlest, #FFF7D6)",
38
+ borderBottomColor: "var(--ds-border-accent-yellow, #B38600)"
39
+ },
40
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values,@atlaskit/ui-styling-standard/no-nested-selectors,@atlaskit/ui-styling-standard/no-unsafe-values
41
+ [`.${AnnotationSharedClassNames.hover}`]: {
42
+ background: "var(--ds-background-accent-yellow-subtlest-hovered, #F8E6A0)",
43
+ borderBottomColor: "var(--ds-border-accent-yellow, #B38600)",
44
+ boxShadow: "var(--ds-shadow-raised, 0px 1px 1px #091E4240, 0px 0px 1px #091E424f)"
45
+ }
46
+ }
47
+ });
@@ -0,0 +1,27 @@
1
+ import { css } from '@emotion/react'; // eslint-disable-line @atlaskit/ui-styling-standard/use-compiled
2
+
3
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
4
+ export const embedCardStyles = css({
5
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
6
+ '.ProseMirror': {
7
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
8
+ ".embedCardView-content-wrap[layout^='wrap-']": {
9
+ maxWidth: '100%',
10
+ position: 'relative',
11
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values, @atlaskit/ui-styling-standard/no-imported-style-values
12
+ zIndex: 2
13
+ },
14
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
15
+ ".embedCardView-content-wrap[layout='wrap-left']": {
16
+ float: 'left'
17
+ },
18
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
19
+ ".embedCardView-content-wrap[layout='wrap-right']": {
20
+ float: 'right'
21
+ },
22
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
23
+ ".embedCardView-content-wrap[layout='wrap-right'] + .embedCardView-content-wrap[layout='wrap-left']": {
24
+ clear: 'both'
25
+ }
26
+ }
27
+ });