@jetbrains/ring-ui 7.0.14 → 7.0.16

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.
Files changed (71) hide show
  1. package/README.md +7 -8
  2. package/components/alert/alert.css +1 -1
  3. package/components/auth-dialog-service/auth-dialog-service.d.ts +1 -1
  4. package/components/avatar/avatar.d.ts +1 -1
  5. package/components/button/button.css +152 -142
  6. package/components/button/button.d.ts +5 -1
  7. package/components/button/button.js +3 -3
  8. package/components/button/button__classes.d.ts +1 -1
  9. package/components/button/button__classes.js +6 -3
  10. package/components/button-group/button-group.css +11 -9
  11. package/components/button-group/button-group.js +4 -2
  12. package/components/checkbox/checkbox.css +1 -1
  13. package/components/confirm/confirm.d.ts +1 -1
  14. package/components/contenteditable/contenteditable.d.ts +1 -1
  15. package/components/data-list/data-list.css +1 -1
  16. package/components/date-picker/date-picker.css +2 -2
  17. package/components/date-picker/date-picker.d.ts +1 -1
  18. package/components/dialog/dialog.css +4 -20
  19. package/components/dialog/dialog.d.ts +1 -1
  20. package/components/dialog/dialog.js +15 -3
  21. package/components/dropdown/dropdown.d.ts +4 -2
  22. package/components/dropdown-menu/dropdown-menu.d.ts +7 -5
  23. package/components/dropdown-menu/dropdown-menu.js +19 -3
  24. package/components/editable-heading/editable-heading.css +1 -1
  25. package/components/error-message/error-message.css +1 -1
  26. package/components/global/focus-sensor-hoc.d.ts +1 -1
  27. package/components/global/variables.css +32 -20
  28. package/components/global/variables_dark.css +27 -15
  29. package/components/header/header.d.ts +1 -1
  30. package/components/header/profile.d.ts +2 -2
  31. package/components/icon/icon.css +4 -4
  32. package/components/icon/icon.d.ts +1 -1
  33. package/components/input/input-legacy.css +2 -2
  34. package/components/input/input.css +3 -3
  35. package/components/input/input.d.ts +1 -1
  36. package/components/link/link.css +1 -0
  37. package/components/list/list.css +1 -1
  38. package/components/list/list.d.ts +1 -1
  39. package/components/loader-inline/loader-inline.d.ts +1 -1
  40. package/components/login-dialog/login-dialog.d.ts +1 -1
  41. package/components/message/message.d.ts +1 -1
  42. package/components/pager/pager.d.ts +1 -1
  43. package/components/popup/popup.d.ts +2 -2
  44. package/components/popup-menu/popup-menu.d.ts +1 -1
  45. package/components/progress-bar/progress-bar.d.ts +1 -1
  46. package/components/query-assist/query-assist.css +4 -4
  47. package/components/query-assist/query-assist.d.ts +1 -1
  48. package/components/select/select-popup.css +1 -1
  49. package/components/select/select.css +1 -1
  50. package/components/select/select.d.ts +3 -3
  51. package/components/select/select__popup.d.ts +1 -1
  52. package/components/sidebar/sidebar.css +2 -2
  53. package/components/table/header.d.ts +1 -1
  54. package/components/table/row.d.ts +1 -1
  55. package/components/tabs/dumb-tabs.d.ts +2 -1
  56. package/components/tabs/tabs.css +2 -0
  57. package/components/tag/tag.css +2 -2
  58. package/components/tag/tag.d.ts +1 -1
  59. package/components/tag/tag.js +1 -1
  60. package/components/tags-input/tags-input.d.ts +1 -1
  61. package/components/tags-list/tags-list.d.ts +1 -1
  62. package/components/toggle/toggle.d.ts +1 -1
  63. package/components/tooltip/tooltip.d.ts +1 -1
  64. package/components/upload/upload.css +87 -0
  65. package/components/upload/upload.d.ts +19 -0
  66. package/components/upload/upload.js +38 -0
  67. package/components/user-agreement/user-agreement.d.ts +1 -1
  68. package/components/user-card/card.d.ts +1 -1
  69. package/components/user-card/tooltip.d.ts +1 -1
  70. package/components/user-card/user-card.css +3 -3
  71. package/package.json +16 -16
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { PureComponent } from 'react';
2
+ import { PureComponent, Children } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import dataTests from '../global/data-tests';
5
5
  import ControlLabel from '../control-label/control-label';
@@ -12,7 +12,9 @@ import styles from './button-group.css';
12
12
  export default class ButtonGroup extends PureComponent {
13
13
  render() {
14
14
  const { className, split, 'data-test': dataTest, label, help, ...restProps } = this.props;
15
- const classes = classNames(split ? styles.split : styles.buttonGroup, className);
15
+ const classes = classNames(split ? styles.split : styles.buttonGroup, className, {
16
+ [styles.disabled]: Children.toArray(this.props.children).every(child => child != null && typeof child === 'object' && 'props' in child && child.props.disabled),
17
+ });
16
18
  return (_jsxs(_Fragment, { children: [label && _jsx(ControlLabel, { children: label }), _jsx("div", { ...restProps, "data-test": dataTests('ring-button-group', dataTest), className: classes }), help && _jsx(ControlHelp, { className: styles.help, children: help })] }));
17
19
  }
18
20
  }
@@ -5,7 +5,7 @@
5
5
  }
6
6
 
7
7
  :global(.ring-ui-theme-dark) {
8
- --ring-checkbox-disabled-check-color: var(--ring-icon-color);
8
+ --ring-checkbox-disabled-check-color: var(--ring-disabled-color);
9
9
  }
10
10
 
