@atlaskit/editor-core 187.40.2 → 187.41.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/editor-next/hooks/useEditorMeasuresConstructor.js +2 -2
  3. package/dist/cjs/editor-next/utils/editorMeasureTTICallback.js +3 -2
  4. package/dist/cjs/element-browser.js +2 -3
  5. package/dist/cjs/plugins/media/index.js +59 -54
  6. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +44 -29
  7. package/dist/cjs/plugins/media/ui/ToolbarMedia/index.js +20 -33
  8. package/dist/cjs/plugins/quick-insert/index.js +4 -2
  9. package/dist/cjs/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.js +8 -7
  10. package/dist/cjs/plugins/quick-insert/ui/ModalElementBrowser/index.js +10 -17
  11. package/dist/cjs/ui/ElementBrowser/InsertMenu.js +5 -6
  12. package/dist/cjs/ui/ElementBrowser/types.js +1 -8
  13. package/dist/cjs/version-wrapper.js +1 -1
  14. package/dist/es2019/editor-next/hooks/useEditorMeasuresConstructor.js +2 -2
  15. package/dist/es2019/editor-next/utils/editorMeasureTTICallback.js +3 -2
  16. package/dist/es2019/element-browser.js +1 -1
  17. package/dist/es2019/plugins/media/index.js +28 -20
  18. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +45 -27
  19. package/dist/es2019/plugins/media/ui/ToolbarMedia/index.js +24 -32
  20. package/dist/es2019/plugins/quick-insert/index.js +4 -2
  21. package/dist/es2019/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.js +5 -5
  22. package/dist/es2019/plugins/quick-insert/ui/ModalElementBrowser/index.js +8 -13
  23. package/dist/es2019/ui/ElementBrowser/InsertMenu.js +2 -3
  24. package/dist/es2019/ui/ElementBrowser/types.js +1 -5
  25. package/dist/es2019/version-wrapper.js +1 -1
  26. package/dist/esm/editor-next/hooks/useEditorMeasuresConstructor.js +2 -2
  27. package/dist/esm/editor-next/utils/editorMeasureTTICallback.js +3 -2
  28. package/dist/esm/element-browser.js +1 -1
  29. package/dist/esm/plugins/media/index.js +57 -52
  30. package/dist/esm/plugins/media/nodeviews/mediaInline.js +44 -29
  31. package/dist/esm/plugins/media/ui/ToolbarMedia/index.js +20 -30
  32. package/dist/esm/plugins/quick-insert/index.js +4 -2
  33. package/dist/esm/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.js +5 -5
  34. package/dist/esm/plugins/quick-insert/ui/ModalElementBrowser/index.js +10 -17
  35. package/dist/esm/ui/ElementBrowser/InsertMenu.js +2 -3
  36. package/dist/esm/ui/ElementBrowser/types.js +1 -5
  37. package/dist/esm/version-wrapper.js +1 -1
  38. package/dist/types/editor-next/hooks/useEditorMeasuresConstructor.d.ts +4 -4
  39. package/dist/types/editor-next/utils/editorMeasureTTICallback.d.ts +5 -5
  40. package/dist/types/element-browser.d.ts +1 -1
  41. package/dist/types/labs/next/presets/default.d.ts +2 -2
  42. package/dist/types/plugins/media/index.d.ts +1 -1
  43. package/dist/types/plugins/media/nodeviews/mediaInline.d.ts +5 -4
  44. package/dist/types/plugins/media/types.d.ts +10 -1
  45. package/dist/types/plugins/media/ui/ToolbarMedia/index.d.ts +6 -10
  46. package/dist/types/plugins/quick-insert/index.d.ts +3 -3
  47. package/dist/types/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.d.ts +4 -3
  48. package/dist/types/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.d.ts +1 -1
  49. package/dist/types/plugins/quick-insert/ui/ModalElementBrowser/index.d.ts +4 -1
  50. package/dist/types/ui/ElementBrowser/types.d.ts +6 -18
  51. package/dist/types-ts4.5/editor-next/hooks/useEditorMeasuresConstructor.d.ts +4 -4
  52. package/dist/types-ts4.5/editor-next/utils/editorMeasureTTICallback.d.ts +5 -5
  53. package/dist/types-ts4.5/element-browser.d.ts +1 -1
  54. package/dist/types-ts4.5/labs/next/presets/default.d.ts +2 -2
  55. package/dist/types-ts4.5/plugins/media/index.d.ts +1 -1
  56. package/dist/types-ts4.5/plugins/media/nodeviews/mediaInline.d.ts +5 -4
  57. package/dist/types-ts4.5/plugins/media/types.d.ts +10 -1
  58. package/dist/types-ts4.5/plugins/media/ui/ToolbarMedia/index.d.ts +6 -10
  59. package/dist/types-ts4.5/plugins/quick-insert/index.d.ts +3 -3
  60. package/dist/types-ts4.5/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.d.ts +4 -3
  61. package/dist/types-ts4.5/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.d.ts +1 -1
  62. package/dist/types-ts4.5/plugins/quick-insert/ui/ModalElementBrowser/index.d.ts +4 -1
  63. package/dist/types-ts4.5/ui/ElementBrowser/types.d.ts +6 -18
  64. package/package.json +2 -2
  65. package/report.api.md +7 -1
  66. package/tmp/api-report-tmp.d.ts +7 -1
  67. package/dist/cjs/ui/ElementBrowser/ElementBrowser.js +0 -152
  68. package/dist/cjs/ui/ElementBrowser/ViewMore.js +0 -39
  69. package/dist/cjs/ui/ElementBrowser/components/CategoryList.js +0 -115
  70. package/dist/cjs/ui/ElementBrowser/components/ElementBrowserLoader.js +0 -36
  71. package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +0 -250
  72. package/dist/cjs/ui/ElementBrowser/components/ElementList/EmptyState.js +0 -47
  73. package/dist/cjs/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +0 -69
  74. package/dist/cjs/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.js +0 -42
  75. package/dist/cjs/ui/ElementBrowser/components/ElementList/utils.js +0 -54
  76. package/dist/cjs/ui/ElementBrowser/components/ElementSearch.js +0 -88
  77. package/dist/cjs/ui/ElementBrowser/components/StatelessElementBrowser.js +0 -269
  78. package/dist/cjs/ui/ElementBrowser/constants.js +0 -43
  79. package/dist/cjs/ui/ElementBrowser/hooks/use-container-width.js +0 -70
  80. package/dist/cjs/ui/ElementBrowser/hooks/use-focus.js +0 -51
  81. package/dist/cjs/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.js +0 -286
  82. package/dist/cjs/ui/ElementBrowser/index.js +0 -10
  83. package/dist/es2019/ui/ElementBrowser/ElementBrowser.js +0 -117
  84. package/dist/es2019/ui/ElementBrowser/ViewMore.js +0 -40
  85. package/dist/es2019/ui/ElementBrowser/components/CategoryList.js +0 -104
  86. package/dist/es2019/ui/ElementBrowser/components/ElementBrowserLoader.js +0 -21
  87. package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +0 -301
  88. package/dist/es2019/ui/ElementBrowser/components/ElementList/EmptyState.js +0 -58
  89. package/dist/es2019/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +0 -64
  90. package/dist/es2019/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.js +0 -39
  91. package/dist/es2019/ui/ElementBrowser/components/ElementList/utils.js +0 -50
  92. package/dist/es2019/ui/ElementBrowser/components/ElementSearch.js +0 -117
  93. package/dist/es2019/ui/ElementBrowser/components/StatelessElementBrowser.js +0 -339
  94. package/dist/es2019/ui/ElementBrowser/constants.js +0 -24
  95. package/dist/es2019/ui/ElementBrowser/hooks/use-container-width.js +0 -59
  96. package/dist/es2019/ui/ElementBrowser/hooks/use-focus.js +0 -48
  97. package/dist/es2019/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.js +0 -284
  98. package/dist/es2019/ui/ElementBrowser/index.js +0 -2
  99. package/dist/esm/ui/ElementBrowser/ElementBrowser.js +0 -142
  100. package/dist/esm/ui/ElementBrowser/ViewMore.js +0 -31
  101. package/dist/esm/ui/ElementBrowser/components/CategoryList.js +0 -104
  102. package/dist/esm/ui/ElementBrowser/components/ElementBrowserLoader.js +0 -23
  103. package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +0 -238
  104. package/dist/esm/ui/ElementBrowser/components/ElementList/EmptyState.js +0 -40
  105. package/dist/esm/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +0 -62
  106. package/dist/esm/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.js +0 -37
  107. package/dist/esm/ui/ElementBrowser/components/ElementList/utils.js +0 -46
  108. package/dist/esm/ui/ElementBrowser/components/ElementSearch.js +0 -77
  109. package/dist/esm/ui/ElementBrowser/components/StatelessElementBrowser.js +0 -258
  110. package/dist/esm/ui/ElementBrowser/constants.js +0 -24
  111. package/dist/esm/ui/ElementBrowser/hooks/use-container-width.js +0 -61
  112. package/dist/esm/ui/ElementBrowser/hooks/use-focus.js +0 -46
  113. package/dist/esm/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.js +0 -278
  114. package/dist/esm/ui/ElementBrowser/index.js +0 -2
  115. package/dist/types/ui/ElementBrowser/ElementBrowser.d.ts +0 -37
  116. package/dist/types/ui/ElementBrowser/ViewMore.d.ts +0 -6
  117. package/dist/types/ui/ElementBrowser/components/CategoryList.d.ts +0 -10
  118. package/dist/types/ui/ElementBrowser/components/ElementBrowserLoader.d.ts +0 -5
  119. package/dist/types/ui/ElementBrowser/components/ElementList/ElementList.d.ts +0 -29
  120. package/dist/types/ui/ElementBrowser/components/ElementList/EmptyState.d.ts +0 -6
  121. package/dist/types/ui/ElementBrowser/components/ElementList/NotFoundIllustration.d.ts +0 -2
  122. package/dist/types/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.d.ts +0 -7
  123. package/dist/types/ui/ElementBrowser/components/ElementList/utils.d.ts +0 -12
  124. package/dist/types/ui/ElementBrowser/components/ElementSearch.d.ts +0 -18
  125. package/dist/types/ui/ElementBrowser/components/StatelessElementBrowser.d.ts +0 -23
  126. package/dist/types/ui/ElementBrowser/constants.d.ts +0 -20
  127. package/dist/types/ui/ElementBrowser/hooks/use-container-width.d.ts +0 -33
  128. package/dist/types/ui/ElementBrowser/hooks/use-focus.d.ts +0 -35
  129. package/dist/types/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.d.ts +0 -72
  130. package/dist/types/ui/ElementBrowser/index.d.ts +0 -2
  131. package/dist/types-ts4.5/ui/ElementBrowser/ElementBrowser.d.ts +0 -37
  132. package/dist/types-ts4.5/ui/ElementBrowser/ViewMore.d.ts +0 -6
  133. package/dist/types-ts4.5/ui/ElementBrowser/components/CategoryList.d.ts +0 -10
  134. package/dist/types-ts4.5/ui/ElementBrowser/components/ElementBrowserLoader.d.ts +0 -5
  135. package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/ElementList.d.ts +0 -29
  136. package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/EmptyState.d.ts +0 -6
  137. package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/NotFoundIllustration.d.ts +0 -2
  138. package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.d.ts +0 -7
  139. package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/utils.d.ts +0 -12
  140. package/dist/types-ts4.5/ui/ElementBrowser/components/ElementSearch.d.ts +0 -18
  141. package/dist/types-ts4.5/ui/ElementBrowser/components/StatelessElementBrowser.d.ts +0 -23
  142. package/dist/types-ts4.5/ui/ElementBrowser/constants.d.ts +0 -20
  143. package/dist/types-ts4.5/ui/ElementBrowser/hooks/use-container-width.d.ts +0 -33
  144. package/dist/types-ts4.5/ui/ElementBrowser/hooks/use-focus.d.ts +0 -35
  145. package/dist/types-ts4.5/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.d.ts +0 -72
  146. package/dist/types-ts4.5/ui/ElementBrowser/index.d.ts +0 -2
  147. /package/dist/cjs/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.js +0 -0
  148. /package/dist/cjs/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.js +0 -0
  149. /package/dist/es2019/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.js +0 -0
  150. /package/dist/es2019/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.js +0 -0
  151. /package/dist/esm/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.js +0 -0
  152. /package/dist/esm/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.js +0 -0
  153. /package/dist/types/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.d.ts +0 -0
  154. /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
- }