@atlaskit/editor-core 187.40.2 → 187.41.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 +11 -0
- package/dist/cjs/editor-next/hooks/useEditorMeasuresConstructor.js +2 -2
- package/dist/cjs/editor-next/utils/editorMeasureTTICallback.js +3 -2
- package/dist/cjs/element-browser.js +2 -3
- package/dist/cjs/plugins/quick-insert/index.js +4 -2
- package/dist/cjs/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.js +8 -7
- package/dist/cjs/plugins/quick-insert/ui/ModalElementBrowser/index.js +10 -17
- package/dist/cjs/ui/ElementBrowser/InsertMenu.js +5 -6
- package/dist/cjs/ui/ElementBrowser/types.js +1 -8
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/editor-next/hooks/useEditorMeasuresConstructor.js +2 -2
- package/dist/es2019/editor-next/utils/editorMeasureTTICallback.js +3 -2
- package/dist/es2019/element-browser.js +1 -1
- package/dist/es2019/plugins/quick-insert/index.js +4 -2
- package/dist/es2019/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.js +5 -5
- package/dist/es2019/plugins/quick-insert/ui/ModalElementBrowser/index.js +8 -13
- package/dist/es2019/ui/ElementBrowser/InsertMenu.js +2 -3
- package/dist/es2019/ui/ElementBrowser/types.js +1 -5
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/editor-next/hooks/useEditorMeasuresConstructor.js +2 -2
- package/dist/esm/editor-next/utils/editorMeasureTTICallback.js +3 -2
- package/dist/esm/element-browser.js +1 -1
- package/dist/esm/plugins/quick-insert/index.js +4 -2
- package/dist/esm/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.js +5 -5
- package/dist/esm/plugins/quick-insert/ui/ModalElementBrowser/index.js +10 -17
- package/dist/esm/ui/ElementBrowser/InsertMenu.js +2 -3
- package/dist/esm/ui/ElementBrowser/types.js +1 -5
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/editor-next/hooks/useEditorMeasuresConstructor.d.ts +4 -4
- package/dist/types/editor-next/utils/editorMeasureTTICallback.d.ts +5 -5
- package/dist/types/element-browser.d.ts +1 -1
- package/dist/types/labs/next/presets/default.d.ts +2 -2
- package/dist/types/plugins/quick-insert/index.d.ts +3 -3
- package/dist/types/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.d.ts +4 -3
- package/dist/types/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.d.ts +1 -1
- package/dist/types/plugins/quick-insert/ui/ModalElementBrowser/index.d.ts +4 -1
- package/dist/types/ui/ElementBrowser/types.d.ts +6 -18
- package/dist/types-ts4.5/editor-next/hooks/useEditorMeasuresConstructor.d.ts +4 -4
- package/dist/types-ts4.5/editor-next/utils/editorMeasureTTICallback.d.ts +5 -5
- package/dist/types-ts4.5/element-browser.d.ts +1 -1
- package/dist/types-ts4.5/labs/next/presets/default.d.ts +2 -2
- package/dist/types-ts4.5/plugins/quick-insert/index.d.ts +3 -3
- package/dist/types-ts4.5/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.d.ts +4 -3
- package/dist/types-ts4.5/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.d.ts +1 -1
- package/dist/types-ts4.5/plugins/quick-insert/ui/ModalElementBrowser/index.d.ts +4 -1
- package/dist/types-ts4.5/ui/ElementBrowser/types.d.ts +6 -18
- package/package.json +2 -2
- package/dist/cjs/ui/ElementBrowser/ElementBrowser.js +0 -152
- package/dist/cjs/ui/ElementBrowser/ViewMore.js +0 -39
- package/dist/cjs/ui/ElementBrowser/components/CategoryList.js +0 -115
- package/dist/cjs/ui/ElementBrowser/components/ElementBrowserLoader.js +0 -36
- package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +0 -250
- package/dist/cjs/ui/ElementBrowser/components/ElementList/EmptyState.js +0 -47
- package/dist/cjs/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +0 -69
- package/dist/cjs/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.js +0 -42
- package/dist/cjs/ui/ElementBrowser/components/ElementList/utils.js +0 -54
- package/dist/cjs/ui/ElementBrowser/components/ElementSearch.js +0 -88
- package/dist/cjs/ui/ElementBrowser/components/StatelessElementBrowser.js +0 -269
- package/dist/cjs/ui/ElementBrowser/constants.js +0 -43
- package/dist/cjs/ui/ElementBrowser/hooks/use-container-width.js +0 -70
- package/dist/cjs/ui/ElementBrowser/hooks/use-focus.js +0 -51
- package/dist/cjs/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.js +0 -286
- package/dist/cjs/ui/ElementBrowser/index.js +0 -10
- package/dist/es2019/ui/ElementBrowser/ElementBrowser.js +0 -117
- package/dist/es2019/ui/ElementBrowser/ViewMore.js +0 -40
- package/dist/es2019/ui/ElementBrowser/components/CategoryList.js +0 -104
- package/dist/es2019/ui/ElementBrowser/components/ElementBrowserLoader.js +0 -21
- package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +0 -301
- package/dist/es2019/ui/ElementBrowser/components/ElementList/EmptyState.js +0 -58
- package/dist/es2019/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +0 -64
- package/dist/es2019/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.js +0 -39
- package/dist/es2019/ui/ElementBrowser/components/ElementList/utils.js +0 -50
- package/dist/es2019/ui/ElementBrowser/components/ElementSearch.js +0 -117
- package/dist/es2019/ui/ElementBrowser/components/StatelessElementBrowser.js +0 -339
- package/dist/es2019/ui/ElementBrowser/constants.js +0 -24
- package/dist/es2019/ui/ElementBrowser/hooks/use-container-width.js +0 -59
- package/dist/es2019/ui/ElementBrowser/hooks/use-focus.js +0 -48
- package/dist/es2019/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.js +0 -284
- package/dist/es2019/ui/ElementBrowser/index.js +0 -2
- package/dist/esm/ui/ElementBrowser/ElementBrowser.js +0 -142
- package/dist/esm/ui/ElementBrowser/ViewMore.js +0 -31
- package/dist/esm/ui/ElementBrowser/components/CategoryList.js +0 -104
- package/dist/esm/ui/ElementBrowser/components/ElementBrowserLoader.js +0 -23
- package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +0 -238
- package/dist/esm/ui/ElementBrowser/components/ElementList/EmptyState.js +0 -40
- package/dist/esm/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +0 -62
- package/dist/esm/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.js +0 -37
- package/dist/esm/ui/ElementBrowser/components/ElementList/utils.js +0 -46
- package/dist/esm/ui/ElementBrowser/components/ElementSearch.js +0 -77
- package/dist/esm/ui/ElementBrowser/components/StatelessElementBrowser.js +0 -258
- package/dist/esm/ui/ElementBrowser/constants.js +0 -24
- package/dist/esm/ui/ElementBrowser/hooks/use-container-width.js +0 -61
- package/dist/esm/ui/ElementBrowser/hooks/use-focus.js +0 -46
- package/dist/esm/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.js +0 -278
- package/dist/esm/ui/ElementBrowser/index.js +0 -2
- package/dist/types/ui/ElementBrowser/ElementBrowser.d.ts +0 -37
- package/dist/types/ui/ElementBrowser/ViewMore.d.ts +0 -6
- package/dist/types/ui/ElementBrowser/components/CategoryList.d.ts +0 -10
- package/dist/types/ui/ElementBrowser/components/ElementBrowserLoader.d.ts +0 -5
- package/dist/types/ui/ElementBrowser/components/ElementList/ElementList.d.ts +0 -29
- package/dist/types/ui/ElementBrowser/components/ElementList/EmptyState.d.ts +0 -6
- package/dist/types/ui/ElementBrowser/components/ElementList/NotFoundIllustration.d.ts +0 -2
- package/dist/types/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.d.ts +0 -7
- package/dist/types/ui/ElementBrowser/components/ElementList/utils.d.ts +0 -12
- package/dist/types/ui/ElementBrowser/components/ElementSearch.d.ts +0 -18
- package/dist/types/ui/ElementBrowser/components/StatelessElementBrowser.d.ts +0 -23
- package/dist/types/ui/ElementBrowser/constants.d.ts +0 -20
- package/dist/types/ui/ElementBrowser/hooks/use-container-width.d.ts +0 -33
- package/dist/types/ui/ElementBrowser/hooks/use-focus.d.ts +0 -35
- package/dist/types/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.d.ts +0 -72
- package/dist/types/ui/ElementBrowser/index.d.ts +0 -2
- package/dist/types-ts4.5/ui/ElementBrowser/ElementBrowser.d.ts +0 -37
- package/dist/types-ts4.5/ui/ElementBrowser/ViewMore.d.ts +0 -6
- package/dist/types-ts4.5/ui/ElementBrowser/components/CategoryList.d.ts +0 -10
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementBrowserLoader.d.ts +0 -5
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/ElementList.d.ts +0 -29
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/EmptyState.d.ts +0 -6
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/NotFoundIllustration.d.ts +0 -2
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.d.ts +0 -7
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/utils.d.ts +0 -12
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementSearch.d.ts +0 -18
- package/dist/types-ts4.5/ui/ElementBrowser/components/StatelessElementBrowser.d.ts +0 -23
- package/dist/types-ts4.5/ui/ElementBrowser/constants.d.ts +0 -20
- package/dist/types-ts4.5/ui/ElementBrowser/hooks/use-container-width.d.ts +0 -33
- package/dist/types-ts4.5/ui/ElementBrowser/hooks/use-focus.d.ts +0 -35
- package/dist/types-ts4.5/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.d.ts +0 -72
- package/dist/types-ts4.5/ui/ElementBrowser/index.d.ts +0 -2
- /package/dist/cjs/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.js +0 -0
- /package/dist/cjs/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.js +0 -0
- /package/dist/es2019/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.js +0 -0
- /package/dist/es2019/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.js +0 -0
- /package/dist/esm/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.js +0 -0
- /package/dist/esm/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.js +0 -0
- /package/dist/types/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.d.ts +0 -0
- /package/dist/types-ts4.5/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.d.ts +0 -0
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
12
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
var _react2 = require("@emotion/react");
|
|
14
|
-
var _reactIntlNext = require("react-intl-next");
|
|
15
|
-
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
16
|
-
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
17
|
-
var _ElementList = _interopRequireDefault(require("./ElementList/ElementList"));
|
|
18
|
-
var _CategoryList = _interopRequireDefault(require("./CategoryList"));
|
|
19
|
-
var _ElementSearch = _interopRequireDefault(require("./ElementSearch"));
|
|
20
|
-
var _constants = require("../constants");
|
|
21
|
-
var _useContainerWidth2 = _interopRequireDefault(require("../hooks/use-container-width"));
|
|
22
|
-
var _useSelectAndFocusOnArrowNavigation = _interopRequireDefault(require("../hooks/use-select-and-focus-on-arrow-navigation"));
|
|
23
|
-
var _ViewMore = require("../ViewMore");
|
|
24
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
|
25
|
-
/** @jsx jsx */
|
|
26
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
28
|
-
var wrapper = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n max-height: inherit;\n overflow: hidden;\n"])));
|
|
29
|
-
var baseBrowserContainerStyles = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n height: 100%;\n /** Needed for Safari to work with current css.\n * 100% heights wont work and\n * will default to auto if one of the containers doesn't have a specified height in pixels.\n * Setting the min-height to fill available fits safari's needs and the above 100% height works on the rest of the browsers.\n */\n\n /* TODO: fix in develop: https://atlassian.slack.com/archives/CFG3PSQ9E/p1647395052443259?thread_ts=1647394572.556029&cid=CFG3PSQ9E */\n\n /* stylelint-disable-next-line */\n min-height: -webkit-fill-available;\n"])));
|
|
30
|
-
var mobileElementBrowserContainer = (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n flex-direction: column;\n"])), baseBrowserContainerStyles);
|
|
31
|
-
var elementBrowserContainer = (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n flex-direction: row;\n"])), baseBrowserContainerStyles);
|
|
32
|
-
var baseSidebarStyles = (0, _react2.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n\n overflow-x: auto;\n overflow-y: hidden;\n"])));
|
|
33
|
-
var mobileSideBar = (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n flex: 0 0 ", ";\n padding: ", " ", " 0\n ", ";\n"])), baseSidebarStyles, _constants.INLINE_SIDEBAR_HEIGHT, "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)");
|
|
34
|
-
var mobileSideBarShowCategories = (0, _react2.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n flex: 0 0 auto;\n"])));
|
|
35
|
-
var sideBar = (0, _react2.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n flex: 0 0 'auto';\n"])), baseSidebarStyles);
|
|
36
|
-
var sideBarShowCategories = (0, _react2.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n flex: 0 0 ", ";\n"])), baseSidebarStyles, _constants.SIDEBAR_WIDTH);
|
|
37
|
-
var sidebarHeading = (0, _react2.css)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n flex: 0 0 ", ";\n display: inline-flex;\n align-items: center;\n padding-left: ", ";\n font-weight: 700;\n"])), _constants.SIDEBAR_HEADING_WRAPPER_HEIGHT, _constants.SIDEBAR_HEADING_PADDING_LEFT);
|
|
38
|
-
var mobileMainContent = (0, _react2.css)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n flex: 1 1 auto;\n\n display: flex;\n flex-direction: column;\n\n overflow-y: auto;\n height: 100%;\n"])));
|
|
39
|
-
var mainContent = (0, _react2.css)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n margin-left: ", "px;\n // Needed for safari\n height: auto;\n"])), mobileMainContent, _constants.GRID_SIZE * 2);
|
|
40
|
-
var searchContainer = (0, _react2.css)(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2.default)(["\n padding-bottom: ", "px;\n"])), _constants.GRID_SIZE * 2);
|
|
41
|
-
var mobileCategoryListWrapper = (0, _react2.css)(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n overflow-x: auto;\n\n padding: ", "px 0 ", "px 0;\n min-height: ", "px;\n\n overflow: -moz-scrollbars-none;\n ::-webkit-scrollbar {\n display: none;\n }\n scrollbar-width: none;\n -ms-overflow-style: none;\n"])), _constants.GRID_SIZE, _constants.GRID_SIZE * 2, _constants.GRID_SIZE * 4);
|
|
42
|
-
var categoryListWrapper = (0, _react2.css)(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n padding: 0;\n margin-top: ", "px;\n flex-direction: column;\n"])), mobileCategoryListWrapper, _constants.GRID_SIZE * 3);
|
|
43
|
-
function StatelessElementBrowser(props) {
|
|
44
|
-
var items = props.items,
|
|
45
|
-
onSelectItem = props.onSelectItem,
|
|
46
|
-
onInsertItem = props.onInsertItem,
|
|
47
|
-
viewMoreItem = props.viewMoreItem;
|
|
48
|
-
var _useContainerWidth = (0, _useContainerWidth2.default)(),
|
|
49
|
-
containerWidth = _useContainerWidth.containerWidth,
|
|
50
|
-
ContainerWidthMonitor = _useContainerWidth.ContainerWidthMonitor;
|
|
51
|
-
var _useState = (0, _react.useState)(1),
|
|
52
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
53
|
-
columnCount = _useState2[0],
|
|
54
|
-
setColumnCount = _useState2[1];
|
|
55
|
-
var _useSelectAndFocusOnA = (0, _useSelectAndFocusOnArrowNavigation.default)(items.length - 1, columnCount, !!viewMoreItem),
|
|
56
|
-
selectedItemIndex = _useSelectAndFocusOnA.selectedItemIndex,
|
|
57
|
-
focusedItemIndex = _useSelectAndFocusOnA.focusedItemIndex,
|
|
58
|
-
setFocusedItemIndex = _useSelectAndFocusOnA.setFocusedItemIndex,
|
|
59
|
-
focusOnSearch = _useSelectAndFocusOnA.focusOnSearch,
|
|
60
|
-
focusOnViewMore = _useSelectAndFocusOnA.focusOnViewMore,
|
|
61
|
-
onKeyDown = _useSelectAndFocusOnA.onKeyDown,
|
|
62
|
-
setFocusOnSearch = _useSelectAndFocusOnA.setFocusOnSearch;
|
|
63
|
-
(0, _react.useEffect)(function () {
|
|
64
|
-
(0, _analytics.fireAnalyticsEvent)(props.createAnalyticsEvent)({
|
|
65
|
-
payload: {
|
|
66
|
-
action: _analytics.ACTION.OPENED,
|
|
67
|
-
actionSubject: _analytics.ACTION_SUBJECT.ELEMENT_BROWSER,
|
|
68
|
-
eventType: _analytics.EVENT_TYPE.UI,
|
|
69
|
-
attributes: {
|
|
70
|
-
mode: props.mode
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
return function () {
|
|
75
|
-
(0, _analytics.fireAnalyticsEvent)(props.createAnalyticsEvent)({
|
|
76
|
-
payload: {
|
|
77
|
-
action: _analytics.ACTION.CLOSED,
|
|
78
|
-
actionSubject: _analytics.ACTION_SUBJECT.ELEMENT_BROWSER,
|
|
79
|
-
eventType: _analytics.EVENT_TYPE.UI,
|
|
80
|
-
attributes: {
|
|
81
|
-
mode: props.mode
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
};
|
|
86
|
-
}, [props.createAnalyticsEvent, props.mode]);
|
|
87
|
-
|
|
88
|
-
/* Only for hitting enter to select item when focused on search bar,
|
|
89
|
-
* The actual enter key press is handled on individual items level.
|
|
90
|
-
*/
|
|
91
|
-
var selectedItem = selectedItemIndex !== undefined ? items[selectedItemIndex] : null;
|
|
92
|
-
var onItemsEnterKeyPress = (0, _react.useCallback)(function (e) {
|
|
93
|
-
if (e.key !== 'Enter') {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
if (onInsertItem && selectedItem != null) {
|
|
97
|
-
onInsertItem(selectedItem);
|
|
98
|
-
}
|
|
99
|
-
e.preventDefault();
|
|
100
|
-
}, [onInsertItem, selectedItem]);
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* On arrow key selection and clicks the selectedItemIndex will change.
|
|
104
|
-
* Making sure to update parent component.
|
|
105
|
-
*/
|
|
106
|
-
(0, _react.useEffect)(function () {
|
|
107
|
-
if (onSelectItem && selectedItem != null) {
|
|
108
|
-
onSelectItem(selectedItem);
|
|
109
|
-
}
|
|
110
|
-
}, [onSelectItem, selectedItem]);
|
|
111
|
-
return (0, _react2.jsx)("div", {
|
|
112
|
-
css: wrapper,
|
|
113
|
-
"data-testid": "element-browser"
|
|
114
|
-
}, (0, _react2.jsx)(ContainerWidthMonitor, null), containerWidth < _constants.DEVICE_BREAKPOINT_NUMBERS.medium ? (0, _react2.jsx)(MobileBrowser, (0, _extends2.default)({}, props, {
|
|
115
|
-
selectedItemIndex: selectedItemIndex,
|
|
116
|
-
focusedItemIndex: focusedItemIndex,
|
|
117
|
-
setFocusedItemIndex: setFocusedItemIndex,
|
|
118
|
-
focusOnSearch: focusOnSearch,
|
|
119
|
-
setColumnCount: setColumnCount,
|
|
120
|
-
setFocusOnSearch: setFocusOnSearch,
|
|
121
|
-
onKeyPress: onItemsEnterKeyPress,
|
|
122
|
-
onKeyDown: onKeyDown,
|
|
123
|
-
viewMoreItem: viewMoreItem,
|
|
124
|
-
focusOnViewMore: focusOnViewMore
|
|
125
|
-
})) : (0, _react2.jsx)(DesktopBrowser, (0, _extends2.default)({}, props, {
|
|
126
|
-
selectedItemIndex: selectedItemIndex,
|
|
127
|
-
focusedItemIndex: focusedItemIndex,
|
|
128
|
-
setFocusedItemIndex: setFocusedItemIndex,
|
|
129
|
-
focusOnSearch: focusOnSearch,
|
|
130
|
-
setColumnCount: setColumnCount,
|
|
131
|
-
setFocusOnSearch: setFocusOnSearch,
|
|
132
|
-
onKeyPress: onItemsEnterKeyPress,
|
|
133
|
-
onKeyDown: onKeyDown
|
|
134
|
-
})));
|
|
135
|
-
}
|
|
136
|
-
function MobileBrowser(_ref) {
|
|
137
|
-
var showCategories = _ref.showCategories,
|
|
138
|
-
showSearch = _ref.showSearch,
|
|
139
|
-
onSearch = _ref.onSearch,
|
|
140
|
-
mode = _ref.mode,
|
|
141
|
-
categories = _ref.categories,
|
|
142
|
-
onSelectCategory = _ref.onSelectCategory,
|
|
143
|
-
items = _ref.items,
|
|
144
|
-
onInsertItem = _ref.onInsertItem,
|
|
145
|
-
selectedCategory = _ref.selectedCategory,
|
|
146
|
-
selectedItemIndex = _ref.selectedItemIndex,
|
|
147
|
-
focusedItemIndex = _ref.focusedItemIndex,
|
|
148
|
-
setFocusedItemIndex = _ref.setFocusedItemIndex,
|
|
149
|
-
focusOnSearch = _ref.focusOnSearch,
|
|
150
|
-
focusOnViewMore = _ref.focusOnViewMore,
|
|
151
|
-
setColumnCount = _ref.setColumnCount,
|
|
152
|
-
setFocusOnSearch = _ref.setFocusOnSearch,
|
|
153
|
-
onKeyPress = _ref.onKeyPress,
|
|
154
|
-
onKeyDown = _ref.onKeyDown,
|
|
155
|
-
searchTerm = _ref.searchTerm,
|
|
156
|
-
createAnalyticsEvent = _ref.createAnalyticsEvent,
|
|
157
|
-
emptyStateHandler = _ref.emptyStateHandler,
|
|
158
|
-
viewMoreItem = _ref.viewMoreItem;
|
|
159
|
-
return (0, _react2.jsx)("div", {
|
|
160
|
-
css: mobileElementBrowserContainer,
|
|
161
|
-
onKeyDown: onKeyDown,
|
|
162
|
-
"data-testid": "mobile__element-browser"
|
|
163
|
-
}, (0, _react2.jsx)("div", {
|
|
164
|
-
css: showCategories ? [mobileSideBar, mobileSideBarShowCategories] : mobileSideBar
|
|
165
|
-
}, showSearch && (0, _react2.jsx)(_ElementSearch.default, {
|
|
166
|
-
onSearch: onSearch,
|
|
167
|
-
onKeyDown: onKeyPress,
|
|
168
|
-
mode: mode,
|
|
169
|
-
focus: focusOnSearch,
|
|
170
|
-
onClick: setFocusOnSearch,
|
|
171
|
-
searchTerm: searchTerm
|
|
172
|
-
}), showCategories && (0, _react2.jsx)("nav", {
|
|
173
|
-
css: mobileCategoryListWrapper,
|
|
174
|
-
tabIndex: -1
|
|
175
|
-
}, (0, _react2.jsx)(_CategoryList.default, {
|
|
176
|
-
categories: categories,
|
|
177
|
-
onSelectCategory: onSelectCategory,
|
|
178
|
-
selectedCategory: selectedCategory
|
|
179
|
-
}))), (0, _react2.jsx)("div", {
|
|
180
|
-
css: mobileMainContent
|
|
181
|
-
}, (0, _react2.jsx)(_ElementList.default, {
|
|
182
|
-
items: items,
|
|
183
|
-
mode: mode,
|
|
184
|
-
onInsertItem: onInsertItem,
|
|
185
|
-
selectedItemIndex: selectedItemIndex,
|
|
186
|
-
focusedItemIndex: focusedItemIndex,
|
|
187
|
-
setFocusedItemIndex: setFocusedItemIndex,
|
|
188
|
-
setColumnCount: setColumnCount,
|
|
189
|
-
createAnalyticsEvent: createAnalyticsEvent,
|
|
190
|
-
emptyStateHandler: emptyStateHandler,
|
|
191
|
-
selectedCategory: selectedCategory,
|
|
192
|
-
searchTerm: searchTerm
|
|
193
|
-
})), viewMoreItem && (0, _react2.jsx)(_ViewMore.ViewMore, {
|
|
194
|
-
item: viewMoreItem,
|
|
195
|
-
focus: focusOnViewMore
|
|
196
|
-
}));
|
|
197
|
-
}
|
|
198
|
-
function DesktopBrowser(_ref2) {
|
|
199
|
-
var showCategories = _ref2.showCategories,
|
|
200
|
-
showSearch = _ref2.showSearch,
|
|
201
|
-
onSearch = _ref2.onSearch,
|
|
202
|
-
mode = _ref2.mode,
|
|
203
|
-
categories = _ref2.categories,
|
|
204
|
-
onSelectCategory = _ref2.onSelectCategory,
|
|
205
|
-
items = _ref2.items,
|
|
206
|
-
onInsertItem = _ref2.onInsertItem,
|
|
207
|
-
selectedCategory = _ref2.selectedCategory,
|
|
208
|
-
selectedItemIndex = _ref2.selectedItemIndex,
|
|
209
|
-
focusedItemIndex = _ref2.focusedItemIndex,
|
|
210
|
-
setFocusedItemIndex = _ref2.setFocusedItemIndex,
|
|
211
|
-
focusOnSearch = _ref2.focusOnSearch,
|
|
212
|
-
setColumnCount = _ref2.setColumnCount,
|
|
213
|
-
setFocusOnSearch = _ref2.setFocusOnSearch,
|
|
214
|
-
onKeyPress = _ref2.onKeyPress,
|
|
215
|
-
onKeyDown = _ref2.onKeyDown,
|
|
216
|
-
searchTerm = _ref2.searchTerm,
|
|
217
|
-
createAnalyticsEvent = _ref2.createAnalyticsEvent,
|
|
218
|
-
emptyStateHandler = _ref2.emptyStateHandler;
|
|
219
|
-
return (0, _react2.jsx)("div", {
|
|
220
|
-
css: elementBrowserContainer,
|
|
221
|
-
"data-testid": "desktop__element-browser"
|
|
222
|
-
}, showCategories && (0, _react2.jsx)("div", {
|
|
223
|
-
css: showCategories ? sideBarShowCategories : sideBar
|
|
224
|
-
}, (0, _react2.jsx)("h2", {
|
|
225
|
-
css: sidebarHeading,
|
|
226
|
-
"data-testid": "sidebar-heading"
|
|
227
|
-
}, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, {
|
|
228
|
-
id: "fabric.editor.elementbrowser.sidebar.heading",
|
|
229
|
-
defaultMessage: "Browse",
|
|
230
|
-
description: "Sidebar heading"
|
|
231
|
-
})), (0, _react2.jsx)("nav", {
|
|
232
|
-
css: categoryListWrapper
|
|
233
|
-
}, (0, _react2.jsx)(_CategoryList.default, {
|
|
234
|
-
categories: categories,
|
|
235
|
-
onSelectCategory: onSelectCategory,
|
|
236
|
-
selectedCategory: selectedCategory,
|
|
237
|
-
createAnalyticsEvent: createAnalyticsEvent
|
|
238
|
-
}))), (0, _react2.jsx)("div", {
|
|
239
|
-
css: mainContent,
|
|
240
|
-
onKeyDown: onKeyDown,
|
|
241
|
-
"data-testid": "main-content"
|
|
242
|
-
}, showSearch && (0, _react2.jsx)("div", {
|
|
243
|
-
css: searchContainer
|
|
244
|
-
}, (0, _react2.jsx)(_ElementSearch.default, {
|
|
245
|
-
onSearch: onSearch,
|
|
246
|
-
onKeyDown: onKeyPress,
|
|
247
|
-
mode: mode,
|
|
248
|
-
focus: focusOnSearch,
|
|
249
|
-
onClick: setFocusOnSearch,
|
|
250
|
-
searchTerm: searchTerm
|
|
251
|
-
})), (0, _react2.jsx)(_ElementList.default, {
|
|
252
|
-
items: items,
|
|
253
|
-
mode: mode,
|
|
254
|
-
onInsertItem: onInsertItem,
|
|
255
|
-
selectedItemIndex: selectedItemIndex,
|
|
256
|
-
focusedItemIndex: focusedItemIndex,
|
|
257
|
-
setFocusedItemIndex: setFocusedItemIndex,
|
|
258
|
-
setColumnCount: setColumnCount,
|
|
259
|
-
createAnalyticsEvent: createAnalyticsEvent,
|
|
260
|
-
emptyStateHandler: emptyStateHandler,
|
|
261
|
-
selectedCategory: selectedCategory,
|
|
262
|
-
searchTerm: searchTerm
|
|
263
|
-
})));
|
|
264
|
-
}
|
|
265
|
-
var MemoizedElementBrowser = /*#__PURE__*/(0, _react.memo)((0, _analyticsNext.withAnalyticsContext)({
|
|
266
|
-
source: 'ElementBrowser'
|
|
267
|
-
})((0, _analyticsNext.withAnalyticsEvents)()(StatelessElementBrowser)));
|
|
268
|
-
var _default = MemoizedElementBrowser;
|
|
269
|
-
exports.default = _default;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.SIDEBAR_WIDTH = exports.SIDEBAR_HEADING_WRAPPER_HEIGHT = exports.SIDEBAR_HEADING_PADDING_LEFT = exports.SEARCH_ITEM_HEIGHT_WIDTH = exports.SCROLLBAR_WIDTH = exports.MODAL_WRAPPER_PADDING = exports.INLINE_SIDEBAR_HEIGHT = exports.GRID_SIZE = exports.FLEX_ITEMS_CONTAINER_BREAKPOINT_NUMBERS = exports.ELEMENT_LIST_PADDING = exports.ELEMENT_ITEM_HEIGHT = exports.DEVICE_BREAKPOINT_NUMBERS = void 0;
|
|
7
|
-
var _constants = require("@atlaskit/theme/constants");
|
|
8
|
-
// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
|
|
9
|
-
|
|
10
|
-
// TODO: Migrate away from gridSize
|
|
11
|
-
// Recommendation: Replace gridSize with 8
|
|
12
|
-
var GRID_SIZE = (0, _constants.gridSize)();
|
|
13
|
-
exports.GRID_SIZE = GRID_SIZE;
|
|
14
|
-
var DEVICE_BREAKPOINT_NUMBERS = {
|
|
15
|
-
small: GRID_SIZE * 40,
|
|
16
|
-
medium: GRID_SIZE * 75,
|
|
17
|
-
large: GRID_SIZE * 128
|
|
18
|
-
};
|
|
19
|
-
exports.DEVICE_BREAKPOINT_NUMBERS = DEVICE_BREAKPOINT_NUMBERS;
|
|
20
|
-
var FLEX_ITEMS_CONTAINER_BREAKPOINT_NUMBERS = {
|
|
21
|
-
small: GRID_SIZE * 50,
|
|
22
|
-
medium: DEVICE_BREAKPOINT_NUMBERS.medium,
|
|
23
|
-
large: DEVICE_BREAKPOINT_NUMBERS.large
|
|
24
|
-
};
|
|
25
|
-
exports.FLEX_ITEMS_CONTAINER_BREAKPOINT_NUMBERS = FLEX_ITEMS_CONTAINER_BREAKPOINT_NUMBERS;
|
|
26
|
-
var SIDEBAR_WIDTH = "".concat(GRID_SIZE * 25, "px");
|
|
27
|
-
exports.SIDEBAR_WIDTH = SIDEBAR_WIDTH;
|
|
28
|
-
var SIDEBAR_HEADING_WRAPPER_HEIGHT = "".concat(GRID_SIZE * 6, "px");
|
|
29
|
-
exports.SIDEBAR_HEADING_WRAPPER_HEIGHT = SIDEBAR_HEADING_WRAPPER_HEIGHT;
|
|
30
|
-
var SIDEBAR_HEADING_PADDING_LEFT = '12px';
|
|
31
|
-
exports.SIDEBAR_HEADING_PADDING_LEFT = SIDEBAR_HEADING_PADDING_LEFT;
|
|
32
|
-
var INLINE_SIDEBAR_HEIGHT = '54px';
|
|
33
|
-
exports.INLINE_SIDEBAR_HEIGHT = INLINE_SIDEBAR_HEIGHT;
|
|
34
|
-
var SEARCH_ITEM_HEIGHT_WIDTH = '20px';
|
|
35
|
-
exports.SEARCH_ITEM_HEIGHT_WIDTH = SEARCH_ITEM_HEIGHT_WIDTH;
|
|
36
|
-
var SCROLLBAR_WIDTH = 15;
|
|
37
|
-
exports.SCROLLBAR_WIDTH = SCROLLBAR_WIDTH;
|
|
38
|
-
var ELEMENT_LIST_PADDING = 2;
|
|
39
|
-
exports.ELEMENT_LIST_PADDING = ELEMENT_LIST_PADDING;
|
|
40
|
-
var MODAL_WRAPPER_PADDING = 16;
|
|
41
|
-
exports.MODAL_WRAPPER_PADDING = MODAL_WRAPPER_PADDING;
|
|
42
|
-
var ELEMENT_ITEM_HEIGHT = 75;
|
|
43
|
-
exports.ELEMENT_ITEM_HEIGHT = ELEMENT_ITEM_HEIGHT;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = useContainerWidth;
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _react2 = require("@emotion/react");
|
|
13
|
-
var _widthDetector = require("@atlaskit/width-detector");
|
|
14
|
-
var _templateObject;
|
|
15
|
-
/** @jsx jsx */
|
|
16
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
* Problem:
|
|
21
|
-
* While using WidthObserver, there's no initial width.
|
|
22
|
-
* That may cause problems, but not limited to, something like a lag between
|
|
23
|
-
* renders for conditionally rendered components.
|
|
24
|
-
*
|
|
25
|
-
* solution:
|
|
26
|
-
* useContainerWidth() hook
|
|
27
|
-
* it pre-measures the width of a parent container on initial mount
|
|
28
|
-
* and gives you back the containerWidth.
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* Example hook usage:
|
|
32
|
-
*
|
|
33
|
-
* const { containerWidth, ContainerWidthMonitor } = useContainerWidth();
|
|
34
|
-
*
|
|
35
|
-
* return (
|
|
36
|
-
* <>
|
|
37
|
-
* <ContainerWidthMonitor />
|
|
38
|
-
* {containerWidth < 600 ? <MobileComponent /> : <DesktopComponent />}
|
|
39
|
-
* </>
|
|
40
|
-
* );
|
|
41
|
-
*
|
|
42
|
-
*/
|
|
43
|
-
|
|
44
|
-
var widthObserverWrapper = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n"])));
|
|
45
|
-
function useContainerWidth() {
|
|
46
|
-
var _useState = (0, _react.useState)(0),
|
|
47
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
48
|
-
containerWidth = _useState2[0],
|
|
49
|
-
setContainerWidth = _useState2[1];
|
|
50
|
-
var ref = (0, _react.useRef)(null);
|
|
51
|
-
(0, _react.useEffect)(function () {
|
|
52
|
-
var current = ref.current;
|
|
53
|
-
if (ref && current) {
|
|
54
|
-
setContainerWidth(current.getBoundingClientRect().width);
|
|
55
|
-
}
|
|
56
|
-
}, [ref]);
|
|
57
|
-
var ContainerWidthMonitor = /*#__PURE__*/(0, _react.memo)(function () {
|
|
58
|
-
return (0, _react2.jsx)("div", {
|
|
59
|
-
css: widthObserverWrapper,
|
|
60
|
-
ref: ref,
|
|
61
|
-
tabIndex: -1
|
|
62
|
-
}, (0, _react2.jsx)(_widthDetector.WidthObserver, {
|
|
63
|
-
setWidth: setContainerWidth
|
|
64
|
-
}));
|
|
65
|
-
});
|
|
66
|
-
return {
|
|
67
|
-
containerWidth: containerWidth,
|
|
68
|
-
ContainerWidthMonitor: ContainerWidthMonitor
|
|
69
|
-
};
|
|
70
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = useFocus;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
/**
|
|
9
|
-
* A custom hook that handles focus on a DOM element.
|
|
10
|
-
* Takes in a boolean value and calls element.focus
|
|
11
|
-
*
|
|
12
|
-
* @param {boolean} focus
|
|
13
|
-
*
|
|
14
|
-
* Example usage:
|
|
15
|
-
*******************************************************************************
|
|
16
|
-
* const SearchBar = ({ focus }) => {
|
|
17
|
-
* const ref = useFocus(focus);
|
|
18
|
-
* return <input ref={ref} />
|
|
19
|
-
* }
|
|
20
|
-
*******************************************************************************
|
|
21
|
-
* const ItemList = ({ items, focus }) => (
|
|
22
|
-
* <ul>
|
|
23
|
-
* {items.map((item, index) => (
|
|
24
|
-
* <Item key={item.uuid} item={item} focus={focus} />
|
|
25
|
-
* ))}
|
|
26
|
-
* </ul>
|
|
27
|
-
* );
|
|
28
|
-
*
|
|
29
|
-
* const Item = ({ item, focus }) => {
|
|
30
|
-
* const ref = useFocus(focus);
|
|
31
|
-
* return (
|
|
32
|
-
* <li ref={ref}>
|
|
33
|
-
* {item.name}
|
|
34
|
-
* </li>
|
|
35
|
-
* )
|
|
36
|
-
* }
|
|
37
|
-
*******************************************************************************
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
function useFocus(focus) {
|
|
41
|
-
var ref = (0, _react.useRef)(null);
|
|
42
|
-
(0, _react.useLayoutEffect)(function () {
|
|
43
|
-
var current = ref.current;
|
|
44
|
-
if (focus && current && document.activeElement !== current) {
|
|
45
|
-
current.focus({
|
|
46
|
-
preventScroll: true
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}, [focus]);
|
|
50
|
-
return ref;
|
|
51
|
-
}
|