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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/README.md +1 -1
  2. package/components/alert/alert.css +146 -0
  3. package/components/alert/alert.d.ts +113 -0
  4. package/components/alert/alert.js +186 -0
  5. package/components/alert/container.css +26 -0
  6. package/components/alert/container.d.ts +15 -0
  7. package/components/alert/container.js +30 -0
  8. package/components/alert-service/alert-service.d.ts +36 -0
  9. package/components/alert-service/alert-service.js +108 -0
  10. package/components/alert-service/alert-service.stories.css +17 -0
  11. package/components/analytics/analytics.d.ts +18 -0
  12. package/components/analytics/analytics.js +18 -0
  13. package/components/analytics/analytics__custom-plugin.d.ts +28 -0
  14. package/components/analytics/analytics__custom-plugin.js +58 -0
  15. package/components/auth/auth.d.ts +3 -0
  16. package/components/auth/auth.js +42 -0
  17. package/components/auth/auth__core.d.ts +236 -0
  18. package/components/auth/auth__core.js +834 -0
  19. package/components/auth/background-flow.d.ts +31 -0
  20. package/components/auth/background-flow.js +97 -0
  21. package/components/auth/down-notification.css +15 -0
  22. package/components/auth/down-notification.d.ts +15 -0
  23. package/components/auth/down-notification.js +52 -0
  24. package/components/auth/iframe-flow.d.ts +20 -0
  25. package/components/auth/iframe-flow.js +81 -0
  26. package/components/auth/request-builder.d.ts +48 -0
  27. package/components/auth/request-builder.js +64 -0
  28. package/components/auth/response-parser.d.ts +70 -0
  29. package/components/auth/response-parser.js +99 -0
  30. package/components/auth/storage.d.ts +112 -0
  31. package/components/auth/storage.js +224 -0
  32. package/components/auth/token-validator.d.ts +93 -0
  33. package/components/auth/token-validator.js +169 -0
  34. package/components/auth/window-flow.d.ts +26 -0
  35. package/components/auth/window-flow.js +102 -0
  36. package/components/auth-dialog/auth-dialog.css +54 -0
  37. package/components/auth-dialog/auth-dialog.d.ts +60 -0
  38. package/components/auth-dialog/auth-dialog.js +93 -0
  39. package/components/auth-dialog-service/auth-dialog-service.d.ts +6 -0
  40. package/components/auth-dialog-service/auth-dialog-service.js +26 -0
  41. package/components/avatar/avatar-example-datauri.d.ts +1 -0
  42. package/components/avatar/avatar-example-datauri.js +24 -0
  43. package/components/avatar/avatar.css +27 -0
  44. package/components/avatar/avatar.d.ts +52 -0
  45. package/components/avatar/avatar.js +98 -0
  46. package/components/avatar/fallback-avatar.d.ts +17 -0
  47. package/components/avatar/fallback-avatar.js +113 -0
  48. package/components/badge/badge.css +42 -0
  49. package/components/badge/badge.d.ts +24 -0
  50. package/components/badge/badge.js +35 -0
  51. package/components/button/button.css +397 -0
  52. package/components/button/button.d.ts +67 -0
  53. package/components/button/button.js +70 -0
  54. package/components/button/button__classes.d.ts +2 -0
  55. package/components/button/button__classes.js +18 -0
  56. package/components/button-group/button-group.css +236 -0
  57. package/components/button-group/button-group.d.ts +18 -0
  58. package/components/button-group/button-group.js +21 -0
  59. package/components/button-group/caption.d.ts +8 -0
  60. package/components/button-group/caption.js +14 -0
  61. package/components/button-set/button-set.css +21 -0
  62. package/components/button-set/button-set.d.ts +16 -0
  63. package/components/button-set/button-set.js +22 -0
  64. package/components/button-toolbar/button-toolbar.css +25 -0
  65. package/components/button-toolbar/button-toolbar.d.ts +16 -0
  66. package/components/button-toolbar/button-toolbar.js +20 -0
  67. package/components/caret/caret.d.ts +66 -0
  68. package/components/caret/caret.js +216 -0
  69. package/components/checkbox/checkbox.css +146 -0
  70. package/components/checkbox/checkbox.d.ts +45 -0
  71. package/components/checkbox/checkbox.js +72 -0
  72. package/components/clipboard/clipboard-fallback.d.ts +2 -0
  73. package/components/clipboard/clipboard-fallback.js +44 -0
  74. package/components/clipboard/clipboard.d.ts +5 -0
  75. package/components/clipboard/clipboard.js +41 -0
  76. package/components/code/code.css +29 -0
  77. package/components/code/code.d.ts +44 -0
  78. package/components/code/code.js +94 -0
  79. package/components/code/highlight.css +112 -0
  80. package/components/collapse/collapse-content.d.ts +11 -0
  81. package/components/collapse/collapse-content.js +72 -0
  82. package/components/collapse/collapse-context.d.ts +10 -0
  83. package/components/collapse/collapse-context.js +10 -0
  84. package/components/collapse/collapse-control.d.ts +11 -0
  85. package/components/collapse/collapse-control.js +22 -0
  86. package/components/collapse/collapse.css +40 -0
  87. package/components/collapse/collapse.d.ts +12 -0
  88. package/components/collapse/collapse.js +26 -0
  89. package/components/collapse/collapse.stories.css +25 -0
  90. package/components/collapse/consts.d.ts +4 -0
  91. package/components/collapse/consts.js +4 -0
  92. package/components/collapse/utils.d.ts +1 -0
  93. package/components/collapse/utils.js +1 -0
  94. package/components/confirm/confirm.css +7 -0
  95. package/components/confirm/confirm.d.ts +48 -0
  96. package/components/confirm/confirm.js +59 -0
  97. package/components/confirm-service/confirm-service.d.ts +21 -0
  98. package/components/confirm-service/confirm-service.js +52 -0
  99. package/components/content-layout/content-layout.css +108 -0
  100. package/components/content-layout/content-layout.d.ts +26 -0
  101. package/components/content-layout/content-layout.js +45 -0
  102. package/components/content-layout/sidebar.d.ts +31 -0
  103. package/components/content-layout/sidebar.js +76 -0
  104. package/components/contenteditable/contenteditable.d.ts +47 -0
  105. package/components/contenteditable/contenteditable.js +47 -0
  106. package/components/control-label/control-label.css +23 -0
  107. package/components/control-label/control-label.d.ts +11 -0
  108. package/components/control-label/control-label.js +22 -0
  109. package/components/data-list/data-list.css +97 -0
  110. package/components/data-list/data-list.d.ts +85 -0
  111. package/components/data-list/data-list.js +119 -0
  112. package/components/data-list/data-list.mock.d.ts +16 -0
  113. package/components/data-list/data-list.mock.js +207 -0
  114. package/components/data-list/item.d.ts +50 -0
  115. package/components/data-list/item.js +114 -0
  116. package/components/data-list/selection.d.ts +16 -0
  117. package/components/data-list/selection.js +81 -0
  118. package/components/data-list/title.d.ts +26 -0
  119. package/components/data-list/title.js +65 -0
  120. package/components/date-picker/consts.d.ts +98 -0
  121. package/components/date-picker/consts.js +44 -0
  122. package/components/date-picker/date-input.d.ts +47 -0
  123. package/components/date-picker/date-input.js +91 -0
  124. package/components/date-picker/date-picker.css +602 -0
  125. package/components/date-picker/date-picker.d.ts +77 -0
  126. package/components/date-picker/date-picker.js +218 -0
  127. package/components/date-picker/date-popup.d.ts +55 -0
  128. package/components/date-picker/date-popup.js +347 -0
  129. package/components/date-picker/day.d.ts +30 -0
  130. package/components/date-picker/day.js +88 -0
  131. package/components/date-picker/formats.d.ts +2 -0
  132. package/components/date-picker/formats.js +1 -0
  133. package/components/date-picker/month-names.d.ts +13 -0
  134. package/components/date-picker/month-names.js +62 -0
  135. package/components/date-picker/month-slider.d.ts +29 -0
  136. package/components/date-picker/month-slider.js +56 -0
  137. package/components/date-picker/month.d.ts +14 -0
  138. package/components/date-picker/month.js +33 -0
  139. package/components/date-picker/months.d.ts +11 -0
  140. package/components/date-picker/months.js +101 -0
  141. package/components/date-picker/weekdays.d.ts +13 -0
  142. package/components/date-picker/weekdays.js +24 -0
  143. package/components/date-picker/years.d.ts +25 -0
  144. package/components/date-picker/years.js +87 -0
  145. package/components/dialog/dialog.css +137 -0
  146. package/components/dialog/dialog.d.ts +64 -0
  147. package/components/dialog/dialog.js +128 -0
  148. package/components/dialog/dialog__body-scroll-preventer.d.ts +9 -0
  149. package/components/dialog/dialog__body-scroll-preventer.js +43 -0
  150. package/components/dropdown/anchor.d.ts +11 -0
  151. package/components/dropdown/anchor.js +16 -0
  152. package/components/dropdown/dropdown.css +18 -0
  153. package/components/dropdown/dropdown.d.ts +87 -0
  154. package/components/dropdown/dropdown.js +159 -0
  155. package/components/dropdown-menu/dropdown-menu.d.ts +36 -0
  156. package/components/dropdown-menu/dropdown-menu.js +56 -0
  157. package/components/editable-heading/editable-heading.css +198 -0
  158. package/components/editable-heading/editable-heading.d.ts +32 -0
  159. package/components/editable-heading/editable-heading.js +141 -0
  160. package/components/error-bubble/error-bubble-legacy.css +77 -0
  161. package/components/error-bubble/error-bubble.css +54 -0
  162. package/components/error-bubble/error-bubble.d.ts +18 -0
  163. package/components/error-bubble/error-bubble.js +28 -0
  164. package/components/error-message/error-message.css +37 -0
  165. package/components/error-message/error-message.d.ts +27 -0
  166. package/components/error-message/error-message.js +37 -0
  167. package/components/error-page/error-page.css +24 -0
  168. package/components/error-page/error-page.gif +0 -0
  169. package/components/footer/footer.css +83 -0
  170. package/components/footer/footer.d.ts +28 -0
  171. package/components/footer/footer.js +97 -0
  172. package/components/form/form.css +266 -0
  173. package/components/form/form.stories.js +138 -0
  174. package/components/global/compose.d.ts +7 -0
  175. package/components/global/compose.js +4 -0
  176. package/components/global/composeRefs.d.ts +3 -0
  177. package/components/global/composeRefs.js +8 -0
  178. package/components/global/controls-height.d.ts +9 -0
  179. package/components/global/controls-height.js +16 -0
  180. package/components/global/create-stateful-context.d.ts +27 -0
  181. package/components/global/create-stateful-context.js +38 -0
  182. package/components/global/data-tests.d.ts +3 -0
  183. package/components/global/data-tests.js +17 -0
  184. package/components/global/dom.d.ts +37 -0
  185. package/components/global/dom.js +83 -0
  186. package/components/global/focus-sensor-hoc.d.ts +19 -0
  187. package/components/global/focus-sensor-hoc.js +102 -0
  188. package/components/global/fuzzy-highlight.d.ts +11 -0
  189. package/components/global/fuzzy-highlight.js +58 -0
  190. package/components/global/get-event-key.d.ts +2 -0
  191. package/components/global/get-event-key.js +100 -0
  192. package/components/global/get-uid.d.ts +1 -0
  193. package/components/global/get-uid.js +16 -0
  194. package/components/global/global.css +101 -0
  195. package/components/global/inject-styles.d.ts +3 -0
  196. package/components/global/inject-styles.js +12 -0
  197. package/components/global/linear-function.d.ts +6 -0
  198. package/components/global/linear-function.js +13 -0
  199. package/components/global/listeners.d.ts +8 -0
  200. package/components/global/listeners.js +27 -0
  201. package/components/global/memoize.d.ts +1 -0
  202. package/components/global/memoize.js +15 -0
  203. package/components/global/normalize-indent.d.ts +1 -0
  204. package/components/global/normalize-indent.js +30 -0
  205. package/components/global/promise-with-timeout.d.ts +5 -0
  206. package/components/global/promise-with-timeout.js +11 -0
  207. package/components/global/prop-types.d.ts +4 -0
  208. package/components/global/prop-types.js +4 -0
  209. package/components/global/react-dom-renderer.d.ts +16 -0
  210. package/components/global/react-dom-renderer.js +25 -0
  211. package/components/global/react-render-adapter.d.ts +1 -0
  212. package/components/global/react-render-adapter.js +3 -0
  213. package/components/global/rerender-hoc.d.ts +10 -0
  214. package/components/global/rerender-hoc.js +14 -0
  215. package/components/global/schedule-raf.d.ts +1 -0
  216. package/components/global/schedule-raf.js +27 -0
  217. package/components/global/sniffer.d.ts +3 -0
  218. package/components/global/sniffer.js +4 -0
  219. package/components/global/theme.d.ts +21 -0
  220. package/components/global/theme.js +70 -0
  221. package/components/global/trivial-template-tag.d.ts +1 -0
  222. package/components/global/trivial-template-tag.js +9 -0
  223. package/components/global/typescript-utils.d.ts +2 -0
  224. package/components/global/typescript-utils.js +2 -0
  225. package/components/global/url.d.ts +57 -0
  226. package/components/global/url.js +136 -0
  227. package/components/global/use-event-callback.d.ts +1 -0
  228. package/components/global/use-event-callback.js +14 -0
  229. package/components/global/variables.css +179 -0
  230. package/components/global/variables.d.ts +89 -0
  231. package/components/global/variables.js +1 -0
  232. package/components/global/variables_dark.css +132 -0
  233. package/components/grid/col.d.ts +31 -0
  234. package/components/grid/col.js +49 -0
  235. package/components/grid/grid.css +915 -0
  236. package/components/grid/grid.d.ts +14 -0
  237. package/components/grid/grid.js +22 -0
  238. package/components/grid/row.d.ts +40 -0
  239. package/components/grid/row.js +51 -0
  240. package/components/group/group.css +7 -0
  241. package/components/group/group.d.ts +12 -0
  242. package/components/group/group.js +20 -0
  243. package/components/header/header.css +169 -0
  244. package/components/header/header.d.ts +34 -0
  245. package/components/header/header.js +46 -0
  246. package/components/header/logo.d.ts +14 -0
  247. package/components/header/logo.js +22 -0
  248. package/components/header/profile.d.ts +75 -0
  249. package/components/header/profile.js +119 -0
  250. package/components/header/services-link.d.ts +25 -0
  251. package/components/header/services-link.js +26 -0
  252. package/components/header/services.css +97 -0
  253. package/components/header/services.d.ts +33 -0
  254. package/components/header/services.js +62 -0
  255. package/components/header/smart-profile.d.ts +36 -0
  256. package/components/header/smart-profile.js +86 -0
  257. package/components/header/smart-services.d.ts +26 -0
  258. package/components/header/smart-services.js +49 -0
  259. package/components/header/tray-icon.d.ts +32 -0
  260. package/components/header/tray-icon.js +20 -0
  261. package/components/header/tray.d.ts +9 -0
  262. package/components/header/tray.js +18 -0
  263. package/components/heading/heading.css +68 -0
  264. package/components/heading/heading.d.ts +25 -0
  265. package/components/heading/heading.js +52 -0
  266. package/components/http/http.d.ts +61 -0
  267. package/components/http/http.js +192 -0
  268. package/components/http/http.mock.d.ts +20 -0
  269. package/components/http/http.mock.js +52 -0
  270. package/components/hub-source/hub-source.d.ts +44 -0
  271. package/components/hub-source/hub-source.js +107 -0
  272. package/components/hub-source/hub-source__user.d.ts +4 -0
  273. package/components/hub-source/hub-source__user.js +20 -0
  274. package/components/hub-source/hub-source__users-groups.d.ts +24 -0
  275. package/components/hub-source/hub-source__users-groups.js +53 -0
  276. package/components/i18n/README.md +46 -0
  277. package/components/i18n/i18n-context.d.ts +13 -0
  278. package/components/i18n/i18n-context.js +14 -0
  279. package/components/i18n/i18n.d.ts +59 -0
  280. package/components/i18n/i18n.js +26 -0
  281. package/components/i18n/messages.json +53 -0
  282. package/components/icon/icon.css +100 -0
  283. package/components/icon/icon.d.ts +43 -0
  284. package/components/icon/icon.js +69 -0
  285. package/components/icon/icon__constants.d.ts +30 -0
  286. package/components/icon/icon__constants.js +32 -0
  287. package/components/icon/icon__svg.d.ts +15 -0
  288. package/components/icon/icon__svg.js +58 -0
  289. package/components/icon/index.d.ts +2 -0
  290. package/components/icon/index.js +2 -0
  291. package/components/input/input-legacy.css +123 -0
  292. package/components/input/input.css +194 -0
  293. package/components/input/input.d.ts +77 -0
  294. package/components/input/input.js +165 -0
  295. package/components/input-size/input-size.css +82 -0
  296. package/components/input-size/input-size.stories.js +73 -0
  297. package/components/island/adaptive-island-hoc.d.ts +61 -0
  298. package/components/island/adaptive-island-hoc.js +28 -0
  299. package/components/island/content.d.ts +43 -0
  300. package/components/island/content.js +100 -0
  301. package/components/island/header.d.ts +8 -0
  302. package/components/island/header.js +78 -0
  303. package/components/island/island.css +131 -0
  304. package/components/island/island.d.ts +78 -0
  305. package/components/island/island.js +31 -0
  306. package/components/island-legacy/content-legacy.d.ts +10 -0
  307. package/components/island-legacy/content-legacy.js +17 -0
  308. package/components/island-legacy/header-legacy.d.ts +10 -0
  309. package/components/island-legacy/header-legacy.js +19 -0
  310. package/components/island-legacy/island-legacy.css +98 -0
  311. package/components/island-legacy/island-legacy.d.ts +12 -0
  312. package/components/island-legacy/island-legacy.js +19 -0
  313. package/components/line/line.css +14 -0
  314. package/components/link/clickableLink.d.ts +20 -0
  315. package/components/link/clickableLink.js +33 -0
  316. package/components/link/link.css +64 -0
  317. package/components/link/link.d.ts +138 -0
  318. package/components/link/link.js +44 -0
  319. package/components/list/consts.d.ts +77 -0
  320. package/components/list/consts.js +25 -0
  321. package/components/list/list.css +298 -0
  322. package/components/list/list.d.ts +205 -0
  323. package/components/list/list.js +590 -0
  324. package/components/list/list.stories.css +3 -0
  325. package/components/list/list__custom.d.ts +6 -0
  326. package/components/list/list__custom.js +52 -0
  327. package/components/list/list__hint.d.ts +15 -0
  328. package/components/list/list__hint.js +16 -0
  329. package/components/list/list__item.d.ts +8 -0
  330. package/components/list/list__item.js +130 -0
  331. package/components/list/list__link.d.ts +9 -0
  332. package/components/list/list__link.js +43 -0
  333. package/components/list/list__separator.d.ts +5 -0
  334. package/components/list/list__separator.js +21 -0
  335. package/components/list/list__title.d.ts +5 -0
  336. package/components/list/list__title.js +28 -0
  337. package/components/list/list__users-groups-source.d.ts +27 -0
  338. package/components/list/list__users-groups-source.js +74 -0
  339. package/components/loader/loader.css +27 -0
  340. package/components/loader/loader.d.ts +28 -0
  341. package/components/loader/loader.js +44 -0
  342. package/components/loader/loader__core.d.ts +75 -0
  343. package/components/loader/loader__core.js +219 -0
  344. package/components/loader-inline/loader-inline.css +73 -0
  345. package/components/loader-inline/loader-inline.d.ts +18 -0
  346. package/components/loader-inline/loader-inline.js +27 -0
  347. package/components/loader-screen/loader-screen.css +29 -0
  348. package/components/loader-screen/loader-screen.d.ts +17 -0
  349. package/components/loader-screen/loader-screen.js +25 -0
  350. package/components/login-dialog/login-dialog.css +23 -0
  351. package/components/login-dialog/login-dialog.d.ts +47 -0
  352. package/components/login-dialog/login-dialog.js +84 -0
  353. package/components/login-dialog/service.d.ts +2 -0
  354. package/components/login-dialog/service.js +24 -0
  355. package/components/markdown/markdown.css +126 -0
  356. package/components/markdown/markdown.d.ts +12 -0
  357. package/components/markdown/markdown.js +25 -0
  358. package/components/message/message.css +61 -0
  359. package/components/message/message.d.ts +55 -0
  360. package/components/message/message.js +129 -0
  361. package/components/old-browsers-message/old-browsers-message.css +26 -0
  362. package/components/old-browsers-message/old-browsers-message.d.ts +2 -0
  363. package/components/old-browsers-message/old-browsers-message.js +83 -0
  364. package/components/old-browsers-message/old-browsers-message__stop.d.ts +1 -0
  365. package/components/old-browsers-message/old-browsers-message__stop.js +2 -0
  366. package/components/old-browsers-message/white-list.d.ts +2 -0
  367. package/components/old-browsers-message/white-list.js +25 -0
  368. package/components/pager/pager.css +19 -0
  369. package/components/pager/pager.d.ts +78 -0
  370. package/components/pager/pager.js +223 -0
  371. package/components/palette/palette.css +216 -0
  372. package/components/panel/panel.css +20 -0
  373. package/components/panel/panel.d.ts +12 -0
  374. package/components/panel/panel.js +20 -0
  375. package/components/permissions/permissions.d.ts +111 -0
  376. package/components/permissions/permissions.js +177 -0
  377. package/components/permissions/permissions__cache.d.ts +93 -0
  378. package/components/permissions/permissions__cache.js +228 -0
  379. package/components/popup/popup.consts.d.ts +37 -0
  380. package/components/popup/popup.consts.js +45 -0
  381. package/components/popup/popup.css +34 -0
  382. package/components/popup/popup.d.ts +147 -0
  383. package/components/popup/popup.js +312 -0
  384. package/components/popup/popup.target.d.ts +7 -0
  385. package/components/popup/popup.target.js +15 -0
  386. package/components/popup/position.d.ts +30 -0
  387. package/components/popup/position.js +202 -0
  388. package/components/popup-menu/popup-menu.d.ts +80 -0
  389. package/components/popup-menu/popup-menu.js +41 -0
  390. package/components/progress-bar/progress-bar.css +82 -0
  391. package/components/progress-bar/progress-bar.d.ts +64 -0
  392. package/components/progress-bar/progress-bar.js +76 -0
  393. package/components/query-assist/query-assist.css +275 -0
  394. package/components/query-assist/query-assist.d.ts +306 -0
  395. package/components/query-assist/query-assist.js +847 -0
  396. package/components/query-assist/query-assist__suggestions.d.ts +29 -0
  397. package/components/query-assist/query-assist__suggestions.js +60 -0
  398. package/components/radio/radio.css +122 -0
  399. package/components/radio/radio.d.ts +18 -0
  400. package/components/radio/radio.js +27 -0
  401. package/components/radio/radio__item.d.ts +28 -0
  402. package/components/radio/radio__item.js +41 -0
  403. package/components/select/select-popup.css +103 -0
  404. package/components/select/select.css +235 -0
  405. package/components/select/select.d.ts +276 -0
  406. package/components/select/select.js +957 -0
  407. package/components/select/select__filter.d.ts +19 -0
  408. package/components/select/select__filter.js +49 -0
  409. package/components/select/select__popup.d.ts +166 -0
  410. package/components/select/select__popup.js +408 -0
  411. package/components/shortcuts/core.d.ts +74 -0
  412. package/components/shortcuts/core.js +191 -0
  413. package/components/shortcuts/shortcut-title.d.ts +1 -0
  414. package/components/shortcuts/shortcut-title.js +50 -0
  415. package/components/shortcuts/shortcuts-hoc.d.ts +65 -0
  416. package/components/shortcuts/shortcuts-hoc.js +19 -0
  417. package/components/shortcuts/shortcuts.d.ts +28 -0
  418. package/components/shortcuts/shortcuts.js +50 -0
  419. package/components/sidebar/sidebar.css +157 -0
  420. package/components/storage/storage.d.ts +18 -0
  421. package/components/storage/storage.js +22 -0
  422. package/components/storage/storage__fallback.d.ts +79 -0
  423. package/components/storage/storage__fallback.js +181 -0
  424. package/components/storage/storage__local.d.ts +38 -0
  425. package/components/storage/storage__local.js +119 -0
  426. package/components/tab-trap/tab-trap.css +6 -0
  427. package/components/tab-trap/tab-trap.d.ts +43 -0
  428. package/components/tab-trap/tab-trap.js +125 -0
  429. package/components/table/cell.d.ts +13 -0
  430. package/components/table/cell.js +16 -0
  431. package/components/table/disable-hover-hoc.d.ts +64 -0
  432. package/components/table/disable-hover-hoc.js +32 -0
  433. package/components/table/header-cell.d.ts +43 -0
  434. package/components/table/header-cell.js +56 -0
  435. package/components/table/header.d.ts +56 -0
  436. package/components/table/header.js +67 -0
  437. package/components/table/multitable.d.ts +25 -0
  438. package/components/table/multitable.js +81 -0
  439. package/components/table/row-with-focus-sensor.d.ts +18 -0
  440. package/components/table/row-with-focus-sensor.js +25 -0
  441. package/components/table/row.d.ts +59 -0
  442. package/components/table/row.js +154 -0
  443. package/components/table/selection-adapter.d.ts +5 -0
  444. package/components/table/selection-adapter.js +10 -0
  445. package/components/table/selection-shortcuts-hoc.d.ts +17 -0
  446. package/components/table/selection-shortcuts-hoc.js +146 -0
  447. package/components/table/selection.d.ts +47 -0
  448. package/components/table/selection.js +150 -0
  449. package/components/table/smart-table.d.ts +64 -0
  450. package/components/table/smart-table.js +40 -0
  451. package/components/table/table.css +259 -0
  452. package/components/table/table.d.ts +159 -0
  453. package/components/table/table.examples2.json +19 -0
  454. package/components/table/table.js +231 -0
  455. package/components/table/table.stories.json +45 -0
  456. package/components/table-legacy/table-legacy.css +346 -0
  457. package/components/table-legacy/table-legacy__toolbar.css +25 -0
  458. package/components/tabs/collapsible-more.d.ts +29 -0
  459. package/components/tabs/collapsible-more.js +97 -0
  460. package/components/tabs/collapsible-tab.d.ts +16 -0
  461. package/components/tabs/collapsible-tab.js +34 -0
  462. package/components/tabs/collapsible-tabs.d.ts +43 -0
  463. package/components/tabs/collapsible-tabs.js +196 -0
  464. package/components/tabs/custom-item.d.ts +9 -0
  465. package/components/tabs/custom-item.js +5 -0
  466. package/components/tabs/dumb-tabs.d.ts +35 -0
  467. package/components/tabs/dumb-tabs.js +56 -0
  468. package/components/tabs/smart-tabs.d.ts +20 -0
  469. package/components/tabs/smart-tabs.js +25 -0
  470. package/components/tabs/tab-link.d.ts +18 -0
  471. package/components/tabs/tab-link.js +24 -0
  472. package/components/tabs/tab.d.ts +27 -0
  473. package/components/tabs/tab.js +19 -0
  474. package/components/tabs/tabs.css +223 -0
  475. package/components/tabs/tabs.d.ts +7 -0
  476. package/components/tabs/tabs.js +7 -0
  477. package/components/tag/tag.css +184 -0
  478. package/components/tag/tag.d.ts +64 -0
  479. package/components/tag/tag.js +130 -0
  480. package/components/tags-input/tags-input.css +100 -0
  481. package/components/tags-input/tags-input.d.ts +138 -0
  482. package/components/tags-input/tags-input.js +275 -0
  483. package/components/tags-list/tags-list.d.ts +46 -0
  484. package/components/tags-list/tags-list.js +45 -0
  485. package/components/text/text.css +21 -0
  486. package/components/text/text.d.ts +23 -0
  487. package/components/text/text.js +31 -0
  488. package/components/toggle/toggle.css +198 -0
  489. package/components/toggle/toggle.d.ts +39 -0
  490. package/components/toggle/toggle.js +46 -0
  491. package/components/tooltip/tooltip.css +17 -0
  492. package/components/tooltip/tooltip.d.ts +65 -0
  493. package/components/tooltip/tooltip.js +126 -0
  494. package/components/user-agreement/service.d.ts +69 -0
  495. package/components/user-agreement/service.js +242 -0
  496. package/components/user-agreement/toolbox.eula.d.ts +2 -0
  497. package/components/user-agreement/toolbox.eula.js +160 -0
  498. package/components/user-agreement/user-agreement.css +29 -0
  499. package/components/user-agreement/user-agreement.d.ts +60 -0
  500. package/components/user-agreement/user-agreement.js +80 -0
  501. package/components/user-card/card.d.ts +70 -0
  502. package/components/user-card/card.js +89 -0
  503. package/components/user-card/smart-user-card-tooltip.d.ts +20 -0
  504. package/components/user-card/smart-user-card-tooltip.js +47 -0
  505. package/components/user-card/tooltip.d.ts +36 -0
  506. package/components/user-card/tooltip.js +43 -0
  507. package/components/user-card/user-card.css +123 -0
  508. package/components/user-card/user-card.d.ts +11 -0
  509. package/components/user-card/user-card.js +11 -0
  510. package/package.json +61 -61
