@jetbrains/ring-ui-built 6.0.32 → 6.0.33

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 (224) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +567 -1
  2. package/components/_helpers/anchor.js +6 -7
  3. package/components/_helpers/button__classes.js +14 -16
  4. package/components/_helpers/caption.js +20 -14
  5. package/components/_helpers/card.js +105 -95
  6. package/components/_helpers/dialog__body-scroll-preventer.js +19 -11
  7. package/components/_helpers/icon__svg.js +25 -22
  8. package/components/_helpers/input.js +177 -146
  9. package/components/_helpers/query-assist__suggestions.js +90 -74
  10. package/components/_helpers/select__filter.js +69 -48
  11. package/components/_helpers/services-link.js +37 -29
  12. package/components/_helpers/sidebar.js +107 -99
  13. package/components/_helpers/tab-link.js +7 -7
  14. package/components/_helpers/theme.js +40 -31
  15. package/components/_helpers/title.js +72 -57
  16. package/components/alert/alert.js +202 -150
  17. package/components/alert/container.js +41 -32
  18. package/components/alert-service/alert-service.js +170 -105
  19. package/components/analytics/analytics.js +22 -12
  20. package/components/analytics/analytics__custom-plugin.js +75 -54
  21. package/components/auth/auth.js +36 -4
  22. package/components/auth/auth__core.js +1471 -746
  23. package/components/auth/background-flow.js +127 -87
  24. package/components/auth/down-notification.js +73 -30
  25. package/components/auth/iframe-flow.js +133 -75
  26. package/components/auth/request-builder.js +82 -46
  27. package/components/auth/response-parser.js +116 -86
  28. package/components/auth/storage.js +334 -171
  29. package/components/auth/token-validator.js +242 -137
  30. package/components/auth/window-flow.js +134 -92
  31. package/components/auth-dialog/auth-dialog.js +172 -114
  32. package/components/auth-dialog-service/auth-dialog-service.js +31 -8
  33. package/components/avatar/avatar-example-datauri.js +1 -23
  34. package/components/avatar/avatar.js +152 -119
  35. package/components/avatar/fallback-avatar.js +38 -22
  36. package/components/badge/badge.js +45 -35
  37. package/components/button/button.js +107 -86
  38. package/components/button-group/button-group.js +33 -19
  39. package/components/button-set/button-set.js +32 -20
  40. package/components/button-toolbar/button-toolbar.js +31 -19
  41. package/components/caret/caret.js +220 -186
  42. package/components/checkbox/checkbox.js +101 -76
  43. package/components/clipboard/clipboard-fallback.js +10 -10
  44. package/components/clipboard/clipboard.js +132 -35
  45. package/components/code/code.js +166 -92
  46. package/components/collapse/collapse-content.js +64 -42
  47. package/components/collapse/collapse-context.js +2 -2
  48. package/components/collapse/collapse-control.js +14 -12
  49. package/components/collapse/collapse.js +17 -11
  50. package/components/collapse/consts.js +4 -4
  51. package/components/collapse/utils.js +3 -1
  52. package/components/confirm/confirm.js +104 -66
  53. package/components/confirm-service/confirm-service.js +59 -37
  54. package/components/content-layout/content-layout.js +64 -43
  55. package/components/content-layout/sidebar.js +1 -0
  56. package/components/contenteditable/contenteditable.js +59 -50
  57. package/components/control-label/control-label.js +9 -9
  58. package/components/data-list/data-list.js +182 -129
  59. package/components/data-list/data-list.mock.js +6 -2
  60. package/components/data-list/item.js +170 -143
  61. package/components/data-list/selection.js +136 -76
  62. package/components/data-list/title.js +12 -1
  63. package/components/date-picker/consts.js +26 -19
  64. package/components/date-picker/date-input.js +144 -113
  65. package/components/date-picker/date-picker.js +282 -227
  66. package/components/date-picker/date-popup.js +395 -350
  67. package/components/date-picker/day.js +116 -87
  68. package/components/date-picker/month-names.js +66 -43
  69. package/components/date-picker/month-slider.js +76 -51
  70. package/components/date-picker/month.js +25 -16
  71. package/components/date-picker/months.js +50 -43
  72. package/components/date-picker/weekdays.js +22 -12
  73. package/components/date-picker/years.js +110 -83
  74. package/components/dialog/dialog.js +190 -142
  75. package/components/dialog/dialog__body-scroll-preventer.js +4 -0
  76. package/components/dropdown/anchor.js +9 -0
  77. package/components/dropdown/dropdown.js +213 -182
  78. package/components/dropdown-menu/dropdown-menu.js +97 -71
  79. package/components/editable-heading/editable-heading.js +127 -75
  80. package/components/error-bubble/error-bubble.js +60 -31
  81. package/components/error-message/error-message.js +59 -39
  82. package/components/footer/footer.js +30 -27
  83. package/components/global/compose.js +10 -1
  84. package/components/global/composeRefs.js +12 -7
  85. package/components/global/controls-height.js +2 -2
  86. package/components/global/create-stateful-context.js +15 -15
  87. package/components/global/data-tests.js +14 -6
  88. package/components/global/dom.js +86 -47
  89. package/components/global/focus-sensor-hoc.js +132 -122
  90. package/components/global/fuzzy-highlight.js +36 -22
  91. package/components/global/get-event-key.js +8 -8
  92. package/components/global/get-uid.js +8 -4
  93. package/components/global/inject-styles.js +15 -10
  94. package/components/global/listeners.js +51 -27
  95. package/components/global/memoize.js +12 -6
  96. package/components/global/normalize-indent.js +50 -19
  97. package/components/global/promise-with-timeout.js +8 -6
  98. package/components/global/prop-types.js +5 -3
  99. package/components/global/react-dom-renderer.js +44 -28
  100. package/components/global/react-render-adapter.js +1 -1
  101. package/components/global/rerender-hoc.js +30 -12
  102. package/components/global/schedule-raf.js +6 -5
  103. package/components/global/sniffer.js +1 -1
  104. package/components/global/theme.js +22 -0
  105. package/components/global/trivial-template-tag.js +10 -3
  106. package/components/global/typescript-utils.js +6 -2
  107. package/components/global/url.js +26 -20
  108. package/components/global/use-event-callback.js +4 -6
  109. package/components/grid/col.js +52 -35
  110. package/components/grid/grid.js +31 -17
  111. package/components/grid/row.js +47 -35
  112. package/components/group/group.js +25 -17
  113. package/components/header/header.js +78 -33
  114. package/components/header/logo.js +36 -20
  115. package/components/header/profile.js +199 -166
  116. package/components/header/services-link.js +4 -0
  117. package/components/header/services.js +116 -73
  118. package/components/header/smart-profile.js +203 -111
  119. package/components/header/smart-services.js +113 -62
  120. package/components/header/tray-icon.js +37 -21
  121. package/components/header/tray.js +32 -21
  122. package/components/heading/heading.js +25 -24
  123. package/components/http/http.js +353 -203
  124. package/components/http/http.mock.js +101 -49
  125. package/components/hub-source/hub-source.js +190 -83
  126. package/components/hub-source/hub-source__user.js +44 -11
  127. package/components/hub-source/hub-source__users-groups.js +65 -37
  128. package/components/i18n/i18n-context.js +10 -7
  129. package/components/i18n/i18n.js +10 -7
  130. package/components/icon/icon.js +93 -76
  131. package/components/icon/icon__svg.js +8 -0
  132. package/components/icon/index.js +8 -0
  133. package/components/input/input.js +13 -0
  134. package/components/island/adaptive-island-hoc.js +43 -30
  135. package/components/island/content.js +132 -115
  136. package/components/island/header.js +70 -57
  137. package/components/island/island.js +40 -28
  138. package/components/island-legacy/content-legacy.js +25 -17
  139. package/components/island-legacy/header-legacy.js +27 -19
  140. package/components/island-legacy/island-legacy.js +25 -17
  141. package/components/link/clickableLink.js +59 -44
  142. package/components/link/link.js +68 -57
  143. package/components/list/consts.js +2 -2
  144. package/components/list/list.js +698 -611
  145. package/components/list/list__custom.js +62 -44
  146. package/components/list/list__hint.js +19 -10
  147. package/components/list/list__item.js +174 -133
  148. package/components/list/list__link.js +50 -37
  149. package/components/list/list__separator.js +24 -14
  150. package/components/list/list__title.js +32 -22
  151. package/components/list/list__users-groups-source.js +126 -54
  152. package/components/loader/loader.js +74 -43
  153. package/components/loader/loader__core.js +263 -198
  154. package/components/loader-inline/loader-inline.js +35 -23
  155. package/components/loader-screen/loader-screen.js +46 -25
  156. package/components/login-dialog/login-dialog.js +158 -111
  157. package/components/login-dialog/service.js +34 -8
  158. package/components/markdown/markdown.js +23 -15
  159. package/components/message/message.js +203 -161
  160. package/components/old-browsers-message/old-browsers-message.js +18 -11
  161. package/components/old-browsers-message/old-browsers-message__stop.js +7 -0
  162. package/components/old-browsers-message/white-list.js +16 -8
  163. package/components/pager/pager.js +271 -212
  164. package/components/panel/panel.js +25 -17
  165. package/components/permissions/permissions.js +172 -127
  166. package/components/permissions/permissions__cache.js +224 -194
  167. package/components/popup/popup.consts.js +1 -1
  168. package/components/popup/popup.js +343 -284
  169. package/components/popup/popup.target.js +8 -9
  170. package/components/popup/position.js +106 -96
  171. package/components/popup-menu/popup-menu.js +81 -44
  172. package/components/progress-bar/progress-bar.js +104 -87
  173. package/components/query-assist/query-assist.js +916 -838
  174. package/components/query-assist/query-assist__suggestions.js +30 -1
  175. package/components/radio/radio.js +34 -19
  176. package/components/radio/radio__item.js +69 -52
  177. package/components/select/select.js +957 -852
  178. package/components/select/select__filter.js +30 -0
  179. package/components/select/select__popup.js +487 -373
  180. package/components/shortcuts/core.js +217 -166
  181. package/components/shortcuts/shortcut-title.js +11 -6
  182. package/components/shortcuts/shortcuts-hoc.js +45 -19
  183. package/components/shortcuts/shortcuts.js +75 -50
  184. package/components/slider/slider.js +122 -99
  185. package/components/slider/slider.utils.js +24 -14
  186. package/components/storage/storage.js +33 -4
  187. package/components/storage/storage__fallback.js +224 -149
  188. package/components/storage/storage__local.js +153 -90
  189. package/components/tab-trap/tab-trap.js +153 -122
  190. package/components/table/cell.js +26 -14
  191. package/components/table/disable-hover-hoc.js +51 -33
  192. package/components/table/header-cell.js +89 -64
  193. package/components/table/header.js +132 -104
  194. package/components/table/multitable.js +125 -107
  195. package/components/table/row-with-focus-sensor.js +69 -25
  196. package/components/table/row.js +216 -175
  197. package/components/table/selection-adapter.js +3 -1
  198. package/components/table/selection-shortcuts-hoc.js +181 -180
  199. package/components/table/selection.js +226 -156
  200. package/components/table/smart-table.js +88 -50
  201. package/components/table/table.js +358 -289
  202. package/components/tabs/collapsible-more.js +79 -46
  203. package/components/tabs/collapsible-tab.js +38 -31
  204. package/components/tabs/collapsible-tabs.js +153 -88
  205. package/components/tabs/custom-item.js +2 -4
  206. package/components/tabs/dumb-tabs.js +117 -74
  207. package/components/tabs/smart-tabs.js +69 -29
  208. package/components/tabs/tab-link.js +5 -1
  209. package/components/tabs/tab.js +31 -19
  210. package/components/tabs/tabs.js +31 -0
  211. package/components/tag/tag.js +173 -133
  212. package/components/tags-input/tags-input.js +427 -329
  213. package/components/tags-list/tags-list.js +78 -57
  214. package/components/text/text.js +39 -28
  215. package/components/toggle/toggle.js +70 -56
  216. package/components/tooltip/tooltip.js +190 -146
  217. package/components/user-agreement/service.js +371 -228
  218. package/components/user-agreement/toolbox.eula.js +1 -160
  219. package/components/user-agreement/user-agreement.js +120 -85
  220. package/components/user-card/card.js +29 -0
  221. package/components/user-card/smart-user-card-tooltip.js +111 -51
  222. package/components/user-card/tooltip.js +84 -47
  223. package/components/user-card/user-card.js +29 -0
  224. package/package.json +1 -1
