@jetbrains/ring-ui 5.0.155 → 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 (299) hide show
  1. package/components/checkbox/checkbox.css +1 -1
  2. package/components/global/variables_dark.css +2 -2
  3. package/components/radio/radio.css +1 -1
  4. package/dist/_helpers/_rollupPluginBabelHelpers.js +642 -1
  5. package/dist/_helpers/anchor.js +6 -7
  6. package/dist/_helpers/button__classes.js +16 -28
  7. package/dist/_helpers/card.js +107 -95
  8. package/dist/_helpers/dialog__body-scroll-preventer.js +20 -11
  9. package/dist/_helpers/footer.js +29 -34
  10. package/dist/_helpers/query-assist__suggestions.js +91 -74
  11. package/dist/_helpers/select__filter.js +71 -48
  12. package/dist/_helpers/services-link.js +41 -29
  13. package/dist/_helpers/sidebar.js +103 -99
  14. package/dist/_helpers/theme.js +42 -35
  15. package/dist/_helpers/title.js +71 -57
  16. package/dist/alert/alert.js +199 -158
  17. package/dist/alert/container.js +43 -32
  18. package/dist/alert-service/alert-service.js +172 -104
  19. package/dist/analytics/analytics.js +92 -68
  20. package/dist/analytics/analytics__custom-plugin.js +84 -60
  21. package/dist/analytics/analytics__fus-plugin.js +28 -15
  22. package/dist/analytics/analytics__ga-plugin.js +60 -43
  23. package/dist/analytics/analytics__plugin-utils.js +28 -22
  24. package/dist/auth/auth.js +36 -4
  25. package/dist/auth/auth__core.js +1458 -732
  26. package/dist/auth/background-flow.js +129 -87
  27. package/dist/auth/down-notification.js +75 -30
  28. package/dist/auth/iframe-flow.js +136 -75
  29. package/dist/auth/landing.js +90 -30
  30. package/dist/auth/request-builder.js +82 -46
  31. package/dist/auth/response-parser.js +119 -86
  32. package/dist/auth/storage.js +333 -171
  33. package/dist/auth/token-validator.js +244 -137
  34. package/dist/auth/window-flow.js +136 -92
  35. package/dist/auth-dialog/auth-dialog.js +176 -114
  36. package/dist/auth-dialog-service/auth-dialog-service.js +32 -7
  37. package/dist/auth-ng/auth-ng.js +70 -34
  38. package/dist/auth-ng/auth-ng.mock.js +6 -6
  39. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  40. package/dist/avatar/avatar-example-datauri.js +1 -23
  41. package/dist/avatar/avatar.js +155 -119
  42. package/dist/avatar/fallback-avatar.js +41 -22
  43. package/dist/avatar-editor-ng/avatar-editor-ng.js +56 -23
  44. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  45. package/dist/avatar-ng/avatar-ng.js +23 -1
  46. package/dist/badge/badge.js +43 -35
  47. package/dist/badge-ng/badge-ng.js +13 -1
  48. package/dist/breadcrumb-ng/breadcrumb-ng.js +15 -29
  49. package/dist/button/button.js +111 -87
  50. package/dist/button/button__classes.js +1 -0
  51. package/dist/button-group/button-group.js +35 -19
  52. package/dist/button-group/caption.js +22 -14
  53. package/dist/button-group-ng/button-group-ng.js +13 -7
  54. package/dist/button-ng/button-ng.js +154 -133
  55. package/dist/button-set/button-set.js +34 -20
  56. package/dist/button-set-ng/button-set-ng.js +2 -2
  57. package/dist/button-toolbar/button-toolbar.js +33 -19
  58. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  59. package/dist/caret/caret.js +225 -188
  60. package/dist/checkbox/checkbox.js +104 -76
  61. package/dist/checkbox-ng/checkbox-ng.js +18 -27
  62. package/dist/clipboard/clipboard-fallback.js +10 -10
  63. package/dist/clipboard/clipboard.js +131 -34
  64. package/dist/code/code.js +168 -92
  65. package/dist/compiler-ng/compiler-ng.js +18 -15
  66. package/dist/confirm/confirm.js +108 -66
  67. package/dist/confirm-ng/confirm-ng.js +33 -4
  68. package/dist/confirm-service/confirm-service.js +66 -42
  69. package/dist/content-layout/content-layout.js +64 -43
  70. package/dist/content-layout/sidebar.js +1 -0
  71. package/dist/contenteditable/contenteditable.js +61 -50
  72. package/dist/control-label/control-label.js +11 -15
  73. package/dist/data-list/data-list.js +184 -128
  74. package/dist/data-list/data-list.mock.js +11 -2
  75. package/dist/data-list/item.js +174 -143
  76. package/dist/data-list/selection.js +139 -76
  77. package/dist/data-list/title.js +13 -1
  78. package/dist/data-list-ng/data-list-ng.js +31 -1
  79. package/dist/date-picker/consts.js +18 -15
  80. package/dist/date-picker/date-input.js +147 -115
  81. package/dist/date-picker/date-picker.js +285 -228
  82. package/dist/date-picker/date-popup.js +397 -356
  83. package/dist/date-picker/day.js +98 -84
  84. package/dist/date-picker/month-names.js +64 -43
  85. package/dist/date-picker/month-slider.js +74 -51
  86. package/dist/date-picker/month.js +21 -15
  87. package/dist/date-picker/months.js +48 -43
  88. package/dist/date-picker/weekdays.js +18 -12
  89. package/dist/date-picker/years.js +109 -84
  90. package/dist/dialog/dialog.js +189 -141
  91. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  92. package/dist/dialog-ng/dialog-ng.js +401 -287
  93. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  94. package/dist/docked-panel-ng/docked-panel-ng.js +33 -18
  95. package/dist/dropdown/anchor.js +10 -0
  96. package/dist/dropdown/dropdown.js +214 -182
  97. package/dist/dropdown-menu/dropdown-menu.js +102 -72
  98. package/dist/editable-heading/editable-heading.js +100 -58
  99. package/dist/error-bubble/error-bubble.js +64 -31
  100. package/dist/error-message/error-message.js +61 -38
  101. package/dist/error-message-ng/error-message-ng.js +11 -22
  102. package/dist/footer/footer.js +11 -1
  103. package/dist/footer-ng/footer-ng.js +64 -36
  104. package/dist/form-ng/form-ng.js +66 -56
  105. package/dist/global/angular-component-factory.js +76 -53
  106. package/dist/global/compose.js +10 -1
  107. package/dist/global/composeRefs.js +12 -7
  108. package/dist/global/controls-height.js +2 -2
  109. package/dist/global/create-stateful-context.js +19 -19
  110. package/dist/global/data-tests.js +15 -7
  111. package/dist/global/dom.js +95 -53
  112. package/dist/global/focus-sensor-hoc.js +134 -122
  113. package/dist/global/fuzzy-highlight.js +41 -27
  114. package/dist/global/get-event-key.js +8 -8
  115. package/dist/global/get-uid.js +8 -4
  116. package/dist/global/inject-styles.js +15 -10
  117. package/dist/global/linear-function.js +2 -2
  118. package/dist/global/listeners.js +53 -27
  119. package/dist/global/memoize.js +13 -6
  120. package/dist/global/normalize-indent.js +51 -19
  121. package/dist/global/promise-with-timeout.js +8 -6
  122. package/dist/global/prop-types.js +5 -3
  123. package/dist/global/react-dom-renderer.js +47 -28
  124. package/dist/global/react-render-adapter.js +19 -13
  125. package/dist/global/rerender-hoc.js +41 -16
  126. package/dist/global/ring-angular-component.js +20 -10
  127. package/dist/global/schedule-raf.js +6 -5
  128. package/dist/global/sniffer.js +1 -1
  129. package/dist/global/theme.js +24 -0
  130. package/dist/global/trivial-template-tag.js +10 -3
  131. package/dist/global/typescript-utils.js +6 -2
  132. package/dist/global/url.js +27 -21
  133. package/dist/global/use-event-callback.js +4 -6
  134. package/dist/grid/col.js +55 -35
  135. package/dist/grid/grid.js +36 -17
  136. package/dist/grid/row.js +48 -35
  137. package/dist/group/group.js +27 -17
  138. package/dist/group-ng/group-ng.js +2 -2
  139. package/dist/header/header.js +80 -33
  140. package/dist/header/logo.js +39 -20
  141. package/dist/header/profile.js +188 -150
  142. package/dist/header/services-link.js +9 -0
  143. package/dist/header/services.js +118 -73
  144. package/dist/header/smart-profile.js +207 -111
  145. package/dist/header/smart-services.js +115 -62
  146. package/dist/header/tray-icon.js +38 -21
  147. package/dist/header/tray.js +34 -21
  148. package/dist/heading/heading.js +25 -26
  149. package/dist/heading-ng/heading-ng.js +11 -1
  150. package/dist/http/http.js +368 -215
  151. package/dist/http/http.mock.js +104 -49
  152. package/dist/hub-source/hub-source.js +191 -83
  153. package/dist/hub-source/hub-source__user.js +45 -11
  154. package/dist/hub-source/hub-source__users-groups.js +67 -37
  155. package/dist/i18n/i18n-context.js +14 -10
  156. package/dist/i18n/i18n.js +11 -7
  157. package/dist/icon/icon.js +94 -76
  158. package/dist/icon/icon__svg.js +31 -24
  159. package/dist/icon/index.js +9 -0
  160. package/dist/icon-ng/icon-ng.js +27 -15
  161. package/dist/input/input.js +184 -145
  162. package/dist/input-ng/input-ng.js +96 -118
  163. package/dist/island/adaptive-island-hoc.js +45 -30
  164. package/dist/island/content.js +130 -115
  165. package/dist/island/header.js +69 -56
  166. package/dist/island/island.js +40 -28
  167. package/dist/island-legacy/content-legacy.js +27 -17
  168. package/dist/island-legacy/header-legacy.js +29 -19
  169. package/dist/island-legacy/island-legacy.js +27 -17
  170. package/dist/island-ng/island-content-ng.js +17 -26
  171. package/dist/island-ng/island-header-ng.js +9 -12
  172. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  173. package/dist/island-ng/island-ng.js +6 -10
  174. package/dist/link/clickableLink.js +61 -44
  175. package/dist/link/link.js +85 -74
  176. package/dist/link-ng/link-ng.js +3 -5
  177. package/dist/list/consts.js +1 -1
  178. package/dist/list/list.js +696 -602
  179. package/dist/list/list__custom.js +61 -44
  180. package/dist/list/list__hint.js +21 -10
  181. package/dist/list/list__item.js +167 -129
  182. package/dist/list/list__link.js +54 -37
  183. package/dist/list/list__separator.js +24 -14
  184. package/dist/list/list__title.js +32 -22
  185. package/dist/list/list__users-groups-source.js +131 -54
  186. package/dist/loader/loader.js +78 -43
  187. package/dist/loader/loader__core.js +257 -189
  188. package/dist/loader-inline/loader-inline.js +37 -23
  189. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  190. package/dist/loader-ng/loader-ng.js +46 -19
  191. package/dist/loader-screen/loader-screen.js +48 -25
  192. package/dist/loader-screen-ng/loader-screen-ng.js +46 -30
  193. package/dist/login-dialog/login-dialog.js +162 -111
  194. package/dist/login-dialog/service.js +35 -7
  195. package/dist/markdown/code.js +31 -9
  196. package/dist/markdown/heading.js +3 -5
  197. package/dist/markdown/link.js +13 -6
  198. package/dist/markdown/markdown.js +66 -33
  199. package/dist/message/message.js +157 -125
  200. package/dist/message-bundle-ng/message-bundle-ng.js +128 -44
  201. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  202. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  203. package/dist/old-browsers-message/white-list.js +16 -9
  204. package/dist/pager/pager.js +275 -210
  205. package/dist/pager-ng/pager-ng.js +36 -1
  206. package/dist/panel/panel.js +27 -17
  207. package/dist/panel-ng/panel-ng.js +14 -1
  208. package/dist/permissions/permissions.js +173 -127
  209. package/dist/permissions/permissions__cache.js +225 -194
  210. package/dist/permissions-ng/permissions-ng.js +86 -35
  211. package/dist/place-under-ng/place-under-ng.js +68 -45
  212. package/dist/popup/popup.consts.js +1 -1
  213. package/dist/popup/popup.js +342 -280
  214. package/dist/popup/popup.target.js +8 -9
  215. package/dist/popup/position.js +153 -153
  216. package/dist/popup-menu/popup-menu.js +86 -44
  217. package/dist/progress-bar/progress-bar.js +97 -80
  218. package/dist/progress-bar-ng/progress-bar-ng.js +11 -1
  219. package/dist/promised-click-ng/promised-click-ng.js +92 -58
  220. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  221. package/dist/query-assist/query-assist.js +903 -832
  222. package/dist/query-assist/query-assist__suggestions.js +33 -1
  223. package/dist/query-assist-ng/query-assist-ng.js +38 -1
  224. package/dist/radio/radio.js +36 -19
  225. package/dist/radio/radio__item.js +71 -52
  226. package/dist/radio-ng/radio-ng.js +14 -25
  227. package/dist/save-field-ng/save-field-ng.js +86 -52
  228. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  229. package/dist/select/select.js +937 -835
  230. package/dist/select/select__filter.js +33 -0
  231. package/dist/select/select__popup.js +472 -359
  232. package/dist/select-ng/select-ng.js +125 -74
  233. package/dist/select-ng/select-ng__lazy.js +101 -50
  234. package/dist/select-ng/select-ng__options.js +107 -81
  235. package/dist/shortcuts/core.js +218 -166
  236. package/dist/shortcuts/shortcut-title.js +11 -6
  237. package/dist/shortcuts/shortcuts-hoc.js +47 -19
  238. package/dist/shortcuts/shortcuts.js +77 -50
  239. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +104 -53
  240. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  241. package/dist/shortcuts-ng/shortcuts-ng.js +86 -51
  242. package/dist/sidebar-ng/sidebar-ng.js +53 -22
  243. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  244. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  245. package/dist/storage/storage.js +35 -4
  246. package/dist/storage/storage__fallback.js +224 -149
  247. package/dist/storage/storage__local.js +156 -90
  248. package/dist/style.css +1 -1
  249. package/dist/tab-trap/tab-trap.js +157 -122
  250. package/dist/table/cell.js +28 -14
  251. package/dist/table/disable-hover-hoc.js +53 -33
  252. package/dist/table/header-cell.js +87 -64
  253. package/dist/table/header.js +126 -98
  254. package/dist/table/multitable.js +127 -107
  255. package/dist/table/row-with-focus-sensor.js +73 -25
  256. package/dist/table/row.js +208 -170
  257. package/dist/table/selection-adapter.js +3 -1
  258. package/dist/table/selection-shortcuts-hoc.js +184 -181
  259. package/dist/table/selection.js +228 -156
  260. package/dist/table/smart-table.js +93 -51
  261. package/dist/table/table.js +348 -281
  262. package/dist/table-legacy-ng/table-legacy-ng.js +117 -102
  263. package/dist/table-legacy-ng/table-legacy-ng__pager.js +42 -10
  264. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  265. package/dist/table-legacy-ng/table-legacy-ng__selection.js +169 -119
  266. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +36 -21
  267. package/dist/table-ng/smart-table-ng.js +31 -1
  268. package/dist/table-ng/table-ng.js +31 -1
  269. package/dist/tabs/collapsible-more.js +87 -50
  270. package/dist/tabs/collapsible-tab.js +45 -38
  271. package/dist/tabs/collapsible-tabs.js +161 -94
  272. package/dist/tabs/custom-item.js +2 -4
  273. package/dist/tabs/dumb-tabs.js +122 -75
  274. package/dist/tabs/smart-tabs.js +75 -29
  275. package/dist/tabs/tab-link.js +29 -19
  276. package/dist/tabs/tab.js +33 -19
  277. package/dist/tabs/tabs.js +35 -0
  278. package/dist/tabs-ng/tabs-ng.js +38 -24
  279. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  280. package/dist/tag/tag.js +170 -133
  281. package/dist/tags-input/tags-input.js +428 -327
  282. package/dist/tags-input-ng/tags-input-ng.js +37 -1
  283. package/dist/tags-list/tags-list.js +80 -56
  284. package/dist/template-ng/template-ng.js +50 -39
  285. package/dist/text/text.js +38 -28
  286. package/dist/title-ng/title-ng.js +28 -23
  287. package/dist/toggle/toggle.js +72 -56
  288. package/dist/toggle-ng/toggle-ng.js +14 -1
  289. package/dist/tooltip/tooltip.js +192 -146
  290. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  291. package/dist/user-agreement/service.js +374 -227
  292. package/dist/user-agreement/toolbox.eula.js +1 -160
  293. package/dist/user-agreement/user-agreement.js +128 -86
  294. package/dist/user-card/card.js +32 -0
  295. package/dist/user-card/smart-user-card-tooltip.js +116 -51
  296. package/dist/user-card/tooltip.js +90 -48
  297. package/dist/user-card/user-card.js +32 -0
  298. package/dist/user-card-ng/user-card-ng.js +34 -2
  299. package/package.json +13 -13
@@ -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 };