11
11
  .checkbox {
@@ -33,4 +33,4 @@ export default class Confirm extends PureComponent<ConfirmProps> {
33
33
  onEscPress: () => void;
34
34
  render(): import("react/jsx-runtime").JSX.Element;
35
35
  }
36
- export type ConfirmAttributes = JSX.LibraryManagedAttributes<typeof Confirm, ConfirmProps>;
36
+ export type ConfirmAttributes = React.JSX.LibraryManagedAttributes<typeof Confirm, ConfirmProps>;
@@ -20,7 +20,7 @@ declare class ContentEditableBase extends Component<ContentEditableBaseProps> {
20
20
  componentDidUpdate(prevProps: ContentEditableBaseProps): void;
21
21
  render(): import("react/jsx-runtime").JSX.Element;
22
22
  }
23
- type ContentEditableBaseAttrs = JSX.LibraryManagedAttributes<typeof ContentEditableBase, ContentEditableBaseProps>;
23
+ type ContentEditableBaseAttrs = React.JSX.LibraryManagedAttributes<typeof ContentEditableBase, ContentEditableBaseProps>;
24
24
  export type ContentEditableProps = Omit<ContentEditableBaseAttrs, '__html'>;
25
25
  declare const ContentEditable: ({ children, ...props }: ContentEditableProps) => import("react/jsx-runtime").JSX.Element;
26
26
  export default ContentEditable;
@@ -75,7 +75,7 @@
75
75
  }
76
76
 
77
77
  .collapseIcon.collapseIcon {
78
- color: var(--ring-icon-secondary-color);
78
+ color: var(--ring-secondary-color);
79
79
  }
80
80
 
