@jetbrains/ring-ui 4.1.0-beta.13 → 4.1.0-beta.17
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 +14 -13
- package/components/alert/container.css +1 -1
- package/components/auth/auth.test.js +14 -7
- package/components/auth/auth__core.js +12 -6
- 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-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/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 +10 -6
- package/components/date-picker/date-picker.js +16 -14
- package/components/date-picker/date-popup.js +8 -4
- 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-ng/dialog-ng.js +6 -7
- 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-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/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/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/pager/pager.js +5 -3
- package/components/permissions/permissions.js +1 -1
- package/components/progress-bar/progress-bar.css +1 -1
- package/components/query-assist/query-assist.css +1 -1
- 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 +4 -0
- package/components/select/select.examples.js +13 -0
- package/components/select/select.js +6 -6
- 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/table.css +2 -1
- package/components/table-legacy/table-legacy.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-ng/tabs-ng.js +3 -1
- package/components/tabs-ng/{tabs-ng.html → tabs-ng__template.js} +2 -2
- package/components/tag/tag.css +5 -2
- 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/dist/_helpers/button-group.js +3 -0
- package/dist/_helpers/button-set.js +3 -0
- package/dist/_helpers/button-toolbar.js +3 -0
- package/dist/_helpers/button__classes.js +1 -1
- package/dist/_helpers/checkbox.js +3 -0
- package/dist/_helpers/date-picker.js +1 -1
- package/dist/_helpers/error-message.js +3 -0
- package/dist/_helpers/footer.js +121 -0
- package/dist/_helpers/grid.js +1 -1
- package/dist/_helpers/group.js +3 -0
- package/dist/_helpers/header.js +1 -1
- package/dist/_helpers/icon.js +3 -0
- package/dist/_helpers/inject-styles.js +1 -1
- package/dist/_helpers/input.js +3 -0
- package/dist/_helpers/island.js +1 -1
- package/dist/_helpers/link.js +3 -0
- package/dist/_helpers/loader-screen.js +3 -0
- package/dist/_helpers/panel.js +3 -0
- package/dist/_helpers/query-assist__suggestions.js +1 -1
- package/dist/_helpers/radio.js +3 -0
- package/dist/_helpers/sidebar.js +1 -1
- package/dist/_helpers/table.js +1 -1
- package/dist/_helpers/tabs.js +1 -1
- package/dist/_helpers/title.js +1 -1
- package/dist/alert/alert.js +3 -3
- package/dist/alert/container.js +2 -2
- package/dist/alert-service/alert-service.js +3 -2
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/analytics__custom-plugin.js +1 -1
- package/dist/analytics/analytics__fus-plugin.js +1 -1
- package/dist/analytics/analytics__ga-plugin.js +1 -1
- package/dist/analytics/analytics__plugin-utils.js +1 -1
- package/dist/analytics-ng/analytics-ng.js +94 -0
- package/dist/auth/auth.js +4 -1
- package/dist/auth/auth__core.js +15 -9
- package/dist/auth/background-flow.js +1 -2
- package/dist/auth/down-notification.js +5 -2
- package/dist/auth/iframe-flow.js +5 -2
- package/dist/auth/landing-entry.js +1 -1
- package/dist/auth/landing.js +5 -2
- package/dist/auth/request-builder.js +1 -1
- package/dist/auth/response-parser.js +1 -1
- package/dist/auth/storage.js +3 -2
- package/dist/auth/token-validator.js +1 -1
- package/dist/auth/window-flow.js +1 -1
- package/dist/auth-dialog/auth-dialog.js +4 -3
- package/dist/auth-dialog-service/auth-dialog-service.js +3 -2
- package/dist/auth-ng/auth-ng.js +203 -0
- package/dist/auth-ng/auth-ng.mock.js +33 -0
- package/dist/autofocus-ng/autofocus-ng.js +50 -0
- package/dist/avatar/avatar.js +19 -7
- package/dist/avatar/fallback-avatar.js +141 -0
- package/dist/avatar-editor-ng/avatar-editor-ng.js +164 -0
- package/dist/avatar-editor-ng/avatar-editor-ng__template.js +30 -0
- package/dist/avatar-ng/avatar-ng.js +18 -0
- package/dist/badge/badge.js +1 -1
- package/dist/badge-ng/badge-ng.js +16 -0
- package/dist/breadcrumb-ng/breadcrumb-ng.js +61 -0
- package/dist/button/button.js +3 -2
- package/dist/button-group/button-group.js +3 -3
- package/dist/button-group/caption.js +24 -5
- package/dist/button-group-ng/button-group-ng.js +38 -0
- package/dist/button-ng/button-ng.js +223 -0
- package/dist/button-set/button-set.js +2 -3
- package/dist/button-set-ng/button-set-ng.js +19 -0
- package/dist/button-toolbar/button-toolbar.js +2 -3
- package/dist/button-toolbar-ng/button-toolbar-ng.js +23 -0
- package/dist/caret/caret.js +1 -1
- package/dist/checkbox/checkbox.js +4 -4
- package/dist/checkbox-ng/checkbox-ng.js +55 -0
- package/dist/code/code.js +136 -0
- package/dist/compiler-ng/compiler-ng.js +53 -0
- package/dist/confirm/confirm.js +4 -2
- package/dist/confirm-ng/confirm-ng.js +66 -0
- package/dist/confirm-service/confirm-service.js +4 -3
- package/dist/content-layout/content-layout.js +1 -1
- package/dist/contenteditable/contenteditable.js +1 -1
- package/dist/data-list/data-list.js +6 -3
- package/dist/data-list/data-list.mock.js +2 -2
- package/dist/data-list/item.js +5 -3
- package/dist/data-list/selection.js +1 -1
- package/dist/data-list/title.js +3 -1
- package/dist/data-list-ng/data-list-ng.js +59 -0
- package/dist/date-picker/consts.js +1 -2
- package/dist/date-picker/date-input.js +10 -6
- package/dist/date-picker/date-picker.js +28 -16
- package/dist/date-picker/date-popup.js +20 -9
- package/dist/date-picker/day.js +1 -1
- package/dist/date-picker/formats.js +1 -1
- package/dist/date-picker/month-names.js +14 -7
- package/dist/date-picker/month-slider.js +1 -1
- package/dist/date-picker/month.js +12 -6
- package/dist/date-picker/months.js +1 -1
- package/dist/date-picker/weekdays.js +12 -4
- package/dist/date-picker/years.js +1 -1
- package/dist/dialog/dialog.js +3 -2
- package/dist/dialog-ng/dialog-ng.js +601 -0
- package/dist/dialog-ng/dialog-ng__template.js +71 -0
- package/dist/docked-panel-ng/docked-panel-ng.js +170 -0
- package/dist/dropdown/anchor.js +2 -1
- package/dist/dropdown/dropdown.js +3 -2
- package/dist/dropdown-menu/dropdown-menu.js +175 -0
- package/dist/error-bubble/error-bubble.js +2 -2
- package/dist/error-message/error-message.js +4 -4
- package/dist/error-message-ng/error-message-ng.js +53 -0
- package/dist/footer/footer.js +6 -122
- package/dist/footer-ng/footer-ng.js +75 -0
- package/dist/form-ng/form-ng.js +169 -0
- package/dist/global/angular-component-factory.js +1 -2
- package/dist/global/compose.js +1 -1
- package/dist/global/composeRefs.js +1 -1
- package/dist/global/conic-gradient.js +1 -2
- package/dist/global/create-stateful-context.js +1 -1
- package/dist/global/data-tests.js +1 -1
- package/dist/global/focus-sensor-hoc.js +1 -1
- package/dist/global/fuzzy-highlight.js +1 -1
- package/dist/global/get-event-key.js +1 -1
- package/dist/global/get-uid.js +1 -1
- package/dist/global/linear-function.js +1 -2
- package/dist/global/listeners.js +1 -1
- package/dist/global/memoize.js +1 -1
- package/dist/global/normalize-indent.js +1 -1
- package/dist/global/promise-with-timeout.js +1 -1
- package/dist/global/radial-gradient-mask.js +1 -1
- package/dist/global/react-dom-renderer.js +1 -1
- package/dist/global/rerender-hoc.js +1 -1
- package/dist/global/ring-angular-component.js +1 -1
- package/dist/global/schedule-raf.js +1 -1
- package/dist/global/sniffer.js +1 -1
- package/dist/global/supports-css.js +1 -1
- package/dist/global/theme.js +1 -2
- package/dist/global/trivial-template-tag.js +1 -1
- package/dist/global/variables_dark.js +1 -1
- package/dist/grid/col.js +1 -1
- package/dist/grid/row.js +1 -1
- package/dist/group/group.js +2 -3
- package/dist/group-ng/group-ng.js +11 -0
- package/dist/header/header.js +24 -19
- package/dist/header/logo.js +3 -2
- package/dist/header/profile.js +31 -25
- package/dist/header/services-link.js +1 -0
- package/dist/header/services.js +4 -2
- package/dist/header/smart-profile.js +22 -16
- package/dist/header/smart-services.js +5 -2
- package/dist/header/tray-icon.js +3 -2
- package/dist/header/tray.js +1 -1
- package/dist/heading/heading.js +2 -3
- package/dist/http/http.js +1 -2
- package/dist/http/http.mock.js +1 -1
- package/dist/hub-source/hub-source.js +1 -1
- package/dist/hub-source/hub-source__users-groups.js +1 -1
- package/dist/icon/icon.js +3 -2
- package/dist/icon/icon__svg.js +81 -6
- package/dist/icon/index.js +2 -1
- package/dist/icon-ng/icon-ng.js +89 -0
- package/dist/input/input.js +4 -5
- package/dist/input-ng/input-ng.js +166 -0
- package/dist/island/adaptive-island-hoc.js +1 -2
- package/dist/island/content.js +1 -1
- package/dist/island/header.js +1 -1
- package/dist/island/island.js +1 -2
- package/dist/island-legacy/content-legacy.js +1 -1
- package/dist/island-legacy/header-legacy.js +1 -1
- package/dist/island-legacy/island-legacy.js +1 -1
- package/dist/island-ng/island-content-ng.js +56 -0
- package/dist/island-ng/island-header-ng.js +32 -0
- package/dist/island-ng/island-ng-class-fixer.js +9 -0
- package/dist/island-ng/island-ng.js +31 -0
- package/dist/link/clickableLink.js +1 -1
- package/dist/link/link.js +2 -4
- package/dist/link-ng/link-ng.js +25 -0
- package/dist/list/list.js +13 -5
- package/dist/list/list__custom.js +8 -3
- package/dist/list/list__hint.js +1 -1
- package/dist/list/list__item.js +15 -6
- package/dist/list/list__link.js +2 -1
- package/dist/list/list__separator.js +1 -1
- package/dist/list/list__title.js +1 -1
- package/dist/list/list__users-groups-source.js +6 -2
- package/dist/loader/loader.js +1 -1
- package/dist/loader/loader__core.js +1 -1
- package/dist/loader-inline/loader-inline.js +1 -1
- package/dist/loader-inline-ng/loader-inline-ng.js +42 -0
- package/dist/loader-ng/loader-ng.js +43 -0
- package/dist/loader-screen/loader-screen.js +2 -3
- package/dist/loader-screen-ng/loader-screen-ng.js +99 -0
- package/dist/login-dialog/login-dialog.js +4 -2
- package/dist/login-dialog/service.js +4 -2
- package/dist/markdown/code.js +30 -0
- package/dist/markdown/heading.js +23 -0
- package/dist/markdown/link.js +30 -0
- package/dist/markdown/markdown.js +73 -0
- package/dist/message/message.js +4 -3
- package/dist/message-bundle-ng/message-bundle-ng.js +111 -0
- package/dist/pager/pager.js +16 -7
- package/dist/pager-ng/pager-ng.js +96 -0
- package/dist/panel/panel.js +2 -3
- package/dist/panel-ng/panel-ng.js +16 -0
- package/dist/permissions/permissions.js +1 -1
- package/dist/permissions/permissions__cache.js +1 -1
- package/dist/permissions-ng/permissions-ng.js +274 -0
- package/dist/place-under-ng/place-under-ng.js +157 -0
- package/dist/popup/popup.js +2 -3
- package/dist/popup/position.js +1 -2
- package/dist/popup-menu/popup-menu.js +6 -3
- package/dist/progress-bar/progress-bar.js +2 -2
- package/dist/progress-bar-ng/progress-bar-ng.js +15 -0
- package/dist/promised-click-ng/promised-click-ng.js +126 -0
- package/dist/proxy-attrs/proxy-attrs.js +1 -1
- package/dist/query-assist/query-assist.js +6 -3
- package/dist/query-assist/query-assist__suggestions.js +5 -1
- package/dist/query-assist-ng/query-assist-ng.js +82 -0
- package/dist/radio/radio.js +2 -1
- package/dist/radio/radio__item.js +2 -4
- package/dist/radio-ng/radio-ng.js +63 -0
- package/dist/save-field-ng/save-field-ng.js +335 -0
- package/dist/save-field-ng/save-field-ng__template.js +34 -0
- package/dist/select/select.js +13 -11
- package/dist/select/select__filter.js +6 -1
- package/dist/select/select__popup.js +7 -2
- package/dist/select-ng/select-ng.js +621 -0
- package/dist/select-ng/select-ng__lazy.js +150 -0
- package/dist/select-ng/select-ng__options.js +145 -0
- package/dist/shortcuts/core.js +2 -2
- package/dist/shortcuts/shortcuts-hoc.js +1 -1
- package/dist/shortcuts/shortcuts.js +6 -6
- package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +120 -0
- package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +50 -0
- package/dist/shortcuts-ng/shortcuts-ng.js +261 -0
- package/dist/sidebar-ng/sidebar-ng.js +111 -0
- package/dist/sidebar-ng/sidebar-ng__button-template.js +20 -0
- package/dist/sidebar-ng/sidebar-ng__template.js +12 -0
- package/dist/storage/storage.js +3 -2
- package/dist/storage/storage__fallback.js +1 -1
- package/dist/storage/storage__local.js +3 -2
- package/dist/style.css +1 -1
- package/dist/tab-trap/tab-trap.js +1 -2
- package/dist/table/cell.js +1 -1
- package/dist/table/disable-hover-hoc.js +1 -1
- package/dist/table/header-cell.js +3 -2
- package/dist/table/header.js +4 -2
- package/dist/table/multitable.js +1 -1
- package/dist/table/row-with-focus-sensor.js +4 -2
- package/dist/table/row.js +4 -2
- package/dist/table/selection-adapter.js +1 -1
- package/dist/table/selection-shortcuts-hoc.js +1 -1
- package/dist/table/selection.js +1 -1
- package/dist/table/smart-table.js +4 -2
- package/dist/table/table.js +4 -3
- package/dist/table-legacy-ng/table-legacy-ng.js +501 -0
- package/dist/table-legacy-ng/table-legacy-ng__pager.js +122 -0
- package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +123 -0
- package/dist/table-legacy-ng/table-legacy-ng__selection.js +179 -0
- package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +56 -0
- package/dist/table-ng/smart-table-ng.js +65 -0
- package/dist/table-ng/table-ng.js +64 -0
- package/dist/tabs/collapsible-more.js +5 -1
- package/dist/tabs/collapsible-tab.js +2 -1
- package/dist/tabs/collapsible-tabs.js +6 -3
- package/dist/tabs/dumb-tabs.js +6 -2
- package/dist/tabs/smart-tabs.js +6 -2
- package/dist/tabs/tab-link.js +2 -1
- package/dist/tabs/tab.js +1 -1
- package/dist/tabs/tabs.js +5 -1
- package/dist/tabs-ng/tabs-ng.js +193 -0
- package/dist/tabs-ng/tabs-ng__template.js +40 -0
- package/dist/tag/tag.js +4 -3
- package/dist/tags-input/tags-input.js +12 -8
- package/dist/tags-input-ng/tags-input-ng.js +89 -0
- package/dist/tags-list/tags-list.js +3 -2
- package/dist/template-ng/template-ng.js +70 -0
- package/dist/text/text.js +1 -1
- package/dist/theme-ng/theme-ng.js +44 -0
- package/dist/title-ng/title-ng.js +114 -0
- package/dist/toggle/toggle.js +2 -3
- package/dist/toggle-ng/toggle-ng.js +16 -0
- package/dist/tooltip/tooltip.js +8 -4
- package/dist/tooltip-ng/tooltip-ng.js +98 -0
- package/dist/user-agreement/service.js +409 -0
- package/dist/user-agreement/toolbox.eula.js +162 -0
- package/dist/user-agreement/user-agreement.js +167 -0
- package/dist/user-card/card.js +3 -0
- package/dist/user-card/smart-user-card-tooltip.js +5 -2
- package/dist/user-card/tooltip.js +5 -2
- package/dist/user-card/user-card.js +5 -2
- package/dist/user-card-ng/user-card-ng.js +59 -0
- package/package.json +62 -64
- package/webpack.config.js +10 -8
- 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/caption.js +0 -25
- package/dist/_helpers/icon__svg.js +0 -82
|
@@ -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 = {};
|
|
@@ -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>
|
|
@@ -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}
|
|
@@ -13,6 +13,8 @@ import Shortcuts from '../shortcuts-ng/shortcuts-ng';
|
|
|
13
13
|
import Button from '../button-ng/button-ng';
|
|
14
14
|
import PromisedClick from '../promised-click-ng/promised-click-ng';
|
|
15
15
|
|
|
16
|
+
import template from './save-field-ng__template';
|
|
17
|
+
|
|
16
18
|
const angularModule = angular.module('Ring.save-field', [
|
|
17
19
|
MessageBundle,
|
|
18
20
|
|
|
@@ -64,7 +66,7 @@ angularModule.directive(
|
|
|
64
66
|
return {
|
|
65
67
|
require: 'rgSaveField',
|
|
66
68
|
transclude: true,
|
|
67
|
-
template
|
|
69
|
+
template,
|
|
68
70
|
scope: {
|
|
69
71
|
api: '=?',
|
|
70
72
|
value: '=',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
export default `<div class="ring-save-field" ng-form="saveFieldForm" rg-shortcuts="ring-save-field" shortcuts-map="keyMap" shortcuts-focus="focus">
|
|
2
2
|
<span class="ring-save-field__transclude-placeholder" ng-transclude=""></span>
|
|
3
3
|
|
|
4
4
|
<rg-button
|
|
@@ -29,4 +29,4 @@
|
|
|
29
29
|
>
|
|
30
30
|
{{wording.saved}}
|
|
31
31
|
</rg-button>
|
|
32
|
-
</div
|
|
32
|
+
</div>`;
|
|
@@ -36,6 +36,7 @@ export default {
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
export const withAFilterAndTags = args => <Select {...args}/>;
|
|
39
|
+
export const withAvatars = args => <Select {...args}/>;
|
|
39
40
|
|
|
40
41
|
{
|
|
41
42
|
const avatarUrl = `${hubConfig.serverUri}/api/rest/avatar/default?username=blue`;
|
|
@@ -53,6 +54,12 @@ export const withAFilterAndTags = args => <Select {...args}/>;
|
|
|
53
54
|
label: 'With avatar',
|
|
54
55
|
key: 5,
|
|
55
56
|
avatar: avatarUrl
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
label: 'With generated avatar',
|
|
60
|
+
showGeneratedAvatar: true,
|
|
61
|
+
username: 'With generated avatar',
|
|
62
|
+
key: 6
|
|
56
63
|
}
|
|
57
64
|
];
|
|
58
65
|
|
|
@@ -71,6 +78,12 @@ export const withAFilterAndTags = args => <Select {...args}/>;
|
|
|
71
78
|
data: tags,
|
|
72
79
|
selected: [tags[0]]
|
|
73
80
|
};
|
|
81
|
+
|
|
82
|
+
withAvatars.args = {
|
|
83
|
+
data: tags,
|
|
84
|
+
selected: tags[4],
|
|
85
|
+
type: Select.Type.BUTTON
|
|
86
|
+
};
|
|
74
87
|
}
|
|
75
88
|
|
|
76
89
|
withAFilterAndTags.storyName = 'with a filter and tags';
|
|
@@ -220,6 +220,7 @@ export default class Select extends Component {
|
|
|
220
220
|
|
|
221
221
|
static propTypes = {
|
|
222
222
|
className: PropTypes.string,
|
|
223
|
+
buttonClassName: PropTypes.string,
|
|
223
224
|
id: PropTypes.string,
|
|
224
225
|
multiple: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),
|
|
225
226
|
allowAny: PropTypes.bool,
|
|
@@ -521,10 +522,6 @@ export default class Select extends Component {
|
|
|
521
522
|
return getSelectedIndex(selected, data, this.props.multiple);
|
|
522
523
|
}
|
|
523
524
|
|
|
524
|
-
popupRef = el => {
|
|
525
|
-
this._popup = el;
|
|
526
|
-
};
|
|
527
|
-
|
|
528
525
|
_getResetOption() {
|
|
529
526
|
const isOptionsSelected = this.state.selected && this.state.selected.length;
|
|
530
527
|
const hasTagsResetProp = this.props.tags && this.props.tags.reset;
|
|
@@ -1034,10 +1031,12 @@ export default class Select extends Component {
|
|
|
1034
1031
|
}
|
|
1035
1032
|
|
|
1036
1033
|
_getAvatar() {
|
|
1037
|
-
return this.state.selected &&
|
|
1034
|
+
return this.state.selected &&
|
|
1035
|
+
(this.state.selected.avatar || this.state.selected.showGeneratedAvatar) && (
|
|
1038
1036
|
<Avatar
|
|
1039
1037
|
className={styles.avatar}
|
|
1040
1038
|
url={this.state.selected.avatar}
|
|
1039
|
+
username={this.state.selected.username}
|
|
1041
1040
|
size={AvatarSize.Size20}
|
|
1042
1041
|
/>
|
|
1043
1042
|
);
|
|
@@ -1152,6 +1151,7 @@ export default class Select extends Component {
|
|
|
1152
1151
|
id={this.props.id}
|
|
1153
1152
|
onClick={this._clickHandler}
|
|
1154
1153
|
className={classNames(
|
|
1154
|
+
this.props.buttonClassName,
|
|
1155
1155
|
styles.buttonValue,
|
|
1156
1156
|
{
|
|
1157
1157
|
[styles.buttonValueOpen]: this.state.showPopup
|
|
@@ -1192,7 +1192,7 @@ export default class Select extends Component {
|
|
|
1192
1192
|
onClick={this._clickHandler}
|
|
1193
1193
|
type="button"
|
|
1194
1194
|
disabled={this.props.disabled}
|
|
1195
|
-
className={classNames(styles.value, {
|
|
1195
|
+
className={classNames(this.props.buttonClassName, styles.value, {
|
|
1196
1196
|
[styles.open]: this.state.showPopup,
|
|
1197
1197
|
[styles.label]: this._selectionIsEmpty()
|
|
1198
1198
|
})}
|
|
@@ -10,7 +10,7 @@ import IconNg from '../icon-ng/icon-ng';
|
|
|
10
10
|
import InputNg from '../input-ng/input-ng';
|
|
11
11
|
import {getShortcutTitle} from '../shortcuts/shortcut-title';
|
|
12
12
|
|
|
13
|
-
import HintPopupTpl from './shortcuts-hint-
|
|
13
|
+
import HintPopupTpl from './shortcuts-hint-ng__template';
|
|
14
14
|
import './shortcuts-hint-ng.css';
|
|
15
15
|
|
|
16
16
|
/**
|