@jetbrains/ring-ui 6.0.4-beta.0 → 6.0.4
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/README.md +10 -6
- package/components/alert/alert.css +12 -13
- package/components/alert/container.css +4 -6
- package/components/alert-service/alert-service.stories.css +0 -3
- package/components/auth/down-notification.css +2 -4
- package/components/auth/request-builder.d.ts +1 -0
- package/components/auth-dialog/auth-dialog.css +10 -12
- package/components/badge/badge.css +1 -3
- package/components/button/button.css +13 -14
- package/components/button-group/button-group.css +6 -5
- package/components/button-set/button-set.css +1 -2
- package/components/button-toolbar/button-toolbar.css +1 -2
- package/components/checkbox/checkbox.css +3 -4
- package/components/code/code.css +3 -5
- package/components/code/code.d.ts +1 -0
- package/components/collapse/collapse-content.d.ts +11 -0
- package/components/collapse/collapse-content.js +72 -0
- package/components/collapse/collapse-context.d.ts +10 -0
- package/components/collapse/collapse-context.js +10 -0
- package/components/collapse/collapse-control.d.ts +11 -0
- package/components/collapse/collapse-control.js +22 -0
- package/components/collapse/collapse.css +40 -0
- package/components/collapse/collapse.d.ts +12 -0
- package/components/collapse/collapse.js +26 -0
- package/components/collapse/collapse.stories.css +25 -0
- package/components/collapse/consts.d.ts +4 -0
- package/components/collapse/consts.js +4 -0
- package/components/collapse/utils.d.ts +1 -0
- package/components/collapse/utils.js +1 -0
- package/components/confirm/confirm.css +1 -3
- package/components/content-layout/content-layout.css +7 -7
- package/components/data-list/data-list.css +4 -5
- package/components/date-picker/consts.js +1 -1
- package/components/date-picker/date-picker.css +40 -41
- package/components/date-picker/date-picker.js +7 -7
- package/components/date-picker/date-popup.js +4 -4
- package/components/date-picker/day.js +9 -9
- package/components/date-picker/month-names.js +6 -6
- package/components/date-picker/month-slider.js +3 -3
- package/components/date-picker/month.js +5 -5
- package/components/date-picker/months.js +6 -6
- package/components/date-picker/weekdays.js +4 -4
- package/components/date-picker/years.js +8 -8
- package/components/dialog/dialog.css +12 -13
- package/components/editable-heading/editable-heading.css +25 -20
- package/components/editable-heading/editable-heading.d.ts +1 -1
- package/components/editable-heading/editable-heading.js +42 -27
- package/components/error-bubble/error-bubble-legacy.css +6 -8
- package/components/error-bubble/error-bubble.css +6 -8
- package/components/footer/footer.css +6 -8
- package/components/form/form.css +31 -33
- package/components/global/global.css +1 -7
- package/components/global/variables_dark.css +2 -2
- package/components/grid/grid.css +6 -6
- package/components/grid/row.js +3 -3
- package/components/group/group.css +1 -3
- package/components/header/header.css +12 -14
- package/components/header/profile.js +1 -1
- package/components/header/services.css +12 -14
- package/components/icon/icon.css +2 -4
- package/components/input/input-legacy.css +2 -4
- package/components/input/input.css +8 -10
- package/components/input-size/input-size.css +4 -6
- package/components/island/header.js +1 -1
- package/components/island/island.css +6 -7
- package/components/island-legacy/island-legacy.css +6 -8
- package/components/line/line.css +1 -3
- package/components/link/link.css +1 -1
- package/components/link/link.d.ts +2 -2
- package/components/link/link.js +1 -1
- package/components/list/list.css +17 -20
- package/components/list/list.d.ts +0 -1
- package/components/list/list.js +5 -6
- package/components/loader/loader.css +1 -3
- package/components/loader/loader__core.js +6 -6
- package/components/loader-inline/loader-inline.css +5 -6
- package/components/login-dialog/login-dialog.css +1 -3
- package/components/markdown/markdown.css +2 -3
- package/components/message/message.css +5 -8
- package/components/old-browsers-message/old-browsers-message.css +2 -4
- package/components/pager/pager.css +2 -4
- package/components/panel/panel.css +3 -5
- package/components/popup/popup.js +3 -3
- package/components/progress-bar/progress-bar.css +9 -4
- package/components/progress-bar/progress-bar.d.ts +6 -0
- package/components/progress-bar/progress-bar.js +9 -3
- package/components/query-assist/query-assist.css +3 -4
- package/components/query-assist/query-assist.js +1 -1
- package/components/radio/radio.css +7 -10
- package/components/select/select-popup.css +13 -11
- package/components/select/select.css +13 -14
- package/components/select/select.js +21 -21
- package/components/sidebar/sidebar.css +13 -15
- package/components/table/table.css +15 -17
- package/components/table-legacy/table-legacy.css +22 -24
- package/components/table-legacy/table-legacy__toolbar.css +2 -4
- package/components/tabs/tabs.css +3 -4
- package/components/tag/tag.css +12 -13
- package/components/tags-input/tags-input.css +1 -2
- package/components/toggle/toggle.css +21 -22
- package/components/tooltip/tooltip.css +3 -5
- package/components/user-agreement/user-agreement.css +2 -2
- package/components/user-card/user-card.css +3 -5
- package/package.json +74 -77
- package/typings.d.ts +0 -54
- package/webpack.config.js +1 -24
- package/components/auth/landing-entry.d.ts +0 -3
- package/components/auth/landing-entry.js +0 -2
- package/components/auth/landing.d.ts +0 -2
- package/components/auth/landing.html +0 -12
- package/components/auth/landing.js +0 -26
- package/dist/_helpers/_rollupPluginBabelHelpers.js +0 -648
- package/dist/_helpers/anchor.js +0 -31
- package/dist/_helpers/badge.js +0 -3
- package/dist/_helpers/button__classes.js +0 -34
- package/dist/_helpers/caption.js +0 -31
- package/dist/_helpers/card.js +0 -132
- package/dist/_helpers/date-picker.js +0 -3
- package/dist/_helpers/dialog__body-scroll-preventer.js +0 -54
- package/dist/_helpers/grid.js +0 -3
- package/dist/_helpers/header.js +0 -3
- package/dist/_helpers/heading.js +0 -3
- package/dist/_helpers/icon__svg.js +0 -75
- package/dist/_helpers/input.js +0 -235
- package/dist/_helpers/island.js +0 -3
- package/dist/_helpers/link.js +0 -3
- package/dist/_helpers/list.js +0 -3
- package/dist/_helpers/query-assist__suggestions.js +0 -102
- package/dist/_helpers/select__filter.js +0 -94
- package/dist/_helpers/services-link.js +0 -48
- package/dist/_helpers/sidebar.js +0 -123
- package/dist/_helpers/tab-link.js +0 -34
- package/dist/_helpers/table.js +0 -3
- package/dist/_helpers/theme.js +0 -95
- package/dist/_helpers/title.js +0 -103
- package/dist/alert/alert.d.ts +0 -113
- package/dist/alert/alert.js +0 -292
- package/dist/alert/container.d.ts +0 -15
- package/dist/alert/container.js +0 -52
- package/dist/alert-service/alert-service.d.ts +0 -36
- package/dist/alert-service/alert-service.js +0 -218
- package/dist/analytics/analytics.d.ts +0 -18
- package/dist/analytics/analytics.js +0 -31
- package/dist/analytics/analytics__custom-plugin.d.ts +0 -28
- package/dist/analytics/analytics__custom-plugin.js +0 -90
- package/dist/auth/auth.d.ts +0 -3
- package/dist/auth/auth.js +0 -130
- package/dist/auth/auth__core.d.ts +0 -236
- package/dist/auth/auth__core.js +0 -1650
- package/dist/auth/background-flow.d.ts +0 -31
- package/dist/auth/background-flow.js +0 -146
- package/dist/auth/down-notification.d.ts +0 -15
- package/dist/auth/down-notification.js +0 -155
- package/dist/auth/iframe-flow.d.ts +0 -20
- package/dist/auth/iframe-flow.js +0 -192
- package/dist/auth/landing-entry.d.ts +0 -3
- package/dist/auth/landing-entry.js +0 -5
- package/dist/auth/landing.d.ts +0 -2
- package/dist/auth/landing.js +0 -152
- package/dist/auth/request-builder.d.ts +0 -47
- package/dist/auth/request-builder.js +0 -101
- package/dist/auth/response-parser.d.ts +0 -70
- package/dist/auth/response-parser.js +0 -137
- package/dist/auth/storage.d.ts +0 -112
- package/dist/auth/storage.js +0 -422
- package/dist/auth/token-validator.d.ts +0 -93
- package/dist/auth/token-validator.js +0 -267
- package/dist/auth/window-flow.d.ts +0 -26
- package/dist/auth/window-flow.js +0 -153
- package/dist/auth-dialog/auth-dialog.d.ts +0 -60
- package/dist/auth-dialog/auth-dialog.js +0 -219
- package/dist/auth-dialog-service/auth-dialog-service.d.ts +0 -6
- package/dist/auth-dialog-service/auth-dialog-service.js +0 -90
- package/dist/avatar/avatar-example-datauri.d.ts +0 -1
- package/dist/avatar/avatar-example-datauri.js +0 -4
- package/dist/avatar/avatar.d.ts +0 -52
- package/dist/avatar/avatar.js +0 -180
- package/dist/avatar/fallback-avatar.d.ts +0 -17
- package/dist/avatar/fallback-avatar.js +0 -150
- package/dist/badge/badge.d.ts +0 -24
- package/dist/badge/badge.js +0 -59
- package/dist/button/button.d.ts +0 -67
- package/dist/button/button.js +0 -131
- package/dist/button/button__classes.d.ts +0 -2
- package/dist/button/button__classes.js +0 -2
- package/dist/button-group/button-group.d.ts +0 -18
- package/dist/button-group/button-group.js +0 -48
- package/dist/button-group/caption.d.ts +0 -8
- package/dist/button-group/caption.js +0 -5
- package/dist/button-set/button-set.d.ts +0 -16
- package/dist/button-set/button-set.js +0 -47
- package/dist/button-toolbar/button-toolbar.d.ts +0 -16
- package/dist/button-toolbar/button-toolbar.js +0 -46
- package/dist/caret/caret.d.ts +0 -66
- package/dist/caret/caret.js +0 -258
- package/dist/checkbox/checkbox.d.ts +0 -45
- package/dist/checkbox/checkbox.js +0 -130
- package/dist/clipboard/clipboard-fallback.d.ts +0 -2
- package/dist/clipboard/clipboard-fallback.js +0 -42
- package/dist/clipboard/clipboard.d.ts +0 -5
- package/dist/clipboard/clipboard.js +0 -183
- package/dist/code/code.d.ts +0 -43
- package/dist/code/code.js +0 -192
- package/dist/confirm/confirm.d.ts +0 -48
- package/dist/confirm/confirm.js +0 -151
- package/dist/confirm-service/confirm-service.d.ts +0 -21
- package/dist/confirm-service/confirm-service.js +0 -139
- package/dist/content-layout/content-layout.d.ts +0 -26
- package/dist/content-layout/content-layout.js +0 -79
- package/dist/content-layout/sidebar.d.ts +0 -31
- package/dist/content-layout/sidebar.js +0 -7
- package/dist/contenteditable/contenteditable.d.ts +0 -47
- package/dist/contenteditable/contenteditable.js +0 -84
- package/dist/control-label/control-label.d.ts +0 -11
- package/dist/control-label/control-label.js +0 -36
- package/dist/data-list/data-list.d.ts +0 -85
- package/dist/data-list/data-list.js +0 -246
- package/dist/data-list/data-list.mock.d.ts +0 -16
- package/dist/data-list/data-list.mock.js +0 -192
- package/dist/data-list/item.d.ts +0 -50
- package/dist/data-list/item.js +0 -234
- package/dist/data-list/selection.d.ts +0 -16
- package/dist/data-list/selection.js +0 -146
- package/dist/data-list/title.d.ts +0 -26
- package/dist/data-list/title.js +0 -28
- package/dist/date-picker/consts.d.ts +0 -98
- package/dist/date-picker/consts.js +0 -46
- package/dist/date-picker/date-input.d.ts +0 -47
- package/dist/date-picker/date-input.js +0 -177
- package/dist/date-picker/date-picker.d.ts +0 -77
- package/dist/date-picker/date-picker.js +0 -402
- package/dist/date-picker/date-popup.d.ts +0 -55
- package/dist/date-picker/date-popup.js +0 -488
- package/dist/date-picker/day.d.ts +0 -30
- package/dist/date-picker/day.js +0 -133
- package/dist/date-picker/formats.d.ts +0 -2
- package/dist/date-picker/formats.js +0 -3
- package/dist/date-picker/month-names.d.ts +0 -13
- package/dist/date-picker/month-names.js +0 -110
- package/dist/date-picker/month-slider.d.ts +0 -29
- package/dist/date-picker/month-slider.js +0 -93
- package/dist/date-picker/month.d.ts +0 -14
- package/dist/date-picker/month.js +0 -58
- package/dist/date-picker/months.d.ts +0 -11
- package/dist/date-picker/months.js +0 -133
- package/dist/date-picker/weekdays.d.ts +0 -13
- package/dist/date-picker/weekdays.js +0 -39
- package/dist/date-picker/years.d.ts +0 -25
- package/dist/date-picker/years.js +0 -134
- package/dist/dialog/dialog.d.ts +0 -64
- package/dist/dialog/dialog.js +0 -238
- package/dist/dialog/dialog__body-scroll-preventer.d.ts +0 -9
- package/dist/dialog/dialog__body-scroll-preventer.js +0 -6
- package/dist/dropdown/anchor.d.ts +0 -11
- package/dist/dropdown/anchor.js +0 -24
- package/dist/dropdown/dropdown.d.ts +0 -87
- package/dist/dropdown/dropdown.js +0 -247
- package/dist/dropdown-menu/dropdown-menu.d.ts +0 -36
- package/dist/dropdown-menu/dropdown-menu.js +0 -194
- package/dist/editable-heading/editable-heading.d.ts +0 -32
- package/dist/editable-heading/editable-heading.js +0 -245
- package/dist/error-bubble/error-bubble.d.ts +0 -18
- package/dist/error-bubble/error-bubble.js +0 -86
- package/dist/error-message/error-message.d.ts +0 -27
- package/dist/error-message/error-message.js +0 -78
- package/dist/footer/footer.d.ts +0 -28
- package/dist/footer/footer.js +0 -118
- package/dist/global/compose.d.ts +0 -7
- package/dist/global/compose.js +0 -17
- package/dist/global/composeRefs.d.ts +0 -3
- package/dist/global/composeRefs.js +0 -19
- package/dist/global/controls-height.d.ts +0 -9
- package/dist/global/controls-height.js +0 -19
- package/dist/global/create-stateful-context.d.ts +0 -27
- package/dist/global/create-stateful-context.js +0 -49
- package/dist/global/data-tests.d.ts +0 -3
- package/dist/global/data-tests.js +0 -30
- package/dist/global/dom.d.ts +0 -37
- package/dist/global/dom.js +0 -150
- package/dist/global/focus-sensor-hoc.d.ts +0 -19
- package/dist/global/focus-sensor-hoc.js +0 -165
- package/dist/global/fuzzy-highlight.d.ts +0 -11
- package/dist/global/fuzzy-highlight.js +0 -90
- package/dist/global/get-event-key.d.ts +0 -2
- package/dist/global/get-event-key.js +0 -101
- package/dist/global/get-uid.d.ts +0 -1
- package/dist/global/get-uid.js +0 -22
- package/dist/global/inject-styles.d.ts +0 -3
- package/dist/global/inject-styles.js +0 -22
- package/dist/global/linear-function.d.ts +0 -6
- package/dist/global/linear-function.js +0 -15
- package/dist/global/listeners.d.ts +0 -8
- package/dist/global/listeners.js +0 -58
- package/dist/global/memoize.d.ts +0 -1
- package/dist/global/memoize.js +0 -23
- package/dist/global/normalize-indent.d.ts +0 -1
- package/dist/global/normalize-indent.js +0 -61
- package/dist/global/promise-with-timeout.d.ts +0 -5
- package/dist/global/promise-with-timeout.js +0 -19
- package/dist/global/prop-types.d.ts +0 -4
- package/dist/global/prop-types.js +0 -9
- package/dist/global/react-dom-renderer.d.ts +0 -16
- package/dist/global/react-dom-renderer.js +0 -53
- package/dist/global/react-render-adapter.d.ts +0 -1
- package/dist/global/react-render-adapter.js +0 -6
- package/dist/global/rerender-hoc.d.ts +0 -10
- package/dist/global/rerender-hoc.js +0 -46
- package/dist/global/schedule-raf.d.ts +0 -1
- package/dist/global/schedule-raf.js +0 -28
- package/dist/global/sniffer.d.ts +0 -3
- package/dist/global/sniffer.js +0 -6
- package/dist/global/theme.d.ts +0 -21
- package/dist/global/theme.js +0 -40
- package/dist/global/trivial-template-tag.d.ts +0 -1
- package/dist/global/trivial-template-tag.js +0 -21
- package/dist/global/typescript-utils.d.ts +0 -2
- package/dist/global/typescript-utils.js +0 -8
- package/dist/global/url.d.ts +0 -57
- package/dist/global/url.js +0 -141
- package/dist/global/use-event-callback.d.ts +0 -1
- package/dist/global/use-event-callback.js +0 -17
- package/dist/global/variables.d.ts +0 -89
- package/dist/global/variables.js +0 -1
- package/dist/grid/col.d.ts +0 -31
- package/dist/grid/col.js +0 -81
- package/dist/grid/grid.d.ts +0 -14
- package/dist/grid/grid.js +0 -47
- package/dist/grid/row.d.ts +0 -40
- package/dist/grid/row.js +0 -70
- package/dist/group/group.d.ts +0 -12
- package/dist/group/group.js +0 -39
- package/dist/header/header.d.ts +0 -34
- package/dist/header/header.js +0 -184
- package/dist/header/logo.d.ts +0 -14
- package/dist/header/logo.js +0 -51
- package/dist/header/profile.d.ts +0 -75
- package/dist/header/profile.js +0 -252
- package/dist/header/services-link.d.ts +0 -25
- package/dist/header/services-link.js +0 -13
- package/dist/header/services.d.ts +0 -33
- package/dist/header/services.js +0 -172
- package/dist/header/smart-profile.d.ts +0 -36
- package/dist/header/smart-profile.js +0 -298
- package/dist/header/smart-services.d.ts +0 -26
- package/dist/header/smart-services.js +0 -189
- package/dist/header/tray-icon.d.ts +0 -32
- package/dist/header/tray-icon.js +0 -57
- package/dist/header/tray.d.ts +0 -9
- package/dist/header/tray.js +0 -41
- package/dist/heading/heading.d.ts +0 -25
- package/dist/heading/heading.js +0 -69
- package/dist/http/http.d.ts +0 -61
- package/dist/http/http.js +0 -385
- package/dist/http/http.mock.d.ts +0 -20
- package/dist/http/http.mock.js +0 -112
- package/dist/hub-source/hub-source.d.ts +0 -44
- package/dist/hub-source/hub-source.js +0 -215
- package/dist/hub-source/hub-source__user.d.ts +0 -4
- package/dist/hub-source/hub-source__user.js +0 -59
- package/dist/hub-source/hub-source__users-groups.d.ts +0 -24
- package/dist/hub-source/hub-source__users-groups.js +0 -84
- package/dist/i18n/i18n-context.d.ts +0 -13
- package/dist/i18n/i18n-context.js +0 -27
- package/dist/i18n/i18n.d.ts +0 -59
- package/dist/i18n/i18n.js +0 -139
- package/dist/icon/icon.d.ts +0 -43
- package/dist/icon/icon.js +0 -109
- package/dist/icon/icon__constants.d.ts +0 -30
- package/dist/icon/icon__constants.js +0 -34
- package/dist/icon/icon__svg.d.ts +0 -15
- package/dist/icon/icon__svg.js +0 -14
- package/dist/icon/index.d.ts +0 -2
- package/dist/icon/index.js +0 -17
- package/dist/input/input.d.ts +0 -77
- package/dist/input/input.js +0 -35
- package/dist/island/adaptive-island-hoc.d.ts +0 -61
- package/dist/island/adaptive-island-hoc.js +0 -53
- package/dist/island/content.d.ts +0 -43
- package/dist/island/content.js +0 -151
- package/dist/island/header.d.ts +0 -8
- package/dist/island/header.js +0 -99
- package/dist/island/island.d.ts +0 -78
- package/dist/island/island.js +0 -60
- package/dist/island-legacy/content-legacy.d.ts +0 -10
- package/dist/island-legacy/content-legacy.js +0 -34
- package/dist/island-legacy/header-legacy.d.ts +0 -10
- package/dist/island-legacy/header-legacy.js +0 -36
- package/dist/island-legacy/island-legacy.d.ts +0 -12
- package/dist/island-legacy/island-legacy.js +0 -36
- package/dist/link/clickableLink.d.ts +0 -20
- package/dist/link/clickableLink.js +0 -69
- package/dist/link/link.d.ts +0 -138
- package/dist/link/link.js +0 -86
- package/dist/list/consts.d.ts +0 -77
- package/dist/list/consts.js +0 -27
- package/dist/list/list.d.ts +0 -206
- package/dist/list/list.js +0 -795
- package/dist/list/list__custom.d.ts +0 -6
- package/dist/list/list__custom.js +0 -92
- package/dist/list/list__hint.d.ts +0 -15
- package/dist/list/list__hint.js +0 -33
- package/dist/list/list__item.d.ts +0 -8
- package/dist/list/list__item.js +0 -234
- package/dist/list/list__link.d.ts +0 -9
- package/dist/list/list__link.js +0 -76
- package/dist/list/list__separator.d.ts +0 -5
- package/dist/list/list__separator.js +0 -39
- package/dist/list/list__title.d.ts +0 -5
- package/dist/list/list__title.js +0 -48
- package/dist/list/list__users-groups-source.d.ts +0 -27
- package/dist/list/list__users-groups-source.js +0 -190
- package/dist/loader/loader.d.ts +0 -28
- package/dist/loader/loader.js +0 -91
- package/dist/loader/loader__core.d.ts +0 -75
- package/dist/loader/loader__core.js +0 -313
- package/dist/loader-inline/loader-inline.d.ts +0 -18
- package/dist/loader-inline/loader-inline.js +0 -50
- package/dist/loader-screen/loader-screen.d.ts +0 -17
- package/dist/loader-screen/loader-screen.js +0 -62
- package/dist/login-dialog/login-dialog.d.ts +0 -47
- package/dist/login-dialog/login-dialog.js +0 -212
- package/dist/login-dialog/service.d.ts +0 -2
- package/dist/login-dialog/service.js +0 -94
- package/dist/markdown/markdown.d.ts +0 -12
- package/dist/markdown/markdown.js +0 -43
- package/dist/message/message.d.ts +0 -55
- package/dist/message/message.js +0 -265
- package/dist/old-browsers-message/old-browsers-message.d.ts +0 -2
- package/dist/old-browsers-message/old-browsers-message.js +0 -92
- package/dist/old-browsers-message/old-browsers-message__stop.d.ts +0 -1
- package/dist/old-browsers-message/old-browsers-message__stop.js +0 -11
- package/dist/old-browsers-message/white-list.d.ts +0 -2
- package/dist/old-browsers-message/white-list.js +0 -37
- package/dist/pager/pager.d.ts +0 -78
- package/dist/pager/pager.js +0 -385
- package/dist/panel/panel.d.ts +0 -12
- package/dist/panel/panel.js +0 -39
- package/dist/permissions/permissions.d.ts +0 -111
- package/dist/permissions/permissions.js +0 -220
- package/dist/permissions/permissions__cache.d.ts +0 -93
- package/dist/permissions/permissions__cache.js +0 -257
- package/dist/popup/popup.consts.d.ts +0 -37
- package/dist/popup/popup.consts.js +0 -44
- package/dist/popup/popup.d.ts +0 -147
- package/dist/popup/popup.js +0 -419
- package/dist/popup/popup.target.d.ts +0 -7
- package/dist/popup/popup.target.js +0 -24
- package/dist/popup/position.d.ts +0 -30
- package/dist/popup/position.js +0 -270
- package/dist/popup-menu/popup-menu.d.ts +0 -80
- package/dist/popup-menu/popup-menu.js +0 -136
- package/dist/progress-bar/progress-bar.d.ts +0 -58
- package/dist/progress-bar/progress-bar.js +0 -113
- package/dist/query-assist/query-assist.d.ts +0 -306
- package/dist/query-assist/query-assist.js +0 -1092
- package/dist/query-assist/query-assist__suggestions.d.ts +0 -29
- package/dist/query-assist/query-assist__suggestions.js +0 -70
- package/dist/radio/radio.d.ts +0 -18
- package/dist/radio/radio.js +0 -48
- package/dist/radio/radio__item.d.ts +0 -28
- package/dist/radio/radio__item.js +0 -88
- package/dist/select/select.d.ts +0 -276
- package/dist/select/select.js +0 -1285
- package/dist/select/select__filter.d.ts +0 -19
- package/dist/select/select__filter.js +0 -80
- package/dist/select/select__popup.d.ts +0 -166
- package/dist/select/select__popup.js +0 -626
- package/dist/shortcuts/core.d.ts +0 -74
- package/dist/shortcuts/core.js +0 -247
- package/dist/shortcuts/shortcut-title.d.ts +0 -1
- package/dist/shortcuts/shortcut-title.js +0 -56
- package/dist/shortcuts/shortcuts-hoc.d.ts +0 -65
- package/dist/shortcuts/shortcuts-hoc.js +0 -59
- package/dist/shortcuts/shortcuts.d.ts +0 -28
- package/dist/shortcuts/shortcuts.js +0 -90
- package/dist/storage/storage.d.ts +0 -18
- package/dist/storage/storage.js +0 -89
- package/dist/storage/storage__fallback.d.ts +0 -79
- package/dist/storage/storage__fallback.js +0 -251
- package/dist/storage/storage__local.d.ts +0 -38
- package/dist/storage/storage__local.js +0 -215
- package/dist/style.css +0 -1
- package/dist/tab-trap/tab-trap.d.ts +0 -43
- package/dist/tab-trap/tab-trap.js +0 -179
- package/dist/table/cell.d.ts +0 -13
- package/dist/table/cell.js +0 -37
- package/dist/table/disable-hover-hoc.d.ts +0 -64
- package/dist/table/disable-hover-hoc.js +0 -62
- package/dist/table/header-cell.d.ts +0 -43
- package/dist/table/header-cell.js +0 -109
- package/dist/table/header.d.ts +0 -56
- package/dist/table/header.js +0 -151
- package/dist/table/multitable.d.ts +0 -25
- package/dist/table/multitable.js +0 -139
- package/dist/table/row-with-focus-sensor.d.ts +0 -18
- package/dist/table/row-with-focus-sensor.js +0 -115
- package/dist/table/row.d.ts +0 -59
- package/dist/table/row.js +0 -297
- package/dist/table/selection-adapter.d.ts +0 -5
- package/dist/table/selection-adapter.js +0 -14
- package/dist/table/selection-shortcuts-hoc.d.ts +0 -17
- package/dist/table/selection-shortcuts-hoc.js +0 -204
- package/dist/table/selection.d.ts +0 -47
- package/dist/table/selection.js +0 -256
- package/dist/table/smart-table.d.ts +0 -64
- package/dist/table/smart-table.js +0 -145
- package/dist/table/table.d.ts +0 -159
- package/dist/table/table.js +0 -459
- package/dist/tabs/collapsible-more.d.ts +0 -29
- package/dist/tabs/collapsible-more.js +0 -217
- package/dist/tabs/collapsible-tab.d.ts +0 -16
- package/dist/tabs/collapsible-tab.js +0 -88
- package/dist/tabs/collapsible-tabs.d.ts +0 -43
- package/dist/tabs/collapsible-tabs.js +0 -349
- package/dist/tabs/custom-item.d.ts +0 -9
- package/dist/tabs/custom-item.js +0 -11
- package/dist/tabs/dumb-tabs.d.ts +0 -35
- package/dist/tabs/dumb-tabs.js +0 -184
- package/dist/tabs/smart-tabs.d.ts +0 -20
- package/dist/tabs/smart-tabs.js +0 -136
- package/dist/tabs/tab-link.d.ts +0 -18
- package/dist/tabs/tab-link.js +0 -13
- package/dist/tabs/tab.d.ts +0 -27
- package/dist/tabs/tab.js +0 -41
- package/dist/tabs/tabs.d.ts +0 -7
- package/dist/tabs/tabs.js +0 -94
- package/dist/tag/tag.d.ts +0 -64
- package/dist/tag/tag.js +0 -213
- package/dist/tags-input/tags-input.d.ts +0 -138
- package/dist/tags-input/tags-input.js +0 -529
- package/dist/tags-list/tags-list.d.ts +0 -46
- package/dist/tags-list/tags-list.js +0 -102
- package/dist/text/text.d.ts +0 -23
- package/dist/text/text.js +0 -57
- package/dist/toggle/toggle.d.ts +0 -39
- package/dist/toggle/toggle.js +0 -86
- package/dist/tooltip/tooltip.d.ts +0 -65
- package/dist/tooltip/tooltip.js +0 -227
- package/dist/user-agreement/service.d.ts +0 -69
- package/dist/user-agreement/service.js +0 -484
- package/dist/user-agreement/toolbox.eula.d.ts +0 -2
- package/dist/user-agreement/toolbox.eula.js +0 -3
- package/dist/user-agreement/user-agreement.d.ts +0 -60
- package/dist/user-agreement/user-agreement.js +0 -170
- package/dist/user-card/card.d.ts +0 -70
- package/dist/user-card/card.js +0 -76
- package/dist/user-card/smart-user-card-tooltip.d.ts +0 -20
- package/dist/user-card/smart-user-card-tooltip.js +0 -168
- package/dist/user-card/tooltip.d.ts +0 -36
- package/dist/user-card/tooltip.js +0 -140
- package/dist/user-card/user-card.d.ts +0 -11
- package/dist/user-card/user-card.js +0 -81
package/README.md
CHANGED
|
@@ -1,27 +1,31 @@
|
|
|
1
1
|
# Ring UI — JetBrains Web UI components
|
|
2
2
|
[![Storybook][storybook-img]][docsite] [![Build Status][ci-img]][ci-bt] [![Storybook][browserstack-img]][browserstack-build-page] [![NPM version][npm-version-img]][npm-package] [![NPM downloads][npm-count-img]][npm-package]
|
|
3
3
|
|
|
4
|
-
[](https://
|
|
4
|
+
[](https://github.com/JetBrains#jetbrains-on-github)
|
|
5
5
|
|
|
6
6
|
This collection of UI components aims to provide all the necessary building blocks for web-based products built inside JetBrains, as well as third-party plugins developed for JetBrains' products.
|
|
7
7
|
|
|
8
8
|
## Try now
|
|
9
|
-
* Try the [codesandbox](https://codesandbox.io/
|
|
9
|
+
* Try the [codesandbox](https://codesandbox.io/p/devbox/ring-ui-6-0-demo-l5v5fk), based on `create-react-app` tooling, to see and try the UI components
|
|
10
10
|
* Check out [list of examples](https://jetbrains.github.io/ring-ui/master/index.html) for each component
|
|
11
11
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
* For Quick Start, use pre-built version:
|
|
15
|
+
`npm install @jetbrains/ring-ui-built`
|
|
16
|
+
* For complex projects, use "sources" version
|
|
17
|
+
`npm install @jetbrains/ring-ui`
|
|
18
|
+
You will then need to include building Ring UI into your WebPack build (see "Building Ring UI from source via Webpack" below)
|
|
15
19
|
|
|
16
20
|
### Quick start
|
|
17
21
|
|
|
18
22
|
The easiest way is to import necessary components as ES modules:
|
|
19
23
|
```js
|
|
20
24
|
// You need to import RingUI styles once
|
|
21
|
-
import '@jetbrains/ring-ui/
|
|
25
|
+
import '@jetbrains/ring-ui-built/components/style.css';
|
|
22
26
|
|
|
23
|
-
import alertService from '@jetbrains/ring-ui/
|
|
24
|
-
import Button from '@jetbrains/ring-ui/
|
|
27
|
+
import alertService from '@jetbrains/ring-ui-built/components/alert-service/alert-service';
|
|
28
|
+
import Button from '@jetbrains/ring-ui-built/components/button/button';
|
|
25
29
|
|
|
26
30
|
...
|
|
27
31
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
@import "../global/variables.css";
|
|
2
2
|
|
|
3
3
|
@value link from "../link/link.css";
|
|
4
|
-
@value unit from "../global/global.css";
|
|
5
4
|
@value animation-duration: 300ms;
|
|
6
5
|
@value animation-easing: ease-out;
|
|
7
6
|
|
|
@@ -12,9 +11,9 @@
|
|
|
12
11
|
align-items: baseline;
|
|
13
12
|
|
|
14
13
|
box-sizing: border-box;
|
|
15
|
-
min-height: calc(unit * 5);
|
|
16
|
-
margin: unit auto;
|
|
17
|
-
padding: 0 calc(unit * 2);
|
|
14
|
+
min-height: calc(var(--ring-unit) * 5);
|
|
15
|
+
margin: var(--ring-unit) auto;
|
|
16
|
+
padding: 0 calc(var(--ring-unit) * 2);
|
|
18
17
|
|
|
19
18
|
transition:
|
|
20
19
|
transform animation-duration animation-easing,
|
|
@@ -28,11 +27,11 @@
|
|
|
28
27
|
box-shadow: var(--ring-popup-shadow);
|
|
29
28
|
|
|
30
29
|
font-size: var(--ring-font-size);
|
|
31
|
-
line-height: calc(unit * 5);
|
|
30
|
+
line-height: calc(var(--ring-unit) * 5);
|
|
32
31
|
}
|
|
33
32
|
|
|
34
33
|
.alertInline {
|
|
35
|
-
margin: unit;
|
|
34
|
+
margin: var(--ring-unit);
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
.error {
|
|
@@ -42,13 +41,13 @@
|
|
|
42
41
|
}
|
|
43
42
|
|
|
44
43
|
.icon {
|
|
45
|
-
margin-right: unit;
|
|
44
|
+
margin-right: var(--ring-unit);
|
|
46
45
|
}
|
|
47
46
|
|
|
48
47
|
.caption {
|
|
49
48
|
overflow: hidden;
|
|
50
49
|
|
|
51
|
-
max-width: calc(100% - calc(unit * 5));
|
|
50
|
+
max-width: calc(100% - calc(var(--ring-unit) * 5));
|
|
52
51
|
|
|
53
52
|
margin: 12px 0;
|
|
54
53
|
|
|
@@ -65,12 +64,12 @@
|
|
|
65
64
|
}
|
|
66
65
|
|
|
67
66
|
&.withCloseButton {
|
|
68
|
-
margin-right: calc(unit * 5);
|
|
67
|
+
margin-right: calc(var(--ring-unit) * 5);
|
|
69
68
|
}
|
|
70
69
|
}
|
|
71
70
|
|
|
72
71
|
.badge {
|
|
73
|
-
margin-left: unit;
|
|
72
|
+
margin-left: var(--ring-unit);
|
|
74
73
|
|
|
75
74
|
vertical-align: baseline;
|
|
76
75
|
}
|
|
@@ -78,7 +77,7 @@
|
|
|
78
77
|
.loader {
|
|
79
78
|
top: 2px;
|
|
80
79
|
|
|
81
|
-
margin-right: unit;
|
|
80
|
+
margin-right: var(--ring-unit);
|
|
82
81
|
}
|
|
83
82
|
|
|
84
83
|
.close.close {
|
|
@@ -86,8 +85,8 @@
|
|
|
86
85
|
top: 2px;
|
|
87
86
|
right: 0;
|
|
88
87
|
|
|
89
|
-
margin: calc(unit / 2);
|
|
90
|
-
padding: unit;
|
|
88
|
+
margin: calc(var(--ring-unit) / 2);
|
|
89
|
+
padding: var(--ring-unit);
|
|
91
90
|
|
|
92
91
|
font-size: 0;
|
|
93
92
|
line-height: 0;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
@import "../global/variables.css";
|
|
2
2
|
|
|
3
|
-
@value unit from "../global/global.css";
|
|
4
|
-
|
|
5
3
|
.alertContainer {
|
|
6
4
|
position: fixed;
|
|
7
5
|
z-index: var(--ring-alert-z-index);
|
|
8
|
-
right: calc(unit * 2);
|
|
9
|
-
bottom: calc(unit);
|
|
6
|
+
right: calc(var(--ring-unit) * 2);
|
|
7
|
+
bottom: calc(var(--ring-unit));
|
|
10
8
|
|
|
11
9
|
display: flex;
|
|
12
10
|
overflow: visible;
|
|
@@ -22,7 +20,7 @@
|
|
|
22
20
|
.alertInContainer {
|
|
23
21
|
composes: alert from "./alert.css";
|
|
24
22
|
|
|
25
|
-
min-width: calc(unit * 30);
|
|
26
|
-
max-width: calc(unit * 50);
|
|
23
|
+
min-width: calc(var(--ring-unit) * 30);
|
|
24
|
+
max-width: calc(var(--ring-unit) * 50);
|
|
27
25
|
margin-top: 0;
|
|
28
26
|
}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
@import "../global/variables.css";
|
|
2
2
|
|
|
3
|
-
@value unit from "../global/global.css";
|
|
4
|
-
|
|
5
3
|
.title {
|
|
6
4
|
font-weight: 600;
|
|
7
5
|
}
|
|
8
6
|
|
|
9
7
|
.error {
|
|
10
|
-
margin-top: calc(unit / 2);
|
|
8
|
+
margin-top: calc(var(--ring-unit) / 2);
|
|
11
9
|
|
|
12
10
|
word-wrap: break-word;
|
|
13
11
|
|
|
14
12
|
color: var(--ring-text-color);
|
|
15
13
|
|
|
16
|
-
line-height: calc(unit * 2);
|
|
14
|
+
line-height: calc(var(--ring-unit) * 2);
|
|
17
15
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
@import "../global/variables.css";
|
|
2
2
|
|
|
3
|
-
@value unit from "../global/global.css";
|
|
4
|
-
|
|
5
3
|
.dialog.dialog {
|
|
6
4
|
width: auto;
|
|
7
5
|
max-width: 400px;
|
|
@@ -14,23 +12,23 @@
|
|
|
14
12
|
align-items: center;
|
|
15
13
|
flex-direction: column;
|
|
16
14
|
|
|
17
|
-
margin: calc(unit * 2) 0;
|
|
15
|
+
margin: calc(var(--ring-unit) * 2) 0;
|
|
18
16
|
}
|
|
19
17
|
|
|
20
18
|
.button {
|
|
21
|
-
width: calc(unit * 25);
|
|
22
|
-
margin-top: unit;
|
|
19
|
+
width: calc(var(--ring-unit) * 25);
|
|
20
|
+
margin-top: var(--ring-unit);
|
|
23
21
|
}
|
|
24
22
|
|
|
25
23
|
.firstButton {
|
|
26
24
|
composes: button;
|
|
27
25
|
|
|
28
|
-
margin-top: calc(unit * 4);
|
|
26
|
+
margin-top: calc(var(--ring-unit) * 4);
|
|
29
27
|
}
|
|
30
28
|
|
|
31
29
|
.title.title {
|
|
32
30
|
margin-top: 0;
|
|
33
|
-
margin-bottom: unit;
|
|
31
|
+
margin-bottom: var(--ring-unit);
|
|
34
32
|
|
|
35
33
|
text-align: center;
|
|
36
34
|
|
|
@@ -38,14 +36,14 @@
|
|
|
38
36
|
}
|
|
39
37
|
|
|
40
38
|
.logo {
|
|
41
|
-
width: calc(unit * 12);
|
|
42
|
-
height: calc(unit * 12);
|
|
39
|
+
width: calc(var(--ring-unit) * 12);
|
|
40
|
+
height: calc(var(--ring-unit) * 12);
|
|
43
41
|
margin-bottom: 12px;
|
|
44
42
|
object-fit: contain;
|
|
45
43
|
|
|
46
|
-
@media (
|
|
47
|
-
width: calc(unit * 4);
|
|
48
|
-
height: calc(unit * 4);
|
|
44
|
+
@media (height <= 400px) {
|
|
45
|
+
width: calc(var(--ring-unit) * 4);
|
|
46
|
+
height: calc(var(--ring-unit) * 4);
|
|
49
47
|
}
|
|
50
48
|
}
|
|
51
49
|
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
@import "../global/variables.css";
|
|
2
2
|
|
|
3
|
-
@value unit from "../global/global.css";
|
|
4
3
|
@value button-shadow: inset 0 0 0 1px;
|
|
5
|
-
@value
|
|
6
|
-
@value loaderWidth: calc(unit * 8);
|
|
4
|
+
@value loaderWidth: calc(var(--ring-unit) * 8);
|
|
7
5
|
|
|
8
6
|
.heightS {
|
|
9
|
-
--ring-button-height: calc(unit * 3);
|
|
7
|
+
--ring-button-height: calc(var(--ring-unit) * 3);
|
|
10
8
|
--ring-button-font-size: var(--ring-font-size-smaller);
|
|
11
9
|
}
|
|
12
10
|
|
|
13
11
|
.heightM {
|
|
14
|
-
--ring-button-height: calc(unit * 3.5);
|
|
12
|
+
--ring-button-height: calc(var(--ring-unit) * 3.5);
|
|
15
13
|
--ring-button-font-size: var(--ring-font-size);
|
|
16
14
|
}
|
|
17
15
|
|
|
18
16
|
.heightL {
|
|
19
|
-
--ring-button-height: calc(unit * 4);
|
|
17
|
+
--ring-button-height: calc(var(--ring-unit) * 4);
|
|
20
18
|
--ring-button-font-size: var(--ring-font-size);
|
|
21
19
|
}
|
|
22
20
|
|
|
@@ -26,9 +24,9 @@
|
|
|
26
24
|
display: inline-block;
|
|
27
25
|
|
|
28
26
|
box-sizing: border-box;
|
|
29
|
-
height: height;
|
|
27
|
+
height: var(--ring-button-height);
|
|
30
28
|
margin: 0;
|
|
31
|
-
padding: 0 calc(unit * 2);
|
|
29
|
+
padding: 0 calc(var(--ring-unit) * 2);
|
|
32
30
|
|
|
33
31
|
cursor: pointer;
|
|
34
32
|
transition: color var(--ring-ease), background-color var(--ring-ease), box-shadow var(--ring-ease);
|
|
@@ -45,7 +43,7 @@
|
|
|
45
43
|
font-family: var(--ring-font-family);
|
|
46
44
|
font-size: var(--ring-button-font-size);
|
|
47
45
|
|
|
48
|
-
line-height: height;
|
|
46
|
+
line-height: var(--ring-button-height);
|
|
49
47
|
|
|
50
48
|
&:hover {
|
|
51
49
|
transition: none;
|
|
@@ -78,7 +76,7 @@
|
|
|
78
76
|
}
|
|
79
77
|
|
|
80
78
|
&[disabled] {
|
|
81
|
-
|
|
79
|
+
cursor: auto;
|
|
82
80
|
|
|
83
81
|
background-color: var(--ring-disabled-background-color);
|
|
84
82
|
box-shadow: button-shadow var(--ring-border-disabled-color);
|
|
@@ -94,7 +92,8 @@
|
|
|
94
92
|
color: var(--ring-disabled-color);
|
|
95
93
|
}
|
|
96
94
|
|
|
97
|
-
|
|
95
|
+
/* stylelint-disable-next-line selector-max-specificity */
|
|
96
|
+
&[disabled] .icon.icon {
|
|
98
97
|
color: var(--ring-icon-disabled-color);
|
|
99
98
|
}
|
|
100
99
|
|
|
@@ -247,7 +246,7 @@
|
|
|
247
246
|
}
|
|
248
247
|
|
|
249
248
|
.withIcon {
|
|
250
|
-
padding: 0 unit;
|
|
249
|
+
padding: 0 var(--ring-unit);
|
|
251
250
|
}
|
|
252
251
|
|
|
253
252
|
.text {
|
|
@@ -278,7 +277,7 @@
|
|
|
278
277
|
line-height: normal;
|
|
279
278
|
|
|
280
279
|
&:not(:last-child) {
|
|
281
|
-
margin-right: calc(unit * 0.5);
|
|
280
|
+
margin-right: calc(var(--ring-unit) * 0.5);
|
|
282
281
|
}
|
|
283
282
|
}
|
|
284
283
|
|
|
@@ -359,7 +358,7 @@
|
|
|
359
358
|
}
|
|
360
359
|
|
|
361
360
|
.short {
|
|
362
|
-
width: calc(unit * 4);
|
|
361
|
+
width: calc(var(--ring-unit) * 4);
|
|
363
362
|
padding: 0;
|
|
364
363
|
}
|
|
365
364
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
@import "../global/variables.css";
|
|
2
2
|
|
|
3
|
-
@value unit from "../global/global.css";
|
|
4
3
|
@value button, active, primary, button-shadow from "../button/button.css";
|
|
5
4
|
|
|
6
5
|
:root {
|
|
@@ -104,8 +103,9 @@
|
|
|
104
103
|
}
|
|
105
104
|
|
|
106
105
|
/* stylelint-disable-next-line selector-max-specificity */
|
|
107
|
-
.buttonGroup .button.button:hover,
|
|
108
|
-
|
|
106
|
+
.buttonGroup .button.button:hover:not(:disabled),
|
|
107
|
+
/* stylelint-disable-next-line selector-max-specificity */
|
|
108
|
+
.buttonGroup .button.button:active:not(:disabled) {
|
|
109
109
|
border-radius: var(--ring-border-radius);
|
|
110
110
|
box-shadow: button-shadow var(--ring-border-hover-color);
|
|
111
111
|
}
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
.caption {
|
|
155
155
|
composes: font from "../global/global.css";
|
|
156
156
|
|
|
157
|
-
margin-right: unit;
|
|
157
|
+
margin-right: var(--ring-unit);
|
|
158
158
|
|
|
159
159
|
font-size: var(--ring-font-size);
|
|
160
160
|
|
|
@@ -216,7 +216,8 @@
|
|
|
216
216
|
z-index: var(--ring-button-group-active-z-index);
|
|
217
217
|
}
|
|
218
218
|
|
|
219
|
-
|
|
219
|
+
/* stylelint-disable-next-line selector-max-specificity */
|
|
220
|
+
&:hover:not(:disabled) {
|
|
220
221
|
z-index: var(--ring-button-group-hover-z-index);
|
|
221
222
|
}
|
|
222
223
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
@import "../global/variables.css";
|
|
2
2
|
|
|
3
|
-
@value unit from "../global/global.css";
|
|
4
3
|
@value button from "../button/button.css";
|
|
5
4
|
|
|
6
5
|
.buttonSet {
|
|
@@ -13,7 +12,7 @@
|
|
|
13
12
|
font-size: 0;
|
|
14
13
|
|
|
15
14
|
& .button {
|
|
16
|
-
margin: 0 unit 0 0;
|
|
15
|
+
margin: 0 var(--ring-unit) 0 0;
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
& > .button:last-child {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
@import "../global/variables.css";
|
|
2
2
|
|
|
3
|
-
@value unit from "../global/global.css";
|
|
4
3
|
@value button from "../button/button.css";
|
|
5
4
|
|
|
6
5
|
.buttonToolbar {
|
|
@@ -18,7 +17,7 @@
|
|
|
18
17
|
.buttonToolbar > .buttonGroup,
|
|
19
18
|
.buttonToolbar > .split,
|
|
20
19
|
.buttonToolbar > .buttonToolbar {
|
|
21
|
-
margin-right: unit;
|
|
20
|
+
margin-right: var(--ring-unit);
|
|
22
21
|
}
|
|
23
22
|
|
|
24
23
|
.buttonToolbar > :last-child {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
@import "../global/variables.css";
|
|
2
2
|
|
|
3
|
-
@value unit from "../global/global.css";
|
|
4
3
|
@value checkboxSize: 14px;
|
|
5
4
|
|
|
6
5
|
.checkbox {
|
|
@@ -46,8 +45,8 @@
|
|
|
46
45
|
top: -1px;
|
|
47
46
|
left: -1px;
|
|
48
47
|
|
|
49
|
-
width: calc(unit * 2);
|
|
50
|
-
height: calc(unit * 2);
|
|
48
|
+
width: calc(var(--ring-unit) * 2);
|
|
49
|
+
height: calc(var(--ring-unit) * 2);
|
|
51
50
|
|
|
52
51
|
opacity: 0;
|
|
53
52
|
color: var(--ring-white-text-color);
|
|
@@ -140,7 +139,7 @@
|
|
|
140
139
|
}
|
|
141
140
|
|
|
142
141
|
.label {
|
|
143
|
-
margin-left: unit;
|
|
142
|
+
margin-left: var(--ring-unit);
|
|
144
143
|
|
|
145
144
|
line-height: normal;
|
|
146
145
|
}
|
package/components/code/code.css
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
@import "../global/variables.css";
|
|
2
2
|
|
|
3
|
-
@value unit from "../global/global.css";
|
|
4
|
-
|
|
5
3
|
.code {
|
|
6
|
-
margin: calc(unit * 2) 0;
|
|
4
|
+
margin: calc(var(--ring-unit) * 2) 0;
|
|
7
5
|
}
|
|
8
6
|
|
|
9
7
|
/* override hljs */
|
|
10
8
|
.code code {
|
|
11
9
|
display: block;
|
|
12
10
|
|
|
13
|
-
padding: calc(unit * 1.5) calc(unit * 2) calc(unit * 2);
|
|
11
|
+
padding: calc(var(--ring-unit) * 1.5) calc(var(--ring-unit) * 2) calc(var(--ring-unit) * 2);
|
|
14
12
|
|
|
15
13
|
border-radius: var(--ring-border-radius);
|
|
16
14
|
background-color: var(--ring-sidebar-background-color);
|
|
@@ -23,7 +21,7 @@
|
|
|
23
21
|
.inline code {
|
|
24
22
|
display: inline-block;
|
|
25
23
|
|
|
26
|
-
padding: 0 calc(unit / 2);
|
|
24
|
+
padding: 0 calc(var(--ring-unit) / 2);
|
|
27
25
|
}
|
|
28
26
|
|
|
29
27
|
.softWrap code {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React, { PropsWithChildren } from 'react';
|
|
2
|
+
type Props = {
|
|
3
|
+
minHeight?: number;
|
|
4
|
+
className?: string;
|
|
5
|
+
'data-test'?: string | null | undefined;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @name CollapseContent
|
|
9
|
+
*/
|
|
10
|
+
export declare const CollapseContent: React.FC<PropsWithChildren<Props>>;
|
|
11
|
+
export default CollapseContent;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import React, { useState, useEffect, useRef, useContext, useMemo } from 'react';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import dataTests from '../global/data-tests';
|
|
4
|
+
import { getRect } from '../global/dom';
|
|
5
|
+
import { toPx } from './utils';
|
|
6
|
+
import CollapseContext from './collapse-context';
|
|
7
|
+
import { COLLAPSE_CONTENT_TEST_ID, COLLAPSE_CONTENT_CONTAINER_TEST_ID } from './consts';
|
|
8
|
+
import styles from './collapse.css';
|
|
9
|
+
const DURATION_FACTOR = 0.5;
|
|
10
|
+
const DEFAULT_HEIGHT = 0;
|
|
11
|
+
const VISIBLE = 1;
|
|
12
|
+
const HIDDEN = 0;
|
|
13
|
+
/**
|
|
14
|
+
* @name CollapseContent
|
|
15
|
+
*/
|
|
16
|
+
export const CollapseContent = ({ children, minHeight = DEFAULT_HEIGHT, 'data-test': dataTest }) => {
|
|
17
|
+
const { collapsed, duration, id, disableAnimation } = useContext(CollapseContext);
|
|
18
|
+
const containerRef = useRef(null);
|
|
19
|
+
const contentRef = useRef(null);
|
|
20
|
+
const initialContentHeight = useRef(minHeight);
|
|
21
|
+
const contentHeight = useRef(DEFAULT_HEIGHT);
|
|
22
|
+
const [dimensions, setDimensions] = useState({
|
|
23
|
+
width: 0,
|
|
24
|
+
height: 0
|
|
25
|
+
});
|
|
26
|
+
const [height, setHeight] = useState(toPx(minHeight));
|
|
27
|
+
const [showFade, setShowFade] = useState(true);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (!collapsed) {
|
|
30
|
+
setShowFade(false);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
setShowFade(true);
|
|
34
|
+
}
|
|
35
|
+
}, [collapsed]);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (contentRef.current) {
|
|
38
|
+
contentHeight.current = getRect(contentRef.current).height;
|
|
39
|
+
}
|
|
40
|
+
}, [minHeight, dimensions.height]);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
const nextHeight = collapsed ? initialContentHeight.current : contentHeight.current;
|
|
43
|
+
setHeight(toPx(nextHeight));
|
|
44
|
+
}, [collapsed, dimensions.height]);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
if (contentRef.current) {
|
|
47
|
+
const observer = new ResizeObserver(([entry]) => {
|
|
48
|
+
if (entry && entry.borderBoxSize) {
|
|
49
|
+
const { inlineSize, blockSize } = entry.borderBoxSize[0];
|
|
50
|
+
setDimensions({ width: inlineSize, height: blockSize });
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
observer.observe(contentRef.current);
|
|
54
|
+
}
|
|
55
|
+
}, []);
|
|
56
|
+
const style = useMemo(() => {
|
|
57
|
+
const calculatedDuration = duration + contentHeight.current * DURATION_FACTOR;
|
|
58
|
+
return {
|
|
59
|
+
'--duration': `${calculatedDuration}ms`,
|
|
60
|
+
height,
|
|
61
|
+
opacity: collapsed && !minHeight ? HIDDEN : VISIBLE
|
|
62
|
+
};
|
|
63
|
+
}, [duration, height, collapsed, minHeight]);
|
|
64
|
+
const fadeShouldBeVisible = useMemo(() => Boolean(minHeight && showFade), [minHeight, showFade]);
|
|
65
|
+
return (<div ref={containerRef} id={`collapse-content-${id}`} data-test={dataTests(COLLAPSE_CONTENT_CONTAINER_TEST_ID)} className={classNames(styles.container, { [styles.transition]: !disableAnimation })} style={style}>
|
|
66
|
+
<div ref={contentRef} data-test={dataTests(COLLAPSE_CONTENT_TEST_ID, dataTest)}>
|
|
67
|
+
{children}
|
|
68
|
+
</div>
|
|
69
|
+
{fadeShouldBeVisible && <div className={styles.fade}/>}
|
|
70
|
+
</div>);
|
|
71
|
+
};
|
|
72
|
+
export default CollapseContent;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface CollapseContextInterface {
|
|
3
|
+
collapsed: boolean;
|
|
4
|
+
duration: number;
|
|
5
|
+
disableAnimation: boolean;
|
|
6
|
+
setCollapsed: () => void;
|
|
7
|
+
id: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const CollapseContext: import("react").Context<CollapseContextInterface>;
|
|
10
|
+
export default CollapseContext;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
import { BASE_ANIMATION_DURATION } from './consts';
|
|
3
|
+
export const CollapseContext = createContext({
|
|
4
|
+
collapsed: true,
|
|
5
|
+
duration: BASE_ANIMATION_DURATION,
|
|
6
|
+
disableAnimation: false,
|
|
7
|
+
setCollapsed: () => { },
|
|
8
|
+
id: ''
|
|
9
|
+
});
|
|
10
|
+
export default CollapseContext;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type ChildrenFunction = (collapsed: boolean) => React.ReactNode;
|
|
3
|
+
type Props = {
|
|
4
|
+
children: ChildrenFunction | React.ReactNode;
|
|
5
|
+
'data-test'?: string | null | undefined;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @name CollapseControl
|
|
9
|
+
*/
|
|
10
|
+
export declare const CollapseControl: React.FC<Props>;
|
|
11
|
+
export default CollapseControl;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React, { useMemo, useContext, cloneElement } from 'react';
|
|
2
|
+
import dataTests from '../global/data-tests';
|
|
3
|
+
import { CollapseContext } from './collapse-context';
|
|
4
|
+
import { COLLAPSE_CONTROL_TEST_ID } from './consts';
|
|
5
|
+
/**
|
|
6
|
+
* @name CollapseControl
|
|
7
|
+
*/
|
|
8
|
+
export const CollapseControl = ({ children, 'data-test': dataTest }) => {
|
|
9
|
+
const { setCollapsed, collapsed, id } = useContext(CollapseContext);
|
|
10
|
+
const child = useMemo(() => {
|
|
11
|
+
if (typeof children === 'function') {
|
|
12
|
+
return <p data-test={dataTests(COLLAPSE_CONTROL_TEST_ID, dataTest)}>{children(collapsed)}</p>;
|
|
13
|
+
}
|
|
14
|
+
return <p data-test={dataTests(COLLAPSE_CONTROL_TEST_ID, dataTest)}>{children}</p>;
|
|
15
|
+
}, [children, collapsed, dataTest]);
|
|
16
|
+
return cloneElement(child, {
|
|
17
|
+
onClick: setCollapsed,
|
|
18
|
+
'aria-controls': `collapse-content-${id}`,
|
|
19
|
+
'aria-expanded': String(!collapsed)
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
export default CollapseControl;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
.container {
|
|
2
|
+
position: relative;
|
|
3
|
+
will-change: height, opacity;
|
|
4
|
+
|
|
5
|
+
overflow: hidden;
|
|
6
|
+
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.transition {
|
|
10
|
+
transition: height var(--duration) ease-in-out 0s, opacity var(--duration) ease-in-out 0s;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.summary {
|
|
14
|
+
list-style: none;
|
|
15
|
+
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.trigger {
|
|
20
|
+
cursor: pointer;
|
|
21
|
+
|
|
22
|
+
border: none;
|
|
23
|
+
outline: none;
|
|
24
|
+
background: transparent;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.fade {
|
|
28
|
+
position: absolute;
|
|
29
|
+
z-index: 10;
|
|
30
|
+
right: 0;
|
|
31
|
+
bottom: 0;
|
|
32
|
+
left: 0;
|
|
33
|
+
|
|
34
|
+
height: calc(var(--ring-unit) * 3);
|
|
35
|
+
|
|
36
|
+
pointer-events: none;
|
|
37
|
+
|
|
38
|
+
color: var(--ring-content-background-color);
|
|
39
|
+
background-image: linear-gradient(to bottom, transparent 0%, currentColor 50%);
|
|
40
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { PropsWithChildren } from 'react';
|
|
2
|
+
type Props = {
|
|
3
|
+
onChange?: (collapsed: boolean) => void;
|
|
4
|
+
duration?: number;
|
|
5
|
+
disableAnimation?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* @name Collapse
|
|
10
|
+
*/
|
|
11
|
+
export declare const Collapse: React.FC<PropsWithChildren<Props>>;
|
|
12
|
+
export default Collapse;
|