@jetbrains/ring-ui-built 6.0.37 → 6.0.38

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.
@@ -4,7 +4,7 @@ import 'core-js/modules/es.set.js';
4
4
  import 'core-js/modules/web.dom-collections.iterator.js';
5
5
  import scrollbarWidth from 'scrollbar-width';
6
6
 
7
- var modules_5e9b8c03 = {"header":"header_rui_c019","light":"light_rui_2ac4","container":"container_rui_027b","innerContainer":"innerContainer_rui_027b","content":"content_rui_027b","panel":"panel_rui_027b","clickableOverlay":"clickableOverlay_rui_027b","closeIcon":"closeIcon_rui_027b","closeButton":"closeButton_rui_027b","closeButtonOutside":"closeButtonOutside_rui_027b","closeButtonInside":"closeButtonInside_rui_027b","documentWithoutScroll":"documentWithoutScroll_rui_027b","popupTarget":"popupTarget_rui_027b","dense":"dense_rui_027b"};
7
+ var modules_5e9b8c03 = {"header":"header_rui_c019","scrollableWrapper":"scrollableWrapper_rui_c019","light":"light_rui_2ac4","container":"container_rui_027b","nativeDialog":"nativeDialog_rui_027b","innerContainer":"innerContainer_rui_027b","content":"content_rui_027b","panel":"panel_rui_027b","clickableOverlay":"clickableOverlay_rui_027b","closeIcon":"closeIcon_rui_027b","closeButton":"closeButton_rui_027b","closeButtonOutside":"closeButtonOutside_rui_027b","closeButtonInside":"closeButtonInside_rui_027b","documentWithoutScroll":"documentWithoutScroll_rui_027b","popupTarget":"popupTarget_rui_027b","dense":"dense_rui_027b"};
8
8
 
9
9
  var isPrevented = new Set();
10
10
  var previousDocumentWidth = null;
@@ -10,7 +10,7 @@ import { Button } from '../button/button.js';
10
10
  import getUID from '../global/get-uid.js';
11
11
  import Icon from '../icon/icon.js';
12
12
  import { I18nContext } from '../i18n/i18n-context.js';
13
- import composeRefs from '../global/composeRefs.js';
13
+ import { createComposedRef } from '../global/composeRefs.js';
14
14
  import { ControlsHeightContext } from '../global/controls-height.js';
15
15
  import { ControlLabel } from '../control-label/control-label.js';
16
16
  import ControlHelp from '../control-help/control-help.js';
