@jetbrains/ring-ui 5.0.156 → 5.0.158

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