@jetbrains/ring-ui 4.1.0-beta.9 → 4.1.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.
- package/CHANGELOG.md +13 -0
- package/README.md +17 -15
- package/babel.config.js +3 -2
- package/components/alert/alert.js +9 -3
- package/components/alert/container.css +1 -1
- package/components/alert-service/alert-service.examples.css +18 -0
- package/components/alert-service/alert-service.examples.js +21 -0
- package/components/alert-service/alert-service.js +10 -3
- package/components/analytics/analytics__fus-plugin.js +1 -1
- package/components/auth/auth.test.js +14 -7
- package/components/auth/auth__core.js +64 -33
- package/components/auth-dialog/auth-dialog.js +1 -0
- package/components/avatar/avatar.css +4 -1
- package/components/avatar/avatar.examples.js +3 -2
- package/components/avatar/avatar.js +31 -6
- package/components/avatar/fallback-avatar.js +136 -0
- package/components/avatar-editor-ng/avatar-editor-ng.css +2 -2
- package/components/avatar-editor-ng/avatar-editor-ng.js +2 -1
- package/components/avatar-editor-ng/{avatar-editor-ng.html → avatar-editor-ng__template.js} +2 -2
- package/components/button/button.css +2 -2
- package/components/button/button.js +4 -1
- package/components/button-group/button-group.js +1 -1
- package/components/button-group/caption.js +1 -1
- package/components/button-ng/button-ng.js +1 -1
- package/components/button-set-ng/button-set-ng.js +3 -1
- package/components/checkbox/checkbox.css +1 -1
- package/components/code/code.js +1 -1
- package/components/confirm/confirm.js +1 -0
- package/components/confirm-service/confirm-service.js +5 -5
- package/components/content-layout/content-layout.css +1 -1
- package/components/data-list/data-list.css +1 -1
- package/components/date-picker/date-input.js +5 -4
- package/components/date-picker/date-picker.css +34 -22
- package/components/date-picker/date-picker.js +16 -14
- package/components/date-picker/date-popup.js +22 -7
- package/components/date-picker/month-names.js +8 -5
- package/components/date-picker/month.js +6 -2
- package/components/date-picker/weekdays.js +10 -2
- package/components/dialog/dialog.examples.js +3 -1
- package/components/dialog/dialog.js +5 -2
- package/components/dialog/dialog.test.js +1 -1
- package/components/dialog/dialog__body-scroll-preventer.js +2 -2
- package/components/dialog-ng/dialog-ng.js +7 -8
- package/components/dialog-ng/{dialog-ng.html → dialog-ng__template.js} +2 -2
- package/components/dropdown/dropdown.examples.js +36 -1
- package/components/dropdown-menu/dropdown-menu.examples.js +47 -0
- package/components/dropdown-menu/dropdown-menu.js +117 -0
- package/components/dropdown-menu/dropdown-menu.test.js +76 -0
- package/components/error-bubble/error-bubble-legacy.css +1 -1
- package/components/error-bubble/error-bubble.css +1 -1
- package/components/error-bubble/error-bubble.examples.js +1 -1
- package/components/error-page/error-page.css +2 -2
- package/components/footer-ng/footer-ng.js +13 -3
- package/components/form/form.css +2 -2
- package/components/form-ng/form-ng.js +3 -1
- package/components/global/global.css +1 -1
- package/components/global/theme.js +1 -1
- package/components/global/variables.css +8 -1
- package/components/grid/grid.css +10 -9
- package/components/header/header.css +1 -1
- package/components/header/header.examples.js +7 -8
- package/components/header/profile.js +10 -11
- package/components/http/http.js +1 -1
- package/components/icon/icon.css +5 -4
- package/components/island/island.css +4 -3
- package/components/island-legacy/island-legacy.css +3 -1
- package/components/list/list.js +6 -1
- package/components/list/list__custom.js +9 -3
- package/components/list/list__item.js +8 -2
- package/components/list/list__link.js +2 -1
- package/components/loader-inline/loader-inline.css +1 -1
- package/components/loader-screen/loader-screen.css +1 -1
- package/components/message/message.css +1 -1
- package/components/message/message.examples.js +8 -5
- package/components/pager/pager.js +5 -3
- package/components/permissions/permissions.js +1 -1
- package/components/progress-bar/progress-bar.css +1 -1
- package/components/progress-bar/progress-bar.examples.js +3 -3
- package/components/progress-bar/progress-bar.js +5 -2
- package/components/progress-bar/progress-bar.test.js +12 -13
- package/components/progress-bar-ng/progress-bar-ng.examples.js +3 -3
- package/components/query-assist/query-assist.css +13 -3
- package/components/query-assist/query-assist.examples.js +3 -1
- package/components/query-assist/query-assist.js +56 -12
- package/components/query-assist/query-assist.test.js +37 -5
- package/components/save-field-ng/save-field-ng.css +0 -3
- package/components/save-field-ng/save-field-ng.js +3 -1
- package/components/save-field-ng/{save-field-ng.html → save-field-ng__template.js} +2 -2
- package/components/select/select.css +12 -7
- package/components/select/select.examples.js +13 -0
- package/components/select/select.js +30 -43
- package/components/select/select.test.js +4 -5
- package/components/shortcuts-hint-ng/shortcuts-hint-ng.css +1 -1
- package/components/shortcuts-hint-ng/shortcuts-hint-ng.js +1 -1
- package/components/shortcuts-hint-ng/{shortcuts-hint-ng.html → shortcuts-hint-ng__template.js} +2 -2
- package/components/sidebar/sidebar.css +1 -0
- package/components/sidebar-ng/sidebar-ng.js +6 -2
- package/components/sidebar-ng/{sidebar-ng__button.html → sidebar-ng__button-template.js} +2 -2
- package/components/sidebar-ng/{sidebar-ng.html → sidebar-ng__template.js} +2 -2
- package/components/table/row.js +2 -1
- package/components/table/table.css +2 -1
- package/components/table-legacy/table-legacy.css +2 -2
- package/components/table-legacy/table-legacy__toolbar.css +2 -2
- package/components/table-legacy-ng/table-legacy-ng.js +38 -5
- package/components/table-legacy-ng/table-legacy-ng__pager.js +7 -1
- package/components/tabs/collapsible-tab.js +2 -2
- package/components/tabs/collapsible-tabs.js +4 -8
- package/components/tabs/tab-link.js +4 -2
- package/components/tabs/tabs.css +27 -0
- package/components/tabs-ng/tabs-ng.js +4 -2
- package/components/tabs-ng/{tabs-ng.html → tabs-ng__template.js} +6 -2
- package/components/tag/tag.css +5 -2
- package/components/tag/tag.examples.js +3 -0
- package/components/tag/tag.js +19 -16
- package/components/tags-input/tag-input.examples.js +1 -1
- package/components/tags-input/tags-input.js +5 -2
- package/components/template-ng/template-ng.js +1 -1
- package/components/tooltip/tooltip.js +7 -2
- package/components/user-agreement/user-agreement.css +1 -1
- package/components/user-agreement/user-agreement.examples.js +7 -4
- package/components/user-agreement/user-agreement.js +1 -0
- package/package.json +75 -78
- package/webpack.config.js +14 -10
- package/components/button-set-ng/button-set-ng.html +0 -1
- package/components/footer-ng/footer-ng.html +0 -13
- package/components/form-ng/form-ng__error-bubble.html +0 -3
- package/components/table-legacy-ng/table-legacy-ng.html +0 -4
- package/components/table-legacy-ng/table-legacy-ng__column.html +0 -12
- package/components/table-legacy-ng/table-legacy-ng__header.html +0 -4
- package/components/table-legacy-ng/table-legacy-ng__pager.html +0 -7
- package/components/table-legacy-ng/table-legacy-ng__row.html +0 -12
- package/components/table-legacy-ng/table-legacy-ng__title.html +0 -9
- package/dist/_helpers/_rollupPluginBabelHelpers.js +0 -127
- package/dist/_helpers/anchor.js +0 -33
- package/dist/_helpers/badge.js +0 -3
- package/dist/_helpers/button__classes.js +0 -39
- package/dist/_helpers/caption.js +0 -25
- package/dist/_helpers/card.js +0 -77
- package/dist/_helpers/date-picker.js +0 -3
- package/dist/_helpers/dialog__body-scroll-preventer.js +0 -56
- package/dist/_helpers/grid.js +0 -3
- package/dist/_helpers/header.js +0 -3
- package/dist/_helpers/icon__svg.js +0 -83
- package/dist/_helpers/inject-styles.js +0 -22
- package/dist/_helpers/island.js +0 -3
- package/dist/_helpers/list.js +0 -3
- package/dist/_helpers/query-assist__suggestions.js +0 -95
- package/dist/_helpers/select__filter.js +0 -78
- package/dist/_helpers/services-link.js +0 -42
- package/dist/_helpers/sidebar.js +0 -127
- package/dist/_helpers/table.js +0 -3
- package/dist/_helpers/tabs.js +0 -3
- package/dist/_helpers/title.js +0 -99
- package/dist/alert/alert.js +0 -254
- package/dist/alert/container.js +0 -50
- package/dist/alert-service/alert-service.js +0 -159
- package/dist/analytics/analytics.js +0 -116
- package/dist/analytics/analytics__custom-plugin.js +0 -127
- package/dist/analytics/analytics__fus-plugin.js +0 -101
- package/dist/analytics/analytics__ga-plugin.js +0 -66
- package/dist/analytics/analytics__plugin-utils.js +0 -79
- package/dist/auth/auth.js +0 -90
- package/dist/auth/auth__core.js +0 -987
- package/dist/auth/background-flow.js +0 -123
- package/dist/auth/down-notification.js +0 -111
- package/dist/auth/iframe-flow.js +0 -147
- package/dist/auth/landing-entry.js +0 -5
- package/dist/auth/landing.js +0 -84
- package/dist/auth/request-builder.js +0 -75
- package/dist/auth/response-parser.js +0 -117
- package/dist/auth/storage.js +0 -279
- package/dist/auth/token-validator.js +0 -176
- package/dist/auth/window-flow.js +0 -133
- package/dist/auth-dialog/auth-dialog.js +0 -132
- package/dist/auth-dialog-service/auth-dialog-service.js +0 -67
- package/dist/avatar/avatar-example-datauri.js +0 -26
- package/dist/avatar/avatar.js +0 -155
- package/dist/badge/badge.js +0 -52
- package/dist/button/button.js +0 -117
- package/dist/button/button__classes.js +0 -5
- package/dist/button-group/button-group.js +0 -30
- package/dist/button-group/caption.js +0 -5
- package/dist/button-set/button-set.js +0 -27
- package/dist/button-toolbar/button-toolbar.js +0 -30
- package/dist/caret/caret.js +0 -264
- package/dist/checkbox/checkbox.js +0 -110
- package/dist/confirm/confirm.js +0 -122
- package/dist/confirm-service/confirm-service.js +0 -112
- package/dist/content-layout/content-layout.js +0 -67
- package/dist/content-layout/sidebar.js +0 -6
- package/dist/contenteditable/contenteditable.js +0 -81
- package/dist/data-list/data-list.js +0 -203
- package/dist/data-list/data-list.mock.js +0 -190
- package/dist/data-list/item.js +0 -225
- package/dist/data-list/selection.js +0 -101
- package/dist/data-list/title.js +0 -16
- package/dist/date-picker/consts.js +0 -70
- package/dist/date-picker/date-input.js +0 -169
- package/dist/date-picker/date-picker.js +0 -356
- package/dist/date-picker/date-popup.js +0 -459
- package/dist/date-picker/day.js +0 -119
- package/dist/date-picker/formats.js +0 -3
- package/dist/date-picker/month-names.js +0 -92
- package/dist/date-picker/month-slider.js +0 -83
- package/dist/date-picker/month.js +0 -48
- package/dist/date-picker/months.js +0 -121
- package/dist/date-picker/weekdays.js +0 -24
- package/dist/date-picker/years.js +0 -109
- package/dist/dialog/dialog.js +0 -197
- package/dist/dialog/dialog__body-scroll-preventer.js +0 -2
- package/dist/dropdown/anchor.js +0 -16
- package/dist/dropdown/dropdown.js +0 -236
- package/dist/error-bubble/error-bubble.js +0 -59
- package/dist/error-message/error-message.js +0 -55
- package/dist/footer/footer.js +0 -127
- package/dist/global/angular-component-factory.js +0 -83
- package/dist/global/compose.js +0 -9
- package/dist/global/composeRefs.js +0 -15
- package/dist/global/conic-gradient.js +0 -37
- package/dist/global/create-stateful-context.js +0 -54
- package/dist/global/data-tests.js +0 -22
- package/dist/global/dom.js +0 -124
- package/dist/global/focus-sensor-hoc.js +0 -147
- package/dist/global/fuzzy-highlight.js +0 -67
- package/dist/global/get-event-key.js +0 -111
- package/dist/global/get-uid.js +0 -15
- package/dist/global/inject-styles.js +0 -17
- package/dist/global/linear-function.js +0 -18
- package/dist/global/listeners.js +0 -42
- package/dist/global/memoize.js +0 -18
- package/dist/global/normalize-indent.js +0 -28
- package/dist/global/promise-with-timeout.js +0 -13
- package/dist/global/radial-gradient-mask.js +0 -49
- package/dist/global/react-dom-renderer.js +0 -45
- package/dist/global/rerender-hoc.js +0 -53
- package/dist/global/ring-angular-component.js +0 -24
- package/dist/global/schedule-raf.js +0 -31
- package/dist/global/sniffer.js +0 -6
- package/dist/global/supports-css.js +0 -20
- package/dist/global/theme.js +0 -56
- package/dist/global/trivial-template-tag.js +0 -15
- package/dist/global/url.js +0 -163
- package/dist/global/variables_dark.js +0 -57
- package/dist/grid/col.js +0 -62
- package/dist/grid/grid.js +0 -35
- package/dist/grid/row.js +0 -66
- package/dist/group/group.js +0 -34
- package/dist/header/header.js +0 -144
- package/dist/header/logo.js +0 -39
- package/dist/header/profile.js +0 -212
- package/dist/header/services-link.js +0 -10
- package/dist/header/services.js +0 -135
- package/dist/header/smart-profile.js +0 -227
- package/dist/header/smart-services.js +0 -159
- package/dist/header/tray-icon.js +0 -45
- package/dist/header/tray.js +0 -33
- package/dist/heading/heading.js +0 -76
- package/dist/http/http.js +0 -216
- package/dist/http/http.mock.js +0 -65
- package/dist/hub-source/hub-source.js +0 -130
- package/dist/hub-source/hub-source__user.js +0 -28
- package/dist/hub-source/hub-source__users-groups.js +0 -62
- package/dist/icon/icon.js +0 -105
- package/dist/icon/icon__constants.js +0 -33
- package/dist/icon/icon__svg.js +0 -6
- package/dist/icon/index.js +0 -9
- package/dist/input/input.js +0 -231
- package/dist/island/adaptive-island-hoc.js +0 -48
- package/dist/island/content.js +0 -158
- package/dist/island/header.js +0 -85
- package/dist/island/island.js +0 -53
- package/dist/island-legacy/content-legacy.js +0 -28
- package/dist/island-legacy/header-legacy.js +0 -30
- package/dist/island-legacy/island-legacy.js +0 -30
- package/dist/link/clickableLink.js +0 -65
- package/dist/link/link.js +0 -118
- package/dist/list/consts.js +0 -26
- package/dist/list/list.js +0 -800
- package/dist/list/list__custom.js +0 -82
- package/dist/list/list__hint.js +0 -26
- package/dist/list/list__item.js +0 -197
- package/dist/list/list__link.js +0 -65
- package/dist/list/list__separator.js +0 -30
- package/dist/list/list__title.js +0 -39
- package/dist/list/list__users-groups-source.js +0 -124
- package/dist/loader/loader.js +0 -72
- package/dist/loader/loader__core.js +0 -272
- package/dist/loader-inline/inject-styles.js +0 -11
- package/dist/loader-inline/loader-inline.js +0 -58
- package/dist/loader-screen/loader-screen.js +0 -46
- package/dist/login-dialog/login-dialog.js +0 -184
- package/dist/login-dialog/service.js +0 -67
- package/dist/message/message.js +0 -232
- package/dist/old-browsers-message/old-browsers-message.js +0 -101
- package/dist/old-browsers-message/old-browsers-message__stop.js +0 -5
- package/dist/old-browsers-message/white-list.js +0 -34
- package/dist/pager/pager.js +0 -352
- package/dist/panel/panel.js +0 -34
- package/dist/permissions/permissions.js +0 -200
- package/dist/permissions/permissions__cache.js +0 -272
- package/dist/popup/popup.consts.js +0 -41
- package/dist/popup/popup.js +0 -389
- package/dist/popup/popup.target.js +0 -27
- package/dist/popup/position.js +0 -280
- package/dist/popup-menu/popup-menu.js +0 -108
- package/dist/progress-bar/progress-bar.js +0 -111
- package/dist/proxy-attrs/proxy-attrs.js +0 -19
- package/dist/query-assist/query-assist.js +0 -1023
- package/dist/query-assist/query-assist__suggestions.js +0 -43
- package/dist/radio/radio.js +0 -39
- package/dist/radio/radio__item.js +0 -82
- package/dist/select/select.js +0 -1335
- package/dist/select/select__filter.js +0 -49
- package/dist/select/select__popup.js +0 -541
- package/dist/shortcuts/core.js +0 -245
- package/dist/shortcuts/shortcut-title.js +0 -51
- package/dist/shortcuts/shortcuts-hoc.js +0 -43
- package/dist/shortcuts/shortcuts.js +0 -72
- package/dist/storage/storage.js +0 -55
- package/dist/storage/storage__fallback.js +0 -214
- package/dist/storage/storage__local.js +0 -150
- package/dist/style.css +0 -1
- package/dist/tab-trap/tab-trap.js +0 -178
- package/dist/table/cell.js +0 -25
- package/dist/table/disable-hover-hoc.js +0 -53
- package/dist/table/header-cell.js +0 -91
- package/dist/table/header.js +0 -189
- package/dist/table/multitable.js +0 -140
- package/dist/table/row-with-focus-sensor.js +0 -79
- package/dist/table/row.js +0 -270
- package/dist/table/selection-adapter.js +0 -14
- package/dist/table/selection-shortcuts-hoc.js +0 -212
- package/dist/table/selection.js +0 -221
- package/dist/table/smart-table.js +0 -113
- package/dist/table/table.js +0 -405
- package/dist/tabs/collapsible-more.js +0 -193
- package/dist/tabs/collapsible-tab.js +0 -90
- package/dist/tabs/collapsible-tabs.js +0 -361
- package/dist/tabs/custom-item.js +0 -13
- package/dist/tabs/dumb-tabs.js +0 -159
- package/dist/tabs/smart-tabs.js +0 -102
- package/dist/tabs/tab-link.js +0 -35
- package/dist/tabs/tab.js +0 -32
- package/dist/tabs/tabs.js +0 -65
- package/dist/tag/tag.js +0 -190
- package/dist/tags-input/tags-input.js +0 -474
- package/dist/tags-list/tags-list.js +0 -94
- package/dist/text/text.js +0 -38
- package/dist/toggle/toggle.js +0 -80
- package/dist/tooltip/tooltip.js +0 -205
- package/dist/user-card/card.js +0 -14
- package/dist/user-card/smart-user-card-tooltip.js +0 -112
- package/dist/user-card/tooltip.js +0 -91
- package/dist/user-card/user-card.js +0 -46
|
@@ -4,8 +4,6 @@ import RingAngularComponent from '../global/ring-angular-component';
|
|
|
4
4
|
import styles from '../footer/footer.css';
|
|
5
5
|
import {copyright} from '../footer/footer';
|
|
6
6
|
|
|
7
|
-
import template from './footer-ng.html';
|
|
8
|
-
|
|
9
7
|
/**
|
|
10
8
|
* @name Footer Ng
|
|
11
9
|
*/
|
|
@@ -22,7 +20,19 @@ class rgFooterComponent extends RingAngularComponent {
|
|
|
22
20
|
right: '?rgFooterRight'
|
|
23
21
|
};
|
|
24
22
|
|
|
25
|
-
static template =
|
|
23
|
+
static template = `<footer ng-class=":: $ctrl.styles.footer" data-test="ring-footer">
|
|
24
|
+
<div ng-class=":: $ctrl.styles.columnLeft">
|
|
25
|
+
<div ng-transclude="left" ng-class=":: $ctrl.styles.columnItem"></div>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<div ng-class=":: $ctrl.styles.columnCenter">
|
|
29
|
+
<div ng-transclude="center" ng-class=":: $ctrl.styles.columnItem"></div>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div ng-class=":: $ctrl.styles.columnRight">
|
|
33
|
+
<div ng-transclude="right" ng-class=":: $ctrl.styles.columnItem"></div>
|
|
34
|
+
</div>
|
|
35
|
+
</footer>`;
|
|
26
36
|
}
|
|
27
37
|
|
|
28
38
|
class rgFooterLineComponent extends RingAngularComponent {
|
package/components/form/form.css
CHANGED
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
display: block;
|
|
97
97
|
clear: both;
|
|
98
98
|
|
|
99
|
-
content:
|
|
99
|
+
content: "";
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
:global(.ring-form__group_united) {
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
|
|
168
168
|
height: calc(unit * 3);
|
|
169
169
|
|
|
170
|
-
content:
|
|
170
|
+
content: "";
|
|
171
171
|
vertical-align: middle;
|
|
172
172
|
}
|
|
173
173
|
|
|
@@ -54,7 +54,9 @@ angularModule.directive('rgErrorBubble', function rgErrorBubbleDirective(getForm
|
|
|
54
54
|
},
|
|
55
55
|
|
|
56
56
|
replace: true,
|
|
57
|
-
template:
|
|
57
|
+
template: `<div class="ring-error-bubble" ng-class="{ active: active, 'ring-error-bubble_material': material }" ng-style="style">
|
|
58
|
+
<div ng-repeat="errorMessage in getFormErrorMessages(errorBubble().$error)">{{ errorMessage }}</div>
|
|
59
|
+
</div>`,
|
|
58
60
|
|
|
59
61
|
link: function link(scope, iElement, iAttrs) {
|
|
60
62
|
scope.style = {};
|
|
@@ -5,7 +5,7 @@ const Theme = {
|
|
|
5
5
|
DARK: 'dark'
|
|
6
6
|
};
|
|
7
7
|
|
|
8
|
-
export const ThemeContext = createContext();
|
|
8
|
+
export const ThemeContext = createContext(null);
|
|
9
9
|
|
|
10
10
|
const getDisplayName = Component => (typeof Component === 'string' ? Component : (Component.name ?? Component.displayName ?? 'Component'));
|
|
11
11
|
|
|
@@ -87,7 +87,14 @@
|
|
|
87
87
|
--ring-ease: 0.3s ease-out;
|
|
88
88
|
--ring-fast-ease: 0.15s ease-out;
|
|
89
89
|
--ring-font-family: system-ui, Arial, sans-serif;
|
|
90
|
-
--ring-font-family-monospace:
|
|
90
|
+
--ring-font-family-monospace:
|
|
91
|
+
Menlo,
|
|
92
|
+
"Bitstream Vera Sans Mono",
|
|
93
|
+
"Ubuntu Mono",
|
|
94
|
+
Consolas,
|
|
95
|
+
"Courier New",
|
|
96
|
+
Courier,
|
|
97
|
+
monospace;
|
|
91
98
|
|
|
92
99
|
/* Common z-index-values */
|
|
93
100
|
|
package/components/grid/grid.css
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
@import "../global/variables.css";
|
|
2
2
|
|
|
3
|
-
@value unit, breakpoint-small, breakpoint-middle, breakpoint-large
|
|
3
|
+
@value unit, breakpoint-small, breakpoint-middle, breakpoint-large from "../global/global.css";
|
|
4
|
+
@value large-screen-media, middle-screen-media, small-screen-media from "../global/global.css";
|
|
4
5
|
@value gutterWidth: (unit*2);
|
|
5
6
|
@value gutterCompensation: calc(gutterWidth / -2);
|
|
6
7
|
@value outerMargin: calc(unit*2);
|
|
7
8
|
@value containerSmall: calc(breakpoint-small + gutterWidth);
|
|
8
9
|
@value containerMedium: calc(breakpoint-middle + gutterWidth);
|
|
9
10
|
@value containerLarge: calc(breakpoint-large + gutterWidth);
|
|
10
|
-
@value width-1: 8.
|
|
11
|
-
@value width-2: 16.
|
|
11
|
+
@value width-1: 8.3333%;
|
|
12
|
+
@value width-2: 16.6667%;
|
|
12
13
|
@value width-3: 25%;
|
|
13
|
-
@value width-4: 33.
|
|
14
|
-
@value width-5: 41.
|
|
14
|
+
@value width-4: 33.3333%;
|
|
15
|
+
@value width-5: 41.6667%;
|
|
15
16
|
@value width-6: 50%;
|
|
16
|
-
@value width-7: 58.
|
|
17
|
-
@value width-8: 66.
|
|
17
|
+
@value width-7: 58.3333%;
|
|
18
|
+
@value width-8: 66.6667%;
|
|
18
19
|
@value width-9: 75%;
|
|
19
|
-
@value width-10: 83.
|
|
20
|
-
@value width-11: 91.
|
|
20
|
+
@value width-10: 83.3333%;
|
|
21
|
+
@value width-11: 91.6667%;
|
|
21
22
|
@value width-12: 100%;
|
|
22
23
|
|
|
23
24
|
.container-fluid,
|
|
@@ -13,8 +13,7 @@ import hubConfig from '../../.storybook/hub-config';
|
|
|
13
13
|
import Link from '@jetbrains/ring-ui/components/link/link';
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
import
|
|
17
|
-
import Dropdown from '@jetbrains/ring-ui/components/dropdown/dropdown';
|
|
16
|
+
import DropdownMenu from '@jetbrains/ring-ui/components/dropdown-menu/dropdown-menu';
|
|
18
17
|
import showAuthDialog from '@jetbrains/ring-ui/components/auth-dialog-service/auth-dialog-service';
|
|
19
18
|
|
|
20
19
|
import Theme from '@jetbrains/ring-ui/components/global/theme';
|
|
@@ -77,13 +76,13 @@ export const header = ({isCompact, ...args}) => {
|
|
|
77
76
|
<TrayIcon title="Help" icon={helpIcon}/>
|
|
78
77
|
<TrayIcon title="What's new" icon={giftIcon}/>
|
|
79
78
|
<TrayIcon title="Search" icon={searchIcon}/>
|
|
80
|
-
<
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
<DropdownMenu
|
|
80
|
+
data={[{label: 'Test'}, {label: 'Test2'}]}
|
|
81
|
+
anchor={({active, pinned, ...ariaProps}) => (
|
|
82
|
+
<TrayIcon title="Settings" active={active} icon={settingsIcon} {...ariaProps}/>
|
|
83
83
|
)}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
</Dropdown>
|
|
84
|
+
menuProps={{top: -12}}
|
|
85
|
+
/>
|
|
87
86
|
<SmartServices auth={auth}/>
|
|
88
87
|
<SmartProfile auth={auth} hasUpdates LinkComponent={Comp}/>
|
|
89
88
|
</Tray>
|
|
@@ -4,7 +4,7 @@ import classNames from 'classnames';
|
|
|
4
4
|
|
|
5
5
|
import Avatar, {Size} from '../avatar/avatar';
|
|
6
6
|
import Button from '../button/button';
|
|
7
|
-
import
|
|
7
|
+
import DropdownMenu from '../dropdown-menu/dropdown-menu';
|
|
8
8
|
import PopupMenu from '../popup-menu/popup-menu';
|
|
9
9
|
|
|
10
10
|
import styles from './header.css';
|
|
@@ -162,21 +162,20 @@ export default class Profile extends PureComponent {
|
|
|
162
162
|
].filter(it => !!it);
|
|
163
163
|
|
|
164
164
|
return (
|
|
165
|
-
<
|
|
165
|
+
<DropdownMenu
|
|
166
166
|
{...props}
|
|
167
167
|
title={user.name}
|
|
168
168
|
anchor={anchor}
|
|
169
|
+
data={renderPopupItems(items)}
|
|
169
170
|
data-test="ring-profile"
|
|
170
171
|
className={classNames(styles.profile, className)}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
/>
|
|
179
|
-
</Dropdown>
|
|
172
|
+
menuProps={{
|
|
173
|
+
closeOnSelect,
|
|
174
|
+
left: -2,
|
|
175
|
+
top: -8,
|
|
176
|
+
sidePadding: 32
|
|
177
|
+
}}
|
|
178
|
+
/>
|
|
180
179
|
);
|
|
181
180
|
}
|
|
182
181
|
}
|
package/components/http/http.js
CHANGED
package/components/icon/icon.css
CHANGED
|
@@ -16,22 +16,22 @@
|
|
|
16
16
|
|
|
17
17
|
pointer-events: none;
|
|
18
18
|
|
|
19
|
-
&[width=
|
|
19
|
+
&[width="10"] {
|
|
20
20
|
vertical-align: -1px;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
&[width=
|
|
23
|
+
&[width="14"] {
|
|
24
24
|
margin-right: -2px;
|
|
25
25
|
margin-left: 0;
|
|
26
26
|
|
|
27
27
|
vertical-align: -3px;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
&[width=
|
|
30
|
+
&[width="16"] {
|
|
31
31
|
vertical-align: -3px;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
&[width=
|
|
34
|
+
&[width="20"] {
|
|
35
35
|
vertical-align: -2px;
|
|
36
36
|
}
|
|
37
37
|
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
/* HACK: This media query hack makes styles applied for WebKit browsers only */
|
|
47
|
+
/* stylelint-disable-next-line media-feature-name-no-vendor-prefix */
|
|
47
48
|
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
|
48
49
|
.glyph {
|
|
49
50
|
width: auto; /* Safari size bug workaround, see https://youtrack.jetbrains.com/issue/RG-1983 */
|
|
@@ -96,12 +96,13 @@
|
|
|
96
96
|
width: 100%;
|
|
97
97
|
height: calc(unit * 3);
|
|
98
98
|
|
|
99
|
-
content:
|
|
99
|
+
content: "";
|
|
100
100
|
|
|
101
101
|
pointer-events: none;
|
|
102
102
|
|
|
103
103
|
opacity: 0.8;
|
|
104
|
-
|
|
104
|
+
|
|
105
|
+
background: linear-gradient(to top, gradientStart, gradientStop);
|
|
105
106
|
}
|
|
106
107
|
|
|
107
108
|
.contentWithTopFade:first-child::before {
|
|
@@ -119,7 +120,7 @@
|
|
|
119
120
|
width: 100%;
|
|
120
121
|
height: calc(unit * 3);
|
|
121
122
|
|
|
122
|
-
content:
|
|
123
|
+
content: "";
|
|
123
124
|
pointer-events: none;
|
|
124
125
|
|
|
125
126
|
opacity: 0.8;
|
|
@@ -70,7 +70,9 @@
|
|
|
70
70
|
|
|
71
71
|
:global(.ring-island__header-btn),
|
|
72
72
|
:global(.ring-island__header-button:hover) {
|
|
73
|
-
background:
|
|
73
|
+
background:
|
|
74
|
+
var(--ring-hover-background-color)
|
|
75
|
+
linear-gradient(to top, var(--ring-hover-background-color), var(--ring-content-background-color));
|
|
74
76
|
}
|
|
75
77
|
|
|
76
78
|
:global(.ring-island__header-btn),
|
package/components/list/list.js
CHANGED
|
@@ -570,7 +570,11 @@ export default class List extends Component {
|
|
|
570
570
|
)}
|
|
571
571
|
</CellMeasurer>
|
|
572
572
|
)
|
|
573
|
-
:
|
|
573
|
+
: (
|
|
574
|
+
<div role="row" id={itemId} key={itemKey}>
|
|
575
|
+
<div role="cell">{cloneElement(el)}</div>
|
|
576
|
+
</div>
|
|
577
|
+
);
|
|
574
578
|
};
|
|
575
579
|
|
|
576
580
|
addItemDataTestToProp = props => {
|
|
@@ -679,6 +683,7 @@ export default class List extends Component {
|
|
|
679
683
|
>
|
|
680
684
|
<div
|
|
681
685
|
aria-label={this.props.ariaLabel}
|
|
686
|
+
role="grid"
|
|
682
687
|
style={maxHeight
|
|
683
688
|
? {maxHeight: this.getVisibleListHeight(this.props)}
|
|
684
689
|
: null
|
|
@@ -24,6 +24,8 @@ export default class ListCustom extends PureComponent {
|
|
|
24
24
|
onMouseOver: PropTypes.func,
|
|
25
25
|
onMouseUp: PropTypes.func,
|
|
26
26
|
onCheckboxChange: PropTypes.func,
|
|
27
|
+
role: PropTypes.string,
|
|
28
|
+
tagName: PropTypes.string,
|
|
27
29
|
'data-test': PropTypes.string
|
|
28
30
|
};
|
|
29
31
|
|
|
@@ -51,6 +53,8 @@ export default class ListCustom extends PureComponent {
|
|
|
51
53
|
onCheckboxChange,
|
|
52
54
|
onMouseOver,
|
|
53
55
|
onMouseUp,
|
|
56
|
+
role,
|
|
57
|
+
tagName,
|
|
54
58
|
...restProps
|
|
55
59
|
} = this.props;
|
|
56
60
|
const classes = classNames(styles.item, className, {
|
|
@@ -65,9 +69,11 @@ export default class ListCustom extends PureComponent {
|
|
|
65
69
|
}, restProps['data-test']);
|
|
66
70
|
|
|
67
71
|
const content = (typeof template === 'function') ? template(this.props) : template;
|
|
72
|
+
const TagName = tagName || 'span';
|
|
73
|
+
|
|
68
74
|
return (
|
|
69
|
-
<
|
|
70
|
-
role=
|
|
75
|
+
<TagName
|
|
76
|
+
role={role || 'button'}
|
|
71
77
|
tabIndex={tabIndex}
|
|
72
78
|
onClick={onClick}
|
|
73
79
|
onKeyPress={this.handleKeyPress}
|
|
@@ -78,7 +84,7 @@ export default class ListCustom extends PureComponent {
|
|
|
78
84
|
data-test={dataTest}
|
|
79
85
|
>
|
|
80
86
|
{content}
|
|
81
|
-
</
|
|
87
|
+
</TagName>
|
|
82
88
|
);
|
|
83
89
|
}
|
|
84
90
|
}
|
|
@@ -35,6 +35,8 @@ export default class ListItem extends PureComponent {
|
|
|
35
35
|
PropTypes.element,
|
|
36
36
|
PropTypes.array
|
|
37
37
|
]),
|
|
38
|
+
showGeneratedAvatar: PropTypes.bool,
|
|
39
|
+
username: PropTypes.string,
|
|
38
40
|
avatar: PropTypes.string,
|
|
39
41
|
subavatar: PropTypes.string,
|
|
40
42
|
glyph: PropTypes.oneOfType([PropTypes.string, PropTypes.elementType]),
|
|
@@ -97,11 +99,14 @@ export default class ListItem extends PureComponent {
|
|
|
97
99
|
onMouseUp,
|
|
98
100
|
rightNodes,
|
|
99
101
|
leftNodes,
|
|
102
|
+
showGeneratedAvatar,
|
|
103
|
+
username,
|
|
100
104
|
...restProps
|
|
101
105
|
} = this.props;
|
|
102
106
|
|
|
103
107
|
const checkable = checkbox !== undefined;
|
|
104
|
-
const
|
|
108
|
+
const shouldShowGeneratedAvatar = showGeneratedAvatar && username != null;
|
|
109
|
+
const hasLeftNodes = leftNodes || glyph || avatar || shouldShowGeneratedAvatar;
|
|
105
110
|
const showCheckbox = checkable && (checkbox || !hasLeftNodes || (hover && !disabled));
|
|
106
111
|
|
|
107
112
|
const classes = classNames(styles.item, globalStyles.resetButton, className, {
|
|
@@ -177,12 +182,13 @@ export default class ListItem extends PureComponent {
|
|
|
177
182
|
size={this.props.iconSize}
|
|
178
183
|
/>
|
|
179
184
|
)}
|
|
180
|
-
{avatar && (
|
|
185
|
+
{(avatar || shouldShowGeneratedAvatar) && (
|
|
181
186
|
<Avatar
|
|
182
187
|
className={styles.avatar}
|
|
183
188
|
url={avatar}
|
|
184
189
|
size={AvatarSize.Size20}
|
|
185
190
|
subavatar={subavatar}
|
|
191
|
+
username={username}
|
|
186
192
|
/>
|
|
187
193
|
)}
|
|
188
194
|
</div>
|
|
@@ -17,7 +17,8 @@ export default class ListLink extends PureComponent {
|
|
|
17
17
|
description: PropTypes.string,
|
|
18
18
|
label: PropTypes.oneOfType([
|
|
19
19
|
PropTypes.element,
|
|
20
|
-
PropTypes.string
|
|
20
|
+
PropTypes.string,
|
|
21
|
+
PropTypes.func
|
|
21
22
|
]),
|
|
22
23
|
rgItemType: PropTypes.number,
|
|
23
24
|
scrolling: PropTypes.bool,
|
|
@@ -40,8 +40,10 @@ export const basic = args => (
|
|
|
40
40
|
|
|
41
41
|
basic.storyName = 'basic';
|
|
42
42
|
basic.args = {
|
|
43
|
-
tailOffset: 32
|
|
44
|
-
|
|
43
|
+
tailOffset: 32
|
|
44
|
+
};
|
|
45
|
+
basic.parameters = {
|
|
46
|
+
actions: {argTypesRegex: '^onClose$'}
|
|
45
47
|
};
|
|
46
48
|
|
|
47
49
|
export const withOnDissmiss = args => (
|
|
@@ -69,7 +71,8 @@ export const wishNarrowAnchor = args => (
|
|
|
69
71
|
|
|
70
72
|
wishNarrowAnchor.storyName = 'with narrow anchor';
|
|
71
73
|
wishNarrowAnchor.args = {
|
|
72
|
-
popupProps: {left: -8}
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
popupProps: {left: -8}
|
|
75
|
+
};
|
|
76
|
+
wishNarrowAnchor.parameters = {
|
|
77
|
+
actions: {argTypesRegex: null}
|
|
75
78
|
};
|
|
@@ -33,6 +33,7 @@ export default class Pager extends PureComponent {
|
|
|
33
33
|
className: PropTypes.string,
|
|
34
34
|
translations: PropTypes.object,
|
|
35
35
|
loader: PropTypes.bool,
|
|
36
|
+
loaderNavigation: PropTypes.bool,
|
|
36
37
|
hrefFunc: PropTypes.func //function which generates href for all pager's buttons based on pager state passed as a function parameter, either this function or onPageChange should be provided
|
|
37
38
|
};
|
|
38
39
|
|
|
@@ -53,6 +54,7 @@ export default class Pager extends PureComponent {
|
|
|
53
54
|
previousPage: 'Previous'
|
|
54
55
|
},
|
|
55
56
|
loader: false,
|
|
57
|
+
loaderNavigation: false,
|
|
56
58
|
onPageSizeChange: () => {},
|
|
57
59
|
onLoadPage: () => {}
|
|
58
60
|
};
|
|
@@ -109,7 +111,7 @@ export default class Pager extends PureComponent {
|
|
|
109
111
|
href={this.generateHref(page)}
|
|
110
112
|
key={key}
|
|
111
113
|
active={active}
|
|
112
|
-
disabled={this.props.loader && !active}
|
|
114
|
+
disabled={this.props.loader && !active && !this.props.loaderNavigation}
|
|
113
115
|
loader={this.props.loader && active}
|
|
114
116
|
{...this.getClickProps(this.handlePageChange(page))}
|
|
115
117
|
>
|
|
@@ -187,7 +189,7 @@ export default class Pager extends PureComponent {
|
|
|
187
189
|
|
|
188
190
|
return (
|
|
189
191
|
<div className={style.links}>
|
|
190
|
-
{prevLinkAvailable && !this.props.loader
|
|
192
|
+
{prevLinkAvailable && (!this.props.loader || this.props.loaderNavigation)
|
|
191
193
|
? (
|
|
192
194
|
<Link
|
|
193
195
|
href={prevLinkHref}
|
|
@@ -202,7 +204,7 @@ export default class Pager extends PureComponent {
|
|
|
202
204
|
)
|
|
203
205
|
}
|
|
204
206
|
|
|
205
|
-
{nextLinkAvailable && !this.props.loader
|
|
207
|
+
{nextLinkAvailable && (!this.props.loader || this.props.loaderNavigation)
|
|
206
208
|
? (
|
|
207
209
|
<Link
|
|
208
210
|
href={nextLinkHref}
|
|
@@ -35,15 +35,15 @@ export const basic = () => {
|
|
|
35
35
|
return (
|
|
36
36
|
<div>
|
|
37
37
|
<div style={{height: '25px', paddingTop: '25px'}}>
|
|
38
|
-
<ProgressBar value={value} style={{width: 288}}/>
|
|
38
|
+
<ProgressBar label="Progress" value={value} style={{width: 288}}/>
|
|
39
39
|
</div>
|
|
40
40
|
|
|
41
41
|
<div style={{height: '25px', paddingTop: '25px', background: '#000'}}>
|
|
42
|
-
<ProgressBar value={value} theme={Theme.DARK} style={{width: 288}}/>
|
|
42
|
+
<ProgressBar label="Progress" value={value} theme={Theme.DARK} style={{width: 288}}/>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
<div style={{height: '25px', paddingTop: '25px', background: '#F0F0F0'}}>
|
|
46
|
-
<ProgressBar value={value} style={{width: 288}}/>
|
|
46
|
+
<ProgressBar label="Progress" value={value} style={{width: 288}}/>
|
|
47
47
|
</div>
|
|
48
48
|
</div>
|
|
49
49
|
);
|
|
@@ -23,6 +23,7 @@ export default class ProgressBar extends PureComponent {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
static propTypes = {
|
|
26
|
+
label: PropTypes.string,
|
|
26
27
|
theme: PropTypes.string,
|
|
27
28
|
|
|
28
29
|
/**
|
|
@@ -58,7 +59,8 @@ export default class ProgressBar extends PureComponent {
|
|
|
58
59
|
static defaultProps = {
|
|
59
60
|
max: 1.0,
|
|
60
61
|
value: 0,
|
|
61
|
-
theme: Theme.LIGHT
|
|
62
|
+
theme: Theme.LIGHT,
|
|
63
|
+
label: 'Progress'
|
|
62
64
|
};
|
|
63
65
|
|
|
64
66
|
progressbarWrapperRef = el => {
|
|
@@ -70,7 +72,7 @@ export default class ProgressBar extends PureComponent {
|
|
|
70
72
|
};
|
|
71
73
|
|
|
72
74
|
render() {
|
|
73
|
-
const {theme, className, global, max, value, ...otherProps} = this.props;
|
|
75
|
+
const {theme, className, global, max, value, label, ...otherProps} = this.props;
|
|
74
76
|
|
|
75
77
|
const width = value ? `${ProgressBar.toPercent(value, max)}%` : null;
|
|
76
78
|
const classes = classNames(styles.progressBar, className, {
|
|
@@ -89,6 +91,7 @@ export default class ProgressBar extends PureComponent {
|
|
|
89
91
|
className={styles.line}
|
|
90
92
|
ref={this.progressbarRef}
|
|
91
93
|
role="progressbar"
|
|
94
|
+
aria-label={label}
|
|
92
95
|
aria-valuenow={value}
|
|
93
96
|
aria-valuemin={0}
|
|
94
97
|
aria-valuemax={max}
|