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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/README.md +10 -6
  2. package/components/alert/alert.css +12 -13
  3. package/components/alert/container.css +4 -6
  4. package/components/alert-service/alert-service.stories.css +0 -3
  5. package/components/auth/down-notification.css +2 -4
  6. package/components/auth/request-builder.d.ts +1 -0
  7. package/components/auth-dialog/auth-dialog.css +10 -12
  8. package/components/badge/badge.css +1 -3
  9. package/components/button/button.css +13 -14
  10. package/components/button-group/button-group.css +6 -5
  11. package/components/button-set/button-set.css +1 -2
  12. package/components/button-toolbar/button-toolbar.css +1 -2
  13. package/components/checkbox/checkbox.css +3 -4
  14. package/components/code/code.css +3 -5
  15. package/components/code/code.d.ts +1 -0
  16. package/components/collapse/collapse-content.d.ts +11 -0
  17. package/components/collapse/collapse-content.js +72 -0
  18. package/components/collapse/collapse-context.d.ts +10 -0
  19. package/components/collapse/collapse-context.js +10 -0
  20. package/components/collapse/collapse-control.d.ts +11 -0
  21. package/components/collapse/collapse-control.js +22 -0
  22. package/components/collapse/collapse.css +40 -0
  23. package/components/collapse/collapse.d.ts +12 -0
  24. package/components/collapse/collapse.js +26 -0
  25. package/components/collapse/collapse.stories.css +25 -0
  26. package/components/collapse/consts.d.ts +4 -0
  27. package/components/collapse/consts.js +4 -0
  28. package/components/collapse/utils.d.ts +1 -0
  29. package/components/collapse/utils.js +1 -0
  30. package/components/confirm/confirm.css +1 -3
  31. package/components/content-layout/content-layout.css +7 -7
  32. package/components/data-list/data-list.css +4 -5
  33. package/components/date-picker/consts.js +1 -1
  34. package/components/date-picker/date-picker.css +40 -41
  35. package/components/date-picker/date-picker.js +7 -7
  36. package/components/date-picker/date-popup.js +4 -4
  37. package/components/date-picker/day.js +9 -9
  38. package/components/date-picker/month-names.js +6 -6
  39. package/components/date-picker/month-slider.js +3 -3
  40. package/components/date-picker/month.js +5 -5
  41. package/components/date-picker/months.js +6 -6
  42. package/components/date-picker/weekdays.js +4 -4
  43. package/components/date-picker/years.js +8 -8
  44. package/components/dialog/dialog.css +12 -13
  45. package/components/editable-heading/editable-heading.css +25 -20
  46. package/components/editable-heading/editable-heading.d.ts +1 -1
  47. package/components/editable-heading/editable-heading.js +42 -27
  48. package/components/error-bubble/error-bubble-legacy.css +6 -8
  49. package/components/error-bubble/error-bubble.css +6 -8
  50. package/components/footer/footer.css +6 -8
  51. package/components/form/form.css +31 -33
  52. package/components/global/global.css +1 -7
  53. package/components/global/variables_dark.css +2 -2
  54. package/components/grid/grid.css +6 -6
  55. package/components/grid/row.js +3 -3
  56. package/components/group/group.css +1 -3
  57. package/components/header/header.css +12 -14
  58. package/components/header/profile.js +1 -1
  59. package/components/header/services.css +12 -14
  60. package/components/icon/icon.css +2 -4
  61. package/components/input/input-legacy.css +2 -4
  62. package/components/input/input.css +8 -10
  63. package/components/input-size/input-size.css +4 -6
  64. package/components/island/header.js +1 -1
  65. package/components/island/island.css +6 -7
  66. package/components/island-legacy/island-legacy.css +6 -8
  67. package/components/line/line.css +1 -3
  68. package/components/link/link.css +1 -1
  69. package/components/link/link.d.ts +2 -2
  70. package/components/link/link.js +1 -1
  71. package/components/list/list.css +17 -20
  72. package/components/list/list.d.ts +0 -1
  73. package/components/list/list.js +5 -6
  74. package/components/loader/loader.css +1 -3
  75. package/components/loader/loader__core.js +6 -6
  76. package/components/loader-inline/loader-inline.css +5 -6
  77. package/components/login-dialog/login-dialog.css +1 -3
  78. package/components/markdown/markdown.css +2 -3
  79. package/components/message/message.css +5 -8
  80. package/components/old-browsers-message/old-browsers-message.css +2 -4
  81. package/components/pager/pager.css +2 -4
  82. package/components/panel/panel.css +3 -5
  83. package/components/popup/popup.js +3 -3
  84. package/components/progress-bar/progress-bar.css +9 -4
  85. package/components/progress-bar/progress-bar.d.ts +6 -0
  86. package/components/progress-bar/progress-bar.js +9 -3
  87. package/components/query-assist/query-assist.css +3 -4
  88. package/components/query-assist/query-assist.js +1 -1
  89. package/components/radio/radio.css +7 -10
  90. package/components/select/select-popup.css +13 -11
  91. package/components/select/select.css +13 -14
  92. package/components/select/select.js +21 -21
  93. package/components/sidebar/sidebar.css +13 -15
  94. package/components/table/table.css +15 -17
  95. package/components/table-legacy/table-legacy.css +22 -24
  96. package/components/table-legacy/table-legacy__toolbar.css +2 -4
  97. package/components/tabs/tabs.css +3 -4
  98. package/components/tag/tag.css +12 -13
  99. package/components/tags-input/tags-input.css +1 -2
  100. package/components/toggle/toggle.css +21 -22
  101. package/components/tooltip/tooltip.css +3 -5
  102. package/components/user-agreement/user-agreement.css +2 -2
  103. package/components/user-card/user-card.css +3 -5
  104. package/package.json +74 -77
  105. package/typings.d.ts +0 -54
  106. package/webpack.config.js +1 -24
  107. package/components/auth/landing-entry.d.ts +0 -3
  108. package/components/auth/landing-entry.js +0 -2
  109. package/components/auth/landing.d.ts +0 -2
  110. package/components/auth/landing.html +0 -12
  111. package/components/auth/landing.js +0 -26
  112. package/dist/_helpers/_rollupPluginBabelHelpers.js +0 -648
  113. package/dist/_helpers/anchor.js +0 -31
  114. package/dist/_helpers/badge.js +0 -3
  115. package/dist/_helpers/button__classes.js +0 -34
  116. package/dist/_helpers/caption.js +0 -31
  117. package/dist/_helpers/card.js +0 -132
  118. package/dist/_helpers/date-picker.js +0 -3
  119. package/dist/_helpers/dialog__body-scroll-preventer.js +0 -54
  120. package/dist/_helpers/grid.js +0 -3
  121. package/dist/_helpers/header.js +0 -3
  122. package/dist/_helpers/heading.js +0 -3
  123. package/dist/_helpers/icon__svg.js +0 -75
  124. package/dist/_helpers/input.js +0 -235
  125. package/dist/_helpers/island.js +0 -3
  126. package/dist/_helpers/link.js +0 -3
  127. package/dist/_helpers/list.js +0 -3
  128. package/dist/_helpers/query-assist__suggestions.js +0 -102
  129. package/dist/_helpers/select__filter.js +0 -94
  130. package/dist/_helpers/services-link.js +0 -48
  131. package/dist/_helpers/sidebar.js +0 -123
  132. package/dist/_helpers/tab-link.js +0 -34
  133. package/dist/_helpers/table.js +0 -3
  134. package/dist/_helpers/theme.js +0 -95
  135. package/dist/_helpers/title.js +0 -103
  136. package/dist/alert/alert.d.ts +0 -113
  137. package/dist/alert/alert.js +0 -292
  138. package/dist/alert/container.d.ts +0 -15
  139. package/dist/alert/container.js +0 -52
  140. package/dist/alert-service/alert-service.d.ts +0 -36
  141. package/dist/alert-service/alert-service.js +0 -218
  142. package/dist/analytics/analytics.d.ts +0 -18
  143. package/dist/analytics/analytics.js +0 -31
  144. package/dist/analytics/analytics__custom-plugin.d.ts +0 -28
  145. package/dist/analytics/analytics__custom-plugin.js +0 -90
  146. package/dist/auth/auth.d.ts +0 -3
  147. package/dist/auth/auth.js +0 -130
  148. package/dist/auth/auth__core.d.ts +0 -236
  149. package/dist/auth/auth__core.js +0 -1650
  150. package/dist/auth/background-flow.d.ts +0 -31
  151. package/dist/auth/background-flow.js +0 -146
  152. package/dist/auth/down-notification.d.ts +0 -15
  153. package/dist/auth/down-notification.js +0 -155
  154. package/dist/auth/iframe-flow.d.ts +0 -20
  155. package/dist/auth/iframe-flow.js +0 -192
  156. package/dist/auth/landing-entry.d.ts +0 -3
  157. package/dist/auth/landing-entry.js +0 -5
  158. package/dist/auth/landing.d.ts +0 -2
  159. package/dist/auth/landing.js +0 -152
  160. package/dist/auth/request-builder.d.ts +0 -47
  161. package/dist/auth/request-builder.js +0 -101
  162. package/dist/auth/response-parser.d.ts +0 -70
  163. package/dist/auth/response-parser.js +0 -137
  164. package/dist/auth/storage.d.ts +0 -112
  165. package/dist/auth/storage.js +0 -422
  166. package/dist/auth/token-validator.d.ts +0 -93
  167. package/dist/auth/token-validator.js +0 -267
  168. package/dist/auth/window-flow.d.ts +0 -26
  169. package/dist/auth/window-flow.js +0 -153
  170. package/dist/auth-dialog/auth-dialog.d.ts +0 -60
  171. package/dist/auth-dialog/auth-dialog.js +0 -219
  172. package/dist/auth-dialog-service/auth-dialog-service.d.ts +0 -6
  173. package/dist/auth-dialog-service/auth-dialog-service.js +0 -90
  174. package/dist/avatar/avatar-example-datauri.d.ts +0 -1
  175. package/dist/avatar/avatar-example-datauri.js +0 -4
  176. package/dist/avatar/avatar.d.ts +0 -52
  177. package/dist/avatar/avatar.js +0 -180
  178. package/dist/avatar/fallback-avatar.d.ts +0 -17
  179. package/dist/avatar/fallback-avatar.js +0 -150
  180. package/dist/badge/badge.d.ts +0 -24
  181. package/dist/badge/badge.js +0 -59
  182. package/dist/button/button.d.ts +0 -67
  183. package/dist/button/button.js +0 -131
  184. package/dist/button/button__classes.d.ts +0 -2
  185. package/dist/button/button__classes.js +0 -2
  186. package/dist/button-group/button-group.d.ts +0 -18
  187. package/dist/button-group/button-group.js +0 -48
  188. package/dist/button-group/caption.d.ts +0 -8
  189. package/dist/button-group/caption.js +0 -5
  190. package/dist/button-set/button-set.d.ts +0 -16
  191. package/dist/button-set/button-set.js +0 -47
  192. package/dist/button-toolbar/button-toolbar.d.ts +0 -16
  193. package/dist/button-toolbar/button-toolbar.js +0 -46
  194. package/dist/caret/caret.d.ts +0 -66
  195. package/dist/caret/caret.js +0 -258
  196. package/dist/checkbox/checkbox.d.ts +0 -45
  197. package/dist/checkbox/checkbox.js +0 -130
  198. package/dist/clipboard/clipboard-fallback.d.ts +0 -2
  199. package/dist/clipboard/clipboard-fallback.js +0 -42
  200. package/dist/clipboard/clipboard.d.ts +0 -5
  201. package/dist/clipboard/clipboard.js +0 -183
  202. package/dist/code/code.d.ts +0 -43
  203. package/dist/code/code.js +0 -192
  204. package/dist/confirm/confirm.d.ts +0 -48
  205. package/dist/confirm/confirm.js +0 -151
  206. package/dist/confirm-service/confirm-service.d.ts +0 -21
  207. package/dist/confirm-service/confirm-service.js +0 -139
  208. package/dist/content-layout/content-layout.d.ts +0 -26
  209. package/dist/content-layout/content-layout.js +0 -79
  210. package/dist/content-layout/sidebar.d.ts +0 -31
  211. package/dist/content-layout/sidebar.js +0 -7
  212. package/dist/contenteditable/contenteditable.d.ts +0 -47
  213. package/dist/contenteditable/contenteditable.js +0 -84
  214. package/dist/control-label/control-label.d.ts +0 -11
  215. package/dist/control-label/control-label.js +0 -36
  216. package/dist/data-list/data-list.d.ts +0 -85
  217. package/dist/data-list/data-list.js +0 -246
  218. package/dist/data-list/data-list.mock.d.ts +0 -16
  219. package/dist/data-list/data-list.mock.js +0 -192
  220. package/dist/data-list/item.d.ts +0 -50
  221. package/dist/data-list/item.js +0 -234
  222. package/dist/data-list/selection.d.ts +0 -16
  223. package/dist/data-list/selection.js +0 -146
  224. package/dist/data-list/title.d.ts +0 -26
  225. package/dist/data-list/title.js +0 -28
  226. package/dist/date-picker/consts.d.ts +0 -98
  227. package/dist/date-picker/consts.js +0 -46
  228. package/dist/date-picker/date-input.d.ts +0 -47
  229. package/dist/date-picker/date-input.js +0 -177
  230. package/dist/date-picker/date-picker.d.ts +0 -77
  231. package/dist/date-picker/date-picker.js +0 -402
  232. package/dist/date-picker/date-popup.d.ts +0 -55
  233. package/dist/date-picker/date-popup.js +0 -488
  234. package/dist/date-picker/day.d.ts +0 -30
  235. package/dist/date-picker/day.js +0 -133
  236. package/dist/date-picker/formats.d.ts +0 -2
  237. package/dist/date-picker/formats.js +0 -3
  238. package/dist/date-picker/month-names.d.ts +0 -13
  239. package/dist/date-picker/month-names.js +0 -110
  240. package/dist/date-picker/month-slider.d.ts +0 -29
  241. package/dist/date-picker/month-slider.js +0 -93
  242. package/dist/date-picker/month.d.ts +0 -14
  243. package/dist/date-picker/month.js +0 -58
  244. package/dist/date-picker/months.d.ts +0 -11
  245. package/dist/date-picker/months.js +0 -133
  246. package/dist/date-picker/weekdays.d.ts +0 -13
  247. package/dist/date-picker/weekdays.js +0 -39
  248. package/dist/date-picker/years.d.ts +0 -25
  249. package/dist/date-picker/years.js +0 -134
  250. package/dist/dialog/dialog.d.ts +0 -64
  251. package/dist/dialog/dialog.js +0 -238
  252. package/dist/dialog/dialog__body-scroll-preventer.d.ts +0 -9
  253. package/dist/dialog/dialog__body-scroll-preventer.js +0 -6
  254. package/dist/dropdown/anchor.d.ts +0 -11
  255. package/dist/dropdown/anchor.js +0 -24
  256. package/dist/dropdown/dropdown.d.ts +0 -87
  257. package/dist/dropdown/dropdown.js +0 -247
  258. package/dist/dropdown-menu/dropdown-menu.d.ts +0 -36
  259. package/dist/dropdown-menu/dropdown-menu.js +0 -194
  260. package/dist/editable-heading/editable-heading.d.ts +0 -32
  261. package/dist/editable-heading/editable-heading.js +0 -245
  262. package/dist/error-bubble/error-bubble.d.ts +0 -18
  263. package/dist/error-bubble/error-bubble.js +0 -86
  264. package/dist/error-message/error-message.d.ts +0 -27
  265. package/dist/error-message/error-message.js +0 -78
  266. package/dist/footer/footer.d.ts +0 -28
  267. package/dist/footer/footer.js +0 -118
  268. package/dist/global/compose.d.ts +0 -7
  269. package/dist/global/compose.js +0 -17
  270. package/dist/global/composeRefs.d.ts +0 -3
  271. package/dist/global/composeRefs.js +0 -19
  272. package/dist/global/controls-height.d.ts +0 -9
  273. package/dist/global/controls-height.js +0 -19
  274. package/dist/global/create-stateful-context.d.ts +0 -27
  275. package/dist/global/create-stateful-context.js +0 -49
  276. package/dist/global/data-tests.d.ts +0 -3
  277. package/dist/global/data-tests.js +0 -30
  278. package/dist/global/dom.d.ts +0 -37
  279. package/dist/global/dom.js +0 -150
  280. package/dist/global/focus-sensor-hoc.d.ts +0 -19
  281. package/dist/global/focus-sensor-hoc.js +0 -165
  282. package/dist/global/fuzzy-highlight.d.ts +0 -11
  283. package/dist/global/fuzzy-highlight.js +0 -90
  284. package/dist/global/get-event-key.d.ts +0 -2
  285. package/dist/global/get-event-key.js +0 -101
  286. package/dist/global/get-uid.d.ts +0 -1
  287. package/dist/global/get-uid.js +0 -22
  288. package/dist/global/inject-styles.d.ts +0 -3
  289. package/dist/global/inject-styles.js +0 -22
  290. package/dist/global/linear-function.d.ts +0 -6
  291. package/dist/global/linear-function.js +0 -15
  292. package/dist/global/listeners.d.ts +0 -8
  293. package/dist/global/listeners.js +0 -58
  294. package/dist/global/memoize.d.ts +0 -1
  295. package/dist/global/memoize.js +0 -23
  296. package/dist/global/normalize-indent.d.ts +0 -1
  297. package/dist/global/normalize-indent.js +0 -61
  298. package/dist/global/promise-with-timeout.d.ts +0 -5
  299. package/dist/global/promise-with-timeout.js +0 -19
  300. package/dist/global/prop-types.d.ts +0 -4
  301. package/dist/global/prop-types.js +0 -9
  302. package/dist/global/react-dom-renderer.d.ts +0 -16
  303. package/dist/global/react-dom-renderer.js +0 -53
  304. package/dist/global/react-render-adapter.d.ts +0 -1
  305. package/dist/global/react-render-adapter.js +0 -6
  306. package/dist/global/rerender-hoc.d.ts +0 -10
  307. package/dist/global/rerender-hoc.js +0 -46
  308. package/dist/global/schedule-raf.d.ts +0 -1
  309. package/dist/global/schedule-raf.js +0 -28
  310. package/dist/global/sniffer.d.ts +0 -3
  311. package/dist/global/sniffer.js +0 -6
  312. package/dist/global/theme.d.ts +0 -21
  313. package/dist/global/theme.js +0 -40
  314. package/dist/global/trivial-template-tag.d.ts +0 -1
  315. package/dist/global/trivial-template-tag.js +0 -21
  316. package/dist/global/typescript-utils.d.ts +0 -2
  317. package/dist/global/typescript-utils.js +0 -8
  318. package/dist/global/url.d.ts +0 -57
  319. package/dist/global/url.js +0 -141
  320. package/dist/global/use-event-callback.d.ts +0 -1
  321. package/dist/global/use-event-callback.js +0 -17
  322. package/dist/global/variables.d.ts +0 -89
  323. package/dist/global/variables.js +0 -1
  324. package/dist/grid/col.d.ts +0 -31
  325. package/dist/grid/col.js +0 -81
  326. package/dist/grid/grid.d.ts +0 -14
  327. package/dist/grid/grid.js +0 -47
  328. package/dist/grid/row.d.ts +0 -40
  329. package/dist/grid/row.js +0 -70
  330. package/dist/group/group.d.ts +0 -12
  331. package/dist/group/group.js +0 -39
  332. package/dist/header/header.d.ts +0 -34
  333. package/dist/header/header.js +0 -184
  334. package/dist/header/logo.d.ts +0 -14
  335. package/dist/header/logo.js +0 -51
  336. package/dist/header/profile.d.ts +0 -75
  337. package/dist/header/profile.js +0 -252
  338. package/dist/header/services-link.d.ts +0 -25
  339. package/dist/header/services-link.js +0 -13
  340. package/dist/header/services.d.ts +0 -33
  341. package/dist/header/services.js +0 -172
  342. package/dist/header/smart-profile.d.ts +0 -36
  343. package/dist/header/smart-profile.js +0 -298
  344. package/dist/header/smart-services.d.ts +0 -26
  345. package/dist/header/smart-services.js +0 -189
  346. package/dist/header/tray-icon.d.ts +0 -32
  347. package/dist/header/tray-icon.js +0 -57
  348. package/dist/header/tray.d.ts +0 -9
  349. package/dist/header/tray.js +0 -41
  350. package/dist/heading/heading.d.ts +0 -25
  351. package/dist/heading/heading.js +0 -69
  352. package/dist/http/http.d.ts +0 -61
  353. package/dist/http/http.js +0 -385
  354. package/dist/http/http.mock.d.ts +0 -20
  355. package/dist/http/http.mock.js +0 -112
  356. package/dist/hub-source/hub-source.d.ts +0 -44
  357. package/dist/hub-source/hub-source.js +0 -215
  358. package/dist/hub-source/hub-source__user.d.ts +0 -4
  359. package/dist/hub-source/hub-source__user.js +0 -59
  360. package/dist/hub-source/hub-source__users-groups.d.ts +0 -24
  361. package/dist/hub-source/hub-source__users-groups.js +0 -84
  362. package/dist/i18n/i18n-context.d.ts +0 -13
  363. package/dist/i18n/i18n-context.js +0 -27
  364. package/dist/i18n/i18n.d.ts +0 -59
  365. package/dist/i18n/i18n.js +0 -139
  366. package/dist/icon/icon.d.ts +0 -43
  367. package/dist/icon/icon.js +0 -109
  368. package/dist/icon/icon__constants.d.ts +0 -30
  369. package/dist/icon/icon__constants.js +0 -34
  370. package/dist/icon/icon__svg.d.ts +0 -15
  371. package/dist/icon/icon__svg.js +0 -14
  372. package/dist/icon/index.d.ts +0 -2
  373. package/dist/icon/index.js +0 -17
  374. package/dist/input/input.d.ts +0 -77
  375. package/dist/input/input.js +0 -35
  376. package/dist/island/adaptive-island-hoc.d.ts +0 -61
  377. package/dist/island/adaptive-island-hoc.js +0 -53
  378. package/dist/island/content.d.ts +0 -43
  379. package/dist/island/content.js +0 -151
  380. package/dist/island/header.d.ts +0 -8
  381. package/dist/island/header.js +0 -99
  382. package/dist/island/island.d.ts +0 -78
  383. package/dist/island/island.js +0 -60
  384. package/dist/island-legacy/content-legacy.d.ts +0 -10
  385. package/dist/island-legacy/content-legacy.js +0 -34
  386. package/dist/island-legacy/header-legacy.d.ts +0 -10
  387. package/dist/island-legacy/header-legacy.js +0 -36
  388. package/dist/island-legacy/island-legacy.d.ts +0 -12
  389. package/dist/island-legacy/island-legacy.js +0 -36
  390. package/dist/link/clickableLink.d.ts +0 -20
  391. package/dist/link/clickableLink.js +0 -69
  392. package/dist/link/link.d.ts +0 -138
  393. package/dist/link/link.js +0 -86
  394. package/dist/list/consts.d.ts +0 -77
  395. package/dist/list/consts.js +0 -27
  396. package/dist/list/list.d.ts +0 -206
  397. package/dist/list/list.js +0 -795
  398. package/dist/list/list__custom.d.ts +0 -6
  399. package/dist/list/list__custom.js +0 -92
  400. package/dist/list/list__hint.d.ts +0 -15
  401. package/dist/list/list__hint.js +0 -33
  402. package/dist/list/list__item.d.ts +0 -8
  403. package/dist/list/list__item.js +0 -234
  404. package/dist/list/list__link.d.ts +0 -9
  405. package/dist/list/list__link.js +0 -76
  406. package/dist/list/list__separator.d.ts +0 -5
  407. package/dist/list/list__separator.js +0 -39
  408. package/dist/list/list__title.d.ts +0 -5
  409. package/dist/list/list__title.js +0 -48
  410. package/dist/list/list__users-groups-source.d.ts +0 -27
  411. package/dist/list/list__users-groups-source.js +0 -190
  412. package/dist/loader/loader.d.ts +0 -28
  413. package/dist/loader/loader.js +0 -91
  414. package/dist/loader/loader__core.d.ts +0 -75
  415. package/dist/loader/loader__core.js +0 -313
  416. package/dist/loader-inline/loader-inline.d.ts +0 -18
  417. package/dist/loader-inline/loader-inline.js +0 -50
  418. package/dist/loader-screen/loader-screen.d.ts +0 -17
  419. package/dist/loader-screen/loader-screen.js +0 -62
  420. package/dist/login-dialog/login-dialog.d.ts +0 -47
  421. package/dist/login-dialog/login-dialog.js +0 -212
  422. package/dist/login-dialog/service.d.ts +0 -2
  423. package/dist/login-dialog/service.js +0 -94
  424. package/dist/markdown/markdown.d.ts +0 -12
  425. package/dist/markdown/markdown.js +0 -43
  426. package/dist/message/message.d.ts +0 -55
  427. package/dist/message/message.js +0 -265
  428. package/dist/old-browsers-message/old-browsers-message.d.ts +0 -2
  429. package/dist/old-browsers-message/old-browsers-message.js +0 -92
  430. package/dist/old-browsers-message/old-browsers-message__stop.d.ts +0 -1
  431. package/dist/old-browsers-message/old-browsers-message__stop.js +0 -11
  432. package/dist/old-browsers-message/white-list.d.ts +0 -2
  433. package/dist/old-browsers-message/white-list.js +0 -37
  434. package/dist/pager/pager.d.ts +0 -78
  435. package/dist/pager/pager.js +0 -385
  436. package/dist/panel/panel.d.ts +0 -12
  437. package/dist/panel/panel.js +0 -39
  438. package/dist/permissions/permissions.d.ts +0 -111
  439. package/dist/permissions/permissions.js +0 -220
  440. package/dist/permissions/permissions__cache.d.ts +0 -93
  441. package/dist/permissions/permissions__cache.js +0 -257
  442. package/dist/popup/popup.consts.d.ts +0 -37
  443. package/dist/popup/popup.consts.js +0 -44
  444. package/dist/popup/popup.d.ts +0 -147
  445. package/dist/popup/popup.js +0 -419
  446. package/dist/popup/popup.target.d.ts +0 -7
  447. package/dist/popup/popup.target.js +0 -24
  448. package/dist/popup/position.d.ts +0 -30
  449. package/dist/popup/position.js +0 -270
  450. package/dist/popup-menu/popup-menu.d.ts +0 -80
  451. package/dist/popup-menu/popup-menu.js +0 -136
  452. package/dist/progress-bar/progress-bar.d.ts +0 -58
  453. package/dist/progress-bar/progress-bar.js +0 -113
  454. package/dist/query-assist/query-assist.d.ts +0 -306
  455. package/dist/query-assist/query-assist.js +0 -1092
  456. package/dist/query-assist/query-assist__suggestions.d.ts +0 -29
  457. package/dist/query-assist/query-assist__suggestions.js +0 -70
  458. package/dist/radio/radio.d.ts +0 -18
  459. package/dist/radio/radio.js +0 -48
  460. package/dist/radio/radio__item.d.ts +0 -28
  461. package/dist/radio/radio__item.js +0 -88
  462. package/dist/select/select.d.ts +0 -276
  463. package/dist/select/select.js +0 -1285
  464. package/dist/select/select__filter.d.ts +0 -19
  465. package/dist/select/select__filter.js +0 -80
  466. package/dist/select/select__popup.d.ts +0 -166
  467. package/dist/select/select__popup.js +0 -626
  468. package/dist/shortcuts/core.d.ts +0 -74
  469. package/dist/shortcuts/core.js +0 -247
  470. package/dist/shortcuts/shortcut-title.d.ts +0 -1
  471. package/dist/shortcuts/shortcut-title.js +0 -56
  472. package/dist/shortcuts/shortcuts-hoc.d.ts +0 -65
  473. package/dist/shortcuts/shortcuts-hoc.js +0 -59
  474. package/dist/shortcuts/shortcuts.d.ts +0 -28
  475. package/dist/shortcuts/shortcuts.js +0 -90
  476. package/dist/storage/storage.d.ts +0 -18
  477. package/dist/storage/storage.js +0 -89
  478. package/dist/storage/storage__fallback.d.ts +0 -79
  479. package/dist/storage/storage__fallback.js +0 -251
  480. package/dist/storage/storage__local.d.ts +0 -38
  481. package/dist/storage/storage__local.js +0 -215
  482. package/dist/style.css +0 -1
  483. package/dist/tab-trap/tab-trap.d.ts +0 -43
  484. package/dist/tab-trap/tab-trap.js +0 -179
  485. package/dist/table/cell.d.ts +0 -13
  486. package/dist/table/cell.js +0 -37
  487. package/dist/table/disable-hover-hoc.d.ts +0 -64
  488. package/dist/table/disable-hover-hoc.js +0 -62
  489. package/dist/table/header-cell.d.ts +0 -43
  490. package/dist/table/header-cell.js +0 -109
  491. package/dist/table/header.d.ts +0 -56
  492. package/dist/table/header.js +0 -151
  493. package/dist/table/multitable.d.ts +0 -25
  494. package/dist/table/multitable.js +0 -139
  495. package/dist/table/row-with-focus-sensor.d.ts +0 -18
  496. package/dist/table/row-with-focus-sensor.js +0 -115
  497. package/dist/table/row.d.ts +0 -59
  498. package/dist/table/row.js +0 -297
  499. package/dist/table/selection-adapter.d.ts +0 -5
  500. package/dist/table/selection-adapter.js +0 -14
  501. package/dist/table/selection-shortcuts-hoc.d.ts +0 -17
  502. package/dist/table/selection-shortcuts-hoc.js +0 -204
  503. package/dist/table/selection.d.ts +0 -47
  504. package/dist/table/selection.js +0 -256
  505. package/dist/table/smart-table.d.ts +0 -64
  506. package/dist/table/smart-table.js +0 -145
  507. package/dist/table/table.d.ts +0 -159
  508. package/dist/table/table.js +0 -459
  509. package/dist/tabs/collapsible-more.d.ts +0 -29
  510. package/dist/tabs/collapsible-more.js +0 -217
  511. package/dist/tabs/collapsible-tab.d.ts +0 -16
  512. package/dist/tabs/collapsible-tab.js +0 -88
  513. package/dist/tabs/collapsible-tabs.d.ts +0 -43
  514. package/dist/tabs/collapsible-tabs.js +0 -349
  515. package/dist/tabs/custom-item.d.ts +0 -9
  516. package/dist/tabs/custom-item.js +0 -11
  517. package/dist/tabs/dumb-tabs.d.ts +0 -35
  518. package/dist/tabs/dumb-tabs.js +0 -184
  519. package/dist/tabs/smart-tabs.d.ts +0 -20
  520. package/dist/tabs/smart-tabs.js +0 -136
  521. package/dist/tabs/tab-link.d.ts +0 -18
  522. package/dist/tabs/tab-link.js +0 -13
  523. package/dist/tabs/tab.d.ts +0 -27
  524. package/dist/tabs/tab.js +0 -41
  525. package/dist/tabs/tabs.d.ts +0 -7
  526. package/dist/tabs/tabs.js +0 -94
  527. package/dist/tag/tag.d.ts +0 -64
  528. package/dist/tag/tag.js +0 -213
  529. package/dist/tags-input/tags-input.d.ts +0 -138
  530. package/dist/tags-input/tags-input.js +0 -529
  531. package/dist/tags-list/tags-list.d.ts +0 -46
  532. package/dist/tags-list/tags-list.js +0 -102
  533. package/dist/text/text.d.ts +0 -23
  534. package/dist/text/text.js +0 -57
  535. package/dist/toggle/toggle.d.ts +0 -39
  536. package/dist/toggle/toggle.js +0 -86
  537. package/dist/tooltip/tooltip.d.ts +0 -65
  538. package/dist/tooltip/tooltip.js +0 -227
  539. package/dist/user-agreement/service.d.ts +0 -69
  540. package/dist/user-agreement/service.js +0 -484
  541. package/dist/user-agreement/toolbox.eula.d.ts +0 -2
  542. package/dist/user-agreement/toolbox.eula.js +0 -3
  543. package/dist/user-agreement/user-agreement.d.ts +0 -60
  544. package/dist/user-agreement/user-agreement.js +0 -170
  545. package/dist/user-card/card.d.ts +0 -70
  546. package/dist/user-card/card.js +0 -76
  547. package/dist/user-card/smart-user-card-tooltip.d.ts +0 -20
  548. package/dist/user-card/smart-user-card-tooltip.js +0 -168
  549. package/dist/user-card/tooltip.d.ts +0 -36
  550. package/dist/user-card/tooltip.js +0 -140
  551. package/dist/user-card/user-card.d.ts +0 -11
  552. package/dist/user-card/user-card.js +0 -81
