@atlaskit/editor-common 66.0.5 → 68.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/dist/cjs/styles/shared/annotation.js +12 -7
- package/dist/cjs/styles/shared/block-marks.js +1 -1
- package/dist/cjs/styles/shared/blockquote.js +3 -1
- package/dist/cjs/styles/shared/code-mark.js +4 -2
- package/dist/cjs/styles/shared/column-layout.js +1 -1
- package/dist/cjs/styles/shared/rule.js +4 -2
- package/dist/cjs/styles/shared/shadow.js +3 -1
- package/dist/cjs/styles/shared/table.js +18 -16
- package/dist/cjs/styles/shared/task-decision.js +1 -1
- package/dist/cjs/ui/BaseTheme/index.js +4 -21
- package/dist/cjs/ui/Caption/index.js +4 -2
- package/dist/cjs/ui/Expand/index.js +20 -18
- package/dist/cjs/ui/Messages/index.js +5 -3
- package/dist/cjs/ui/OverflowShadow/index.js +49 -11
- package/dist/cjs/ui/OverflowShadow/shadowObserver.js +107 -0
- package/dist/cjs/ui/UnsupportedBlock/index.js +3 -1
- package/dist/cjs/ui/UnsupportedInline/index.js +3 -1
- package/dist/cjs/ui/index.js +14 -0
- package/dist/cjs/utils/breakout.js +2 -2
- package/dist/cjs/utils/unsupportedContent/get-unsupported-content-level-data.js +3 -3
- package/dist/cjs/utils/validate-using-spec.js +2 -2
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/styles/shared/annotation.js +17 -7
- package/dist/es2019/styles/shared/block-marks.js +1 -1
- package/dist/es2019/styles/shared/blockquote.js +3 -1
- package/dist/es2019/styles/shared/code-mark.js +3 -2
- package/dist/es2019/styles/shared/column-layout.js +1 -0
- package/dist/es2019/styles/shared/panel.js +2 -0
- package/dist/es2019/styles/shared/rule.js +3 -2
- package/dist/es2019/styles/shared/shadow.js +14 -0
- package/dist/es2019/styles/shared/table.js +22 -18
- package/dist/es2019/styles/shared/task-decision.js +1 -0
- package/dist/es2019/ui/BaseTheme/index.js +3 -21
- package/dist/es2019/ui/Caption/index.js +3 -2
- package/dist/es2019/ui/Expand/index.js +19 -17
- package/dist/es2019/ui/Messages/index.js +4 -3
- package/dist/es2019/ui/OverflowShadow/index.js +48 -12
- package/dist/es2019/ui/OverflowShadow/shadowObserver.js +82 -0
- package/dist/es2019/ui/UnsupportedBlock/index.js +3 -2
- package/dist/es2019/ui/UnsupportedInline/index.js +3 -2
- package/dist/es2019/ui/index.js +1 -0
- package/dist/es2019/utils/breakout.js +1 -1
- package/dist/es2019/utils/unsupportedContent/get-unsupported-content-level-data.js +1 -1
- package/dist/es2019/utils/validate-using-spec.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/styles/shared/annotation.js +11 -7
- package/dist/esm/styles/shared/block-marks.js +1 -1
- package/dist/esm/styles/shared/blockquote.js +2 -1
- package/dist/esm/styles/shared/code-mark.js +3 -2
- package/dist/esm/styles/shared/column-layout.js +1 -1
- package/dist/esm/styles/shared/panel.js +2 -0
- package/dist/esm/styles/shared/rule.js +3 -2
- package/dist/esm/styles/shared/shadow.js +4 -1
- package/dist/esm/styles/shared/table.js +20 -16
- package/dist/esm/styles/shared/task-decision.js +1 -1
- package/dist/esm/ui/BaseTheme/index.js +4 -22
- package/dist/esm/ui/Caption/index.js +3 -2
- package/dist/esm/ui/Expand/index.js +19 -18
- package/dist/esm/ui/Messages/index.js +4 -3
- package/dist/esm/ui/OverflowShadow/index.js +50 -11
- package/dist/esm/ui/OverflowShadow/shadowObserver.js +98 -0
- package/dist/esm/ui/UnsupportedBlock/index.js +2 -1
- package/dist/esm/ui/UnsupportedInline/index.js +2 -1
- package/dist/esm/ui/index.js +1 -0
- package/dist/esm/utils/breakout.js +2 -2
- package/dist/esm/utils/unsupportedContent/get-unsupported-content-level-data.js +1 -1
- package/dist/esm/utils/validate-using-spec.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/extensions/manifest-helpers.d.ts +1 -1
- package/dist/types/extensions/module-helpers.d.ts +1 -1
- package/dist/types/extensions/types/extension-handler.d.ts +1 -1
- package/dist/types/extensions/types/extension-manifest-toolbar-item.d.ts +1 -1
- package/dist/types/extensions/types/extension-manifest.d.ts +1 -1
- package/dist/types/extensions/types/utils.d.ts +1 -1
- package/dist/types/provider-factory/autoformatting-provider.d.ts +1 -1
- package/dist/types/ui/BaseTheme/index.d.ts +2 -4
- package/dist/types/ui/OverflowShadow/index.d.ts +10 -3
- package/dist/types/ui/OverflowShadow/shadowObserver.d.ts +27 -0
- package/dist/types/ui/index.d.ts +1 -0
- package/dist/types/utils/unsupportedContent/get-unsupported-content-level-data.d.ts +1 -1
- package/dist/types/utils/validate-using-spec.d.ts +2 -1
- package/package.json +15 -13
|
@@ -5,20 +5,6 @@ import { akEditorDefaultLayoutWidth } from '@atlaskit/editor-shared-styles';
|
|
|
5
5
|
import { useGlobalTheme } from '@atlaskit/theme/components';
|
|
6
6
|
import { CHANNEL, fontSize } from '@atlaskit/theme/constants';
|
|
7
7
|
import { WidthConsumer } from '../WidthProvider';
|
|
8
|
-
|
|
9
|
-
function mapBreakpointToFontSize(breakpoint) {
|
|
10
|
-
switch (breakpoint) {
|
|
11
|
-
case 'M':
|
|
12
|
-
return fontSize() + 2;
|
|
13
|
-
|
|
14
|
-
case 'L':
|
|
15
|
-
return fontSize() + 4;
|
|
16
|
-
|
|
17
|
-
default:
|
|
18
|
-
return fontSize();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
8
|
export function mapBreakpointToLayoutMaxWidth(breakpoint) {
|
|
23
9
|
switch (breakpoint) {
|
|
24
10
|
case 'M':
|
|
@@ -32,9 +18,7 @@ export function mapBreakpointToLayoutMaxWidth(breakpoint) {
|
|
|
32
18
|
}
|
|
33
19
|
}
|
|
34
20
|
export function BaseThemeWrapper(_ref) {
|
|
35
|
-
var
|
|
36
|
-
dynamicTextSizing = _ref.dynamicTextSizing,
|
|
37
|
-
baseFontSize = _ref.baseFontSize,
|
|
21
|
+
var baseFontSize = _ref.baseFontSize,
|
|
38
22
|
children = _ref.children;
|
|
39
23
|
|
|
40
24
|
var _useGlobalTheme = useGlobalTheme(),
|
|
@@ -42,24 +26,22 @@ export function BaseThemeWrapper(_ref) {
|
|
|
42
26
|
|
|
43
27
|
var memoizedTheme = useMemo(function () {
|
|
44
28
|
return _defineProperty({
|
|
45
|
-
baseFontSize:
|
|
46
|
-
layoutMaxWidth:
|
|
29
|
+
baseFontSize: baseFontSize || fontSize(),
|
|
30
|
+
layoutMaxWidth: akEditorDefaultLayoutWidth
|
|
47
31
|
}, CHANNEL, {
|
|
48
32
|
mode: mode
|
|
49
33
|
});
|
|
50
|
-
}, [
|
|
34
|
+
}, [baseFontSize, mode]);
|
|
51
35
|
return /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
52
36
|
theme: memoizedTheme
|
|
53
37
|
}, children);
|
|
54
38
|
}
|
|
55
39
|
export function BaseTheme(_ref3) {
|
|
56
40
|
var children = _ref3.children,
|
|
57
|
-
dynamicTextSizing = _ref3.dynamicTextSizing,
|
|
58
41
|
baseFontSize = _ref3.baseFontSize;
|
|
59
42
|
return /*#__PURE__*/React.createElement(WidthConsumer, null, function (_ref4) {
|
|
60
43
|
var breakpoint = _ref4.breakpoint;
|
|
61
44
|
return /*#__PURE__*/React.createElement(BaseThemeWrapper, {
|
|
62
|
-
dynamicTextSizing: dynamicTextSizing,
|
|
63
45
|
breakpoint: breakpoint,
|
|
64
46
|
baseFontSize: baseFontSize
|
|
65
47
|
}, /*#__PURE__*/React.createElement(React.Fragment, null, children));
|
|
@@ -17,9 +17,10 @@ import React from 'react';
|
|
|
17
17
|
import { css, jsx } from '@emotion/react';
|
|
18
18
|
import { injectIntl } from 'react-intl-next';
|
|
19
19
|
import { N200, N400 } from '@atlaskit/theme/colors';
|
|
20
|
+
import { token } from '@atlaskit/tokens';
|
|
20
21
|
import { messages } from './messages';
|
|
21
|
-
var captionWrapperStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-top: 8px;\n text-align: center;\n position: relative;\n color: ", ";\n"])), N400);
|
|
22
|
-
var placeholderStyle = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n color: ", ";\n position: absolute;\n top: 0;\n width: 100%;\n"])), N200);
|
|
22
|
+
var captionWrapperStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-top: 8px;\n text-align: center;\n position: relative;\n color: ", ";\n"])), token('color.text.subtle', N400));
|
|
23
|
+
var placeholderStyle = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n color: ", ";\n position: absolute;\n top: 0;\n width: 100%;\n"])), token('color.text.subtlest', N200));
|
|
23
24
|
export var CaptionComponent = /*#__PURE__*/function (_React$Component) {
|
|
24
25
|
_inherits(CaptionComponent, _React$Component);
|
|
25
26
|
|
|
@@ -13,6 +13,7 @@ import { akEditorLineHeight, akEditorSwoopCubicBezier, akLayoutGutterOffset, rel
|
|
|
13
13
|
import * as colors from '@atlaskit/theme/colors';
|
|
14
14
|
import { themed } from '@atlaskit/theme/components';
|
|
15
15
|
import { fontSize, gridSize } from '@atlaskit/theme/constants';
|
|
16
|
+
import { token } from '@atlaskit/tokens';
|
|
16
17
|
export var messages = defineMessages({
|
|
17
18
|
collapseNode: {
|
|
18
19
|
id: 'fabric.editor.collapseNode',
|
|
@@ -36,16 +37,16 @@ export var messages = defineMessages({
|
|
|
36
37
|
}
|
|
37
38
|
});
|
|
38
39
|
var BORDER_RADIUS = gridSize() / 2;
|
|
39
|
-
var EXPAND_COLLAPSED_BACKGROUND = 'transparent';
|
|
40
|
+
var EXPAND_COLLAPSED_BACKGROUND = token('color.background.neutral.subtle', 'transparent');
|
|
40
41
|
var EXPAND_SELECTED_BACKGROUND = themed({
|
|
41
|
-
light: 'rgba(255, 255, 255, 0.6)',
|
|
42
|
-
dark: 'rgba(9, 10, 11, 0.29)'
|
|
42
|
+
light: token('elevation.surface', 'rgba(255, 255, 255, 0.6)'),
|
|
43
|
+
dark: token('elevation.surface', 'rgba(9, 10, 11, 0.29)')
|
|
43
44
|
});
|
|
44
|
-
var EXPAND_FOCUSED_BORDER_COLOR = colors.B300;
|
|
45
|
+
var EXPAND_FOCUSED_BORDER_COLOR = token('color.border.focused', colors.B300);
|
|
45
46
|
var EXPAND_COLLAPSED_BORDER_COLOR = 'transparent';
|
|
46
47
|
var EXPAND_EXPANDED_BORDER_COLOR = themed({
|
|
47
|
-
light: colors.N40A,
|
|
48
|
-
dark: colors.DN50
|
|
48
|
+
light: token('color.border', colors.N40A),
|
|
49
|
+
dark: token('color.border', colors.DN50)
|
|
49
50
|
});
|
|
50
51
|
export var ExpandIconWrapper = function ExpandIconWrapper(_ref) {
|
|
51
52
|
var children = _ref.children,
|
|
@@ -59,9 +60,9 @@ export var ExpandIconWrapper = function ExpandIconWrapper(_ref) {
|
|
|
59
60
|
|
|
60
61
|
var expandIconWrapperStyle = function expandIconWrapperStyle(props) {
|
|
61
62
|
return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n cursor: pointer;\n display: flex;\n color: ", ";\n border-radius: ", "px;\n width: 24px;\n height: 24px;\n\n &:hover {\n background: ", ";\n }\n\n svg {\n transition: transform 0.2s ", ";\n }\n"])), themed({
|
|
62
|
-
light: colors.N90,
|
|
63
|
-
dark: '#d9dde3'
|
|
64
|
-
})(props), gridSize() / 2, colors.N30A, akEditorSwoopCubicBezier);
|
|
63
|
+
light: token('color.icon', colors.N90),
|
|
64
|
+
dark: token('color.icon', '#d9dde3')
|
|
65
|
+
})(props), gridSize() / 2, token('color.background.neutral.subtle.hovered', colors.N30A), akEditorSwoopCubicBezier);
|
|
65
66
|
};
|
|
66
67
|
|
|
67
68
|
var expandIconWrapperExpandedStyle = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n svg {\n transform: rotate(90deg);\n }\n"])));
|
|
@@ -87,9 +88,9 @@ var containerStyles = function containerStyles(styleProps) {
|
|
|
87
88
|
var marginHorizontal = styleProps['data-node-type'] === 'expand' ? "-".concat(akLayoutGutterOffset, "px") : 0;
|
|
88
89
|
var margin = "".concat(marginTop, " ").concat(marginHorizontal, " ").concat(marginBottom);
|
|
89
90
|
return function (themeProps) {
|
|
90
|
-
return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n border-width: 1px;\n border-style: solid;\n border-color: ", ";\n border-radius: ", "px;\n min-height: 25px;\n background: ", ";\n margin: ", ";\n\n transition: background 0.3s ", ",\n border-color 0.3s ", ";\n padding: ", "px;\n\n &:hover {\n border: 1px solid\n ", ";\n background: ", ";\n }\n\n td > &:first-child {\n margin-top: 0;\n }\n "])), focused ? EXPAND_FOCUSED_BORDER_COLOR : expanded ? EXPAND_EXPANDED_BORDER_COLOR(themeProps) : EXPAND_COLLAPSED_BORDER_COLOR, BORDER_RADIUS, !expanded ? EXPAND_COLLAPSED_BACKGROUND : EXPAND_SELECTED_BACKGROUND(themeProps), margin, akEditorSwoopCubicBezier, akEditorSwoopCubicBezier, gridSize(), themed({
|
|
91
|
-
light: colors.N50A,
|
|
92
|
-
dark: colors.DN50
|
|
91
|
+
return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n border-width: 1px;\n border-style: solid;\n border-color: ", ";\n border-radius: ", "px;\n min-height: 25px;\n background: ", ";\n margin: ", ";\n\n transition: background 0.3s ", ",\n border-color 0.3s ", ";\n padding: ", "px;\n\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4152\n &:hover {\n border: 1px solid\n ", ";\n background: ", ";\n }\n\n td > &:first-child {\n margin-top: 0;\n }\n "])), focused ? EXPAND_FOCUSED_BORDER_COLOR : expanded ? EXPAND_EXPANDED_BORDER_COLOR(themeProps) : EXPAND_COLLAPSED_BORDER_COLOR, BORDER_RADIUS, !expanded ? EXPAND_COLLAPSED_BACKGROUND : EXPAND_SELECTED_BACKGROUND(themeProps), margin, akEditorSwoopCubicBezier, akEditorSwoopCubicBezier, gridSize(), themed({
|
|
92
|
+
light: token('color.border', colors.N50A),
|
|
93
|
+
dark: token('color.border', colors.DN50)
|
|
93
94
|
})(themeProps), EXPAND_SELECTED_BACKGROUND(themeProps));
|
|
94
95
|
};
|
|
95
96
|
};
|
|
@@ -102,18 +103,18 @@ var contentStyles = function contentStyles(styleProps) {
|
|
|
102
103
|
|
|
103
104
|
var titleInputStyles = function titleInputStyles(props) {
|
|
104
105
|
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n outline: none;\n border: none;\n font-size: ", ";\n line-height: ", ";\n font-weight: normal;\n color: ", ";\n background: transparent;\n display: flex;\n flex: 1;\n padding: 0 0 0 ", "px;\n width: 100%;\n\n &::placeholder {\n opacity: 0.6;\n color: ", ";\n }\n"])), relativeFontSizeToBase16(fontSize()), akEditorLineHeight, themed({
|
|
105
|
-
light: colors.N200A,
|
|
106
|
-
dark: colors.DN600
|
|
106
|
+
light: token('color.text.subtlest', colors.N200A),
|
|
107
|
+
dark: token('color.text.subtlest', colors.DN600)
|
|
107
108
|
})(props), gridSize() / 2, themed({
|
|
108
|
-
light: colors.N200A,
|
|
109
|
-
dark: colors.DN600
|
|
109
|
+
light: token('color.text.subtlest', colors.N200A),
|
|
110
|
+
dark: token('color.text.subtlest', colors.DN600)
|
|
110
111
|
})(props));
|
|
111
112
|
};
|
|
112
113
|
|
|
113
114
|
var titleContainerStyles = function titleContainerStyles(props) {
|
|
114
115
|
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n padding: 0;\n display: flex;\n align-items: flex-start;\n background: none;\n border: none;\n font-size: ", ";\n width: 100%;\n color: ", ";\n overflow: hidden;\n cursor: pointer;\n // Prevent browser selection being inside the title container\n user-select: none;\n\n &:focus {\n outline: 0;\n }\n"])), relativeFontSizeToBase16(fontSize()), themed({
|
|
115
|
-
light: colors.N300A,
|
|
116
|
-
dark: colors.DN600
|
|
116
|
+
light: token('color.text.subtle', colors.N300A),
|
|
117
|
+
dark: token('color.text.subtle', colors.DN600)
|
|
117
118
|
})(props));
|
|
118
119
|
};
|
|
119
120
|
|
|
@@ -9,11 +9,12 @@ import ErrorIcon from '@atlaskit/icon/glyph/error';
|
|
|
9
9
|
import { G400, N200, R400 } from '@atlaskit/theme/colors';
|
|
10
10
|
import { gridSize } from '@atlaskit/theme/constants';
|
|
11
11
|
import { h200 } from '@atlaskit/theme/typography';
|
|
12
|
-
|
|
13
|
-
var
|
|
12
|
+
import { token } from '@atlaskit/tokens';
|
|
13
|
+
var errorColor = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", ";\n"])), token('color.text.danger', R400));
|
|
14
|
+
var validColor = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n color: ", ";\n"])), token('color.text.success', G400));
|
|
14
15
|
|
|
15
16
|
var messageStyle = function messageStyle(props) {
|
|
16
|
-
return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n ", " font-weight: normal;\n color: ", ";\n margin-top: ", "px;\n display: flex;\n justify-content: baseline;\n"])), h200(props), N200, gridSize() / 2);
|
|
17
|
+
return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n ", " font-weight: normal;\n color: ", ";\n margin-top: ", "px;\n display: flex;\n justify-content: baseline;\n"])), h200(props), token('color.text.subtlest', N200), gridSize() / 2);
|
|
17
18
|
};
|
|
18
19
|
|
|
19
20
|
var iconWrapperStyle = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n margin-right: 4px;\n"])));
|
|
@@ -12,12 +12,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
12
12
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
13
13
|
|
|
14
14
|
import React from 'react';
|
|
15
|
-
import
|
|
15
|
+
import { ShadowObserver, shadowObserverClassNames } from './shadowObserver';
|
|
16
16
|
export var shadowClassNames = {
|
|
17
17
|
RIGHT_SHADOW: 'right-shadow',
|
|
18
18
|
LEFT_SHADOW: 'left-shadow'
|
|
19
19
|
};
|
|
20
|
-
var isIE11 = browser.ie_version === 11;
|
|
21
20
|
export default function overflowShadow(Component, options) {
|
|
22
21
|
return /*#__PURE__*/function (_React$Component) {
|
|
23
22
|
_inherits(OverflowShadow, _React$Component);
|
|
@@ -35,13 +34,15 @@ export default function overflowShadow(Component, options) {
|
|
|
35
34
|
|
|
36
35
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
37
36
|
|
|
37
|
+
_defineProperty(_assertThisInitialized(_this), "overflowContainerWidth", 0);
|
|
38
|
+
|
|
38
39
|
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
39
40
|
showLeftShadow: false,
|
|
40
41
|
showRightShadow: false
|
|
41
42
|
});
|
|
42
43
|
|
|
43
44
|
_defineProperty(_assertThisInitialized(_this), "handleScroll", function (event) {
|
|
44
|
-
if (!_this.overflowContainer || event.target !== _this.overflowContainer) {
|
|
45
|
+
if (!_this.overflowContainer || event.target !== _this.overflowContainer || options.useShadowObserver) {
|
|
45
46
|
return;
|
|
46
47
|
}
|
|
47
48
|
|
|
@@ -49,6 +50,10 @@ export default function overflowShadow(Component, options) {
|
|
|
49
50
|
});
|
|
50
51
|
|
|
51
52
|
_defineProperty(_assertThisInitialized(_this), "updateShadows", function () {
|
|
53
|
+
if (options.useShadowObserver) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
52
57
|
_this.setState(function (prevState) {
|
|
53
58
|
if (!_this.overflowContainer) {
|
|
54
59
|
return;
|
|
@@ -115,15 +120,15 @@ export default function overflowShadow(Component, options) {
|
|
|
115
120
|
_this.overflowContainer = container;
|
|
116
121
|
}
|
|
117
122
|
|
|
118
|
-
if (options.
|
|
119
|
-
_this.
|
|
123
|
+
if (options.useShadowObserver) {
|
|
124
|
+
_this.initShadowObserver();
|
|
125
|
+
|
|
126
|
+
return;
|
|
120
127
|
}
|
|
121
128
|
|
|
122
129
|
_this.updateShadows();
|
|
123
130
|
|
|
124
|
-
|
|
125
|
-
_this.overflowContainer.addEventListener('scroll', _this.handleScroll);
|
|
126
|
-
}
|
|
131
|
+
_this.overflowContainer.addEventListener('scroll', _this.handleScroll);
|
|
127
132
|
});
|
|
128
133
|
|
|
129
134
|
return _this;
|
|
@@ -132,7 +137,11 @@ export default function overflowShadow(Component, options) {
|
|
|
132
137
|
_createClass(OverflowShadow, [{
|
|
133
138
|
key: "componentWillUnmount",
|
|
134
139
|
value: function componentWillUnmount() {
|
|
135
|
-
if (
|
|
140
|
+
if (options.useShadowObserver) {
|
|
141
|
+
return this.shadowObserver && this.shadowObserver.dispose();
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (this.overflowContainer) {
|
|
136
145
|
this.overflowContainer.removeEventListener('scroll', this.handleScroll);
|
|
137
146
|
}
|
|
138
147
|
|
|
@@ -141,7 +150,37 @@ export default function overflowShadow(Component, options) {
|
|
|
141
150
|
}, {
|
|
142
151
|
key: "componentDidUpdate",
|
|
143
152
|
value: function componentDidUpdate() {
|
|
144
|
-
|
|
153
|
+
if (!options.useShadowObserver) {
|
|
154
|
+
this.updateShadows();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}, {
|
|
158
|
+
key: "initShadowObserver",
|
|
159
|
+
value: function initShadowObserver() {
|
|
160
|
+
var _this2 = this;
|
|
161
|
+
|
|
162
|
+
if (this.shadowObserver || !this.overflowContainer) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
this.shadowObserver = new ShadowObserver({
|
|
167
|
+
scrollContainer: this.overflowContainer,
|
|
168
|
+
onUpdateShadows: function onUpdateShadows(shadowStates) {
|
|
169
|
+
_this2.setState(function (prevState) {
|
|
170
|
+
var showLeftShadow = shadowStates.showLeftShadow,
|
|
171
|
+
showRightShadow = shadowStates.showRightShadow;
|
|
172
|
+
|
|
173
|
+
if (showLeftShadow !== prevState.showLeftShadow || showRightShadow !== prevState.showRightShadow) {
|
|
174
|
+
return {
|
|
175
|
+
showLeftShadow: showLeftShadow,
|
|
176
|
+
showRightShadow: showRightShadow
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
return null;
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
});
|
|
145
184
|
}
|
|
146
185
|
}, {
|
|
147
186
|
key: "render",
|
|
@@ -149,7 +188,7 @@ export default function overflowShadow(Component, options) {
|
|
|
149
188
|
var _this$state = this.state,
|
|
150
189
|
showLeftShadow = _this$state.showLeftShadow,
|
|
151
190
|
showRightShadow = _this$state.showRightShadow;
|
|
152
|
-
var classNames = [showRightShadow && shadowClassNames.RIGHT_SHADOW, showLeftShadow && shadowClassNames.LEFT_SHADOW].filter(Boolean).join(' ');
|
|
191
|
+
var classNames = [showRightShadow && shadowClassNames.RIGHT_SHADOW, showLeftShadow && shadowClassNames.LEFT_SHADOW, options.useShadowObserver && shadowObserverClassNames.SHADOW_CONTAINER].filter(Boolean).join(' ');
|
|
153
192
|
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
154
193
|
handleRef: this.handleContainer,
|
|
155
194
|
shadowClassNames: classNames
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
+
export var ShadowKeys;
|
|
5
|
+
|
|
6
|
+
(function (ShadowKeys) {
|
|
7
|
+
ShadowKeys["SHOW_LEFT_SHADOW"] = "showLeftShadow";
|
|
8
|
+
ShadowKeys["SHOW_RIGHT_SHADOW"] = "showRightShadow";
|
|
9
|
+
})(ShadowKeys || (ShadowKeys = {}));
|
|
10
|
+
|
|
11
|
+
export var shadowObserverClassNames = {
|
|
12
|
+
SENTINEL_LEFT: 'sentinel-left',
|
|
13
|
+
SENTINEL_RIGHT: 'sentinel-right',
|
|
14
|
+
SHADOW_CONTAINER: 'with-shadow-observer'
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
var requestIdleCallback = function requestIdleCallback(fn) {
|
|
18
|
+
return window.requestIdleCallback ? window.requestIdleCallback(fn) : window.requestAnimationFrame(fn);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
var cancelIdleCallback = function cancelIdleCallback(id) {
|
|
22
|
+
return window.cancelIdleCallback ? window.cancelIdleCallback(id) : window.cancelAnimationFrame(id);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export var ShadowObserver = /*#__PURE__*/function () {
|
|
26
|
+
function ShadowObserver(_ref) {
|
|
27
|
+
var _defineProperty2,
|
|
28
|
+
_this = this;
|
|
29
|
+
|
|
30
|
+
var scrollContainer = _ref.scrollContainer,
|
|
31
|
+
onUpdateShadows = _ref.onUpdateShadows;
|
|
32
|
+
|
|
33
|
+
_classCallCheck(this, ShadowObserver);
|
|
34
|
+
|
|
35
|
+
_defineProperty(this, "sentinels", {});
|
|
36
|
+
|
|
37
|
+
_defineProperty(this, "shadowStates", (_defineProperty2 = {}, _defineProperty(_defineProperty2, ShadowKeys.SHOW_LEFT_SHADOW, false), _defineProperty(_defineProperty2, ShadowKeys.SHOW_RIGHT_SHADOW, false), _defineProperty2));
|
|
38
|
+
|
|
39
|
+
_defineProperty(this, "init", function () {
|
|
40
|
+
if (!_this.scrollContainer || _this.intersectionObserver) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
_this.sentinels.right = document.createElement('div');
|
|
45
|
+
|
|
46
|
+
_this.sentinels.right.classList.add(shadowObserverClassNames.SENTINEL_RIGHT);
|
|
47
|
+
|
|
48
|
+
_this.scrollContainer.appendChild(_this.sentinels.right);
|
|
49
|
+
|
|
50
|
+
_this.sentinels.left = document.createElement('div');
|
|
51
|
+
|
|
52
|
+
_this.sentinels.left.classList.add(shadowObserverClassNames.SENTINEL_LEFT);
|
|
53
|
+
|
|
54
|
+
_this.scrollContainer.prepend(_this.sentinels.left);
|
|
55
|
+
|
|
56
|
+
_this.intersectionObserver = new IntersectionObserver(function (entries, _) {
|
|
57
|
+
entries.forEach(_this.onIntersect);
|
|
58
|
+
}, {
|
|
59
|
+
root: _this.scrollContainer
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
_this.intersectionObserver.observe(_this.sentinels.left);
|
|
63
|
+
|
|
64
|
+
_this.intersectionObserver.observe(_this.sentinels.right);
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
_defineProperty(this, "onIntersect", function (entry) {
|
|
68
|
+
_this.requestCallbackId = requestIdleCallback(function () {
|
|
69
|
+
if (entry.target.classList.contains(shadowObserverClassNames.SENTINEL_LEFT)) {
|
|
70
|
+
_this.shadowStates[ShadowKeys.SHOW_LEFT_SHADOW] = !entry.isIntersecting;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (entry.target.classList.contains(shadowObserverClassNames.SENTINEL_RIGHT)) {
|
|
74
|
+
_this.shadowStates[ShadowKeys.SHOW_RIGHT_SHADOW] = !entry.isIntersecting;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
_this.onUpdateShadows(_this.shadowStates);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
this.scrollContainer = scrollContainer;
|
|
82
|
+
this.onUpdateShadows = onUpdateShadows;
|
|
83
|
+
this.init();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
_createClass(ShadowObserver, [{
|
|
87
|
+
key: "dispose",
|
|
88
|
+
value: function dispose() {
|
|
89
|
+
if (this.intersectionObserver) {
|
|
90
|
+
this.intersectionObserver.disconnect();
|
|
91
|
+
this.intersectionObserver = undefined;
|
|
92
|
+
this.requestCallbackId && cancelIdleCallback(this.requestCallbackId);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}]);
|
|
96
|
+
|
|
97
|
+
return ShadowObserver;
|
|
98
|
+
}();
|
|
@@ -10,12 +10,13 @@ import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
|
|
|
10
10
|
import QuestionsIcon from '@atlaskit/icon/glyph/question-circle';
|
|
11
11
|
import { N30, N50 } from '@atlaskit/theme/colors';
|
|
12
12
|
import { borderRadius, fontSize } from '@atlaskit/theme/constants';
|
|
13
|
+
import { token } from '@atlaskit/tokens';
|
|
13
14
|
import Tooltip from '@atlaskit/tooltip';
|
|
14
15
|
import { unsupportedContentMessages } from '../../messages/unsupportedContent';
|
|
15
16
|
import { ACTION_SUBJECT_ID } from '../../utils/analytics';
|
|
16
17
|
import { trackUnsupportedContentTooltipDisplayedFor } from '../../utils/track-unsupported-content';
|
|
17
18
|
import { getUnsupportedContent } from '../unsupported-content-helper';
|
|
18
|
-
var blockNodeStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: ", ";\n border: 1px dashed ", ";\n border-radius: ", "px;\n box-sizing: border-box;\n cursor: default;\n display: flex;\n font-size: ", ";\n margin: 10px 0;\n min-height: 24px;\n padding: 10px;\n text-align: center;\n vertical-align: text-bottom;\n min-width: 120px;\n align-items: center;\n justify-content: center;\n"])), N30, N50, borderRadius(), relativeFontSizeToBase16(fontSize()));
|
|
19
|
+
var blockNodeStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: ", ";\n border: 1px dashed ", ";\n border-radius: ", "px;\n box-sizing: border-box;\n cursor: default;\n display: flex;\n font-size: ", ";\n margin: 10px 0;\n min-height: 24px;\n padding: 10px;\n text-align: center;\n vertical-align: text-bottom;\n min-width: 120px;\n align-items: center;\n justify-content: center;\n"])), token('color.background.disabled', N30), token('color.border.disabled', N50), borderRadius(), relativeFontSizeToBase16(fontSize()));
|
|
19
20
|
|
|
20
21
|
var UnsupportedBlockNode = function UnsupportedBlockNode(_ref) {
|
|
21
22
|
var node = _ref.node,
|
|
@@ -10,12 +10,13 @@ import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
|
|
|
10
10
|
import QuestionsIcon from '@atlaskit/icon/glyph/question-circle';
|
|
11
11
|
import { N30, N50 } from '@atlaskit/theme/colors';
|
|
12
12
|
import { borderRadius, fontSize } from '@atlaskit/theme/constants';
|
|
13
|
+
import { token } from '@atlaskit/tokens';
|
|
13
14
|
import Tooltip from '@atlaskit/tooltip';
|
|
14
15
|
import { unsupportedContentMessages } from '../../messages/unsupportedContent';
|
|
15
16
|
import { ACTION_SUBJECT_ID } from '../../utils/analytics';
|
|
16
17
|
import { trackUnsupportedContentTooltipDisplayedFor } from '../../utils/track-unsupported-content';
|
|
17
18
|
import { getUnsupportedContent } from '../unsupported-content-helper';
|
|
18
|
-
var inlineNodeStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n align-items: center;\n background: ", ";\n border: 1px dashed ", ";\n border-radius: ", "px;\n box-sizing: border-box;\n cursor: default;\n display: inline-flex;\n font-size: ", ";\n margin: 0 2px;\n min-height: 24px;\n padding: 0 10px;\n vertical-align: middle;\n white-space: nowrap;\n"])), N30, N50, borderRadius(), relativeFontSizeToBase16(fontSize()));
|
|
19
|
+
var inlineNodeStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n align-items: center;\n background: ", ";\n border: 1px dashed ", ";\n border-radius: ", "px;\n box-sizing: border-box;\n cursor: default;\n display: inline-flex;\n font-size: ", ";\n margin: 0 2px;\n min-height: 24px;\n padding: 0 10px;\n vertical-align: middle;\n white-space: nowrap;\n"])), token('color.background.disabled', N30), token('color.border.disabled', N50), borderRadius(), relativeFontSizeToBase16(fontSize()));
|
|
19
20
|
|
|
20
21
|
var UnsupportedInlineNode = function UnsupportedInlineNode(_ref) {
|
|
21
22
|
var node = _ref.node,
|
package/dist/esm/ui/index.js
CHANGED
|
@@ -10,6 +10,7 @@ export { BaseTheme, mapBreakpointToLayoutMaxWidth } from './BaseTheme';
|
|
|
10
10
|
export { default as withOuterListeners } from './with-outer-listeners';
|
|
11
11
|
export { WidthConsumer, WidthProvider, getBreakpoint } from './WidthProvider';
|
|
12
12
|
export { default as overflowShadow, shadowClassNames } from './OverflowShadow';
|
|
13
|
+
export { shadowObserverClassNames, ShadowObserver } from './OverflowShadow/shadowObserver';
|
|
13
14
|
export { WithCreateAnalyticsEvent } from './WithCreateAnalyticsEvent';
|
|
14
15
|
export { messages as expandMessages, sharedExpandStyles, ExpandIconWrapper, expandLayoutWrapperStyle, ExpandLayoutWrapperWithRef } from './Expand';
|
|
15
16
|
export { ErrorMessage, HelperMessage, ValidMessage } from './Messages';
|
|
@@ -29,8 +29,8 @@ var breakoutConsts = {
|
|
|
29
29
|
return '100%';
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
|
-
calcLineLength: function calcLineLength(
|
|
33
|
-
return
|
|
32
|
+
calcLineLength: function calcLineLength() {
|
|
33
|
+
return breakoutConsts.defaultLayoutWidth;
|
|
34
34
|
},
|
|
35
35
|
calcWideWidth: function calcWideWidth() {
|
|
36
36
|
var containerWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : breakoutConsts.defaultLayoutWidth;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { validator } from '@atlaskit/adf-utils';
|
|
1
|
+
import { validator } from '@atlaskit/adf-utils/validator';
|
|
2
2
|
export var UNSUPPORTED_NODE_ATTRIBUTE = 'unsupportedNodeAttribute';
|
|
3
3
|
import { ACTION_SUBJECT_ID } from './analytics';
|
|
4
4
|
import { fireUnsupportedEvent } from './track-unsupported-content';
|
package/dist/esm/version.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ADFEntity } from '@atlaskit/adf-utils';
|
|
1
|
+
import type { ADFEntity } from '@atlaskit/adf-utils/types';
|
|
2
2
|
import { ExtensionKey, ExtensionManifest, ExtensionModuleAction, ExtensionModuleActionObject, ExtensionType, Module } from './types/extension-manifest';
|
|
3
3
|
export declare const FORGE_EXTENSION_TYPE = "com.atlassian.ecosystem";
|
|
4
4
|
export declare const getExtensionKeyAndNodeKey: (extensionKey: ExtensionKey, extensionType: ExtensionType) => string[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ADFEntity } from '@atlaskit/adf-utils';
|
|
1
|
+
import type { ADFEntity } from '@atlaskit/adf-utils/types';
|
|
2
2
|
import { ExtensionAPI, ExtensionAutoConvertHandler, ExtensionManifest, ExtensionModule, ExtensionProvider, ExtensionToolbarButton, MenuItem } from './types';
|
|
3
3
|
export declare const groupBy: <T>(arr: T[], attr: keyof T, keyRenamer: (key: T[keyof T]) => string) => {
|
|
4
4
|
[k: string]: T;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ADFEntity } from '@atlaskit/adf-utils';
|
|
2
|
+
import type { ADFEntity } from '@atlaskit/adf-utils/types';
|
|
3
3
|
import { Parameters } from './extension-parameters';
|
|
4
4
|
export interface ExtensionParams<T extends Parameters> {
|
|
5
5
|
extensionKey: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ADFEntity } from '@atlaskit/adf-utils';
|
|
1
|
+
import type { ADFEntity } from '@atlaskit/adf-utils/types';
|
|
2
2
|
import { ExtensionAPI } from './extension-handler';
|
|
3
3
|
import { ExtensionIconModule } from './extension-manifest-common';
|
|
4
4
|
export declare type ToolbarButtonAction = (contextNode: ADFEntity, api: ExtensionAPI) => Promise<void>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentType } from 'react';
|
|
2
|
-
import { ADFEntity } from '@atlaskit/adf-utils';
|
|
2
|
+
import type { ADFEntity } from '@atlaskit/adf-utils/types';
|
|
3
3
|
import { ExtensionParams, UpdateExtension } from './extension-handler';
|
|
4
4
|
import { ExtensionIconModule, MaybeESModule } from './extension-manifest-common';
|
|
5
5
|
import { ContextualToolbar } from './extension-manifest-toolbar-item';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ADFEntity } from '@atlaskit/adf-utils';
|
|
1
|
+
import type { ADFEntity } from '@atlaskit/adf-utils/types';
|
|
2
2
|
export declare type AutoformatReplacement = ADFEntity;
|
|
3
3
|
export declare type AutoformatHandler = (match: Array<string>) => Promise<AutoformatReplacement>;
|
|
4
4
|
export declare type AutoformatRuleset = {
|
|
@@ -3,15 +3,13 @@ import { Breakpoints } from '../WidthProvider';
|
|
|
3
3
|
export declare function mapBreakpointToLayoutMaxWidth(breakpoint: Breakpoints): 760 | 850 | 680;
|
|
4
4
|
declare type BaseThemeWrapperProps = {
|
|
5
5
|
breakpoint: Breakpoints;
|
|
6
|
-
dynamicTextSizing?: boolean;
|
|
7
6
|
children: React.ReactNode;
|
|
8
7
|
baseFontSize?: number;
|
|
9
8
|
};
|
|
10
|
-
export declare function BaseThemeWrapper({
|
|
9
|
+
export declare function BaseThemeWrapper({ baseFontSize, children, }: BaseThemeWrapperProps): JSX.Element;
|
|
11
10
|
declare type BaseThemeProps = {
|
|
12
11
|
children: React.ReactNode;
|
|
13
|
-
dynamicTextSizing?: boolean;
|
|
14
12
|
baseFontSize?: number;
|
|
15
13
|
};
|
|
16
|
-
export declare function BaseTheme({ children,
|
|
14
|
+
export declare function BaseTheme({ children, baseFontSize }: BaseThemeProps): JSX.Element;
|
|
17
15
|
export {};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { ShadowObserver } from './shadowObserver';
|
|
2
3
|
export declare const shadowClassNames: {
|
|
3
4
|
RIGHT_SHADOW: string;
|
|
4
5
|
LEFT_SHADOW: string;
|
|
5
6
|
};
|
|
6
7
|
export interface OverflowShadowProps {
|
|
7
|
-
handleRef
|
|
8
|
-
shadowClassNames
|
|
8
|
+
handleRef?: (ref: HTMLElement | null) => void;
|
|
9
|
+
shadowClassNames?: string;
|
|
9
10
|
}
|
|
10
11
|
export interface OverflowShadowState {
|
|
11
12
|
showLeftShadow: boolean;
|
|
@@ -13,12 +14,14 @@ export interface OverflowShadowState {
|
|
|
13
14
|
}
|
|
14
15
|
export interface OverflowShadowOptions {
|
|
15
16
|
overflowSelector: string;
|
|
16
|
-
|
|
17
|
+
useShadowObserver?: boolean;
|
|
17
18
|
}
|
|
18
19
|
export default function overflowShadow<P>(Component: React.ComponentType<P & OverflowShadowProps> | React.StatelessComponent<P & OverflowShadowProps>, options: OverflowShadowOptions): {
|
|
19
20
|
new (props: Readonly<P>): {
|
|
20
21
|
overflowContainer?: HTMLElement | null | undefined;
|
|
21
22
|
container?: HTMLElement | undefined;
|
|
23
|
+
shadowObserver?: ShadowObserver | undefined;
|
|
24
|
+
overflowContainerWidth: number;
|
|
22
25
|
scrollable?: NodeList | undefined;
|
|
23
26
|
diff?: number | undefined;
|
|
24
27
|
state: {
|
|
@@ -33,6 +36,7 @@ export default function overflowShadow<P>(Component: React.ComponentType<P & Ove
|
|
|
33
36
|
calcOverflowDiff: () => number;
|
|
34
37
|
calcScrollableWidth: () => number;
|
|
35
38
|
handleContainer: (container: HTMLElement | null) => void;
|
|
39
|
+
initShadowObserver(): void;
|
|
36
40
|
render(): JSX.Element;
|
|
37
41
|
context: any;
|
|
38
42
|
setState<K extends keyof OverflowShadowState>(state: OverflowShadowState | ((prevState: Readonly<OverflowShadowState>, props: Readonly<P>) => OverflowShadowState | Pick<OverflowShadowState, K> | null) | Pick<OverflowShadowState, K> | null, callback?: (() => void) | undefined): void;
|
|
@@ -57,6 +61,8 @@ export default function overflowShadow<P>(Component: React.ComponentType<P & Ove
|
|
|
57
61
|
new (props: P, context?: any): {
|
|
58
62
|
overflowContainer?: HTMLElement | null | undefined;
|
|
59
63
|
container?: HTMLElement | undefined;
|
|
64
|
+
shadowObserver?: ShadowObserver | undefined;
|
|
65
|
+
overflowContainerWidth: number;
|
|
60
66
|
scrollable?: NodeList | undefined;
|
|
61
67
|
diff?: number | undefined;
|
|
62
68
|
state: {
|
|
@@ -71,6 +77,7 @@ export default function overflowShadow<P>(Component: React.ComponentType<P & Ove
|
|
|
71
77
|
calcOverflowDiff: () => number;
|
|
72
78
|
calcScrollableWidth: () => number;
|
|
73
79
|
handleContainer: (container: HTMLElement | null) => void;
|
|
80
|
+
initShadowObserver(): void;
|
|
74
81
|
render(): JSX.Element;
|
|
75
82
|
context: any;
|
|
76
83
|
setState<K extends keyof OverflowShadowState>(state: OverflowShadowState | ((prevState: Readonly<OverflowShadowState>, props: Readonly<P>) => OverflowShadowState | Pick<OverflowShadowState, K> | null) | Pick<OverflowShadowState, K> | null, callback?: (() => void) | undefined): void;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare enum ShadowKeys {
|
|
2
|
+
SHOW_LEFT_SHADOW = "showLeftShadow",
|
|
3
|
+
SHOW_RIGHT_SHADOW = "showRightShadow"
|
|
4
|
+
}
|
|
5
|
+
export declare type ShadowsStates = {
|
|
6
|
+
[ShadowKey in ShadowKeys]: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare const shadowObserverClassNames: {
|
|
9
|
+
SENTINEL_LEFT: string;
|
|
10
|
+
SENTINEL_RIGHT: string;
|
|
11
|
+
SHADOW_CONTAINER: string;
|
|
12
|
+
};
|
|
13
|
+
export declare class ShadowObserver {
|
|
14
|
+
private intersectionObserver?;
|
|
15
|
+
private scrollContainer;
|
|
16
|
+
private onUpdateShadows;
|
|
17
|
+
private sentinels;
|
|
18
|
+
private requestCallbackId?;
|
|
19
|
+
readonly shadowStates: ShadowsStates;
|
|
20
|
+
constructor({ scrollContainer, onUpdateShadows, }: {
|
|
21
|
+
scrollContainer: HTMLElement;
|
|
22
|
+
onUpdateShadows: (eventData: ShadowsStates) => void;
|
|
23
|
+
});
|
|
24
|
+
private init;
|
|
25
|
+
private onIntersect;
|
|
26
|
+
dispose(): void;
|
|
27
|
+
}
|
package/dist/types/ui/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export { WidthConsumer, WidthProvider, getBreakpoint } from './WidthProvider';
|
|
|
16
16
|
export type { WidthConsumerContext, Breakpoints } from './WidthProvider';
|
|
17
17
|
export { default as overflowShadow, shadowClassNames } from './OverflowShadow';
|
|
18
18
|
export type { OverflowShadowOptions, OverflowShadowProps, OverflowShadowState, } from './OverflowShadow';
|
|
19
|
+
export { shadowObserverClassNames, ShadowObserver, } from './OverflowShadow/shadowObserver';
|
|
19
20
|
export { WithCreateAnalyticsEvent } from './WithCreateAnalyticsEvent';
|
|
20
21
|
export { messages as expandMessages, sharedExpandStyles, ExpandIconWrapper, expandLayoutWrapperStyle, ExpandLayoutWrapperWithRef, } from './Expand';
|
|
21
22
|
export type { StyleProps as ExpandStyleProps } from './Expand';
|