@jetbrains/ring-ui-built 7.0.0-beta.1 → 7.0.0-beta.11

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