81
81
  .loadingOverlay {
@@ -115,7 +115,7 @@
115
115
  .calendarIcon {
116
116
  margin-right: calc(var(--ring-unit) / 2);
117
117
 
118
- color: var(--ring-icon-color);
118
+ color: var(--ring-secondary-color);
119
119
  }
120
120
 
121
121
  .anchor {
@@ -141,7 +141,7 @@
141
141
  .chevronDownIcon {
142
142
  margin-left: auto;
143
143
 
144
- color: var(--ring-icon-secondary-color);
144
+ color: var(--ring-secondary-color);
145
145
  }
146
146
 
147
147
  .fromInput {
@@ -47,4 +47,4 @@ export default class DatePicker extends PureComponent<DatePickerProps> {
47
47
  getAnchorText: () => string;
48
48
  render(): import("react/jsx-runtime").JSX.Element;
49
49
  }
50
- export type DatePickerAttrs = JSX.LibraryManagedAttributes<typeof DatePicker, DatePickerProps>;
50
+ export type DatePickerAttrs = React.JSX.LibraryManagedAttributes<typeof DatePicker, DatePickerProps>;
@@ -86,28 +86,12 @@
86
86
  color: var(--ring-icon-hover-color);
87
87
  }
88
88
 
89
- .clickableOverlay:hover + * .closeIconInside {
90
- color: var(--ring-icon-hover-color);
91
- }
92
-
93
- .clickableOverlay:hover + * .closeIconOutside {
94
- color: var(--ring-main-hover-color);
95
- }
96
-
97
- .closeButton:hover .closeIconInside {
98
- color: var(--ring-icon-hover-color);
99
- }
100
-
101
- .closeButton:hover .closeIconOutside {
102
- color: var(--ring-main-hover-color);
103
- }
104
-
105
- .clickableOverlay:active + * .closeIcon {
106
- color: var(--ring-main-color);
89
+ .clickableOverlay:hover + * .closeIcon {
90
+ color: var(--ring-link-hover-color);
107
91
  }
108
92
 
109
- .closeButton:active .closeIcon {
110
- color: var(--ring-main-color);
93
+ .closeButton:hover .closeIcon {
94
+ color: var(--ring-link-hover-color);
111
95
  }
112
96
 
113
97
  .closeButton.closeButton {
@@ -47,4 +47,4 @@ export default class Dialog extends PureComponent<DialogProps> {
47
47
  nativeDialog: React.RefObject<HTMLDialogElement>;
48
48
  render(): false | import("react/jsx-runtime").JSX.Element;
49
49
  }
50
- export type DialogAttrs = JSX.LibraryManagedAttributes<typeof Dialog, DialogProps>;
50
+ export type DialogAttrs = React.JSX.LibraryManagedAttributes<typeof Dialog, DialogProps>;
@@ -9,7 +9,8 @@ import dataTests from '../global/data-tests';
9
9
  import Shortcuts from '../shortcuts/shortcuts';
10
10
  import TabTrap from '../tab-trap/tab-trap';
11
11
  import Button from '../button/button';
12
- import { PopupTarget } from '../popup/popup.target';
12
+ import { PopupTarget, PopupTargetContext } from '../popup/popup.target';
13
+ import { getPopupContainer } from '../popup/popup';
13
14
  import { preventerFactory as scrollPreventerFactory } from './dialog__body-scroll-preventer';
14
15
  import styles from './dialog.css';
15
16
  /**
@@ -123,7 +124,18 @@ export default class Dialog extends PureComponent {
123
124
  if (native) {
124
125
  return (_jsx("dialog", { className: classNames(styles.nativeDialog, className), ref: this.nativeDialog, children: _jsx(PopupTarget, { id: this.uid, className: styles.popupTarget, children: target => (_jsxs(_Fragment, { children: [content, target] })) }) }));
125
126
  }
126
- return (show &&
127
- createPortal(_jsx(PopupTarget, { id: this.uid, className: styles.popupTarget, children: target => (_jsxs(TabTrap, { trapDisabled: !trapFocus, "data-test": dataTests('ring-dialog-container', dataTest), ref: this.dialogRef, className: classes, role: "presentation", ...restProps, children: [content, target] })) }), portalTarget instanceof HTMLElement ? portalTarget : document.body));
127
+ return (show && (_jsx(PopupTargetContext.Consumer, { children: contextTarget => {
128
+ let targetElement = document.body;
129
+ if (portalTarget instanceof HTMLElement) {
130
+ targetElement = portalTarget;
131
+ }
132
+ else if (contextTarget != null) {
133
+ const container = getPopupContainer(contextTarget);
134
+ if (container != null) {
135
+ targetElement = container;
136
+ }
137
+ }
138
+ return createPortal(_jsx(PopupTarget, { id: this.uid, className: styles.popupTarget, children: target => (_jsxs(TabTrap, { trapDisabled: !trapFocus, "data-test": dataTests('ring-dialog-container', dataTest), ref: this.dialogRef, className: classes, role: "presentation", ...restProps, children: [content, target] })) }), targetElement);
139
+ } })));
128
140
  }
129
141
  }
@@ -13,13 +13,15 @@ export interface DropdownChildProps {
13
13
  onContextMenu?: () => void | undefined;
14
14
  dontCloseOnAnchorClick: boolean;
15
15
  }
16
+ export type DropdownChildrenFunction = (props: Omit<PopupAttrs, 'children'>) => ReactNode;
17
+ export type DropdownChildren = ReactElement<PopupAttrs> | DropdownChildrenFunction;
16
18
  export interface DropdownProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
17
19
  /**
18
20
  * Can be string, React element, or a function accepting an object with {active, pinned} properties and returning a React element
19
21
  * React element should render some interactive HTML element like `button` or `a`
20
22
  */
21
23
  anchor: ReactElement | readonly ReactElement[] | string | ((props: AnchorProps) => ReactNode);
22
- children: ReactElement<PopupAttrs> | ((props: Omit<PopupAttrs, 'children'>) => ReactNode);
24
+ children: DropdownChildren;
23
25
  initShown: boolean;
24
26
  disabled?: boolean | null | undefined;
25
27
  clickMode: boolean;
@@ -66,5 +68,5 @@ export default class Dropdown extends Component<DropdownProps, DropdownState> {
66
68
  _clearTimer(): void;
67
69
  render(): import("react/jsx-runtime").JSX.Element;
68
70
  }
69
- export type DropdownAttrs = JSX.LibraryManagedAttributes<typeof Dropdown, DropdownProps>;
71
+ export type DropdownAttrs = React.JSX.LibraryManagedAttributes<typeof Dropdown, DropdownProps>;
70
72
  export { Anchor };
@@ -1,19 +1,21 @@
1
- import { ReactElement, ReactNodeArray, HTMLAttributes, SyntheticEvent, Ref } from 'react';
1
+ import { ReactElement, HTMLAttributes, SyntheticEvent, Ref, ReactNode } from 'react';
2
2
  import { SelectHandlerParams } from '../list/list';
3
- import { AnchorProps, DropdownAttrs } from '../dropdown/dropdown';
3
+ import { AnchorProps, DropdownAttrs, DropdownChildrenFunction } from '../dropdown/dropdown';
4
4
  import PopupMenu, { PopupMenuAttrs } from '../popup-menu/popup-menu';
5
5
  import { ListDataItem } from '../list/consts';
6
6
  export interface DropdownAnchorWrapperProps extends AnchorProps {
7
- anchor: ReactElement | ReactNodeArray | string | ((props: AnchorProps, ariaProps: HTMLAttributes<HTMLElement>) => ReactElement | null);
7
+ anchor: ReactElement | ReactNode[] | string | ((props: AnchorProps, ariaProps: HTMLAttributes<HTMLElement>) => ReactElement | null);
8
8
  activeListItemId?: string | null | undefined;
9
9
  listId?: string | undefined;
10
10
  }
11
+ type OnSelectHandler<T> = ((item: ListDataItem<T>, event: Event | SyntheticEvent, params?: SelectHandlerParams) => void) | undefined;
11
12
  export interface DropdownMenuProps<T = unknown> extends Omit<DropdownAttrs, 'anchor' | 'onSelect' | 'children'> {
12
- anchor: ReactElement | ReactNodeArray | string | ((props: AnchorProps, ariaProps: HTMLAttributes<HTMLElement>) => ReactElement | null);
13
+ anchor: ReactElement | ReactNode[] | string | ((props: AnchorProps, ariaProps: HTMLAttributes<HTMLElement>) => ReactElement | null);
13
14
  data?: readonly ListDataItem<T>[] | undefined;
14
15
  ariaLabel?: string | null | undefined;
15
- onSelect?: ((item: ListDataItem<T>, event: Event | SyntheticEvent, params?: SelectHandlerParams) => void) | undefined;
16
+ onSelect?: OnSelectHandler<T>;
16
17
  menuProps?: PopupMenuAttrs<T> | null | undefined;
18
+ children?: DropdownChildrenFunction;
17
19
  }
18
20
  declare const _default: (<T = unknown>(props: DropdownMenuProps<T> & {
19
21
  ref?: Ref<PopupMenu>;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef, useMemo, cloneElement, } from 'react';
2
+ import { forwardRef, useMemo, cloneElement } from 'react';
3
3
  import List, { ActiveItemContext } from '../list/list';
4
4
  import Dropdown from '../dropdown/dropdown';
5
5
  import PopupMenu from '../popup-menu/popup-menu';
@@ -26,8 +26,24 @@ function DropdownAnchorWrapper({ anchor, pinned, active, activeListItemId, listI
26
26
  }
27
27
  return _jsx("div", { ...anchorAriaProps, children: anchor });
28
28
  }
29
- const DropdownMenu = forwardRef(function DropdownMenu({ id, anchor, ariaLabel, data, onSelect, menuProps, ...restDropdownProps }, forwardedRef) {
29
+ function renderDropdownMenuChildren({ children, popupMenuProps }) {
30
+ if (!children) {
31
+ return _jsx(PopupMenu, { ...popupMenuProps });
32
+ }
33
+ return (popupProps) => children({ ...popupProps, ...popupMenuProps });
34
+ }
35
+ const DropdownMenu = forwardRef(function DropdownMenu({ id, anchor, ariaLabel, data, onSelect, menuProps, children, ...restDropdownProps }, forwardedRef) {
30
36
  const listId = useMemo(() => id || getUID('dropdown-menu-list'), [id]);
31
- return (_jsx(ActiveItemContext.Provider, { children: _jsx(Dropdown, { anchor: ({ pinned, active, ...restAnchorProps }) => (_jsx(ActiveItemContext.ValueContext.Consumer, { children: activeItemId => (_jsx(DropdownAnchorWrapper, { anchor: anchor, pinned: pinned, active: active, activeListItemId: activeItemId, listId: listId, ...restAnchorProps })) })), ...restDropdownProps, children: _jsx(PopupMenu, { ref: forwardedRef, id: listId, ariaLabel: ariaLabel || defaultAriaLabel, closeOnSelect: true, activateFirstItem: true, data: data, onSelect: onSelect, ...menuProps }) }) }));
37
+ const popupMenuProps = useMemo(() => ({
38
+ ref: forwardedRef,
39
+ id: listId,
40
+ ariaLabel: ariaLabel || defaultAriaLabel,
41
+ closeOnSelect: true,
42
+ activateFirstItem: true,
43
+ data,
44
+ onSelect,
45
+ ...menuProps,
46
+ }), [ariaLabel, data, forwardedRef, listId, menuProps, onSelect]);
47
+ return (_jsx(ActiveItemContext.Provider, { children: _jsx(Dropdown, { anchor: ({ pinned, active, ...restAnchorProps }) => (_jsx(ActiveItemContext.ValueContext.Consumer, { children: activeItemId => (_jsx(DropdownAnchorWrapper, { anchor: anchor, pinned: pinned, active: active, activeListItemId: activeItemId, listId: listId, ...restAnchorProps })) })), ...restDropdownProps, children: renderDropdownMenuChildren({ children, popupMenuProps }) }) }));
32
48
  });
33
49
  export default Object.assign(DropdownMenu, { ListProps: List.ListProps });
@@ -123,7 +123,7 @@
123
123
  margin-bottom: 1px;
124
124
 
125
125
  border-bottom-width: 2px;
126
- border-bottom-color: var(--ring-icon-error-color);
126
+ border-bottom-color: var(--ring-error-color);
127
127
  }
128
128
  }
129
129
 
@@ -33,5 +33,5 @@
33
33
  .icon {
34
34
  margin: 0 16px 24px 0;
35
35
 
36
- color: var(--ring-icon-secondary-color);
36
+ color: var(--ring-secondary-color);
37
37
  }
@@ -14,6 +14,6 @@ export interface FocusSensorAddProps<T extends HTMLElement> {
14
14
  onFocusRestore: () => void;
15
15
  }
16
16
  type RestProps<P, T extends HTMLElement> = Omit<P, keyof FocusSensorAddProps<T>>;
17
- export type FocusSensorProps<P extends FocusSensorAddProps<T>, T extends HTMLElement, C extends ComponentType<P>> = RestProps<JSX.LibraryManagedAttributes<C, P>, T> & FocusSensorOuterProps<T>;
17
+ export type FocusSensorProps<P extends FocusSensorAddProps<T>, T extends HTMLElement, C extends ComponentType<P>> = RestProps<React.JSX.LibraryManagedAttributes<C, P>, T> & FocusSensorOuterProps<T>;
18
18
  export default function focusSensorHOC<T extends HTMLElement, P extends FocusSensorAddProps<T>, C extends ComponentType<P>>(ComposedComponent: C): ComponentType<FocusSensorProps<P, T, typeof ComposedComponent>>;
19
19
  export {};
@@ -9,36 +9,48 @@
9
9
  --ring-line-color: rgb(var(--ring-line-components)); /* #dfe1e5 */
10
10
  --ring-borders-components: 211, 213, 219;
11
11
  --ring-borders-color: rgb(var(--ring-borders-components)); /* #d3d5db */
12
- --ring-icon-components: 129, 133, 148;
13
- --ring-icon-color: rgb(var(--ring-icon-components)); /* #818594 */
12
+ --ring-icon-components: 108, 112, 126;
13
+ --ring-icon-color: rgb(var(--ring-icon-components)); /* #6C707E */ /* TODO: remove in 8.0 in favor of --ring-secondary-color */
14
14
  --ring-icon-white-components: 255, 255, 255;
15
- --ring-icon-white-color: rgb(var(--ring-icon-white-components)); /* #FFFFFF */
16
- --ring-icon-secondary-components: 129, 133, 148;
17
- --ring-icon-secondary-color: rgb(var(--ring-icon-secondary-components)); /* #818594 */
15
+ --ring-icon-white-color: rgb(var(--ring-icon-white-components)); /* #FFFFFF */ /* TODO: remove in 8.0 in favor of --ring-white-text-color */
16
+ --ring-icon-secondary-components: 108, 112, 126;
17
+ --ring-icon-secondary-color: rgb(var(--ring-icon-secondary-components)); /* #6C707E */ /* TODO: remove in 8.0 in favor of --ring-secondary-color */
18
18
  --ring-border-disabled-components: 235, 236, 240;
19
19
  --ring-border-disabled-color: rgb(var(--ring-border-disabled-components)); /* #ebecf0 */
20
20
  --ring-border-selected-disabled-components: 201, 204, 214;
21
21
  --ring-border-selected-disabled-color: rgb(var(--ring-border-selected-disabled-components)); /* #c9ccd6 */
22
22
  --ring-border-disabled-active-components: 171, 213, 246;
23
23
  --ring-border-disabled-active-color: rgb(var(--ring-border-disabled-active-components)); /* #abd5f6 */
24
- --ring-icon-disabled-components: 211, 213, 219;
25
- --ring-icon-disabled-color: rgb(var(--ring-icon-disabled-components)); /* #d3d5db */
24
+ --ring-icon-disabled-components: 168, 173, 189;
25
+ --ring-icon-disabled-color: rgb(var(--ring-icon-disabled-components)); /* #A8ADBD */ /* TODO: remove in 8.0 in favor of --ring-disabled-color */
26
26
  --ring-border-hover-components: 160, 189, 248;
27
27
  --ring-border-hover-color: rgb(var(--ring-border-hover-components)); /* #a0bdf8 */
28
+ --ring-border-hover-success-components: 197, 229, 204;
29
+ --ring-border-hover-success-color: rgb(var(--ring-border-hover-success-components)); /* #C5E5CC */
30
+ --ring-border-hover-error-components: 250, 212, 216;
31
+ --ring-border-hover-error-color: rgb(var(--ring-border-hover-error-components)); /* #FAD4D8 */
28
32
  --ring-icon-hover-components: 90, 93, 107;
29
- --ring-icon-hover-color: rgb(var(--ring-icon-hover-components)); /* #5a5d6b */
33
+ --ring-icon-hover-color: rgb(var(--ring-icon-hover-components)); /* #5a5d6b */ /* TODO: remove in 8.0 */
30
34
  --ring-main-components: 53, 116, 240;
31
35
  --ring-main-color: rgb(var(--ring-main-components)); /* #3574f0 */
32
36
  --ring-action-link-components: 46, 85, 163;
33
- --ring-action-link-color: rgb(var(--ring-action-link-components)); /* #2E55A3 */
37
+ --ring-action-link-color: rgb(var(--ring-action-link-components)); /* #2E55A3 */ /* TODO: remove in 8.0 in favor of --ring-link-color */
34
38
  --ring-main-hover-components: 51, 105, 214;
35
39
  --ring-main-hover-color: rgb(var(--ring-main-hover-components)); /* #3369d6 */
36
- --ring-icon-error-components: 219, 59, 75;
37
- --ring-icon-error-color: rgb(var(--ring-icon-error-components)); /* #db3b4b */
38
- --ring-icon-warning-components: 255, 175, 15;
39
- --ring-icon-warning-color: rgb(var(--ring-icon-warning-components)); /* #ffaf0f */
40
- --ring-icon-success-components: 85, 167, 106;
41
- --ring-icon-success-color: rgb(var(--ring-icon-success-components)); /* #55a76a */
40
+ --ring-main-success-components: 32, 138, 60;
41
+ --ring-main-success-color: rgb(var(--ring-main-success-components)); /* #208A3C */
42
+ --ring-main-success-hover-components: 31, 128, 57;
43
+ --ring-main-success-hover-color: rgb(var(--ring-main-success-hover-components)); /* #1F8039 */
44
+ --ring-main-error-components: 204, 54, 69;
45
+ --ring-main-error-color: rgb(var(--ring-main-error-components)); /* #CC3645 */
46
+ --ring-main-error-hover-components: 188, 48, 62;
47
+ --ring-main-error-hover-color: rgb(var(--ring-main-error-hover-components)); /* #BC303E */
48
+ --ring-icon-error-components: 204, 54, 69;
49
+ --ring-icon-error-color: rgb(var(--ring-icon-error-components)); /* #CC3645 */ /* TODO: remove in 8.0 in favor of --ring-error-color */
50
+ --ring-icon-warning-components: 164, 103, 4;
51
+ --ring-icon-warning-color: rgb(var(--ring-icon-warning-components)); /* #A46704 */ /* TODO: remove in 8.0 in favor of --ring-warning-color */
52
+ --ring-icon-success-components: 31, 117, 54;
53
+ --ring-icon-success-color: rgb(var(--ring-icon-success-components)); /* #1F7536 */ /* TODO: remove in 8.0 in favor of --ring-success-color */
42
54
  --ring-pale-control-components: 194, 214, 252;
43
55
  --ring-pale-control-color: rgb(var(--ring-pale-control-components)); /* #C2D6FC */
44
56
  --ring-popup-border-components: 0, 28, 54;
@@ -48,9 +60,9 @@
48
60
  --ring-popup-secondary-shadow-color: rgba(var(--ring-popup-border-components), 0.04);
49
61
  --ring-message-shadow-color: rgba(var(--ring-popup-border-components), 0.3);
50
62
  --ring-pinned-shadow-components: 108, 112, 126;
51
- --ring-pinned-shadow-color: rgb(var(--ring-pinned-shadow-components)); /* #6C707E */
52
- --ring-button-danger-hover-components: var(--ring-icon-error-color);
53
- --ring-button-danger-hover-color: var(--ring-icon-error-color);
63
+ --ring-pinned-shadow-color: rgb(var(--ring-pinned-shadow-components)); /* #6C707E */ /* TODO remove in 8.0 */
64
+ --ring-button-danger-hover-components: 219, 59, 75;
65
+ --ring-button-danger-hover-color: rgb(var(--ring-button-danger-hover-components)); /* #DB3B4B */
54
66
  --ring-button-primary-border-components: 46, 85, 163;
55
67
  --ring-button-primary-border-color: rgb(var(--ring-button-primary-border-components)); /* #2E55A3 */
56
68
  --ring-dialog-overlay-components: 0, 0, 0;
@@ -62,7 +74,7 @@
62
74
  --ring-search-components: 112, 156, 245;
63
75
  --ring-search-color: rgb(var(--ring-search-components)); /* #709CF5 */
64
76
  --ring-hint-components: 46, 85, 163;
65
- --ring-hint-color: rgb(var(--ring-hint-components)); /* #2E55A3 */
77
+ --ring-hint-color: rgb(var(--ring-hint-components)); /* #2E55A3 */ /* TODO: remove in 8.0 */
66
78
  --ring-link-components: 46, 85, 163;
67
79
  --ring-link-color: rgb(var(--ring-link-components)); /* #2E55A3 */
68
80
  --ring-link-hover-components: 34, 60, 114;
@@ -115,7 +127,7 @@
115
127
  --ring-disabled-selected-background-color: rgb(var(--ring-disabled-selected-background-components)); /* #EBECF0 */
116
128
  --ring-button-danger-active-components: 250, 212, 216;
117
129
  --ring-button-danger-active-color: rgb(var(--ring-button-danger-active-components)); /* #FAD4D8 */
118
- --ring-button-loader-background: rgba(var(--ring-white-text-components), 0.4);
130
+ --ring-button-loader-background: rgba(var(--ring-white-text-components), 0.4); /* TODO remove in 8.0 */
119
131
  --ring-button-primary-background-components: 53, 116, 240;
120
132
  --ring-button-primary-background-color: rgb(var(--ring-button-primary-background-components)); /* #3574F0 */
121
133
  --ring-table-loader-background-color: rgba(var(--ring-content-background-components), 0.5); /* #FFFFFF50 */
@@ -7,39 +7,51 @@
7
7
  --ring-line-color: rgb(var(--ring-line-components)); /* #43454A */
8
8
  --ring-borders-components: 111, 115, 122;
9
9
  --ring-borders-color: rgb(var(--ring-borders-components)); /* #6F737A */
10
- --ring-icon-components: 134, 138, 145;
11
- --ring-icon-color: rgb(var(--ring-icon-components)); /* #868A91 */
12
- --ring-icon-secondary-components: 134, 138, 145;
13
- --ring-icon-secondary-color: rgb(var(--ring-icon-secondary-components)); /* #868A91 */
10
+ --ring-icon-components: 157, 160, 168;
11
+ --ring-icon-color: rgb(var(--ring-icon-components)); /* #9DA0A8 */ /* TODO: remove in 8.0 in favor of --ring-secondary-color */
12
+ --ring-icon-secondary-components: 157, 160, 168;
13
+ --ring-icon-secondary-color: rgb(var(--ring-icon-secondary-components)); /* #9DA0A8 */ /* TODO: remove in 8.0 in favor of --ring-secondary-color */
14
14
  --ring-border-disabled-components: 78, 81, 87;
15
15
  --ring-border-disabled-color: rgb(var(--ring-border-disabled-components)); /* #4E5157 */
16
16
  --ring-border-selected-disabled-components: 90, 93, 99;
17
17
  --ring-border-selected-disabled-color: rgb(var(--ring-border-selected-disabled-components)); /* #5A5D63 */
18
18
  --ring-border-disabled-active-components: 23, 73, 113;
19
19
  --ring-border-disabled-active-color: rgb(var(--ring-border-disabled-active-components)); /* #174971 */
20
- --ring-icon-disabled-components: 78, 81, 87;
21
- --ring-icon-disabled-color: rgb(var(--ring-icon-disabled-components)); /* #4E5157 */
20
+ --ring-icon-disabled-components: 111, 115, 122;
21
+ --ring-icon-disabled-color: rgb(var(--ring-icon-disabled-components)); /* #6F737A */ /* TODO: remove in 8.0 in favor of --ring-disabled-color */
22
22
  --ring-border-hover-components: 55, 95, 173;
23
23
  --ring-border-hover-color: rgb(var(--ring-border-hover-components)); /* #375FAD */
24
+ --ring-border-hover-success-components: 78, 128, 82;
25
+ --ring-border-hover-success-color: rgb(var(--ring-border-hover-success-components)); /* #4E8052 */
26
+ --ring-border-hover-error-components: 156, 78, 78;
27
+ --ring-border-hover-error-color: rgb(var(--ring-border-hover-error-components)); /* #9C4E4E */
24
28
  --ring-main-components: 53, 116, 240;
25
29
  --ring-main-color: rgb(var(--ring-main-components)); /* #3574F0 */
26
30
  --ring-action-link-components: 153, 187, 255;
27
- --ring-action-link-color: rgb(var(--ring-action-link-components)); /* #99BBFF */
31
+ --ring-action-link-color: rgb(var(--ring-action-link-components)); /* #99BBFF */ /* TODO: remove in 8.0 in favor of --ring-link-color */
28
32
  --ring-main-hover-components: 54, 106, 207;
29
33
  --ring-main-hover-color: rgb(var(--ring-main-hover-components)); /* #366ACF */
30
- --ring-icon-error-components: 219, 92, 92;
31
- --ring-icon-error-color: rgb(var(--ring-icon-error-components)); /* #DB5C5C */
32
- --ring-icon-warning-components: 214, 174, 88;
33
- --ring-icon-warning-color: rgb(var(--ring-icon-warning-components)); /* #D6AE58 */
34
- --ring-icon-success-components: 95, 173, 101;
35
- --ring-icon-success-color: rgb(var(--ring-icon-success-components)); /* #5FAD65 */
34
+ --ring-main-success-components: 87, 150, 92;
35
+ --ring-main-success-color: rgb(var(--ring-main-success-components)); /* #57965C */
36
+ --ring-main-success-hover-components: 78, 128, 82;
37
+ --ring-main-success-hover-color: rgb(var(--ring-main-success-hover-components)); /* #4E8052 */
38
+ --ring-main-error-components: 189, 87, 87;
39
+ --ring-main-error-color: rgb(var(--ring-main-error-components)); /* #BD5757 */
40
+ --ring-main-error-hover-components: 156, 78, 78;
41
+ --ring-main-error-hover-color: rgb(var(--ring-main-error-hover-components)); /* #9C4E4E */
42
+ --ring-icon-error-components: 227, 119, 116;
43
+ --ring-icon-error-color: rgb(var(--ring-icon-error-components)); /* #E37774 */ /* TODO: remove in 8.0 in favor of --ring-error-color */
44
+ --ring-icon-warning-components: 242, 197, 92;
45
+ --ring-icon-warning-color: rgb(var(--ring-icon-warning-components)); /* #F2C55C */ /* TODO: remove in 8.0 in favor of --ring-warning-color */
46
+ --ring-icon-success-components: 115, 189, 121;
47
+ --ring-icon-success-color: rgb(var(--ring-icon-success-components)); /* #73BD79 */ /* TODO: remove in 8.0 in favor of --ring-success-color */
36
48
  --ring-popup-border-components: 57, 59, 64;
37
49
  --ring-popup-border-color: rgb(var(--ring-popup-border-components)); /* #393B40 */
38
50
  --ring-popup-shadow-color: rgba(0, 0, 0, 0.31);
39
51
  --ring-popup-secondary-shadow-color: rgba(0, 0, 0, 0.37);
40
52
  --ring-message-shadow-color: rgba(var(--ring-popup-border-components), 0.3);
41
53
  --ring-pinned-shadow-components: 0, 0, 0;
42
- --ring-pinned-shadow-color: rgb(var(--ring-pinned-shadow-components)); /* #000 */
54
+ --ring-pinned-shadow-color: rgb(var(--ring-pinned-shadow-components)); /* #000 */ /* TODO remove in 8.0 */
43
55
  --ring-button-danger-hover-color: var(--ring-error-color);
44
56
  --ring-button-primary-border-components: 153, 187, 255;
45
57
  --ring-button-primary-border-color: rgb(var(--ring-button-primary-border-components)); /* #99BBFF */
@@ -50,7 +62,7 @@
50
62
 
51
63
  /* Text */
52
64
  --ring-hint-components: 134, 138, 145;
53
- --ring-hint-color: rgb(var(--ring-hint-components)); /* #868A91 */
65
+ --ring-hint-color: rgb(var(--ring-hint-components)); /* #868A91 */ /* TODO: remove in 8.0 */
54
66
  --ring-link-components: 153, 187, 255;
55
67
  --ring-link-color: rgb(var(--ring-link-components)); /* #99BBFF */
56
68
  --ring-link-hover-components: 107, 155, 250;
@@ -19,7 +19,7 @@ declare class Header extends Component<HeaderProps> {
19
19
  };
20
20
  render(): import("react/jsx-runtime").JSX.Element;
21
21
  }
22
- export type HeaderAttrs = JSX.LibraryManagedAttributes<typeof Header, HeaderProps>;
22
+ export type HeaderAttrs = React.JSX.LibraryManagedAttributes<typeof Header, HeaderProps>;
23
23
  export default Header;
24
24
  export { default as Logo } from './logo';
25
25
  export { default as Tray } from './tray';
@@ -13,7 +13,7 @@ export interface ProfileTranslations {
13
13
  logout?: string | null | undefined;
14
14
  certificateMismatch?: string | null | undefined;
15
15
  }
16
- export interface ProfileProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'> {
16
+ export interface ProfileProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect' | 'children'> {
17
17
  closeOnSelect: boolean;
18
18
  renderPopupItems: (items: ListDataItem[]) => readonly ListDataItem[];
19
19
  translations?: ProfileTranslations | null | undefined;
@@ -46,4 +46,4 @@ export default class Profile extends PureComponent<ProfileProps> {
46
46
  static Size: typeof Size;
47
47
  render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | null | undefined;
48
48
  }
49
- export type ProfileAttrs = JSX.LibraryManagedAttributes<typeof Profile, ProfileProps>;
49
+ export type ProfileAttrs = React.JSX.LibraryManagedAttributes<typeof Profile, ProfileProps>;
@@ -45,15 +45,15 @@
45
45
  }
46
46
 
47
47
  .gray {
48
- color: var(--ring-icon-secondary-color);
48
+ color: var(--ring-secondary-color);
49
49
  }
50
50
 
51
51
  .hover {
52
- color: var(--ring-icon-hover-color);
52
+ color: var(--ring-link-hover-color);
53
53
  }
54
54
 
55
55
  .green {
56
- color: var(--ring-icon-success-color);
56
+ color: var(--ring-success-color);
57
57
  }
58
58
 
59
59
  .magenta {
@@ -61,7 +61,7 @@
61
61
  }
62
62
 
63
63
  .red {
64
- color: var(--ring-icon-error-color);
64
+ color: var(--ring-error-color);
65
65
  }
66
66
 
67
67
  .blue {
@@ -28,5 +28,5 @@ export default class Icon extends PureComponent<IconProps> {
28
28
  } | undefined;
29
29
  render(): import("react/jsx-runtime").JSX.Element | null;
30
30
  }
31
- export type IconAttrs = JSX.LibraryManagedAttributes<typeof Icon, IconProps>;
31
+ export type IconAttrs = React.JSX.LibraryManagedAttributes<typeof Icon, IconProps>;
32
32
  export { Color, Size };
@@ -60,7 +60,7 @@ Input
60
60
  }
61
61
 
62
62
  .error & {
63
- border-color: var(--ring-icon-error-color);
63
+ border-color: var(--ring-error-color);
64
64
  }
65
65
 
66
66
  &:focus {
@@ -91,7 +91,7 @@ Input
91
91
  }
92
92
 
93
93
  :global(.ring-input_error) {
94
- border-color: var(--ring-icon-error-color);
94
+ border-color: var(--ring-error-color);
95
95
  }
96
96
 
97
97
  :global(.ring-input_filter-popup) {
@@ -61,7 +61,7 @@
61
61
  }
62
62
 
63
63
  .error & {
64
- border-color: var(--ring-icon-error-color);
64
+ border-color: var(--ring-error-color);
65
65
  }
66
66
 
67
67
  &:focus {
@@ -111,7 +111,7 @@
111
111
 
112
112
  pointer-events: none;
113
113
 
114
- color: var(--ring-icon-secondary-color);
114
+ color: var(--ring-secondary-color);
115
115
 
116
116
  [dir="rtl"] & {
117
117
  right: var(--ring-unit);
@@ -121,7 +121,7 @@
121
121
 
122
122
  .clear {
123
123
  position: absolute;
124
- top: calc(var(--ring-input-padding-block) + 1px);
124
+ top: calc(var(--ring-input-padding-block) + 3px);
125
125
  right: var(--ring-input-padding-inline);
126
126
 
127
127
  height: auto;
@@ -70,7 +70,7 @@ export declare class Input extends PureComponent<InputProps> {
70
70
  handleTextareaChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
71
71
  render(): import("react/jsx-runtime").JSX.Element;
72
72
  }
73
- export type ContainerProps<P extends InputProps> = JSX.LibraryManagedAttributes<typeof Input, P>;
73
+ export type ContainerProps<P extends InputProps> = React.JSX.LibraryManagedAttributes<typeof Input, P>;
74
74
  export type InputSpecificAttrs = ContainerProps<InputSpecificProps>;
75
75
  export type TextAreaSpecificAttrs = ContainerProps<TextAreaSpecificProps>;
76
76
  export type InputAttrs = InputSpecificAttrs | TextAreaSpecificAttrs;
@@ -6,6 +6,7 @@
6
6
  transition: color var(--ring-fast-ease);
7
7
 
8
8
  color: var(--ring-link-color);
9
+ border-radius: var(--ring-border-radius);
9
10
 
10
11
  outline: none;
11
12
 
@@ -225,7 +225,7 @@
225
225
 
226
226
  margin-right: var(--ring-unit);
227
227
 
228
- color: var(--ring-icon-secondary-color);
228
+ color: var(--ring-secondary-color);
229
229
  }
230
230
 
231
231
  .avatar {
@@ -166,4 +166,4 @@ export default class List<T = unknown> extends Component<ListProps<T>, ListState
166
166
  /** @override */
167
167
  render(): import("react/jsx-runtime").JSX.Element;
168
168
  }
169
- export type ListAttrs<T = unknown> = JSX.LibraryManagedAttributes<typeof List, ListProps<T>>;
169
+ export type ListAttrs<T = unknown> = React.JSX.LibraryManagedAttributes<typeof List, ListProps<T>>;
@@ -8,5 +8,5 @@ export interface LoaderInlineProps extends HTMLAttributes<HTMLDivElement> {
8
8
  declare class LoaderInline extends PureComponent<LoaderInlineProps> {
9
9
  render(): import("react/jsx-runtime").JSX.Element;
10
10
  }
11
- export type LoaderInlineAtrrs = JSX.LibraryManagedAttributes<typeof LoaderInline, LoaderInlineProps>;
11
+ export type LoaderInlineAtrrs = React.JSX.LibraryManagedAttributes<typeof LoaderInline, LoaderInlineProps>;
12
12
  export default LoaderInline;
@@ -33,4 +33,4 @@ export default class LoginDialog extends Component<LoginDialogProps> {
33
33
  onMessage: (event: MessageEvent) => void;
34
34
  render(): import("react/jsx-runtime").JSX.Element;
35
35
  }
36
- export type LoginDialogAttrs = JSX.LibraryManagedAttributes<typeof LoginDialog, LoginDialogProps>;
36
+ export type LoginDialogAttrs = React.JSX.LibraryManagedAttributes<typeof LoginDialog, LoginDialogProps>;
@@ -51,5 +51,5 @@ export default class Message extends Component<MessageProps> {
51
51
  getTailOffset(): number;
52
52
  render(): import("react/jsx-runtime").JSX.Element;
53
53
  }
54
- export type MessageAttrs = JSX.LibraryManagedAttributes<typeof Message, MessageProps>;
54
+ export type MessageAttrs = React.JSX.LibraryManagedAttributes<typeof Message, MessageProps>;
55
55
  export {};
@@ -76,5 +76,5 @@ export default class Pager extends PureComponent<PagerProps> {
76
76
  getPagerContent(): import("react/jsx-runtime").JSX.Element;
77
77
  render(): import("react/jsx-runtime").JSX.Element;
78
78
  }
79
- export type PagerAttrs = JSX.LibraryManagedAttributes<typeof Pager, PagerProps>;
79
+ export type PagerAttrs = React.JSX.LibraryManagedAttributes<typeof Pager, PagerProps>;
80
80
  export {};