@@ -0,0 +1,177 @@
1
+ import PermissionCache from './permissions__cache';
2
+ /**
3
+ * <code>
4
+ * const permissions = new Permissions(auth, {prefix: 'jetbrains.jetpass.', services: [auth.serviceId]})
5
+ * permissions.load().then(function (p) {
6
+ * const canReadUser = p.has('read-user');
7
+ * ...
8
+ * });
9
+ *
10
+ * permissions.check('read-user').then(function(canReadUser) {
11
+ * ...
12
+ * });
13
+ * </code>
14
+ *
15
+ * @param {Auth} auth instance of well configured Auth object
16
+ * @param {{
17
+ * prefix: string?,
18
+ * namesConverter: function?
19
+ * serviceId: string?
20
+ * }=} config permissions loaded configuration.
21
+ * <code>prefix</code> if provided then this prefix is removed from the permissions names.
22
+ * <code>namesConverter</code> if provided it maps permission names used on server-side to client-side permission names. It is used only if prefix is undefined.
23
+ * <code>serviceId</code> if provided then permissions only for the service are loaded.
24
+ * @constructor
25
+ */
26
+ export default class Permissions {
27
+ /**
28
+ * @const {string}
29
+ */
30
+ static API_PERMISSION_CACHE_PATH = 'permissions/cache';
31
+ query;
32
+ namesConverter;
33
+ _auth;
34
+ _datasource;
35
+ _promise;
36
+ _subscribed;
37
+ _permissionCache;
38
+ constructor(auth, config = {}) {
39
+ this.query = Permissions.getPermissionQuery(config.services);
40
+ this.namesConverter = config.prefix
41
+ ? Permissions.getDefaultNamesConverter(config.prefix)
42
+ : config.namesConverter;
43
+ if (!auth) {
44
+ throw new Error('Parameter auth is required');
45
+ }
46
+ this._auth = auth;
47
+ this._datasource = config.datasource || this._defaultDatasource;
48
+ this._promise = null;
49
+ this._subscribed = false;
50
+ this._permissionCache = new PermissionCache(null, this.namesConverter);
51
+ }
52
+ _defaultDatasource = (query) => (this._auth.http.get(Permissions.API_PERMISSION_CACHE_PATH, {
53
+ query: {
54
+ fields: 'permission/key,global,projects(id)',
55
+ query
56
+ }
57
+ }));
58
+ /**
59
+ * Returns function, which cuts off prefix from server-side permission name
60
+ *
61
+ * @param {string} prefix
62
+ * @returns {Function}
63
+ */
64
+ static getDefaultNamesConverter(prefix) {
65
+ return (storedName) => {
66
+ if (storedName.indexOf(prefix) !== 0) {
67
+ return storedName;
68
+ }
69
+ else {
70
+ return storedName.substr(prefix.length);
71
+ }
72
+ };
73
+ }
74
+ static getPermissionQuery(services) {
75
+ if (!services || !services.length) {
76
+ return undefined;
77
+ }
78
+ return services.map(service => `service:{${service}}`).join(' or ');
79
+ }
80
+ set(cachedPermissions) {
81
+ this._permissionCache.set(cachedPermissions);
82
+ this._setCache(Promise.resolve(this._permissionCache));
83
+ return this._permissionCache;
84
+ }
85
+ get() {
86
+ return this._permissionCache.get();
87
+ }
88
+ _setCache(value) {
89
+ this._promise = value;
90
+ }
91
+ _getCache() {
92
+ return this._promise;
93
+ }
94
+ _resetCache() {
95
+ this._setCache(null);
96
+ }
97
+ /**
98
+ * Loads logged-in user permissions.
99
+ * @param {object?} options
100
+ * @return {Promise.<Permissions>} promise that is resolved when the permissions are loaded
101
+ */
102
+ load(options) {
103
+ if (this._subscribed === false) {
104
+ this._auth.addListener('userChange', () => {
105
+ this.reload();
106
+ });
107
+ this._subscribed = true;
108
+ }
109
+ const cache = this._getCache();
110
+ if (!hasCacheControl('NO_CACHE', options) && cache) {
111
+ return cache;
112
+ }
113
+ if (hasCacheControl('NO_STORE', options)) {
114
+ return this._loadPermissions().
115
+ then(cachedPermissions => new PermissionCache(cachedPermissions, this.namesConverter));
116
+ }
117
+ const permissions = this._loadPermissions().
118
+ then(cachedPermissions => this.set(cachedPermissions));
119
+ this._setCache(permissions);
120
+ return permissions;
121
+ function hasCacheControl(value, _options) {
122
+ if (_options && _options.cacheControl) {
123
+ return _options.cacheControl[value];
124
+ }
125
+ return false;
126
+ }
127
+ }
128
+ _loadPermissions() {
129
+ return this._datasource(this.query);
130
+ }
131
+ /**
132
+ * Reloads permission cache from server
133
+ * @returns {Promise.<Permissions>} promise that is resolved when the permissions are reloaded
134
+ */
135
+ reload() {
136
+ this._resetCache();
137
+ return this.load();
138
+ }
139
+ /**
140
+ * Waits till the permission cache is loaded then checks if the current user has the
141
+ * given permissions in the project with the given id.
142
+ *
143
+ * @param {string} permissions space separated list of permissions
144
+ * @param {string=} projectId optional projectId. If absent the method checks
145
+ * if the given permission is granted in any project.
146
+ *
147
+ * @return {Promise.<boolean>}
148
+ */
149
+ check(permissions, projectId) {
150
+ return this.load().then(permissionCache => permissionCache.has(permissions, projectId));
151
+ }
152
+ /**
153
+ * Binds a property with the name <code>propertyName</code> of the <code>object</code>
154
+ * to a boolean value that is true if user has the permissions and false if she doesn't.
155
+ *
156
+ * @example
157
+ * <code>
158
+ * userPermissions.bindVariable($scope, 'canReadRole', 'role-read')
159
+ * </code>
160
+ *
161
+ * @param {object} object an object which property should be bound
162
+ * @param {string} propertyName a name of a property to bind
163
+ * @param {string} permissions space separated list of permissions
164
+ * @param {string=} projectId optional projectId. If absent the method checks
165
+ * if the given permissions are granted in any project.
166
+ *
167
+ * @return {Promise.<boolean>}
168
+ */
169
+ bindVariable(object, propertyName, permissions, projectId) {
170
+ object[propertyName] = false;
171
+ return this.check(permissions, projectId).
172
+ then(permitted => {
173
+ object[propertyName] = permitted;
174
+ return permitted;
175
+ });
176
+ }
177
+ }
@@ -0,0 +1,93 @@
1
+ export interface PermissionType {
2
+ key: string;
3
+ }
4
+ export interface Project {
5
+ id: string;
6
+ }
7
+ export interface Permission {
8
+ permission: PermissionType;
9
+ global?: boolean | null | undefined;
10
+ projects?: readonly Project[] | null | undefined;
11
+ }
12
+ interface PermissionCacheItem {
13
+ global: boolean | null | undefined;
14
+ projectIdSet: Record<string, boolean> | null;
15
+ }
16
+ /**
17
+ * Converts an array of cached permissions to a a map of a permission key
18
+ * to the respective cached permission.
19
+ *
20
+ * @param { {
21
+ * permission: {key: string},
22
+ * global: boolean?,
23
+ * projects: {id: string}[]?
24
+ * }[] } permissions
25
+ * @param {function} namesConverter a function, which maps a server-side permission name to client-side permission name
26
+ * @return {object} permission cache
27
+ * @private
28
+ */
29
+ export default class PermissionCache {
30
+ static GLOBAL_PROJECT_ID: string;
31
+ /**
32
+ * Convert an array of projects to a set of project ids.
33
+ *
34
+ * @param {object[]=} projects
35
+ * @return {object} a set of project ids
36
+ * @private
37
+ */
38
+ private static _toProjectIdSet;
39
+ namesConverter: (name: string) => string | null | undefined;
40
+ constructor(permissions?: readonly Permission[] | null | undefined, namesConverter?: ((name: string) => string | null | undefined) | null | undefined);
41
+ private _permissions?;
42
+ permissionCache?: Record<string, PermissionCacheItem>;
43
+ set(permissions?: readonly Permission[] | null | undefined): this;
44
+ get(): readonly Permission[] | null | undefined;
45
+ /**
46
+ * Checks if the current user has the given permissions in the project with the given id.
47
+ *
48
+ * @param {string} permissions space separated list of permissions
49
+ * @param {string=} projectId optional projectId. If absent the method checks
50
+ * if the given permission is granted in any project.
51
+ *
52
+ * @return {boolean}
53
+ */
54
+ has(permissions?: string | null | undefined, projectId?: string | null | undefined): boolean;
55
+ /**
56
+ * Lexes permission query string to an array of lexems.
57
+ *
58
+ * @param {string} query
59
+ * @return {string[]}
60
+ */
61
+ lex(query?: string | null | undefined): string[];
62
+ /**
63
+ * @param {string[]} lexems
64
+ * @param {string=} projectId
65
+ * @return {boolean}
66
+ */
67
+ or(lexems: string[], projectId?: string | null | undefined): boolean;
68
+ /**
69
+ * @param {string[]} lexems
70
+ * @param {string=} projectId
71
+ * @return {boolean}
72
+ */
73
+ and(lexems: string[], projectId?: string | null | undefined): boolean;
74
+ /**
75
+ * @param {string[]} lexems
76
+ * @param {string=} projectId
77
+ * @return {boolean}
78
+ */
79
+ not(lexems: string[], projectId?: string | null | undefined): boolean;
80
+ /**
81
+ * @param {string[]} lexems
82
+ * @param {string=} projectId
83
+ * @return {boolean}
84
+ */
85
+ term(lexems: string[], projectId?: string | null | undefined): boolean;
86
+ /**
87
+ * @param {string} permissionName
88
+ * @param {string=} projectId
89
+ * @return {boolean}
90
+ */
91
+ testPermission(permissionName: string, projectId?: string | null | undefined): boolean;
92
+ }
93
+ export {};
@@ -0,0 +1,228 @@
1
+ /**
2
+ * Converts an array of cached permissions to a a map of a permission key
3
+ * to the respective cached permission.
4
+ *
5
+ * @param { {
6
+ * permission: {key: string},
7
+ * global: boolean?,
8
+ * projects: {id: string}[]?
9
+ * }[] } permissions
10
+ * @param {function} namesConverter a function, which maps a server-side permission name to client-side permission name
11
+ * @return {object} permission cache
12
+ * @private
13
+ */
14
+ export default class PermissionCache {
15
+ static GLOBAL_PROJECT_ID = 'global';
16
+ /**
17
+ * Convert an array of projects to a set of project ids.
18
+ *
19
+ * @param {object[]=} projects
20
+ * @return {object} a set of project ids
21
+ * @private
22
+ */
23
+ static _toProjectIdSet(projects) {
24
+ let projectIdSet = null;
25
+ if (projects) {
26
+ projectIdSet = {};
27
+ for (let i = 0; i < projects.length; i++) {
28
+ projectIdSet[projects[i].id] = true;
29
+ }
30
+ }
31
+ return projectIdSet;
32
+ }
33
+ namesConverter;
34
+ constructor(permissions, namesConverter) {
35
+ this.namesConverter = namesConverter || (key => key);
36
+ this.set(permissions);
37
+ }
38
+ _permissions;
39
+ permissionCache;
40
+ set(permissions) {
41
+ const permissionCache = (permissions || []).reduce((_permissionCache, permission) => {
42
+ const key = this.namesConverter(permission.permission.key);
43
+ if (key) {
44
+ _permissionCache[key] = {
45
+ global: permission.global,
46
+ projectIdSet: this.constructor._toProjectIdSet(permission.projects)
47
+ };
48
+ }
49
+ return _permissionCache;
50
+ }, {});
51
+ this._permissions = permissions;
52
+ this.permissionCache = permissionCache;
53
+ return this;
54
+ }
55
+ get() {
56
+ return this._permissions;
57
+ }
58
+ /**
59
+ * Checks if the current user has the given permissions in the project with the given id.
60
+ *
61
+ * @param {string} permissions space separated list of permissions
62
+ * @param {string=} projectId optional projectId. If absent the method checks
63
+ * if the given permission is granted in any project.
64
+ *
65
+ * @return {boolean}
66
+ */
67
+ has(permissions, projectId) {
68
+ const lexems = this.lex(permissions);
69
+ if (lexems.length === 0) {
70
+ return true;
71
+ }
72
+ try {
73
+ return this.or(lexems, projectId);
74
+ }
75
+ catch (e) {
76
+ return false;
77
+ }
78
+ }
79
+ /**
80
+ * Lexes permission query string to an array of lexems.
81
+ *
82
+ * @param {string} query
83
+ * @return {string[]}
84
+ */
85
+ lex(query) {
86
+ const lexems = [];
87
+ if (query) {
88
+ let currentIdentifier = '';
89
+ for (let i = 0; i < query.length; i++) {
90
+ switch (query.charAt(i)) {
91
+ case ' ':
92
+ case '\t':
93
+ case '\n':
94
+ case '\r':
95
+ // Finish current token
96
+ if (currentIdentifier) {
97
+ lexems.push(currentIdentifier);
98
+ currentIdentifier = '';
99
+ }
100
+ // Skip space
101
+ break;
102
+ case '(':
103
+ case ')':
104
+ case '&':
105
+ case '|':
106
+ case '!':
107
+ // Finish current token
108
+ if (currentIdentifier) {
109
+ lexems.push(currentIdentifier);
110
+ currentIdentifier = '';
111
+ }
112
+ // Append operator
113
+ lexems.push(query.charAt(i));
114
+ break;
115
+ default:
116
+ currentIdentifier += query.charAt(i);
117
+ break;
118
+ }
119
+ }
120
+ if (currentIdentifier) {
121
+ lexems.push(currentIdentifier);
122
+ }
123
+ }
124
+ return lexems;
125
+ }
126
+ /*
127
+ or -> and ( '|' and )*
128
+ and -> not ( '&'? not )*
129
+ not -> '!'* term
130
+ term -> '(' or ')' | permission
131
+ permission -> [^()&|!\s]+
132
+ */
133
+ /**
134
+ * @param {string[]} lexems
135
+ * @param {string=} projectId
136
+ * @return {boolean}
137
+ */
138
+ or(lexems, projectId) {
139
+ let result = this.and(lexems, projectId);
140
+ while (lexems.length > 0 && lexems[0] !== ')') {
141
+ if (lexems.shift() !== '|') {
142
+ throw new Error('Operator \'|\' was expected');
143
+ }
144
+ result = this.and(lexems, projectId) || result;
145
+ }
146
+ return result;
147
+ }
148
+ /**
149
+ * @param {string[]} lexems
150
+ * @param {string=} projectId
151
+ * @return {boolean}
152
+ */
153
+ and(lexems, projectId) {
154
+ let result = this.not(lexems, projectId);
155
+ while (lexems.length > 0 && lexems[0] !== ')' && lexems[0] !== '|') {
156
+ // Expect optional '&'
157
+ if (lexems[0] === '&') {
158
+ lexems.shift();
159
+ }
160
+ result = this.not(lexems, projectId) && result;
161
+ }
162
+ return result;
163
+ }
164
+ /**
165
+ * @param {string[]} lexems
166
+ * @param {string=} projectId
167
+ * @return {boolean}
168
+ */
169
+ not(lexems, projectId) {
170
+ let notCounter = 0;
171
+ while (lexems.length > 0 && lexems[0] === '!') {
172
+ ++notCounter;
173
+ lexems.shift();
174
+ }
175
+ const result = this.term(lexems, projectId);
176
+ return (notCounter % 2 === 0) ? result : !result;
177
+ }
178
+ /**
179
+ * @param {string[]} lexems
180
+ * @param {string=} projectId
181
+ * @return {boolean}
182
+ */
183
+ term(lexems, projectId) {
184
+ if (lexems.length === 0) {
185
+ throw new Error('Operand was expected');
186
+ }
187
+ const t = lexems.shift();
188
+ let result;
189
+ // Nested parenthesized expression
190
+ if (t === '(') {
191
+ result = this.or(lexems, projectId);
192
+ // Expect ')'
193
+ if (lexems.shift() !== ')') {
194
+ throw new Error('Operator \')\' was expected');
195
+ }
196
+ }
197
+ else {
198
+ result = t != null && this.testPermission(t, projectId);
199
+ }
200
+ return result;
201
+ }
202
+ /**
203
+ * @param {string} permissionName
204
+ * @param {string=} projectId
205
+ * @return {boolean}
206
+ */
207
+ testPermission(permissionName, projectId) {
208
+ const permissionCache = this.permissionCache;
209
+ const convertedName = this.namesConverter(permissionName);
210
+ const cachedPermission = permissionCache?.[permissionName] ||
211
+ convertedName && permissionCache?.[convertedName];
212
+ // Hasn't the permission in any project
213
+ if (!cachedPermission) {
214
+ return false;
215
+ }
216
+ // The permission is global or is given in the global project
217
+ if (cachedPermission.global) {
218
+ return true;
219
+ }
220
+ if (projectId) {
221
+ // if projectId is specified check that the permission is given in the project
222
+ return cachedPermission.projectIdSet != null && (projectId in cachedPermission.projectIdSet);
223
+ }
224
+ else {
225
+ return true;
226
+ }
227
+ }
228
+ }
@@ -0,0 +1,37 @@
1
+ export declare enum Directions {
2
+ BOTTOM_RIGHT = "BOTTOM_RIGHT",
3
+ BOTTOM_LEFT = "BOTTOM_LEFT",
4
+ BOTTOM_CENTER = "BOTTOM_CENTER",
5
+ TOP_LEFT = "TOP_LEFT",
6
+ TOP_RIGHT = "TOP_RIGHT",
7
+ TOP_CENTER = "TOP_CENTER",
8
+ RIGHT_TOP = "RIGHT_TOP",
9
+ RIGHT_BOTTOM = "RIGHT_BOTTOM",
10
+ RIGHT_CENTER = "RIGHT_CENTER",
11
+ LEFT_TOP = "LEFT_TOP",
12
+ LEFT_BOTTOM = "LEFT_BOTTOM",
13
+ LEFT_CENTER = "LEFT_CENTER"
14
+ }
15
+ /**
16
+ * When positioning a popup, directions will be tried in the listed order.
17
+ * @type {Array.<string>}
18
+ */
19
+ export declare const DEFAULT_DIRECTIONS: Directions[];
20
+ /**
21
+ * @enum {number}
22
+ */
23
+ export declare enum Dimension {
24
+ MARGIN = 16,
25
+ BORDER_WIDTH = 1
26
+ }
27
+ export declare enum MinWidth {
28
+ TARGET = -1
29
+ }
30
+ export declare enum MaxHeight {
31
+ SCREEN = -1
32
+ }
33
+ export declare enum Display {
34
+ HIDDEN = 0,
35
+ SHOWING = 1,
36
+ SHOWN = 2
37
+ }
@@ -0,0 +1,45 @@
1
+ export var Directions;
2
+ (function (Directions) {
3
+ Directions["BOTTOM_RIGHT"] = "BOTTOM_RIGHT";
4
+ Directions["BOTTOM_LEFT"] = "BOTTOM_LEFT";
5
+ Directions["BOTTOM_CENTER"] = "BOTTOM_CENTER";
6
+ Directions["TOP_LEFT"] = "TOP_LEFT";
7
+ Directions["TOP_RIGHT"] = "TOP_RIGHT";
8
+ Directions["TOP_CENTER"] = "TOP_CENTER";
9
+ Directions["RIGHT_TOP"] = "RIGHT_TOP";
10
+ Directions["RIGHT_BOTTOM"] = "RIGHT_BOTTOM";
11
+ Directions["RIGHT_CENTER"] = "RIGHT_CENTER";
12
+ Directions["LEFT_TOP"] = "LEFT_TOP";
13
+ Directions["LEFT_BOTTOM"] = "LEFT_BOTTOM";
14
+ Directions["LEFT_CENTER"] = "LEFT_CENTER";
15
+ })(Directions || (Directions = {}));
16
+ /**
17
+ * When positioning a popup, directions will be tried in the listed order.
18
+ * @type {Array.<string>}
19
+ */
20
+ export const DEFAULT_DIRECTIONS = [
21
+ Directions.BOTTOM_RIGHT, Directions.BOTTOM_LEFT, Directions.TOP_LEFT, Directions.TOP_RIGHT,
22
+ Directions.RIGHT_TOP, Directions.RIGHT_BOTTOM, Directions.LEFT_TOP, Directions.LEFT_BOTTOM
23
+ ];
24
+ /**
25
+ * @enum {number}
26
+ */
27
+ export var Dimension;
28
+ (function (Dimension) {
29
+ Dimension[Dimension["MARGIN"] = 16] = "MARGIN";
30
+ Dimension[Dimension["BORDER_WIDTH"] = 1] = "BORDER_WIDTH";
31
+ })(Dimension || (Dimension = {}));
32
+ export var MinWidth;
33
+ (function (MinWidth) {
34
+ MinWidth[MinWidth["TARGET"] = -1] = "TARGET";
35
+ })(MinWidth || (MinWidth = {}));
36
+ export var MaxHeight;
37
+ (function (MaxHeight) {
38
+ MaxHeight[MaxHeight["SCREEN"] = -1] = "SCREEN";
39
+ })(MaxHeight || (MaxHeight = {}));
40
+ export var Display;
41
+ (function (Display) {
42
+ Display[Display["HIDDEN"] = 0] = "HIDDEN";
43
+ Display[Display["SHOWING"] = 1] = "SHOWING";
44
+ Display[Display["SHOWN"] = 2] = "SHOWN";
45
+ })(Display || (Display = {}));
@@ -0,0 +1,34 @@
1
+ @import "../global/variables.css";
2
+
3
+ .popup {
4
+ composes: font from "../global/global.css";
5
+
6
+ position: fixed;
7
+ z-index: var(--ring-overlay-z-index);
8
+ top: -100vh;
9
+ left: -100vw;
10
+
11
+ overflow-y: auto;
12
+
13
+ box-sizing: border-box;
14
+
15
+ border: 1px solid var(--ring-popup-border-color);
16
+ border-radius: var(--ring-border-radius);
17
+
18
+ background-color: var(--ring-popup-background-color);
19
+ box-shadow: var(--ring-popup-shadow);
20
+ }
21
+
22
+ .hidden {
23
+ display: none;
24
+ }
25
+
26
+ .showing {
27
+ opacity: 0;
28
+ }
29
+
30
+ .attached {
31
+ border-top: 0;
32
+ border-top-left-radius: 0;
33
+ border-top-right-radius: 0;
34
+ }