@jetbrains/ring-ui 6.0.6-beta.0 → 6.0.6

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 (510) hide show
  1. package/README.md +1 -1
  2. package/components/alert/alert.css +146 -0
  3. package/components/alert/alert.d.ts +113 -0
  4. package/components/alert/alert.js +186 -0
  5. package/components/alert/container.css +26 -0
  6. package/components/alert/container.d.ts +15 -0
  7. package/components/alert/container.js +30 -0
  8. package/components/alert-service/alert-service.d.ts +36 -0
  9. package/components/alert-service/alert-service.js +108 -0
  10. package/components/alert-service/alert-service.stories.css +17 -0
  11. package/components/analytics/analytics.d.ts +18 -0
  12. package/components/analytics/analytics.js +18 -0
  13. package/components/analytics/analytics__custom-plugin.d.ts +28 -0
  14. package/components/analytics/analytics__custom-plugin.js +58 -0
  15. package/components/auth/auth.d.ts +3 -0
  16. package/components/auth/auth.js +42 -0
  17. package/components/auth/auth__core.d.ts +236 -0
  18. package/components/auth/auth__core.js +834 -0
  19. package/components/auth/background-flow.d.ts +31 -0
  20. package/components/auth/background-flow.js +97 -0
  21. package/components/auth/down-notification.css +15 -0
  22. package/components/auth/down-notification.d.ts +15 -0
  23. package/components/auth/down-notification.js +52 -0
  24. package/components/auth/iframe-flow.d.ts +20 -0
  25. package/components/auth/iframe-flow.js +81 -0
  26. package/components/auth/request-builder.d.ts +48 -0
  27. package/components/auth/request-builder.js +64 -0
  28. package/components/auth/response-parser.d.ts +70 -0
  29. package/components/auth/response-parser.js +99 -0
  30. package/components/auth/storage.d.ts +112 -0
  31. package/components/auth/storage.js +224 -0
  32. package/components/auth/token-validator.d.ts +93 -0
  33. package/components/auth/token-validator.js +169 -0
  34. package/components/auth/window-flow.d.ts +26 -0
  35. package/components/auth/window-flow.js +102 -0
  36. package/components/auth-dialog/auth-dialog.css +54 -0
  37. package/components/auth-dialog/auth-dialog.d.ts +60 -0
  38. package/components/auth-dialog/auth-dialog.js +93 -0
  39. package/components/auth-dialog-service/auth-dialog-service.d.ts +6 -0
  40. package/components/auth-dialog-service/auth-dialog-service.js +26 -0
  41. package/components/avatar/avatar-example-datauri.d.ts +1 -0
  42. package/components/avatar/avatar-example-datauri.js +24 -0
  43. package/components/avatar/avatar.css +27 -0
  44. package/components/avatar/avatar.d.ts +52 -0
  45. package/components/avatar/avatar.js +98 -0
  46. package/components/avatar/fallback-avatar.d.ts +17 -0
  47. package/components/avatar/fallback-avatar.js +113 -0
  48. package/components/badge/badge.css +42 -0
  49. package/components/badge/badge.d.ts +24 -0
  50. package/components/badge/badge.js +35 -0
  51. package/components/button/button.css +397 -0
  52. package/components/button/button.d.ts +67 -0
  53. package/components/button/button.js +70 -0
  54. package/components/button/button__classes.d.ts +2 -0
  55. package/components/button/button__classes.js +18 -0
  56. package/components/button-group/button-group.css +236 -0
  57. package/components/button-group/button-group.d.ts +18 -0
  58. package/components/button-group/button-group.js +21 -0
  59. package/components/button-group/caption.d.ts +8 -0
  60. package/components/button-group/caption.js +14 -0
  61. package/components/button-set/button-set.css +21 -0
  62. package/components/button-set/button-set.d.ts +16 -0
  63. package/components/button-set/button-set.js +22 -0
  64. package/components/button-toolbar/button-toolbar.css +25 -0
  65. package/components/button-toolbar/button-toolbar.d.ts +16 -0
  66. package/components/button-toolbar/button-toolbar.js +20 -0
  67. package/components/caret/caret.d.ts +66 -0
  68. package/components/caret/caret.js +216 -0
  69. package/components/checkbox/checkbox.css +146 -0
  70. package/components/checkbox/checkbox.d.ts +45 -0
  71. package/components/checkbox/checkbox.js +72 -0
  72. package/components/clipboard/clipboard-fallback.d.ts +2 -0
  73. package/components/clipboard/clipboard-fallback.js +44 -0
  74. package/components/clipboard/clipboard.d.ts +5 -0
  75. package/components/clipboard/clipboard.js +41 -0
  76. package/components/code/code.css +29 -0
  77. package/components/code/code.d.ts +44 -0
  78. package/components/code/code.js +94 -0
  79. package/components/code/highlight.css +112 -0
  80. package/components/collapse/collapse-content.d.ts +11 -0
  81. package/components/collapse/collapse-content.js +72 -0
  82. package/components/collapse/collapse-context.d.ts +10 -0
  83. package/components/collapse/collapse-context.js +10 -0
  84. package/components/collapse/collapse-control.d.ts +11 -0
  85. package/components/collapse/collapse-control.js +22 -0
  86. package/components/collapse/collapse.css +40 -0
  87. package/components/collapse/collapse.d.ts +12 -0
  88. package/components/collapse/collapse.js +26 -0
  89. package/components/collapse/collapse.stories.css +25 -0
  90. package/components/collapse/consts.d.ts +4 -0
  91. package/components/collapse/consts.js +4 -0
  92. package/components/collapse/utils.d.ts +1 -0
  93. package/components/collapse/utils.js +1 -0
  94. package/components/confirm/confirm.css +7 -0
  95. package/components/confirm/confirm.d.ts +48 -0
  96. package/components/confirm/confirm.js +59 -0
  97. package/components/confirm-service/confirm-service.d.ts +21 -0
  98. package/components/confirm-service/confirm-service.js +52 -0
  99. package/components/content-layout/content-layout.css +108 -0
  100. package/components/content-layout/content-layout.d.ts +26 -0
  101. package/components/content-layout/content-layout.js +45 -0
  102. package/components/content-layout/sidebar.d.ts +31 -0
  103. package/components/content-layout/sidebar.js +76 -0
  104. package/components/contenteditable/contenteditable.d.ts +47 -0
  105. package/components/contenteditable/contenteditable.js +47 -0
  106. package/components/control-label/control-label.css +23 -0
  107. package/components/control-label/control-label.d.ts +11 -0
  108. package/components/control-label/control-label.js +22 -0
  109. package/components/data-list/data-list.css +97 -0
  110. package/components/data-list/data-list.d.ts +85 -0
  111. package/components/data-list/data-list.js +119 -0
  112. package/components/data-list/data-list.mock.d.ts +16 -0
  113. package/components/data-list/data-list.mock.js +207 -0
  114. package/components/data-list/item.d.ts +50 -0
  115. package/components/data-list/item.js +114 -0
  116. package/components/data-list/selection.d.ts +16 -0
  117. package/components/data-list/selection.js +81 -0
  118. package/components/data-list/title.d.ts +26 -0
  119. package/components/data-list/title.js +65 -0
  120. package/components/date-picker/consts.d.ts +98 -0
  121. package/components/date-picker/consts.js +44 -0
  122. package/components/date-picker/date-input.d.ts +47 -0
  123. package/components/date-picker/date-input.js +91 -0
  124. package/components/date-picker/date-picker.css +602 -0
  125. package/components/date-picker/date-picker.d.ts +77 -0
  126. package/components/date-picker/date-picker.js +218 -0
  127. package/components/date-picker/date-popup.d.ts +55 -0
  128. package/components/date-picker/date-popup.js +347 -0
  129. package/components/date-picker/day.d.ts +30 -0
  130. package/components/date-picker/day.js +88 -0
  131. package/components/date-picker/formats.d.ts +2 -0
  132. package/components/date-picker/formats.js +1 -0
  133. package/components/date-picker/month-names.d.ts +13 -0
  134. package/components/date-picker/month-names.js +62 -0
  135. package/components/date-picker/month-slider.d.ts +29 -0
  136. package/components/date-picker/month-slider.js +56 -0
  137. package/components/date-picker/month.d.ts +14 -0
  138. package/components/date-picker/month.js +33 -0
  139. package/components/date-picker/months.d.ts +11 -0
  140. package/components/date-picker/months.js +101 -0
  141. package/components/date-picker/weekdays.d.ts +13 -0
  142. package/components/date-picker/weekdays.js +24 -0
  143. package/components/date-picker/years.d.ts +25 -0
  144. package/components/date-picker/years.js +87 -0
  145. package/components/dialog/dialog.css +137 -0
  146. package/components/dialog/dialog.d.ts +64 -0
  147. package/components/dialog/dialog.js +128 -0
  148. package/components/dialog/dialog__body-scroll-preventer.d.ts +9 -0
  149. package/components/dialog/dialog__body-scroll-preventer.js +43 -0
  150. package/components/dropdown/anchor.d.ts +11 -0
  151. package/components/dropdown/anchor.js +16 -0
  152. package/components/dropdown/dropdown.css +18 -0
  153. package/components/dropdown/dropdown.d.ts +87 -0
  154. package/components/dropdown/dropdown.js +159 -0
  155. package/components/dropdown-menu/dropdown-menu.d.ts +36 -0
  156. package/components/dropdown-menu/dropdown-menu.js +56 -0
  157. package/components/editable-heading/editable-heading.css +198 -0
  158. package/components/editable-heading/editable-heading.d.ts +32 -0
  159. package/components/editable-heading/editable-heading.js +141 -0
  160. package/components/error-bubble/error-bubble-legacy.css +77 -0
  161. package/components/error-bubble/error-bubble.css +54 -0
  162. package/components/error-bubble/error-bubble.d.ts +18 -0
  163. package/components/error-bubble/error-bubble.js +28 -0
  164. package/components/error-message/error-message.css +37 -0
  165. package/components/error-message/error-message.d.ts +27 -0
  166. package/components/error-message/error-message.js +37 -0
  167. package/components/error-page/error-page.css +24 -0
  168. package/components/error-page/error-page.gif +0 -0
  169. package/components/footer/footer.css +83 -0
  170. package/components/footer/footer.d.ts +28 -0
  171. package/components/footer/footer.js +97 -0
  172. package/components/form/form.css +266 -0
  173. package/components/form/form.stories.js +138 -0
  174. package/components/global/compose.d.ts +7 -0
  175. package/components/global/compose.js +4 -0
  176. package/components/global/composeRefs.d.ts +3 -0
  177. package/components/global/composeRefs.js +8 -0
  178. package/components/global/controls-height.d.ts +9 -0
  179. package/components/global/controls-height.js +16 -0
  180. package/components/global/create-stateful-context.d.ts +27 -0
  181. package/components/global/create-stateful-context.js +38 -0
  182. package/components/global/data-tests.d.ts +3 -0
  183. package/components/global/data-tests.js +17 -0
  184. package/components/global/dom.d.ts +37 -0
  185. package/components/global/dom.js +83 -0
  186. package/components/global/focus-sensor-hoc.d.ts +19 -0
  187. package/components/global/focus-sensor-hoc.js +102 -0
  188. package/components/global/fuzzy-highlight.d.ts +11 -0
  189. package/components/global/fuzzy-highlight.js +58 -0
  190. package/components/global/get-event-key.d.ts +2 -0
  191. package/components/global/get-event-key.js +100 -0
  192. package/components/global/get-uid.d.ts +1 -0
  193. package/components/global/get-uid.js +16 -0
  194. package/components/global/global.css +101 -0
  195. package/components/global/inject-styles.d.ts +3 -0
  196. package/components/global/inject-styles.js +12 -0
  197. package/components/global/linear-function.d.ts +6 -0
  198. package/components/global/linear-function.js +13 -0
  199. package/components/global/listeners.d.ts +8 -0
  200. package/components/global/listeners.js +27 -0
  201. package/components/global/memoize.d.ts +1 -0
  202. package/components/global/memoize.js +15 -0
  203. package/components/global/normalize-indent.d.ts +1 -0
  204. package/components/global/normalize-indent.js +30 -0
  205. package/components/global/promise-with-timeout.d.ts +5 -0
  206. package/components/global/promise-with-timeout.js +11 -0
  207. package/components/global/prop-types.d.ts +4 -0
  208. package/components/global/prop-types.js +4 -0
  209. package/components/global/react-dom-renderer.d.ts +16 -0
  210. package/components/global/react-dom-renderer.js +25 -0
  211. package/components/global/react-render-adapter.d.ts +1 -0
  212. package/components/global/react-render-adapter.js +3 -0
  213. package/components/global/rerender-hoc.d.ts +10 -0
  214. package/components/global/rerender-hoc.js +14 -0
  215. package/components/global/schedule-raf.d.ts +1 -0
  216. package/components/global/schedule-raf.js +27 -0
  217. package/components/global/sniffer.d.ts +3 -0
  218. package/components/global/sniffer.js +4 -0
  219. package/components/global/theme.d.ts +21 -0
  220. package/components/global/theme.js +70 -0
  221. package/components/global/trivial-template-tag.d.ts +1 -0
  222. package/components/global/trivial-template-tag.js +9 -0
  223. package/components/global/typescript-utils.d.ts +2 -0
  224. package/components/global/typescript-utils.js +2 -0
  225. package/components/global/url.d.ts +57 -0
  226. package/components/global/url.js +136 -0
  227. package/components/global/use-event-callback.d.ts +1 -0
  228. package/components/global/use-event-callback.js +14 -0
  229. package/components/global/variables.css +179 -0
  230. package/components/global/variables.d.ts +89 -0
  231. package/components/global/variables.js +1 -0
  232. package/components/global/variables_dark.css +132 -0
  233. package/components/grid/col.d.ts +31 -0
  234. package/components/grid/col.js +49 -0
  235. package/components/grid/grid.css +915 -0
  236. package/components/grid/grid.d.ts +14 -0
  237. package/components/grid/grid.js +22 -0
  238. package/components/grid/row.d.ts +40 -0
  239. package/components/grid/row.js +51 -0
  240. package/components/group/group.css +7 -0
  241. package/components/group/group.d.ts +12 -0
  242. package/components/group/group.js +20 -0
  243. package/components/header/header.css +169 -0
  244. package/components/header/header.d.ts +34 -0
  245. package/components/header/header.js +46 -0
  246. package/components/header/logo.d.ts +14 -0
  247. package/components/header/logo.js +22 -0
  248. package/components/header/profile.d.ts +75 -0
  249. package/components/header/profile.js +119 -0
  250. package/components/header/services-link.d.ts +25 -0
  251. package/components/header/services-link.js +26 -0
  252. package/components/header/services.css +97 -0
  253. package/components/header/services.d.ts +33 -0
  254. package/components/header/services.js +62 -0
  255. package/components/header/smart-profile.d.ts +36 -0
  256. package/components/header/smart-profile.js +86 -0
  257. package/components/header/smart-services.d.ts +26 -0
  258. package/components/header/smart-services.js +49 -0
  259. package/components/header/tray-icon.d.ts +32 -0
  260. package/components/header/tray-icon.js +20 -0
  261. package/components/header/tray.d.ts +9 -0
  262. package/components/header/tray.js +18 -0
  263. package/components/heading/heading.css +68 -0
  264. package/components/heading/heading.d.ts +25 -0
  265. package/components/heading/heading.js +52 -0
  266. package/components/http/http.d.ts +61 -0
  267. package/components/http/http.js +192 -0
  268. package/components/http/http.mock.d.ts +20 -0
  269. package/components/http/http.mock.js +52 -0
  270. package/components/hub-source/hub-source.d.ts +44 -0
  271. package/components/hub-source/hub-source.js +107 -0
  272. package/components/hub-source/hub-source__user.d.ts +4 -0
  273. package/components/hub-source/hub-source__user.js +20 -0
  274. package/components/hub-source/hub-source__users-groups.d.ts +24 -0
  275. package/components/hub-source/hub-source__users-groups.js +53 -0
  276. package/components/i18n/README.md +46 -0
  277. package/components/i18n/i18n-context.d.ts +13 -0
  278. package/components/i18n/i18n-context.js +14 -0
  279. package/components/i18n/i18n.d.ts +59 -0
  280. package/components/i18n/i18n.js +26 -0
  281. package/components/i18n/messages.json +53 -0
  282. package/components/icon/icon.css +100 -0
  283. package/components/icon/icon.d.ts +43 -0
  284. package/components/icon/icon.js +69 -0
  285. package/components/icon/icon__constants.d.ts +30 -0
  286. package/components/icon/icon__constants.js +32 -0
  287. package/components/icon/icon__svg.d.ts +15 -0
  288. package/components/icon/icon__svg.js +58 -0
  289. package/components/icon/index.d.ts +2 -0
  290. package/components/icon/index.js +2 -0
  291. package/components/input/input-legacy.css +123 -0
  292. package/components/input/input.css +194 -0
  293. package/components/input/input.d.ts +77 -0
  294. package/components/input/input.js +165 -0
  295. package/components/input-size/input-size.css +82 -0
  296. package/components/input-size/input-size.stories.js +73 -0
  297. package/components/island/adaptive-island-hoc.d.ts +61 -0
  298. package/components/island/adaptive-island-hoc.js +28 -0
  299. package/components/island/content.d.ts +43 -0
  300. package/components/island/content.js +100 -0
  301. package/components/island/header.d.ts +8 -0
  302. package/components/island/header.js +78 -0
  303. package/components/island/island.css +131 -0
  304. package/components/island/island.d.ts +78 -0
  305. package/components/island/island.js +31 -0
  306. package/components/island-legacy/content-legacy.d.ts +10 -0
  307. package/components/island-legacy/content-legacy.js +17 -0
  308. package/components/island-legacy/header-legacy.d.ts +10 -0
  309. package/components/island-legacy/header-legacy.js +19 -0
  310. package/components/island-legacy/island-legacy.css +98 -0
  311. package/components/island-legacy/island-legacy.d.ts +12 -0
  312. package/components/island-legacy/island-legacy.js +19 -0
  313. package/components/line/line.css +14 -0
  314. package/components/link/clickableLink.d.ts +20 -0
  315. package/components/link/clickableLink.js +33 -0
  316. package/components/link/link.css +64 -0
  317. package/components/link/link.d.ts +138 -0
  318. package/components/link/link.js +44 -0
  319. package/components/list/consts.d.ts +77 -0
  320. package/components/list/consts.js +25 -0
  321. package/components/list/list.css +298 -0
  322. package/components/list/list.d.ts +205 -0
  323. package/components/list/list.js +590 -0
  324. package/components/list/list.stories.css +3 -0
  325. package/components/list/list__custom.d.ts +6 -0
  326. package/components/list/list__custom.js +52 -0
  327. package/components/list/list__hint.d.ts +15 -0
  328. package/components/list/list__hint.js +16 -0
  329. package/components/list/list__item.d.ts +8 -0
  330. package/components/list/list__item.js +130 -0
  331. package/components/list/list__link.d.ts +9 -0
  332. package/components/list/list__link.js +43 -0
  333. package/components/list/list__separator.d.ts +5 -0
  334. package/components/list/list__separator.js +21 -0
  335. package/components/list/list__title.d.ts +5 -0
  336. package/components/list/list__title.js +28 -0
  337. package/components/list/list__users-groups-source.d.ts +27 -0
  338. package/components/list/list__users-groups-source.js +74 -0
  339. package/components/loader/loader.css +27 -0
  340. package/components/loader/loader.d.ts +28 -0
  341. package/components/loader/loader.js +44 -0
  342. package/components/loader/loader__core.d.ts +75 -0
  343. package/components/loader/loader__core.js +219 -0
  344. package/components/loader-inline/loader-inline.css +73 -0
  345. package/components/loader-inline/loader-inline.d.ts +18 -0
  346. package/components/loader-inline/loader-inline.js +27 -0
  347. package/components/loader-screen/loader-screen.css +29 -0
  348. package/components/loader-screen/loader-screen.d.ts +17 -0
  349. package/components/loader-screen/loader-screen.js +25 -0
  350. package/components/login-dialog/login-dialog.css +23 -0
  351. package/components/login-dialog/login-dialog.d.ts +47 -0
  352. package/components/login-dialog/login-dialog.js +84 -0
  353. package/components/login-dialog/service.d.ts +2 -0
  354. package/components/login-dialog/service.js +24 -0
  355. package/components/markdown/markdown.css +126 -0
  356. package/components/markdown/markdown.d.ts +12 -0
  357. package/components/markdown/markdown.js +25 -0
  358. package/components/message/message.css +61 -0
  359. package/components/message/message.d.ts +55 -0
  360. package/components/message/message.js +129 -0
  361. package/components/old-browsers-message/old-browsers-message.css +26 -0
  362. package/components/old-browsers-message/old-browsers-message.d.ts +2 -0
  363. package/components/old-browsers-message/old-browsers-message.js +83 -0
  364. package/components/old-browsers-message/old-browsers-message__stop.d.ts +1 -0
  365. package/components/old-browsers-message/old-browsers-message__stop.js +2 -0
  366. package/components/old-browsers-message/white-list.d.ts +2 -0
  367. package/components/old-browsers-message/white-list.js +25 -0
  368. package/components/pager/pager.css +19 -0
  369. package/components/pager/pager.d.ts +78 -0
  370. package/components/pager/pager.js +223 -0
  371. package/components/palette/palette.css +216 -0
  372. package/components/panel/panel.css +20 -0
  373. package/components/panel/panel.d.ts +12 -0
  374. package/components/panel/panel.js +20 -0
  375. package/components/permissions/permissions.d.ts +111 -0
  376. package/components/permissions/permissions.js +177 -0
  377. package/components/permissions/permissions__cache.d.ts +93 -0
  378. package/components/permissions/permissions__cache.js +228 -0
  379. package/components/popup/popup.consts.d.ts +37 -0
  380. package/components/popup/popup.consts.js +45 -0
  381. package/components/popup/popup.css +34 -0
  382. package/components/popup/popup.d.ts +147 -0
  383. package/components/popup/popup.js +312 -0
  384. package/components/popup/popup.target.d.ts +7 -0
  385. package/components/popup/popup.target.js +15 -0
  386. package/components/popup/position.d.ts +30 -0
  387. package/components/popup/position.js +202 -0
  388. package/components/popup-menu/popup-menu.d.ts +80 -0
  389. package/components/popup-menu/popup-menu.js +41 -0
  390. package/components/progress-bar/progress-bar.css +82 -0
  391. package/components/progress-bar/progress-bar.d.ts +64 -0
  392. package/components/progress-bar/progress-bar.js +76 -0
  393. package/components/query-assist/query-assist.css +275 -0
  394. package/components/query-assist/query-assist.d.ts +306 -0
  395. package/components/query-assist/query-assist.js +847 -0
  396. package/components/query-assist/query-assist__suggestions.d.ts +29 -0
  397. package/components/query-assist/query-assist__suggestions.js +60 -0
  398. package/components/radio/radio.css +122 -0
  399. package/components/radio/radio.d.ts +18 -0
  400. package/components/radio/radio.js +27 -0
  401. package/components/radio/radio__item.d.ts +28 -0
  402. package/components/radio/radio__item.js +41 -0
  403. package/components/select/select-popup.css +103 -0
  404. package/components/select/select.css +235 -0
  405. package/components/select/select.d.ts +276 -0
  406. package/components/select/select.js +957 -0
  407. package/components/select/select__filter.d.ts +19 -0
  408. package/components/select/select__filter.js +49 -0
  409. package/components/select/select__popup.d.ts +166 -0
  410. package/components/select/select__popup.js +408 -0
  411. package/components/shortcuts/core.d.ts +74 -0
  412. package/components/shortcuts/core.js +191 -0
  413. package/components/shortcuts/shortcut-title.d.ts +1 -0
  414. package/components/shortcuts/shortcut-title.js +50 -0
  415. package/components/shortcuts/shortcuts-hoc.d.ts +65 -0
  416. package/components/shortcuts/shortcuts-hoc.js +19 -0
  417. package/components/shortcuts/shortcuts.d.ts +28 -0
  418. package/components/shortcuts/shortcuts.js +50 -0
  419. package/components/sidebar/sidebar.css +157 -0
  420. package/components/storage/storage.d.ts +18 -0
  421. package/components/storage/storage.js +22 -0
  422. package/components/storage/storage__fallback.d.ts +79 -0
  423. package/components/storage/storage__fallback.js +181 -0
  424. package/components/storage/storage__local.d.ts +38 -0
  425. package/components/storage/storage__local.js +119 -0
  426. package/components/tab-trap/tab-trap.css +6 -0
  427. package/components/tab-trap/tab-trap.d.ts +43 -0
  428. package/components/tab-trap/tab-trap.js +125 -0
  429. package/components/table/cell.d.ts +13 -0
  430. package/components/table/cell.js +16 -0
  431. package/components/table/disable-hover-hoc.d.ts +64 -0
  432. package/components/table/disable-hover-hoc.js +32 -0
  433. package/components/table/header-cell.d.ts +43 -0
  434. package/components/table/header-cell.js +56 -0
  435. package/components/table/header.d.ts +56 -0
  436. package/components/table/header.js +67 -0
  437. package/components/table/multitable.d.ts +25 -0
  438. package/components/table/multitable.js +81 -0
  439. package/components/table/row-with-focus-sensor.d.ts +18 -0
  440. package/components/table/row-with-focus-sensor.js +25 -0
  441. package/components/table/row.d.ts +59 -0
  442. package/components/table/row.js +154 -0
  443. package/components/table/selection-adapter.d.ts +5 -0
  444. package/components/table/selection-adapter.js +10 -0
  445. package/components/table/selection-shortcuts-hoc.d.ts +17 -0
  446. package/components/table/selection-shortcuts-hoc.js +146 -0
  447. package/components/table/selection.d.ts +47 -0
  448. package/components/table/selection.js +150 -0
  449. package/components/table/smart-table.d.ts +64 -0
  450. package/components/table/smart-table.js +40 -0
  451. package/components/table/table.css +259 -0
  452. package/components/table/table.d.ts +159 -0
  453. package/components/table/table.examples2.json +19 -0
  454. package/components/table/table.js +231 -0
  455. package/components/table/table.stories.json +45 -0
  456. package/components/table-legacy/table-legacy.css +346 -0
  457. package/components/table-legacy/table-legacy__toolbar.css +25 -0
  458. package/components/tabs/collapsible-more.d.ts +29 -0
  459. package/components/tabs/collapsible-more.js +97 -0
  460. package/components/tabs/collapsible-tab.d.ts +16 -0
  461. package/components/tabs/collapsible-tab.js +34 -0
  462. package/components/tabs/collapsible-tabs.d.ts +43 -0
  463. package/components/tabs/collapsible-tabs.js +196 -0
  464. package/components/tabs/custom-item.d.ts +9 -0
  465. package/components/tabs/custom-item.js +5 -0
  466. package/components/tabs/dumb-tabs.d.ts +35 -0
  467. package/components/tabs/dumb-tabs.js +56 -0
  468. package/components/tabs/smart-tabs.d.ts +20 -0
  469. package/components/tabs/smart-tabs.js +25 -0
  470. package/components/tabs/tab-link.d.ts +18 -0
  471. package/components/tabs/tab-link.js +24 -0
  472. package/components/tabs/tab.d.ts +27 -0
  473. package/components/tabs/tab.js +19 -0
  474. package/components/tabs/tabs.css +223 -0
  475. package/components/tabs/tabs.d.ts +7 -0
  476. package/components/tabs/tabs.js +7 -0
  477. package/components/tag/tag.css +184 -0
  478. package/components/tag/tag.d.ts +64 -0
  479. package/components/tag/tag.js +130 -0
  480. package/components/tags-input/tags-input.css +100 -0
  481. package/components/tags-input/tags-input.d.ts +138 -0
  482. package/components/tags-input/tags-input.js +275 -0
  483. package/components/tags-list/tags-list.d.ts +46 -0
  484. package/components/tags-list/tags-list.js +45 -0
  485. package/components/text/text.css +21 -0
  486. package/components/text/text.d.ts +23 -0
  487. package/components/text/text.js +31 -0
  488. package/components/toggle/toggle.css +198 -0
  489. package/components/toggle/toggle.d.ts +39 -0
  490. package/components/toggle/toggle.js +46 -0
  491. package/components/tooltip/tooltip.css +17 -0
  492. package/components/tooltip/tooltip.d.ts +65 -0
  493. package/components/tooltip/tooltip.js +126 -0
  494. package/components/user-agreement/service.d.ts +69 -0
  495. package/components/user-agreement/service.js +242 -0
  496. package/components/user-agreement/toolbox.eula.d.ts +2 -0
  497. package/components/user-agreement/toolbox.eula.js +160 -0
  498. package/components/user-agreement/user-agreement.css +29 -0
  499. package/components/user-agreement/user-agreement.d.ts +60 -0
  500. package/components/user-agreement/user-agreement.js +80 -0
  501. package/components/user-card/card.d.ts +70 -0
  502. package/components/user-card/card.js +89 -0
  503. package/components/user-card/smart-user-card-tooltip.d.ts +20 -0
  504. package/components/user-card/smart-user-card-tooltip.js +47 -0
  505. package/components/user-card/tooltip.d.ts +36 -0
  506. package/components/user-card/tooltip.js +43 -0
  507. package/components/user-card/user-card.css +123 -0
  508. package/components/user-card/user-card.d.ts +11 -0
  509. package/components/user-card/user-card.js +11 -0
  510. package/package.json +61 -61
