@jetbrains/ring-ui-built 6.1.1-beta.0 → 7.0.0-beta.10

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