@jetbrains/ring-ui 4.1.3 → 5.0.0-beta.0

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 (1134) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/babel.config.js +1 -0
  3. package/components/alert/alert.examples.tsx +149 -0
  4. package/components/alert/alert.test.tsx +63 -0
  5. package/components/alert/alert.tsx +267 -0
  6. package/components/alert/{container.test.js → container.test.tsx} +0 -0
  7. package/components/alert/container.tsx +53 -0
  8. package/components/alert-service/alert-service.examples.tsx +94 -0
  9. package/components/alert-service/alert-service.test.ts +90 -0
  10. package/components/alert-service/alert-service.tsx +152 -0
  11. package/components/analytics/analytics.examples.tsx +50 -0
  12. package/components/analytics/analytics.test.ts +421 -0
  13. package/components/analytics/analytics.ts +130 -0
  14. package/components/analytics/analytics__custom-plugin.ts +151 -0
  15. package/components/analytics/analytics__fus-plugin.ts +144 -0
  16. package/components/analytics/analytics__ga-plugin.ts +61 -0
  17. package/components/analytics/analytics__plugin-utils.ts +79 -0
  18. package/components/analytics-ng/analytics-ng.examples.js +2 -2
  19. package/components/auth/auth.examples.ts +141 -0
  20. package/components/auth/auth.test.ts +801 -0
  21. package/components/auth/{auth.js → auth.ts} +0 -0
  22. package/components/auth/auth__core.ts +1030 -0
  23. package/components/auth/background-flow.ts +120 -0
  24. package/components/auth/down-notification.tsx +87 -0
  25. package/components/auth/iframe-flow.tsx +112 -0
  26. package/components/auth/{landing-entry.js → landing-entry.ts} +0 -0
  27. package/components/auth/landing.html +1 -1
  28. package/components/auth/landing.ts +34 -0
  29. package/components/auth/{request-builder.test.js → request-builder.test.ts} +0 -0
  30. package/components/auth/request-builder.ts +87 -0
  31. package/components/auth/response-parser.test.ts +94 -0
  32. package/components/auth/response-parser.ts +129 -0
  33. package/components/auth/storage.test.ts +182 -0
  34. package/components/auth/storage.ts +291 -0
  35. package/components/auth/token-validator.test.ts +206 -0
  36. package/components/auth/token-validator.ts +207 -0
  37. package/components/auth/window-flow.ts +131 -0
  38. package/components/auth-dialog/auth-dialog.examples.tsx +86 -0
  39. package/components/auth-dialog/auth-dialog.test.tsx +11 -0
  40. package/components/auth-dialog/auth-dialog.tsx +131 -0
  41. package/components/auth-dialog-service/auth-dialog-service.examples.tsx +68 -0
  42. package/components/auth-dialog-service/auth-dialog-service.test.ts +91 -0
  43. package/components/auth-dialog-service/auth-dialog-service.tsx +30 -0
  44. package/components/auth-ng/auth-ng.examples.js +1 -1
  45. package/components/autofocus-ng/autofocus-ng.examples.js +3 -3
  46. package/components/avatar/{avatar-example-datauri.js → avatar-example-datauri.tsx} +0 -0
  47. package/components/avatar/avatar.examples.tsx +48 -0
  48. package/components/avatar/avatar.test.tsx +63 -0
  49. package/components/avatar/avatar.tsx +180 -0
  50. package/components/avatar/fallback-avatar.tsx +158 -0
  51. package/components/avatar-editor-ng/avatar-editor-ng.examples.js +1 -1
  52. package/components/avatar-ng/avatar-ng.examples.js +3 -3
  53. package/components/badge/badge.examples.tsx +26 -0
  54. package/components/badge/{badge.test.js → badge.test.tsx} +0 -0
  55. package/components/badge/badge.tsx +67 -0
  56. package/components/badge-ng/badge-ng.examples.js +2 -2
  57. package/components/breadcrumb-ng/breadcrumb-ng.examples.js +1 -1
  58. package/components/button/button.examples.tsx +219 -0
  59. package/components/button/button.test.tsx +64 -0
  60. package/components/button/button.tsx +166 -0
  61. package/components/button/button__classes.ts +54 -0
  62. package/components/button-group/button-group.examples.tsx +58 -0
  63. package/components/button-group/{button-group.test.js → button-group.test.tsx} +0 -0
  64. package/components/button-group/button-group.tsx +30 -0
  65. package/components/button-group/caption.tsx +23 -0
  66. package/components/button-group-ng/button-group-ng.examples.js +2 -2
  67. package/components/button-ng/button-ng.examples.js +5 -5
  68. package/components/button-set/button-set.examples.tsx +24 -0
  69. package/components/button-set/{button-set.test.js → button-set.test.tsx} +0 -0
  70. package/components/button-set/button-set.tsx +27 -0
  71. package/components/button-set-ng/button-set-ng.examples.js +2 -2
  72. package/components/button-toolbar/button-toolbar.examples.tsx +31 -0
  73. package/components/button-toolbar/button-toolbar.test.tsx +23 -0
  74. package/components/button-toolbar/button-toolbar.tsx +29 -0
  75. package/components/button-toolbar-ng/button-toolbar-ng.examples.js +3 -3
  76. package/components/caret/caret.examples.ts +40 -0
  77. package/components/caret/caret.test.ts +142 -0
  78. package/components/caret/caret.ts +239 -0
  79. package/components/checkbox/checkbox.examples.tsx +67 -0
  80. package/components/checkbox/checkbox.test.tsx +85 -0
  81. package/components/checkbox/checkbox.tsx +114 -0
  82. package/components/checkbox-ng/checkbox-ng.examples.js +2 -2
  83. package/components/code/code.examples.tsx +92 -0
  84. package/components/code/code.test.tsx +104 -0
  85. package/components/code/code.tsx +128 -0
  86. package/components/compiler-ng/compiler-ng.examples.js +1 -1
  87. package/components/confirm/confirm.examples.tsx +109 -0
  88. package/components/confirm/confirm.test.tsx +30 -0
  89. package/components/confirm/confirm.tsx +116 -0
  90. package/components/confirm-ng/confirm-ng.examples.js +2 -2
  91. package/components/confirm-service/confirm-service.examples.tsx +65 -0
  92. package/components/confirm-service/confirm-service.test.ts +73 -0
  93. package/components/confirm-service/confirm-service.tsx +74 -0
  94. package/components/content-layout/content-layout.examples.tsx +188 -0
  95. package/components/content-layout/content-layout.test.tsx +46 -0
  96. package/components/content-layout/content-layout.tsx +74 -0
  97. package/components/content-layout/sidebar.tsx +115 -0
  98. package/components/contenteditable/contenteditable.examples.tsx +45 -0
  99. package/components/contenteditable/contenteditable.test.tsx +74 -0
  100. package/components/contenteditable/contenteditable.tsx +80 -0
  101. package/components/data-list/data-list.examples.tsx +120 -0
  102. package/components/data-list/data-list.mock.tsx +257 -0
  103. package/components/data-list/data-list.test.tsx +41 -0
  104. package/components/data-list/data-list.tsx +224 -0
  105. package/components/data-list/item.tsx +247 -0
  106. package/components/data-list/selection.ts +107 -0
  107. package/components/data-list/title.tsx +112 -0
  108. package/components/data-list-ng/data-list-ng.examples.js +3 -3
  109. package/components/date-picker/consts.ts +136 -0
  110. package/components/date-picker/date-input.tsx +150 -0
  111. package/components/date-picker/date-picker.examples.tsx +346 -0
  112. package/components/date-picker/date-picker.test.tsx +91 -0
  113. package/components/date-picker/date-picker.tsx +315 -0
  114. package/components/date-picker/date-popup.tsx +466 -0
  115. package/components/date-picker/day.tsx +129 -0
  116. package/components/date-picker/{formats.js → formats.ts} +0 -0
  117. package/components/date-picker/month-names.tsx +111 -0
  118. package/components/date-picker/month-slider.tsx +91 -0
  119. package/components/date-picker/month.tsx +52 -0
  120. package/components/date-picker/months.tsx +113 -0
  121. package/components/date-picker/weekdays.tsx +45 -0
  122. package/components/date-picker/years.tsx +116 -0
  123. package/components/dialog/dialog.examples.tsx +214 -0
  124. package/components/dialog/dialog.test.tsx +67 -0
  125. package/components/dialog/dialog.tsx +201 -0
  126. package/components/dialog/dialog__body-scroll-preventer.ts +59 -0
  127. package/components/dialog-ng/dialog-ng.examples.js +5 -5
  128. package/components/docked-panel-ng/docked-panel-ng.examples.js +3 -3
  129. package/components/dropdown/anchor.tsx +32 -0
  130. package/components/dropdown/dropdown.examples.tsx +152 -0
  131. package/components/dropdown/dropdown.test.tsx +189 -0
  132. package/components/dropdown/dropdown.tsx +224 -0
  133. package/components/dropdown-menu/dropdown-menu.examples.tsx +47 -0
  134. package/components/dropdown-menu/dropdown-menu.test.tsx +80 -0
  135. package/components/dropdown-menu/dropdown-menu.tsx +156 -0
  136. package/components/error-bubble/error-bubble.examples.tsx +96 -0
  137. package/components/error-bubble/error-bubble.test.tsx +42 -0
  138. package/components/error-bubble/error-bubble.tsx +57 -0
  139. package/components/error-message/error-message.examples.tsx +33 -0
  140. package/components/error-message/error-message.test.tsx +21 -0
  141. package/components/error-message/error-message.tsx +62 -0
  142. package/components/error-message-ng/error-message-ng.examples.js +1 -1
  143. package/components/error-page-ng/error-page-ng.examples.js +2 -2
  144. package/components/footer/footer.examples.tsx +56 -0
  145. package/components/footer/footer.test.tsx +78 -0
  146. package/components/footer/footer.tsx +175 -0
  147. package/components/footer-ng/footer-ng.examples.js +2 -2
  148. package/components/form/form.examples.js +4 -4
  149. package/components/form-ng/form-ng.examples.js +6 -6
  150. package/components/global/compose.ts +41 -0
  151. package/components/global/composeRefs.ts +9 -0
  152. package/components/global/conic-gradient.ts +43 -0
  153. package/components/global/create-stateful-context.tsx +55 -0
  154. package/components/global/{data-tests.test.js → data-tests.test.ts} +0 -0
  155. package/components/global/data-tests.ts +23 -0
  156. package/components/global/dom.examples.ts +43 -0
  157. package/components/global/dom.test.ts +99 -0
  158. package/components/global/dom.ts +145 -0
  159. package/components/global/focus-sensor-hoc.tsx +157 -0
  160. package/components/global/{fuzzy-highlight.test.js → fuzzy-highlight.test.ts} +0 -0
  161. package/components/global/fuzzy-highlight.ts +46 -0
  162. package/components/global/get-event-key.ts +113 -0
  163. package/components/global/get-uid.test.ts +22 -0
  164. package/components/global/get-uid.ts +15 -0
  165. package/components/global/inject-styles.ts +16 -0
  166. package/components/global/linear-function.ts +21 -0
  167. package/components/global/listeners.test.ts +80 -0
  168. package/components/global/listeners.ts +44 -0
  169. package/components/global/memoize.ts +23 -0
  170. package/components/global/normalize-indent.ts +34 -0
  171. package/components/global/promise-with-timeout.ts +18 -0
  172. package/components/global/prop-types.ts +5 -0
  173. package/components/global/radial-gradient-mask.ts +52 -0
  174. package/components/global/react-dom-renderer.tsx +40 -0
  175. package/components/global/rerender-hoc.ts +42 -0
  176. package/components/global/schedule-raf.ts +27 -0
  177. package/components/global/{sniffer.js → sniffer.ts} +0 -0
  178. package/components/global/supports-css.ts +20 -0
  179. package/components/global/theme.tsx +86 -0
  180. package/components/global/trivial-template-tag.ts +11 -0
  181. package/components/global/typescript-utils.ts +3 -0
  182. package/components/global/url.test.ts +138 -0
  183. package/components/global/url.ts +162 -0
  184. package/components/global/variables.examples.tsx +160 -0
  185. package/components/global/variables.ts +112 -0
  186. package/components/global/variables_dark.ts +59 -0
  187. package/components/grid/col.tsx +72 -0
  188. package/components/grid/grid.examples.tsx +291 -0
  189. package/components/grid/grid.test.tsx +74 -0
  190. package/components/grid/grid.tsx +33 -0
  191. package/components/grid/row.tsx +79 -0
  192. package/components/group/group.examples.tsx +27 -0
  193. package/components/group/group.test.tsx +21 -0
  194. package/components/group/group.tsx +30 -0
  195. package/components/group-ng/group.examples.js +2 -2
  196. package/components/header/header.examples.tsx +124 -0
  197. package/components/header/header.test.tsx +21 -0
  198. package/components/header/header.tsx +57 -0
  199. package/components/header/logo.tsx +31 -0
  200. package/components/header/profile.tsx +226 -0
  201. package/components/header/services-link.tsx +57 -0
  202. package/components/header/services.tsx +122 -0
  203. package/components/header/smart-profile.tsx +136 -0
  204. package/components/header/smart-services.tsx +79 -0
  205. package/components/header/tray-icon.tsx +35 -0
  206. package/components/header/tray.tsx +30 -0
  207. package/components/heading/heading.examples.tsx +64 -0
  208. package/components/heading/heading.test.tsx +24 -0
  209. package/components/heading/heading.tsx +90 -0
  210. package/components/http/http.examples.ts +37 -0
  211. package/components/http/http.mock.ts +69 -0
  212. package/components/http/http.test.ts +191 -0
  213. package/components/http/http.ts +237 -0
  214. package/components/hub-source/hub-source.test.ts +200 -0
  215. package/components/hub-source/hub-source.ts +148 -0
  216. package/components/hub-source/hub-source__user.ts +33 -0
  217. package/components/hub-source/hub-source__users-groups.test.ts +91 -0
  218. package/components/hub-source/hub-source__users-groups.ts +78 -0
  219. package/components/icon/icon.examples.tsx +146 -0
  220. package/components/icon/icon.test.tsx +51 -0
  221. package/components/icon/icon.tsx +111 -0
  222. package/components/icon/icon__constants.ts +31 -0
  223. package/components/icon/icon__svg.tsx +81 -0
  224. package/components/icon/{index.js → index.ts} +0 -0
  225. package/components/icon-ng/icon-ng.examples.js +1 -1
  226. package/components/input/input.css +1 -0
  227. package/components/input/input.examples.tsx +140 -0
  228. package/components/input/input.test.tsx +42 -0
  229. package/components/input/input.tsx +311 -0
  230. package/components/input-ng/input-ng.examples.js +1 -1
  231. package/components/input-size/input-size.examples.js +5 -5
  232. package/components/island/adaptive-island-hoc.tsx +40 -0
  233. package/components/island/content.tsx +156 -0
  234. package/components/island/header.tsx +112 -0
  235. package/components/island/island.examples.tsx +74 -0
  236. package/components/island/island.test.tsx +59 -0
  237. package/components/island/island.tsx +59 -0
  238. package/components/island-legacy/content-legacy.tsx +26 -0
  239. package/components/island-legacy/header-legacy.tsx +28 -0
  240. package/components/island-legacy/island-legacy.examples.ts +33 -0
  241. package/components/island-legacy/island-legacy.test.tsx +21 -0
  242. package/components/island-legacy/island-legacy.tsx +29 -0
  243. package/components/island-ng/island-ng.examples.js +1 -1
  244. package/components/link/clickableLink.tsx +58 -0
  245. package/components/link/link.examples.tsx +93 -0
  246. package/components/link/link.test.tsx +185 -0
  247. package/components/link/link.tsx +149 -0
  248. package/components/link-ng/link-ng.examples.js +1 -1
  249. package/components/list/consts.ts +89 -0
  250. package/components/list/list.examples.tsx +278 -0
  251. package/components/list/list.test.tsx +432 -0
  252. package/components/list/list.tsx +841 -0
  253. package/components/list/list__custom.tsx +89 -0
  254. package/components/list/list__hint.tsx +28 -0
  255. package/components/list/list__item.test.tsx +64 -0
  256. package/components/list/list__item.tsx +236 -0
  257. package/components/list/list__link.tsx +74 -0
  258. package/components/list/list__separator.tsx +31 -0
  259. package/components/list/list__title.tsx +45 -0
  260. package/components/list/list__users-groups-source.test.ts +129 -0
  261. package/components/list/list__users-groups-source.ts +101 -0
  262. package/components/loader/loader.examples.tsx +24 -0
  263. package/components/loader/loader.tsx +69 -0
  264. package/components/loader/loader__core.test.ts +228 -0
  265. package/components/loader/loader__core.ts +296 -0
  266. package/components/loader-inline/inject-styles.ts +28 -0
  267. package/components/loader-inline/loader-inline.examples.tsx +106 -0
  268. package/components/loader-inline/loader-inline.test.tsx +21 -0
  269. package/components/loader-inline/loader-inline.tsx +63 -0
  270. package/components/loader-inline-ng/loader-inline-ng.examples.js +1 -1
  271. package/components/loader-ng/loader-ng.examples.js +1 -1
  272. package/components/loader-screen/loader-screen.examples.tsx +40 -0
  273. package/components/loader-screen/loader-screen.tsx +42 -0
  274. package/components/loader-screen-ng/loader-screen-ng.examples.js +1 -1
  275. package/components/login-dialog/login-dialog.tsx +139 -0
  276. package/components/login-dialog/service.tsx +25 -0
  277. package/components/markdown/code.tsx +26 -0
  278. package/components/markdown/heading.tsx +19 -0
  279. package/components/markdown/link.tsx +21 -0
  280. package/components/markdown/markdown.examples.tsx +110 -0
  281. package/components/markdown/markdown.test.tsx +60 -0
  282. package/components/markdown/markdown.tsx +65 -0
  283. package/components/message/message.examples.tsx +80 -0
  284. package/components/message/message.test.tsx +26 -0
  285. package/components/message/message.tsx +184 -0
  286. package/components/old-browsers-message/old-browsers-message.examples.ts +38 -0
  287. package/components/old-browsers-message/old-browsers-message.ts +103 -0
  288. package/components/old-browsers-message/{old-browsers-message__stop.js → old-browsers-message__stop.ts} +0 -0
  289. package/components/old-browsers-message/white-list.ts +33 -0
  290. package/components/pager/pager.examples.tsx +299 -0
  291. package/components/pager/pager.test.tsx +57 -0
  292. package/components/pager/pager.tsx +372 -0
  293. package/components/pager-ng/pager-ng.examples.js +1 -1
  294. package/components/palette/palette.examples.js +1 -1
  295. package/components/panel/panel.examples.tsx +33 -0
  296. package/components/panel/{panel.test.js → panel.test.tsx} +0 -0
  297. package/components/panel/panel.tsx +28 -0
  298. package/components/permissions/permissions.test.ts +440 -0
  299. package/components/permissions/permissions.ts +229 -0
  300. package/components/permissions/permissions__cache.test.ts +79 -0
  301. package/components/permissions/permissions__cache.ts +290 -0
  302. package/components/permissions-ng/permissions-ng.examples.js +2 -2
  303. package/components/place-under-ng/place-under-ng.examples.js +2 -2
  304. package/components/popup/popup.consts.ts +45 -0
  305. package/components/popup/popup.examples.tsx +346 -0
  306. package/components/popup/popup.target.tsx +29 -0
  307. package/components/popup/popup.test.tsx +257 -0
  308. package/components/popup/popup.tsx +477 -0
  309. package/components/popup/position.test.ts +203 -0
  310. package/components/popup/position.ts +315 -0
  311. package/components/popup-menu/popup-menu.examples.tsx +38 -0
  312. package/components/popup-menu/popup-menu.test.tsx +37 -0
  313. package/components/popup-menu/popup-menu.tsx +69 -0
  314. package/components/progress-bar/progress-bar.examples.tsx +60 -0
  315. package/components/progress-bar/progress-bar.test.tsx +115 -0
  316. package/components/progress-bar/progress-bar.tsx +115 -0
  317. package/components/progress-bar-ng/progress-bar-ng.examples.js +1 -1
  318. package/components/promised-click-ng/promised-click-ng.examples.js +2 -2
  319. package/components/query-assist/query-assist.examples.tsx +312 -0
  320. package/components/query-assist/query-assist.test.tsx +688 -0
  321. package/components/query-assist/query-assist.tsx +1121 -0
  322. package/components/query-assist/query-assist__suggestions.tsx +124 -0
  323. package/components/query-assist-ng/query-assist-ng.examples.js +2 -2
  324. package/components/radio/radio.examples.tsx +58 -0
  325. package/components/radio/radio.test.tsx +102 -0
  326. package/components/radio/radio.tsx +37 -0
  327. package/components/radio/radio__item.test.tsx +100 -0
  328. package/components/radio/radio__item.tsx +85 -0
  329. package/components/radio-ng/radio-ng.examples.js +1 -1
  330. package/components/save-field-ng/save-field-ng.examples.js +2 -2
  331. package/components/select/select.examples.tsx +1061 -0
  332. package/components/select/select.test.tsx +1200 -0
  333. package/components/select/select.tsx +1488 -0
  334. package/components/select/select__filter.tsx +76 -0
  335. package/components/select/select__popup.test.tsx +159 -0
  336. package/components/select/select__popup.tsx +654 -0
  337. package/components/select-ng/select-ng.examples.js +3 -3
  338. package/components/shortcuts/core.test.ts +297 -0
  339. package/components/shortcuts/core.ts +260 -0
  340. package/components/shortcuts/shortcut-title.ts +56 -0
  341. package/components/shortcuts/shortcuts-hoc.test.tsx +61 -0
  342. package/components/shortcuts/shortcuts-hoc.tsx +43 -0
  343. package/components/shortcuts/shortcuts.test.tsx +48 -0
  344. package/components/shortcuts/shortcuts.ts +64 -0
  345. package/components/shortcuts-hint-ng/shortcuts-hint-ng.examples.js +1 -1
  346. package/components/sidebar-ng/sidebar-ng.examples.js +3 -3
  347. package/components/storage/storage.examples.ts +37 -0
  348. package/components/storage/storage.test.ts +254 -0
  349. package/components/storage/storage.ts +44 -0
  350. package/components/storage/storage__fallback.ts +211 -0
  351. package/components/storage/storage__local.ts +132 -0
  352. package/components/tab-trap/tab-trap.examples.tsx +49 -0
  353. package/components/tab-trap/tab-trap.tsx +189 -0
  354. package/components/table/cell.tsx +30 -0
  355. package/components/table/disable-hover-hoc.tsx +52 -0
  356. package/components/table/header-cell.tsx +104 -0
  357. package/components/table/header.tsx +196 -0
  358. package/components/table/multitable.tsx +106 -0
  359. package/components/table/row-with-focus-sensor.tsx +56 -0
  360. package/components/table/row.tsx +276 -0
  361. package/components/table/selection-adapter.ts +12 -0
  362. package/components/table/selection-shortcuts-hoc.tsx +210 -0
  363. package/components/table/selection.ts +212 -0
  364. package/components/table/smart-table.tsx +59 -0
  365. package/components/table/table.examples.tsx +367 -0
  366. package/components/table/table.tsx +379 -0
  367. package/components/table-legacy-ng/table-legacy-ng.examples.js +4 -4
  368. package/components/table-ng/table-ng.examples.js +4 -4
  369. package/components/tabs/collapsible-more.tsx +199 -0
  370. package/components/tabs/collapsible-tab.tsx +102 -0
  371. package/components/tabs/collapsible-tabs.tsx +295 -0
  372. package/components/tabs/custom-item.tsx +10 -0
  373. package/components/tabs/dumb-tabs.tsx +119 -0
  374. package/components/tabs/smart-tabs.tsx +38 -0
  375. package/components/tabs/tab-link.tsx +39 -0
  376. package/components/tabs/tab.tsx +38 -0
  377. package/components/tabs/tabs.examples.tsx +275 -0
  378. package/components/tabs/tabs.test.tsx +27 -0
  379. package/components/tabs/{tabs.js → tabs.ts} +0 -0
  380. package/components/tabs-ng/tabs-ng.examples.js +1 -1
  381. package/components/tag/tag.examples.tsx +50 -0
  382. package/components/tag/tag.test.tsx +21 -0
  383. package/components/tag/tag.tsx +213 -0
  384. package/components/tags-input/tag-input.examples.tsx +133 -0
  385. package/components/tags-input/tags-input.test.tsx +234 -0
  386. package/components/tags-input/tags-input.tsx +394 -0
  387. package/components/tags-input-ng/tags-input-ng.examples.js +1 -1
  388. package/components/tags-list/tags-list.examples.tsx +41 -0
  389. package/components/tags-list/tags-list.test.tsx +45 -0
  390. package/components/tags-list/tags-list.tsx +107 -0
  391. package/components/template-ng/template-ng.examples.js +1 -1
  392. package/components/text/text.examples.tsx +25 -0
  393. package/components/text/text.test.tsx +25 -0
  394. package/components/text/text.tsx +34 -0
  395. package/components/title-ng/title-ng.examples.js +1 -1
  396. package/components/toggle/toggle.examples.tsx +79 -0
  397. package/components/toggle/toggle.test.tsx +34 -0
  398. package/components/toggle/toggle.tsx +87 -0
  399. package/components/toggle-ng/toggle-ng.examples.js +1 -1
  400. package/components/tooltip/tooltip.examples.tsx +118 -0
  401. package/components/tooltip/tooltip.test.tsx +130 -0
  402. package/components/tooltip/tooltip.tsx +187 -0
  403. package/components/tooltip-ng/tooltip-ng.examples.js +2 -2
  404. package/components/user-agreement/service.tsx +340 -0
  405. package/components/user-agreement/{toolbox.eula.js → toolbox.eula.ts} +0 -0
  406. package/components/user-agreement/user-agreement.examples.tsx +130 -0
  407. package/components/user-agreement/user-agreement.tsx +146 -0
  408. package/components/user-card/card.tsx +119 -0
  409. package/components/user-card/smart-user-card-tooltip.tsx +70 -0
  410. package/components/user-card/tooltip.tsx +68 -0
  411. package/components/user-card/user-card.examples.tsx +91 -0
  412. package/components/user-card/user-card.test.tsx +106 -0
  413. package/components/user-card/{user-card.js → user-card.ts} +0 -0
  414. package/components/user-card-ng/user-card-ng.examples.js +4 -4
  415. package/components/welcome.examples.tsx +25 -0
  416. package/dist/_helpers/anchor.js +3 -2
  417. package/dist/_helpers/dialog__body-scroll-preventer.js +1 -1
  418. package/dist/_helpers/footer.js +2 -2
  419. package/dist/_helpers/inject-styles.js +1 -1
  420. package/dist/_helpers/input.js +1 -1
  421. package/dist/_helpers/query-assist__suggestions.js +2 -2
  422. package/dist/_helpers/select__filter.js +11 -9
  423. package/dist/_helpers/sidebar.js +6 -3
  424. package/dist/_helpers/title.js +13 -13
  425. package/dist/alert/alert.d.ts +110 -0
  426. package/dist/alert/alert.js +40 -36
  427. package/dist/alert/container.d.ts +15 -0
  428. package/dist/alert/container.js +5 -7
  429. package/dist/alert-service/alert-service.d.ts +34 -0
  430. package/dist/analytics/analytics.d.ts +24 -0
  431. package/dist/analytics/analytics.js +10 -15
  432. package/dist/analytics/analytics__custom-plugin.d.ts +39 -0
  433. package/dist/analytics/analytics__custom-plugin.js +30 -9
  434. package/dist/analytics/analytics__fus-plugin.d.ts +62 -0
  435. package/dist/analytics/analytics__fus-plugin.js +23 -6
  436. package/dist/analytics/analytics__ga-plugin.d.ts +17 -0
  437. package/dist/analytics/analytics__ga-plugin.js +12 -6
  438. package/dist/analytics/analytics__plugin-utils.d.ts +15 -0
  439. package/dist/analytics/analytics__plugin-utils.js +58 -59
  440. package/dist/analytics-ng/analytics-ng.js +1 -0
  441. package/dist/auth/auth.d.ts +3 -0
  442. package/dist/auth/auth__core.d.ts +233 -0
  443. package/dist/auth/auth__core.js +205 -116
  444. package/dist/auth/background-flow.d.ts +31 -0
  445. package/dist/auth/background-flow.js +9 -1
  446. package/dist/auth/down-notification.d.ts +15 -0
  447. package/dist/auth/iframe-flow.d.ts +20 -0
  448. package/dist/auth/iframe-flow.js +19 -5
  449. package/dist/auth/landing-entry.d.ts +3 -0
  450. package/dist/auth/landing.d.ts +2 -0
  451. package/dist/auth/landing.js +13 -7
  452. package/dist/auth/request-builder.d.ts +47 -0
  453. package/dist/auth/request-builder.js +7 -1
  454. package/dist/auth/response-parser.d.ts +70 -0
  455. package/dist/auth/response-parser.js +25 -13
  456. package/dist/auth/storage.d.ts +112 -0
  457. package/dist/auth/storage.js +41 -10
  458. package/dist/auth/token-validator.d.ts +93 -0
  459. package/dist/auth/token-validator.js +32 -12
  460. package/dist/auth/window-flow.d.ts +26 -0
  461. package/dist/auth/window-flow.js +24 -11
  462. package/dist/auth-dialog/auth-dialog.d.ts +49 -0
  463. package/dist/auth-dialog/auth-dialog.js +4 -8
  464. package/dist/auth-dialog-service/auth-dialog-service.d.ts +5 -0
  465. package/dist/avatar/avatar-example-datauri.d.ts +1 -0
  466. package/dist/avatar/avatar.d.ts +51 -0
  467. package/dist/avatar/avatar.js +13 -10
  468. package/dist/avatar/fallback-avatar.d.ts +17 -0
  469. package/dist/badge/badge.d.ts +24 -0
  470. package/dist/button/button.d.ts +255 -0
  471. package/dist/button/button.js +13 -12
  472. package/dist/button/button__classes.d.ts +2 -0
  473. package/dist/button-group/button-group.d.ts +14 -0
  474. package/dist/button-group/caption.d.ts +8 -0
  475. package/dist/button-set/button-set.d.ts +12 -0
  476. package/dist/button-toolbar/button-toolbar.d.ts +12 -0
  477. package/dist/caret/caret.d.ts +66 -0
  478. package/dist/caret/caret.js +35 -19
  479. package/dist/checkbox/checkbox.d.ts +41 -0
  480. package/dist/checkbox/checkbox.js +6 -0
  481. package/dist/code/code.d.ts +43 -0
  482. package/dist/code/code.js +12 -8
  483. package/dist/confirm/confirm.d.ts +48 -0
  484. package/dist/confirm/confirm.js +4 -4
  485. package/dist/confirm-service/confirm-service.d.ts +15 -0
  486. package/dist/content-layout/content-layout.d.ts +26 -0
  487. package/dist/content-layout/content-layout.js +4 -2
  488. package/dist/content-layout/sidebar.d.ts +31 -0
  489. package/dist/contenteditable/contenteditable.d.ts +47 -0
  490. package/dist/contenteditable/contenteditable.js +6 -4
  491. package/dist/data-list/data-list.d.ts +89 -0
  492. package/dist/data-list/data-list.js +52 -23
  493. package/dist/data-list/data-list.mock.d.ts +16 -0
  494. package/dist/data-list/data-list.mock.js +2 -2
  495. package/dist/data-list/item.d.ts +50 -0
  496. package/dist/data-list/item.js +34 -28
  497. package/dist/data-list/selection.d.ts +16 -0
  498. package/dist/data-list/selection.js +13 -0
  499. package/dist/data-list/title.d.ts +26 -0
  500. package/dist/data-list/title.js +1 -0
  501. package/dist/data-list-ng/data-list-ng.js +4 -2
  502. package/dist/date-picker/consts.d.ts +99 -0
  503. package/dist/date-picker/consts.js +2 -21
  504. package/dist/date-picker/date-input.d.ts +57 -0
  505. package/dist/date-picker/date-input.js +7 -3
  506. package/dist/date-picker/date-picker.d.ts +70 -0
  507. package/dist/date-picker/date-picker.js +38 -38
  508. package/dist/date-picker/date-popup.d.ts +56 -0
  509. package/dist/date-picker/date-popup.js +43 -26
  510. package/dist/date-picker/day.d.ts +30 -0
  511. package/dist/date-picker/day.js +8 -4
  512. package/dist/date-picker/formats.d.ts +2 -0
  513. package/dist/date-picker/month-names.d.ts +13 -0
  514. package/dist/date-picker/month-names.js +6 -5
  515. package/dist/date-picker/month-slider.d.ts +29 -0
  516. package/dist/date-picker/month-slider.js +2 -2
  517. package/dist/date-picker/month.d.ts +14 -0
  518. package/dist/date-picker/months.d.ts +11 -0
  519. package/dist/date-picker/months.js +3 -3
  520. package/dist/date-picker/weekdays.d.ts +13 -0
  521. package/dist/date-picker/weekdays.js +1 -1
  522. package/dist/date-picker/years.d.ts +21 -0
  523. package/dist/date-picker/years.js +8 -6
  524. package/dist/dialog/dialog.d.ts +73 -0
  525. package/dist/dialog/dialog.js +4 -2
  526. package/dist/dialog/dialog__body-scroll-preventer.d.ts +9 -0
  527. package/dist/dropdown/anchor.d.ts +90 -0
  528. package/dist/dropdown/dropdown.d.ts +77 -0
  529. package/dist/dropdown/dropdown.js +13 -6
  530. package/dist/dropdown-menu/dropdown-menu.d.ts +26 -0
  531. package/dist/dropdown-menu/dropdown-menu.js +8 -5
  532. package/dist/error-bubble/error-bubble.d.ts +18 -0
  533. package/dist/error-bubble/error-bubble.js +3 -1
  534. package/dist/error-message/error-message.d.ts +25 -0
  535. package/dist/footer/footer.d.ts +28 -0
  536. package/dist/global/compose.d.ts +7 -0
  537. package/dist/global/compose.js +2 -2
  538. package/dist/global/composeRefs.d.ts +3 -0
  539. package/dist/global/conic-gradient.d.ts +796 -0
  540. package/dist/global/conic-gradient.js +1 -1
  541. package/dist/global/create-stateful-context.d.ts +27 -0
  542. package/dist/global/data-tests.d.ts +3 -0
  543. package/dist/global/data-tests.js +5 -1
  544. package/dist/global/dom.d.ts +37 -0
  545. package/dist/global/dom.js +4 -4
  546. package/dist/global/focus-sensor-hoc.d.ts +18 -0
  547. package/dist/global/focus-sensor-hoc.js +58 -20
  548. package/dist/global/fuzzy-highlight.d.ts +5 -0
  549. package/dist/global/get-event-key.d.ts +2 -0
  550. package/dist/global/get-event-key.js +0 -1
  551. package/dist/global/get-uid.d.ts +1 -0
  552. package/dist/global/inject-styles.d.ts +3 -0
  553. package/dist/global/linear-function.d.ts +6 -0
  554. package/dist/global/listeners.d.ts +8 -0
  555. package/dist/global/listeners.js +10 -2
  556. package/dist/global/memoize.d.ts +1 -0
  557. package/dist/global/memoize.js +7 -6
  558. package/dist/global/normalize-indent.d.ts +1 -0
  559. package/dist/global/normalize-indent.js +5 -1
  560. package/dist/global/promise-with-timeout.d.ts +4 -0
  561. package/dist/global/prop-types.d.ts +4 -0
  562. package/dist/global/prop-types.js +7 -0
  563. package/dist/global/radial-gradient-mask.d.ts +9 -0
  564. package/dist/global/react-dom-renderer.d.ts +16 -0
  565. package/dist/global/react-dom-renderer.js +2 -0
  566. package/dist/global/rerender-hoc.d.ts +45 -0
  567. package/dist/global/rerender-hoc.js +5 -14
  568. package/dist/global/schedule-raf.d.ts +1 -0
  569. package/dist/global/schedule-raf.js +3 -1
  570. package/dist/global/sniffer.d.ts +3 -0
  571. package/dist/global/supports-css.d.ts +2 -0
  572. package/dist/global/theme.d.ts +26 -0
  573. package/dist/global/theme.js +22 -14
  574. package/dist/global/trivial-template-tag.d.ts +1 -0
  575. package/dist/global/typescript-utils.d.ts +2 -0
  576. package/dist/global/typescript-utils.js +4 -0
  577. package/dist/global/url.d.ts +57 -0
  578. package/dist/global/url.js +1 -1
  579. package/dist/global/variables.d.ts +88 -0
  580. package/dist/global/variables.js +1 -0
  581. package/dist/global/variables_dark.d.ts +3 -0
  582. package/dist/global/variables_dark.js +2 -2
  583. package/dist/grid/col.d.ts +31 -0
  584. package/dist/grid/col.js +7 -1
  585. package/dist/grid/grid.d.ts +14 -0
  586. package/dist/grid/row.d.ts +40 -0
  587. package/dist/grid/row.js +1 -4
  588. package/dist/group/group.d.ts +12 -0
  589. package/dist/header/header.d.ts +96 -0
  590. package/dist/header/header.js +3 -4
  591. package/dist/header/logo.d.ts +14 -0
  592. package/dist/header/profile.d.ts +73 -0
  593. package/dist/header/profile.js +4 -4
  594. package/dist/header/services-link.d.ts +25 -0
  595. package/dist/header/services.d.ts +28 -0
  596. package/dist/header/services.js +1 -0
  597. package/dist/header/smart-profile.d.ts +36 -0
  598. package/dist/header/smart-profile.js +1 -0
  599. package/dist/header/smart-services.d.ts +25 -0
  600. package/dist/header/smart-services.js +12 -3
  601. package/dist/header/tray-icon.d.ts +33 -0
  602. package/dist/header/tray-icon.js +3 -6
  603. package/dist/header/tray.d.ts +9 -0
  604. package/dist/heading/heading.d.ts +25 -0
  605. package/dist/heading/heading.js +14 -13
  606. package/dist/http/http.d.ts +49 -0
  607. package/dist/http/http.js +47 -12
  608. package/dist/http/http.mock.d.ts +20 -0
  609. package/dist/http/http.mock.js +12 -5
  610. package/dist/hub-source/hub-source.d.ts +42 -0
  611. package/dist/hub-source/hub-source.js +14 -1
  612. package/dist/hub-source/hub-source__user.d.ts +4 -0
  613. package/dist/hub-source/hub-source__user.js +4 -2
  614. package/dist/hub-source/hub-source__users-groups.d.ts +24 -0
  615. package/dist/hub-source/hub-source__users-groups.js +9 -1
  616. package/dist/icon/icon.d.ts +43 -0
  617. package/dist/icon/icon.js +2 -2
  618. package/dist/icon/icon__constants.d.ts +30 -0
  619. package/dist/icon/icon__constants.js +28 -23
  620. package/dist/icon/icon__svg.d.ts +15 -0
  621. package/dist/icon/index.d.ts +2 -0
  622. package/dist/icon/index.js +1 -1
  623. package/dist/input/input.d.ts +73 -0
  624. package/dist/input/input.js +75 -60
  625. package/dist/island/adaptive-island-hoc.d.ts +65 -0
  626. package/dist/island/adaptive-island-hoc.js +2 -2
  627. package/dist/island/content.d.ts +12 -0
  628. package/dist/island/content.js +11 -2
  629. package/dist/island/header.d.ts +8 -0
  630. package/dist/island/header.js +11 -6
  631. package/dist/island/island.d.ts +82 -0
  632. package/dist/island-legacy/content-legacy.d.ts +10 -0
  633. package/dist/island-legacy/header-legacy.d.ts +10 -0
  634. package/dist/island-legacy/island-legacy.d.ts +12 -0
  635. package/dist/link/clickableLink.d.ts +20 -0
  636. package/dist/link/link.d.ts +157 -0
  637. package/dist/link/link.js +9 -5
  638. package/dist/list/consts.d.ts +74 -0
  639. package/dist/list/consts.js +26 -20
  640. package/dist/list/list.d.ts +191 -0
  641. package/dist/list/list.js +32 -26
  642. package/dist/list/list__custom.d.ts +6 -0
  643. package/dist/list/list__custom.js +8 -13
  644. package/dist/list/list__hint.d.ts +15 -0
  645. package/dist/list/list__item.d.ts +8 -0
  646. package/dist/list/list__item.js +3 -4
  647. package/dist/list/list__link.d.ts +9 -0
  648. package/dist/list/list__link.js +5 -6
  649. package/dist/list/list__separator.d.ts +5 -0
  650. package/dist/list/list__separator.js +2 -4
  651. package/dist/list/list__title.d.ts +5 -0
  652. package/dist/list/list__title.js +2 -4
  653. package/dist/list/list__users-groups-source.d.ts +27 -0
  654. package/dist/list/list__users-groups-source.js +22 -12
  655. package/dist/loader/loader.d.ts +28 -0
  656. package/dist/loader/loader.js +5 -1
  657. package/dist/loader/loader__core.d.ts +75 -0
  658. package/dist/loader/loader__core.js +89 -47
  659. package/dist/loader-inline/inject-styles.d.ts +2 -0
  660. package/dist/loader-inline/loader-inline.d.ts +55 -0
  661. package/dist/loader-inline/loader-inline.js +2 -2
  662. package/dist/loader-screen/loader-screen.d.ts +17 -0
  663. package/dist/login-dialog/login-dialog.d.ts +47 -0
  664. package/dist/login-dialog/login-dialog.js +3 -1
  665. package/dist/login-dialog/service.d.ts +2 -0
  666. package/dist/login-dialog/service.js +5 -1
  667. package/dist/markdown/code.d.ts +16 -0
  668. package/dist/markdown/heading.d.ts +15 -0
  669. package/dist/markdown/link.d.ts +16 -0
  670. package/dist/markdown/link.js +2 -2
  671. package/dist/markdown/markdown.d.ts +23 -0
  672. package/dist/message/message.d.ts +72 -0
  673. package/dist/message/message.js +9 -8
  674. package/dist/old-browsers-message/old-browsers-message.d.ts +2 -0
  675. package/dist/old-browsers-message/old-browsers-message.js +10 -6
  676. package/dist/old-browsers-message/old-browsers-message__stop.d.ts +1 -0
  677. package/dist/old-browsers-message/white-list.d.ts +2 -0
  678. package/dist/old-browsers-message/white-list.js +3 -3
  679. package/dist/pager/pager.d.ts +102 -0
  680. package/dist/pager/pager.js +20 -9
  681. package/dist/pager-ng/pager-ng.js +3 -0
  682. package/dist/panel/panel.d.ts +12 -0
  683. package/dist/permissions/permissions.d.ts +111 -0
  684. package/dist/permissions/permissions.js +23 -4
  685. package/dist/permissions/permissions__cache.d.ts +93 -0
  686. package/dist/permissions/permissions__cache.js +10 -3
  687. package/dist/popup/popup.consts.d.ts +37 -0
  688. package/dist/popup/popup.consts.js +43 -29
  689. package/dist/popup/popup.d.ts +141 -0
  690. package/dist/popup/popup.js +83 -53
  691. package/dist/popup/popup.target.d.ts +6 -0
  692. package/dist/popup/popup.target.js +3 -4
  693. package/dist/popup/position.d.ts +30 -0
  694. package/dist/popup/position.js +11 -6
  695. package/dist/popup-menu/popup-menu.d.ts +59 -0
  696. package/dist/popup-menu/popup-menu.js +7 -6
  697. package/dist/progress-bar/progress-bar.d.ts +62 -0
  698. package/dist/progress-bar/progress-bar.js +5 -1
  699. package/dist/query-assist/query-assist.d.ts +332 -0
  700. package/dist/query-assist/query-assist.js +134 -70
  701. package/dist/query-assist/query-assist__suggestions.d.ts +29 -0
  702. package/dist/radio/radio.d.ts +18 -0
  703. package/dist/radio/radio__item.d.ts +28 -0
  704. package/dist/radio/radio__item.js +5 -2
  705. package/dist/select/select.d.ts +289 -0
  706. package/dist/select/select.js +179 -175
  707. package/dist/select/select__filter.d.ts +20 -0
  708. package/dist/select/select__filter.js +2 -0
  709. package/dist/select/select__popup.d.ts +123 -0
  710. package/dist/select/select__popup.js +97 -72
  711. package/dist/select-ng/select-ng.js +3 -0
  712. package/dist/select-ng/select-ng__lazy.js +3 -0
  713. package/dist/shortcuts/core.d.ts +74 -0
  714. package/dist/shortcuts/core.js +16 -10
  715. package/dist/shortcuts/shortcut-title.d.ts +1 -0
  716. package/dist/shortcuts/shortcuts-hoc.d.ts +69 -0
  717. package/dist/shortcuts/shortcuts.d.ts +28 -0
  718. package/dist/storage/storage.d.ts +18 -0
  719. package/dist/storage/storage.js +1 -1
  720. package/dist/storage/storage__fallback.d.ts +79 -0
  721. package/dist/storage/storage__fallback.js +31 -19
  722. package/dist/storage/storage__local.d.ts +38 -0
  723. package/dist/storage/storage__local.js +34 -19
  724. package/dist/style.css +1 -1
  725. package/dist/tab-trap/tab-trap.d.ts +43 -0
  726. package/dist/tab-trap/tab-trap.js +16 -4
  727. package/dist/table/cell.d.ts +13 -0
  728. package/dist/table/disable-hover-hoc.d.ts +68 -0
  729. package/dist/table/disable-hover-hoc.js +1 -1
  730. package/dist/table/header-cell.d.ts +43 -0
  731. package/dist/table/header-cell.js +4 -0
  732. package/dist/table/header.d.ts +60 -0
  733. package/dist/table/header.js +9 -5
  734. package/dist/table/multitable.d.ts +25 -0
  735. package/dist/table/multitable.js +21 -7
  736. package/dist/table/row-with-focus-sensor.d.ts +18 -0
  737. package/dist/table/row-with-focus-sensor.js +7 -4
  738. package/dist/table/row.d.ts +56 -0
  739. package/dist/table/row.js +29 -27
  740. package/dist/table/selection-adapter.d.ts +5 -0
  741. package/dist/table/selection-shortcuts-hoc.d.ts +17 -0
  742. package/dist/table/selection-shortcuts-hoc.js +44 -19
  743. package/dist/table/selection.d.ts +47 -0
  744. package/dist/table/selection.js +18 -1
  745. package/dist/table/smart-table.d.ts +60 -0
  746. package/dist/table/smart-table.js +5 -3
  747. package/dist/table/table.d.ts +160 -0
  748. package/dist/table/table.js +58 -38
  749. package/dist/table-legacy-ng/table-legacy-ng.js +3 -0
  750. package/dist/table-legacy-ng/table-legacy-ng__pager.js +3 -0
  751. package/dist/table-ng/smart-table-ng.js +1 -0
  752. package/dist/table-ng/table-ng.js +3 -2
  753. package/dist/tabs/collapsible-more.d.ts +29 -0
  754. package/dist/tabs/collapsible-more.js +1 -0
  755. package/dist/tabs/collapsible-tab.d.ts +16 -0
  756. package/dist/tabs/collapsible-tab.js +6 -8
  757. package/dist/tabs/collapsible-tabs.d.ts +43 -0
  758. package/dist/tabs/collapsible-tabs.js +57 -106
  759. package/dist/tabs/custom-item.d.ts +11 -0
  760. package/dist/tabs/dumb-tabs.d.ts +134 -0
  761. package/dist/tabs/dumb-tabs.js +3 -2
  762. package/dist/tabs/smart-tabs.d.ts +20 -0
  763. package/dist/tabs/smart-tabs.js +3 -2
  764. package/dist/tabs/tab-link.d.ts +18 -0
  765. package/dist/tabs/tab.d.ts +25 -0
  766. package/dist/tabs/tabs.d.ts +7 -0
  767. package/dist/tabs/tabs.js +1 -0
  768. package/dist/tag/tag.d.ts +63 -0
  769. package/dist/tag/tag.js +7 -3
  770. package/dist/tags-input/tags-input.d.ts +154 -0
  771. package/dist/tags-input/tags-input.js +63 -30
  772. package/dist/tags-input-ng/tags-input-ng.js +3 -0
  773. package/dist/tags-list/tags-list.d.ts +46 -0
  774. package/dist/tags-list/tags-list.js +1 -7
  775. package/dist/text/text.d.ts +17 -0
  776. package/dist/toggle/toggle.d.ts +119 -0
  777. package/dist/toggle/toggle.js +3 -5
  778. package/dist/toggle-ng/toggle-ng.js +2 -2
  779. package/dist/tooltip/tooltip.d.ts +64 -0
  780. package/dist/tooltip/tooltip.js +13 -4
  781. package/dist/user-agreement/service.d.ts +161 -0
  782. package/dist/user-agreement/service.js +20 -13
  783. package/dist/user-agreement/toolbox.eula.d.ts +2 -0
  784. package/dist/user-agreement/user-agreement.d.ts +69 -0
  785. package/dist/user-agreement/user-agreement.js +6 -7
  786. package/dist/user-card/card.d.ts +52 -0
  787. package/dist/user-card/smart-user-card-tooltip.d.ts +20 -0
  788. package/dist/user-card/smart-user-card-tooltip.js +3 -2
  789. package/dist/user-card/tooltip.d.ts +31 -0
  790. package/dist/user-card/tooltip.js +5 -1
  791. package/dist/user-card/user-card.d.ts +11 -0
  792. package/dist/user-card/user-card.js +1 -0
  793. package/dist/user-card-ng/user-card-ng.js +1 -0
  794. package/package.json +55 -32
  795. package/typings.d.ts +97 -0
  796. package/webpack.config.js +4 -1
  797. package/components/alert/alert.examples.js +0 -143
  798. package/components/alert/alert.js +0 -242
  799. package/components/alert/alert.test.js +0 -61
  800. package/components/alert/container.js +0 -47
  801. package/components/alert-service/alert-service.examples.js +0 -91
  802. package/components/alert-service/alert-service.js +0 -137
  803. package/components/alert-service/alert-service.test.js +0 -88
  804. package/components/analytics/analytics.examples.js +0 -47
  805. package/components/analytics/analytics.js +0 -101
  806. package/components/analytics/analytics.test.js +0 -419
  807. package/components/analytics/analytics__custom-plugin.js +0 -122
  808. package/components/analytics/analytics__fus-plugin.js +0 -93
  809. package/components/analytics/analytics__ga-plugin.js +0 -53
  810. package/components/analytics/analytics__plugin-utils.js +0 -74
  811. package/components/auth/auth.examples.js +0 -122
  812. package/components/auth/auth.test.js +0 -774
  813. package/components/auth/auth__core.js +0 -879
  814. package/components/auth/background-flow.js +0 -114
  815. package/components/auth/down-notification.js +0 -72
  816. package/components/auth/iframe-flow.js +0 -99
  817. package/components/auth/landing.js +0 -30
  818. package/components/auth/request-builder.js +0 -71
  819. package/components/auth/response-parser.js +0 -109
  820. package/components/auth/response-parser.test.js +0 -89
  821. package/components/auth/storage.js +0 -239
  822. package/components/auth/storage.test.js +0 -178
  823. package/components/auth/token-validator.js +0 -181
  824. package/components/auth/token-validator.test.js +0 -199
  825. package/components/auth/window-flow.js +0 -123
  826. package/components/auth-dialog/auth-dialog.examples.js +0 -76
  827. package/components/auth-dialog/auth-dialog.js +0 -115
  828. package/components/auth-dialog/auth-dialog.test.js +0 -11
  829. package/components/auth-dialog-service/auth-dialog-service.examples.js +0 -66
  830. package/components/auth-dialog-service/auth-dialog-service.js +0 -28
  831. package/components/auth-dialog-service/auth-dialog-service.test.js +0 -75
  832. package/components/avatar/avatar.examples.js +0 -46
  833. package/components/avatar/avatar.js +0 -169
  834. package/components/avatar/avatar.test.js +0 -59
  835. package/components/avatar/fallback-avatar.js +0 -136
  836. package/components/badge/badge.examples.js +0 -26
  837. package/components/badge/badge.js +0 -59
  838. package/components/button/button.examples.js +0 -219
  839. package/components/button/button.js +0 -122
  840. package/components/button/button.test.js +0 -64
  841. package/components/button/button__classes.js +0 -40
  842. package/components/button-group/button-group.examples.js +0 -58
  843. package/components/button-group/button-group.js +0 -30
  844. package/components/button-group/caption.js +0 -23
  845. package/components/button-set/button-set.examples.js +0 -24
  846. package/components/button-set/button-set.js +0 -27
  847. package/components/button-toolbar/button-toolbar.examples.js +0 -31
  848. package/components/button-toolbar/button-toolbar.js +0 -29
  849. package/components/button-toolbar/button-toolbar.test.js +0 -21
  850. package/components/caret/caret.examples.js +0 -39
  851. package/components/caret/caret.js +0 -225
  852. package/components/caret/caret.test.js +0 -137
  853. package/components/checkbox/checkbox.examples.js +0 -67
  854. package/components/checkbox/checkbox.js +0 -100
  855. package/components/checkbox/checkbox.test.js +0 -78
  856. package/components/code/code.examples.js +0 -92
  857. package/components/code/code.js +0 -118
  858. package/components/code/code.test.js +0 -100
  859. package/components/confirm/confirm.examples.js +0 -93
  860. package/components/confirm/confirm.js +0 -101
  861. package/components/confirm/confirm.test.js +0 -28
  862. package/components/confirm-service/confirm-service.examples.js +0 -61
  863. package/components/confirm-service/confirm-service.js +0 -65
  864. package/components/confirm-service/confirm-service.test.js +0 -59
  865. package/components/content-layout/content-layout.examples.js +0 -188
  866. package/components/content-layout/content-layout.js +0 -64
  867. package/components/content-layout/content-layout.test.js +0 -41
  868. package/components/content-layout/sidebar.js +0 -105
  869. package/components/contenteditable/contenteditable.examples.js +0 -45
  870. package/components/contenteditable/contenteditable.js +0 -66
  871. package/components/contenteditable/contenteditable.test.js +0 -73
  872. package/components/data-list/data-list.examples.js +0 -116
  873. package/components/data-list/data-list.js +0 -170
  874. package/components/data-list/data-list.mock.js +0 -248
  875. package/components/data-list/data-list.test.js +0 -40
  876. package/components/data-list/item.js +0 -214
  877. package/components/data-list/selection.js +0 -96
  878. package/components/data-list/title.js +0 -96
  879. package/components/date-picker/consts.js +0 -71
  880. package/components/date-picker/date-input.js +0 -132
  881. package/components/date-picker/date-picker.examples.js +0 -345
  882. package/components/date-picker/date-picker.js +0 -285
  883. package/components/date-picker/date-picker.test.js +0 -89
  884. package/components/date-picker/date-popup.js +0 -441
  885. package/components/date-picker/day.js +0 -121
  886. package/components/date-picker/month-names.js +0 -104
  887. package/components/date-picker/month-slider.js +0 -83
  888. package/components/date-picker/month.js +0 -48
  889. package/components/date-picker/months.js +0 -113
  890. package/components/date-picker/weekdays.js +0 -40
  891. package/components/date-picker/years.js +0 -111
  892. package/components/dialog/dialog.examples.js +0 -209
  893. package/components/dialog/dialog.js +0 -183
  894. package/components/dialog/dialog.test.js +0 -62
  895. package/components/dialog/dialog__body-scroll-preventer.js +0 -59
  896. package/components/dropdown/anchor.js +0 -31
  897. package/components/dropdown/dropdown.examples.js +0 -151
  898. package/components/dropdown/dropdown.js +0 -185
  899. package/components/dropdown/dropdown.test.js +0 -175
  900. package/components/dropdown-menu/dropdown-menu.examples.js +0 -47
  901. package/components/dropdown-menu/dropdown-menu.js +0 -117
  902. package/components/dropdown-menu/dropdown-menu.test.js +0 -76
  903. package/components/error-bubble/error-bubble.examples.js +0 -96
  904. package/components/error-bubble/error-bubble.js +0 -50
  905. package/components/error-bubble/error-bubble.test.js +0 -41
  906. package/components/error-message/error-message.examples.js +0 -33
  907. package/components/error-message/error-message.js +0 -54
  908. package/components/error-message/error-message.test.js +0 -21
  909. package/components/footer/footer.examples.js +0 -56
  910. package/components/footer/footer.js +0 -138
  911. package/components/footer/footer.test.js +0 -78
  912. package/components/global/compose.js +0 -4
  913. package/components/global/composeRefs.js +0 -7
  914. package/components/global/conic-gradient.js +0 -31
  915. package/components/global/create-stateful-context.js +0 -46
  916. package/components/global/data-tests.js +0 -17
  917. package/components/global/dom.examples.js +0 -39
  918. package/components/global/dom.js +0 -105
  919. package/components/global/dom.test.js +0 -99
  920. package/components/global/focus-sensor-hoc.js +0 -112
  921. package/components/global/fuzzy-highlight.js +0 -46
  922. package/components/global/get-event-key.js +0 -112
  923. package/components/global/get-uid.js +0 -15
  924. package/components/global/get-uid.test.js +0 -21
  925. package/components/global/inject-styles.js +0 -14
  926. package/components/global/linear-function.js +0 -16
  927. package/components/global/listeners.js +0 -38
  928. package/components/global/listeners.test.js +0 -78
  929. package/components/global/memoize.js +0 -14
  930. package/components/global/normalize-indent.js +0 -34
  931. package/components/global/promise-with-timeout.js +0 -10
  932. package/components/global/radial-gradient-mask.js +0 -43
  933. package/components/global/react-dom-renderer.js +0 -34
  934. package/components/global/rerender-hoc.js +0 -35
  935. package/components/global/schedule-raf.js +0 -27
  936. package/components/global/supports-css.js +0 -17
  937. package/components/global/theme.js +0 -51
  938. package/components/global/trivial-template-tag.js +0 -11
  939. package/components/global/url.js +0 -162
  940. package/components/global/url.test.js +0 -138
  941. package/components/global/variables.examples.js +0 -160
  942. package/components/global/variables_dark.js +0 -55
  943. package/components/grid/col.js +0 -58
  944. package/components/grid/grid.examples.js +0 -291
  945. package/components/grid/grid.js +0 -33
  946. package/components/grid/grid.test.js +0 -72
  947. package/components/grid/row.js +0 -60
  948. package/components/group/group.examples.js +0 -27
  949. package/components/group/group.js +0 -30
  950. package/components/group/group.test.js +0 -21
  951. package/components/header/header.examples.js +0 -118
  952. package/components/header/header.js +0 -55
  953. package/components/header/header.test.js +0 -21
  954. package/components/header/logo.js +0 -31
  955. package/components/header/profile.js +0 -181
  956. package/components/header/services-link.js +0 -45
  957. package/components/header/services.js +0 -115
  958. package/components/header/smart-profile.js +0 -121
  959. package/components/header/smart-services.js +0 -73
  960. package/components/header/tray-icon.js +0 -33
  961. package/components/header/tray.js +0 -30
  962. package/components/heading/heading.examples.js +0 -64
  963. package/components/heading/heading.js +0 -82
  964. package/components/heading/heading.test.js +0 -29
  965. package/components/http/http.examples.js +0 -34
  966. package/components/http/http.js +0 -196
  967. package/components/http/http.mock.js +0 -62
  968. package/components/http/http.test.js +0 -187
  969. package/components/hub-source/hub-source.js +0 -123
  970. package/components/hub-source/hub-source.test.js +0 -200
  971. package/components/hub-source/hub-source__user.js +0 -27
  972. package/components/hub-source/hub-source__users-groups.js +0 -60
  973. package/components/hub-source/hub-source__users-groups.test.js +0 -91
  974. package/components/icon/icon.examples.js +0 -146
  975. package/components/icon/icon.js +0 -97
  976. package/components/icon/icon.test.js +0 -51
  977. package/components/icon/icon__constants.js +0 -31
  978. package/components/icon/icon__svg.js +0 -77
  979. package/components/input/input.examples.js +0 -140
  980. package/components/input/input.js +0 -228
  981. package/components/input/input.test.js +0 -40
  982. package/components/island/adaptive-island-hoc.js +0 -38
  983. package/components/island/content.js +0 -141
  984. package/components/island/header.js +0 -102
  985. package/components/island/island.examples.js +0 -74
  986. package/components/island/island.js +0 -53
  987. package/components/island/island.test.js +0 -59
  988. package/components/island-legacy/content-legacy.js +0 -26
  989. package/components/island-legacy/header-legacy.js +0 -28
  990. package/components/island-legacy/island-legacy.examples.js +0 -33
  991. package/components/island-legacy/island-legacy.js +0 -29
  992. package/components/island-legacy/island-legacy.test.js +0 -21
  993. package/components/link/clickableLink.js +0 -48
  994. package/components/link/link.examples.js +0 -86
  995. package/components/link/link.js +0 -119
  996. package/components/link/link.test.js +0 -182
  997. package/components/list/consts.js +0 -26
  998. package/components/list/list.examples.js +0 -271
  999. package/components/list/list.js +0 -765
  1000. package/components/list/list.test.js +0 -428
  1001. package/components/list/list__custom.js +0 -90
  1002. package/components/list/list__hint.js +0 -24
  1003. package/components/list/list__item.js +0 -233
  1004. package/components/list/list__item.test.js +0 -60
  1005. package/components/list/list__link.js +0 -72
  1006. package/components/list/list__separator.js +0 -30
  1007. package/components/list/list__title.js +0 -44
  1008. package/components/list/list__users-groups-source.js +0 -89
  1009. package/components/list/list__users-groups-source.test.js +0 -125
  1010. package/components/loader/loader.examples.js +0 -22
  1011. package/components/loader/loader.js +0 -64
  1012. package/components/loader/loader__core.js +0 -251
  1013. package/components/loader/loader__core.test.js +0 -232
  1014. package/components/loader-inline/inject-styles.js +0 -28
  1015. package/components/loader-inline/loader-inline.examples.js +0 -106
  1016. package/components/loader-inline/loader-inline.js +0 -57
  1017. package/components/loader-inline/loader-inline.test.js +0 -21
  1018. package/components/loader-screen/loader-screen.examples.js +0 -40
  1019. package/components/loader-screen/loader-screen.js +0 -38
  1020. package/components/login-dialog/login-dialog.js +0 -125
  1021. package/components/login-dialog/service.js +0 -24
  1022. package/components/markdown/code.js +0 -20
  1023. package/components/markdown/heading.js +0 -13
  1024. package/components/markdown/link.js +0 -14
  1025. package/components/markdown/markdown.examples.js +0 -110
  1026. package/components/markdown/markdown.js +0 -58
  1027. package/components/markdown/markdown.test.js +0 -60
  1028. package/components/message/message.examples.js +0 -78
  1029. package/components/message/message.js +0 -156
  1030. package/components/message/message.test.js +0 -26
  1031. package/components/old-browsers-message/old-browsers-message.examples.js +0 -37
  1032. package/components/old-browsers-message/old-browsers-message.js +0 -99
  1033. package/components/old-browsers-message/white-list.js +0 -32
  1034. package/components/pager/pager.examples.js +0 -291
  1035. package/components/pager/pager.js +0 -337
  1036. package/components/pager/pager.test.js +0 -56
  1037. package/components/panel/panel.examples.js +0 -33
  1038. package/components/panel/panel.js +0 -28
  1039. package/components/permissions/permissions.js +0 -193
  1040. package/components/permissions/permissions.test.js +0 -435
  1041. package/components/permissions/permissions__cache.js +0 -259
  1042. package/components/permissions/permissions__cache.test.js +0 -75
  1043. package/components/popup/popup.consts.js +0 -45
  1044. package/components/popup/popup.examples.js +0 -340
  1045. package/components/popup/popup.js +0 -395
  1046. package/components/popup/popup.target.js +0 -27
  1047. package/components/popup/popup.test.js +0 -242
  1048. package/components/popup/position.js +0 -252
  1049. package/components/popup/position.test.js +0 -192
  1050. package/components/popup-menu/popup-menu.examples.js +0 -38
  1051. package/components/popup-menu/popup-menu.js +0 -58
  1052. package/components/popup-menu/popup-menu.test.js +0 -29
  1053. package/components/progress-bar/progress-bar.examples.js +0 -56
  1054. package/components/progress-bar/progress-bar.js +0 -103
  1055. package/components/progress-bar/progress-bar.test.js +0 -114
  1056. package/components/query-assist/query-assist.examples.js +0 -305
  1057. package/components/query-assist/query-assist.js +0 -992
  1058. package/components/query-assist/query-assist.test.js +0 -690
  1059. package/components/query-assist/query-assist__suggestions.js +0 -100
  1060. package/components/radio/radio.examples.js +0 -58
  1061. package/components/radio/radio.js +0 -37
  1062. package/components/radio/radio.test.js +0 -90
  1063. package/components/radio/radio__item.js +0 -69
  1064. package/components/radio/radio__item.test.js +0 -98
  1065. package/components/select/select.examples.js +0 -1023
  1066. package/components/select/select.js +0 -1284
  1067. package/components/select/select.test.js +0 -1201
  1068. package/components/select/select__filter.js +0 -70
  1069. package/components/select/select__popup.js +0 -556
  1070. package/components/select/select__popup.test.js +0 -156
  1071. package/components/shortcuts/core.js +0 -232
  1072. package/components/shortcuts/core.test.js +0 -282
  1073. package/components/shortcuts/shortcut-title.js +0 -56
  1074. package/components/shortcuts/shortcuts-hoc.js +0 -33
  1075. package/components/shortcuts/shortcuts-hoc.test.js +0 -53
  1076. package/components/shortcuts/shortcuts.js +0 -56
  1077. package/components/shortcuts/shortcuts.test.js +0 -45
  1078. package/components/storage/storage.examples.js +0 -37
  1079. package/components/storage/storage.js +0 -25
  1080. package/components/storage/storage.test.js +0 -248
  1081. package/components/storage/storage__fallback.js +0 -199
  1082. package/components/storage/storage__local.js +0 -115
  1083. package/components/tab-trap/tab-trap.examples.js +0 -49
  1084. package/components/tab-trap/tab-trap.js +0 -175
  1085. package/components/table/cell.js +0 -26
  1086. package/components/table/disable-hover-hoc.js +0 -44
  1087. package/components/table/header-cell.js +0 -77
  1088. package/components/table/header.js +0 -178
  1089. package/components/table/multitable.js +0 -99
  1090. package/components/table/row-with-focus-sensor.js +0 -39
  1091. package/components/table/row.js +0 -242
  1092. package/components/table/selection-adapter.js +0 -10
  1093. package/components/table/selection-shortcuts-hoc.js +0 -177
  1094. package/components/table/selection.js +0 -185
  1095. package/components/table/smart-table.js +0 -55
  1096. package/components/table/table.examples.js +0 -346
  1097. package/components/table/table.js +0 -315
  1098. package/components/tabs/collapsible-more.js +0 -183
  1099. package/components/tabs/collapsible-tab.js +0 -90
  1100. package/components/tabs/collapsible-tabs.js +0 -314
  1101. package/components/tabs/custom-item.js +0 -6
  1102. package/components/tabs/dumb-tabs.js +0 -107
  1103. package/components/tabs/smart-tabs.js +0 -32
  1104. package/components/tabs/tab-link.js +0 -34
  1105. package/components/tabs/tab.js +0 -25
  1106. package/components/tabs/tabs.examples.js +0 -275
  1107. package/components/tabs/tabs.test.js +0 -26
  1108. package/components/tag/tag.examples.js +0 -50
  1109. package/components/tag/tag.js +0 -182
  1110. package/components/tag/tag.test.js +0 -21
  1111. package/components/tags-input/tag-input.examples.js +0 -133
  1112. package/components/tags-input/tags-input.js +0 -347
  1113. package/components/tags-input/tags-input.test.js +0 -234
  1114. package/components/tags-list/tags-list.examples.js +0 -41
  1115. package/components/tags-list/tags-list.js +0 -93
  1116. package/components/tags-list/tags-list.test.js +0 -43
  1117. package/components/text/text.examples.js +0 -25
  1118. package/components/text/text.js +0 -29
  1119. package/components/text/text.test.js +0 -25
  1120. package/components/toggle/toggle.examples.js +0 -79
  1121. package/components/toggle/toggle.js +0 -77
  1122. package/components/toggle/toggle.test.js +0 -34
  1123. package/components/tooltip/tooltip.examples.js +0 -118
  1124. package/components/tooltip/tooltip.js +0 -168
  1125. package/components/tooltip/tooltip.test.js +0 -128
  1126. package/components/user-agreement/service.js +0 -292
  1127. package/components/user-agreement/user-agreement.examples.js +0 -112
  1128. package/components/user-agreement/user-agreement.js +0 -124
  1129. package/components/user-card/card.js +0 -98
  1130. package/components/user-card/smart-user-card-tooltip.js +0 -66
  1131. package/components/user-card/tooltip.js +0 -58
  1132. package/components/user-card/user-card.examples.js +0 -88
  1133. package/components/user-card/user-card.test.js +0 -102
  1134. package/components/welcome.examples.js +0 -25