@@ -0,0 +1,7 @@
1
+ declare function compose<A, R1, R2, R3, R4, R5, R6, R7>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a: A) => R1): (a: A) => R7;
2
+ declare function compose<A, R1, R2, R3, R4, R5, R6>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a: A) => R1): (a: A) => R6;
3
+ declare function compose<A, R1, R2, R3, R4, R5>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a: A) => R1): (a: A) => R5;
4
+ declare function compose<A, R1, R2, R3, R4>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a: A) => R1): (a: A) => R4;
5
+ declare function compose<A, R1, R2, R3>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a: A) => R1): (a: A) => R3;
6
+ declare function compose<A, R1, R2>(f2: (a: R1) => R2, f1: (a: A) => R1): (a: A) => R2;
7
+ export default compose;
@@ -0,0 +1,4 @@
1
+ function compose(...funcs) {
2
+ return funcs.reduce((acc, func) => arg => acc(func(arg)), arg => arg);
3
+ }
4
+ export default compose;
@@ -0,0 +1,3 @@
1
+ import { Ref } from 'react';
2
+ declare const _default: <T>(...refs: (Ref<T> | undefined)[]) => (value: T | null) => void;
3
+ export default _default;
@@ -0,0 +1,8 @@
1
+ export default (...refs) => (value) => refs.forEach(ref => {
2
+ if (typeof ref === 'function') {
3
+ ref(value);
4
+ }
5
+ else if (ref != null) {
6
+ ref.current = value;
7
+ }
8
+ });
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ export declare enum ControlsHeight {
3
+ S = "S",
4
+ M = "M",
5
+ L = "L"
6
+ }
7
+ export declare const ControlsHeightContext: import("react").Context<ControlsHeight>;
8
+ export declare function configureGlobalControlsHeight(value: ControlsHeight): void;
9
+ export declare function getGlobalControlsHeight(): ControlsHeight;
@@ -0,0 +1,16 @@
1
+ import { createContext } from 'react';
2
+ export var ControlsHeight;
3
+ (function (ControlsHeight) {
4
+ ControlsHeight["S"] = "S";
5
+ ControlsHeight["M"] = "M";
6
+ ControlsHeight["L"] = "L";
7
+ })(ControlsHeight || (ControlsHeight = {}));
8
+ export const ControlsHeightContext = createContext(ControlsHeight.M);
9
+ let globalControlsHeight = ControlsHeight.M;
10
+ // This can be used if React Context is not applicable, for example for alertService or Auth dialog
11
+ export function configureGlobalControlsHeight(value) {
12
+ globalControlsHeight = value;
13
+ }
14
+ export function getGlobalControlsHeight() {
15
+ return globalControlsHeight;
16
+ }
@@ -0,0 +1,27 @@
1
+ import React, { ReactNode } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ type Update<T> = (value: T) => void;
4
+ export interface ProviderProps {
5
+ children: ReactNode;
6
+ }
7
+ export interface UpdaterProps<T> {
8
+ value: T;
9
+ skipUpdate?: boolean;
10
+ }
11
+ export default function createStatefulContext<T>(initialValue: T, name?: string): {
12
+ ValueContext: React.Context<T>;
13
+ UpdateContext: React.Context<Update<T>>;
14
+ Provider: {
15
+ ({ children }: ProviderProps): React.JSX.Element;
16
+ propTypes: {
17
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
18
+ };
19
+ displayName: string;
20
+ };
21
+ useUpdate: (value: T, skipUpdate?: boolean) => void;
22
+ Updater: React.MemoExoticComponent<{
23
+ ({ value, skipUpdate }: UpdaterProps<T>): null;
24
+ displayName: string;
25
+ }>;
26
+ };
27
+ export {};
@@ -0,0 +1,38 @@
1
+ import React, { createContext, memo, useContext, useEffect, useState } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ export default function createStatefulContext(initialValue, name = '') {
4
+ const ValueContext = createContext(initialValue);
5
+ const UpdateContext = createContext(() => { });
6
+ function Provider({ children }) {
7
+ const [value, update] = useState(initialValue);
8
+ return (<ValueContext.Provider value={value}>
9
+ <UpdateContext.Provider value={update}>
10
+ {children}
11
+ </UpdateContext.Provider>
12
+ </ValueContext.Provider>);
13
+ }
14
+ Provider.propTypes = {
15
+ children: PropTypes.node
16
+ };
17
+ Provider.displayName = `${name}Provider`;
18
+ function useUpdate(value, skipUpdate) {
19
+ const update = useContext(UpdateContext);
20
+ useEffect(() => {
21
+ if (!skipUpdate) {
22
+ update(value);
23
+ }
24
+ }, [update, value, skipUpdate]);
25
+ }
26
+ function Updater({ value, skipUpdate }) {
27
+ useUpdate(value, skipUpdate);
28
+ return null;
29
+ }
30
+ Updater.displayName = `${name}Updater`;
31
+ return {
32
+ ValueContext,
33
+ UpdateContext,
34
+ Provider,
35
+ useUpdate,
36
+ Updater: memo(Updater)
37
+ };
38
+ }
@@ -0,0 +1,3 @@
1
+ type AttrsMap = Record<string, boolean | null | undefined>;
2
+ export default function joinDataTestAttributes(...attrs: Array<string | AttrsMap | null | undefined>): string;
3
+ export {};
@@ -0,0 +1,17 @@
1
+ function expandMap(attrsMap) {
2
+ return Object.entries(attrsMap).
3
+ reduce((result, [key, value]) => (value ? [...result, key] : result), []);
4
+ }
5
+ export default function joinDataTestAttributes(...attrs) {
6
+ return attrs.
7
+ reduce((result, attr) => {
8
+ if (!attr) {
9
+ return result;
10
+ }
11
+ if (typeof attr === 'object') {
12
+ return [...result, ...expandMap(attr)];
13
+ }
14
+ return [...result, attr];
15
+ }, []).
16
+ join(' ');
17
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @name DOM
3
+ */
4
+ import { SyntheticEvent } from 'react';
5
+ import type { PropertiesHyphen } from 'csstype';
6
+ export declare const getStyles: ((elt: Element, pseudoElt?: string | null | undefined) => CSSStyleDeclaration) & typeof getComputedStyle;
7
+ export declare function isMounted(node: Node | Range | null | undefined): boolean;
8
+ export interface Rect {
9
+ top: number;
10
+ right: number;
11
+ bottom: number;
12
+ left: number;
13
+ width: number;
14
+ height: number;
15
+ }
16
+ export declare function getRect(node: Element | Range | null | undefined): Rect;
17
+ export declare function getPixelRatio(): number;
18
+ export declare function getWindowHeight(): number;
19
+ export declare function getWindowWidth(): number;
20
+ export declare function isNodeInVisiblePartOfPage(node: Element | Range): boolean;
21
+ export declare function getDocumentScrollTop(): number;
22
+ export declare function getDocumentScrollLeft(): number;
23
+ export declare const applyMethodToClasses: (method: 'add' | 'remove') => (classList: DOMTokenList, classes?: string) => void;
24
+ export declare const addClasses: (classList: DOMTokenList, classes?: string) => void;
25
+ export declare const removeClasses: (classList: DOMTokenList, classes?: string) => void;
26
+ export declare const toggleClasses: (classList: DOMTokenList, classes: Record<string, boolean>) => void;
27
+ export declare function setRootStyleProperties(properties?: PropertiesHyphen): void;
28
+ export declare function resetRootStyleProperties(properties?: Partial<Record<keyof PropertiesHyphen, unknown>>): void;
29
+ export declare class Listeners {
30
+ private _all;
31
+ add<K extends keyof HTMLElementEventMap>(el: HTMLElement, event: K, handler: (this: HTMLElement, ev: HTMLElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions): () => void;
32
+ add<K extends keyof WindowEventMap>(el: Window, event: K, handler: (this: Window, ev: WindowEventMap[K]) => void, options?: boolean | AddEventListenerOptions): () => void;
33
+ add<K extends keyof DocumentEventMap>(el: Document, event: K, handler: (this: Window, ev: DocumentEventMap[K]) => void, options?: boolean | AddEventListenerOptions): () => void;
34
+ remove(fn: () => void): void;
35
+ removeAll(): void;
36
+ }
37
+ export declare function preventDefault(e: Event | SyntheticEvent): void;
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @name DOM
3
+ */
4
+ export const getStyles = window.getComputedStyle.bind(window);
5
+ export function isMounted(node) {
6
+ if (node === document) {
7
+ return true;
8
+ }
9
+ return node instanceof Node && document.documentElement.contains(node.parentNode);
10
+ }
11
+ const rectStub = { top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0 };
12
+ export function getRect(node) {
13
+ if (node instanceof Range || node != null && isMounted(node)) {
14
+ const { top, right, bottom, left, width, height } = node.getBoundingClientRect();
15
+ return { top, right, bottom, left, width, height };
16
+ }
17
+ else {
18
+ return Object.assign({}, rectStub);
19
+ }
20
+ }
21
+ export function getPixelRatio() {
22
+ return 'devicePixelRatio' in window ? window.devicePixelRatio : 1;
23
+ }
24
+ export function getWindowHeight() {
25
+ return window.innerHeight;
26
+ }
27
+ export function getWindowWidth() {
28
+ return window.innerWidth;
29
+ }
30
+ export function isNodeInVisiblePartOfPage(node) {
31
+ const { top, bottom, left, right } = getRect(node);
32
+ return !(bottom < 0 || right < 0 || getWindowHeight() - top < 0 || getWindowWidth() - left < 0);
33
+ }
34
+ export function getDocumentScrollTop() {
35
+ return (document.documentElement && document.documentElement.scrollTop) ||
36
+ document.body.scrollTop;
37
+ }
38
+ export function getDocumentScrollLeft() {
39
+ return (document.documentElement && document.documentElement.scrollLeft) ||
40
+ document.body.scrollLeft;
41
+ }
42
+ export const applyMethodToClasses = (method) => (classList, classes = '') => {
43
+ classes.
44
+ split(/\s+/g).
45
+ filter(className => !!className).
46
+ forEach(className => classList[method](className));
47
+ };
48
+ export const addClasses = applyMethodToClasses('add');
49
+ export const removeClasses = applyMethodToClasses('remove');
50
+ export const toggleClasses = (classList, classes) => Object.entries(classes).forEach(([className, on]) => classList.toggle(className, on));
51
+ export function setRootStyleProperties(properties = {}) {
52
+ const rootStyle = document.documentElement.style;
53
+ Object.entries(properties).forEach(([key, value]) => {
54
+ rootStyle.setProperty(key, value);
55
+ });
56
+ }
57
+ export function resetRootStyleProperties(properties = {}) {
58
+ const rootStyle = document.documentElement.style;
59
+ Object.keys(properties).
60
+ forEach(key => rootStyle.removeProperty(key));
61
+ }
62
+ export class Listeners {
63
+ _all = new Set();
64
+ add(el, event, handler, options) {
65
+ el.addEventListener(event, handler, options);
66
+ const dispatchFn = () => el.removeEventListener(event, handler, options);
67
+ this._all.add(dispatchFn);
68
+ return dispatchFn;
69
+ }
70
+ remove(fn) {
71
+ fn();
72
+ this._all.delete(fn);
73
+ }
74
+ removeAll() {
75
+ this._all.forEach(fn => this.remove(fn));
76
+ }
77
+ }
78
+ // Synthetic events from Combokeys#trigger are plain objects
79
+ export function preventDefault(e) {
80
+ if (e.preventDefault) {
81
+ e.preventDefault();
82
+ }
83
+ }
@@ -0,0 +1,19 @@
1
+ import { ComponentType, Ref } from 'react';
2
+ export interface FocusSensorOuterProps<T extends HTMLElement> {
3
+ focused?: boolean | undefined;
4
+ autofocus?: boolean | undefined;
5
+ scrollOnTableFocus?: boolean;
6
+ onFocus?: (() => void) | undefined;
7
+ onBlur?: (() => void) | undefined;
8
+ innerRef?: Ref<T> | null | undefined;
9
+ }
10
+ export interface FocusSensorAddProps<T extends HTMLElement> {
11
+ innerRef: Ref<T>;
12
+ focused: boolean;
13
+ onFocusReset: () => void;
14
+ onFocusRestore: () => void;
15
+ }
16
+ type RestProps<P, T extends HTMLElement> = Omit<P, keyof FocusSensorAddProps<T>>;
17
+ export type FocusSensorProps<P extends FocusSensorAddProps<T>, T extends HTMLElement, C extends ComponentType<P>> = RestProps<JSX.LibraryManagedAttributes<C, P>, T> & FocusSensorOuterProps<T>;
18
+ export default function focusSensorHOC<T extends HTMLElement, P extends FocusSensorAddProps<T>, C extends ComponentType<P>>(ComposedComponent: C): ComponentType<FocusSensorProps<P, T, typeof ComposedComponent>>;
19
+ export {};
@@ -0,0 +1,102 @@
1
+ import React, { Component } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { refObject } from './prop-types';
4
+ import composeRefs from './composeRefs';
5
+ function extractPropTypes({ propTypes }) {
6
+ if (propTypes == null) {
7
+ return propTypes;
8
+ }
9
+ const { innerRef, focused, onFocusReset, onFocusRestore, ...restPropTypes } = propTypes;
10
+ return restPropTypes;
11
+ }
12
+ export default function focusSensorHOC(ComposedComponent) {
13
+ class FocusSensor extends Component {
14
+ state = {
15
+ focused: this.props.focused
16
+ };
17
+ componentDidMount() {
18
+ const { props: { autofocus, scrollOnTableFocus }, node } = this;
19
+ node?.setAttribute('tabindex', '0');
20
+ if (node != null) {
21
+ node.style.outline = 'none';
22
+ }
23
+ document.addEventListener('focus', this.onFocusCapture, true);
24
+ document.addEventListener('blur', this.onBlurCapture, true);
25
+ if (autofocus) {
26
+ node?.focus({ preventScroll: !scrollOnTableFocus });
27
+ }
28
+ }
29
+ componentDidUpdate(prevProps) {
30
+ const { focused } = this.props;
31
+ if (focused && !prevProps.focused) {
32
+ this.onFocusRestore();
33
+ }
34
+ else if (!focused && prevProps.focused) {
35
+ this.onFocusReset();
36
+ }
37
+ }
38
+ componentWillUnmount() {
39
+ document.removeEventListener('focus', this.onFocusCapture, true);
40
+ document.removeEventListener('blur', this.onBlurCapture, true);
41
+ }
42
+ node;
43
+ _skipNextCapture = false;
44
+ onRefUpdate = (node) => {
45
+ if (node) {
46
+ this.node = node;
47
+ }
48
+ };
49
+ onFocusCapture = ({ target }) => {
50
+ if (this._skipNextCapture) {
51
+ this._skipNextCapture = false;
52
+ return;
53
+ }
54
+ const focused = target instanceof Node && this.node?.contains(target);
55
+ if (focused && !this.state.focused) {
56
+ this.setState({ focused: true });
57
+ this.props.onFocus?.();
58
+ }
59
+ };
60
+ onBlurCapture = ({ target }) => {
61
+ const { state: { focused }, node } = this;
62
+ if (focused) {
63
+ setTimeout(() => {
64
+ const blurred = target instanceof Node &&
65
+ node?.contains(target) && !node.contains(document.activeElement);
66
+ if (blurred) {
67
+ this.setState({ focused: false });
68
+ this.props.onBlur?.();
69
+ }
70
+ }, 1);
71
+ }
72
+ };
73
+ onFocusRestore = () => {
74
+ this._skipNextCapture = true;
75
+ this.node?.focus({ preventScroll: !this.props.scrollOnTableFocus });
76
+ };
77
+ onFocusReset = () => {
78
+ this.node?.blur();
79
+ };
80
+ render() {
81
+ const { autofocus, focused, onFocus, onBlur, innerRef, scrollOnTableFocus, ...rest } = this.props;
82
+ return (<ComposedComponent {...rest} innerRef={composeRefs(innerRef, this.onRefUpdate)} focused={this.state.focused} onFocusReset={this.onFocusReset} onFocusRestore={this.onFocusRestore}/>);
83
+ }
84
+ }
85
+ FocusSensor.propTypes = {
86
+ ...extractPropTypes(ComposedComponent),
87
+ focused: PropTypes.bool,
88
+ autofocus: PropTypes.bool,
89
+ onFocus: PropTypes.func,
90
+ onBlur: PropTypes.func,
91
+ innerRef: PropTypes.oneOfType([PropTypes.func, refObject(PropTypes.instanceOf(HTMLElement))])
92
+ };
93
+ FocusSensor.defaultProps = {
94
+ ...ComposedComponent.defaultProps,
95
+ focused: false,
96
+ autofocus: false,
97
+ scrollOnTableFocus: true,
98
+ onFocus: () => { },
99
+ onBlur: () => { }
100
+ };
101
+ return FocusSensor;
102
+ }
@@ -0,0 +1,11 @@
1
+ /** https://github.com/bevacqua/fuzzysearch + highlighting with Markdown */
2
+ type Match = {
3
+ from: number;
4
+ to: number;
5
+ };
6
+ export default function fuzzyHighlight(needle: string, haystack: string, caseSensitive?: boolean): {
7
+ matched: boolean;
8
+ matches: Match[];
9
+ highlight: string;
10
+ };
11
+ export {};
@@ -0,0 +1,58 @@
1
+ /** https://github.com/bevacqua/fuzzysearch + highlighting with Markdown */
2
+ export default function fuzzyHighlight(needle, haystack, caseSensitive = false) {
3
+ const ndl = caseSensitive ? needle : needle.toLowerCase();
4
+ const hstck = caseSensitive ? haystack : haystack.toLowerCase();
5
+ const result = (matched, matches = []) => {
6
+ let highlight = haystack;
7
+ if (matches.length > 0) {
8
+ highlight = '';
9
+ let prevMatch = { to: 0 };
10
+ for (const match of matches) {
11
+ highlight += `${haystack.slice(prevMatch.to, match.from)}**${haystack.slice(match.from, match.to)}**`;
12
+ prevMatch = match;
13
+ }
14
+ highlight += haystack.slice(prevMatch.to);
15
+ }
16
+ return ({ matched, matches, highlight });
17
+ };
18
+ const hlen = hstck.length;
19
+ const nlen = ndl.length;
20
+ if (nlen > hlen) {
21
+ return result(false);
22
+ }
23
+ if (nlen === hlen) {
24
+ const matched = ndl === hstck;
25
+ return result(matched, matched ? [{ from: 0, to: haystack.length }] : []);
26
+ }
27
+ let on = false;
28
+ let j = 0;
29
+ const matches = [];
30
+ let from = 0;
31
+ /* eslint-disable no-labels */
32
+ outer: for (let i = 0; i < nlen; i++) {
33
+ const nch = ndl[i];
34
+ while (j < hlen) {
35
+ const hch = hstck[j];
36
+ const match = hch === nch;
37
+ // Don't turn highlight on for space characters
38
+ const nextOn = match && /\S/.test(hch);
39
+ if (nextOn && !on) {
40
+ from = j;
41
+ }
42
+ else if (!nextOn && on) {
43
+ matches.push({ from, to: j });
44
+ }
45
+ j++;
46
+ on = nextOn;
47
+ if (match) {
48
+ continue outer;
49
+ }
50
+ }
51
+ return result(false);
52
+ }
53
+ /* eslint-enable */
54
+ if (on) {
55
+ matches.push({ from, to: j });
56
+ }
57
+ return result(true, matches);
58
+ }
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export default function getEventKey(nativeEvent: KeyboardEvent | React.KeyboardEvent): string;
@@ -0,0 +1,100 @@
1
+ const normalizeKey = {
2
+ Esc: 'Escape',
3
+ Spacebar: ' ',
4
+ Left: 'ArrowLeft',
5
+ Up: 'ArrowUp',
6
+ Right: 'ArrowRight',
7
+ Down: 'ArrowDown',
8
+ Del: 'Delete',
9
+ Win: 'OS',
10
+ Menu: 'ContextMenu',
11
+ Apps: 'ContextMenu',
12
+ Scroll: 'ScrollLock',
13
+ MozPrintableKey: 'Unidentified'
14
+ };
15
+ const translateToKey = {
16
+ 8: 'Backspace',
17
+ 9: 'Tab',
18
+ 12: 'Clear',
19
+ 13: 'Enter',
20
+ 16: 'Shift',
21
+ 17: 'Control',
22
+ 18: 'Alt',
23
+ 19: 'Pause',
24
+ 20: 'CapsLock',
25
+ 27: 'Escape',
26
+ 32: ' ',
27
+ 33: 'PageUp',
28
+ 34: 'PageDown',
29
+ 35: 'End',
30
+ 36: 'Home',
31
+ 37: 'ArrowLeft',
32
+ 38: 'ArrowUp',
33
+ 39: 'ArrowRight',
34
+ 40: 'ArrowDown',
35
+ 45: 'Insert',
36
+ 46: 'Delete',
37
+ 112: 'F1',
38
+ 113: 'F2',
39
+ 114: 'F3',
40
+ 115: 'F4',
41
+ 116: 'F5',
42
+ 117: 'F6',
43
+ 118: 'F7',
44
+ 119: 'F8',
45
+ 120: 'F9',
46
+ 121: 'F10',
47
+ 122: 'F11',
48
+ 123: 'F12',
49
+ 144: 'NumLock',
50
+ 145: 'ScrollLock',
51
+ 224: 'Meta'
52
+ };
53
+ const ENTER = 13;
54
+ const SPACE = 32;
55
+ function getEventCharCode(nativeEvent) {
56
+ let charCode;
57
+ const keyCode = nativeEvent.keyCode;
58
+ if ('charCode' in nativeEvent) {
59
+ charCode = nativeEvent.charCode;
60
+ // FF does not set `charCode` for the Enter-key, check against `keyCode`.
61
+ if (charCode === 0 && keyCode === ENTER) {
62
+ charCode = ENTER;
63
+ }
64
+ }
65
+ else {
66
+ // IE8 does not implement `charCode`, but `keyCode` has the correct value.
67
+ charCode = keyCode;
68
+ }
69
+ // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.
70
+ // Must not discard the (non-)printable Enter-key.
71
+ if (charCode >= SPACE || charCode === ENTER) {
72
+ return charCode;
73
+ }
74
+ return 0;
75
+ }
76
+ export default function getEventKey(nativeEvent) {
77
+ if (nativeEvent.key) {
78
+ // Normalize inconsistent values reported by browsers due to
79
+ // implementations of a working draft specification.
80
+ // FireFox implements `key` but returns `MozPrintableKey` for all
81
+ // printable characters (normalized to `Unidentified`), ignore it.
82
+ const key = normalizeKey[nativeEvent.key] || nativeEvent.key;
83
+ if (key !== 'Unidentified') {
84
+ return key;
85
+ }
86
+ }
87
+ // Browser does not implement `key`, polyfill as much of it as we can.
88
+ if (nativeEvent.type === 'keypress') {
89
+ const charCode = getEventCharCode(nativeEvent);
90
+ // The enter-key is technically both printable and non-printable and can
91
+ // thus be captured by `keypress`, no other non-printable key should.
92
+ return charCode === SPACE ? 'Enter' : String.fromCharCode(charCode);
93
+ }
94
+ if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {
95
+ // While user keyboard layout determines the actual meaning of each
96
+ // `keyCode` value, almost all function keys have a universal value.
97
+ return translateToKey[nativeEvent.keyCode] || 'Unidentified';
98
+ }
99
+ return '';
100
+ }
@@ -0,0 +1 @@
1
+ export default function getUID(name: string): string;
@@ -0,0 +1,16 @@
1
+ const idCounters = {};
2
+ function generateSalt() {
3
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
4
+ return (Date.now() * Math.random()).toString(36).substring(0, 4);
5
+ }
6
+ const salt = generateSalt();
7
+ export default function getUID(name) {
8
+ if (!name) {
9
+ throw Error('Argument "name" is required in getUID()');
10
+ }
11
+ if (!idCounters[name]) {
12
+ idCounters[name] = 0;
13
+ }
14
+ const id = String(idCounters[name]++);
15
+ return `${name}${id}-${salt}`;
16
+ }