@jetbrains/ring-ui-built 7.0.0-beta.2 → 7.0.0-beta.4

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 (336) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +1 -504
  2. package/components/_helpers/anchor.js +7 -10
  3. package/components/_helpers/button__classes.js +15 -13
  4. package/components/_helpers/caption.js +11 -21
  5. package/components/_helpers/card.js +91 -123
  6. package/components/_helpers/dialog__body-scroll-preventer.js +10 -17
  7. package/components/_helpers/icon__svg.js +27 -29
  8. package/components/_helpers/input.js +150 -192
  9. package/components/_helpers/query-assist__suggestions.js +78 -93
  10. package/components/_helpers/select__filter.js +56 -75
  11. package/components/_helpers/services-link.js +23 -39
  12. package/components/_helpers/sidebar.js +91 -102
  13. package/components/_helpers/tab-link.js +8 -12
  14. package/components/_helpers/theme.js +42 -51
  15. package/components/_helpers/title.js +59 -84
  16. package/components/alert/alert.d.ts +7 -24
  17. package/components/alert/alert.js +111 -179
  18. package/components/alert/container.d.ts +0 -5
  19. package/components/alert/container.js +32 -44
  20. package/components/alert-service/alert-service.js +104 -162
  21. package/components/analytics/analytics.js +12 -20
  22. package/components/analytics/analytics__custom-plugin.js +52 -68
  23. package/components/auth/auth.js +2 -28
  24. package/components/auth/auth__core.d.ts +4 -4
  25. package/components/auth/auth__core.js +753 -1431
  26. package/components/auth/background-flow.js +84 -121
  27. package/components/auth/down-notification.js +31 -78
  28. package/components/auth/iframe-flow.js +70 -124
  29. package/components/auth/request-builder.js +46 -77
  30. package/components/auth/response-parser.js +84 -112
  31. package/components/auth/storage.js +160 -319
  32. package/components/auth/token-validator.js +132 -227
  33. package/components/auth/window-flow.js +84 -121
  34. package/components/auth-dialog/auth-dialog.d.ts +0 -18
  35. package/components/auth-dialog/auth-dialog.js +106 -175
  36. package/components/auth-dialog-service/auth-dialog-service.js +10 -31
  37. package/components/avatar/avatar-example-datauri.js +1 -1
  38. package/components/avatar/avatar.d.ts +0 -13
  39. package/components/avatar/avatar.js +94 -136
  40. package/components/avatar/fallback-avatar.d.ts +1 -10
  41. package/components/avatar/fallback-avatar.js +20 -40
  42. package/components/badge/badge.d.ts +0 -10
  43. package/components/badge/badge.js +32 -48
  44. package/components/breadcrumbs/breadcrumbs.js +13 -17
  45. package/components/button/button.d.ts +0 -21
  46. package/components/button/button.js +67 -101
  47. package/components/button-group/button-group.d.ts +0 -5
  48. package/components/button-group/button-group.js +27 -41
  49. package/components/button-group/caption.d.ts +0 -4
  50. package/components/button-group/caption.js +0 -1
  51. package/components/button-set/button-set.d.ts +0 -6
  52. package/components/button-set/button-set.js +19 -33
  53. package/components/button-toolbar/button-toolbar.d.ts +0 -6
  54. package/components/button-toolbar/button-toolbar.js +17 -31
  55. package/components/caret/caret.js +184 -211
  56. package/components/checkbox/checkbox.d.ts +0 -19
  57. package/components/checkbox/checkbox.js +69 -104
  58. package/components/clipboard/clipboard-fallback.js +7 -7
  59. package/components/clipboard/clipboard.js +36 -129
  60. package/components/code/code.d.ts +0 -12
  61. package/components/code/code.js +83 -163
  62. package/components/collapse/collapse-content.js +42 -60
  63. package/components/collapse/collapse-context.js +2 -2
  64. package/components/collapse/collapse-control.js +12 -12
  65. package/components/collapse/collapse.js +12 -17
  66. package/components/collapse/consts.js +4 -4
  67. package/components/collapse/utils.js +1 -3
  68. package/components/confirm/confirm.d.ts +0 -14
  69. package/components/confirm/confirm.js +67 -111
  70. package/components/confirm-service/confirm-service.js +23 -45
  71. package/components/content-layout/content-layout.d.ts +0 -7
  72. package/components/content-layout/content-layout.js +41 -63
  73. package/components/content-layout/sidebar.d.ts +0 -9
  74. package/components/content-layout/sidebar.js +1 -2
  75. package/components/contenteditable/contenteditable.d.ts +1 -22
  76. package/components/contenteditable/contenteditable.js +37 -60
  77. package/components/control-help/control-help.js +5 -3
  78. package/components/control-label/control-label.js +9 -14
  79. package/components/data-list/data-list.d.ts +0 -2
  80. package/components/data-list/data-list.js +115 -179
  81. package/components/data-list/data-list.mock.js +3 -6
  82. package/components/data-list/item.js +118 -164
  83. package/components/data-list/selection.js +77 -135
  84. package/components/data-list/title.d.ts +2 -2
  85. package/components/data-list/title.js +2 -12
  86. package/components/date-picker/consts.d.ts +0 -2
  87. package/components/date-picker/consts.js +16 -24
  88. package/components/date-picker/date-input.d.ts +0 -20
  89. package/components/date-picker/date-input.js +99 -147
  90. package/components/date-picker/date-picker.d.ts +0 -29
  91. package/components/date-picker/date-picker.js +143 -224
  92. package/components/date-picker/date-popup.d.ts +0 -22
  93. package/components/date-picker/date-popup.js +281 -351
  94. package/components/date-picker/day.d.ts +0 -14
  95. package/components/date-picker/day.js +72 -109
  96. package/components/date-picker/month-names.d.ts +1 -11
  97. package/components/date-picker/month-names.js +42 -72
  98. package/components/date-picker/month-slider.d.ts +0 -9
  99. package/components/date-picker/month-slider.js +43 -71
  100. package/components/date-picker/month.d.ts +1 -9
  101. package/components/date-picker/month.js +18 -30
  102. package/components/date-picker/months.d.ts +1 -9
  103. package/components/date-picker/months.js +45 -55
  104. package/components/date-picker/weekdays.d.ts +2 -8
  105. package/components/date-picker/weekdays.js +12 -25
  106. package/components/date-picker/years.d.ts +0 -6
  107. package/components/date-picker/years.js +77 -104
  108. package/components/dialog/dialog.d.ts +0 -20
  109. package/components/dialog/dialog.js +152 -210
  110. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  111. package/components/dropdown/anchor.d.ts +1 -8
  112. package/components/dropdown/anchor.js +0 -7
  113. package/components/dropdown/dropdown.d.ts +4 -22
  114. package/components/dropdown/dropdown.js +134 -176
  115. package/components/dropdown-menu/dropdown-menu.js +51 -103
  116. package/components/editable-heading/editable-heading.js +69 -118
  117. package/components/error-bubble/error-bubble.d.ts +0 -6
  118. package/components/error-bubble/error-bubble.js +29 -60
  119. package/components/error-message/error-message.d.ts +0 -10
  120. package/components/error-message/error-message.js +34 -59
  121. package/components/footer/footer.js +27 -43
  122. package/components/global/compose.js +1 -8
  123. package/components/global/composeRefs.d.ts +0 -3
  124. package/components/global/composeRefs.js +8 -15
  125. package/components/global/controls-height.js +2 -2
  126. package/components/global/create-stateful-context.d.ts +0 -4
  127. package/components/global/create-stateful-context.js +14 -17
  128. package/components/global/data-tests.js +7 -12
  129. package/components/global/dom.js +49 -82
  130. package/components/global/focus-sensor-hoc.js +95 -122
  131. package/components/global/fuzzy-highlight.js +23 -34
  132. package/components/global/get-event-key.js +8 -8
  133. package/components/global/get-uid.js +3 -7
  134. package/components/global/inject-styles.js +7 -14
  135. package/components/global/listeners.js +28 -47
  136. package/components/global/memoize.js +6 -10
  137. package/components/global/normalize-indent.js +19 -46
  138. package/components/global/promise-with-timeout.js +6 -8
  139. package/components/global/react-dom-renderer.d.ts +0 -5
  140. package/components/global/react-dom-renderer.js +29 -45
  141. package/components/global/rerender-hoc.js +16 -32
  142. package/components/global/schedule-raf.js +4 -4
  143. package/components/global/sniffer.js +1 -1
  144. package/components/global/theme.d.ts +1 -0
  145. package/components/global/theme.js +2 -20
  146. package/components/global/trivial-template-tag.js +4 -9
  147. package/components/global/typescript-utils.js +2 -6
  148. package/components/global/url.js +20 -23
  149. package/components/global/use-event-callback.js +7 -4
  150. package/components/grid/col.d.ts +0 -14
  151. package/components/grid/col.js +26 -53
  152. package/components/grid/grid.d.ts +0 -5
  153. package/components/grid/grid.js +18 -32
  154. package/components/grid/row.d.ts +0 -18
  155. package/components/grid/row.js +22 -47
  156. package/components/group/group.d.ts +0 -5
  157. package/components/group/group.js +16 -27
  158. package/components/header/header-icon.d.ts +0 -22
  159. package/components/header/header-icon.js +19 -36
  160. package/components/header/header.d.ts +0 -7
  161. package/components/header/header.js +30 -71
  162. package/components/header/links.js +6 -3
  163. package/components/header/logo.d.ts +0 -4
  164. package/components/header/logo.js +15 -30
  165. package/components/header/profile.d.ts +1 -39
  166. package/components/header/profile.js +125 -190
  167. package/components/header/services-link.d.ts +0 -10
  168. package/components/header/services-link.js +1 -4
  169. package/components/header/services.d.ts +0 -14
  170. package/components/header/services.js +65 -110
  171. package/components/header/smart-profile.d.ts +0 -9
  172. package/components/header/smart-profile.js +119 -205
  173. package/components/header/smart-services.d.ts +0 -4
  174. package/components/header/smart-services.js +72 -141
  175. package/components/header/tray.d.ts +0 -5
  176. package/components/header/tray.js +21 -35
  177. package/components/heading/heading.js +21 -26
  178. package/components/http/http.js +162 -319
  179. package/components/http/http.mock.js +50 -98
  180. package/components/hub-source/hub-source.js +77 -182
  181. package/components/hub-source/hub-source__user.js +9 -37
  182. package/components/hub-source/hub-source__users-groups.js +34 -60
  183. package/components/i18n/i18n-context.js +7 -8
  184. package/components/i18n/i18n.js +3 -6
  185. package/components/icon/icon.d.ts +0 -11
  186. package/components/icon/icon.js +60 -85
  187. package/components/icon/icon__svg.d.ts +0 -8
  188. package/components/icon/icon__svg.js +0 -6
  189. package/components/icon/index.js +0 -6
  190. package/components/input/input.js +1 -13
  191. package/components/island/adaptive-island-hoc.d.ts +0 -1
  192. package/components/island/adaptive-island-hoc.js +30 -39
  193. package/components/island/content.d.ts +0 -10
  194. package/components/island/content.js +99 -119
  195. package/components/island/header.js +55 -73
  196. package/components/island/island.d.ts +0 -9
  197. package/components/island/island.js +25 -41
  198. package/components/island-legacy/content-legacy.d.ts +0 -5
  199. package/components/island-legacy/content-legacy.js +16 -27
  200. package/components/island-legacy/header-legacy.d.ts +0 -5
  201. package/components/island-legacy/header-legacy.js +19 -30
  202. package/components/island-legacy/island-legacy.d.ts +0 -5
  203. package/components/island-legacy/island-legacy.js +16 -27
  204. package/components/link/clickableLink.d.ts +0 -9
  205. package/components/link/clickableLink.js +33 -51
  206. package/components/link/link.d.ts +0 -25
  207. package/components/link/link.js +47 -68
  208. package/components/list/consts.js +2 -2
  209. package/components/list/list.d.ts +0 -32
  210. package/components/list/list.js +399 -516
  211. package/components/list/list__custom.js +51 -78
  212. package/components/list/list__hint.d.ts +0 -4
  213. package/components/list/list__hint.js +8 -21
  214. package/components/list/list__item.js +147 -211
  215. package/components/list/list__link.js +39 -59
  216. package/components/list/list__separator.js +15 -30
  217. package/components/list/list__title.js +25 -41
  218. package/components/list/list__users-groups-source.js +55 -123
  219. package/components/loader/loader.d.ts +0 -10
  220. package/components/loader/loader.js +38 -70
  221. package/components/loader/loader__core.js +123 -184
  222. package/components/loader-inline/loader-inline.d.ts +0 -6
  223. package/components/loader-inline/loader-inline.js +24 -38
  224. package/components/loader-screen/loader-screen.d.ts +0 -6
  225. package/components/loader-screen/loader-screen.js +24 -46
  226. package/components/login-dialog/login-dialog.d.ts +0 -11
  227. package/components/login-dialog/login-dialog.js +93 -144
  228. package/components/login-dialog/service.js +9 -31
  229. package/components/markdown/markdown.js +16 -29
  230. package/components/message/message.js +170 -217
  231. package/components/old-browsers-message/old-browsers-message.js +11 -14
  232. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  233. package/components/old-browsers-message/white-list.js +8 -13
  234. package/components/pager/pager.js +212 -277
  235. package/components/panel/panel.d.ts +0 -5
  236. package/components/panel/panel.js +16 -27
  237. package/components/permissions/permissions.js +118 -161
  238. package/components/permissions/permissions__cache.js +191 -218
  239. package/components/popup/popup.consts.js +1 -1
  240. package/components/popup/popup.js +237 -329
  241. package/components/popup/popup.target.js +9 -12
  242. package/components/popup/position.js +94 -101
  243. package/components/popup-menu/popup-menu.js +31 -76
  244. package/components/progress-bar/progress-bar.d.ts +19 -33
  245. package/components/progress-bar/progress-bar.js +55 -99
  246. package/components/query-assist/query-assist.d.ts +63 -93
  247. package/components/query-assist/query-assist.js +583 -746
  248. package/components/query-assist/query-assist__suggestions.js +2 -28
  249. package/components/radio/radio.d.ts +0 -8
  250. package/components/radio/radio.js +15 -35
  251. package/components/radio/radio__item.d.ts +0 -9
  252. package/components/radio/radio__item.js +52 -72
  253. package/components/scrollable-section/scrollable-section.js +22 -32
  254. package/components/select/select.js +693 -858
  255. package/components/select/select__filter.js +1 -28
  256. package/components/select/select__popup.js +317 -465
  257. package/components/shortcuts/core.js +147 -195
  258. package/components/shortcuts/shortcut-title.js +6 -10
  259. package/components/shortcuts/shortcuts-hoc.d.ts +0 -5
  260. package/components/shortcuts/shortcuts-hoc.js +23 -46
  261. package/components/shortcuts/shortcuts.d.ts +0 -8
  262. package/components/shortcuts/shortcuts.js +41 -72
  263. package/components/slider/slider.js +93 -113
  264. package/components/slider/slider.utils.js +16 -23
  265. package/components/storage/storage.js +3 -28
  266. package/components/storage/storage__fallback.js +137 -210
  267. package/components/storage/storage__local.js +89 -148
  268. package/components/style.css +1 -1
  269. package/components/tab-trap/tab-trap.js +35 -61
  270. package/components/table/cell.d.ts +0 -6
  271. package/components/table/cell.js +11 -27
  272. package/components/table/disable-hover-hoc.d.ts +0 -1
  273. package/components/table/disable-hover-hoc.js +27 -42
  274. package/components/table/header-cell.d.ts +0 -10
  275. package/components/table/header-cell.js +59 -85
  276. package/components/table/header.d.ts +0 -15
  277. package/components/table/header.js +89 -126
  278. package/components/table/multitable.d.ts +0 -4
  279. package/components/table/multitable.js +83 -93
  280. package/components/table/row-with-focus-sensor.d.ts +2 -2
  281. package/components/table/row-with-focus-sensor.js +25 -60
  282. package/components/table/row.js +169 -235
  283. package/components/table/selection-adapter.js +2 -2
  284. package/components/table/selection-shortcuts-hoc.js +102 -126
  285. package/components/table/selection.js +150 -217
  286. package/components/table/simple-table.d.ts +0 -44
  287. package/components/table/simple-table.js +17 -59
  288. package/components/table/smart-table.d.ts +0 -48
  289. package/components/table/smart-table.js +40 -83
  290. package/components/table/table.d.ts +0 -2
  291. package/components/table/table.js +268 -377
  292. package/components/tabs/collapsible-more.d.ts +1 -9
  293. package/components/tabs/collapsible-more.js +47 -97
  294. package/components/tabs/collapsible-tab.js +32 -44
  295. package/components/tabs/collapsible-tabs.d.ts +2 -29
  296. package/components/tabs/collapsible-tabs.js +89 -161
  297. package/components/tabs/custom-item.d.ts +1 -7
  298. package/components/tabs/custom-item.js +4 -7
  299. package/components/tabs/dumb-tabs.d.ts +0 -11
  300. package/components/tabs/dumb-tabs.js +60 -104
  301. package/components/tabs/smart-tabs.d.ts +0 -6
  302. package/components/tabs/smart-tabs.js +29 -68
  303. package/components/tabs/tab-link.d.ts +0 -8
  304. package/components/tabs/tab-link.js +1 -4
  305. package/components/tabs/tab.d.ts +0 -8
  306. package/components/tabs/tab.js +14 -32
  307. package/components/tabs/tabs.js +1 -28
  308. package/components/tag/tag.d.ts +0 -19
  309. package/components/tag/tag.js +120 -179
  310. package/components/tags-input/tags-input.d.ts +7 -33
  311. package/components/tags-input/tags-input.js +223 -338
  312. package/components/tags-list/tags-list.d.ts +0 -13
  313. package/components/tags-list/tags-list.js +45 -74
  314. package/components/text/text.d.ts +0 -7
  315. package/components/text/text.js +27 -43
  316. package/components/toggle/toggle.d.ts +0 -15
  317. package/components/toggle/toggle.js +51 -76
  318. package/components/tooltip/tooltip.d.ts +0 -9
  319. package/components/tooltip/tooltip.js +109 -150
  320. package/components/user-agreement/service.js +259 -401
  321. package/components/user-agreement/user-agreement.d.ts +0 -18
  322. package/components/user-agreement/user-agreement.js +91 -137
  323. package/components/user-card/card.d.ts +0 -35
  324. package/components/user-card/card.js +1 -26
  325. package/components/user-card/smart-user-card-tooltip.d.ts +0 -5
  326. package/components/user-card/smart-user-card-tooltip.js +52 -108
  327. package/components/user-card/tooltip.d.ts +0 -9
  328. package/components/user-card/tooltip.js +35 -74
  329. package/components/user-card/user-card.js +1 -26
  330. package/package.json +1 -2
  331. package/components/global/prop-types.d.ts +0 -4
  332. package/components/global/prop-types.js +0 -9
  333. package/components/global/react-render-adapter.d.ts +0 -1
  334. package/components/global/react-render-adapter.js +0 -6
  335. package/components/header/tray-icon.d.ts +0 -1
  336. package/components/header/tray-icon.js +0 -26