package/README.md CHANGED
@@ -1,27 +1,31 @@
1
1
  # Ring UI — JetBrains Web UI components
2
2
  [![Storybook][storybook-img]][docsite] [![Build Status][ci-img]][ci-bt] [![Storybook][browserstack-img]][browserstack-build-page] [![NPM version][npm-version-img]][npm-package] [![NPM downloads][npm-count-img]][npm-package]
3
3
 
4
- [![official JetBrains project](https://jb.gg/badges/official-flat-square.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
4
+ [![official JetBrains project](https://jb.gg/badges/official-flat-square.svg)](https://github.com/JetBrains#jetbrains-on-github)
5
5
 
6
6
  This collection of UI components aims to provide all the necessary building blocks for web-based products built inside JetBrains, as well as third-party plugins developed for JetBrains' products.
7
7
 
8
8
  ## Try now
9
- * Try the [codesandbox](https://codesandbox.io/s/ring-ui-sandbox-wrigs), based on `create-react-app` tooling, to see and try the UI components
9
+ * Try the [codesandbox](https://codesandbox.io/p/devbox/ring-ui-6-0-demo-l5v5fk), based on `create-react-app` tooling, to see and try the UI components
10
10
  * Check out [list of examples](https://jetbrains.github.io/ring-ui/master/index.html) for each component
11
11
 
12
12
  ## Installation
13
13
 
14
- `npm install @jetbrains/ring-ui`
14
+ * For Quick Start, use pre-built version:
15
+ `npm install @jetbrains/ring-ui-built`
16
+ * For complex projects, use "sources" version
17
+ `npm install @jetbrains/ring-ui`
18
+ You will then need to include building Ring UI into your WebPack build (see "Building Ring UI from source via Webpack" below)
15
19
 
16
20
  ### Quick start
17
21
 
18
22
  The easiest way is to import necessary components as ES modules:
19
23
  ```js
20
24
  // You need to import RingUI styles once
21
- import '@jetbrains/ring-ui/dist/style.css';
25
+ import '@jetbrains/ring-ui-built/components/style.css';
22
26
 
23
- import alertService from '@jetbrains/ring-ui/dist/alert-service/alert-service';
24
- import Button from '@jetbrains/ring-ui/dist/button/button';
27
+ import alertService from '@jetbrains/ring-ui-built/components/alert-service/alert-service';
28
+ import Button from '@jetbrains/ring-ui-built/components/button/button';
25
29
 
26
30
  ...
27
31
 
@@ -1,7 +1,6 @@
1
1
  @import "../global/variables.css";
2
2
 
3
3
  @value link from "../link/link.css";
4
- @value unit from "../global/global.css";
5
4
  @value animation-duration: 300ms;
6
5
  @value animation-easing: ease-out;
7
6
 
@@ -12,9 +11,9 @@
12
11
  align-items: baseline;
13
12
 
14
13
  box-sizing: border-box;
15
- min-height: calc(unit * 5);
16
- margin: unit auto;
17
- padding: 0 calc(unit * 2);
14
+ min-height: calc(var(--ring-unit) * 5);
15
+ margin: var(--ring-unit) auto;
16
+ padding: 0 calc(var(--ring-unit) * 2);
18
17
 
19
18
  transition:
20
19
  transform animation-duration animation-easing,
@@ -28,11 +27,11 @@
28
27
  box-shadow: var(--ring-popup-shadow);
29
28
 
30
29
  font-size: var(--ring-font-size);
31
- line-height: calc(unit * 5);
30
+ line-height: calc(var(--ring-unit) * 5);
32
31
  }
33
32
 
34
33
  .alertInline {
35
- margin: unit;
34
+ margin: var(--ring-unit);
36
35
  }
37
36
 
38
37
  .error {
@@ -42,13 +41,13 @@
42
41
  }
43
42
 
44
43
  .icon {
45
- margin-right: unit;
44
+ margin-right: var(--ring-unit);
46
45
  }
47
46
 
48
47
  .caption {
49
48
  overflow: hidden;
50
49
 
51
- max-width: calc(100% - calc(unit * 5));
50
+ max-width: calc(100% - calc(var(--ring-unit) * 5));
52
51
 
53
52
  margin: 12px 0;
54
53
 
@@ -65,12 +64,12 @@
65
64
  }
66
65
 
67
66
  &.withCloseButton {
68
- margin-right: calc(unit * 5);
67
+ margin-right: calc(var(--ring-unit) * 5);
69
68
  }
70
69
  }
71
70
 
72
71
  .badge {
73
- margin-left: unit;
72
+ margin-left: var(--ring-unit);
74
73
 
75
74
  vertical-align: baseline;
76
75
  }
@@ -78,7 +77,7 @@
78
77
  .loader {
79
78
  top: 2px;
80
79
 
81
- margin-right: unit;
80
+ margin-right: var(--ring-unit);
82
81
  }
83
82
 
84
83
  .close.close {
@@ -86,8 +85,8 @@
86
85
  top: 2px;
87
86
  right: 0;
88
87
 
89
- margin: calc(unit / 2);
90
- padding: unit;
88
+ margin: calc(var(--ring-unit) / 2);
89
+ padding: var(--ring-unit);
91
90
 
92
91
  font-size: 0;
93
92
  line-height: 0;
@@ -1,12 +1,10 @@
1
1
  @import "../global/variables.css";
2
2
 
3
- @value unit from "../global/global.css";
4
-
5
3
  .alertContainer {
6
4
  position: fixed;
7
5
  z-index: var(--ring-alert-z-index);
8
- right: calc(unit * 2);
9
- bottom: calc(unit);
6
+ right: calc(var(--ring-unit) * 2);
7
+ bottom: calc(var(--ring-unit));
10
8
 
11
9
  display: flex;
12
10
  overflow: visible;
@@ -22,7 +20,7 @@
22
20
  .alertInContainer {
23
21
  composes: alert from "./alert.css";
24
22
 
25
- min-width: calc(unit * 30);
26
- max-width: calc(unit * 50);
23
+ min-width: calc(var(--ring-unit) * 30);
24
+ max-width: calc(var(--ring-unit) * 50);
27
25
  margin-top: 0;
28
26
  }
@@ -1,9 +1,6 @@
1
1
  @import "../global/variables.css";
2
2
 
3
- @value unit from "../global/global.css";
4
3
  @value icon from "../button/button.css";
5
- @value animation-duration: 300ms;
6
- @value animation-easing: ease-out;
7
4
 
8
5
  .customAlert {
9
6
  color: var(--ring-white-text-color);
@@ -1,17 +1,15 @@
1
1
  @import "../global/variables.css";
2
2
 
3
- @value unit from "../global/global.css";
4
-
5
3
  .title {
6
4
  font-weight: 600;
7
5
  }
8
6
 
9
7
  .error {
10
- margin-top: calc(unit / 2);
8
+ margin-top: calc(var(--ring-unit) / 2);
11
9
 
12
10
  word-wrap: break-word;
13
11
 
14
12
  color: var(--ring-text-color);
15
13
 
16
- line-height: calc(unit * 2);
14
+ line-height: calc(var(--ring-unit) * 2);
17
15
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="typings" />
1
2
  import uuid from 'simply-uuid';
2
3
  import AuthStorage, { AuthState } from './storage';
3
4
  export interface AuthRequestBuilderConfig {
@@ -1,7 +1,5 @@
1
1
  @import "../global/variables.css";
2
2
 
3
- @value unit from "../global/global.css";
4
-
5
3
  .dialog.dialog {
6
4
  width: auto;
7
5
  max-width: 400px;
@@ -14,23 +12,23 @@
14
12
  align-items: center;
15
13
  flex-direction: column;
16
14
 
17
- margin: calc(unit * 2) 0;
15
+ margin: calc(var(--ring-unit) * 2) 0;
18
16
  }
19
17
 
20
18
  .button {
21
- width: calc(unit * 25);
22
- margin-top: unit;
19
+ width: calc(var(--ring-unit) * 25);
20
+ margin-top: var(--ring-unit);
23
21
  }
24
22
 
25
23
  .firstButton {
26
24
  composes: button;
27
25
 
28
- margin-top: calc(unit * 4);
26
+ margin-top: calc(var(--ring-unit) * 4);
29
27
  }
30
28
 
31
29
  .title.title {
32
30
  margin-top: 0;
33
- margin-bottom: unit;
31
+ margin-bottom: var(--ring-unit);
34
32
 
35
33
  text-align: center;
36
34
 
@@ -38,14 +36,14 @@
38
36
  }
39
37
 
40
38
  .logo {
41
- width: calc(unit * 12);
42
- height: calc(unit * 12);
39
+ width: calc(var(--ring-unit) * 12);
40
+ height: calc(var(--ring-unit) * 12);
43
41
  margin-bottom: 12px;
44
42
  object-fit: contain;
45
43
 
46
- @media (max-height: 400px) {
47
- width: calc(unit * 4);
48
- height: calc(unit * 4);
44
+ @media (height <= 400px) {
45
+ width: calc(var(--ring-unit) * 4);
46
+ height: calc(var(--ring-unit) * 4);
49
47
  }
50
48
  }
51
49
 
@@ -1,13 +1,11 @@
1
1
  @import "../global/variables.css";
2
2
 
3
- @value unit from "../global/global.css";
4
-
5
3
  .badge {
6
4
  display: inline-block;
7
5
 
8
6
  box-sizing: border-box;
9
7
  height: 20px;
10
- padding: 0 unit;
8
+ padding: 0 var(--ring-unit);
11
9
 
12
10
  cursor: default;
13
11
 
@@ -1,22 +1,20 @@
1
1
  @import "../global/variables.css";
2
2
 
3
- @value unit from "../global/global.css";
4
3
  @value button-shadow: inset 0 0 0 1px;
5
- @value height: var(--ring-button-height);
6
- @value loaderWidth: calc(unit * 8);
4
+ @value loaderWidth: calc(var(--ring-unit) * 8);
7
5
 
8
6
  .heightS {
9
- --ring-button-height: calc(unit * 3);
7
+ --ring-button-height: calc(var(--ring-unit) * 3);
10
8
  --ring-button-font-size: var(--ring-font-size-smaller);
11
9
  }
12
10
 
13
11
  .heightM {
14
- --ring-button-height: calc(unit * 3.5);
12
+ --ring-button-height: calc(var(--ring-unit) * 3.5);
15
13
  --ring-button-font-size: var(--ring-font-size);
16
14
  }
17
15
 
18
16
  .heightL {
19
- --ring-button-height: calc(unit * 4);
17
+ --ring-button-height: calc(var(--ring-unit) * 4);
20
18
  --ring-button-font-size: var(--ring-font-size);
21
19
  }
22
20
 
@@ -26,9 +24,9 @@
26
24
  display: inline-block;
27
25
 
28
26
  box-sizing: border-box;
29
- height: height;
27
+ height: var(--ring-button-height);
30
28
  margin: 0;
31
- padding: 0 calc(unit * 2);
29
+ padding: 0 calc(var(--ring-unit) * 2);
32
30
 
33
31
  cursor: pointer;
34
32
  transition: color var(--ring-ease), background-color var(--ring-ease), box-shadow var(--ring-ease);
@@ -45,7 +43,7 @@
45
43
  font-family: var(--ring-font-family);
46
44
  font-size: var(--ring-button-font-size);
47
45
 
48
- line-height: height;
46
+ line-height: var(--ring-button-height);
49
47
 
50
48
  &:hover {
51
49
  transition: none;
@@ -78,7 +76,7 @@
78
76
  }
79
77
 
80
78
  &[disabled] {
81
- pointer-events: none;
79
+ cursor: auto;
82
80
 
83
81
  background-color: var(--ring-disabled-background-color);
84
82
  box-shadow: button-shadow var(--ring-border-disabled-color);
@@ -94,7 +92,8 @@
94
92
  color: var(--ring-disabled-color);
95
93
  }
96
94
 
97
- &[disabled] .icon {
95
+ /* stylelint-disable-next-line selector-max-specificity */
96
+ &[disabled] .icon.icon {
98
97
  color: var(--ring-icon-disabled-color);
99
98
  }
100
99
 
@@ -247,7 +246,7 @@
247
246
  }
248
247
 
249
248
  .withIcon {
250
- padding: 0 unit;
249
+ padding: 0 var(--ring-unit);
251
250
  }
252
251
 
253
252
  .text {
@@ -278,7 +277,7 @@
278
277
  line-height: normal;
279
278
 
280
279
  &:not(:last-child) {
281
- margin-right: calc(unit * 0.5);
280
+ margin-right: calc(var(--ring-unit) * 0.5);
282
281
  }
283
282
  }
284
283
 
@@ -359,7 +358,7 @@
359
358
  }
360
359
 
361
360
  .short {
362
- width: calc(unit * 4);
361
+ width: calc(var(--ring-unit) * 4);
363
362
  padding: 0;
364
363
  }
365
364
 
@@ -1,6 +1,5 @@
1
1
  @import "../global/variables.css";
2
2
 
3
- @value unit from "../global/global.css";
4
3
  @value button, active, primary, button-shadow from "../button/button.css";
5
4
 
6
5
  :root {
@@ -104,8 +103,9 @@
104
103
  }
105
104
 
106
105
  /* stylelint-disable-next-line selector-max-specificity */
107
- .buttonGroup .button.button:hover,
108
- .buttonGroup .button.button:active {
106
+ .buttonGroup .button.button:hover:not(:disabled),
107
+ /* stylelint-disable-next-line selector-max-specificity */
108
+ .buttonGroup .button.button:active:not(:disabled) {
109
109
  border-radius: var(--ring-border-radius);
110
110
  box-shadow: button-shadow var(--ring-border-hover-color);
111
111
  }
@@ -154,7 +154,7 @@
154
154
  .caption {
155
155
  composes: font from "../global/global.css";
156
156
 
157
- margin-right: unit;
157
+ margin-right: var(--ring-unit);
158
158
 
159
159
  font-size: var(--ring-font-size);
160
160
 
@@ -216,7 +216,8 @@
216
216
  z-index: var(--ring-button-group-active-z-index);
217
217
  }
218
218
 
219
- &:hover {
219
+ /* stylelint-disable-next-line selector-max-specificity */
220
+ &:hover:not(:disabled) {
220
221
  z-index: var(--ring-button-group-hover-z-index);
221
222
  }
222
223
 
@@ -1,6 +1,5 @@
1
1
  @import "../global/variables.css";
2
2
 
3
- @value unit from "../global/global.css";
4
3
  @value button from "../button/button.css";
5
4
 
6
5
  .buttonSet {
@@ -13,7 +12,7 @@
13
12
  font-size: 0;
14
13
 
15
14
  & .button {
16
- margin: 0 unit 0 0;
15
+ margin: 0 var(--ring-unit) 0 0;
17
16
  }
18
17
 
19
18
  & > .button:last-child {
@@ -1,6 +1,5 @@
1
1
  @import "../global/variables.css";
2
2
 
3
- @value unit from "../global/global.css";
4
3
  @value button from "../button/button.css";
5
4
 
6
5
  .buttonToolbar {
@@ -18,7 +17,7 @@
18
17
  .buttonToolbar > .buttonGroup,
19
18
  .buttonToolbar > .split,
20
19
  .buttonToolbar > .buttonToolbar {
21
- margin-right: unit;
20
+ margin-right: var(--ring-unit);
22
21
  }
23
22
 
24
23
  .buttonToolbar > :last-child {
@@ -1,6 +1,5 @@
1
1
  @import "../global/variables.css";
2
2
 
3
- @value unit from "../global/global.css";
4
3
  @value checkboxSize: 14px;
5
4
 
6
5
  .checkbox {
@@ -46,8 +45,8 @@
46
45
  top: -1px;
47
46
  left: -1px;
48
47
 
49
- width: calc(unit * 2);
50
- height: calc(unit * 2);
48
+ width: calc(var(--ring-unit) * 2);
49
+ height: calc(var(--ring-unit) * 2);
51
50
 
52
51
  opacity: 0;
53
52
  color: var(--ring-white-text-color);
@@ -140,7 +139,7 @@
140
139
  }
141
140
 
142
141
  .label {
143
- margin-left: unit;
142
+ margin-left: var(--ring-unit);
144
143
 
145
144
  line-height: normal;
146
145
  }
@@ -1,16 +1,14 @@
1
1
  @import "../global/variables.css";
2
2
 
3
- @value unit from "../global/global.css";
4
-
5
3
  .code {
6
- margin: calc(unit * 2) 0;
4
+ margin: calc(var(--ring-unit) * 2) 0;
7
5
  }
8
6
 
9
7
  /* override hljs */
10
8
  .code code {
11
9
  display: block;
12
10
 
13
- padding: calc(unit * 1.5) calc(unit * 2) calc(unit * 2);
11
+ padding: calc(var(--ring-unit) * 1.5) calc(var(--ring-unit) * 2) calc(var(--ring-unit) * 2);
14
12
 
15
13
  border-radius: var(--ring-border-radius);
16
14
  background-color: var(--ring-sidebar-background-color);
@@ -23,7 +21,7 @@
23
21
  .inline code {
24
22
  display: inline-block;
25
23
 
26
- padding: 0 calc(unit / 2);
24
+ padding: 0 calc(var(--ring-unit) / 2);
27
25
  }
28
26
 
29
27
  .softWrap code {
@@ -1,3 +1,4 @@
1
+ /// <reference types="highlight.js" />
1
2
  import React, { PureComponent, Ref } from 'react';
2
3
  import PropTypes from 'prop-types';
3
4
  import highlight from 'highlight.js/lib/core';
@@ -0,0 +1,11 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ type Props = {
3
+ minHeight?: number;
4
+ className?: string;
5
+ 'data-test'?: string | null | undefined;
6
+ };
7
+ /**
8
+ * @name CollapseContent
9
+ */
10
+ export declare const CollapseContent: React.FC<PropsWithChildren<Props>>;
11
+ export default CollapseContent;
@@ -0,0 +1,72 @@
1
+ import React, { useState, useEffect, useRef, useContext, useMemo } from 'react';
2
+ import classNames from 'classnames';
3
+ import dataTests from '../global/data-tests';
4
+ import { getRect } from '../global/dom';
5
+ import { toPx } from './utils';
6
+ import CollapseContext from './collapse-context';
7
+ import { COLLAPSE_CONTENT_TEST_ID, COLLAPSE_CONTENT_CONTAINER_TEST_ID } from './consts';
8
+ import styles from './collapse.css';
9
+ const DURATION_FACTOR = 0.5;
10
+ const DEFAULT_HEIGHT = 0;
11
+ const VISIBLE = 1;
12
+ const HIDDEN = 0;
13
+ /**
14
+ * @name CollapseContent
15
+ */
16
+ export const CollapseContent = ({ children, minHeight = DEFAULT_HEIGHT, 'data-test': dataTest }) => {
17
+ const { collapsed, duration, id, disableAnimation } = useContext(CollapseContext);
18
+ const containerRef = useRef(null);
19
+ const contentRef = useRef(null);
20
+ const initialContentHeight = useRef(minHeight);
21
+ const contentHeight = useRef(DEFAULT_HEIGHT);
22
+ const [dimensions, setDimensions] = useState({
23
+ width: 0,
24
+ height: 0
25
+ });
26
+ const [height, setHeight] = useState(toPx(minHeight));
27
+ const [showFade, setShowFade] = useState(true);
28
+ useEffect(() => {
29
+ if (!collapsed) {
30
+ setShowFade(false);
31
+ }
32
+ else {
33
+ setShowFade(true);
34
+ }
35
+ }, [collapsed]);
36
+ useEffect(() => {
37
+ if (contentRef.current) {
38
+ contentHeight.current = getRect(contentRef.current).height;
39
+ }
40
+ }, [minHeight, dimensions.height]);
41
+ useEffect(() => {
42
+ const nextHeight = collapsed ? initialContentHeight.current : contentHeight.current;
43
+ setHeight(toPx(nextHeight));
44
+ }, [collapsed, dimensions.height]);
45
+ useEffect(() => {
46
+ if (contentRef.current) {
47
+ const observer = new ResizeObserver(([entry]) => {
48
+ if (entry && entry.borderBoxSize) {
49
+ const { inlineSize, blockSize } = entry.borderBoxSize[0];
50
+ setDimensions({ width: inlineSize, height: blockSize });
51
+ }
52
+ });
53
+ observer.observe(contentRef.current);
54
+ }
55
+ }, []);
56
+ const style = useMemo(() => {
57
+ const calculatedDuration = duration + contentHeight.current * DURATION_FACTOR;
58
+ return {
59
+ '--duration': `${calculatedDuration}ms`,
60
+ height,
61
+ opacity: collapsed && !minHeight ? HIDDEN : VISIBLE
62
+ };
63
+ }, [duration, height, collapsed, minHeight]);
64
+ const fadeShouldBeVisible = useMemo(() => Boolean(minHeight && showFade), [minHeight, showFade]);
65
+ return (<div ref={containerRef} id={`collapse-content-${id}`} data-test={dataTests(COLLAPSE_CONTENT_CONTAINER_TEST_ID)} className={classNames(styles.container, { [styles.transition]: !disableAnimation })} style={style}>
66
+ <div ref={contentRef} data-test={dataTests(COLLAPSE_CONTENT_TEST_ID, dataTest)}>
67
+ {children}
68
+ </div>
69
+ {fadeShouldBeVisible && <div className={styles.fade}/>}
70
+ </div>);
71
+ };
72
+ export default CollapseContent;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ interface CollapseContextInterface {
3
+ collapsed: boolean;
4
+ duration: number;
5
+ disableAnimation: boolean;
6
+ setCollapsed: () => void;
7
+ id: string;
8
+ }
9
+ export declare const CollapseContext: import("react").Context<CollapseContextInterface>;
10
+ export default CollapseContext;
@@ -0,0 +1,10 @@
1
+ import { createContext } from 'react';
2
+ import { BASE_ANIMATION_DURATION } from './consts';
3
+ export const CollapseContext = createContext({
4
+ collapsed: true,
5
+ duration: BASE_ANIMATION_DURATION,
6
+ disableAnimation: false,
7
+ setCollapsed: () => { },
8
+ id: ''
9
+ });
10
+ export default CollapseContext;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ type ChildrenFunction = (collapsed: boolean) => React.ReactNode;
3
+ type Props = {
4
+ children: ChildrenFunction | React.ReactNode;
5
+ 'data-test'?: string | null | undefined;
6
+ };
7
+ /**
8
+ * @name CollapseControl
9
+ */
10
+ export declare const CollapseControl: React.FC<Props>;
11
+ export default CollapseControl;
@@ -0,0 +1,22 @@
1
+ import React, { useMemo, useContext, cloneElement } from 'react';
2
+ import dataTests from '../global/data-tests';
3
+ import { CollapseContext } from './collapse-context';
4
+ import { COLLAPSE_CONTROL_TEST_ID } from './consts';
5
+ /**
6
+ * @name CollapseControl
7
+ */
8
+ export const CollapseControl = ({ children, 'data-test': dataTest }) => {
9
+ const { setCollapsed, collapsed, id } = useContext(CollapseContext);
10
+ const child = useMemo(() => {
11
+ if (typeof children === 'function') {
12
+ return <p data-test={dataTests(COLLAPSE_CONTROL_TEST_ID, dataTest)}>{children(collapsed)}</p>;
13
+ }
14
+ return <p data-test={dataTests(COLLAPSE_CONTROL_TEST_ID, dataTest)}>{children}</p>;
15
+ }, [children, collapsed, dataTest]);
16
+ return cloneElement(child, {
17
+ onClick: setCollapsed,
18
+ 'aria-controls': `collapse-content-${id}`,
19
+ 'aria-expanded': String(!collapsed)
20
+ });
21
+ };
22
+ export default CollapseControl;
@@ -0,0 +1,40 @@
1
+ .container {
2
+ position: relative;
3
+ will-change: height, opacity;
4
+
5
+ overflow: hidden;
6
+
7
+ }
8
+
9
+ .transition {
10
+ transition: height var(--duration) ease-in-out 0s, opacity var(--duration) ease-in-out 0s;
11
+ }
12
+
13
+ .summary {
14
+ list-style: none;
15
+
16
+ cursor: pointer;
17
+ }
18
+
19
+ .trigger {
20
+ cursor: pointer;
21
+
22
+ border: none;
23
+ outline: none;
24
+ background: transparent;
25
+ }
26
+
27
+ .fade {
28
+ position: absolute;
29
+ z-index: 10;
30
+ right: 0;
31
+ bottom: 0;
32
+ left: 0;
33
+
34
+ height: calc(var(--ring-unit) * 3);
35
+
36
+ pointer-events: none;
37
+
38
+ color: var(--ring-content-background-color);
39
+ background-image: linear-gradient(to bottom, transparent 0%, currentColor 50%);
40
+ }
@@ -0,0 +1,12 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ type Props = {
3
+ onChange?: (collapsed: boolean) => void;
4
+ duration?: number;
5
+ disableAnimation?: boolean;
6
+ className?: string;
7
+ };
8
+ /**
9
+ * @name Collapse
10
+ */
11
+ export declare const Collapse: React.FC<PropsWithChildren<Props>>;
12
+ export default Collapse;