@@ -48,6 +48,7 @@ var Input = /*#__PURE__*/function (_PureComponent) {
48
48
  _defineProperty(_this, "inputRef", function (el) {
49
49
  _this.input = el;
50
50
  });
51
+ _defineProperty(_this, "composedInputRef", createComposedRef());
51
52
  _defineProperty(_this, "clear", function (e) {
52
53
  _this.props.onClear && _this.props.onClear(e);
53
54
  });
@@ -160,7 +161,7 @@ var Input = /*#__PURE__*/function (_PureComponent) {
160
161
  var inputClasses = classNames(modules_88cfaf40.input, inputClassName);
161
162
  var text = value != null ? value : children;
162
163
  var commonProps = {
163
- ref: composeRefs(this.inputRef, inputRef),
164
+ ref: this.composedInputRef(this.inputRef, inputRef),
164
165
  className: inputClasses,
165
166
  value: text,
166
167
  disabled,
@@ -23,6 +23,7 @@ import 'core-js/modules/es.object.to-string.js';
23
23
  import 'core-js/modules/es.weak-map.js';
24
24
  import 'core-js/modules/web.dom-collections.iterator.js';
25
25
  import 'core-js/modules/web.dom-collections.for-each.js';
26
+ import 'memoize-one';
26
27
 
27
28
  var modules_3199090e = {"checkboxSize":"14px","light":"light_rui_2ac4","checkbox":"checkbox_rui_219d","cell":"cell_rui_219d","icon":"icon_rui_219d","check":"check_rui_219d icon_rui_219d","minus":"minus_rui_219d icon_rui_219d","input":"input_rui_219d","cellWrapper":"cellWrapper_rui_219d","focus":"focus_rui_219d","label":"label_rui_219d"};
28
29
 
@@ -13,6 +13,7 @@ export interface ConfirmProps {
13
13
  onConfirm: ((event: React.MouseEvent<HTMLButtonElement>) => void);
14
14
  onReject: ((event?: React.MouseEvent<HTMLButtonElement>) => void);
15
15
  className?: string | undefined;
16
+ native?: boolean;
16
17
  }
17
18
  /**
18
19
  * @name Confirm
@@ -95,7 +95,8 @@ var Confirm = /*#__PURE__*/function (_PureComponent) {
95
95
  confirmLabel = _this$props.confirmLabel,
96
96
  rejectLabel = _this$props.rejectLabel,
97
97
  onConfirm = _this$props.onConfirm,
98
- onReject = _this$props.onReject;
98
+ onReject = _this$props.onReject,
99
+ native = _this$props.native;
99
100
  return /*#__PURE__*/jsxs(Dialog, {
100
101
  label: text || (typeof description === 'string' ? description : undefined),
101
102
  className: className,
@@ -103,6 +104,7 @@ var Confirm = /*#__PURE__*/function (_PureComponent) {
103
104
  show: show,
104
105
  trapFocus: true,
105
106
  "data-test": "ring-confirm",
107
+ native: native,
106
108
  children: [text && /*#__PURE__*/jsx(HeaderWrapper, {
107
109
  children: text
108
110
  }), description && /*#__PURE__*/jsx(ContentWrapper, {
@@ -18,6 +18,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
18
18
  import '../global/composeRefs.js';
19
19
  import 'core-js/modules/es.object.to-string.js';
20
20
  import 'core-js/modules/web.dom-collections.for-each.js';
21
+ import 'memoize-one';
21
22
  import '../table/selection.js';
22
23
  import 'core-js/modules/es.array.filter.js';
23
24
  import 'core-js/modules/es.array.index-of.js';
@@ -41,6 +41,7 @@ import '../global/focus-sensor-hoc.js';
41
41
  import '../global/prop-types.js';
42
42
  import '../global/composeRefs.js';
43
43
  import 'core-js/modules/web.dom-collections.for-each.js';
44
+ import 'memoize-one';
44
45
  import '../checkbox/checkbox.js';
45
46
  import '@jetbrains/icons/checkmark-12px';
46
47
  import '@jetbrains/icons/remove-12px';
@@ -12,6 +12,7 @@ import 'react/jsx-runtime';
12
12
  import '../global/composeRefs.js';
13
13
  import 'core-js/modules/es.object.to-string.js';
14
14
  import 'core-js/modules/web.dom-collections.for-each.js';
15
+ import 'memoize-one';
15
16
  import '@jetbrains/icons/checkmark-12px';
16
17
  import '@jetbrains/icons/remove-12px';
17
18
  import '../icon/icon.js';
@@ -34,6 +34,7 @@ import '../global/get-uid.js';
34
34
  import 'core-js/modules/es.regexp.to-string.js';
35
35
  import '../global/composeRefs.js';
36
36
  import 'core-js/modules/web.dom-collections.for-each.js';
37
+ import 'memoize-one';
37
38
  import '../control-label/control-label.js';
38
39
  import '../control-help/control-help.js';
39
40
  import '../i18n/i18n.js';
@@ -77,6 +77,7 @@ import '../_helpers/link.js';
77
77
  import '@jetbrains/icons/close-12px';
78
78
  import '../global/prop-types.js';
79
79
  import '../global/composeRefs.js';
80
+ import 'memoize-one';
80
81
  import '../control-label/control-label.js';
81
82
  import '../control-help/control-help.js';
82
83
  import '../i18n/i18n.js';
@@ -48,6 +48,7 @@ import '../i18n/i18n.js';
48
48
  import 'core-js/modules/es.set.js';
49
49
  import '../global/composeRefs.js';
50
50
  import 'core-js/modules/web.dom-collections.for-each.js';
51
+ import 'memoize-one';
51
52
  import '../control-label/control-label.js';
52
53
  import '../control-help/control-help.js';
53
54
  import 'date-fns/addMonths';
@@ -19,6 +19,8 @@ export interface DialogProps extends Partial<TabTrapProps> {
19
19
  portalTarget?: Element | null | undefined;
20
20
  'data-test'?: string | null | undefined;
21
21
  dense?: boolean | null | undefined;
22
+ native?: boolean;
23
+ modal?: boolean;
22
24
  }
23
25
  export default class Dialog extends PureComponent<DialogProps> {
24
26
  static propTypes: {
@@ -52,6 +54,7 @@ export default class Dialog extends PureComponent<DialogProps> {
52
54
  reset: () => void;
53
55
  };
54
56
  uid: string;
57
+ toggleNativeDialog(): void;
55
58
  toggleScrollPreventer(): void;
56
59
  handleClick: (event: React.MouseEvent<HTMLElement>) => void;
57
60
  onCloseClick: (event: React.MouseEvent<HTMLElement>) => void;
@@ -60,6 +63,7 @@ export default class Dialog extends PureComponent<DialogProps> {
60
63
  };
61
64
  dialog?: HTMLElement | null;
62
65
  dialogRef: (tabTrap: TabTrap | null) => void;
63
- render(): false | React.ReactPortal;
66
+ nativeDialog: React.RefObject<HTMLDialogElement>;
67
+ render(): false | React.JSX.Element;
64
68
  }
65
69
  export type DialogAttrs = JSX.LibraryManagedAttributes<typeof Dialog, DialogProps>;
@@ -1,6 +1,6 @@
1
1
  import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, d as _objectSpread2, e as _classCallCheck, f as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import 'core-js/modules/es.array.concat.js';
3
- import { PureComponent } from 'react';
3
+ import { PureComponent, createRef } from 'react';
4
4
  import { createPortal } from 'react-dom';
5
5
  import PropTypes from 'prop-types';
6
6
  import classNames from 'classnames';
@@ -13,7 +13,7 @@ import TabTrap from '../tab-trap/tab-trap.js';
13
13
  import { Button } from '../button/button.js';
14
14
  import { PopupTarget } from '../popup/popup.target.js';
15
15
  import { m as modules_5e9b8c03, p as preventerFactory } from '../_helpers/dialog__body-scroll-preventer.js';
16
- import { jsx, jsxs } from 'react/jsx-runtime';
16
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
17
17
  import '../island/adaptive-island-hoc.js';
18
18
  import '../global/linear-function.js';
19
19
  import '../_helpers/island.js';
@@ -60,7 +60,7 @@ import '../global/controls-height.js';
60
60
  import '../_helpers/button__classes.js';
61
61
  import 'scrollbar-width';
62
62
 
63
- var _excluded = ["show", "showCloseButton", "onOverlayClick", "onCloseAttempt", "onEscPress", "onCloseClick", "children", "className", "contentClassName", "trapFocus", "data-test", "closeButtonInside", "portalTarget", "label", "closeButtonTitle", "dense", "shortcutOptions"];
63
+ var _excluded = ["show", "showCloseButton", "onOverlayClick", "onCloseAttempt", "onEscPress", "onCloseClick", "children", "className", "contentClassName", "trapFocus", "data-test", "closeButtonInside", "portalTarget", "label", "closeButtonTitle", "dense", "shortcutOptions", "native", "modal"];
64
64
  function noop() {}
65
65
  var Dialog = /*#__PURE__*/function (_PureComponent) {
66
66
  function Dialog() {
@@ -98,17 +98,30 @@ var Dialog = /*#__PURE__*/function (_PureComponent) {
98
98
  _defineProperty(_this, "dialogRef", function (tabTrap) {
99
99
  _this.dialog = tabTrap && tabTrap.node;
100
100
  });
101
+ _defineProperty(_this, "nativeDialog", /*#__PURE__*/createRef());
101
102
  return _this;
102
103
  }
103
104
  _inherits(Dialog, _PureComponent);
104
105
  return _createClass(Dialog, [{
105
106
  key: "componentDidMount",
106
107
  value: function componentDidMount() {
108
+ var _this$props = this.props,
109
+ show = _this$props.show,
110
+ native = _this$props.native;
111
+ if (native && show) {
112
+ this.toggleNativeDialog();
113
+ }
107
114
  this.toggleScrollPreventer();
108
115
  }
109
116
  }, {
110
117
  key: "componentDidUpdate",
111
118
  value: function componentDidUpdate(prevProps) {
119
+ var _this$props2 = this.props,
120
+ show = _this$props2.show,
121
+ native = _this$props2.native;
122
+ if (native && show !== prevProps.show) {
123
+ this.toggleNativeDialog();
124
+ }
112
125
  if (prevProps.show !== this.props.show) {
113
126
  this.toggleScrollPreventer();
114
127
  }
@@ -118,6 +131,20 @@ var Dialog = /*#__PURE__*/function (_PureComponent) {
118
131
  value: function componentWillUnmount() {
119
132
  this.scrollPreventer.reset();
120
133
  }
134
+ }, {
135
+ key: "toggleNativeDialog",
136
+ value: function toggleNativeDialog() {
137
+ var _this$props3 = this.props,
138
+ show = _this$props3.show,
139
+ modal = _this$props3.modal;
140
+ if (this.nativeDialog.current != null) {
141
+ if (show) {
142
+ modal ? this.nativeDialog.current.showModal() : this.nativeDialog.current.show();
143
+ } else {
144
+ this.nativeDialog.current.close();
145
+ }
146
+ }
147
+ }
121
148
  }, {
122
149
  key: "toggleScrollPreventer",
123
150
  value: function toggleScrollPreventer() {
@@ -131,27 +158,78 @@ var Dialog = /*#__PURE__*/function (_PureComponent) {
131
158
  key: "render",
132
159
  value: function render() {
133
160
  var _this2 = this;
134
- var _this$props = this.props,
135
- show = _this$props.show,
136
- showCloseButton = _this$props.showCloseButton,
137
- onOverlayClick = _this$props.onOverlayClick,
138
- onCloseAttempt = _this$props.onCloseAttempt;
139
- _this$props.onEscPress;
140
- _this$props.onCloseClick;
141
- var _children = _this$props.children,
142
- className = _this$props.className,
143
- contentClassName = _this$props.contentClassName,
144
- trapFocus = _this$props.trapFocus,
145
- dataTest = _this$props['data-test'],
146
- closeButtonInside = _this$props.closeButtonInside,
147
- portalTarget = _this$props.portalTarget,
148
- label = _this$props.label,
149
- closeButtonTitle = _this$props.closeButtonTitle,
150
- dense = _this$props.dense;
151
- _this$props.shortcutOptions;
152
- var restProps = _objectWithoutProperties(_this$props, _excluded);
161
+ var _this$props4 = this.props,
162
+ show = _this$props4.show,
163
+ showCloseButton = _this$props4.showCloseButton,
164
+ onOverlayClick = _this$props4.onOverlayClick,
165
+ onCloseAttempt = _this$props4.onCloseAttempt;
166
+ _this$props4.onEscPress;
167
+ _this$props4.onCloseClick;
168
+ var children = _this$props4.children,
169
+ className = _this$props4.className,
170
+ contentClassName = _this$props4.contentClassName,
171
+ trapFocus = _this$props4.trapFocus,
172
+ dataTest = _this$props4['data-test'],
173
+ closeButtonInside = _this$props4.closeButtonInside,
174
+ portalTarget = _this$props4.portalTarget,
175
+ label = _this$props4.label,
176
+ closeButtonTitle = _this$props4.closeButtonTitle,
177
+ dense = _this$props4.dense;
178
+ _this$props4.shortcutOptions;
179
+ var native = _this$props4.native;
180
+ _this$props4.modal;
181
+ var restProps = _objectWithoutProperties(_this$props4, _excluded);
153
182
  var classes = classNames(modules_5e9b8c03.container, className);
154
183
  var shortcutsMap = this.getShortcutsMap();
184
+ var content = /*#__PURE__*/jsxs(Fragment, {
185
+ children: [/*#__PURE__*/jsx(Shortcuts, {
186
+ map: shortcutsMap,
187
+ scope: this.state.shortcutsScope,
188
+ options: this.props.shortcutOptions
189
+ }), (onOverlayClick !== noop || onCloseAttempt !== noop) && /*#__PURE__*/jsx("div", {
190
+ // click handler is duplicated in close button
191
+ role: "presentation",
192
+ className: modules_5e9b8c03.clickableOverlay,
193
+ onClick: this.handleClick
194
+ }), /*#__PURE__*/jsx("div", {
195
+ className: modules_5e9b8c03.innerContainer,
196
+ children: /*#__PURE__*/jsxs(AdaptiveIsland, {
197
+ className: classNames(modules_5e9b8c03.content, contentClassName, {
198
+ [modules_5e9b8c03.dense]: dense
199
+ }),
200
+ "data-test": "ring-dialog",
201
+ role: "dialog",
202
+ "aria-label": label,
203
+ children: [children, showCloseButton && /*#__PURE__*/jsx(Button, {
204
+ icon: closeIcon,
205
+ "data-test": "ring-dialog-close-button",
206
+ className: classNames(modules_5e9b8c03.closeButton, {
207
+ [modules_5e9b8c03.closeButtonOutside]: !closeButtonInside,
208
+ [modules_5e9b8c03.closeButtonInside]: closeButtonInside
209
+ }),
210
+ iconClassName: modules_5e9b8c03.closeIcon,
211
+ onClick: this.onCloseClick,
212
+ title: closeButtonTitle,
213
+ "aria-label": closeButtonTitle || 'close dialog'
214
+ })]
215
+ })
216
+ })]
217
+ });
218
+ if (native) {
219
+ return /*#__PURE__*/jsx("dialog", {
220
+ className: classNames(modules_5e9b8c03.nativeDialog, className),
221
+ ref: this.nativeDialog,
222
+ children: /*#__PURE__*/jsx(PopupTarget, {
223
+ id: this.uid,
224
+ className: modules_5e9b8c03.popupTarget,
225
+ children: function children(target) {
226
+ return /*#__PURE__*/jsxs(Fragment, {
227
+ children: [content, target]
228
+ });
229
+ }
230
+ })
231
+ });
232
+ }
155
233
  return show && /*#__PURE__*/createPortal( /*#__PURE__*/jsx(PopupTarget, {
156
234
  id: this.uid,
157
235
  className: modules_5e9b8c03.popupTarget,
@@ -163,38 +241,7 @@ var Dialog = /*#__PURE__*/function (_PureComponent) {
163
241
  className: classes,
164
242
  role: "presentation"
165
243
  }, restProps), {}, {
166
- children: [/*#__PURE__*/jsx(Shortcuts, {
167
- map: shortcutsMap,
168
- scope: _this2.state.shortcutsScope,
169
- options: _this2.props.shortcutOptions
170
- }), (onOverlayClick !== noop || onCloseAttempt !== noop) && /*#__PURE__*/jsx("div", {
171
- // click handler is duplicated in close button
172
- role: "presentation",
173
- className: modules_5e9b8c03.clickableOverlay,
174
- onClick: _this2.handleClick
175
- }), /*#__PURE__*/jsx("div", {
176
- className: modules_5e9b8c03.innerContainer,
177
- children: /*#__PURE__*/jsxs(AdaptiveIsland, {
178
- className: classNames(modules_5e9b8c03.content, contentClassName, {
179
- [modules_5e9b8c03.dense]: dense
180
- }),
181
- "data-test": "ring-dialog",
182
- role: "dialog",
183
- "aria-label": label,
184
- children: [_children, showCloseButton && /*#__PURE__*/jsx(Button, {
185
- icon: closeIcon,
186
- "data-test": "ring-dialog-close-button",
187
- className: classNames(modules_5e9b8c03.closeButton, {
188
- [modules_5e9b8c03.closeButtonOutside]: !closeButtonInside,
189
- [modules_5e9b8c03.closeButtonInside]: closeButtonInside
190
- }),
191
- iconClassName: modules_5e9b8c03.closeIcon,
192
- onClick: _this2.onCloseClick,
193
- title: closeButtonTitle,
194
- "aria-label": closeButtonTitle || 'close dialog'
195
- })]
196
- })
197
- }), target]
244
+ children: [content, target]
198
245
  }));
199
246
  }
200
247
  }), portalTarget instanceof HTMLElement ? portalTarget : document.body);
@@ -235,7 +282,8 @@ _defineProperty(Dialog, "defaultProps", {
235
282
  modal: false
236
283
  },
237
284
  trapFocus: false,
238
- autoFocusFirst: true
285
+ autoFocusFirst: true,
286
+ modal: true
239
287
  });
240
288
 
241
289
  export { Dialog as default };
@@ -37,6 +37,7 @@ import '../i18n/i18n.js';
37
37
  import 'core-js/modules/es.set.js';
38
38
  import '../global/composeRefs.js';
39
39
  import 'core-js/modules/web.dom-collections.for-each.js';
40
+ import 'memoize-one';
40
41
  import '../control-label/control-label.js';
41
42
  import '../control-help/control-help.js';
42
43
  import 'core-js/modules/es.regexp.to-string.js';
@@ -1,3 +1,3 @@
1
1
  import { Ref } from 'react';
2
- declare const _default: <T>(...refs: (Ref<T> | undefined)[]) => (value: T | null) => void;
3
- export default _default;
2
+ export default function composeRefs<T>(...refs: (Ref<T> | undefined)[]): (value: T | null) => void;
3
+ export declare function createComposedRef<T>(): import("memoize-one").MemoizedFn<(...refs: (Ref<T> | undefined)[]) => (value: T | null) => void>;
@@ -1,7 +1,8 @@
1
1
  import 'core-js/modules/es.object.to-string.js';
2
2
  import 'core-js/modules/web.dom-collections.for-each.js';
3
+ import memoizeOne from 'memoize-one';
3
4
 
4
- var composeRefs = (function () {
5
+ function composeRefs() {
5
6
  for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
6
7
  refs[_key] = arguments[_key];
7
8
  }
@@ -14,6 +15,9 @@ var composeRefs = (function () {
14
15
  }
15
16
  });
16
17
  };
17
- });
18
+ }
19
+ function createComposedRef() {
20
+ return memoizeOne(composeRefs);
21
+ }
18
22
 
19
- export { composeRefs as default };
23
+ export { createComposedRef, composeRefs as default };
@@ -7,6 +7,7 @@ import composeRefs from './composeRefs.js';
7
7
  import { jsx } from 'react/jsx-runtime';
8
8
  import 'core-js/modules/es.object.to-string.js';
9
9
  import 'core-js/modules/web.dom-collections.for-each.js';
10
+ import 'memoize-one';
10
11
 
11
12
  var _excluded = ["innerRef", "focused", "onFocusReset", "onFocusRestore"],
12
13
  _excluded2 = ["autofocus", "focused", "onFocus", "onBlur", "innerRef", "scrollOnTableFocus"];
@@ -5,6 +5,7 @@ import composeRefs from './composeRefs.js';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
  import 'core-js/modules/es.object.to-string.js';
7
7
  import 'core-js/modules/web.dom-collections.for-each.js';
8
+ import 'memoize-one';
8
9
 
9
10
  function rerenderHOC(ComposedComponent) {
10
11
  var Rerenderer = /*#__PURE__*/function (_Component) {
@@ -64,6 +64,7 @@ export declare class Input extends PureComponent<InputProps> {
64
64
  stretch(el: HTMLElement | null | undefined): void;
65
65
  adapt(): void;
66
66
  inputRef: (el: HTMLInputElement | HTMLTextAreaElement | null) => void;
67
+ composedInputRef: import("memoize-one").MemoizedFn<(...refs: (Ref<HTMLInputElement | HTMLTextAreaElement> | undefined)[]) => (value: HTMLInputElement | HTMLTextAreaElement | null) => void>;
67
68
  clear: (e: React.MouseEvent<HTMLButtonElement>) => void;
68
69
  handleInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
69
70
  handleTextareaChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
@@ -35,3 +35,4 @@ import 'core-js/modules/es.regexp.to-string.js';
35
35
  import '../i18n/i18n.js';
36
36
  import 'core-js/modules/es.set.js';
37
37
  import 'core-js/modules/web.dom-collections.for-each.js';
38
+ import 'memoize-one';
@@ -10,7 +10,7 @@ import { ScrollHandlerContext } from './adaptive-island-hoc.js';
10
10
  import { jsx, jsxs } from 'react/jsx-runtime';
11
11
  import '../global/linear-function.js';
12
12
 
13
- var _excluded = ["children", "className", "bottomBorder", "scrollableWrapperClassName", "onScroll", "onScrollToBottom", "fade"];
13
+ var _excluded = ["children", "className", "bottomBorder", "scrollableWrapperClassName", "onScroll", "onScrollToBottom", "fade", "tabIndex"];
14
14
  var scheduleScrollAction = scheduleRAF();
15
15
  var noop = function noop() {};
16
16
  var END_DISTANCE = 16;
@@ -91,6 +91,7 @@ var Content = /*#__PURE__*/function (_Component) {
91
91
  _this$props2.onScroll;
92
92
  _this$props2.onScrollToBottom;
93
93
  var fade = _this$props2.fade,
94
+ tabIndex = _this$props2.tabIndex,
94
95
  restProps = _objectWithoutProperties(_this$props2, _excluded);
95
96
  var _this$state = this.state,
96
97
  scrolledToTop = _this$state.scrolledToTop,
@@ -106,10 +107,7 @@ var Content = /*#__PURE__*/function (_Component) {
106
107
  "data-test": "ring-island-content",
107
108
  className: classes,
108
109
  children: /*#__PURE__*/jsxs("div", {
109
- // it has to be focusable because it can be scrollable
110
- // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
111
- tabIndex: 0,
112
- "data-scrollable-container": true,
110
+ tabIndex: tabIndex,
113
111
  className: scrollableWrapperClasses,
114
112
  ref: this.setScrollableNodeAndCalculatePosition,
115
113
  onScroll: fade ? this.calculateScrollPosition : noop,
@@ -37,6 +37,7 @@ import '@jetbrains/icons/checkmark-12px';
37
37
  import '@jetbrains/icons/remove-12px';
38
38
  import '../global/prop-types.js';
39
39
  import '../global/composeRefs.js';
40
+ import 'memoize-one';
40
41
  import '../control-help/control-help.js';
41
42
  import 'util-deprecate';
42
43
  import '../icon/icon__constants.js';
@@ -11,11 +11,11 @@ var MAJOR_VERSION_INDEX = 0;
11
11
  /**
12
12
  * SUPPORTED_BROWSERS are defined by Babel plugin, see babel config
13
13
  */
14
- if (!["and_chr 125", "chrome 125", "chrome 124", "chrome 123", "chrome 109", "edge 125", "edge 124", "ios_saf 17.4", "ios_saf 16.6-16.7", "op_mob 80", "safari 17.4", "samsung 25"]) {
14
+ if (!["and_chr 126", "chrome 125", "chrome 124", "chrome 123", "chrome 109", "edge 125", "edge 124", "ios_saf 17.4", "ios_saf 16.6-16.7", "op_mob 80", "safari 17.4", "samsung 25"]) {
15
15
  // eslint-disable-next-line no-console
16
16
  console.warn('Ring UI: no SUPPORTED_BROWSERS passed. Please check babel config.');
17
17
  }
18
- var SUPPORTED = ["and_chr 125", "chrome 125", "chrome 124", "chrome 123", "chrome 109", "edge 125", "edge 124", "ios_saf 17.4", "ios_saf 16.6-16.7", "op_mob 80", "safari 17.4", "samsung 25"] || [];
18
+ var SUPPORTED = ["and_chr 126", "chrome 125", "chrome 124", "chrome 123", "chrome 109", "edge 125", "edge 124", "ios_saf 17.4", "ios_saf 16.6-16.7", "op_mob 80", "safari 17.4", "samsung 25"] || [];
19
19
  var WHITE_LISTED_BROWSERS = ['chrome', 'firefox', 'safari', 'edge'];
20
20
  var WHITE_LIST = SUPPORTED.reduce(function (acc, item) {
21
21
  var _item$match;
@@ -35,6 +35,7 @@ import '../global/get-uid.js';
35
35
  import 'core-js/modules/es.regexp.to-string.js';
36
36
  import '../global/composeRefs.js';
37
37
  import 'core-js/modules/web.dom-collections.for-each.js';
38
+ import 'memoize-one';
38
39
  import '../control-label/control-label.js';
39
40
  import '../control-help/control-help.js';
40
41
  import 'sniffr';
@@ -50,7 +51,6 @@ import 'react-virtualized/dist/es/List';
50
51
  import 'react-virtualized/dist/es/AutoSizer';
51
52
  import 'react-virtualized/dist/es/WindowScroller';
52
53
  import 'react-virtualized/dist/es/CellMeasurer';
53
- import 'memoize-one';
54
54
  import '../global/data-tests.js';
55
55
  import 'core-js/modules/es.array.reduce.js';
56
56
  import 'core-js/modules/es.object.entries.js';