@@ -0,0 +1,109 @@
1
+ import React from 'react';
2
+
3
+ import reactDecorator from '../../.storybook/react-decorator';
4
+
5
+ import Button from '../button/button';
6
+
7
+ import Confirm from './confirm';
8
+
9
+ export default {
10
+ title: 'Components/Confirm',
11
+ decorators: [reactDecorator()],
12
+
13
+ parameters: {
14
+ notes: 'A component that shows a confirmation dialog.',
15
+ hermione: {captureSelector: '*[data-test~=ring-dialog]'},
16
+ a11y: {element: '*[data-test~=ring-dialog]'}
17
+ }
18
+ };
19
+
20
+ interface ConfirmArgs {
21
+ onConfirm: () => void
22
+ onCancel: () => void
23
+ }
24
+ export const confirm = ({onConfirm, onCancel}: ConfirmArgs) => {
25
+ class ConfirmDemo extends React.Component {
26
+ state = {
27
+ confirm: {
28
+ show: true,
29
+ text: 'Do you really wish to proceed?',
30
+ description: 'A description of an action that is about to take place.',
31
+ inProgress: false,
32
+ onConfirm: () => {},
33
+ onReject: () => {}
34
+ }
35
+ };
36
+
37
+ componentDidMount() {
38
+ this.showConfirm();
39
+ }
40
+
41
+ hideConfirm = () => {
42
+ this.setState({confirm: {show: false}});
43
+ };
44
+
45
+ showConfirm = () =>
46
+ new Promise<void>((resolve, reject) => {
47
+ this.setState({
48
+ confirm: {
49
+ show: true,
50
+ text: 'Do you really wish to proceed?',
51
+ description: 'A description of an action that is about to take place.',
52
+ onConfirm: () => {
53
+ this.hideConfirm();
54
+ resolve();
55
+ },
56
+ onReject: () => {
57
+ this.hideConfirm();
58
+ reject();
59
+ }
60
+ }
61
+ });
62
+ }).
63
+ then(onConfirm).
64
+ catch(onCancel);
65
+
66
+ showWithAnotherText = () =>
67
+ new Promise<void>((resolve, reject) => {
68
+ this.setState({
69
+ confirm: {
70
+ show: true,
71
+ text: 'There is another question',
72
+ onConfirm: () => {
73
+ this.hideConfirm();
74
+ resolve();
75
+ },
76
+ onReject: () => {
77
+ this.hideConfirm();
78
+ reject();
79
+ }
80
+ }
81
+ });
82
+ }).
83
+ then(onConfirm).
84
+ catch(onCancel);
85
+
86
+ render() {
87
+ return (
88
+ <div>
89
+ <Button onClick={this.showConfirm}>Show confirm</Button>
90
+ <Button onClick={this.showWithAnotherText}>Show another message</Button>
91
+ <Confirm
92
+ show={this.state.confirm.show}
93
+ text={this.state.confirm.text}
94
+ description={this.state.confirm.description}
95
+ inProgress={this.state.confirm.inProgress}
96
+ confirmLabel="OK"
97
+ rejectLabel="Cancel"
98
+ onConfirm={this.state.confirm.onConfirm}
99
+ onReject={this.state.confirm.onReject}
100
+ />
101
+ </div>
102
+ );
103
+ }
104
+ }
105
+
106
+ return <ConfirmDemo/>;
107
+ };
108
+
109
+ confirm.argTypes = {onConfirm: {}, onCancel: {}};
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import {mount, ReactWrapper} from 'enzyme';
3
+
4
+ import islandStyles from '../island/island.css';
5
+
6
+ import Confirm, {ConfirmAttributes} from './confirm';
7
+
8
+ describe('Confirm', () => {
9
+ const defaultProps = {show: true, text: 'Foo'};
10
+ let wrapper: ReactWrapper;
11
+ const mountConfirm = (props: ConfirmAttributes) => {
12
+ wrapper = mount(<Confirm {...props}/>);
13
+ return wrapper;
14
+ };
15
+
16
+ const getContainer = () => document.querySelector('[data-test~="ring-dialog"]');
17
+
18
+ afterEach(() => wrapper.unmount());
19
+
20
+ it('should create component', () => {
21
+ mountConfirm(defaultProps).should.have.type(Confirm);
22
+ });
23
+
24
+ it('should render confirm', () => {
25
+ mountConfirm(defaultProps);
26
+ const container = getContainer();
27
+ should.exist(container);
28
+ container?.should.contain(`.${islandStyles.title}`);
29
+ });
30
+ });
@@ -0,0 +1,116 @@
1
+ import React, {PureComponent, ReactNode} from 'react';
2
+ import PropTypes from 'prop-types';
3
+
4
+ import Dialog from '../dialog/dialog';
5
+ import Button from '../button/button';
6
+ import {Content, Header} from '../island/island';
7
+ import Panel from '../panel/panel';
8
+
9
+ import styles from './confirm.css';
10
+
11
+ export interface ConfirmProps {
12
+ text: string
13
+ description: ReactNode
14
+ show: boolean
15
+ rejectOnEsc: boolean
16
+ inProgress: boolean
17
+ cancelIsDefault: boolean
18
+ confirmLabel: string
19
+ rejectLabel: string
20
+ onConfirm: ((event: React.MouseEvent<HTMLButtonElement>) => void)
21
+ onReject: ((event?: React.MouseEvent<HTMLButtonElement>) => void)
22
+ className?: string | undefined
23
+ }
24
+
25
+ /**
26
+ * @name Confirm
27
+ */
28
+
29
+ export default class Confirm extends PureComponent<ConfirmProps> {
30
+ static propTypes = {
31
+ className: PropTypes.string,
32
+ text: PropTypes.string,
33
+ description: PropTypes.node,
34
+
35
+ show: PropTypes.bool,
36
+ rejectOnEsc: PropTypes.bool,
37
+ inProgress: PropTypes.bool,
38
+ cancelIsDefault: PropTypes.bool,
39
+ confirmLabel: PropTypes.string,
40
+ rejectLabel: PropTypes.string,
41
+
42
+ onConfirm: PropTypes.func,
43
+ onReject: PropTypes.func
44
+ };
45
+
46
+ static defaultProps = {
47
+ text: null,
48
+ description: null,
49
+ show: false,
50
+ rejectOnEsc: true,
51
+ inProgress: false,
52
+ cancelIsDefault: false,
53
+ confirmLabel: 'OK',
54
+ rejectLabel: 'Cancel',
55
+ onConfirm: () => {},
56
+ onReject: () => {}
57
+ };
58
+
59
+ onEscPress = () => {
60
+ if (this.props.rejectOnEsc) {
61
+ this.props.onReject();
62
+ }
63
+ };
64
+
65
+ render() {
66
+ const {
67
+ show,
68
+ className,
69
+ inProgress,
70
+ cancelIsDefault,
71
+ text,
72
+ description,
73
+ confirmLabel,
74
+ rejectLabel,
75
+ onConfirm,
76
+ onReject
77
+ } = this.props;
78
+
79
+ return (
80
+ <Dialog
81
+ label={text || (typeof description === 'string' ? description : undefined)}
82
+ className={className}
83
+ onEscPress={this.onEscPress}
84
+ show={show}
85
+ trapFocus
86
+ data-test="ring-confirm"
87
+ >
88
+ {text && <Header>{text}</Header>}
89
+ <Content>
90
+ {description && <div className={styles.description}>{description}</div>}
91
+ </Content>
92
+ <Panel>
93
+ <Button
94
+ data-test="confirm-ok-button"
95
+ primary={!cancelIsDefault}
96
+ loader={inProgress}
97
+ disabled={inProgress}
98
+ onClick={onConfirm}
99
+ >
100
+ {confirmLabel}
101
+ </Button>
102
+ <Button
103
+ data-test="confirm-reject-button"
104
+ onClick={onReject}
105
+ disabled={inProgress}
106
+ primary={cancelIsDefault}
107
+ >
108
+ {rejectLabel}
109
+ </Button>
110
+ </Panel>
111
+ </Dialog>
112
+ );
113
+ }
114
+ }
115
+
116
+ export type ConfirmAttributes = JSX.LibraryManagedAttributes<typeof Confirm, ConfirmProps>
@@ -2,9 +2,9 @@ import angular from 'angular';
2
2
 
