@jetbrains/ring-ui 5.0.156 → 5.0.157

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