@jetbrains/ring-ui 5.1.23 → 5.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/alert/alert.css +147 -0
- package/components/alert/alert.d.ts +113 -0
- package/components/alert/alert.js +186 -0
- package/components/alert/container.css +28 -0
- package/components/alert/container.d.ts +15 -0
- package/components/alert/container.js +30 -0
- package/components/alert-service/alert-service.d.ts +34 -0
- package/components/alert-service/alert-service.js +107 -0
- package/components/alert-service/alert-service.stories.css +20 -0
- package/components/analytics/analytics.d.ts +38 -0
- package/components/analytics/analytics.js +82 -0
- package/components/analytics/analytics__custom-plugin.d.ts +29 -0
- package/components/analytics/analytics__custom-plugin.js +61 -0
- package/components/analytics/analytics__fus-plugin.d.ts +52 -0
- package/components/analytics/analytics__fus-plugin.js +22 -0
- package/components/analytics/analytics__ga-plugin.d.ts +27 -0
- package/components/analytics/analytics__ga-plugin.js +89 -0
- package/components/analytics/analytics__plugin-utils.d.ts +31 -0
- package/components/analytics/analytics__plugin-utils.js +92 -0
- package/components/auth/auth.d.ts +3 -0
- package/components/auth/auth.js +42 -0
- package/components/auth/auth__core.d.ts +236 -0
- package/components/auth/auth__core.js +834 -0
- package/components/auth/background-flow.d.ts +31 -0
- package/components/auth/background-flow.js +97 -0
- package/components/auth/down-notification.css +17 -0
- package/components/auth/down-notification.d.ts +15 -0
- package/components/auth/down-notification.js +52 -0
- package/components/auth/iframe-flow.d.ts +20 -0
- package/components/auth/iframe-flow.js +81 -0
- package/components/auth/landing-entry.d.ts +3 -0
- package/components/auth/landing-entry.js +2 -0
- package/components/auth/landing.d.ts +2 -0
- package/components/auth/landing.html +12 -0
- package/components/auth/landing.js +26 -0
- package/components/auth/request-builder.d.ts +48 -0
- package/components/auth/request-builder.js +64 -0
- package/components/auth/response-parser.d.ts +70 -0
- package/components/auth/response-parser.js +99 -0
- package/components/auth/storage.d.ts +112 -0
- package/components/auth/storage.js +224 -0
- package/components/auth/token-validator.d.ts +93 -0
- package/components/auth/token-validator.js +169 -0
- package/components/auth/window-flow.d.ts +26 -0
- package/components/auth/window-flow.js +102 -0
- package/components/auth-dialog/auth-dialog.css +56 -0
- package/components/auth-dialog/auth-dialog.d.ts +60 -0
- package/components/auth-dialog/auth-dialog.js +93 -0
- package/components/auth-dialog-service/auth-dialog-service.d.ts +5 -0
- package/components/auth-dialog-service/auth-dialog-service.js +25 -0
- package/components/auth-ng/auth-ng.js +143 -0
- package/components/auth-ng/auth-ng.mock.js +28 -0
- package/components/auth-ng/auth-ng.stories.js +41 -0
- package/components/autofocus-ng/autofocus-ng.js +51 -0
- package/components/autofocus-ng/autofocus-ng.stories.js +41 -0
- package/components/autofocus-ng/autofocus-ng.test.js +49 -0
- package/components/avatar/avatar-example-datauri.d.ts +1 -0
- package/components/avatar/avatar-example-datauri.js +24 -0
- package/components/avatar/avatar.css +27 -0
- package/components/avatar/avatar.d.ts +52 -0
- package/components/avatar/avatar.js +98 -0
- package/components/avatar/fallback-avatar.d.ts +17 -0
- package/components/avatar/fallback-avatar.js +113 -0
- package/components/avatar-editor-ng/avatar-editor-ng.css +104 -0
- package/components/avatar-editor-ng/avatar-editor-ng.js +133 -0
- package/components/avatar-editor-ng/avatar-editor-ng.stories.js +41 -0
- package/components/avatar-editor-ng/avatar-editor-ng__template.js +28 -0
- package/components/avatar-ng/avatar-ng.js +7 -0
- package/components/avatar-ng/avatar-ng.stories.js +33 -0
- package/components/badge/badge.css +44 -0
- package/components/badge/badge.d.ts +24 -0
- package/components/badge/badge.js +35 -0
- package/components/badge-ng/badge-ng.js +8 -0
- package/components/badge-ng/badge-ng.stories.js +32 -0
- package/components/breadcrumb-ng/breadcrumb-ng.js +60 -0
- package/components/breadcrumb-ng/breadcrumb-ng.stories.js +33 -0
- package/components/breadcrumb-ng/breadcrumb.css +70 -0
- package/components/button/button.css +398 -0
- package/components/button/button.d.ts +67 -0
- package/components/button/button.js +70 -0
- package/components/button/button__classes.d.ts +2 -0
- package/components/button/button__classes.js +18 -0
- package/components/button-group/button-group.css +235 -0
- package/components/button-group/button-group.d.ts +18 -0
- package/components/button-group/button-group.js +21 -0
- package/components/button-group/caption.d.ts +8 -0
- package/components/button-group/caption.js +14 -0
- package/components/button-group-ng/button-group-ng.css +4 -0
- package/components/button-group-ng/button-group-ng.js +43 -0
- package/components/button-group-ng/button-group-ng.stories.js +30 -0
- package/components/button-ng/button-ng.css +23 -0
- package/components/button-ng/button-ng.js +192 -0
- package/components/button-ng/button-ng.stories.js +114 -0
- package/components/button-ng/button-ng.test.js +95 -0
- package/components/button-set/button-set.css +22 -0
- package/components/button-set/button-set.d.ts +16 -0
- package/components/button-set/button-set.js +22 -0
- package/components/button-set-ng/button-set-ng.js +22 -0
- package/components/button-set-ng/button-set-ng.stories.js +30 -0
- package/components/button-toolbar/button-toolbar.css +26 -0
- package/components/button-toolbar/button-toolbar.d.ts +16 -0
- package/components/button-toolbar/button-toolbar.js +20 -0
- package/components/button-toolbar-ng/button-toolbar-ng.js +23 -0
- package/components/button-toolbar-ng/button-toolbar-ng.stories.js +35 -0
- package/components/caret/caret.d.ts +66 -0
- package/components/caret/caret.js +216 -0
- package/components/checkbox/checkbox.css +146 -0
- package/components/checkbox/checkbox.d.ts +45 -0
- package/components/checkbox/checkbox.js +72 -0
- package/components/checkbox-ng/checkbox-ng.js +64 -0
- package/components/checkbox-ng/checkbox-ng.stories.js +80 -0
- package/components/checkbox-ng/checkbox-ng.test.js +61 -0
- package/components/clipboard/clipboard-fallback.d.ts +2 -0
- package/components/clipboard/clipboard-fallback.js +44 -0
- package/components/clipboard/clipboard.d.ts +5 -0
- package/components/clipboard/clipboard.js +41 -0
- package/components/code/code.css +31 -0
- package/components/code/code.d.ts +44 -0
- package/components/code/code.js +94 -0
- package/components/code/highlight.css +112 -0
- package/components/compiler-ng/compiler-ng.js +63 -0
- package/components/compiler-ng/compiler-ng.stories.js +32 -0
- package/components/compiler-ng/compiler-ng.test.js +207 -0
- package/components/confirm/confirm.css +9 -0
- package/components/confirm/confirm.d.ts +48 -0
- package/components/confirm/confirm.js +59 -0
- package/components/confirm-ng/confirm-ng.js +30 -0
- package/components/confirm-ng/confirm-ng.stories.js +43 -0
- package/components/confirm-service/confirm-service.d.ts +21 -0
- package/components/confirm-service/confirm-service.js +51 -0
- package/components/content-layout/content-layout.css +108 -0
- package/components/content-layout/content-layout.d.ts +26 -0
- package/components/content-layout/content-layout.js +45 -0
- package/components/content-layout/sidebar.d.ts +31 -0
- package/components/content-layout/sidebar.js +76 -0
- package/components/contenteditable/contenteditable.d.ts +47 -0
- package/components/contenteditable/contenteditable.js +47 -0
- package/components/control-label/control-label.css +23 -0
- package/components/control-label/control-label.d.ts +11 -0
- package/components/control-label/control-label.js +22 -0
- package/components/data-list/data-list.css +98 -0
- package/components/data-list/data-list.d.ts +85 -0
- package/components/data-list/data-list.js +119 -0
- package/components/data-list/data-list.mock.d.ts +16 -0
- package/components/data-list/data-list.mock.js +207 -0
- package/components/data-list/item.d.ts +50 -0
- package/components/data-list/item.js +114 -0
- package/components/data-list/selection.d.ts +16 -0
- package/components/data-list/selection.js +81 -0
- package/components/data-list/title.d.ts +26 -0
- package/components/data-list/title.js +65 -0
- package/components/data-list-ng/data-list-ng.js +7 -0
- package/components/data-list-ng/data-list-ng.stories.js +54 -0
- package/components/date-picker/consts.d.ts +102 -0
- package/components/date-picker/consts.js +56 -0
- package/components/date-picker/date-input.d.ts +47 -0
- package/components/date-picker/date-input.js +91 -0
- package/components/date-picker/date-picker.css +603 -0
- package/components/date-picker/date-picker.d.ts +77 -0
- package/components/date-picker/date-picker.js +218 -0
- package/components/date-picker/date-popup.d.ts +55 -0
- package/components/date-picker/date-popup.js +347 -0
- package/components/date-picker/day.d.ts +31 -0
- package/components/date-picker/day.js +90 -0
- package/components/date-picker/formats.d.ts +2 -0
- package/components/date-picker/formats.js +1 -0
- package/components/date-picker/month-names.d.ts +13 -0
- package/components/date-picker/month-names.js +62 -0
- package/components/date-picker/month-slider.d.ts +29 -0
- package/components/date-picker/month-slider.js +56 -0
- package/components/date-picker/month.d.ts +14 -0
- package/components/date-picker/month.js +35 -0
- package/components/date-picker/months.d.ts +11 -0
- package/components/date-picker/months.js +101 -0
- package/components/date-picker/weekdays.d.ts +13 -0
- package/components/date-picker/weekdays.js +24 -0
- package/components/date-picker/years.d.ts +25 -0
- package/components/date-picker/years.js +87 -0
- package/components/dialog/dialog.css +134 -0
- package/components/dialog/dialog.d.ts +64 -0
- package/components/dialog/dialog.js +128 -0
- package/components/dialog/dialog__body-scroll-preventer.d.ts +9 -0
- package/components/dialog/dialog__body-scroll-preventer.js +43 -0
- package/components/dialog-ng/dialog-ng.css +98 -0
- package/components/dialog-ng/dialog-ng.js +606 -0
- package/components/dialog-ng/dialog-ng.stories.js +240 -0
- package/components/dialog-ng/dialog-ng.test.js +829 -0
- package/components/dialog-ng/dialog-ng__template.js +70 -0
- package/components/docked-panel-ng/docked-panel-ng.css +28 -0
- package/components/docked-panel-ng/docked-panel-ng.js +169 -0
- package/components/docked-panel-ng/docked-panel-ng.stories.js +39 -0
- package/components/dropdown/anchor.d.ts +11 -0
- package/components/dropdown/anchor.js +16 -0
- package/components/dropdown/dropdown.css +18 -0
- package/components/dropdown/dropdown.d.ts +87 -0
- package/components/dropdown/dropdown.js +159 -0
- package/components/dropdown-menu/dropdown-menu.d.ts +26 -0
- package/components/dropdown-menu/dropdown-menu.js +56 -0
- package/components/editable-heading/editable-heading.css +200 -0
- package/components/editable-heading/editable-heading.d.ts +32 -0
- package/components/editable-heading/editable-heading.js +141 -0
- package/components/error-bubble/error-bubble-legacy.css +79 -0
- package/components/error-bubble/error-bubble.css +56 -0
- package/components/error-bubble/error-bubble.d.ts +18 -0
- package/components/error-bubble/error-bubble.js +28 -0
- package/components/error-message/error-message.css +37 -0
- package/components/error-message/error-message.d.ts +27 -0
- package/components/error-message/error-message.js +37 -0
- package/components/error-message-ng/error-message-ng.js +50 -0
- package/components/error-message-ng/error-message-ng.stories.js +33 -0
- package/components/error-page/error-page.css +24 -0
- package/components/error-page/error-page.gif +0 -0
- package/components/error-page-ng/error-page-ng.css +6 -0
- package/components/error-page-ng/error-page-ng.js +269 -0
- package/components/error-page-ng/error-page-ng.stories.js +31 -0
- package/components/error-page-ng/error-page-ng.test.js +138 -0
- package/components/footer/footer.css +85 -0
- package/components/footer/footer.d.ts +28 -0
- package/components/footer/footer.js +97 -0
- package/components/footer-ng/footer-ng.js +61 -0
- package/components/footer-ng/footer-ng.stories.js +35 -0
- package/components/footer-ng/footer-ng.test.js +41 -0
- package/components/form/form.css +268 -0
- package/components/form/form.stories.js +128 -0
- package/components/form-ng/error-bubble-ng.css +7 -0
- package/components/form-ng/form-ng.js +176 -0
- package/components/form-ng/form-ng.stories.js +73 -0
- package/components/global/angular-component-factory.js +93 -0
- package/components/global/angular-component-factory.test.js +138 -0
- package/components/global/compose.d.ts +7 -0
- package/components/global/compose.js +4 -0
- package/components/global/composeRefs.d.ts +3 -0
- package/components/global/composeRefs.js +8 -0
- package/components/global/controls-height.d.ts +9 -0
- package/components/global/controls-height.js +16 -0
- package/components/global/create-stateful-context.d.ts +27 -0
- package/components/global/create-stateful-context.js +38 -0
- package/components/global/data-tests.d.ts +3 -0
- package/components/global/data-tests.js +17 -0
- package/components/global/dom.d.ts +37 -0
- package/components/global/dom.js +83 -0
- package/components/global/focus-sensor-hoc.d.ts +19 -0
- package/components/global/focus-sensor-hoc.js +102 -0
- package/components/global/fuzzy-highlight.d.ts +11 -0
- package/components/global/fuzzy-highlight.js +58 -0
- package/components/global/get-event-key.d.ts +2 -0
- package/components/global/get-event-key.js +100 -0
- package/components/global/get-uid.d.ts +1 -0
- package/components/global/get-uid.js +16 -0
- package/components/global/global.css +107 -0
- package/components/global/inject-styles.d.ts +3 -0
- package/components/global/inject-styles.js +12 -0
- package/components/global/linear-function.d.ts +6 -0
- package/components/global/linear-function.js +13 -0
- package/components/global/listeners.d.ts +8 -0
- package/components/global/listeners.js +27 -0
- package/components/global/memoize.d.ts +1 -0
- package/components/global/memoize.js +15 -0
- package/components/global/normalize-indent.d.ts +1 -0
- package/components/global/normalize-indent.js +30 -0
- package/components/global/promise-with-timeout.d.ts +5 -0
- package/components/global/promise-with-timeout.js +11 -0
- package/components/global/prop-types.d.ts +4 -0
- package/components/global/prop-types.js +4 -0
- package/components/global/react-dom-renderer.d.ts +16 -0
- package/components/global/react-dom-renderer.js +25 -0
- package/components/global/react-render-adapter.d.ts +29 -0
- package/components/global/react-render-adapter.js +24 -0
- package/components/global/rerender-hoc.d.ts +41 -0
- package/components/global/rerender-hoc.js +28 -0
- package/components/global/ring-angular-component.js +13 -0
- package/components/global/ring-angular-component.test.js +32 -0
- package/components/global/schedule-raf.d.ts +1 -0
- package/components/global/schedule-raf.js +27 -0
- package/components/global/sniffer.d.ts +3 -0
- package/components/global/sniffer.js +4 -0
- package/components/global/theme.d.ts +21 -0
- package/components/global/theme.js +70 -0
- package/components/global/trivial-template-tag.d.ts +1 -0
- package/components/global/trivial-template-tag.js +9 -0
- package/components/global/typescript-utils.d.ts +2 -0
- package/components/global/typescript-utils.js +2 -0
- package/components/global/url.d.ts +57 -0
- package/components/global/url.js +136 -0
- package/components/global/use-event-callback.d.ts +1 -0
- package/components/global/use-event-callback.js +14 -0
- package/components/global/variables.css +180 -0
- package/components/global/variables.d.ts +90 -0
- package/components/global/variables.js +1 -0
- package/components/global/variables_dark.css +128 -0
- package/components/grid/col.d.ts +31 -0
- package/components/grid/col.js +49 -0
- package/components/grid/grid.css +915 -0
- package/components/grid/grid.d.ts +14 -0
- package/components/grid/grid.js +22 -0
- package/components/grid/row.d.ts +40 -0
- package/components/grid/row.js +51 -0
- package/components/group/group.css +9 -0
- package/components/group/group.d.ts +12 -0
- package/components/group/group.js +20 -0
- package/components/group-ng/group-ng.js +16 -0
- package/components/group-ng/group.stories.js +29 -0
- package/components/header/header.css +171 -0
- package/components/header/header.d.ts +34 -0
- package/components/header/header.js +46 -0
- package/components/header/logo.d.ts +14 -0
- package/components/header/logo.js +22 -0
- package/components/header/profile.d.ts +75 -0
- package/components/header/profile.js +119 -0
- package/components/header/services-link.d.ts +25 -0
- package/components/header/services-link.js +28 -0
- package/components/header/services.css +99 -0
- package/components/header/services.d.ts +33 -0
- package/components/header/services.js +62 -0
- package/components/header/smart-profile.d.ts +36 -0
- package/components/header/smart-profile.js +86 -0
- package/components/header/smart-services.d.ts +25 -0
- package/components/header/smart-services.js +49 -0
- package/components/header/tray-icon.d.ts +32 -0
- package/components/header/tray-icon.js +20 -0
- package/components/header/tray.d.ts +9 -0
- package/components/header/tray.js +18 -0
- package/components/heading/heading.css +50 -0
- package/components/heading/heading.d.ts +25 -0
- package/components/heading/heading.js +52 -0
- package/components/heading-ng/heading-ng.js +8 -0
- package/components/heading-ng/heading-ng.stories.js +29 -0
- package/components/http/http.d.ts +61 -0
- package/components/http/http.js +204 -0
- package/components/http/http.mock.d.ts +20 -0
- package/components/http/http.mock.js +52 -0
- package/components/hub-source/hub-source.d.ts +42 -0
- package/components/hub-source/hub-source.js +107 -0
- package/components/hub-source/hub-source__user.d.ts +4 -0
- package/components/hub-source/hub-source__user.js +20 -0
- package/components/hub-source/hub-source__users-groups.d.ts +24 -0
- package/components/hub-source/hub-source__users-groups.js +53 -0
- package/components/i18n/README.md +46 -0
- package/components/i18n/i18n-context.d.ts +13 -0
- package/components/i18n/i18n-context.js +14 -0
- package/components/i18n/i18n.d.ts +59 -0
- package/components/i18n/i18n.js +26 -0
- package/components/i18n/messages.json +53 -0
- package/components/icon/icon.css +102 -0
- package/components/icon/icon.d.ts +43 -0
- package/components/icon/icon.js +69 -0
- package/components/icon/icon__constants.d.ts +30 -0
- package/components/icon/icon__constants.js +32 -0
- package/components/icon/icon__svg.d.ts +15 -0
- package/components/icon/icon__svg.js +58 -0
- package/components/icon/index.d.ts +2 -0
- package/components/icon/index.js +2 -0
- package/components/icon-ng/icon-ng.js +89 -0
- package/components/icon-ng/icon-ng.stories.js +34 -0
- package/components/input/input-legacy.css +125 -0
- package/components/input/input.css +196 -0
- package/components/input/input.d.ts +77 -0
- package/components/input/input.js +165 -0
- package/components/input-ng/input-ng.css +7 -0
- package/components/input-ng/input-ng.js +160 -0
- package/components/input-ng/input-ng.stories.js +127 -0
- package/components/input-ng/input-ng.test.js +32 -0
- package/components/input-size/input-size.css +84 -0
- package/components/input-size/input-size.stories.js +219 -0
- package/components/island/adaptive-island-hoc.d.ts +61 -0
- package/components/island/adaptive-island-hoc.js +28 -0
- package/components/island/content.d.ts +43 -0
- package/components/island/content.js +100 -0
- package/components/island/header.d.ts +8 -0
- package/components/island/header.js +78 -0
- package/components/island/island.css +132 -0
- package/components/island/island.d.ts +78 -0
- package/components/island/island.js +31 -0
- package/components/island-legacy/content-legacy.d.ts +10 -0
- package/components/island-legacy/content-legacy.js +17 -0
- package/components/island-legacy/header-legacy.d.ts +10 -0
- package/components/island-legacy/header-legacy.js +19 -0
- package/components/island-legacy/island-legacy.css +100 -0
- package/components/island-legacy/island-legacy.d.ts +12 -0
- package/components/island-legacy/island-legacy.js +19 -0
- package/components/island-ng/island-content-ng.js +56 -0
- package/components/island-ng/island-header-ng.js +34 -0
- package/components/island-ng/island-ng-class-fixer.js +7 -0
- package/components/island-ng/island-ng.js +35 -0
- package/components/island-ng/island-ng.stories.js +54 -0
- package/components/line/line.css +16 -0
- package/components/link/clickableLink.d.ts +20 -0
- package/components/link/clickableLink.js +33 -0
- package/components/link/link.css +88 -0
- package/components/link/link.d.ts +148 -0
- package/components/link/link.js +73 -0
- package/components/link/link__legacy.css +29 -0
- package/components/link-ng/link-ng.js +26 -0
- package/components/link-ng/link-ng.stories.js +22 -0
- package/components/link-ng/link-ng.test.js +29 -0
- package/components/list/consts.d.ts +77 -0
- package/components/list/consts.js +29 -0
- package/components/list/list.css +301 -0
- package/components/list/list.d.ts +195 -0
- package/components/list/list.js +590 -0
- package/components/list/list.stories.css +3 -0
- package/components/list/list__custom.d.ts +6 -0
- package/components/list/list__custom.js +52 -0
- package/components/list/list__hint.d.ts +15 -0
- package/components/list/list__hint.js +16 -0
- package/components/list/list__item.d.ts +8 -0
- package/components/list/list__item.js +130 -0
- package/components/list/list__link.d.ts +9 -0
- package/components/list/list__link.js +43 -0
- package/components/list/list__separator.d.ts +5 -0
- package/components/list/list__separator.js +21 -0
- package/components/list/list__title.d.ts +5 -0
- package/components/list/list__title.js +28 -0
- package/components/list/list__users-groups-source.d.ts +27 -0
- package/components/list/list__users-groups-source.js +74 -0
- package/components/loader/loader.css +29 -0
- package/components/loader/loader.d.ts +28 -0
- package/components/loader/loader.js +44 -0
- package/components/loader/loader__core.d.ts +75 -0
- package/components/loader/loader__core.js +219 -0
- package/components/loader-inline/loader-inline.css +74 -0
- package/components/loader-inline/loader-inline.d.ts +18 -0
- package/components/loader-inline/loader-inline.js +27 -0
- package/components/loader-inline-ng/loader-inline-ng.js +17 -0
- package/components/loader-inline-ng/loader-inline-ng.stories.js +28 -0
- package/components/loader-inline-ng/loader-inline-ng.test.js +28 -0
- package/components/loader-ng/loader-ng.js +37 -0
- package/components/loader-ng/loader-ng.stories.js +27 -0
- package/components/loader-ng/loader-ng.test.js +41 -0
- package/components/loader-screen/loader-screen.css +29 -0
- package/components/loader-screen/loader-screen.d.ts +17 -0
- package/components/loader-screen/loader-screen.js +25 -0
- package/components/loader-screen-ng/loader-screen-ng.js +95 -0
- package/components/loader-screen-ng/loader-screen-ng.stories.js +30 -0
- package/components/login-dialog/login-dialog.css +25 -0
- package/components/login-dialog/login-dialog.d.ts +47 -0
- package/components/login-dialog/login-dialog.js +84 -0
- package/components/login-dialog/service.d.ts +2 -0
- package/components/login-dialog/service.js +23 -0
- package/components/markdown/code.d.ts +7 -0
- package/components/markdown/code.js +17 -0
- package/components/markdown/heading.d.ts +11 -0
- package/components/markdown/heading.js +9 -0
- package/components/markdown/link.d.ts +12 -0
- package/components/markdown/link.js +10 -0
- package/components/markdown/markdown.css +76 -0
- package/components/markdown/markdown.d.ts +15 -0
- package/components/markdown/markdown.js +44 -0
- package/components/message/message.css +64 -0
- package/components/message/message.d.ts +55 -0
- package/components/message/message.js +129 -0
- package/components/message-bundle-ng/message-bundle-ng.js +67 -0
- package/components/old-browsers-message/old-browsers-message.css +28 -0
- package/components/old-browsers-message/old-browsers-message.d.ts +2 -0
- package/components/old-browsers-message/old-browsers-message.js +83 -0
- package/components/old-browsers-message/old-browsers-message__stop.d.ts +1 -0
- package/components/old-browsers-message/old-browsers-message__stop.js +2 -0
- package/components/old-browsers-message/white-list.d.ts +2 -0
- package/components/old-browsers-message/white-list.js +25 -0
- package/components/pager/pager.css +21 -0
- package/components/pager/pager.d.ts +78 -0
- package/components/pager/pager.js +229 -0
- package/components/pager-ng/pager-ng.js +7 -0
- package/components/pager-ng/pager-ng.stories.js +37 -0
- package/components/palette/palette.css +216 -0
- package/components/palette/palette.stories.js +63 -0
- package/components/panel/panel.css +22 -0
- package/components/panel/panel.d.ts +12 -0
- package/components/panel/panel.js +20 -0
- package/components/panel-ng/panel-ng.js +20 -0
- package/components/permissions/permissions.d.ts +111 -0
- package/components/permissions/permissions.js +177 -0
- package/components/permissions/permissions__cache.d.ts +93 -0
- package/components/permissions/permissions__cache.js +228 -0
- package/components/permissions-ng/permissions-ng.css +5 -0
- package/components/permissions-ng/permissions-ng.js +246 -0
- package/components/permissions-ng/permissions-ng.stories.js +49 -0
- package/components/permissions-ng/permissions-ng.test.js +82 -0
- package/components/place-under-ng/place-under-ng.js +190 -0
- package/components/place-under-ng/place-under-ng.stories.js +94 -0
- package/components/place-under-ng/place-under-ng.test.js +182 -0
- package/components/popup/popup.consts.d.ts +37 -0
- package/components/popup/popup.consts.js +45 -0
- package/components/popup/popup.css +34 -0
- package/components/popup/popup.d.ts +147 -0
- package/components/popup/popup.js +312 -0
- package/components/popup/popup.target.d.ts +7 -0
- package/components/popup/popup.target.js +15 -0
- package/components/popup/position.d.ts +30 -0
- package/components/popup/position.js +202 -0
- package/components/popup-menu/popup-menu.d.ts +60 -0
- package/components/popup-menu/popup-menu.js +41 -0
- package/components/progress-bar/progress-bar.css +83 -0
- package/components/progress-bar/progress-bar.d.ts +64 -0
- package/components/progress-bar/progress-bar.js +76 -0
- package/components/progress-bar-ng/progress-bar-ng.js +7 -0
- package/components/progress-bar-ng/progress-bar-ng.stories.js +52 -0
- package/components/promised-click-ng/promised-click-ng.js +118 -0
- package/components/promised-click-ng/promised-click-ng.stories.js +42 -0
- package/components/promised-click-ng/promised-click-ng.test.js +166 -0
- package/components/proxy-attrs/proxy-attrs.js +24 -0
- package/components/proxy-attrs/proxy-attrs.test.js +102 -0
- package/components/query-assist/query-assist.css +276 -0
- package/components/query-assist/query-assist.d.ts +333 -0
- package/components/query-assist/query-assist.js +847 -0
- package/components/query-assist/query-assist__suggestions.d.ts +29 -0
- package/components/query-assist/query-assist__suggestions.js +60 -0
- package/components/query-assist-ng/query-assist-ng.js +7 -0
- package/components/query-assist-ng/query-assist-ng.stories.js +89 -0
- package/components/radio/radio.css +125 -0
- package/components/radio/radio.d.ts +18 -0
- package/components/radio/radio.js +27 -0
- package/components/radio/radio__item.d.ts +28 -0
- package/components/radio/radio__item.js +41 -0
- package/components/radio-ng/radio-ng.js +61 -0
- package/components/radio-ng/radio-ng.stories.js +31 -0
- package/components/radio-ng/radio-ng.test.js +55 -0
- package/components/save-field-ng/save-field-ng.css +13 -0
- package/components/save-field-ng/save-field-ng.js +358 -0
- package/components/save-field-ng/save-field-ng.stories.js +221 -0
- package/components/save-field-ng/save-field-ng__template.js +32 -0
- package/components/select/select-popup.css +105 -0
- package/components/select/select.css +236 -0
- package/components/select/select.d.ts +303 -0
- package/components/select/select.js +957 -0
- package/components/select/select__filter.d.ts +19 -0
- package/components/select/select__filter.js +49 -0
- package/components/select/select__popup.d.ts +166 -0
- package/components/select/select__popup.js +408 -0
- package/components/select-ng/select-ng.js +561 -0
- package/components/select-ng/select-ng.stories.js +483 -0
- package/components/select-ng/select-ng.test.js +620 -0
- package/components/select-ng/select-ng__lazy.js +83 -0
- package/components/select-ng/select-ng__lazy.test.js +81 -0
- package/components/select-ng/select-ng__options.js +147 -0
- package/components/shortcuts/core.d.ts +74 -0
- package/components/shortcuts/core.js +191 -0
- package/components/shortcuts/shortcut-title.d.ts +1 -0
- package/components/shortcuts/shortcut-title.js +50 -0
- package/components/shortcuts/shortcuts-hoc.d.ts +65 -0
- package/components/shortcuts/shortcuts-hoc.js +19 -0
- package/components/shortcuts/shortcuts.d.ts +28 -0
- package/components/shortcuts/shortcuts.js +50 -0
- package/components/shortcuts-hint-ng/shortcuts-hint-ng.css +116 -0
- package/components/shortcuts-hint-ng/shortcuts-hint-ng.js +101 -0
- package/components/shortcuts-hint-ng/shortcuts-hint-ng.stories.js +126 -0
- package/components/shortcuts-hint-ng/shortcuts-hint-ng.test.js +113 -0
- package/components/shortcuts-hint-ng/shortcuts-hint-ng__template.js +48 -0
- package/components/shortcuts-ng/shortcuts-ng.js +285 -0
- package/components/sidebar/sidebar.css +159 -0
- package/components/sidebar-ng/sidebar-ng.js +99 -0
- package/components/sidebar-ng/sidebar-ng.stories.js +94 -0
- package/components/sidebar-ng/sidebar-ng.test.js +37 -0
- package/components/sidebar-ng/sidebar-ng__button-template.js +18 -0
- package/components/sidebar-ng/sidebar-ng__template.js +10 -0
- package/components/storage/storage.d.ts +18 -0
- package/components/storage/storage.js +22 -0
- package/components/storage/storage__fallback.d.ts +79 -0
- package/components/storage/storage__fallback.js +181 -0
- package/components/storage/storage__local.d.ts +38 -0
- package/components/storage/storage__local.js +119 -0
- package/components/tab-trap/tab-trap.css +6 -0
- package/components/tab-trap/tab-trap.d.ts +43 -0
- package/components/tab-trap/tab-trap.js +125 -0
- package/components/table/cell.d.ts +13 -0
- package/components/table/cell.js +16 -0
- package/components/table/disable-hover-hoc.d.ts +64 -0
- package/components/table/disable-hover-hoc.js +32 -0
- package/components/table/header-cell.d.ts +43 -0
- package/components/table/header-cell.js +56 -0
- package/components/table/header.d.ts +56 -0
- package/components/table/header.js +67 -0
- package/components/table/multitable.d.ts +25 -0
- package/components/table/multitable.js +81 -0
- package/components/table/row-with-focus-sensor.d.ts +18 -0
- package/components/table/row-with-focus-sensor.js +25 -0
- package/components/table/row.d.ts +59 -0
- package/components/table/row.js +154 -0
- package/components/table/selection-adapter.d.ts +5 -0
- package/components/table/selection-adapter.js +10 -0
- package/components/table/selection-shortcuts-hoc.d.ts +17 -0
- package/components/table/selection-shortcuts-hoc.js +146 -0
- package/components/table/selection.d.ts +47 -0
- package/components/table/selection.js +150 -0
- package/components/table/smart-table.d.ts +64 -0
- package/components/table/smart-table.js +40 -0
- package/components/table/table.css +261 -0
- package/components/table/table.d.ts +159 -0
- package/components/table/table.examples2.json +19 -0
- package/components/table/table.js +231 -0
- package/components/table/table.stories.json +45 -0
- package/components/table-legacy/table-legacy.css +348 -0
- package/components/table-legacy/table-legacy__toolbar.css +27 -0
- package/components/table-legacy-ng/table-legacy-ng.js +433 -0
- package/components/table-legacy-ng/table-legacy-ng.stories.js +192 -0
- package/components/table-legacy-ng/table-legacy-ng.test.js +296 -0
- package/components/table-legacy-ng/table-legacy-ng__pager.js +32 -0
- package/components/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +105 -0
- package/components/table-legacy-ng/table-legacy-ng__selection.js +165 -0
- package/components/table-legacy-ng/table-legacy-ng__toolbar.js +58 -0
- package/components/table-ng/smart-table-ng.js +7 -0
- package/components/table-ng/table-ng.js +7 -0
- package/components/table-ng/table-ng.stories.js +84 -0
- package/components/tabs/collapsible-more.d.ts +29 -0
- package/components/tabs/collapsible-more.js +97 -0
- package/components/tabs/collapsible-tab.d.ts +16 -0
- package/components/tabs/collapsible-tab.js +34 -0
- package/components/tabs/collapsible-tabs.d.ts +43 -0
- package/components/tabs/collapsible-tabs.js +196 -0
- package/components/tabs/custom-item.d.ts +9 -0
- package/components/tabs/custom-item.js +5 -0
- package/components/tabs/dumb-tabs.d.ts +35 -0
- package/components/tabs/dumb-tabs.js +56 -0
- package/components/tabs/smart-tabs.d.ts +20 -0
- package/components/tabs/smart-tabs.js +25 -0
- package/components/tabs/tab-link.d.ts +18 -0
- package/components/tabs/tab-link.js +24 -0
- package/components/tabs/tab.d.ts +27 -0
- package/components/tabs/tab.js +19 -0
- package/components/tabs/tabs.css +224 -0
- package/components/tabs/tabs.d.ts +7 -0
- package/components/tabs/tabs.js +7 -0
- package/components/tabs-ng/tabs-ng.js +206 -0
- package/components/tabs-ng/tabs-ng.stories.js +30 -0
- package/components/tabs-ng/tabs-ng.test.js +76 -0
- package/components/tabs-ng/tabs-ng__template.js +38 -0
- package/components/tag/tag.css +185 -0
- package/components/tag/tag.d.ts +64 -0
- package/components/tag/tag.js +130 -0
- package/components/tags-input/tags-input.css +101 -0
- package/components/tags-input/tags-input.d.ts +165 -0
- package/components/tags-input/tags-input.js +275 -0
- package/components/tags-input-ng/tags-input-ng.js +7 -0
- package/components/tags-input-ng/tags-input-ng.stories.js +41 -0
- package/components/tags-list/tags-list.d.ts +46 -0
- package/components/tags-list/tags-list.js +45 -0
- package/components/template-ng/template-ng.js +57 -0
- package/components/template-ng/template-ng.stories.js +32 -0
- package/components/template-ng/template-ng.test.js +97 -0
- package/components/text/text.css +21 -0
- package/components/text/text.d.ts +23 -0
- package/components/text/text.js +31 -0
- package/components/title-ng/title-ng.js +120 -0
- package/components/title-ng/title-ng.stories.js +30 -0
- package/components/title-ng/title-ng.test.js +47 -0
- package/components/toggle/toggle.css +201 -0
- package/components/toggle/toggle.d.ts +39 -0
- package/components/toggle/toggle.js +46 -0
- package/components/toggle-ng/toggle-ng.js +8 -0
- package/components/toggle-ng/toggle-ng.stories.js +22 -0
- package/components/tooltip/tooltip.css +19 -0
- package/components/tooltip/tooltip.d.ts +65 -0
- package/components/tooltip/tooltip.js +126 -0
- package/components/tooltip-ng/tooltip-ng.css +25 -0
- package/components/tooltip-ng/tooltip-ng.js +100 -0
- package/components/tooltip-ng/tooltip-ng.stories.js +36 -0
- package/components/tooltip-ng/tooltip-ng.test.js +69 -0
- package/components/user-agreement/service.d.ts +67 -0
- package/components/user-agreement/service.js +241 -0
- package/components/user-agreement/toolbox.eula.d.ts +2 -0
- package/components/user-agreement/toolbox.eula.js +160 -0
- package/components/user-agreement/user-agreement.css +29 -0
- package/components/user-agreement/user-agreement.d.ts +61 -0
- package/components/user-agreement/user-agreement.js +82 -0
- package/components/user-card/card.d.ts +71 -0
- package/components/user-card/card.js +89 -0
- package/components/user-card/smart-user-card-tooltip.d.ts +20 -0
- package/components/user-card/smart-user-card-tooltip.js +47 -0
- package/components/user-card/tooltip.d.ts +36 -0
- package/components/user-card/tooltip.js +43 -0
- package/components/user-card/user-card.css +125 -0
- package/components/user-card/user-card.d.ts +11 -0
- package/components/user-card/user-card.js +11 -0
- package/components/user-card-ng/user-card-ng.js +16 -0
- package/components/user-card-ng/user-card-ng.stories.js +66 -0
- package/dist/_helpers/_rollupPluginBabelHelpers.js +648 -0
- package/dist/_helpers/anchor.js +31 -0
- package/dist/_helpers/badge.js +3 -0
- 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 +34 -0
- package/dist/_helpers/card.js +132 -0
- package/dist/_helpers/checkbox.js +3 -0
- package/dist/_helpers/control-label.js +3 -0
- package/dist/_helpers/date-picker.js +3 -0
- package/dist/_helpers/dialog__body-scroll-preventer.js +54 -0
- package/dist/_helpers/error-message.js +3 -0
- package/dist/_helpers/footer.js +110 -0
- package/dist/_helpers/grid.js +3 -0
- package/dist/_helpers/group.js +3 -0
- package/dist/_helpers/header.js +3 -0
- package/dist/_helpers/icon.js +3 -0
- package/dist/_helpers/input.js +3 -0
- package/dist/_helpers/island.js +3 -0
- package/dist/_helpers/link.js +3 -0
- package/dist/_helpers/list.js +3 -0
- package/dist/_helpers/loader-inline.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 +102 -0
- package/dist/_helpers/radio.js +3 -0
- package/dist/_helpers/select__filter.js +94 -0
- package/dist/_helpers/services-link.js +50 -0
- package/dist/_helpers/sidebar.js +123 -0
- package/dist/_helpers/table.js +3 -0
- package/dist/_helpers/tabs.js +3 -0
- package/dist/_helpers/theme.js +95 -0
- package/dist/_helpers/title.js +103 -0
- package/dist/alert/alert.d.ts +113 -0
- package/dist/alert/alert.js +296 -0
- package/dist/alert/container.d.ts +15 -0
- package/dist/alert/container.js +52 -0
- package/dist/alert-service/alert-service.d.ts +34 -0
- package/dist/alert-service/alert-service.js +221 -0
- package/dist/analytics/analytics.d.ts +38 -0
- package/dist/analytics/analytics.js +108 -0
- package/dist/analytics/analytics__custom-plugin.d.ts +29 -0
- package/dist/analytics/analytics__custom-plugin.js +94 -0
- package/dist/analytics/analytics__fus-plugin.d.ts +52 -0
- package/dist/analytics/analytics__fus-plugin.js +38 -0
- package/dist/analytics/analytics__ga-plugin.d.ts +27 -0
- package/dist/analytics/analytics__ga-plugin.js +116 -0
- package/dist/analytics/analytics__plugin-utils.d.ts +31 -0
- package/dist/analytics/analytics__plugin-utils.js +100 -0
- package/dist/auth/auth.d.ts +3 -0
- package/dist/auth/auth.js +136 -0
- package/dist/auth/auth__core.d.ts +236 -0
- package/dist/auth/auth__core.js +1655 -0
- package/dist/auth/background-flow.d.ts +31 -0
- package/dist/auth/background-flow.js +147 -0
- package/dist/auth/down-notification.d.ts +15 -0
- package/dist/auth/down-notification.js +160 -0
- package/dist/auth/iframe-flow.d.ts +20 -0
- package/dist/auth/iframe-flow.js +198 -0
- package/dist/auth/landing-entry.d.ts +3 -0
- package/dist/auth/landing-entry.js +5 -0
- package/dist/auth/landing.d.ts +2 -0
- package/dist/auth/landing.js +158 -0
- package/dist/auth/request-builder.d.ts +48 -0
- package/dist/auth/request-builder.js +104 -0
- package/dist/auth/response-parser.d.ts +70 -0
- package/dist/auth/response-parser.js +138 -0
- package/dist/auth/storage.d.ts +112 -0
- package/dist/auth/storage.js +431 -0
- package/dist/auth/token-validator.d.ts +93 -0
- package/dist/auth/token-validator.js +269 -0
- package/dist/auth/window-flow.d.ts +26 -0
- package/dist/auth/window-flow.js +154 -0
- package/dist/auth-dialog/auth-dialog.d.ts +60 -0
- package/dist/auth-dialog/auth-dialog.js +221 -0
- package/dist/auth-dialog-service/auth-dialog-service.d.ts +5 -0
- package/dist/auth-dialog-service/auth-dialog-service.js +91 -0
- package/dist/auth-ng/auth-ng.js +232 -0
- package/dist/auth-ng/auth-ng.mock.js +29 -0
- package/dist/autofocus-ng/autofocus-ng.js +58 -0
- package/dist/avatar/avatar-example-datauri.d.ts +1 -0
- package/dist/avatar/avatar-example-datauri.js +4 -0
- package/dist/avatar/avatar.d.ts +52 -0
- package/dist/avatar/avatar.js +183 -0
- package/dist/avatar/fallback-avatar.d.ts +17 -0
- package/dist/avatar/fallback-avatar.js +151 -0
- package/dist/avatar-editor-ng/avatar-editor-ng.js +191 -0
- package/dist/avatar-editor-ng/avatar-editor-ng__template.js +3 -0
- package/dist/avatar-ng/avatar-ng.js +38 -0
- package/dist/badge/badge.d.ts +24 -0
- package/dist/badge/badge.js +59 -0
- package/dist/badge-ng/badge-ng.js +27 -0
- package/dist/breadcrumb-ng/breadcrumb-ng.js +46 -0
- package/dist/button/button.d.ts +67 -0
- package/dist/button/button.js +132 -0
- package/dist/button/button__classes.d.ts +2 -0
- package/dist/button/button__classes.js +2 -0
- package/dist/button-group/button-group.d.ts +18 -0
- package/dist/button-group/button-group.js +48 -0
- package/dist/button-group/caption.d.ts +8 -0
- package/dist/button-group/caption.js +30 -0
- package/dist/button-group-ng/button-group-ng.js +45 -0
- package/dist/button-ng/button-ng.js +201 -0
- package/dist/button-set/button-set.d.ts +16 -0
- package/dist/button-set/button-set.js +46 -0
- package/dist/button-set-ng/button-set-ng.js +17 -0
- package/dist/button-toolbar/button-toolbar.d.ts +16 -0
- package/dist/button-toolbar/button-toolbar.js +45 -0
- package/dist/button-toolbar-ng/button-toolbar-ng.js +23 -0
- package/dist/caret/caret.d.ts +66 -0
- package/dist/caret/caret.js +259 -0
- package/dist/checkbox/checkbox.d.ts +45 -0
- package/dist/checkbox/checkbox.js +130 -0
- package/dist/checkbox-ng/checkbox-ng.js +52 -0
- package/dist/clipboard/clipboard-fallback.d.ts +2 -0
- package/dist/clipboard/clipboard-fallback.js +42 -0
- package/dist/clipboard/clipboard.d.ts +5 -0
- package/dist/clipboard/clipboard.js +187 -0
- package/dist/code/code.d.ts +44 -0
- package/dist/code/code.js +191 -0
- package/dist/compiler-ng/compiler-ng.js +51 -0
- package/dist/confirm/confirm.d.ts +48 -0
- package/dist/confirm/confirm.js +155 -0
- package/dist/confirm-ng/confirm-ng.js +93 -0
- package/dist/confirm-service/confirm-service.d.ts +21 -0
- package/dist/confirm-service/confirm-service.js +142 -0
- package/dist/content-layout/content-layout.d.ts +26 -0
- package/dist/content-layout/content-layout.js +79 -0
- package/dist/content-layout/sidebar.d.ts +31 -0
- package/dist/content-layout/sidebar.js +7 -0
- package/dist/contenteditable/contenteditable.d.ts +47 -0
- package/dist/contenteditable/contenteditable.js +84 -0
- package/dist/control-label/control-label.d.ts +11 -0
- package/dist/control-label/control-label.js +35 -0
- package/dist/data-list/data-list.d.ts +85 -0
- package/dist/data-list/data-list.js +254 -0
- package/dist/data-list/data-list.mock.d.ts +16 -0
- package/dist/data-list/data-list.mock.js +197 -0
- package/dist/data-list/item.d.ts +50 -0
- package/dist/data-list/item.js +238 -0
- package/dist/data-list/selection.d.ts +16 -0
- package/dist/data-list/selection.js +148 -0
- package/dist/data-list/title.d.ts +26 -0
- package/dist/data-list/title.js +30 -0
- package/dist/data-list-ng/data-list-ng.js +84 -0
- package/dist/date-picker/consts.d.ts +102 -0
- package/dist/date-picker/consts.js +63 -0
- package/dist/date-picker/date-input.d.ts +47 -0
- package/dist/date-picker/date-input.js +182 -0
- package/dist/date-picker/date-picker.d.ts +77 -0
- package/dist/date-picker/date-picker.js +408 -0
- package/dist/date-picker/date-popup.d.ts +55 -0
- package/dist/date-picker/date-popup.js +493 -0
- package/dist/date-picker/day.d.ts +31 -0
- package/dist/date-picker/day.js +139 -0
- package/dist/date-picker/formats.d.ts +2 -0
- package/dist/date-picker/formats.js +3 -0
- package/dist/date-picker/month-names.d.ts +13 -0
- package/dist/date-picker/month-names.js +113 -0
- package/dist/date-picker/month-slider.d.ts +29 -0
- package/dist/date-picker/month-slider.js +96 -0
- package/dist/date-picker/month.d.ts +14 -0
- package/dist/date-picker/month.js +63 -0
- package/dist/date-picker/months.d.ts +11 -0
- package/dist/date-picker/months.js +136 -0
- package/dist/date-picker/weekdays.d.ts +13 -0
- package/dist/date-picker/weekdays.js +42 -0
- package/dist/date-picker/years.d.ts +25 -0
- package/dist/date-picker/years.js +137 -0
- package/dist/dialog/dialog.d.ts +64 -0
- package/dist/dialog/dialog.js +241 -0
- package/dist/dialog/dialog__body-scroll-preventer.d.ts +9 -0
- package/dist/dialog/dialog__body-scroll-preventer.js +6 -0
- package/dist/dialog-ng/dialog-ng.js +622 -0
- package/dist/dialog-ng/dialog-ng__template.js +3 -0
- package/dist/docked-panel-ng/docked-panel-ng.js +159 -0
- package/dist/dropdown/anchor.d.ts +11 -0
- package/dist/dropdown/anchor.js +25 -0
- package/dist/dropdown/dropdown.d.ts +87 -0
- package/dist/dropdown/dropdown.js +248 -0
- package/dist/dropdown-menu/dropdown-menu.d.ts +26 -0
- package/dist/dropdown-menu/dropdown-menu.js +201 -0
- package/dist/editable-heading/editable-heading.d.ts +32 -0
- package/dist/editable-heading/editable-heading.js +278 -0
- package/dist/error-bubble/error-bubble.d.ts +18 -0
- package/dist/error-bubble/error-bubble.js +88 -0
- package/dist/error-message/error-message.d.ts +27 -0
- package/dist/error-message/error-message.js +78 -0
- package/dist/error-message-ng/error-message-ng.js +41 -0
- package/dist/footer/footer.d.ts +28 -0
- package/dist/footer/footer.js +19 -0
- package/dist/footer-ng/footer-ng.js +86 -0
- package/dist/form-ng/form-ng.js +157 -0
- package/dist/global/angular-component-factory.js +99 -0
- package/dist/global/compose.d.ts +7 -0
- package/dist/global/compose.js +17 -0
- package/dist/global/composeRefs.d.ts +3 -0
- package/dist/global/composeRefs.js +19 -0
- package/dist/global/controls-height.d.ts +9 -0
- package/dist/global/controls-height.js +19 -0
- package/dist/global/create-stateful-context.d.ts +27 -0
- package/dist/global/create-stateful-context.js +49 -0
- package/dist/global/data-tests.d.ts +3 -0
- package/dist/global/data-tests.js +30 -0
- package/dist/global/dom.d.ts +37 -0
- package/dist/global/dom.js +151 -0
- package/dist/global/focus-sensor-hoc.d.ts +19 -0
- package/dist/global/focus-sensor-hoc.js +165 -0
- package/dist/global/fuzzy-highlight.d.ts +11 -0
- package/dist/global/fuzzy-highlight.js +90 -0
- package/dist/global/get-event-key.d.ts +2 -0
- package/dist/global/get-event-key.js +101 -0
- package/dist/global/get-uid.d.ts +1 -0
- package/dist/global/get-uid.js +22 -0
- package/dist/global/inject-styles.d.ts +3 -0
- package/dist/global/inject-styles.js +22 -0
- package/dist/global/linear-function.d.ts +6 -0
- package/dist/global/linear-function.js +15 -0
- package/dist/global/listeners.d.ts +8 -0
- package/dist/global/listeners.js +58 -0
- package/dist/global/memoize.d.ts +1 -0
- package/dist/global/memoize.js +23 -0
- package/dist/global/normalize-indent.d.ts +1 -0
- package/dist/global/normalize-indent.js +60 -0
- package/dist/global/promise-with-timeout.d.ts +5 -0
- package/dist/global/promise-with-timeout.js +19 -0
- package/dist/global/prop-types.d.ts +4 -0
- package/dist/global/prop-types.js +9 -0
- package/dist/global/react-dom-renderer.d.ts +16 -0
- package/dist/global/react-dom-renderer.js +54 -0
- package/dist/global/react-render-adapter.d.ts +29 -0
- package/dist/global/react-render-adapter.js +35 -0
- package/dist/global/rerender-hoc.d.ts +41 -0
- package/dist/global/rerender-hoc.js +57 -0
- package/dist/global/ring-angular-component.js +27 -0
- package/dist/global/schedule-raf.d.ts +1 -0
- package/dist/global/schedule-raf.js +28 -0
- package/dist/global/sniffer.d.ts +3 -0
- package/dist/global/sniffer.js +6 -0
- package/dist/global/theme.d.ts +21 -0
- package/dist/global/theme.js +42 -0
- package/dist/global/trivial-template-tag.d.ts +1 -0
- package/dist/global/trivial-template-tag.js +21 -0
- package/dist/global/typescript-utils.d.ts +2 -0
- package/dist/global/typescript-utils.js +8 -0
- package/dist/global/url.d.ts +57 -0
- package/dist/global/url.js +142 -0
- package/dist/global/use-event-callback.d.ts +1 -0
- package/dist/global/use-event-callback.js +17 -0
- package/dist/global/variables.d.ts +90 -0
- package/dist/global/variables.js +1 -0
- package/dist/grid/col.d.ts +31 -0
- package/dist/grid/col.js +80 -0
- package/dist/grid/grid.d.ts +14 -0
- package/dist/grid/grid.js +46 -0
- package/dist/grid/row.d.ts +40 -0
- package/dist/grid/row.js +75 -0
- package/dist/group/group.d.ts +12 -0
- package/dist/group/group.js +38 -0
- package/dist/group-ng/group-ng.js +11 -0
- package/dist/header/header.d.ts +34 -0
- package/dist/header/header.js +193 -0
- package/dist/header/logo.d.ts +14 -0
- package/dist/header/logo.js +52 -0
- package/dist/header/profile.d.ts +75 -0
- package/dist/header/profile.js +260 -0
- package/dist/header/services-link.d.ts +25 -0
- package/dist/header/services-link.js +18 -0
- package/dist/header/services.d.ts +33 -0
- package/dist/header/services.js +175 -0
- package/dist/header/smart-profile.d.ts +36 -0
- package/dist/header/smart-profile.js +307 -0
- package/dist/header/smart-services.d.ts +25 -0
- package/dist/header/smart-services.js +195 -0
- package/dist/header/tray-icon.d.ts +32 -0
- package/dist/header/tray-icon.js +58 -0
- package/dist/header/tray.d.ts +9 -0
- package/dist/header/tray.js +41 -0
- package/dist/heading/heading.d.ts +25 -0
- package/dist/heading/heading.js +70 -0
- package/dist/heading-ng/heading-ng.js +24 -0
- package/dist/http/http.d.ts +61 -0
- package/dist/http/http.js +398 -0
- package/dist/http/http.mock.d.ts +20 -0
- package/dist/http/http.mock.js +113 -0
- package/dist/hub-source/hub-source.d.ts +42 -0
- package/dist/hub-source/hub-source.js +217 -0
- package/dist/hub-source/hub-source__user.d.ts +4 -0
- package/dist/hub-source/hub-source__user.js +60 -0
- package/dist/hub-source/hub-source__users-groups.d.ts +24 -0
- package/dist/hub-source/hub-source__users-groups.js +86 -0
- package/dist/i18n/i18n-context.d.ts +13 -0
- package/dist/i18n/i18n-context.js +27 -0
- package/dist/i18n/i18n.d.ts +59 -0
- package/dist/i18n/i18n.js +139 -0
- package/dist/icon/icon.d.ts +43 -0
- package/dist/icon/icon.js +110 -0
- package/dist/icon/icon__constants.d.ts +30 -0
- package/dist/icon/icon__constants.js +34 -0
- package/dist/icon/icon__svg.d.ts +15 -0
- package/dist/icon/icon__svg.js +79 -0
- package/dist/icon/index.d.ts +2 -0
- package/dist/icon/index.js +18 -0
- package/dist/icon-ng/icon-ng.js +95 -0
- package/dist/input/input.d.ts +77 -0
- package/dist/input/input.js +255 -0
- package/dist/input-ng/input-ng.js +128 -0
- package/dist/island/adaptive-island-hoc.d.ts +61 -0
- package/dist/island/adaptive-island-hoc.js +53 -0
- package/dist/island/content.d.ts +43 -0
- package/dist/island/content.js +151 -0
- package/dist/island/header.d.ts +8 -0
- package/dist/island/header.js +100 -0
- package/dist/island/island.d.ts +78 -0
- package/dist/island/island.js +60 -0
- package/dist/island-legacy/content-legacy.d.ts +10 -0
- package/dist/island-legacy/content-legacy.js +34 -0
- package/dist/island-legacy/header-legacy.d.ts +10 -0
- package/dist/island-legacy/header-legacy.js +36 -0
- package/dist/island-legacy/island-legacy.d.ts +12 -0
- package/dist/island-legacy/island-legacy.js +36 -0
- package/dist/island-ng/island-content-ng.js +44 -0
- package/dist/island-ng/island-header-ng.js +29 -0
- package/dist/island-ng/island-ng-class-fixer.js +12 -0
- package/dist/island-ng/island-ng.js +27 -0
- package/dist/link/clickableLink.d.ts +20 -0
- package/dist/link/clickableLink.js +69 -0
- package/dist/link/link.d.ts +148 -0
- package/dist/link/link.js +126 -0
- package/dist/link-ng/link-ng.js +21 -0
- package/dist/list/consts.d.ts +77 -0
- package/dist/list/consts.js +31 -0
- package/dist/list/list.d.ts +195 -0
- package/dist/list/list.js +804 -0
- package/dist/list/list__custom.d.ts +6 -0
- package/dist/list/list__custom.js +92 -0
- package/dist/list/list__hint.d.ts +15 -0
- package/dist/list/list__hint.js +33 -0
- package/dist/list/list__item.d.ts +8 -0
- package/dist/list/list__item.js +239 -0
- package/dist/list/list__link.d.ts +9 -0
- package/dist/list/list__link.js +81 -0
- package/dist/list/list__separator.d.ts +5 -0
- package/dist/list/list__separator.js +39 -0
- package/dist/list/list__title.d.ts +5 -0
- package/dist/list/list__title.js +48 -0
- package/dist/list/list__users-groups-source.d.ts +27 -0
- package/dist/list/list__users-groups-source.js +197 -0
- package/dist/loader/loader.d.ts +28 -0
- package/dist/loader/loader.js +93 -0
- package/dist/loader/loader__core.d.ts +75 -0
- package/dist/loader/loader__core.js +327 -0
- package/dist/loader-inline/loader-inline.d.ts +18 -0
- package/dist/loader-inline/loader-inline.js +49 -0
- package/dist/loader-inline-ng/loader-inline-ng.js +14 -0
- package/dist/loader-ng/loader-ng.js +60 -0
- package/dist/loader-screen/loader-screen.d.ts +17 -0
- package/dist/loader-screen/loader-screen.js +63 -0
- package/dist/loader-screen-ng/loader-screen-ng.js +98 -0
- package/dist/login-dialog/login-dialog.d.ts +47 -0
- package/dist/login-dialog/login-dialog.js +218 -0
- package/dist/login-dialog/service.d.ts +2 -0
- package/dist/login-dialog/service.js +99 -0
- package/dist/markdown/code.d.ts +7 -0
- package/dist/markdown/code.js +52 -0
- package/dist/markdown/heading.d.ts +11 -0
- package/dist/markdown/heading.js +20 -0
- package/dist/markdown/link.d.ts +12 -0
- package/dist/markdown/link.js +34 -0
- package/dist/markdown/markdown.d.ts +15 -0
- package/dist/markdown/markdown.js +102 -0
- package/dist/message/message.d.ts +55 -0
- package/dist/message/message.js +268 -0
- package/dist/message-bundle-ng/message-bundle-ng.js +151 -0
- package/dist/old-browsers-message/old-browsers-message.d.ts +2 -0
- package/dist/old-browsers-message/old-browsers-message.js +92 -0
- package/dist/old-browsers-message/old-browsers-message__stop.d.ts +1 -0
- package/dist/old-browsers-message/old-browsers-message__stop.js +11 -0
- package/dist/old-browsers-message/white-list.d.ts +2 -0
- package/dist/old-browsers-message/white-list.js +37 -0
- package/dist/pager/pager.d.ts +78 -0
- package/dist/pager/pager.js +402 -0
- package/dist/pager-ng/pager-ng.js +131 -0
- package/dist/panel/panel.d.ts +12 -0
- package/dist/panel/panel.js +38 -0
- package/dist/panel-ng/panel-ng.js +26 -0
- package/dist/permissions/permissions.d.ts +111 -0
- package/dist/permissions/permissions.js +221 -0
- package/dist/permissions/permissions__cache.d.ts +93 -0
- package/dist/permissions/permissions__cache.js +257 -0
- package/dist/permissions-ng/permissions-ng.js +327 -0
- package/dist/place-under-ng/place-under-ng.js +157 -0
- package/dist/popup/popup.consts.d.ts +37 -0
- package/dist/popup/popup.consts.js +44 -0
- package/dist/popup/popup.d.ts +147 -0
- package/dist/popup/popup.js +424 -0
- package/dist/popup/popup.target.d.ts +7 -0
- package/dist/popup/popup.target.js +24 -0
- package/dist/popup/position.d.ts +30 -0
- package/dist/popup/position.js +271 -0
- package/dist/popup-menu/popup-menu.d.ts +60 -0
- package/dist/popup-menu/popup-menu.js +143 -0
- package/dist/progress-bar/progress-bar.d.ts +64 -0
- package/dist/progress-bar/progress-bar.js +120 -0
- package/dist/progress-bar-ng/progress-bar-ng.js +23 -0
- package/dist/promised-click-ng/promised-click-ng.js +138 -0
- package/dist/proxy-attrs/proxy-attrs.js +27 -0
- package/dist/query-assist/query-assist.d.ts +333 -0
- package/dist/query-assist/query-assist.js +1104 -0
- package/dist/query-assist/query-assist__suggestions.d.ts +29 -0
- package/dist/query-assist/query-assist__suggestions.js +77 -0
- package/dist/query-assist-ng/query-assist-ng.js +117 -0
- package/dist/radio/radio.d.ts +18 -0
- package/dist/radio/radio.js +49 -0
- package/dist/radio/radio__item.d.ts +28 -0
- package/dist/radio/radio__item.js +87 -0
- package/dist/radio-ng/radio-ng.js +47 -0
- package/dist/save-field-ng/save-field-ng.js +323 -0
- package/dist/save-field-ng/save-field-ng__template.js +3 -0
- package/dist/select/select.d.ts +303 -0
- package/dist/select/select.js +1316 -0
- package/dist/select/select__filter.d.ts +19 -0
- package/dist/select/select__filter.js +89 -0
- package/dist/select/select__popup.d.ts +166 -0
- package/dist/select/select__popup.js +636 -0
- package/dist/select-ng/select-ng.js +625 -0
- package/dist/select-ng/select-ng__lazy.js +203 -0
- package/dist/select-ng/select-ng__options.js +144 -0
- package/dist/shortcuts/core.d.ts +74 -0
- package/dist/shortcuts/core.js +249 -0
- package/dist/shortcuts/shortcut-title.d.ts +1 -0
- package/dist/shortcuts/shortcut-title.js +56 -0
- package/dist/shortcuts/shortcuts-hoc.d.ts +65 -0
- package/dist/shortcuts/shortcuts-hoc.js +61 -0
- package/dist/shortcuts/shortcuts.d.ts +28 -0
- package/dist/shortcuts/shortcuts.js +92 -0
- package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +155 -0
- package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +3 -0
- package/dist/shortcuts-ng/shortcuts-ng.js +263 -0
- package/dist/sidebar-ng/sidebar-ng.js +128 -0
- package/dist/sidebar-ng/sidebar-ng__button-template.js +3 -0
- package/dist/sidebar-ng/sidebar-ng__template.js +3 -0
- package/dist/storage/storage.d.ts +18 -0
- package/dist/storage/storage.js +94 -0
- package/dist/storage/storage__fallback.d.ts +79 -0
- package/dist/storage/storage__fallback.js +254 -0
- package/dist/storage/storage__local.d.ts +38 -0
- package/dist/storage/storage__local.js +219 -0
- package/dist/style.css +1 -0
- package/dist/tab-trap/tab-trap.d.ts +43 -0
- package/dist/tab-trap/tab-trap.js +180 -0
- package/dist/table/cell.d.ts +13 -0
- package/dist/table/cell.js +37 -0
- package/dist/table/disable-hover-hoc.d.ts +64 -0
- package/dist/table/disable-hover-hoc.js +62 -0
- package/dist/table/header-cell.d.ts +43 -0
- package/dist/table/header-cell.js +110 -0
- package/dist/table/header.d.ts +56 -0
- package/dist/table/header.js +153 -0
- package/dist/table/multitable.d.ts +25 -0
- package/dist/table/multitable.js +140 -0
- package/dist/table/row-with-focus-sensor.d.ts +18 -0
- package/dist/table/row-with-focus-sensor.js +119 -0
- package/dist/table/row.d.ts +59 -0
- package/dist/table/row.js +301 -0
- package/dist/table/selection-adapter.d.ts +5 -0
- package/dist/table/selection-adapter.js +14 -0
- package/dist/table/selection-shortcuts-hoc.d.ts +17 -0
- package/dist/table/selection-shortcuts-hoc.js +205 -0
- package/dist/table/selection.d.ts +47 -0
- package/dist/table/selection.js +257 -0
- package/dist/table/smart-table.d.ts +64 -0
- package/dist/table/smart-table.js +151 -0
- package/dist/table/table.d.ts +159 -0
- package/dist/table/table.js +465 -0
- package/dist/table-legacy-ng/table-legacy-ng.js +485 -0
- package/dist/table-legacy-ng/table-legacy-ng__pager.js +154 -0
- package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +115 -0
- package/dist/table-legacy-ng/table-legacy-ng__selection.js +195 -0
- package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +65 -0
- package/dist/table-ng/smart-table-ng.js +93 -0
- package/dist/table-ng/table-ng.js +92 -0
- package/dist/tabs/collapsible-more.d.ts +29 -0
- package/dist/tabs/collapsible-more.js +226 -0
- package/dist/tabs/collapsible-tab.d.ts +16 -0
- package/dist/tabs/collapsible-tab.js +95 -0
- package/dist/tabs/collapsible-tabs.d.ts +43 -0
- package/dist/tabs/collapsible-tabs.js +357 -0
- package/dist/tabs/custom-item.d.ts +9 -0
- package/dist/tabs/custom-item.js +11 -0
- package/dist/tabs/dumb-tabs.d.ts +35 -0
- package/dist/tabs/dumb-tabs.js +193 -0
- package/dist/tabs/smart-tabs.d.ts +20 -0
- package/dist/tabs/smart-tabs.js +144 -0
- package/dist/tabs/tab-link.d.ts +18 -0
- package/dist/tabs/tab-link.js +48 -0
- package/dist/tabs/tab.d.ts +27 -0
- package/dist/tabs/tab.js +41 -0
- package/dist/tabs/tabs.d.ts +7 -0
- package/dist/tabs/tabs.js +102 -0
- package/dist/tabs-ng/tabs-ng.js +187 -0
- package/dist/tabs-ng/tabs-ng__template.js +3 -0
- package/dist/tag/tag.d.ts +64 -0
- package/dist/tag/tag.js +214 -0
- package/dist/tags-input/tags-input.d.ts +165 -0
- package/dist/tags-input/tags-input.js +540 -0
- package/dist/tags-input-ng/tags-input-ng.js +125 -0
- package/dist/tags-list/tags-list.d.ts +46 -0
- package/dist/tags-list/tags-list.js +103 -0
- package/dist/template-ng/template-ng.js +68 -0
- package/dist/text/text.d.ts +23 -0
- package/dist/text/text.js +57 -0
- package/dist/title-ng/title-ng.js +108 -0
- package/dist/toggle/toggle.d.ts +39 -0
- package/dist/toggle/toggle.js +86 -0
- package/dist/toggle-ng/toggle-ng.js +27 -0
- package/dist/tooltip/tooltip.d.ts +65 -0
- package/dist/tooltip/tooltip.js +229 -0
- package/dist/tooltip-ng/tooltip-ng.js +120 -0
- package/dist/user-agreement/service.d.ts +67 -0
- package/dist/user-agreement/service.js +503 -0
- package/dist/user-agreement/toolbox.eula.d.ts +2 -0
- package/dist/user-agreement/toolbox.eula.js +3 -0
- package/dist/user-agreement/user-agreement.d.ts +61 -0
- package/dist/user-agreement/user-agreement.js +191 -0
- package/dist/user-card/card.d.ts +71 -0
- package/dist/user-card/card.js +82 -0
- package/dist/user-card/smart-user-card-tooltip.d.ts +20 -0
- package/dist/user-card/smart-user-card-tooltip.js +174 -0
- package/dist/user-card/tooltip.d.ts +36 -0
- package/dist/user-card/tooltip.js +146 -0
- package/dist/user-card/user-card.d.ts +11 -0
- package/dist/user-card/user-card.js +87 -0
- package/dist/user-card-ng/user-card-ng.js +97 -0
- package/package.json +1 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export default `<div
|
|
2
|
+
ng-show="dialog.active"
|
|
3
|
+
ng-class="[!dialog.inSidebar && dialog.dialogStyles.container]"
|
|
4
|
+
ng-click="dialog.handleClick($event)"
|
|
5
|
+
ng-attr-data-portaltarget="{{!dialog.inSidebar ? 'dialog-ng-popup-container' : null}}"
|
|
6
|
+
ng-attr-data-test="ring-dialog-container"
|
|
7
|
+
>
|
|
8
|
+
<div ng-class="[dialog.dialogStyles.innerContainer]">
|
|
9
|
+
<div data-anchor="dialog-container"
|
|
10
|
+
ng-attr-data-in-sidebar="{{dialog.inSidebar ? 'true' : 'false'}}"
|
|
11
|
+
ng-attr-data-test="{{dialog.active ? 'ring-dialog' : null}}"
|
|
12
|
+
ng-class="[
|
|
13
|
+
dialog.styles.dialogContainer,
|
|
14
|
+
dialog.cssClass,
|
|
15
|
+
dialog.wideDialog && dialog.styles.wide,
|
|
16
|
+
dialog.autoWidth && dialog.styles.autoWidth,
|
|
17
|
+
dialog.inSidebar && dialog.styles.inSidebar,
|
|
18
|
+
!dialog.inSidebar && dialog.dialogStyles.content,
|
|
19
|
+
!dialog.inSidebar && dialog.islandStyles.island
|
|
20
|
+
]"
|
|
21
|
+
>
|
|
22
|
+
<div ng-class="[dialog.islandStyles.header, dialog.styles.header]"
|
|
23
|
+
data-anchor="dialog-header"
|
|
24
|
+
ng-show="dialog.title">
|
|
25
|
+
<span ng-class="dialog.islandStyles.title">{{ dialog.title }}</span>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<div ng-class="[dialog.styles.scrollableWrapper, dialog.islandStyles.scrollableWrapper, dialog.scrollableWrapperClassName]">
|
|
29
|
+
<div ng-class="[dialog.styles.content, dialog.islandStyles.content]">
|
|
30
|
+
<form name="dialog.dialogForm" class="ring-form ring-js-shortcuts"
|
|
31
|
+
novalidate>
|
|
32
|
+
<rg-dialog-content></rg-dialog-content>
|
|
33
|
+
|
|
34
|
+
<div class="ring-form__group" ng-show="dialog.error">
|
|
35
|
+
<div ng-class="dialog.styles.error" ng-bind-html="dialog.error"></div>
|
|
36
|
+
</div>
|
|
37
|
+
</form>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<div ng-class="dialog.styles.footer"
|
|
42
|
+
ng-if="dialog.description.length || dialog.buttons.length">
|
|
43
|
+
<div ng-class="dialog.styles.footerDescription"
|
|
44
|
+
ng-if="dialog.description && dialog.description.length">
|
|
45
|
+
<div ng-repeat="line in dialog.description">{{ line }}</div>
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<div ng-class="dialog.styles.footerItems">
|
|
49
|
+
<rg-button
|
|
50
|
+
ng-repeat="button in dialog.buttons"
|
|
51
|
+
ng-class="[dialog.styles.footerItem , button.cssClasses]"
|
|
52
|
+
mode="{{button.default ? 'primary' : ''}}"
|
|
53
|
+
text="button.text"
|
|
54
|
+
ng-disabled="(button.default && dialog.dialogForm.$invalid) || button.disabled"
|
|
55
|
+
ng-if="!button.hidden"
|
|
56
|
+
data-test="dialog-footer-button"
|
|
57
|
+
|
|
58
|
+
rg-promised-click="dialog.action(button)"
|
|
59
|
+
promised-mode="loader"
|
|
60
|
+
>{{ button.label }}
|
|
61
|
+
</rg-button>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
|
|
65
|
+
<div data-anchor="dialog-custom-footer-container"></div>
|
|
66
|
+
|
|
67
|
+
<div tabindex="-1" ng-show="false" data-anchor="focus-trap-fallback"></div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</div>`;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@import "../global/variables.css";
|
|
2
|
+
|
|
3
|
+
@value unit from "../global/global.css";
|
|
4
|
+
|
|
5
|
+
.dockedPanel {
|
|
6
|
+
margin-top: calc(unit * 4);
|
|
7
|
+
padding-left: 0;
|
|
8
|
+
|
|
9
|
+
border-top: none;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.fixed.fixed {
|
|
13
|
+
position: fixed;
|
|
14
|
+
z-index: 2;
|
|
15
|
+
top: auto;
|
|
16
|
+
right: 0;
|
|
17
|
+
bottom: 0;
|
|
18
|
+
left: 0;
|
|
19
|
+
|
|
20
|
+
width: 100%;
|
|
21
|
+
margin-left: 0;
|
|
22
|
+
padding-top: 12px;
|
|
23
|
+
padding-bottom: 12px;
|
|
24
|
+
padding-left: calc(unit * 4);
|
|
25
|
+
|
|
26
|
+
border-top: 1px solid var(--ring-popup-border-color);
|
|
27
|
+
background-color: var(--ring-content-background-color);
|
|
28
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import angular from 'angular';
|
|
2
|
+
|
|
3
|
+
import scheduleRAF from '../global/schedule-raf';
|
|
4
|
+
import {getDocumentScrollTop, getWindowHeight} from '../global/dom';
|
|
5
|
+
|
|
6
|
+
import styles from './docked-panel-ng.css';
|
|
7
|
+
|
|
8
|
+
const scheduleAction = scheduleRAF();
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @name Docked Panel Ng
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const angularModule = angular.module('Ring.docked-panel', []);
|
|
15
|
+
|
|
16
|
+
angularModule.directive('rgDockedPanel', function rgDockedPanelDirective($parse) {
|
|
17
|
+
return {
|
|
18
|
+
link: function link(scope, element, attrs) {
|
|
19
|
+
const TOGGLE_GAP = 8;
|
|
20
|
+
const CSS_CLASS_NAME = styles.dockedPanel;
|
|
21
|
+
const DOCKED_CSS_CLASS_NAME = styles.fixed;
|
|
22
|
+
const dockedPanelClass = attrs.rgDockedPanelClass || '';
|
|
23
|
+
const config = attrs.rgDockedPanelConfig ? $parse(attrs.rgDockedPanelConfig)(scope) : null;
|
|
24
|
+
let initialPanelPos;
|
|
25
|
+
let isDocked;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Container
|
|
29
|
+
* @type {Element} panel
|
|
30
|
+
*/
|
|
31
|
+
const panel = element[0];
|
|
32
|
+
|
|
33
|
+
panel.classList.add(CSS_CLASS_NAME);
|
|
34
|
+
|
|
35
|
+
function getYPosition(node) {
|
|
36
|
+
const clientRect = node.getBoundingClientRect();
|
|
37
|
+
return clientRect.top + clientRect.height + getScrollContainerScrollTop();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Save panel initial rects and left margin and container-node for further use
|
|
42
|
+
*/
|
|
43
|
+
function saveInitialPos() {
|
|
44
|
+
initialPanelPos = getYPosition(panel);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function getInitialUndockedPosition() {
|
|
48
|
+
return (config || {}).container ? getYPosition(config.container) : initialPanelPos;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function getScrollContainerScrollTop() {
|
|
52
|
+
if (config && config.scrollContainer) {
|
|
53
|
+
return config.scrollContainer.scrollTop;
|
|
54
|
+
}
|
|
55
|
+
return getDocumentScrollTop();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function getScrollContainerHeight() {
|
|
59
|
+
if (config && config.scrollContainer) {
|
|
60
|
+
return config.scrollContainer.getBoundingClientRect().height;
|
|
61
|
+
}
|
|
62
|
+
return getWindowHeight();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function onBeforeDock() {
|
|
66
|
+
if (config) {
|
|
67
|
+
if (config.beforeDock) {
|
|
68
|
+
scope.$eval(config.beforeDock(element));
|
|
69
|
+
}
|
|
70
|
+
if (config.className) {
|
|
71
|
+
panel.classList.add(config.className);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function onBeforeUndock() {
|
|
77
|
+
if (config) {
|
|
78
|
+
if (config.beforeUndock) {
|
|
79
|
+
scope.$eval(config.beforeUndock(element));
|
|
80
|
+
}
|
|
81
|
+
if (config.className) {
|
|
82
|
+
panel.classList.remove(config.className);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Docks the panel to the bottom of the page
|
|
89
|
+
*/
|
|
90
|
+
function dock() {
|
|
91
|
+
onBeforeDock();
|
|
92
|
+
|
|
93
|
+
panel.classList.add(DOCKED_CSS_CLASS_NAME);
|
|
94
|
+
if (dockedPanelClass) {
|
|
95
|
+
panel.classList.add(dockedPanelClass);
|
|
96
|
+
}
|
|
97
|
+
isDocked = true;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function undock() {
|
|
101
|
+
onBeforeUndock();
|
|
102
|
+
|
|
103
|
+
panel.classList.remove(DOCKED_CSS_CLASS_NAME);
|
|
104
|
+
if (dockedPanelClass) {
|
|
105
|
+
panel.classList.remove(dockedPanelClass);
|
|
106
|
+
}
|
|
107
|
+
isDocked = false;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function onResize() {
|
|
111
|
+
if (config) {
|
|
112
|
+
if (config && config.onResize) {
|
|
113
|
+
scope.$eval(config.onResize(element, isDocked));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Check panel position
|
|
120
|
+
*/
|
|
121
|
+
function checkPanelPosition() {
|
|
122
|
+
const currentPanelRect = panel.getBoundingClientRect();
|
|
123
|
+
|
|
124
|
+
if (currentPanelRect.top + currentPanelRect.height > getScrollContainerHeight() &&
|
|
125
|
+
!isDocked) {
|
|
126
|
+
dock();
|
|
127
|
+
} else if (
|
|
128
|
+
isDocked &&
|
|
129
|
+
currentPanelRect.top + currentPanelRect.height +
|
|
130
|
+
getScrollContainerScrollTop() >= getInitialUndockedPosition() + TOGGLE_GAP
|
|
131
|
+
) {
|
|
132
|
+
undock();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
function init() {
|
|
137
|
+
const _onResize = () => {
|
|
138
|
+
checkPanelPosition();
|
|
139
|
+
onResize();
|
|
140
|
+
};
|
|
141
|
+
const scrollListener = () => scheduleAction(checkPanelPosition);
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Wait until all content on the page is loaded
|
|
145
|
+
*/
|
|
146
|
+
scope.$applyAsync(() => {
|
|
147
|
+
const scrollContainer = (config || {}).scrollContainer || window;
|
|
148
|
+
|
|
149
|
+
scrollContainer.addEventListener('scroll', scrollListener);
|
|
150
|
+
window.addEventListener('resize', _onResize);
|
|
151
|
+
|
|
152
|
+
scope.$on('$destroy', () => {
|
|
153
|
+
scrollContainer.removeEventListener('scroll', scrollListener);
|
|
154
|
+
window.removeEventListener('resize', _onResize);
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
scheduleAction(() => {
|
|
158
|
+
saveInitialPos();
|
|
159
|
+
checkPanelPosition();
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
init();
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
export default angularModule.name;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import angular from 'angular';
|
|
2
|
+
|
|
3
|
+
import angularDecorator, {APP_NAME} from '../../.storybook/angular-decorator';
|
|
4
|
+
|
|
5
|
+
import PanelNG from '../panel-ng/panel-ng';
|
|
6
|
+
import ButtonNG from '../button-ng/button-ng';
|
|
7
|
+
|
|
8
|
+
import DockedPanelNG from './docked-panel-ng';
|
|
9
|
+
|
|
10
|
+
export default {
|
|
11
|
+
title: 'Legacy Angular/Docked Panel Ng',
|
|
12
|
+
decorators: [angularDecorator()],
|
|
13
|
+
|
|
14
|
+
parameters: {
|
|
15
|
+
notes: 'Creates a panel docked at the bottom of the page.',
|
|
16
|
+
hermione: {skip: true}
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const basic = () => {
|
|
21
|
+
angular.module(APP_NAME, [ButtonNG, DockedPanelNG, PanelNG]);
|
|
22
|
+
|
|
23
|
+
return `
|
|
24
|
+
<div>
|
|
25
|
+
<textarea aria-label="Description" placeholder="Add description" rows="70" cols="100"></textarea>
|
|
26
|
+
</div>
|
|
27
|
+
<div rg-panel rg-docked-panel rg-docked-panel-class="customCssClass">
|
|
28
|
+
<rg-button mode="primary">Save</rg-button>
|
|
29
|
+
<rg-button >Cancel</rg-button>
|
|
30
|
+
</div>
|
|
31
|
+
<br/>
|
|
32
|
+
<div>
|
|
33
|
+
<textarea aria-label="Description" placeholder="Add steps" rows="10" cols="50"></textarea>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
`;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
basic.storyName = 'Docked Panel Ng';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { ButtonAttrs } from '../button/button';
|
|
4
|
+
declare const _default: React.MemoExoticComponent<{
|
|
5
|
+
({ children, className, ...restProps }: ButtonAttrs): React.JSX.Element;
|
|
6
|
+
propTypes: {
|
|
7
|
+
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
8
|
+
className: PropTypes.Requireable<string>;
|
|
9
|
+
};
|
|
10
|
+
}>;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React, { memo } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import chevronDown from '@jetbrains/icons/chevron-10px';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import Icon from '../icon/icon';
|
|
6
|
+
import Button from '../button/button';
|
|
7
|
+
import styles from './dropdown.css';
|
|
8
|
+
const Anchor = ({ children, className, ...restProps }) => (<Button data-test-ring-dropdown-anchor text className={classNames(styles.anchor, className)} {...restProps}>
|
|
9
|
+
{children}
|
|
10
|
+
<Icon glyph={chevronDown} className={styles.chevron}/>
|
|
11
|
+
</Button>);
|
|
12
|
+
Anchor.propTypes = {
|
|
13
|
+
children: PropTypes.node,
|
|
14
|
+
className: PropTypes.string
|
|
15
|
+
};
|
|
16
|
+
export default memo(Anchor);
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import React, { Component, HTMLAttributes, ReactNode, ReactElement } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { PopupAttrs } from '../popup/popup';
|
|
4
|
+
import Anchor from './anchor';
|
|
5
|
+
export interface AnchorProps {
|
|
6
|
+
active: boolean;
|
|
7
|
+
pinned: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface DropdownChildProps {
|
|
10
|
+
hidden: boolean;
|
|
11
|
+
onCloseAttempt: () => void;
|
|
12
|
+
onMouseDown?: () => void | undefined;
|
|
13
|
+
onContextMenu?: () => void | undefined;
|
|
14
|
+
dontCloseOnAnchorClick: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface DropdownProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
|
|
17
|
+
anchor: ReactElement | readonly ReactElement[] | string | ((props: AnchorProps) => ReactNode);
|
|
18
|
+
children: ReactElement<PopupAttrs> | ((props: Omit<PopupAttrs, 'children'>) => ReactNode);
|
|
19
|
+
initShown: boolean;
|
|
20
|
+
disabled?: boolean | null | undefined;
|
|
21
|
+
clickMode: boolean;
|
|
22
|
+
hoverMode: boolean;
|
|
23
|
+
hoverShowTimeOut: number;
|
|
24
|
+
hoverHideTimeOut: number;
|
|
25
|
+
onShow: (() => void);
|
|
26
|
+
onHide: (() => void);
|
|
27
|
+
activeClassName?: string | null | undefined;
|
|
28
|
+
'data-test'?: string | null | undefined;
|
|
29
|
+
}
|
|
30
|
+
interface DropdownState {
|
|
31
|
+
show: boolean;
|
|
32
|
+
pinned: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @name Dropdown
|
|
36
|
+
*/
|
|
37
|
+
export default class Dropdown extends Component<DropdownProps, DropdownState> {
|
|
38
|
+
static propTypes: {
|
|
39
|
+
/**
|
|
40
|
+
* Can be string, React element, or a function accepting an object with {active, pinned} properties and returning a React element
|
|
41
|
+
* React element should render some interactive HTML element like `button` or `a`
|
|
42
|
+
*/
|
|
43
|
+
anchor: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactNodeLike | ((...args: any[]) => any)>>>;
|
|
44
|
+
children: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactElementLike | ((...args: any[]) => any) | null | undefined>>>;
|
|
45
|
+
initShown: PropTypes.Requireable<boolean>;
|
|
46
|
+
className: PropTypes.Requireable<string>;
|
|
47
|
+
activeClassName: PropTypes.Requireable<string>;
|
|
48
|
+
clickMode: PropTypes.Requireable<boolean>;
|
|
49
|
+
hoverMode: PropTypes.Requireable<boolean>;
|
|
50
|
+
hoverShowTimeOut: PropTypes.Requireable<number>;
|
|
51
|
+
hoverHideTimeOut: PropTypes.Requireable<number>;
|
|
52
|
+
disabled: PropTypes.Requireable<boolean>;
|
|
53
|
+
onShow: PropTypes.Requireable<(...args: any[]) => any>;
|
|
54
|
+
onHide: PropTypes.Requireable<(...args: any[]) => any>;
|
|
55
|
+
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
56
|
+
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
|
|
57
|
+
'data-test': PropTypes.Requireable<string>;
|
|
58
|
+
};
|
|
59
|
+
static defaultProps: {
|
|
60
|
+
initShown: boolean;
|
|
61
|
+
clickMode: boolean;
|
|
62
|
+
hoverMode: boolean;
|
|
63
|
+
hoverShowTimeOut: number;
|
|
64
|
+
hoverHideTimeOut: number;
|
|
65
|
+
disabled: boolean;
|
|
66
|
+
onShow: () => void;
|
|
67
|
+
onHide: () => void;
|
|
68
|
+
onMouseEnter: () => void;
|
|
69
|
+
onMouseLeave: () => void;
|
|
70
|
+
};
|
|
71
|
+
state: {
|
|
72
|
+
show: boolean;
|
|
73
|
+
pinned: boolean;
|
|
74
|
+
};
|
|
75
|
+
onClick: () => void;
|
|
76
|
+
onChildCloseAttempt: () => void;
|
|
77
|
+
hoverTimer?: number | null;
|
|
78
|
+
onMouseEnter: (event: React.MouseEvent<HTMLElement>) => void;
|
|
79
|
+
onMouseLeave: (event: React.MouseEvent<HTMLElement>) => void;
|
|
80
|
+
handlePopupInteraction: () => void;
|
|
81
|
+
toggle(show?: boolean): void;
|
|
82
|
+
_toggle(show: boolean, pinned?: boolean): void;
|
|
83
|
+
_clearTimer(): void;
|
|
84
|
+
render(): React.JSX.Element;
|
|
85
|
+
}
|
|
86
|
+
export type DropdownAttrs = JSX.LibraryManagedAttributes<typeof Dropdown, DropdownProps>;
|
|
87
|
+
export { Anchor };
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import React, { cloneElement, Component } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import dataTests from '../global/data-tests';
|
|
5
|
+
import { isArray } from '../global/typescript-utils';
|
|
6
|
+
import Anchor from './anchor';
|
|
7
|
+
import styles from './dropdown.css';
|
|
8
|
+
/**
|
|
9
|
+
* @name Dropdown
|
|
10
|
+
*/
|
|
11
|
+
export default class Dropdown extends Component {
|
|
12
|
+
static propTypes = {
|
|
13
|
+
/**
|
|
14
|
+
* Can be string, React element, or a function accepting an object with {active, pinned} properties and returning a React element
|
|
15
|
+
* React element should render some interactive HTML element like `button` or `a`
|
|
16
|
+
*/
|
|
17
|
+
anchor: PropTypes.oneOfType([PropTypes.node, PropTypes.func]).isRequired,
|
|
18
|
+
children: PropTypes.oneOfType([PropTypes.element, PropTypes.func]).isRequired,
|
|
19
|
+
initShown: PropTypes.bool,
|
|
20
|
+
className: PropTypes.string,
|
|
21
|
+
activeClassName: PropTypes.string,
|
|
22
|
+
clickMode: PropTypes.bool,
|
|
23
|
+
hoverMode: PropTypes.bool,
|
|
24
|
+
hoverShowTimeOut: PropTypes.number,
|
|
25
|
+
hoverHideTimeOut: PropTypes.number,
|
|
26
|
+
disabled: PropTypes.bool,
|
|
27
|
+
onShow: PropTypes.func,
|
|
28
|
+
onHide: PropTypes.func,
|
|
29
|
+
onMouseEnter: PropTypes.func,
|
|
30
|
+
onMouseLeave: PropTypes.func,
|
|
31
|
+
'data-test': PropTypes.string
|
|
32
|
+
};
|
|
33
|
+
static defaultProps = {
|
|
34
|
+
initShown: false,
|
|
35
|
+
clickMode: true,
|
|
36
|
+
hoverMode: false,
|
|
37
|
+
hoverShowTimeOut: 300,
|
|
38
|
+
hoverHideTimeOut: 600,
|
|
39
|
+
disabled: false,
|
|
40
|
+
onShow: () => { },
|
|
41
|
+
onHide: () => { },
|
|
42
|
+
onMouseEnter: () => { },
|
|
43
|
+
onMouseLeave: () => { }
|
|
44
|
+
};
|
|
45
|
+
state = {
|
|
46
|
+
show: this.props.initShown,
|
|
47
|
+
pinned: false
|
|
48
|
+
};
|
|
49
|
+
onClick = () => {
|
|
50
|
+
if (this.props.disabled) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const { show, pinned } = this.state;
|
|
54
|
+
let nextPinned = pinned;
|
|
55
|
+
if (this.props.hoverMode) {
|
|
56
|
+
if (!pinned) {
|
|
57
|
+
nextPinned = true;
|
|
58
|
+
if (show) {
|
|
59
|
+
this.setState({ pinned: true });
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
nextPinned = false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
this._toggle(!show, nextPinned);
|
|
68
|
+
};
|
|
69
|
+
onChildCloseAttempt = () => {
|
|
70
|
+
let nextPinned = this.state.pinned;
|
|
71
|
+
if (this.props.hoverMode) {
|
|
72
|
+
nextPinned = false;
|
|
73
|
+
}
|
|
74
|
+
this._toggle(false, nextPinned);
|
|
75
|
+
};
|
|
76
|
+
hoverTimer;
|
|
77
|
+
onMouseEnter = (event) => {
|
|
78
|
+
if (this.props.disabled) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
this._clearTimer();
|
|
82
|
+
this.props.onMouseEnter?.(event);
|
|
83
|
+
this.hoverTimer = window.setTimeout(() => {
|
|
84
|
+
if (!this.state.show) {
|
|
85
|
+
this._toggle(true);
|
|
86
|
+
}
|
|
87
|
+
}, this.props.hoverShowTimeOut);
|
|
88
|
+
};
|
|
89
|
+
onMouseLeave = (event) => {
|
|
90
|
+
if (this.props.disabled) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
this.props.onMouseLeave?.(event);
|
|
94
|
+
if (this.state.pinned) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
this._clearTimer();
|
|
98
|
+
this.hoverTimer = window.setTimeout(() => {
|
|
99
|
+
if (this.state.show) {
|
|
100
|
+
this._toggle(false);
|
|
101
|
+
}
|
|
102
|
+
}, this.props.hoverHideTimeOut);
|
|
103
|
+
};
|
|
104
|
+
handlePopupInteraction = () => {
|
|
105
|
+
this.setState(({ pinned }) => (pinned ? null : { pinned: true }));
|
|
106
|
+
};
|
|
107
|
+
toggle(show = !this.state.show) {
|
|
108
|
+
this._toggle(show);
|
|
109
|
+
}
|
|
110
|
+
_toggle(show, pinned = this.state.pinned) {
|
|
111
|
+
this.setState({ show, pinned }, () => (show ? this.props.onShow() : this.props.onHide()));
|
|
112
|
+
}
|
|
113
|
+
_clearTimer() {
|
|
114
|
+
if (this.hoverTimer) {
|
|
115
|
+
clearTimeout(this.hoverTimer);
|
|
116
|
+
this.hoverTimer = null;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
render() {
|
|
120
|
+
const { show, pinned } = this.state;
|
|
121
|
+
const { initShown, onShow, onHide, hoverShowTimeOut, hoverHideTimeOut, children, anchor, className, activeClassName, hoverMode, clickMode, 'data-test': dataTest, disabled, ...restProps } = this.props;
|
|
122
|
+
const classes = classNames(styles.dropdown, className, {
|
|
123
|
+
[activeClassName ?? '']: activeClassName != null && show
|
|
124
|
+
});
|
|
125
|
+
let anchorElement;
|
|
126
|
+
const active = hoverMode ? pinned : show;
|
|
127
|
+
switch (typeof anchor) {
|
|
128
|
+
case 'string':
|
|
129
|
+
anchorElement = (<Anchor active={active}>{anchor}</Anchor>);
|
|
130
|
+
break;
|
|
131
|
+
case 'function':
|
|
132
|
+
anchorElement = anchor({ active: show, pinned });
|
|
133
|
+
break;
|
|
134
|
+
default:
|
|
135
|
+
if (isArray(anchor) || typeof anchor.type === 'string') {
|
|
136
|
+
anchorElement = anchor;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
anchorElement = cloneElement(anchor, { active });
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
const childProps = {
|
|
143
|
+
hidden: !show,
|
|
144
|
+
onCloseAttempt: this.onChildCloseAttempt,
|
|
145
|
+
onMouseDown: hoverMode ? this.handlePopupInteraction : undefined,
|
|
146
|
+
onContextMenu: hoverMode ? this.handlePopupInteraction : undefined,
|
|
147
|
+
dontCloseOnAnchorClick: true
|
|
148
|
+
};
|
|
149
|
+
return (<div data-test={dataTests('ring-dropdown', dataTest)} {...restProps} onClick={clickMode ? this.onClick : undefined}
|
|
150
|
+
// anchorElement should be a `button` or an `a`
|
|
151
|
+
role="presentation" onMouseEnter={hoverMode ? this.onMouseEnter : undefined} onMouseLeave={hoverMode ? this.onMouseLeave : undefined} className={classes}>
|
|
152
|
+
{anchorElement}
|
|
153
|
+
{typeof children === 'function'
|
|
154
|
+
? children(childProps)
|
|
155
|
+
: cloneElement(children, childProps)}
|
|
156
|
+
</div>);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
export { Anchor };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React, { ReactElement, ReactNodeArray, HTMLAttributes, SyntheticEvent } from 'react';
|
|
2
|
+
import { SelectHandlerParams } from '../list/list';
|
|
3
|
+
import { AnchorProps, DropdownAttrs } from '../dropdown/dropdown';
|
|
4
|
+
import PopupMenu, { PopupMenuAttrs } from '../popup-menu/popup-menu';
|
|
5
|
+
import { ListDataItem } from '../list/consts';
|
|
6
|
+
export interface DropdownAnchorWrapperProps extends AnchorProps {
|
|
7
|
+
anchor: ReactElement | ReactNodeArray | string | ((props: AnchorProps, ariaProps: HTMLAttributes<HTMLElement>) => ReactElement | null);
|
|
8
|
+
activeListItemId?: string | null | undefined;
|
|
9
|
+
listId?: string | undefined;
|
|
10
|
+
}
|
|
11
|
+
export interface DropdownMenuProps<T = unknown> extends Omit<DropdownAttrs, 'anchor' | 'onSelect' | 'children'> {
|
|
12
|
+
anchor: ReactElement | ReactNodeArray | string | ((props: AnchorProps, ariaProps: HTMLAttributes<HTMLElement>) => ReactElement | null);
|
|
13
|
+
data?: readonly ListDataItem<T>[] | undefined;
|
|
14
|
+
ariaLabel?: string | null | undefined;
|
|
15
|
+
onSelect?: ((item: ListDataItem<T>, event: Event | SyntheticEvent, params?: SelectHandlerParams) => void) | undefined;
|
|
16
|
+
menuProps?: PopupMenuAttrs<T> | null | undefined;
|
|
17
|
+
}
|
|
18
|
+
declare const _default: (<T = unknown>(props: DropdownMenuProps<T> & {
|
|
19
|
+
ref?: React.Ref<PopupMenu<unknown>> | undefined;
|
|
20
|
+
}) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null) & {
|
|
21
|
+
ListProps: {
|
|
22
|
+
Type: typeof import("../list/consts").Type;
|
|
23
|
+
Dimension: typeof import("../list/consts").Dimension;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export default _default;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React, { useMemo, cloneElement } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import List, { ActiveItemContext } from '../list/list';
|
|
4
|
+
import Dropdown from '../dropdown/dropdown';
|
|
5
|
+
import PopupMenu from '../popup-menu/popup-menu';
|
|
6
|
+
import getUID from '../global/get-uid';
|
|
7
|
+
import Anchor from '../dropdown/anchor';
|
|
8
|
+
import { isArray } from '../global/typescript-utils';
|
|
9
|
+
const { children, ...dropdownPropTypes } = Dropdown.propTypes || {};
|
|
10
|
+
const { id: idPropType, data: dataPropType, ariaLabel: ariaLabelPropType, onSelect: onSelectPropType } = PopupMenu.propTypes || {};
|
|
11
|
+
const defaultAriaLabel = 'Dropdown menu';
|
|
12
|
+
function DropdownAnchorWrapper({ anchor, pinned, active, activeListItemId, listId, ...restProps }) {
|
|
13
|
+
const anchorAriaProps = useMemo(() => ({
|
|
14
|
+
...(listId ? { 'aria-haspopup': true } : {}),
|
|
15
|
+
...(activeListItemId ? { 'aria-activedescendant': activeListItemId, 'aria-owns': listId } : {}),
|
|
16
|
+
...(active ? { 'aria-expanded': true } : {})
|
|
17
|
+
}), [active, activeListItemId, listId]);
|
|
18
|
+
const anchorProps = useMemo(() => ({ active, pinned, ...restProps, ...anchorAriaProps }), [pinned, active, restProps, anchorAriaProps]);
|
|
19
|
+
const anchorComponentProps = useMemo(() => ({ ...anchorProps, pinned: `${anchorProps.pinned}` }), [anchorProps]);
|
|
20
|
+
if (typeof anchor === 'string') {
|
|
21
|
+
return (<Anchor {...anchorComponentProps}>{anchor}</Anchor>);
|
|
22
|
+
}
|
|
23
|
+
if (typeof anchor === 'function') {
|
|
24
|
+
return anchor(({ active, pinned, ...restProps }), anchorAriaProps);
|
|
25
|
+
}
|
|
26
|
+
if (!isArray(anchor)) {
|
|
27
|
+
return cloneElement(anchor, typeof anchor.type === 'string' ? anchorAriaProps : anchorComponentProps);
|
|
28
|
+
}
|
|
29
|
+
return (<div {...anchorAriaProps}>{anchor}</div>);
|
|
30
|
+
}
|
|
31
|
+
DropdownAnchorWrapper.propTypes = {
|
|
32
|
+
anchor: PropTypes.oneOfType([PropTypes.node, PropTypes.string, PropTypes.func]).isRequired,
|
|
33
|
+
pinned: PropTypes.bool,
|
|
34
|
+
active: PropTypes.bool,
|
|
35
|
+
activeListItemId: PropTypes.string,
|
|
36
|
+
listId: PropTypes.string
|
|
37
|
+
};
|
|
38
|
+
const DropdownMenu = React.forwardRef(function DropdownMenu({ id, anchor, ariaLabel, data, onSelect, menuProps, ...restDropdownProps }, forwardedRef) {
|
|
39
|
+
const listId = useMemo(() => id || getUID('dropdown-menu-list'), [id]);
|
|
40
|
+
return (<ActiveItemContext.Provider>
|
|
41
|
+
<Dropdown anchor={({ pinned, active, ...restAnchorProps }) => (<ActiveItemContext.ValueContext.Consumer>
|
|
42
|
+
{activeItemId => (<DropdownAnchorWrapper anchor={anchor} pinned={pinned} active={active} activeListItemId={activeItemId} listId={listId} {...restAnchorProps}/>)}
|
|
43
|
+
</ActiveItemContext.ValueContext.Consumer>)} {...restDropdownProps}>
|
|
44
|
+
<PopupMenu ref={forwardedRef} id={listId} ariaLabel={ariaLabel || defaultAriaLabel} closeOnSelect activateFirstItem data={data} onSelect={onSelect} {...menuProps}/>
|
|
45
|
+
</Dropdown>
|
|
46
|
+
</ActiveItemContext.Provider>);
|
|
47
|
+
});
|
|
48
|
+
DropdownMenu.propTypes = {
|
|
49
|
+
id: idPropType,
|
|
50
|
+
data: dataPropType,
|
|
51
|
+
ariaLabel: ariaLabelPropType,
|
|
52
|
+
onSelect: onSelectPropType,
|
|
53
|
+
menuProps: PropTypes.object,
|
|
54
|
+
...dropdownPropTypes
|
|
55
|
+
};
|
|
56
|
+
export default Object.assign(DropdownMenu, { ListProps: List.ListProps });
|