3
3
  import angularDecorator, {APP_NAME} from '../../.storybook/angular-decorator';
4
4
 
5
- import {hideConfirm} from '@jetbrains/ring-ui/components/confirm-service/confirm-service';
5
+ import {hideConfirm} from '../confirm-service/confirm-service';
6
6
 
7
- import ConfirmNG from '@jetbrains/ring-ui/components/confirm-ng/confirm-ng';
7
+ import ConfirmNG from './confirm-ng';
8
8
 
9
9
  export default {
10
10
  title: 'Legacy Angular/Confirm Ng',
@@ -0,0 +1,65 @@
1
+ import React from 'react';
2
+
3
+ import reactDecorator from '../../.storybook/react-decorator';
4
+
5
+ import Button from '../button/button';
6
+
7
+ import confirm, {hideConfirm} from './confirm-service';
8
+
9
+ export default {
10
+ title: 'Services/Confirm Service',
11
+ decorators: [reactDecorator()],
12
+
13
+ parameters: {
14
+ notes:
15
+ ' wrapper for the Confirm component. Allows showing the confirmation dialog * without mounting the Confirm component first. Can be used outside React.',
16
+ hermione: {captureSelector: '*[data-test~=ring-dialog]'},
17
+ a11y: {element: '*[data-test~=ring-dialog]'}
18
+ }
19
+ };
20
+
21
+ interface ConfirmServiceArgs {
22
+ onConfirm: () => void
23
+ onCancel: () => void
24
+ }
25
+ export const confirmService = ({onConfirm, onCancel}: ConfirmServiceArgs) => {
26
+ class ConfirmDemo extends React.Component {
27
+ componentDidMount() {
28
+ this.showConfirm();
29
+ }
30
+
31
+ componentWillUnmount() {
32
+ hideConfirm();
33
+ }
34
+
35
+ showConfirm = () =>
36
+ confirm({text: 'Do you really wish to proceed?'}).
37
+ then(onConfirm).
38
+ catch(onCancel);
39
+
40
+ showWithAnotherText = () =>
41
+ confirm({
42
+ text: 'There is another confirmation',
43
+ description: 'Confirmation description',
44
+ confirmLabel: 'OK',
45
+ rejectLabel: 'Cancel',
46
+ cancelIsDefault: true,
47
+ onBeforeConfirm: () => new Promise(resolve => setTimeout(resolve, 1000))
48
+ }).
49
+ then(onConfirm).
50
+ catch(onCancel);
51
+
52
+ render() {
53
+ return (
54
+ <div>
55
+ <Button onClick={this.showConfirm}>Show confirm</Button>
56
+ <Button onClick={this.showWithAnotherText}>Show another message</Button>
57
+ </div>
58
+ );
59
+ }
60
+ }
61
+
62
+ return <ConfirmDemo/>;
63
+ };
64
+
65
+ confirmService.argTypes = {onConfirm: {}, onCancel: {}};
@@ -0,0 +1,73 @@
1
+ import {Simulate} from 'react-dom/test-utils';
2
+ import {unmountComponentAtNode} from 'react-dom';
3
+
4
+ import islandStyles from '../island/island.css';
5
+
6
+ import confirm, {containerElement} from './confirm-service';
7
+
8
+ describe('Confirm Service', () => {
9
+ const getContainer = () => document.querySelector('[data-test~="ring-dialog"]');
10
+
11
+ afterEach(() => {
12
+ unmountComponentAtNode(containerElement);
13
+ });
14
+
15
+ it('should show confirm', () => {
16
+ confirm({text: 'foo'});
17
+ const container = getContainer();
18
+ should.exist(container);
19
+ container?.should.contain(`.${islandStyles.title}`);
20
+ });
21
+
22
+ it('should show confirm text', () => {
23
+ confirm({text: 'foo'});
24
+ const container = getContainer();
25
+ should.exist(container);
26
+ container?.should.contain.text('foo');
27
+ });
28
+
29
+ it('should show confirm description', () => {
30
+ confirm({text: 'foo', description: 'descr'});
31
+ const container = getContainer();
32
+ should.exist(container);
33
+ container?.should.contain.text('descr');
34
+ });
35
+
36
+ it('should show confirm button text', () => {
37
+ confirm({text: 'foo', confirmLabel: 'confirm text'});
38
+ const container = getContainer();
39
+ should.exist(container);
40
+ container?.should.contain.text('confirm text');
41
+ });
42
+
43
+ it('should show reject button text', () => {
44
+ confirm({text: 'foo', rejectLabel: 'reject text'});
45
+ const container = getContainer();
46
+ should.exist(container);
47
+ container?.should.contain.text('reject text');
48
+ });
49
+
50
+ it('should resolve on confirm', async () => {
51
+ const spy = sandbox.spy();
52
+ const promise = confirm({text: 'foo'}).then(spy);
53
+ const container = getContainer();
54
+ const okButton = container?.querySelector('*[data-test="confirm-ok-button"]');
55
+ should.exist(okButton);
56
+ okButton && Simulate.click(okButton);
57
+
58
+ await promise;
59
+ spy.should.have.been.called;
60
+ });
61
+
62
+ it('should reject on reject', async () => {
63
+ const spy = sandbox.spy();
64
+ const promise = confirm({text: 'foo'}).catch(spy);
65
+ const container = getContainer();
66
+ const okButton = container?.querySelector('*[data-test="confirm-reject-button"]');
67
+ should.exist(okButton);
68
+ okButton && Simulate.click(okButton);
69
+
70
+ await promise;
71
+ spy.should.have.been.called;
72
+ });
73
+ });
@@ -0,0 +1,74 @@
1
+ import React, {ReactNode} from 'react';
2
+ import {render} from 'react-dom';
3
+
4
+ import Confirm, {ConfirmAttributes} from '../confirm/confirm';
5
+
6
+ /**
7
+ * @name Confirm Service
8
+ */
9
+
10
+ export const containerElement = document.createElement('div');
11
+
12
+ /**
13
+ * Renders Confirm into virtual node to skip maintaining container
14
+ */
15
+ function renderConfirm(props: ConfirmAttributes) {
16
+ render(<Confirm {...props}/>, containerElement);
17
+ }
18
+
19
+ export interface ConfirmServiceParams {
20
+ text?: string | undefined
21
+ description?: ReactNode
22
+ cancelIsDefault?: boolean | undefined
23
+ confirmLabel?: string | undefined
24
+ rejectLabel?: string | undefined
25
+ onBeforeConfirm?: (() => void) | undefined
26
+ }
27
+
28
+ export default function confirm({
29
+ text,
30
+ description,
31
+ confirmLabel = 'OK',
32
+ rejectLabel = 'Cancel',
33
+ cancelIsDefault,
34
+ onBeforeConfirm
35
+ }: ConfirmServiceParams) {
36
+ return new Promise<void>((resolve, reject) => {
37
+ const props = {
38
+ text,
39
+ description,
40
+ confirmLabel,
41
+ rejectLabel,
42
+ cancelIsDefault,
43
+ show: true,
44
+
45
+ onConfirm: () => {
46
+ if (onBeforeConfirm) {
47
+ renderConfirm({...props, inProgress: true});
48
+ return Promise.resolve(onBeforeConfirm()).
49
+ then(() => {
50
+ renderConfirm({...props, show: false});
51
+ resolve();
52
+ }).
53
+ catch(err => {
54
+ renderConfirm({...props, show: false});
55
+ reject(err);
56
+ });
57
+ }
58
+ renderConfirm({...props, show: false});
59
+ return resolve();
60
+ },
61
+
62
+ onReject: () => {
63
+ renderConfirm({...props, show: false});
64
+ reject(new Error('Confirm(@jetbrains/ring-ui): null exception'));
65
+ }
66
+ };
67
+
68
+ renderConfirm(props);
69
+ });
70
+ }
71
+
72
+ export function hideConfirm() {
73
+ renderConfirm({text: '', show: false});
74
+ }
@@ -0,0 +1,188 @@
1
+ import React from 'react';
2
+
3
+ import reactDecorator from '../../.storybook/react-decorator';
4
+
5
+ import ContentLayout from './content-layout';
6
+ import Sidebar from './sidebar';
7
+
8
+ export default {
9
+ title: 'Components/Content Layout',
10
+ decorators: [reactDecorator()],
11
+
12
+ parameters: {
13
+ notes: 'A component for simple content layout.'
14
+ }
15
+ };
16
+
17
+ export const basic = () => (
18
+ <ContentLayout>
19
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
20
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
21
+ laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
22
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
23
+ non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
24
+ </ContentLayout>
25
+ );
26
+
27
+ basic.storyName = 'basic';
28
+
29
+ export const withSidebarOnTheLeft = () => (
30
+ <div>
31
+ <div>
32
+ <h4>Some title</h4>
33
+ </div>
34
+ <ContentLayout>
35
+ <Sidebar className="sidebar">
36
+ This is sidebar. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
37
+ tempor incididunt ut labore et dolore magna aliqua. This is sidebar. Lorem ipsum dolor sit
38
+ amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
39
+ magna aliqua. This is sidebar. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
40
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua. This is sidebar. Lorem ipsum
41
+ dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
42
+ dolore magna aliqua. This is sidebar. Lorem ipsum dolor sit amet, consectetur adipiscing
43
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. This is sidebar.
44
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
45
+ labore et dolore magna aliqua. This is sidebar. Lorem ipsum dolor sit amet, consectetur
46
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
47
+ </Sidebar>
48
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
49
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
50
+ laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
51
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
52
+ non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor
53
+ sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
54
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
55
+ aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit
56
+ esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
57
+ sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet,
58
+ consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
59
+ aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
60
+ ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
61
+ dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
62
+ qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur
63
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
64
+ minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
65
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
66
+ fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
67
+ officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur
68
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
69
+ minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
70
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
71
+ fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
72
+ officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur
73
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
74
+ minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
75
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
76
+ fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
77
+ officia deserunt mollit anim id est laborum.
78
+ </ContentLayout>
79
+ <div>
80
+ Some content below. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
81
+ tempor incididunt ut labore et dolore magna aliqua.
82
+ </div>
83
+ <div>
84
+ Some content below. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
85
+ tempor incididunt ut labore et dolore magna aliqua.
86
+ </div>
87
+ <div>
88
+ Some content below. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
89
+ tempor incididunt ut labore et dolore magna aliqua.
90
+ </div>
91
+ </div>
92
+ );
93
+
94
+ withSidebarOnTheLeft.storyName = 'with sidebar on the left';
95
+
96
+ withSidebarOnTheLeft.parameters = {
97
+ storyStyles: `
98
+ <style>
99
+ body {
100
+ margin: 0 !important;
101
+ }
102
+
103
+ .sidebar {
104
+ background-color: #EEEEEE;
105
+ }
106
+ </style>`
107
+ };
108
+
109
+ export const withSidebarOnTheRight = () => (
110
+ <div>
111
+ <div>
112
+ <h4>Some title</h4>
113
+ </div>
114
+ <ContentLayout>
115
+ <Sidebar className="sidebar" right>
116
+ This is sidebar. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
117
+ tempor incididunt ut labore et dolore magna aliqua. This is sidebar. Lorem ipsum dolor sit
118
+ amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
119
+ magna aliqua. This is sidebar. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
120
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua. This is sidebar. Lorem ipsum
121
+ dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
122
+ dolore magna aliqua. This is sidebar. Lorem ipsum dolor sit amet, consectetur adipiscing
123
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. This is sidebar.
124
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
125
+ labore et dolore magna aliqua. This is sidebar. Lorem ipsum dolor sit amet, consectetur
126
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
127
+ </Sidebar>
128
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
129
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
130
+ laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
131
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
132
+ non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor
133
+ sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
134
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
135
+ aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit
136
+ esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
137
+ sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet,
138
+ consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
139
+ aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
140
+ ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
141
+ dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
142
+ qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur
143
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
144
+ minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
145
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
146
+ fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
147
+ officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur
148
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
149
+ minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
150
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
151
+ fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
152
+ officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur
153
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
154
+ minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
155
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
156
+ fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
157
+ officia deserunt mollit anim id est laborum.
158
+ </ContentLayout>
159
+ <div>
160
+ Some content below. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
161
+ tempor incididunt ut labore et dolore magna aliqua.
162
+ </div>
163
+ <div>
164
+ Some content below. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
165
+ tempor incididunt ut labore et dolore magna aliqua.
166
+ </div>
167
+ <div>
168
+ Some content below. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
169
+ tempor incididunt ut labore et dolore magna aliqua.
170
+ </div>
171
+ </div>
172
+ );
173
+
174
+ withSidebarOnTheRight.storyName = 'with sidebar on the right';
175
+
176
+ withSidebarOnTheRight.parameters = {
177
+ storyStyles: `
178
+ <style>
179
+ body {
180
+ margin: 0 !important;
181
+ }
182
+
183
+ .sidebar {
184
+ background-color: #EEEEEE;
185
+ }
186
+ </style>
187
+ `
188
+ };