@@ -1,224 +1,258 @@
1
+ import { _ as _defineProperty, b as _createClass, f as _classCallCheck } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.object.to-string.js';
3
+ import 'core-js/modules/es.regexp.exec.js';
4
+ import 'core-js/modules/es.regexp.to-string.js';
5
+ import 'core-js/modules/es.string.replace.js';
1
6
  import { getRect } from '../global/dom.js';
7
+ import 'core-js/modules/es.array.filter.js';
8
+ import 'core-js/modules/es.array.iterator.js';
9
+ import 'core-js/modules/es.object.assign.js';
10
+ import 'core-js/modules/es.object.entries.js';
11
+ import 'core-js/modules/es.set.js';
12
+ import 'core-js/modules/es.string.split.js';
13
+ import 'core-js/modules/web.dom-collections.for-each.js';
14
+ import 'core-js/modules/web.dom-collections.iterator.js';
2
15
 
3
16
  /**
4
17
  * @name Caret
5
18
  */
6
- class Caret {
7
- /**
8
- * Line endings RegExp
9
- * @type {RegExp}
10
- */
11
- static returnRE = /\r/g;
12
- /**
13
- * Line endings normalizer
14
- * Borrowed from jQuery
15
- * @see https://github.com/jquery/jquery/blob/master/src/attributes/val.js
16
- * @param value {*}
17
- * @return {*}
18
- */
19
- static normalizeNewlines(value) {
20
- return typeof value === 'string' ? value.replace(this.returnRE, '') : value;
21
- }
22
- target;
23
- constructor(target) {
19
+ var Caret = /*#__PURE__*/function () {
20
+ function Caret(target) {
21
+ _classCallCheck(this, Caret);
22
+ _defineProperty(this, "target", void 0);
24
23
  this.target = target;
25
24
  }
26
- isContentEditable() {
27
- return this.target.contentEditable === 'true';
28
- }
29
- /**
30
- * Set focus on target if possible
31
- */
32
- focus() {
33
- if (!document.activeElement || document.activeElement !== this.target) {
34
- this.target.focus();
25
+ return _createClass(Caret, [{
26
+ key: "isContentEditable",
27
+ value: function isContentEditable() {
28
+ return this.target.contentEditable === 'true';
35
29
  }
36
- }
37
- /**
38
- * Get absolute caret position index
39
- * @return {number}
40
- */
41
- getAbsolutePosition(node) {
42
- let _curNode = node;
43
- let curPos = 0;
44
- while (_curNode != null && _curNode !== this.target) {
45
- while (_curNode.previousSibling) {
46
- var _curNode$previousSibl;
47
- curPos += (_curNode$previousSibl = _curNode.previousSibling.textContent?.length) !== null && _curNode$previousSibl !== void 0 ? _curNode$previousSibl : 0;
48
- _curNode = _curNode.previousSibling;
30
+ /**
31
+ * Set focus on target if possible
32
+ */
33
+ }, {
34
+ key: "focus",
35
+ value: function focus() {
36
+ if (!document.activeElement || document.activeElement !== this.target) {
37
+ this.target.focus();
49
38
  }
50
- _curNode = _curNode.parentNode;
51
39
  }
52
- return curPos;
53
- }
54
- /**
55
- * Get caret position index
56
- * @param {Object} [params]
57
- * @param {boolean} params.avoidFocus
58
- * @return {number}
59
- */
60
- getPosition() {
61
- let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
62
- if (this.isContentEditable()) {
63
- if (!params.avoidFocus) {
64
- this.focus();
65
- }
66
- const selection = window.getSelection();
67
- if (!selection?.rangeCount) {
68
- return 0;
69
- }
70
- const range1 = selection.getRangeAt(0);
71
- const range2 = range1.cloneRange();
72
- range2.selectNodeContents(this.target);
73
- range2.setEnd(range1.endContainer, range1.endOffset);
74
- const _curNode = range1.startContainer;
75
- if (this.target === _curNode) {
76
- return range1.startOffset === 0 || _curNode.textContent == null ? 0 : _curNode.textContent.length;
77
- } else if (!this.target.contains(_curNode)) {
78
- return -1;
79
- } else if (!_curNode) {
80
- return 'selectionStart' in this.target && this.target.selectionStart || -1;
40
+ /**
41
+ * Get absolute caret position index
42
+ * @return {number}
43
+ */
44
+ }, {
45
+ key: "getAbsolutePosition",
46
+ value: function getAbsolutePosition(node) {
47
+ var _curNode = node;
48
+ var curPos = 0;
49
+ while (_curNode != null && _curNode !== this.target) {
50
+ while (_curNode.previousSibling) {
51
+ var _curNode$previousSibl, _curNode$previousSibl2;
52
+ curPos += (_curNode$previousSibl = (_curNode$previousSibl2 = _curNode.previousSibling.textContent) === null || _curNode$previousSibl2 === void 0 ? void 0 : _curNode$previousSibl2.length) !== null && _curNode$previousSibl !== void 0 ? _curNode$previousSibl : 0;
53
+ _curNode = _curNode.previousSibling;
54
+ }
55
+ _curNode = _curNode.parentNode;
81
56
  }
82
- const curPos = this.getAbsolutePosition(_curNode);
83
- if (range1.startContainer === range1.endContainer) {
84
- if (range1.startOffset === range1.endOffset) {
85
- return curPos + range1.startOffset;
57
+ return curPos;
58
+ }
59
+ /**
60
+ * Get caret position index
61
+ * @param {Object} [params]
62
+ * @param {boolean} params.avoidFocus
63
+ * @return {number}
64
+ */
65
+ }, {
66
+ key: "getPosition",
67
+ value: function getPosition() {
68
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
69
+ if (this.isContentEditable()) {
70
+ if (!params.avoidFocus) {
71
+ this.focus();
72
+ }
73
+ var selection = window.getSelection();
74
+ if (!(selection !== null && selection !== void 0 && selection.rangeCount)) {
75
+ return 0;
76
+ }
77
+ var range1 = selection.getRangeAt(0);
78
+ var range2 = range1.cloneRange();
79
+ range2.selectNodeContents(this.target);
80
+ range2.setEnd(range1.endContainer, range1.endOffset);
81
+ var _curNode = range1.startContainer;
82
+ if (this.target === _curNode) {
83
+ return range1.startOffset === 0 || _curNode.textContent == null ? 0 : _curNode.textContent.length;
84
+ } else if (!this.target.contains(_curNode)) {
85
+ return -1;
86
+ } else if (!_curNode) {
87
+ return 'selectionStart' in this.target && this.target.selectionStart || -1;
88
+ }
89
+ var curPos = this.getAbsolutePosition(_curNode);
90
+ if (range1.startContainer === range1.endContainer) {
91
+ if (range1.startOffset === range1.endOffset) {
92
+ return curPos + range1.startOffset;
93
+ } else {
94
+ return {
95
+ startOffset: curPos + range1.startOffset,
96
+ endOffset: curPos + range1.endOffset,
97
+ position: range2.toString().length
98
+ };
99
+ }
86
100
  } else {
101
+ var startOffset = curPos + range1.startOffset;
102
+ var endPos = this.getAbsolutePosition(range1.endContainer);
103
+ var endOffset = endPos + range1.endOffset;
87
104
  return {
88
- startOffset: curPos + range1.startOffset,
89
- endOffset: curPos + range1.endOffset,
105
+ startOffset,
106
+ endOffset,
90
107
  position: range2.toString().length
91
108
  };
92
109
  }
93
- } else {
94
- const startOffset = curPos + range1.startOffset;
95
- const endPos = this.getAbsolutePosition(range1.endContainer);
96
- const endOffset = endPos + range1.endOffset;
110
+ }
111
+ return 'selectionStart' in this.target && this.target.selectionStart || -1;
112
+ }
113
+ /**
114
+ * Get relative position of query
115
+ * @param {Node} curNode
116
+ * @param {number} position
117
+ * @return {{_correctedPosition: number, _curNode: Node}}
118
+ */
119
+ }, {
120
+ key: "getRelativePosition",
121
+ value: function getRelativePosition(curNode, position) {
122
+ var curPos = 0;
123
+ var _curNode = curNode;
124
+ var nodeTypeText = 3;
125
+ if (!_curNode) {
97
126
  return {
98
- startOffset,
99
- endOffset,
100
- position: range2.toString().length
127
+ _curNode: this.target,
128
+ _correctedPosition: position
101
129
  };
102
130
  }
103
- }
104
- return 'selectionStart' in this.target && this.target.selectionStart || -1;
105
- }
106
- /**
107
- * Get relative position of query
108
- * @param {Node} curNode
109
- * @param {number} position
110
- * @return {{_correctedPosition: number, _curNode: Node}}
111
- */
112
- getRelativePosition(curNode, position) {
113
- let curPos = 0;
114
- let _curNode = curNode;
115
- const nodeTypeText = 3;
116
- if (!_curNode) {
117
- return {
118
- _curNode: this.target,
119
- _correctedPosition: position
120
- };
121
- }
122
- if (position === 0) {
123
- while (_curNode.nodeType !== nodeTypeText) {
124
- _curNode = _curNode.childNodes[0];
131
+ if (position === 0) {
132
+ while (_curNode.nodeType !== nodeTypeText) {
133
+ _curNode = _curNode.childNodes[0];
134
+ }
135
+ var _correctedPosition2 = position;
136
+ return {
137
+ _curNode,
138
+ _correctedPosition: _correctedPosition2
139
+ };
140
+ }
141
+ var i = -1;
142
+ if (_curNode && _curNode.nodeType !== undefined) {
143
+ while (curPos < position && _curNode.nodeType !== nodeTypeText) {
144
+ i++;
145
+ if (_curNode.childNodes[i] != null) {
146
+ var _curNode$childNodes$i, _curNode$childNodes$i2;
147
+ curPos += (_curNode$childNodes$i = (_curNode$childNodes$i2 = _curNode.childNodes[i].textContent) === null || _curNode$childNodes$i2 === void 0 ? void 0 : _curNode$childNodes$i2.length) !== null && _curNode$childNodes$i !== void 0 ? _curNode$childNodes$i : 0;
148
+ if (curPos >= position) {
149
+ var _curNode$textContent$, _curNode$textContent;
150
+ _curNode = _curNode.childNodes[i];
151
+ curPos -= (_curNode$textContent$ = (_curNode$textContent = _curNode.textContent) === null || _curNode$textContent === void 0 ? void 0 : _curNode$textContent.length) !== null && _curNode$textContent$ !== void 0 ? _curNode$textContent$ : 0;
152
+ i = -1;
153
+ }
154
+ } else {
155
+ break;
156
+ }
157
+ }
125
158
  }
126
- const _correctedPosition = position;
159
+ var _correctedPosition = position - curPos;
127
160
  return {
128
161
  _curNode,
129
162
  _correctedPosition
130
163
  };
131
164
  }
132
- let i = -1;
133
- if (_curNode && _curNode.nodeType !== undefined) {
134
- while (curPos < position && _curNode.nodeType !== nodeTypeText) {
135
- i++;
136
- if (_curNode.childNodes[i] != null) {
137
- var _curNode$childNodes$i;
138
- curPos += (_curNode$childNodes$i = _curNode.childNodes[i].textContent?.length) !== null && _curNode$childNodes$i !== void 0 ? _curNode$childNodes$i : 0;
139
- if (curPos >= position) {
140
- var _curNode$textContent$;
141
- _curNode = _curNode.childNodes[i];
142
- curPos -= (_curNode$textContent$ = _curNode.textContent?.length) !== null && _curNode$textContent$ !== void 0 ? _curNode$textContent$ : 0;
143
- i = -1;
144
- }
165
+ /**
166
+ * Set caret position index
167
+ * @param {number} position
168
+ * @return {number}
169
+ */
170
+ }, {
171
+ key: "setPosition",
172
+ value: function setPosition(position) {
173
+ var isContentEditable = this.isContentEditable();
174
+ var correctedPosition;
175
+ var curNode = this.target && this.target.childNodes[0];
176
+ if (position !== undefined) {
177
+ if (typeof position === 'object') {
178
+ var range = new Range();
179
+ var start = this.getRelativePosition(curNode, position.startOffset);
180
+ range.setStart(start._curNode, start._correctedPosition);
181
+ var end = this.getRelativePosition(curNode, position.endOffset);
182
+ range.setEnd(end._curNode, end._correctedPosition);
183
+ correctedPosition = range;
184
+ } else if (position === -1) {
185
+ var _value$length;
186
+ var value = isContentEditable ? this.target.textContent : Caret.normalizeNewlines('value' in this.target ? this.target.value : undefined);
187
+ correctedPosition = (_value$length = value === null || value === void 0 ? void 0 : value.length) !== null && _value$length !== void 0 ? _value$length : 0;
145
188
  } else {
146
- break;
189
+ var _this$getRelativePosi = this.getRelativePosition(curNode, position),
190
+ _curNode = _this$getRelativePosi._curNode,
191
+ _correctedPosition = _this$getRelativePosi._correctedPosition;
192
+ curNode = _curNode;
193
+ correctedPosition = _correctedPosition;
147
194
  }
148
195
  }
149
- }
150
- const _correctedPosition = position - curPos;
151
- return {
152
- _curNode,
153
- _correctedPosition
154
- };
155
- }
156
- /**
157
- * Set caret position index
158
- * @param {number} position
159
- * @return {number}
160
- */
161
- setPosition(position) {
162
- const isContentEditable = this.isContentEditable();
163
- let correctedPosition;
164
- let curNode = this.target && this.target.childNodes[0];
165
- if (position !== undefined) {
166
- if (typeof position === 'object') {
167
- const range = new Range();
168
- const start = this.getRelativePosition(curNode, position.startOffset);
169
- range.setStart(start._curNode, start._correctedPosition);
170
- const end = this.getRelativePosition(curNode, position.endOffset);
171
- range.setEnd(end._curNode, end._correctedPosition);
172
- correctedPosition = range;
173
- } else if (position === -1) {
174
- var _value$length;
175
- const value = isContentEditable ? this.target.textContent : Caret.normalizeNewlines('value' in this.target ? this.target.value : undefined);
176
- correctedPosition = (_value$length = value?.length) !== null && _value$length !== void 0 ? _value$length : 0;
177
- } else {
178
- const {
179
- _curNode,
180
- _correctedPosition
181
- } = this.getRelativePosition(curNode, position);
182
- curNode = _curNode;
183
- correctedPosition = _correctedPosition;
196
+ if (isContentEditable) {
197
+ this.focus();
198
+ try {
199
+ if (correctedPosition instanceof Range) {
200
+ var _window$getSelection, _window$getSelection2;
201
+ (_window$getSelection = window.getSelection()) === null || _window$getSelection === void 0 || _window$getSelection.removeAllRanges();
202
+ (_window$getSelection2 = window.getSelection()) === null || _window$getSelection2 === void 0 || _window$getSelection2.addRange(correctedPosition);
203
+ } else {
204
+ var _window$getSelection3;
205
+ (_window$getSelection3 = window.getSelection()) === null || _window$getSelection3 === void 0 || _window$getSelection3.collapse(curNode || this.target, correctedPosition);
206
+ }
207
+ } catch (e) {
208
+ // Do nothing
209
+ }
210
+ } else if ('setSelectionRange' in this.target && typeof correctedPosition === 'number') {
211
+ this.target.setSelectionRange(correctedPosition, correctedPosition);
184
212
  }
213
+ return correctedPosition;
185
214
  }
186
- if (isContentEditable) {
187
- this.focus();
215
+ /**
216
+ * Get caret position in pixels
217
+ * @return {number}
218
+ */
219
+ }, {
220
+ key: "getOffset",
221
+ value: function getOffset() {
222
+ var offset = 0;
223
+ var range;
188
224
  try {
189
- if (correctedPosition instanceof Range) {
190
- window.getSelection()?.removeAllRanges();
191
- window.getSelection()?.addRange(correctedPosition);
192
- } else {
193
- window.getSelection()?.collapse(curNode || this.target, correctedPosition);
194
- }
225
+ var _window$getSelection4, _range;
226
+ // Both statements may throw
227
+ range = (_window$getSelection4 = window.getSelection()) === null || _window$getSelection4 === void 0 ? void 0 : _window$getSelection4.getRangeAt(0).cloneRange();
228
+ (_range = range) === null || _range === void 0 || _range.setStart(range.startContainer, range.startOffset - 1);
195
229
  } catch (e) {
196
- // Do nothing
230
+ return offset;
231
+ }
232
+ if (range && range.endOffset !== 0 && range.toString() !== '') {
233
+ offset = getRect(range).right - getRect(this.target).left - (range.startContainer instanceof HTMLElement && range.startContainer.offsetLeft || 0);
197
234
  }
198
- } else if ('setSelectionRange' in this.target && typeof correctedPosition === 'number') {
199
- this.target.setSelectionRange(correctedPosition, correctedPosition);
200
- }
201
- return correctedPosition;
202
- }
203
- /**
204
- * Get caret position in pixels
205
- * @return {number}
206
- */
207
- getOffset() {
208
- let offset = 0;
209
- let range;
210
- try {
211
- // Both statements may throw
212
- range = window.getSelection()?.getRangeAt(0).cloneRange();
213
- range?.setStart(range.startContainer, range.startOffset - 1);
214
- } catch (e) {
215
235
  return offset;
216
236
  }
217
- if (range && range.endOffset !== 0 && range.toString() !== '') {
218
- offset = getRect(range).right - getRect(this.target).left - (range.startContainer instanceof HTMLElement && range.startContainer.offsetLeft || 0);
237
+ }], [{
238
+ key: "normalizeNewlines",
239
+ value:
240
+ /**
241
+ * Line endings normalizer
242
+ * Borrowed from jQuery
243
+ * @see https://github.com/jquery/jquery/blob/master/src/attributes/val.js
244
+ * @param value {*}
245
+ * @return {*}
246
+ */
247
+ function normalizeNewlines(value) {
248
+ return typeof value === 'string' ? value.replace(this.returnRE, '') : value;
219
249
  }
220
- return offset;
221
- }
222
- }
250
+ }]);
251
+ }();
252
+ /**
253
+ * Line endings RegExp
254
+ * @type {RegExp}
255
+ */
256
+ _defineProperty(Caret, "returnRE", /\r/g);
223
257
 
224
258
  export { Caret as default };
@@ -1,4 +1,5 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, e as _extends, f as _classCallCheck, g as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.concat.js';
2
3
  import React, { PureComponent } from 'react';
3
4
  import PropTypes from 'prop-types';
4
5
  import classNames from 'classnames';
@@ -10,94 +11,118 @@ import composeRefs from '../global/composeRefs.js';
10
11
  import 'util-deprecate';
11
12
  import '../icon/icon__constants.js';
12
13
  import '../_helpers/icon__svg.js';
14
+ import 'core-js/modules/es.regexp.exec.js';
15
+ import 'core-js/modules/es.string.replace.js';
16
+ import 'core-js/modules/es.string.starts-with.js';
13
17
  import '../global/memoize.js';
18
+ import 'core-js/modules/es.array.iterator.js';
19
+ import 'core-js/modules/es.map.js';
20
+ import 'core-js/modules/es.object.to-string.js';
21
+ import 'core-js/modules/es.weak-map.js';
22
+ import 'core-js/modules/web.dom-collections.iterator.js';
23
+ import 'core-js/modules/web.dom-collections.for-each.js';
14
24
 
15
25
  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","focus":"focus_rui_219d","label":"label_rui_219d"};
16
26
 
27
+ var _excluded = ["children", "label", "className", "containerClassName", "containerStyle", "cellClassName", "labelClassName", "indeterminate", "inputRef"];
17
28
  /**
18
29
  * @name Checkbox
19
30
  */
20
31
  /**
21
32
  * Displays a checkbox.
22
33
  */
23
- class Checkbox extends PureComponent {
24
- static propTypes = {
25
- name: PropTypes.string,
26
- label: PropTypes.string,
27
- className: PropTypes.string,
28
- containerClassName: PropTypes.string,
29
- containerStyle: PropTypes.object,
30
- cellClassName: PropTypes.string,
31
- labelClassName: PropTypes.string,
32
- defaultChecked: PropTypes.bool,
33
- checked: PropTypes.bool,
34
- indeterminate: PropTypes.bool,
35
- disabled: PropTypes.bool,
36
- onChange: PropTypes.func,
37
- children: PropTypes.node,
38
- inputRef: PropTypes.oneOfType([PropTypes.func, refObject(PropTypes.instanceOf(HTMLInputElement))])
39
- };
40
- static defaultProps = {
41
- indeterminate: false
42
- };
43
- componentDidMount() {
44
- if (this.input != null) {
45
- this.input.indeterminate = this.props.indeterminate;
34
+ var Checkbox = /*#__PURE__*/function (_PureComponent) {
35
+ function Checkbox() {
36
+ var _this;
37
+ _classCallCheck(this, Checkbox);
38
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
39
+ args[_key] = arguments[_key];
46
40
  }
41
+ _this = _callSuper(this, Checkbox, [].concat(args));
42
+ _defineProperty(_this, "input", void 0);
43
+ _defineProperty(_this, "inputRef", function (el) {
44
+ if (el != null) {
45
+ el.indeterminate = _this.props.indeterminate;
46
+ }
47
+ _this.input = el;
48
+ });
49
+ return _this;
47
50
  }
48
- componentDidUpdate(prevProps) {
49
- const {
50
- indeterminate
51
- } = this.props;
52
- if (this.input != null && indeterminate !== prevProps.indeterminate) {
53
- this.input.indeterminate = this.props.indeterminate;
51
+ _inherits(Checkbox, _PureComponent);
52
+ return _createClass(Checkbox, [{
53
+ key: "componentDidMount",
54
+ value: function componentDidMount() {
55
+ if (this.input != null) {
56
+ this.input.indeterminate = this.props.indeterminate;
57
+ }
54
58
  }
55
- }
56
- input;
57
- inputRef = el => {
58
- if (el != null) {
59
- el.indeterminate = this.props.indeterminate;
59
+ }, {
60
+ key: "componentDidUpdate",
61
+ value: function componentDidUpdate(prevProps) {
62
+ var indeterminate = this.props.indeterminate;
63
+ if (this.input != null && indeterminate !== prevProps.indeterminate) {
64
+ this.input.indeterminate = this.props.indeterminate;
65
+ }
60
66
  }
61
- this.input = el;
62
- };
63
- render() {
64
- const {
65
- children,
66
- label,
67
- className,
68
- containerClassName,
69
- containerStyle,
70
- cellClassName,
71
- labelClassName,
72
- indeterminate,
73
- inputRef,
74
- ...restProps
75
- } = this.props;
76
- const classes = classNames(modules_3199090e.input, className);
77
- const containerClasses = classNames(modules_3199090e.checkbox, containerClassName);
78
- const cellClasses = classNames(modules_3199090e.cell, cellClassName);
79
- const labelClasses = classNames(modules_3199090e.label, labelClassName);
80
- return /*#__PURE__*/React.createElement("label", {
81
- className: containerClasses,
82
- style: containerStyle,
83
- "data-test": "ring-checkbox"
84
- }, /*#__PURE__*/React.createElement("input", _extends({}, restProps, {
85
- "data-checked": restProps.checked,
86
- ref: composeRefs(this.inputRef, inputRef),
87
- type: "checkbox",
88
- className: classes
89
- })), /*#__PURE__*/React.createElement("span", {
90
- className: cellClasses
91
- }, /*#__PURE__*/React.createElement(Icon, {
92
- glyph: checkmarkIcon,
93
- className: modules_3199090e.check
94
- }), /*#__PURE__*/React.createElement(Icon, {
95
- glyph: minusIcon,
96
- className: modules_3199090e.minus
97
- })), /*#__PURE__*/React.createElement("span", {
98
- className: labelClasses
99
- }, label || children));
100
- }
101
- }
67
+ }, {
68
+ key: "render",
69
+ value: function render() {
70
+ var _this$props = this.props,
71
+ children = _this$props.children,
72
+ label = _this$props.label,
73
+ className = _this$props.className,
74
+ containerClassName = _this$props.containerClassName,
75
+ containerStyle = _this$props.containerStyle,
76
+ cellClassName = _this$props.cellClassName,
77
+ labelClassName = _this$props.labelClassName;
78
+ _this$props.indeterminate;
79
+ var inputRef = _this$props.inputRef,
80
+ restProps = _objectWithoutProperties(_this$props, _excluded);
81
+ var classes = classNames(modules_3199090e.input, className);
82
+ var containerClasses = classNames(modules_3199090e.checkbox, containerClassName);
83
+ var cellClasses = classNames(modules_3199090e.cell, cellClassName);
84
+ var labelClasses = classNames(modules_3199090e.label, labelClassName);
85
+ return /*#__PURE__*/React.createElement("label", {
86
+ className: containerClasses,
87
+ style: containerStyle,
88
+ "data-test": "ring-checkbox"
89
+ }, /*#__PURE__*/React.createElement("input", _extends({}, restProps, {
90
+ "data-checked": restProps.checked,
91
+ ref: composeRefs(this.inputRef, inputRef),
92
+ type: "checkbox",
93
+ className: classes
94
+ })), /*#__PURE__*/React.createElement("span", {
95
+ className: cellClasses
96
+ }, /*#__PURE__*/React.createElement(Icon, {
97
+ glyph: checkmarkIcon,
98
+ className: modules_3199090e.check
99
+ }), /*#__PURE__*/React.createElement(Icon, {
100
+ glyph: minusIcon,
101
+ className: modules_3199090e.minus
102
+ })), /*#__PURE__*/React.createElement("span", {
103
+ className: labelClasses
104
+ }, label || children));
105
+ }
106
+ }]);
107
+ }(PureComponent);
108
+ _defineProperty(Checkbox, "propTypes", {
109
+ name: PropTypes.string,
110
+ label: PropTypes.string,
111
+ className: PropTypes.string,
112
+ containerClassName: PropTypes.string,
113
+ containerStyle: PropTypes.object,
114
+ cellClassName: PropTypes.string,
115
+ labelClassName: PropTypes.string,
116
+ defaultChecked: PropTypes.bool,
117
+ checked: PropTypes.bool,
118
+ indeterminate: PropTypes.bool,
119
+ disabled: PropTypes.bool,
120
+ onChange: PropTypes.func,
121
+ children: PropTypes.node,
122
+ inputRef: PropTypes.oneOfType([PropTypes.func, refObject(PropTypes.instanceOf(HTMLInputElement))])
123
+ });
124
+ _defineProperty(Checkbox, "defaultProps", {
125
+ indeterminate: false
126
+ });
102
127
 
103
128
  export { Checkbox as default };