@@ -1,254 +1,227 @@
1
- import { _ as _defineProperty, b as _createClass, e as _classCallCheck } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.object.to-string.js';
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
3
2
  import 'core-js/modules/es.regexp.exec.js';
4
- import 'core-js/modules/es.regexp.to-string.js';
5
3
  import 'core-js/modules/es.string.replace.js';
6
4
  import { getRect } from '../global/dom.js';
7
- import 'core-js/modules/es.array.filter.js';
8
- import 'core-js/modules/es.array.iterator.js';
9
- import 'core-js/modules/es.object.assign.js';
10
- import 'core-js/modules/es.object.entries.js';
11
- import 'core-js/modules/es.set.js';
12
- import 'core-js/modules/es.string.split.js';
13
- import 'core-js/modules/web.dom-collections.for-each.js';
14
5
  import 'core-js/modules/web.dom-collections.iterator.js';
15
6
 
16
7
  /**
17
8
  * @name Caret
18
9
  */
19
- var Caret = /*#__PURE__*/function () {
20
- function Caret(target) {
21
- _classCallCheck(this, Caret);
10
+ class Caret {
11
+ /**
12
+ * Line endings normalizer
13
+ * Borrowed from jQuery
14
+ * @see https://github.com/jquery/jquery/blob/master/src/attributes/val.js
15
+ * @param value {*}
16
+ * @return {*}
17
+ */
18
+ static normalizeNewlines(value) {
19
+ return typeof value === 'string' ? value.replace(this.returnRE, '') : value;
20
+ }
21
+ constructor(target) {
22
22
  _defineProperty(this, "target", void 0);
23
23
  this.target = target;
24
24
  }
25
- return _createClass(Caret, [{
26
- key: "isContentEditable",
27
- value: function isContentEditable() {
28
- return this.target.contentEditable === 'true';
25
+ isContentEditable() {
26
+ return this.target.contentEditable === 'true';
27
+ }
28
+ /**
29
+ * Set focus on target if possible
30
+ */
31
+ focus() {
32
+ if (!document.activeElement || document.activeElement !== this.target) {
33
+ this.target.focus();
29
34
  }
30
- /**
31
- * Set focus on target if possible
32
- */
33
- }, {
34
- key: "focus",
35
- value: function focus() {
36
- if (!document.activeElement || document.activeElement !== this.target) {
37
- this.target.focus();
35
+ }
36
+ /**
37
+ * Get absolute caret position index
38
+ * @return {number}
39
+ */
40
+ getAbsolutePosition(node) {
41
+ let _curNode = node;
42
+ let curPos = 0;
43
+ while (_curNode != null && _curNode !== this.target) {
44
+ while (_curNode.previousSibling) {
45
+ var _curNode$previousSibl, _curNode$previousSibl2;
46
+ 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;
47
+ _curNode = _curNode.previousSibling;
38
48
  }
49
+ _curNode = _curNode.parentNode;
39
50
  }
40
- /**
41
- * Get absolute caret position index
42
- * @return {number}
43
- */
44
- }, {
45
- key: "getAbsolutePosition",
46
- value: function getAbsolutePosition(node) {
47
- var _curNode = node;
48
- var curPos = 0;
49
- while (_curNode != null && _curNode !== this.target) {
50
- while (_curNode.previousSibling) {
51
- var _curNode$previousSibl, _curNode$previousSibl2;
52
- curPos += (_curNode$previousSibl = (_curNode$previousSibl2 = _curNode.previousSibling.textContent) === null || _curNode$previousSibl2 === void 0 ? void 0 : _curNode$previousSibl2.length) !== null && _curNode$previousSibl !== void 0 ? _curNode$previousSibl : 0;
53
- _curNode = _curNode.previousSibling;
54
- }
55
- _curNode = _curNode.parentNode;
51
+ return curPos;
52
+ }
53
+ /**
54
+ * Get caret position index
55
+ * @param {Object} [params]
56
+ * @param {boolean} params.avoidFocus
57
+ * @return {number}
58
+ */
59
+ getPosition() {
60
+ let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
61
+ if (this.isContentEditable()) {
62
+ if (!params.avoidFocus) {
63
+ this.focus();
56
64
  }
57
- return curPos;
58
- }
59
- /**
60
- * Get caret position index
61
- * @param {Object} [params]
62
- * @param {boolean} params.avoidFocus
63
- * @return {number}
64
- */
65
- }, {
66
- key: "getPosition",
67
- value: function getPosition() {
68
- var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
69
- if (this.isContentEditable()) {
70
- if (!params.avoidFocus) {
71
- this.focus();
72
- }
73
- var selection = window.getSelection();
74
- if (!(selection !== null && selection !== void 0 && selection.rangeCount)) {
75
- return 0;
76
- }
77
- var range1 = selection.getRangeAt(0);
78
- var range2 = range1.cloneRange();
79
- range2.selectNodeContents(this.target);
80
- range2.setEnd(range1.endContainer, range1.endOffset);
81
- var _curNode = range1.startContainer;
82
- if (this.target === _curNode) {
83
- return range1.startOffset === 0 || _curNode.textContent == null ? 0 : _curNode.textContent.length;
84
- } else if (!this.target.contains(_curNode)) {
85
- return -1;
86
- } else if (!_curNode) {
87
- return 'selectionStart' in this.target && this.target.selectionStart || -1;
88
- }
89
- var curPos = this.getAbsolutePosition(_curNode);
90
- if (range1.startContainer === range1.endContainer) {
91
- if (range1.startOffset === range1.endOffset) {
92
- return curPos + range1.startOffset;
93
- } else {
94
- return {
95
- startOffset: curPos + range1.startOffset,
96
- endOffset: curPos + range1.endOffset,
97
- position: range2.toString().length
98
- };
99
- }
65
+ const selection = window.getSelection();
66
+ if (!(selection !== null && selection !== void 0 && selection.rangeCount)) {
67
+ return 0;
68
+ }
69
+ const range1 = selection.getRangeAt(0);
70
+ const range2 = range1.cloneRange();
71
+ range2.selectNodeContents(this.target);
72
+ range2.setEnd(range1.endContainer, range1.endOffset);
73
+ const _curNode = range1.startContainer;
74
+ if (this.target === _curNode) {
75
+ return range1.startOffset === 0 || _curNode.textContent == null ? 0 : _curNode.textContent.length;
76
+ } else if (!this.target.contains(_curNode)) {
77
+ return -1;
78
+ } else if (!_curNode) {
79
+ return 'selectionStart' in this.target && this.target.selectionStart || -1;
80
+ }
81
+ const curPos = this.getAbsolutePosition(_curNode);
82
+ if (range1.startContainer === range1.endContainer) {
83
+ if (range1.startOffset === range1.endOffset) {
84
+ return curPos + range1.startOffset;
100
85
  } else {
101
- var startOffset = curPos + range1.startOffset;
102
- var endPos = this.getAbsolutePosition(range1.endContainer);
103
- var endOffset = endPos + range1.endOffset;
104
86
  return {
105
- startOffset,
106
- endOffset,
87
+ startOffset: curPos + range1.startOffset,
88
+ endOffset: curPos + range1.endOffset,
107
89
  position: range2.toString().length
108
90
  };
109
91
  }
110
- }
111
- return 'selectionStart' in this.target && this.target.selectionStart || -1;
112
- }
113
- /**
114
- * Get relative position of query
115
- * @param {Node} curNode
116
- * @param {number} position
117
- * @return {{_correctedPosition: number, _curNode: Node}}
118
- */
119
- }, {
120
- key: "getRelativePosition",
121
- value: function getRelativePosition(curNode, position) {
122
- var curPos = 0;
123
- var _curNode = curNode;
124
- var nodeTypeText = 3;
125
- if (!_curNode) {
126
- return {
127
- _curNode: this.target,
128
- _correctedPosition: position
129
- };
130
- }
131
- if (position === 0) {
132
- while (_curNode.nodeType !== nodeTypeText) {
133
- _curNode = _curNode.childNodes[0];
134
- }
135
- var _correctedPosition2 = position;
92
+ } else {
93
+ const startOffset = curPos + range1.startOffset;
94
+ const endPos = this.getAbsolutePosition(range1.endContainer);
95
+ const endOffset = endPos + range1.endOffset;
136
96
  return {
137
- _curNode,
138
- _correctedPosition: _correctedPosition2
97
+ startOffset,
98
+ endOffset,
99
+ position: range2.toString().length
139
100
  };
140
101
  }
141
- var i = -1;
142
- if (_curNode && _curNode.nodeType !== undefined) {
143
- while (curPos < position && _curNode.nodeType !== nodeTypeText) {
144
- i++;
145
- if (_curNode.childNodes[i] != null) {
146
- var _curNode$childNodes$i, _curNode$childNodes$i2;
147
- curPos += (_curNode$childNodes$i = (_curNode$childNodes$i2 = _curNode.childNodes[i].textContent) === null || _curNode$childNodes$i2 === void 0 ? void 0 : _curNode$childNodes$i2.length) !== null && _curNode$childNodes$i !== void 0 ? _curNode$childNodes$i : 0;
148
- if (curPos >= position) {
149
- var _curNode$textContent$, _curNode$textContent;
150
- _curNode = _curNode.childNodes[i];
151
- curPos -= (_curNode$textContent$ = (_curNode$textContent = _curNode.textContent) === null || _curNode$textContent === void 0 ? void 0 : _curNode$textContent.length) !== null && _curNode$textContent$ !== void 0 ? _curNode$textContent$ : 0;
152
- i = -1;
153
- }
154
- } else {
155
- break;
156
- }
157
- }
102
+ }
103
+ return 'selectionStart' in this.target && this.target.selectionStart || -1;
104
+ }
105
+ /**
106
+ * Get relative position of query
107
+ * @param {Node} curNode
108
+ * @param {number} position
109
+ * @return {{_correctedPosition: number, _curNode: Node}}
110
+ */
111
+ getRelativePosition(curNode, position) {
112
+ let curPos = 0;
113
+ let _curNode = curNode;
114
+ const nodeTypeText = 3;
115
+ if (!_curNode) {
116
+ return {
117
+ _curNode: this.target,
118
+ _correctedPosition: position
119
+ };
120
+ }
121
+ if (position === 0) {
122
+ while (_curNode.nodeType !== nodeTypeText) {
123
+ _curNode = _curNode.childNodes[0];
158
124
  }
159
- var _correctedPosition = position - curPos;
125
+ const _correctedPosition = position;
160
126
  return {
161
127
  _curNode,
162
128
  _correctedPosition
163
129
  };
164
130
  }
165
- /**
166
- * Set caret position index
167
- * @param {number} position
168
- * @return {number}
169
- */
170
- }, {
171
- key: "setPosition",
172
- value: function setPosition(position) {
173
- var isContentEditable = this.isContentEditable();
174
- var correctedPosition;
175
- var curNode = this.target && this.target.childNodes[0];
176
- if (position !== undefined) {
177
- if (typeof position === 'object') {
178
- var range = new Range();
179
- var start = this.getRelativePosition(curNode, position.startOffset);
180
- range.setStart(start._curNode, start._correctedPosition);
181
- var end = this.getRelativePosition(curNode, position.endOffset);
182
- range.setEnd(end._curNode, end._correctedPosition);
183
- correctedPosition = range;
184
- } else if (position === -1) {
185
- var _value$length;
186
- var value = isContentEditable ? this.target.textContent : Caret.normalizeNewlines('value' in this.target ? this.target.value : undefined);
187
- correctedPosition = (_value$length = value === null || value === void 0 ? void 0 : value.length) !== null && _value$length !== void 0 ? _value$length : 0;
131
+ let i = -1;
132
+ if (_curNode && _curNode.nodeType !== undefined) {
133
+ while (curPos < position && _curNode.nodeType !== nodeTypeText) {
134
+ i++;
135
+ if (_curNode.childNodes[i] != null) {
136
+ var _curNode$childNodes$i, _curNode$childNodes$i2;
137
+ 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;
138
+ if (curPos >= position) {
139
+ var _curNode$textContent$, _curNode$textContent;
140
+ _curNode = _curNode.childNodes[i];
141
+ 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;
142
+ i = -1;
143
+ }
188
144
  } else {
189
- var _this$getRelativePosi = this.getRelativePosition(curNode, position),
190
- _curNode = _this$getRelativePosi._curNode,
191
- _correctedPosition = _this$getRelativePosi._correctedPosition;
192
- curNode = _curNode;
193
- correctedPosition = _correctedPosition;
145
+ break;
194
146
  }
195
147
  }
196
- if (isContentEditable) {
197
- this.focus();
198
- try {
199
- if (correctedPosition instanceof Range) {
200
- var _window$getSelection, _window$getSelection2;
201
- (_window$getSelection = window.getSelection()) === null || _window$getSelection === void 0 || _window$getSelection.removeAllRanges();
202
- (_window$getSelection2 = window.getSelection()) === null || _window$getSelection2 === void 0 || _window$getSelection2.addRange(correctedPosition);
203
- } else {
204
- var _window$getSelection3;
205
- (_window$getSelection3 = window.getSelection()) === null || _window$getSelection3 === void 0 || _window$getSelection3.collapse(curNode || this.target, correctedPosition);
206
- }
207
- } catch (e) {
208
- // Do nothing
209
- }
210
- } else if ('setSelectionRange' in this.target && typeof correctedPosition === 'number') {
211
- this.target.setSelectionRange(correctedPosition, correctedPosition);
148
+ }
149
+ const _correctedPosition = position - curPos;
150
+ return {
151
+ _curNode,
152
+ _correctedPosition
153
+ };
154
+ }
155
+ /**
156
+ * Set caret position index
157
+ * @param {number} position
158
+ * @return {number}
159
+ */
160
+ setPosition(position) {
161
+ const isContentEditable = this.isContentEditable();
162
+ let correctedPosition;
163
+ let curNode = this.target && this.target.childNodes[0];
164
+ if (position !== undefined) {
165
+ if (typeof position === 'object') {
166
+ const range = new Range();
167
+ const start = this.getRelativePosition(curNode, position.startOffset);
168
+ range.setStart(start._curNode, start._correctedPosition);
169
+ const end = this.getRelativePosition(curNode, position.endOffset);
170
+ range.setEnd(end._curNode, end._correctedPosition);
171
+ correctedPosition = range;
172
+ } else if (position === -1) {
173
+ var _value$length;
174
+ const value = isContentEditable ? this.target.textContent : Caret.normalizeNewlines('value' in this.target ? this.target.value : undefined);
175
+ correctedPosition = (_value$length = value === null || value === void 0 ? void 0 : value.length) !== null && _value$length !== void 0 ? _value$length : 0;
176
+ } else {
177
+ const {
178
+ _curNode,
179
+ _correctedPosition
180
+ } = this.getRelativePosition(curNode, position);
181
+ curNode = _curNode;
182
+ correctedPosition = _correctedPosition;
212
183
  }
213
- return correctedPosition;
214
184
  }
215
- /**
216
- * Get caret position in pixels
217
- * @return {number}
218
- */
219
- }, {
220
- key: "getOffset",
221
- value: function getOffset() {
222
- var offset = 0;
223
- var range;
185
+ if (isContentEditable) {
186
+ this.focus();
224
187
  try {
225
- var _window$getSelection4, _range;
226
- // Both statements may throw
227
- range = (_window$getSelection4 = window.getSelection()) === null || _window$getSelection4 === void 0 ? void 0 : _window$getSelection4.getRangeAt(0).cloneRange();
228
- (_range = range) === null || _range === void 0 || _range.setStart(range.startContainer, range.startOffset - 1);
188
+ if (correctedPosition instanceof Range) {
189
+ var _window$getSelection, _window$getSelection2;
190
+ (_window$getSelection = window.getSelection()) === null || _window$getSelection === void 0 || _window$getSelection.removeAllRanges();
191
+ (_window$getSelection2 = window.getSelection()) === null || _window$getSelection2 === void 0 || _window$getSelection2.addRange(correctedPosition);
192
+ } else {
193
+ var _window$getSelection3;
194
+ (_window$getSelection3 = window.getSelection()) === null || _window$getSelection3 === void 0 || _window$getSelection3.collapse(curNode || this.target, correctedPosition);
195
+ }
229
196
  } catch (e) {
230
- return offset;
231
- }
232
- if (range && range.endOffset !== 0 && range.toString() !== '') {
233
- offset = getRect(range).right - getRect(this.target).left - (range.startContainer instanceof HTMLElement && range.startContainer.offsetLeft || 0);
197
+ // Do nothing
234
198
  }
199
+ } else if ('setSelectionRange' in this.target && typeof correctedPosition === 'number') {
200
+ this.target.setSelectionRange(correctedPosition, correctedPosition);
201
+ }
202
+ return correctedPosition;
203
+ }
204
+ /**
205
+ * Get caret position in pixels
206
+ * @return {number}
207
+ */
208
+ getOffset() {
209
+ let offset = 0;
210
+ let range;
211
+ try {
212
+ var _window$getSelection4, _range;
213
+ // Both statements may throw
214
+ range = (_window$getSelection4 = window.getSelection()) === null || _window$getSelection4 === void 0 ? void 0 : _window$getSelection4.getRangeAt(0).cloneRange();
215
+ (_range = range) === null || _range === void 0 || _range.setStart(range.startContainer, range.startOffset - 1);
216
+ } catch (e) {
235
217
  return offset;
236
218
  }
237
- }], [{
238
- key: "normalizeNewlines",
239
- value:
240
- /**
241
- * Line endings normalizer
242
- * Borrowed from jQuery
243
- * @see https://github.com/jquery/jquery/blob/master/src/attributes/val.js
244
- * @param value {*}
245
- * @return {*}
246
- */
247
- function normalizeNewlines(value) {
248
- return typeof value === 'string' ? value.replace(this.returnRE, '') : value;
219
+ if (range && range.endOffset !== 0 && range.toString() !== '') {
220
+ offset = getRect(range).right - getRect(this.target).left - (range.startContainer instanceof HTMLElement && range.startContainer.offsetLeft || 0);
249
221
  }
250
- }]);
251
- }();
222
+ return offset;
223
+ }
224
+ }
252
225
  /**
253
226
  * Line endings RegExp
254
227
  * @type {RegExp}
@@ -1,5 +1,4 @@
1
1
  import { PureComponent, InputHTMLAttributes, CSSProperties, Ref, ReactNode } from 'react';
2
- import PropTypes from 'prop-types';
3
2
  export interface CheckboxProps extends InputHTMLAttributes<HTMLInputElement> {
4
3
  label?: string | null | undefined;
5
4
  containerClassName?: string | null | undefined;
@@ -17,24 +16,6 @@ export interface CheckboxProps extends InputHTMLAttributes<HTMLInputElement> {
17
16
  * Displays a checkbox.
18
17
  */
19
18
  export default class Checkbox extends PureComponent<CheckboxProps> {
20
- static propTypes: {
21
- name: PropTypes.Requireable<string>;
22
- label: PropTypes.Requireable<string>;
23
- className: PropTypes.Requireable<string>;
24
- containerClassName: PropTypes.Requireable<string>;
25
- containerStyle: PropTypes.Requireable<object>;
26
- cellClassName: PropTypes.Requireable<string>;
27
- labelClassName: PropTypes.Requireable<string>;
28
- defaultChecked: PropTypes.Requireable<boolean>;
29
- checked: PropTypes.Requireable<boolean>;
30
- indeterminate: PropTypes.Requireable<boolean>;
31
- disabled: PropTypes.Requireable<boolean>;
32
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
33
- children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
34
- inputRef: PropTypes.Requireable<NonNullable<((...args: any[]) => any) | PropTypes.InferProps<{
35
- current: PropTypes.Validator<HTMLInputElement | null | undefined>;
36
- }> | null | undefined>>;
37
- };
38
19
  static defaultProps: {
39
20
  indeterminate: boolean;
40
21
  };