@jetbrains/ring-ui-built 6.1.1-beta.0 → 7.0.0-beta.10
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/components/_helpers/_rollupPluginBabelHelpers.js +1 -504
- package/components/_helpers/anchor.js +7 -10
- package/components/_helpers/button__classes.js +23 -20
- package/components/_helpers/caption.js +11 -21
- package/components/_helpers/card.js +91 -123
- package/components/_helpers/dialog__body-scroll-preventer.js +10 -17
- package/components/_helpers/header.js +1 -1
- package/components/_helpers/icon__svg.js +27 -29
- package/components/_helpers/input.js +151 -193
- package/components/_helpers/query-assist__suggestions.js +79 -94
- package/components/_helpers/select__filter.js +56 -75
- package/components/_helpers/services-link.js +23 -39
- package/components/_helpers/sidebar.js +91 -102
- package/components/_helpers/tab-link.js +8 -12
- package/components/_helpers/table.js +1 -1
- package/components/_helpers/theme.js +61 -51
- package/components/_helpers/title.js +59 -84
- package/components/alert/alert.d.ts +7 -24
- package/components/alert/alert.js +111 -179
- package/components/alert/container.d.ts +0 -5
- package/components/alert/container.js +32 -44
- package/components/alert-service/alert-service.js +104 -162
- package/components/analytics/analytics.js +12 -20
- package/components/analytics/analytics__custom-plugin.js +52 -68
- package/components/auth/auth.js +2 -31
- package/components/auth/auth__core.d.ts +1 -1
- package/components/auth/auth__core.js +754 -1440
- package/components/auth/background-flow.js +84 -121
- package/components/auth/down-notification.js +32 -79
- package/components/auth/iframe-flow.js +71 -125
- package/components/auth/request-builder.js +46 -77
- package/components/auth/response-parser.js +84 -112
- package/components/auth/storage.js +162 -324
- package/components/auth/token-validator.js +132 -227
- package/components/auth/window-flow.js +84 -121
- package/components/auth-dialog/auth-dialog.d.ts +0 -18
- package/components/auth-dialog/auth-dialog.js +107 -176
- package/components/auth-dialog-service/auth-dialog-service.js +12 -33
- package/components/avatar/avatar-example-datauri.js +1 -1
- package/components/avatar/avatar.d.ts +0 -13
- package/components/avatar/avatar.js +94 -136
- package/components/avatar/fallback-avatar.d.ts +1 -10
- package/components/avatar/fallback-avatar.js +20 -40
- package/components/badge/badge.d.ts +0 -10
- package/components/badge/badge.js +32 -48
- package/components/breadcrumbs/breadcrumbs.js +13 -17
- package/components/button/button.d.ts +0 -21
- package/components/button/button.js +68 -104
- package/components/button/button__classes.d.ts +1 -1
- package/components/button-group/button-group.d.ts +0 -5
- package/components/button-group/button-group.js +27 -41
- package/components/button-group/caption.d.ts +0 -4
- package/components/button-group/caption.js +0 -1
- package/components/button-set/button-set.d.ts +0 -6
- package/components/button-set/button-set.js +19 -33
- package/components/button-toolbar/button-toolbar.d.ts +0 -6
- package/components/button-toolbar/button-toolbar.js +17 -31
- package/components/caret/caret.js +184 -211
- package/components/checkbox/checkbox.d.ts +0 -19
- package/components/checkbox/checkbox.js +69 -104
- package/components/clipboard/clipboard-fallback.js +7 -7
- package/components/clipboard/clipboard.js +36 -129
- package/components/code/code.d.ts +0 -12
- package/components/code/code.js +83 -163
- package/components/collapse/collapse-content.js +42 -60
- package/components/collapse/collapse-context.js +2 -2
- package/components/collapse/collapse-control.js +12 -12
- package/components/collapse/collapse.js +12 -17
- package/components/collapse/consts.js +4 -4
- package/components/collapse/utils.js +1 -3
- package/components/confirm/confirm.d.ts +0 -14
- package/components/confirm/confirm.js +68 -112
- package/components/confirm-service/confirm-service.js +25 -47
- package/components/content-layout/content-layout.d.ts +0 -7
- package/components/content-layout/content-layout.js +41 -63
- package/components/content-layout/sidebar.d.ts +0 -9
- package/components/content-layout/sidebar.js +1 -2
- package/components/contenteditable/contenteditable.d.ts +1 -22
- package/components/contenteditable/contenteditable.js +37 -60
- package/components/control-help/control-help.js +5 -3
- package/components/control-label/control-label.js +9 -14
- package/components/data-list/data-list.d.ts +4 -6
- package/components/data-list/data-list.js +115 -179
- package/components/data-list/data-list.mock.js +3 -6
- package/components/data-list/item.js +119 -165
- package/components/data-list/selection.js +77 -135
- package/components/data-list/title.d.ts +2 -2
- package/components/data-list/title.js +2 -12
- package/components/date-picker/consts.d.ts +0 -2
- package/components/date-picker/consts.js +16 -24
- package/components/date-picker/date-input.d.ts +0 -20
- package/components/date-picker/date-input.js +100 -148
- package/components/date-picker/date-picker.d.ts +0 -29
- package/components/date-picker/date-picker.js +143 -224
- package/components/date-picker/date-popup.d.ts +0 -22
- package/components/date-picker/date-popup.js +282 -352
- package/components/date-picker/day.d.ts +0 -14
- package/components/date-picker/day.js +72 -109
- package/components/date-picker/month-names.d.ts +1 -11
- package/components/date-picker/month-names.js +42 -72
- package/components/date-picker/month-slider.d.ts +0 -9
- package/components/date-picker/month-slider.js +43 -71
- package/components/date-picker/month.d.ts +1 -9
- package/components/date-picker/month.js +18 -30
- package/components/date-picker/months.d.ts +1 -9
- package/components/date-picker/months.js +45 -55
- package/components/date-picker/weekdays.d.ts +2 -8
- package/components/date-picker/weekdays.js +12 -25
- package/components/date-picker/years.d.ts +0 -6
- package/components/date-picker/years.js +77 -104
- package/components/dialog/dialog.d.ts +0 -20
- package/components/dialog/dialog.js +153 -210
- package/components/dialog/dialog__body-scroll-preventer.js +0 -3
- package/components/dropdown/anchor.d.ts +1 -8
- package/components/dropdown/anchor.js +0 -7
- package/components/dropdown/dropdown.d.ts +4 -22
- package/components/dropdown/dropdown.js +134 -176
- package/components/dropdown-menu/dropdown-menu.js +51 -103
- package/components/editable-heading/editable-heading.js +69 -118
- package/components/error-bubble/error-bubble.d.ts +0 -6
- package/components/error-bubble/error-bubble.js +30 -60
- package/components/error-message/error-message.d.ts +0 -10
- package/components/error-message/error-message.js +34 -59
- package/components/footer/footer.js +28 -44
- package/components/form/form.js +1 -1
- package/components/global/compose.js +1 -8
- package/components/global/composeRefs.d.ts +0 -3
- package/components/global/composeRefs.js +8 -15
- package/components/global/controls-height.js +2 -2
- package/components/global/create-stateful-context.d.ts +0 -4
- package/components/global/create-stateful-context.js +14 -17
- package/components/global/data-tests.js +7 -12
- package/components/global/dom.js +49 -82
- package/components/global/focus-sensor-hoc.js +95 -122
- package/components/global/fuzzy-highlight.js +23 -34
- package/components/global/get-event-key.js +8 -8
- package/components/global/get-uid.js +3 -7
- package/components/global/inject-styles.js +7 -14
- package/components/global/listeners.js +28 -47
- package/components/global/memoize.js +6 -10
- package/components/global/normalize-indent.js +19 -46
- package/components/global/promise-with-timeout.js +6 -8
- package/components/global/react-dom-renderer.d.ts +0 -5
- package/components/global/react-dom-renderer.js +29 -45
- package/components/global/rerender-hoc.d.ts +2 -2
- package/components/global/rerender-hoc.js +16 -32
- package/components/global/schedule-raf.js +4 -4
- package/components/global/sniffer.js +1 -1
- package/components/global/theme.d.ts +8 -2
- package/components/global/theme.js +2 -20
- package/components/global/trivial-template-tag.js +4 -9
- package/components/global/typescript-utils.js +2 -6
- package/components/global/url.js +20 -23
- package/components/global/use-event-callback.js +7 -4
- package/components/grid/col.d.ts +0 -14
- package/components/grid/col.js +27 -53
- package/components/grid/grid.d.ts +0 -5
- package/components/grid/grid.js +20 -32
- package/components/grid/row.d.ts +0 -18
- package/components/grid/row.js +23 -47
- package/components/group/group.d.ts +0 -5
- package/components/group/group.js +18 -27
- package/components/header/header-icon.d.ts +10 -0
- package/components/header/header-icon.js +39 -0
- package/components/header/header.d.ts +3 -7
- package/components/header/header.js +32 -74
- package/components/header/links.d.ts +2 -0
- package/components/header/links.js +20 -0
- package/components/header/logo.d.ts +0 -4
- package/components/header/logo.js +15 -30
- package/components/header/profile.d.ts +1 -39
- package/components/header/profile.js +126 -190
- package/components/header/services-link.d.ts +0 -10
- package/components/header/services-link.js +1 -4
- package/components/header/services.d.ts +0 -14
- package/components/header/services.js +67 -112
- package/components/header/smart-profile.d.ts +0 -9
- package/components/header/smart-profile.js +116 -205
- package/components/header/smart-services.d.ts +0 -4
- package/components/header/smart-services.js +73 -142
- package/components/header/tray.d.ts +0 -5
- package/components/header/tray.js +21 -35
- package/components/heading/heading.d.ts +1 -4
- package/components/heading/heading.js +25 -42
- package/components/http/http.js +162 -319
- package/components/http/http.mock.js +50 -98
- package/components/hub-source/hub-source.js +77 -182
- package/components/hub-source/hub-source__user.js +9 -37
- package/components/hub-source/hub-source__users-groups.js +34 -60
- package/components/i18n/i18n-context.js +7 -8
- package/components/i18n/i18n.js +3 -6
- package/components/icon/icon.d.ts +0 -11
- package/components/icon/icon.js +60 -85
- package/components/icon/icon__svg.d.ts +0 -8
- package/components/icon/icon__svg.js +0 -6
- package/components/icon/index.js +0 -6
- package/components/input/input-legacy.js +1 -1
- package/components/input/input.js +2 -14
- package/components/input-size/input-size.js +1 -1
- package/components/island/adaptive-island-hoc.d.ts +4 -5
- package/components/island/adaptive-island-hoc.js +30 -39
- package/components/island/content.d.ts +0 -10
- package/components/island/content.js +99 -119
- package/components/island/header.js +55 -73
- package/components/island/island.d.ts +4 -13
- package/components/island/island.js +25 -41
- package/components/island-legacy/content-legacy.d.ts +0 -5
- package/components/island-legacy/content-legacy.js +16 -27
- package/components/island-legacy/header-legacy.d.ts +0 -5
- package/components/island-legacy/header-legacy.js +19 -30
- package/components/island-legacy/island-legacy.d.ts +0 -5
- package/components/island-legacy/island-legacy.js +16 -27
- package/components/link/clickableLink.d.ts +0 -9
- package/components/link/clickableLink.js +33 -51
- package/components/link/link.d.ts +8 -33
- package/components/link/link.js +47 -68
- package/components/list/consts.js +2 -2
- package/components/list/list.d.ts +0 -32
- package/components/list/list.js +399 -516
- package/components/list/list__custom.js +51 -78
- package/components/list/list__hint.d.ts +0 -4
- package/components/list/list__hint.js +8 -21
- package/components/list/list__item.js +147 -211
- package/components/list/list__link.js +39 -59
- package/components/list/list__separator.js +15 -30
- package/components/list/list__title.js +25 -41
- package/components/list/list__users-groups-source.js +55 -123
- package/components/loader/loader.d.ts +0 -10
- package/components/loader/loader.js +38 -70
- package/components/loader/loader__core.js +123 -184
- package/components/loader-inline/loader-inline.d.ts +0 -6
- package/components/loader-inline/loader-inline.js +24 -38
- package/components/loader-screen/loader-screen.d.ts +0 -6
- package/components/loader-screen/loader-screen.js +24 -46
- package/components/login-dialog/login-dialog.d.ts +0 -11
- package/components/login-dialog/login-dialog.js +94 -145
- package/components/login-dialog/service.js +11 -33
- package/components/markdown/markdown.js +16 -29
- package/components/message/message.js +171 -218
- package/components/old-browsers-message/old-browsers-message.js +11 -14
- package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
- package/components/old-browsers-message/white-list.js +8 -13
- package/components/pager/pager.d.ts +1 -0
- package/components/pager/pager.js +211 -275
- package/components/panel/panel.d.ts +0 -5
- package/components/panel/panel.js +16 -27
- package/components/permissions/permissions.js +118 -161
- package/components/permissions/permissions__cache.js +191 -218
- package/components/popup/popup.consts.js +1 -1
- package/components/popup/popup.js +237 -329
- package/components/popup/popup.target.js +9 -12
- package/components/popup/position.js +94 -101
- package/components/popup-menu/popup-menu.js +31 -76
- package/components/progress-bar/progress-bar.d.ts +19 -33
- package/components/progress-bar/progress-bar.js +55 -99
- package/components/query-assist/query-assist.d.ts +63 -93
- package/components/query-assist/query-assist.js +585 -748
- package/components/query-assist/query-assist__suggestions.js +2 -28
- package/components/radio/radio.d.ts +0 -8
- package/components/radio/radio.js +15 -35
- package/components/radio/radio__item.d.ts +0 -9
- package/components/radio/radio__item.js +52 -72
- package/components/scrollable-section/scrollable-section.d.ts +2 -0
- package/components/scrollable-section/scrollable-section.js +53 -0
- package/components/select/select.d.ts +3 -0
- package/components/select/select.js +714 -863
- package/components/select/select__filter.js +2 -29
- package/components/select/select__popup.js +317 -465
- package/components/shortcuts/core.js +147 -195
- package/components/shortcuts/shortcut-title.js +6 -10
- package/components/shortcuts/shortcuts-hoc.d.ts +4 -9
- package/components/shortcuts/shortcuts-hoc.js +23 -46
- package/components/shortcuts/shortcuts.d.ts +0 -8
- package/components/shortcuts/shortcuts.js +41 -72
- package/components/slider/slider.js +93 -113
- package/components/slider/slider.utils.js +16 -23
- package/components/storage/storage.d.ts +2 -3
- package/components/storage/storage.js +2 -46
- package/components/storage/storage__local.js +89 -148
- package/components/style.css +1 -1
- package/components/tab-trap/tab-trap.js +35 -61
- package/components/table/cell.d.ts +0 -6
- package/components/table/cell.js +11 -27
- package/components/table/disable-hover-hoc.d.ts +4 -5
- package/components/table/disable-hover-hoc.js +27 -42
- package/components/table/header-cell.d.ts +0 -10
- package/components/table/header-cell.js +59 -85
- package/components/table/header.d.ts +1 -23
- package/components/table/header.js +89 -126
- package/components/table/multitable.d.ts +0 -4
- package/components/table/multitable.js +83 -93
- package/components/table/row-with-focus-sensor.d.ts +2 -2
- package/components/table/row-with-focus-sensor.js +26 -60
- package/components/table/row.js +170 -235
- package/components/table/selection-adapter.js +2 -2
- package/components/table/selection-shortcuts-hoc.js +102 -126
- package/components/table/selection.js +150 -217
- package/components/table/simple-table.d.ts +17 -0
- package/components/table/simple-table.js +83 -0
- package/components/table/smart-table.d.ts +0 -46
- package/components/table/smart-table.js +41 -83
- package/components/table/table.d.ts +9 -6
- package/components/table/table.js +270 -372
- package/components/tabs/collapsible-more.d.ts +1 -9
- package/components/tabs/collapsible-more.js +47 -97
- package/components/tabs/collapsible-tab.js +32 -44
- package/components/tabs/collapsible-tabs.d.ts +2 -29
- package/components/tabs/collapsible-tabs.js +89 -161
- package/components/tabs/custom-item.d.ts +1 -7
- package/components/tabs/custom-item.js +4 -7
- package/components/tabs/dumb-tabs.d.ts +0 -11
- package/components/tabs/dumb-tabs.js +60 -104
- package/components/tabs/smart-tabs.d.ts +0 -6
- package/components/tabs/smart-tabs.js +29 -68
- package/components/tabs/tab-link.d.ts +0 -8
- package/components/tabs/tab-link.js +1 -4
- package/components/tabs/tab.d.ts +0 -8
- package/components/tabs/tab.js +14 -32
- package/components/tabs/tabs.js +1 -28
- package/components/tag/tag.d.ts +0 -19
- package/components/tag/tag.js +120 -179
- package/components/tags-input/tags-input.d.ts +7 -33
- package/components/tags-input/tags-input.js +224 -339
- package/components/tags-list/tags-list.d.ts +0 -13
- package/components/tags-list/tags-list.js +45 -74
- package/components/text/text.d.ts +0 -7
- package/components/text/text.js +27 -43
- package/components/toggle/toggle.d.ts +0 -15
- package/components/toggle/toggle.js +53 -78
- package/components/tooltip/tooltip.d.ts +4 -10
- package/components/tooltip/tooltip.js +105 -137
- package/components/user-agreement/service.d.ts +2 -1
- package/components/user-agreement/service.js +260 -405
- package/components/user-agreement/user-agreement.d.ts +0 -18
- package/components/user-agreement/user-agreement.js +92 -138
- package/components/user-card/card.d.ts +0 -35
- package/components/user-card/card.js +2 -27
- package/components/user-card/smart-user-card-tooltip.d.ts +0 -5
- package/components/user-card/smart-user-card-tooltip.js +52 -108
- package/components/user-card/tooltip.d.ts +0 -9
- package/components/user-card/tooltip.js +35 -74
- package/components/user-card/user-card.js +1 -26
- package/package.json +5 -7
- package/components/global/prop-types.d.ts +0 -4
- package/components/global/prop-types.js +0 -9
- package/components/global/react-render-adapter.d.ts +0 -1
- package/components/global/react-render-adapter.js +0 -6
- package/components/header/tray-icon.d.ts +0 -32
- package/components/header/tray-icon.js +0 -56
- package/components/storage/storage__fallback.d.ts +0 -79
- package/components/storage/storage__fallback.js +0 -253
@@ -1,15 +1,16 @@
|
|
1
|
-
import {
|
1
|
+
import { a as _objectWithoutProperties, b as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
|
2
2
|
import { createContext, forwardRef } from 'react';
|
3
|
-
import PropTypes from 'prop-types';
|
4
3
|
import { jsx } from 'react/jsx-runtime';
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
const _excluded = ["id", "children"];
|
6
|
+
const PopupTargetContext = /*#__PURE__*/createContext(undefined);
|
7
|
+
const PopupTarget = /*#__PURE__*/forwardRef(function PopupTarget(_ref, ref) {
|
8
|
+
let {
|
9
|
+
id,
|
10
|
+
children
|
11
|
+
} = _ref,
|
11
12
|
restProps = _objectWithoutProperties(_ref, _excluded);
|
12
|
-
|
13
|
+
const target = /*#__PURE__*/jsx("div", _objectSpread2(_objectSpread2({}, restProps), {}, {
|
13
14
|
"data-portaltarget": id,
|
14
15
|
ref: ref,
|
15
16
|
children: typeof children !== 'function' && children
|
@@ -19,9 +20,5 @@ var PopupTarget = /*#__PURE__*/forwardRef(function PopupTarget(_ref, ref) {
|
|
19
20
|
children: typeof children === 'function' ? children(target) : target
|
20
21
|
});
|
21
22
|
});
|
22
|
-
PopupTarget.propTypes = {
|
23
|
-
id: PropTypes.string.isRequired,
|
24
|
-
children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])
|
25
|
-
};
|
26
23
|
|
27
24
|
export { PopupTarget, PopupTargetContext };
|
@@ -1,20 +1,8 @@
|
|
1
|
-
import {
|
2
|
-
import 'core-js/modules/es.array.concat.js';
|
3
|
-
import 'core-js/modules/es.array.filter.js';
|
4
|
-
import 'core-js/modules/es.array.includes.js';
|
5
|
-
import 'core-js/modules/es.array.map.js';
|
1
|
+
import { b as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
|
6
2
|
import 'core-js/modules/es.array.sort.js';
|
7
|
-
import 'core-js/modules/es.object.to-string.js';
|
8
|
-
import 'core-js/modules/es.string.includes.js';
|
9
3
|
import { getRect, isMounted, getDocumentScrollTop, getDocumentScrollLeft, getWindowHeight } from '../global/dom.js';
|
10
4
|
import { MaxHeight, Dimension, MinWidth, Directions } from './popup.consts.js';
|
11
|
-
import 'core-js/modules/es.array.iterator.js';
|
12
|
-
import 'core-js/modules/es.object.assign.js';
|
13
|
-
import 'core-js/modules/es.object.entries.js';
|
14
5
|
import 'core-js/modules/es.regexp.exec.js';
|
15
|
-
import 'core-js/modules/es.set.js';
|
16
|
-
import 'core-js/modules/es.string.split.js';
|
17
|
-
import 'core-js/modules/web.dom-collections.for-each.js';
|
18
6
|
import 'core-js/modules/web.dom-collections.iterator.js';
|
19
7
|
|
20
8
|
function getScrollingCoordinates(container) {
|
@@ -30,16 +18,16 @@ function getScrollingCoordinates(container) {
|
|
30
18
|
};
|
31
19
|
}
|
32
20
|
function getPositionStyles(popup, anchorRect, anchorLeft, anchorTop, offset) {
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
21
|
+
const popupWidth = popup.offsetWidth;
|
22
|
+
const popupHeight = popup.offsetHeight;
|
23
|
+
const anchorBottom = anchorTop + anchorRect.height;
|
24
|
+
const anchorRight = anchorLeft + anchorRect.width;
|
25
|
+
const popupLeft = anchorLeft - popupWidth;
|
26
|
+
const popupTop = anchorTop - popupHeight;
|
27
|
+
const popupRightToLeft = anchorRight - popupWidth;
|
28
|
+
const popupHorizontalCenter = anchorLeft + anchorRect.width / 2 - popupWidth / 2;
|
29
|
+
const popupVerticalCenter = anchorTop + anchorRect.height / 2 - popupHeight / 2;
|
30
|
+
const popupBottomToTop = anchorBottom - popupHeight;
|
43
31
|
return {
|
44
32
|
[Directions.BOTTOM_RIGHT]: {
|
45
33
|
left: anchorLeft,
|
@@ -92,52 +80,56 @@ function getPositionStyles(popup, anchorRect, anchorLeft, anchorTop, offset) {
|
|
92
80
|
};
|
93
81
|
}
|
94
82
|
function verticalOverflow(styles, scrollingCoordinates, attrs) {
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
83
|
+
const containerHeight = attrs.container !== null ? attrs.container.clientHeight : getWindowHeight();
|
84
|
+
const viewportMinX = scrollingCoordinates.top + attrs.sidePadding;
|
85
|
+
const viewportMaxX = scrollingCoordinates.top + containerHeight - attrs.sidePadding;
|
86
|
+
const topOverflow = Math.max(viewportMinX - styles.top, 0);
|
87
|
+
const popupHeight = attrs.popup.clientHeight;
|
88
|
+
const verticalDiff = styles.top + popupHeight - viewportMaxX;
|
89
|
+
const bottomOverflow = Math.max(verticalDiff, 0);
|
102
90
|
return topOverflow + bottomOverflow;
|
103
91
|
}
|
104
92
|
function horizontalOverflow(styles, scrollingCoordinates, attrs) {
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
93
|
+
const containerWidth = attrs.container !== null ? attrs.container.clientWidth : window.innerWidth;
|
94
|
+
const viewportMinY = scrollingCoordinates.left + attrs.sidePadding;
|
95
|
+
const viewportMaxY = scrollingCoordinates.left + containerWidth - attrs.sidePadding;
|
96
|
+
const leftOverflow = Math.max(viewportMinY - styles.left, 0);
|
97
|
+
const popupWidth = attrs.popup.clientWidth;
|
98
|
+
const horizontalDiff = styles.left + popupWidth - viewportMaxY;
|
99
|
+
const rightOverflow = Math.max(horizontalDiff, 0);
|
112
100
|
return leftOverflow + rightOverflow;
|
113
101
|
}
|
114
|
-
|
115
|
-
|
102
|
+
const positionPropKeys = ['directions', 'autoPositioning', 'autoCorrectTopOverflow', 'sidePadding', 'top', 'left', 'offset', 'maxHeight', 'minWidth'];
|
103
|
+
const defaultcontainerRect = {
|
116
104
|
top: 0,
|
117
105
|
left: 0
|
118
106
|
};
|
119
107
|
function handleTopOffScreen(_ref) {
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
108
|
+
let {
|
109
|
+
sidePadding,
|
110
|
+
styles,
|
111
|
+
anchorRect,
|
112
|
+
maxHeight,
|
113
|
+
popupScrollHeight,
|
114
|
+
direction,
|
115
|
+
scroll
|
116
|
+
} = _ref;
|
117
|
+
const BORDER_COMPENSATION = 1;
|
118
|
+
const {
|
119
|
+
TOP_LEFT,
|
120
|
+
TOP_RIGHT,
|
121
|
+
TOP_CENTER,
|
122
|
+
RIGHT_TOP,
|
123
|
+
LEFT_TOP
|
124
|
+
} = Directions;
|
125
|
+
const openedToTop = direction != null && [TOP_LEFT, TOP_RIGHT, TOP_CENTER, RIGHT_TOP, LEFT_TOP].includes(direction);
|
134
126
|
if (!openedToTop) {
|
135
127
|
return styles;
|
136
128
|
}
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
129
|
+
const isAttachedToAnchorTop = direction != null && [TOP_LEFT, TOP_CENTER, TOP_RIGHT].includes(direction);
|
130
|
+
const attachingPointY = isAttachedToAnchorTop ? anchorRect.top : anchorRect.bottom;
|
131
|
+
const effectiveHeight = maxHeight && typeof maxHeight === 'number' ? Math.min(popupScrollHeight, maxHeight) : popupScrollHeight;
|
132
|
+
const hypotheticalTop = attachingPointY - effectiveHeight;
|
141
133
|
if (hypotheticalTop <= sidePadding) {
|
142
134
|
styles.top = sidePadding + scroll.top;
|
143
135
|
styles.maxHeight = attachingPointY - sidePadding + BORDER_COMPENSATION;
|
@@ -145,18 +137,18 @@ function handleTopOffScreen(_ref) {
|
|
145
137
|
return styles;
|
146
138
|
}
|
147
139
|
function maxHeightForDirection(direction, anchorNode, containerNode) {
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
140
|
+
const container = containerNode || document.documentElement;
|
141
|
+
const domRect = anchorNode.getBoundingClientRect();
|
142
|
+
const containerRect = container.getBoundingClientRect();
|
143
|
+
const containerTop = domRect.top < 0 ? containerRect.top : Math.max(containerRect.top, 0);
|
144
|
+
const topMaxHeight = Math.max(domRect.top - containerTop, 0);
|
145
|
+
const containerHeight = Math.max(containerRect.height,
|
154
146
|
// XXX
|
155
147
|
// If container is the document element
|
156
148
|
// then we check client height too because we may have situation when
|
157
149
|
// "height" from "getBoundingClientRect" less then "clientHeight".
|
158
150
|
container === document.documentElement ? container.clientHeight : 0);
|
159
|
-
|
151
|
+
const bottomMaxHeight = Math.max(containerHeight - (topMaxHeight + domRect.height), 0);
|
160
152
|
switch (direction) {
|
161
153
|
case Directions.TOP_LEFT:
|
162
154
|
case Directions.TOP_CENTER:
|
@@ -180,60 +172,61 @@ function maxHeightForDirection(direction, anchorNode, containerNode) {
|
|
180
172
|
}
|
181
173
|
}
|
182
174
|
function position(attrs) {
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
autoCorrectTopOverflow =
|
196
|
-
|
175
|
+
const {
|
176
|
+
popup,
|
177
|
+
anchor,
|
178
|
+
container,
|
179
|
+
directions,
|
180
|
+
autoPositioning,
|
181
|
+
sidePadding,
|
182
|
+
top,
|
183
|
+
left,
|
184
|
+
offset,
|
185
|
+
maxHeight,
|
186
|
+
minWidth,
|
187
|
+
autoCorrectTopOverflow = true
|
188
|
+
} = attrs;
|
189
|
+
let styles = {
|
197
190
|
top: 0,
|
198
191
|
left: 0
|
199
192
|
};
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
193
|
+
let chosenDirection = null;
|
194
|
+
const containerRect = container !== null ? getRect(container) : defaultcontainerRect;
|
195
|
+
const defaultAnchor = container !== null ? container : document.body;
|
196
|
+
const anchorRect = getRect(isMounted(anchor) ? anchor : defaultAnchor);
|
197
|
+
const scroll = getScrollingCoordinates(container);
|
198
|
+
const anchorLeft = anchorRect.left + scroll.left + left - containerRect.left;
|
199
|
+
const anchorTop = anchorRect.top + scroll.top + top - containerRect.top;
|
207
200
|
if (popup) {
|
208
|
-
|
201
|
+
const overflowAttrs = _objectSpread2(_objectSpread2({}, attrs), {}, {
|
209
202
|
popup
|
210
203
|
});
|
211
|
-
|
204
|
+
const directionsMatrix = getPositionStyles(popup, anchorRect, anchorLeft, anchorTop, offset);
|
212
205
|
if (!autoPositioning || directions.length === 1) {
|
213
206
|
styles = directionsMatrix[directions[0]];
|
214
207
|
chosenDirection = directions[0];
|
215
208
|
} else {
|
216
|
-
|
209
|
+
const sortedByIncreasingOverflow = directions.
|
217
210
|
// Fall back to the first option
|
218
|
-
concat(directions[0]).filter(
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
};
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
211
|
+
concat(directions[0]).filter(direction => directionsMatrix[direction]).map(direction => ({
|
212
|
+
styles: directionsMatrix[direction],
|
213
|
+
direction
|
214
|
+
})).sort((_ref2, _ref3) => {
|
215
|
+
let {
|
216
|
+
styles: stylesA
|
217
|
+
} = _ref2;
|
218
|
+
let {
|
219
|
+
styles: stylesB
|
220
|
+
} = _ref3;
|
221
|
+
const overflowA = verticalOverflow(stylesA, scroll, overflowAttrs) + horizontalOverflow(stylesA, scroll, overflowAttrs);
|
222
|
+
const overflowB = verticalOverflow(stylesB, scroll, overflowAttrs) + horizontalOverflow(stylesB, scroll, overflowAttrs);
|
230
223
|
return overflowA - overflowB;
|
231
224
|
});
|
232
225
|
styles = sortedByIncreasingOverflow[0].styles;
|
233
226
|
chosenDirection = sortedByIncreasingOverflow[0].direction;
|
234
227
|
}
|
235
228
|
// because of the anchor negative margin top and left also may become negative
|
236
|
-
['left', 'top'].forEach(
|
229
|
+
['left', 'top'].forEach(key => {
|
237
230
|
if (styles[key] < 0) {
|
238
231
|
styles[key] = 0;
|
239
232
|
}
|
@@ -1,36 +1,18 @@
|
|
1
|
-
import {
|
2
|
-
import 'core-js/modules/
|
3
|
-
import PropTypes from 'prop-types';
|
1
|
+
import { _ as _defineProperty, b as _objectSpread2, a as _objectWithoutProperties } from '../_helpers/_rollupPluginBabelHelpers.js';
|
2
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
4
3
|
import Popup from '../popup/popup.js';
|
5
4
|
import List from '../list/list.js';
|
6
5
|
import { jsx } from 'react/jsx-runtime';
|
7
|
-
import 'core-js/modules/es.object.entries.js';
|
8
|
-
import 'core-js/modules/es.object.to-string.js';
|
9
6
|
import 'core-js/modules/es.regexp.exec.js';
|
10
|
-
import 'core-js/modules/es.regexp.to-string.js';
|
11
7
|
import 'core-js/modules/es.string.replace.js';
|
12
|
-
import 'core-js/modules/web.dom-collections.for-each.js';
|
13
8
|
import 'react';
|
14
9
|
import 'react-dom';
|
15
10
|
import 'classnames';
|
16
11
|
import '../global/get-uid.js';
|
17
12
|
import '../global/schedule-raf.js';
|
18
13
|
import '../global/dom.js';
|
19
|
-
import 'core-js/modules/es.array.filter.js';
|
20
|
-
import 'core-js/modules/es.array.iterator.js';
|
21
|
-
import 'core-js/modules/es.object.assign.js';
|
22
|
-
import 'core-js/modules/es.set.js';
|
23
|
-
import 'core-js/modules/es.string.split.js';
|
24
|
-
import 'core-js/modules/web.dom-collections.iterator.js';
|
25
14
|
import '../shortcuts/shortcuts.js';
|
26
|
-
import 'core-js/modules/es.array.map.js';
|
27
15
|
import '../shortcuts/core.js';
|
28
|
-
import 'core-js/modules/es.array.find-index.js';
|
29
|
-
import 'core-js/modules/es.array.includes.js';
|
30
|
-
import 'core-js/modules/es.array.slice.js';
|
31
|
-
import 'core-js/modules/es.array.splice.js';
|
32
|
-
import 'core-js/modules/es.string.includes.js';
|
33
|
-
import 'core-js/modules/es.string.match.js';
|
34
16
|
import 'combokeys';
|
35
17
|
import '../global/sniffer.js';
|
36
18
|
import 'sniffr';
|
@@ -41,9 +23,7 @@ import '../popup/position.js';
|
|
41
23
|
import 'core-js/modules/es.array.sort.js';
|
42
24
|
import '../popup/popup.consts.js';
|
43
25
|
import '../popup/popup.target.js';
|
44
|
-
import 'core-js/modules/es.symbol.js';
|
45
26
|
import 'core-js/modules/es.symbol.description.js';
|
46
|
-
import 'core-js/modules/es.array.find.js';
|
47
27
|
import 'react-virtualized/dist/es/List';
|
48
28
|
import 'react-virtualized/dist/es/AutoSizer';
|
49
29
|
import 'react-virtualized/dist/es/WindowScroller';
|
@@ -51,8 +31,6 @@ import 'react-virtualized/dist/es/CellMeasurer';
|
|
51
31
|
import 'util-deprecate';
|
52
32
|
import 'memoize-one';
|
53
33
|
import '../global/memoize.js';
|
54
|
-
import 'core-js/modules/es.map.js';
|
55
|
-
import 'core-js/modules/es.weak-map.js';
|
56
34
|
import '../global/create-stateful-context.js';
|
57
35
|
import '../list/list__link.js';
|
58
36
|
import '../link/link.js';
|
@@ -60,19 +38,15 @@ import '../link/clickableLink.js';
|
|
60
38
|
import '../_helpers/link.js';
|
61
39
|
import '../_helpers/list.js';
|
62
40
|
import '../list/list__item.js';
|
63
|
-
import 'core-js/modules/es.array.index-of.js';
|
64
41
|
import '../avatar/avatar.js';
|
65
42
|
import '../global/url.js';
|
66
43
|
import '../avatar/fallback-avatar.js';
|
67
|
-
import 'core-js/modules/es.array.from.js';
|
68
44
|
import '../checkbox/checkbox.js';
|
69
45
|
import '@jetbrains/icons/checkmark-12px';
|
70
46
|
import '@jetbrains/icons/remove-12px';
|
71
47
|
import '../icon/icon.js';
|
72
48
|
import '../icon/icon__constants.js';
|
73
49
|
import '../_helpers/icon__svg.js';
|
74
|
-
import 'core-js/modules/es.string.starts-with.js';
|
75
|
-
import '../global/prop-types.js';
|
76
50
|
import '../global/composeRefs.js';
|
77
51
|
import '../control-help/control-help.js';
|
78
52
|
import '../list/list__custom.js';
|
@@ -82,63 +56,44 @@ import '../list/list__separator.js';
|
|
82
56
|
import '../list/list__hint.js';
|
83
57
|
import '../list/consts.js';
|
84
58
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
var PopupMenu = /*#__PURE__*/function (_Popup) {
|
93
|
-
function PopupMenu() {
|
94
|
-
var _this;
|
95
|
-
_classCallCheck(this, PopupMenu);
|
96
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
97
|
-
args[_key] = arguments[_key];
|
98
|
-
}
|
99
|
-
_this = _callSuper(this, PopupMenu, [].concat(args));
|
100
|
-
_defineProperty(_this, "onSelect", function (item, event) {
|
101
|
-
if (_this.props.closeOnSelect) {
|
102
|
-
_this._onCloseAttempt(event);
|
59
|
+
const _excluded = ["className"];
|
60
|
+
class PopupMenu extends Popup {
|
61
|
+
constructor() {
|
62
|
+
super(...arguments);
|
63
|
+
_defineProperty(this, "onSelect", (item, event) => {
|
64
|
+
if (this.props.closeOnSelect) {
|
65
|
+
this._onCloseAttempt(event);
|
103
66
|
}
|
104
|
-
|
67
|
+
this.props.onSelect(item, event);
|
105
68
|
});
|
106
|
-
_defineProperty(
|
107
|
-
_defineProperty(
|
108
|
-
|
69
|
+
_defineProperty(this, "list", void 0);
|
70
|
+
_defineProperty(this, "listRef", el => {
|
71
|
+
this.list = el;
|
72
|
+
});
|
73
|
+
}
|
74
|
+
/** @override */
|
75
|
+
getInternalContent() {
|
76
|
+
const _this$props = this.props,
|
77
|
+
props = _objectWithoutProperties(_this$props, _excluded);
|
78
|
+
return /*#__PURE__*/jsx("div", {
|
79
|
+
children: /*#__PURE__*/jsx(List, _objectSpread2(_objectSpread2({
|
80
|
+
ref: this.listRef
|
81
|
+
}, props), {}, {
|
82
|
+
maxHeight: this.popup && parseFloat(this.popup.style.maxHeight),
|
83
|
+
shortcuts: this.shouldUseShortcuts(),
|
84
|
+
onSelect: this.onSelect
|
85
|
+
}))
|
109
86
|
});
|
110
|
-
return _this;
|
111
87
|
}
|
112
|
-
|
113
|
-
return _createClass(PopupMenu, [{
|
114
|
-
key: "getInternalContent",
|
115
|
-
value: /** @override */
|
116
|
-
function getInternalContent() {
|
117
|
-
var _this$props = this.props;
|
118
|
-
_this$props.className;
|
119
|
-
var props = _objectWithoutProperties(_this$props, _excluded);
|
120
|
-
return /*#__PURE__*/jsx("div", {
|
121
|
-
children: /*#__PURE__*/jsx(List, _objectSpread2(_objectSpread2({
|
122
|
-
ref: this.listRef
|
123
|
-
}, props), {}, {
|
124
|
-
maxHeight: this.popup && parseFloat(this.popup.style.maxHeight),
|
125
|
-
shortcuts: this.shouldUseShortcuts(),
|
126
|
-
onSelect: this.onSelect
|
127
|
-
}))
|
128
|
-
});
|
129
|
-
}
|
130
|
-
}]);
|
131
|
-
}(Popup);
|
88
|
+
}
|
132
89
|
_defineProperty(PopupMenu, "isItemType", List.isItemType);
|
133
90
|
_defineProperty(PopupMenu, "ListProps", List.ListProps);
|
134
91
|
_defineProperty(PopupMenu, "defaultProps", _objectSpread2(_objectSpread2(_objectSpread2({}, List.defaultProps), Popup.defaultProps), {}, {
|
135
92
|
renderOptimization: false,
|
136
93
|
closeOnSelect: false
|
137
94
|
}));
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
});
|
142
|
-
var ListProps = List.ListProps;
|
95
|
+
const {
|
96
|
+
ListProps
|
97
|
+
} = List;
|
143
98
|
|
144
99
|
export { ListProps, PopupMenu as default };
|
@@ -1,10 +1,28 @@
|
|
1
1
|
import { HTMLAttributes, PureComponent } from 'react';
|
2
|
-
import PropTypes from 'prop-types';
|
3
2
|
export interface ProgressBarProps extends HTMLAttributes<HTMLElement> {
|
3
|
+
/**
|
4
|
+
* A floating point number that specifies minimum completion rate for a task to be considered
|
5
|
+
* complete. Default value is 1.0.
|
6
|
+
* @type {number}
|
7
|
+
*/
|
4
8
|
max: number;
|
9
|
+
/**
|
10
|
+
* A floating point number that specifies current task completion rate.
|
11
|
+
* @type {number}
|
12
|
+
*/
|
5
13
|
value: number;
|
6
14
|
label: string;
|
15
|
+
/**
|
16
|
+
* Sets the ring-progress-bar_global class to position the progress bar on top of the screen.
|
17
|
+
* Should be placed directly inside body, will be positioned right below .ring-header
|
18
|
+
* if placed adjacent to it.
|
19
|
+
* @type {boolean}
|
20
|
+
*/
|
7
21
|
global?: boolean | null | undefined;
|
22
|
+
/**
|
23
|
+
* Disables Disabled progress bar color animation and sets it to static color.
|
24
|
+
* @type {boolean}
|
25
|
+
*/
|
8
26
|
staticColor?: boolean;
|
9
27
|
}
|
10
28
|
/**
|
@@ -18,38 +36,6 @@ export default class ProgressBar extends PureComponent<ProgressBarProps> {
|
|
18
36
|
* @private
|
19
37
|
*/
|
20
38
|
static toPercent(value: number, max: number): number;
|
21
|
-
static propTypes: {
|
22
|
-
label: PropTypes.Requireable<string>;
|
23
|
-
/**
|
24
|
-
* Sets the ring-progress-bar_global class to position the progress bar on top of the screen.
|
25
|
-
* Should be placed directly inside body, will be positioned right below .ring-header
|
26
|
-
* if placed adjacent to it.
|
27
|
-
* @type {boolean}
|
28
|
-
*/
|
29
|
-
global: PropTypes.Requireable<boolean>;
|
30
|
-
/**
|
31
|
-
* Custom class
|
32
|
-
* @type {string}
|
33
|
-
*/
|
34
|
-
className: PropTypes.Requireable<string>;
|
35
|
-
style: PropTypes.Requireable<object>;
|
36
|
-
/**
|
37
|
-
* A floating point number that specifies minimum completion rate for a task to be considered
|
38
|
-
* complete. Default value is 1.0.
|
39
|
-
* @type {number}
|
40
|
-
*/
|
41
|
-
max: PropTypes.Requireable<number>;
|
42
|
-
/**
|
43
|
-
* A floating point number that specifies current task completion rate.
|
44
|
-
* @type {number}
|
45
|
-
*/
|
46
|
-
value: PropTypes.Requireable<number>;
|
47
|
-
/**
|
48
|
-
* Disables Disabled progress bar color animation and sets it to static color.
|
49
|
-
* @type {boolean}
|
50
|
-
*/
|
51
|
-
staticColor: PropTypes.Requireable<boolean>;
|
52
|
-
};
|
53
39
|
static defaultProps: {
|
54
40
|
max: number;
|
55
41
|
value: number;
|