@jetbrains/ring-ui-built 6.1.1-beta.0 → 7.0.0-beta.10

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 (351) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +1 -504
  2. package/components/_helpers/anchor.js +7 -10
  3. package/components/_helpers/button__classes.js +23 -20
  4. package/components/_helpers/caption.js +11 -21
  5. package/components/_helpers/card.js +91 -123
  6. package/components/_helpers/dialog__body-scroll-preventer.js +10 -17
  7. package/components/_helpers/header.js +1 -1
  8. package/components/_helpers/icon__svg.js +27 -29
  9. package/components/_helpers/input.js +151 -193
  10. package/components/_helpers/query-assist__suggestions.js +79 -94
  11. package/components/_helpers/select__filter.js +56 -75
  12. package/components/_helpers/services-link.js +23 -39
  13. package/components/_helpers/sidebar.js +91 -102
  14. package/components/_helpers/tab-link.js +8 -12
  15. package/components/_helpers/table.js +1 -1
  16. package/components/_helpers/theme.js +61 -51
  17. package/components/_helpers/title.js +59 -84
  18. package/components/alert/alert.d.ts +7 -24
  19. package/components/alert/alert.js +111 -179
  20. package/components/alert/container.d.ts +0 -5
  21. package/components/alert/container.js +32 -44
  22. package/components/alert-service/alert-service.js +104 -162
  23. package/components/analytics/analytics.js +12 -20
  24. package/components/analytics/analytics__custom-plugin.js +52 -68
  25. package/components/auth/auth.js +2 -31
  26. package/components/auth/auth__core.d.ts +1 -1
  27. package/components/auth/auth__core.js +754 -1440
  28. package/components/auth/background-flow.js +84 -121
  29. package/components/auth/down-notification.js +32 -79
  30. package/components/auth/iframe-flow.js +71 -125
  31. package/components/auth/request-builder.js +46 -77
  32. package/components/auth/response-parser.js +84 -112
  33. package/components/auth/storage.js +162 -324
  34. package/components/auth/token-validator.js +132 -227
  35. package/components/auth/window-flow.js +84 -121
  36. package/components/auth-dialog/auth-dialog.d.ts +0 -18
  37. package/components/auth-dialog/auth-dialog.js +107 -176
  38. package/components/auth-dialog-service/auth-dialog-service.js +12 -33
  39. package/components/avatar/avatar-example-datauri.js +1 -1
  40. package/components/avatar/avatar.d.ts +0 -13
  41. package/components/avatar/avatar.js +94 -136
  42. package/components/avatar/fallback-avatar.d.ts +1 -10
  43. package/components/avatar/fallback-avatar.js +20 -40
  44. package/components/badge/badge.d.ts +0 -10
  45. package/components/badge/badge.js +32 -48
  46. package/components/breadcrumbs/breadcrumbs.js +13 -17
  47. package/components/button/button.d.ts +0 -21
  48. package/components/button/button.js +68 -104
  49. package/components/button/button__classes.d.ts +1 -1
  50. package/components/button-group/button-group.d.ts +0 -5
  51. package/components/button-group/button-group.js +27 -41
  52. package/components/button-group/caption.d.ts +0 -4
  53. package/components/button-group/caption.js +0 -1
  54. package/components/button-set/button-set.d.ts +0 -6
  55. package/components/button-set/button-set.js +19 -33
  56. package/components/button-toolbar/button-toolbar.d.ts +0 -6
  57. package/components/button-toolbar/button-toolbar.js +17 -31
  58. package/components/caret/caret.js +184 -211
  59. package/components/checkbox/checkbox.d.ts +0 -19
  60. package/components/checkbox/checkbox.js +69 -104
  61. package/components/clipboard/clipboard-fallback.js +7 -7
  62. package/components/clipboard/clipboard.js +36 -129
  63. package/components/code/code.d.ts +0 -12
  64. package/components/code/code.js +83 -163
  65. package/components/collapse/collapse-content.js +42 -60
  66. package/components/collapse/collapse-context.js +2 -2
  67. package/components/collapse/collapse-control.js +12 -12
  68. package/components/collapse/collapse.js +12 -17
  69. package/components/collapse/consts.js +4 -4
  70. package/components/collapse/utils.js +1 -3
  71. package/components/confirm/confirm.d.ts +0 -14
  72. package/components/confirm/confirm.js +68 -112
  73. package/components/confirm-service/confirm-service.js +25 -47
  74. package/components/content-layout/content-layout.d.ts +0 -7
  75. package/components/content-layout/content-layout.js +41 -63
  76. package/components/content-layout/sidebar.d.ts +0 -9
  77. package/components/content-layout/sidebar.js +1 -2
  78. package/components/contenteditable/contenteditable.d.ts +1 -22
  79. package/components/contenteditable/contenteditable.js +37 -60
  80. package/components/control-help/control-help.js +5 -3
  81. package/components/control-label/control-label.js +9 -14
  82. package/components/data-list/data-list.d.ts +4 -6
  83. package/components/data-list/data-list.js +115 -179
  84. package/components/data-list/data-list.mock.js +3 -6
  85. package/components/data-list/item.js +119 -165
  86. package/components/data-list/selection.js +77 -135
  87. package/components/data-list/title.d.ts +2 -2
  88. package/components/data-list/title.js +2 -12
  89. package/components/date-picker/consts.d.ts +0 -2
  90. package/components/date-picker/consts.js +16 -24
  91. package/components/date-picker/date-input.d.ts +0 -20
  92. package/components/date-picker/date-input.js +100 -148
  93. package/components/date-picker/date-picker.d.ts +0 -29
  94. package/components/date-picker/date-picker.js +143 -224
  95. package/components/date-picker/date-popup.d.ts +0 -22
  96. package/components/date-picker/date-popup.js +282 -352
  97. package/components/date-picker/day.d.ts +0 -14
  98. package/components/date-picker/day.js +72 -109
  99. package/components/date-picker/month-names.d.ts +1 -11
  100. package/components/date-picker/month-names.js +42 -72
  101. package/components/date-picker/month-slider.d.ts +0 -9
  102. package/components/date-picker/month-slider.js +43 -71
  103. package/components/date-picker/month.d.ts +1 -9
  104. package/components/date-picker/month.js +18 -30
  105. package/components/date-picker/months.d.ts +1 -9
  106. package/components/date-picker/months.js +45 -55
  107. package/components/date-picker/weekdays.d.ts +2 -8
  108. package/components/date-picker/weekdays.js +12 -25
  109. package/components/date-picker/years.d.ts +0 -6
  110. package/components/date-picker/years.js +77 -104
  111. package/components/dialog/dialog.d.ts +0 -20
  112. package/components/dialog/dialog.js +153 -210
  113. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  114. package/components/dropdown/anchor.d.ts +1 -8
  115. package/components/dropdown/anchor.js +0 -7
  116. package/components/dropdown/dropdown.d.ts +4 -22
  117. package/components/dropdown/dropdown.js +134 -176
  118. package/components/dropdown-menu/dropdown-menu.js +51 -103
  119. package/components/editable-heading/editable-heading.js +69 -118
  120. package/components/error-bubble/error-bubble.d.ts +0 -6
  121. package/components/error-bubble/error-bubble.js +30 -60
  122. package/components/error-message/error-message.d.ts +0 -10
  123. package/components/error-message/error-message.js +34 -59
  124. package/components/footer/footer.js +28 -44
  125. package/components/form/form.js +1 -1
  126. package/components/global/compose.js +1 -8
  127. package/components/global/composeRefs.d.ts +0 -3
  128. package/components/global/composeRefs.js +8 -15
  129. package/components/global/controls-height.js +2 -2
  130. package/components/global/create-stateful-context.d.ts +0 -4
  131. package/components/global/create-stateful-context.js +14 -17
  132. package/components/global/data-tests.js +7 -12
  133. package/components/global/dom.js +49 -82
  134. package/components/global/focus-sensor-hoc.js +95 -122
  135. package/components/global/fuzzy-highlight.js +23 -34
  136. package/components/global/get-event-key.js +8 -8
  137. package/components/global/get-uid.js +3 -7
  138. package/components/global/inject-styles.js +7 -14
  139. package/components/global/listeners.js +28 -47
  140. package/components/global/memoize.js +6 -10
  141. package/components/global/normalize-indent.js +19 -46
  142. package/components/global/promise-with-timeout.js +6 -8
  143. package/components/global/react-dom-renderer.d.ts +0 -5
  144. package/components/global/react-dom-renderer.js +29 -45
  145. package/components/global/rerender-hoc.d.ts +2 -2
  146. package/components/global/rerender-hoc.js +16 -32
  147. package/components/global/schedule-raf.js +4 -4
  148. package/components/global/sniffer.js +1 -1
  149. package/components/global/theme.d.ts +8 -2
  150. package/components/global/theme.js +2 -20
  151. package/components/global/trivial-template-tag.js +4 -9
  152. package/components/global/typescript-utils.js +2 -6
  153. package/components/global/url.js +20 -23
  154. package/components/global/use-event-callback.js +7 -4
  155. package/components/grid/col.d.ts +0 -14
  156. package/components/grid/col.js +27 -53
  157. package/components/grid/grid.d.ts +0 -5
  158. package/components/grid/grid.js +20 -32
  159. package/components/grid/row.d.ts +0 -18
  160. package/components/grid/row.js +23 -47
  161. package/components/group/group.d.ts +0 -5
  162. package/components/group/group.js +18 -27
  163. package/components/header/header-icon.d.ts +10 -0
  164. package/components/header/header-icon.js +39 -0
  165. package/components/header/header.d.ts +3 -7
  166. package/components/header/header.js +32 -74
  167. package/components/header/links.d.ts +2 -0
  168. package/components/header/links.js +20 -0
  169. package/components/header/logo.d.ts +0 -4
  170. package/components/header/logo.js +15 -30
  171. package/components/header/profile.d.ts +1 -39
  172. package/components/header/profile.js +126 -190
  173. package/components/header/services-link.d.ts +0 -10
  174. package/components/header/services-link.js +1 -4
  175. package/components/header/services.d.ts +0 -14
  176. package/components/header/services.js +67 -112
  177. package/components/header/smart-profile.d.ts +0 -9
  178. package/components/header/smart-profile.js +116 -205
  179. package/components/header/smart-services.d.ts +0 -4
  180. package/components/header/smart-services.js +73 -142
  181. package/components/header/tray.d.ts +0 -5
  182. package/components/header/tray.js +21 -35
  183. package/components/heading/heading.d.ts +1 -4
  184. package/components/heading/heading.js +25 -42
  185. package/components/http/http.js +162 -319
  186. package/components/http/http.mock.js +50 -98
  187. package/components/hub-source/hub-source.js +77 -182
  188. package/components/hub-source/hub-source__user.js +9 -37
  189. package/components/hub-source/hub-source__users-groups.js +34 -60
  190. package/components/i18n/i18n-context.js +7 -8
  191. package/components/i18n/i18n.js +3 -6
  192. package/components/icon/icon.d.ts +0 -11
  193. package/components/icon/icon.js +60 -85
  194. package/components/icon/icon__svg.d.ts +0 -8
  195. package/components/icon/icon__svg.js +0 -6
  196. package/components/icon/index.js +0 -6
  197. package/components/input/input-legacy.js +1 -1
  198. package/components/input/input.js +2 -14
  199. package/components/input-size/input-size.js +1 -1
  200. package/components/island/adaptive-island-hoc.d.ts +4 -5
  201. package/components/island/adaptive-island-hoc.js +30 -39
  202. package/components/island/content.d.ts +0 -10
  203. package/components/island/content.js +99 -119
  204. package/components/island/header.js +55 -73
  205. package/components/island/island.d.ts +4 -13
  206. package/components/island/island.js +25 -41
  207. package/components/island-legacy/content-legacy.d.ts +0 -5
  208. package/components/island-legacy/content-legacy.js +16 -27
  209. package/components/island-legacy/header-legacy.d.ts +0 -5
  210. package/components/island-legacy/header-legacy.js +19 -30
  211. package/components/island-legacy/island-legacy.d.ts +0 -5
  212. package/components/island-legacy/island-legacy.js +16 -27
  213. package/components/link/clickableLink.d.ts +0 -9
  214. package/components/link/clickableLink.js +33 -51
  215. package/components/link/link.d.ts +8 -33
  216. package/components/link/link.js +47 -68
  217. package/components/list/consts.js +2 -2
  218. package/components/list/list.d.ts +0 -32
  219. package/components/list/list.js +399 -516
  220. package/components/list/list__custom.js +51 -78
  221. package/components/list/list__hint.d.ts +0 -4
  222. package/components/list/list__hint.js +8 -21
  223. package/components/list/list__item.js +147 -211
  224. package/components/list/list__link.js +39 -59
  225. package/components/list/list__separator.js +15 -30
  226. package/components/list/list__title.js +25 -41
  227. package/components/list/list__users-groups-source.js +55 -123
  228. package/components/loader/loader.d.ts +0 -10
  229. package/components/loader/loader.js +38 -70
  230. package/components/loader/loader__core.js +123 -184
  231. package/components/loader-inline/loader-inline.d.ts +0 -6
  232. package/components/loader-inline/loader-inline.js +24 -38
  233. package/components/loader-screen/loader-screen.d.ts +0 -6
  234. package/components/loader-screen/loader-screen.js +24 -46
  235. package/components/login-dialog/login-dialog.d.ts +0 -11
  236. package/components/login-dialog/login-dialog.js +94 -145
  237. package/components/login-dialog/service.js +11 -33
  238. package/components/markdown/markdown.js +16 -29
  239. package/components/message/message.js +171 -218
  240. package/components/old-browsers-message/old-browsers-message.js +11 -14
  241. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  242. package/components/old-browsers-message/white-list.js +8 -13
  243. package/components/pager/pager.d.ts +1 -0
  244. package/components/pager/pager.js +211 -275
  245. package/components/panel/panel.d.ts +0 -5
  246. package/components/panel/panel.js +16 -27
  247. package/components/permissions/permissions.js +118 -161
  248. package/components/permissions/permissions__cache.js +191 -218
  249. package/components/popup/popup.consts.js +1 -1
  250. package/components/popup/popup.js +237 -329
  251. package/components/popup/popup.target.js +9 -12
  252. package/components/popup/position.js +94 -101
  253. package/components/popup-menu/popup-menu.js +31 -76
  254. package/components/progress-bar/progress-bar.d.ts +19 -33
  255. package/components/progress-bar/progress-bar.js +55 -99
  256. package/components/query-assist/query-assist.d.ts +63 -93
  257. package/components/query-assist/query-assist.js +585 -748
  258. package/components/query-assist/query-assist__suggestions.js +2 -28
  259. package/components/radio/radio.d.ts +0 -8
  260. package/components/radio/radio.js +15 -35
  261. package/components/radio/radio__item.d.ts +0 -9
  262. package/components/radio/radio__item.js +52 -72
  263. package/components/scrollable-section/scrollable-section.d.ts +2 -0
  264. package/components/scrollable-section/scrollable-section.js +53 -0
  265. package/components/select/select.d.ts +3 -0
  266. package/components/select/select.js +714 -863
  267. package/components/select/select__filter.js +2 -29
  268. package/components/select/select__popup.js +317 -465
  269. package/components/shortcuts/core.js +147 -195
  270. package/components/shortcuts/shortcut-title.js +6 -10
  271. package/components/shortcuts/shortcuts-hoc.d.ts +4 -9
  272. package/components/shortcuts/shortcuts-hoc.js +23 -46
  273. package/components/shortcuts/shortcuts.d.ts +0 -8
  274. package/components/shortcuts/shortcuts.js +41 -72
  275. package/components/slider/slider.js +93 -113
  276. package/components/slider/slider.utils.js +16 -23
  277. package/components/storage/storage.d.ts +2 -3
  278. package/components/storage/storage.js +2 -46
  279. package/components/storage/storage__local.js +89 -148
  280. package/components/style.css +1 -1
  281. package/components/tab-trap/tab-trap.js +35 -61
  282. package/components/table/cell.d.ts +0 -6
  283. package/components/table/cell.js +11 -27
  284. package/components/table/disable-hover-hoc.d.ts +4 -5
  285. package/components/table/disable-hover-hoc.js +27 -42
  286. package/components/table/header-cell.d.ts +0 -10
  287. package/components/table/header-cell.js +59 -85
  288. package/components/table/header.d.ts +1 -23
  289. package/components/table/header.js +89 -126
  290. package/components/table/multitable.d.ts +0 -4
  291. package/components/table/multitable.js +83 -93
  292. package/components/table/row-with-focus-sensor.d.ts +2 -2
  293. package/components/table/row-with-focus-sensor.js +26 -60
  294. package/components/table/row.js +170 -235
  295. package/components/table/selection-adapter.js +2 -2
  296. package/components/table/selection-shortcuts-hoc.js +102 -126
  297. package/components/table/selection.js +150 -217
  298. package/components/table/simple-table.d.ts +17 -0
  299. package/components/table/simple-table.js +83 -0
  300. package/components/table/smart-table.d.ts +0 -46
  301. package/components/table/smart-table.js +41 -83
  302. package/components/table/table.d.ts +9 -6
  303. package/components/table/table.js +270 -372
  304. package/components/tabs/collapsible-more.d.ts +1 -9
  305. package/components/tabs/collapsible-more.js +47 -97
  306. package/components/tabs/collapsible-tab.js +32 -44
  307. package/components/tabs/collapsible-tabs.d.ts +2 -29
  308. package/components/tabs/collapsible-tabs.js +89 -161
  309. package/components/tabs/custom-item.d.ts +1 -7
  310. package/components/tabs/custom-item.js +4 -7
  311. package/components/tabs/dumb-tabs.d.ts +0 -11
  312. package/components/tabs/dumb-tabs.js +60 -104
  313. package/components/tabs/smart-tabs.d.ts +0 -6
  314. package/components/tabs/smart-tabs.js +29 -68
  315. package/components/tabs/tab-link.d.ts +0 -8
  316. package/components/tabs/tab-link.js +1 -4
  317. package/components/tabs/tab.d.ts +0 -8
  318. package/components/tabs/tab.js +14 -32
  319. package/components/tabs/tabs.js +1 -28
  320. package/components/tag/tag.d.ts +0 -19
  321. package/components/tag/tag.js +120 -179
  322. package/components/tags-input/tags-input.d.ts +7 -33
  323. package/components/tags-input/tags-input.js +224 -339
  324. package/components/tags-list/tags-list.d.ts +0 -13
  325. package/components/tags-list/tags-list.js +45 -74
  326. package/components/text/text.d.ts +0 -7
  327. package/components/text/text.js +27 -43
  328. package/components/toggle/toggle.d.ts +0 -15
  329. package/components/toggle/toggle.js +53 -78
  330. package/components/tooltip/tooltip.d.ts +4 -10
  331. package/components/tooltip/tooltip.js +105 -137
  332. package/components/user-agreement/service.d.ts +2 -1
  333. package/components/user-agreement/service.js +260 -405
  334. package/components/user-agreement/user-agreement.d.ts +0 -18
  335. package/components/user-agreement/user-agreement.js +92 -138
  336. package/components/user-card/card.d.ts +0 -35
  337. package/components/user-card/card.js +2 -27
  338. package/components/user-card/smart-user-card-tooltip.d.ts +0 -5
  339. package/components/user-card/smart-user-card-tooltip.js +52 -108
  340. package/components/user-card/tooltip.d.ts +0 -9
  341. package/components/user-card/tooltip.js +35 -74
  342. package/components/user-card/user-card.js +1 -26
  343. package/package.json +5 -7
  344. package/components/global/prop-types.d.ts +0 -4
  345. package/components/global/prop-types.js +0 -9
  346. package/components/global/react-render-adapter.d.ts +0 -1
  347. package/components/global/react-render-adapter.js +0 -6
  348. package/components/header/tray-icon.d.ts +0 -32
  349. package/components/header/tray-icon.js +0 -56
  350. package/components/storage/storage__fallback.d.ts +0 -79
  351. package/components/storage/storage__fallback.js +0 -253
@@ -1,22 +1,11 @@
1
- import { b as _createClass, e as _classCallCheck, _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import 'core-js/modules/es.array.find-index.js';
4
- import 'core-js/modules/es.array.includes.js';
5
- import 'core-js/modules/es.array.map.js';
6
- import 'core-js/modules/es.array.slice.js';
7
- import 'core-js/modules/es.array.splice.js';
8
- import 'core-js/modules/es.object.assign.js';
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
9
2
  import 'core-js/modules/es.regexp.exec.js';
10
- import 'core-js/modules/es.string.includes.js';
11
- import 'core-js/modules/es.string.match.js';
12
3
  import Combokeys from 'combokeys';
13
4
  import sniffr from '../global/sniffer.js';
14
5
  import 'sniffr';
15
6
 
16
- var Shortcuts = /*#__PURE__*/function () {
17
- function Shortcuts() {
18
- var _this = this;
19
- _classCallCheck(this, Shortcuts);
7
+ class Shortcuts {
8
+ constructor() {
20
9
  _defineProperty(this, "ALLOW_SHORTCUTS_SELECTOR", '.ring-js-shortcuts');
21
10
  _defineProperty(this, "ROOT_SCOPE", {
22
11
  scopeId: 'ROOT',
@@ -25,16 +14,14 @@ var Shortcuts = /*#__PURE__*/function () {
25
14
  _defineProperty(this, "_scopes", {});
26
15
  _defineProperty(this, "_scopeChain", []);
27
16
  _defineProperty(this, "combokeys", new Combokeys(document.documentElement));
28
- _defineProperty(this, "trigger", function (combo) {
29
- return _this.combokeys.trigger(combo);
30
- });
31
- _defineProperty(this, "_dispatcher", function (e, key) {
32
- var currentScope;
33
- for (var i = _this._scopeChain.length - 1; i >= 0; i--) {
34
- var scopeInChain = _this._scopeChain[i];
35
- currentScope = _this._scopes[scopeInChain.scopeId];
17
+ _defineProperty(this, "trigger", combo => this.combokeys.trigger(combo));
18
+ _defineProperty(this, "_dispatcher", (e, key) => {
19
+ let currentScope;
20
+ for (let i = this._scopeChain.length - 1; i >= 0; i--) {
21
+ const scopeInChain = this._scopeChain[i];
22
+ currentScope = this._scopes[scopeInChain.scopeId];
36
23
  if (currentScope && key != null && currentScope[key]) {
37
- var ret = currentScope[key](e, key, scopeInChain.scopeId);
24
+ const ret = currentScope[key](e, key, scopeInChain.scopeId);
38
25
  // Fall down in chain when returning true
39
26
  if (ret !== true) {
40
27
  return ret;
@@ -46,205 +33,170 @@ var Shortcuts = /*#__PURE__*/function () {
46
33
  }
47
34
  return undefined;
48
35
  });
49
- _defineProperty(this, "_defaultFilter", function (e, element, key) {
36
+ _defineProperty(this, "_defaultFilter", (e, element, key) => {
50
37
  // if the element or its parents have the class "ring-js-shortcuts" then no need to stop
51
- if (element === document || !(element instanceof HTMLElement) || key == null || element.matches(_this.ALLOW_SHORTCUTS_SELECTOR) || (element.dataset.enabledShortcuts != null ? element.dataset.enabledShortcuts.split(',').includes(key) : element.closest(_this.ALLOW_SHORTCUTS_SELECTOR) != null)) {
38
+ if (element === document || !(element instanceof HTMLElement) || key == null || element.matches(this.ALLOW_SHORTCUTS_SELECTOR) || element.closest(this.ALLOW_SHORTCUTS_SELECTOR) != null || element.dataset.enabledShortcuts != null && element.dataset.enabledShortcuts.split(',').includes(key)) {
52
39
  return false;
53
40
  }
54
- var elementContentEditableAttribute = element.contentEditable;
55
- var isElementContentEditable = elementContentEditableAttribute === 'true' || elementContentEditableAttribute === 'plaintext-only';
41
+ const elementContentEditableAttribute = element.contentEditable;
42
+ const isElementContentEditable = elementContentEditableAttribute === 'true' || elementContentEditableAttribute === 'plaintext-only';
56
43
  // stop for input, select, textarea and content-editable elements
57
44
  return element.matches('input:not([type=checkbox]),select,textarea') || isElementContentEditable;
58
45
  });
59
46
  this.setFilter();
60
47
  this.setScope();
61
48
  }
62
- return _createClass(Shortcuts, [{
63
- key: "bind",
64
- value:
65
- /**
66
- * Binds a handler to a shortcut
67
- *
68
- * @param params.key {string | Array.<string>) Keys to bind
69
- * @param params.handler {Function} Events handle
70
- * @param params.scope {string} Scope (optional)
71
- * @param params.type {string} Event type, will be passed to Combokeys (optional)
72
- */
73
- function bind(params) {
74
- if (!(params instanceof Object) || typeof params.handler !== 'function') {
75
- throw new Error('Shortcut handler should exist');
76
- }
77
- if (!params.scope) {
78
- params.scope = this.ROOT_SCOPE.scopeId;
79
- }
80
- if (Array.isArray(params.key)) {
81
- for (var i = 0; i < params.key.length; i++) {
82
- this.bind(Object.assign({}, params, {
83
- key: params.key[i]
84
- }));
85
- }
86
- return;
87
- }
88
- if (typeof params.key !== 'string') {
89
- throw new Error('Shortcut key should exist');
90
- }
91
- var scope = this._scopes[params.scope];
92
- if (!scope) {
93
- scope = this._scopes[params.scope] = {};
94
- }
95
- scope[params.key] = params.handler;
96
- this.combokeys.bind(params.key, this._dispatcher, this._getKeyboardEventType(params));
49
+ /**
50
+ * Binds a handler to a shortcut
51
+ *
52
+ * @param params.key {string | Array.<string>) Keys to bind
53
+ * @param params.handler {Function} Events handle
54
+ * @param params.scope {string} Scope (optional)
55
+ * @param params.type {string} Event type, will be passed to Combokeys (optional)
56
+ */
57
+ bind(params) {
58
+ if (!(params instanceof Object) || typeof params.handler !== 'function') {
59
+ throw new Error('Shortcut handler should exist');
97
60
  }
98
- /**
99
- * Binds a map of shortcuts to handlers with common options
100
- *
101
- * @map {Object) Keys to handlers map
102
- * @options.scope {string} Scope (optional)
103
- * @options.type {string} Event type, will be passed to Combokeys (optional)
104
- */
105
- }, {
106
- key: "bindMap",
107
- value: function bindMap(map, options) {
108
- if (!(map instanceof Object)) {
109
- throw new Error('Shortcuts map shouldn\'t be empty');
110
- }
111
- for (var key in map) {
112
- if (map.hasOwnProperty(key)) {
113
- this.bind(Object.assign({}, options || {}, {
114
- key,
115
- handler: map[key]
116
- }));
117
- }
61
+ if (!params.scope) {
62
+ params.scope = this.ROOT_SCOPE.scopeId;
63
+ }
64
+ if (Array.isArray(params.key)) {
65
+ for (let i = 0; i < params.key.length; i++) {
66
+ this.bind(Object.assign({}, params, {
67
+ key: params.key[i]
68
+ }));
118
69
  }
70
+ return;
119
71
  }
120
- }, {
121
- key: "unbindScope",
122
- value: function unbindScope(scope) {
123
- this._scopes[scope] = null;
72
+ if (typeof params.key !== 'string') {
73
+ throw new Error('Shortcut key should exist');
124
74
  }
125
- }, {
126
- key: "getScope",
127
- value: function getScope() {
128
- return this._scopeChain.slice(1);
75
+ let scope = this._scopes[params.scope];
76
+ if (!scope) {
77
+ scope = this._scopes[params.scope] = {};
129
78
  }
130
- }, {
131
- key: "hasScope",
132
- value: function hasScope(scopeId) {
133
- return this.indexOfScope(scopeId) !== -1;
79
+ scope[params.key] = params.handler;
80
+ this.combokeys.bind(params.key, this._dispatcher, this._getKeyboardEventType(params));
81
+ }
82
+ /**
83
+ * Binds a map of shortcuts to handlers with common options
84
+ *
85
+ * @map {Object) Keys to handlers map
86
+ * @options.scope {string} Scope (optional)
87
+ * @options.type {string} Event type, will be passed to Combokeys (optional)
88
+ */
89
+ bindMap(map, options) {
90
+ if (!(map instanceof Object)) {
91
+ throw new Error('Shortcuts map shouldn\'t be empty');
134
92
  }
135
- /**
136
- * Adds a scope to the chain
137
- * @param scopeId id of scope to add
138
- * @param options options for pushing scope
139
- * @param options.modal whether keys should fall through this scope or not.
140
- * Useful for modals or overlays
141
- */
142
- }, {
143
- key: "pushScope",
144
- value: function pushScope(scopeId) {
145
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
146
- if (scopeId) {
147
- var position = this.indexOfScope(scopeId);
148
- if (position !== -1) {
149
- this._scopeChain.splice(position, 1);
150
- }
151
- this._scopeChain.push(this.wrapScope(scopeId, options));
93
+ for (const key in map) {
94
+ if (map.hasOwnProperty(key)) {
95
+ this.bind(Object.assign({}, options || {}, {
96
+ key,
97
+ handler: map[key]
98
+ }));
152
99
  }
153
100
  }
154
- }, {
155
- key: "popScope",
156
- value: function popScope(scopeId) {
157
- if (scopeId) {
158
- var position = this.indexOfScope(scopeId);
159
- if (position !== -1) {
160
- return this._scopeChain.splice(position, this._scopeChain.length - 1);
161
- }
101
+ }
102
+ unbindScope(scope) {
103
+ this._scopes[scope] = null;
104
+ }
105
+ getScope() {
106
+ return this._scopeChain.slice(1);
107
+ }
108
+ hasScope(scopeId) {
109
+ return this.indexOfScope(scopeId) !== -1;
110
+ }
111
+ /**
112
+ * Adds a scope to the chain
113
+ * @param scopeId id of scope to add
114
+ * @param options options for pushing scope
115
+ * @param options.modal whether keys should fall through this scope or not.
116
+ * Useful for modals or overlays
117
+ */
118
+ pushScope(scopeId) {
119
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
120
+ if (scopeId) {
121
+ const position = this.indexOfScope(scopeId);
122
+ if (position !== -1) {
123
+ this._scopeChain.splice(position, 1);
162
124
  }
163
- return undefined;
125
+ this._scopeChain.push(this.wrapScope(scopeId, options));
164
126
  }
165
- }, {
166
- key: "spliceScope",
167
- value: function spliceScope(scopeId) {
168
- if (scopeId) {
169
- var position = this.indexOfScope(scopeId);
170
- if (position !== -1) {
171
- this._scopeChain.splice(position, 1);
172
- }
127
+ }
128
+ popScope(scopeId) {
129
+ if (scopeId) {
130
+ const position = this.indexOfScope(scopeId);
131
+ if (position !== -1) {
132
+ return this._scopeChain.splice(position, this._scopeChain.length - 1);
173
133
  }
174
134
  }
175
- }, {
176
- key: "setScope",
177
- value: function setScope(scope) {
178
- var _this2 = this;
179
- if (scope) {
180
- var scopeChain;
181
- if (typeof scope === 'string' || !Array.isArray(scope) && typeof scope === 'object' && scope !== null) {
182
- scopeChain = [scope];
183
- } else {
184
- scopeChain = scope;
185
- }
186
- if (!Array.isArray(scopeChain)) {
187
- return;
188
- }
189
- var scopes = scopeChain.map(function (scopeItem) {
190
- var isScopeId = typeof scopeItem === 'string';
191
- return isScopeId ? _this2.wrapScope(scopeItem) : scopeItem;
192
- });
193
- this._scopeChain = [this.ROOT_SCOPE].concat(scopes);
194
- } else {
195
- this._scopeChain = [this.ROOT_SCOPE];
135
+ return undefined;
136
+ }
137
+ spliceScope(scopeId) {
138
+ if (scopeId) {
139
+ const position = this.indexOfScope(scopeId);
140
+ if (position !== -1) {
141
+ this._scopeChain.splice(position, 1);
196
142
  }
197
143
  }
198
- }, {
199
- key: "wrapScope",
200
- value: function wrapScope(scopeId) {
201
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
202
- return {
203
- scopeId,
204
- options
205
- };
206
- }
207
- }, {
208
- key: "hasKey",
209
- value: function hasKey(key, scope) {
210
- var _this$_scopes$scope;
211
- return !!((_this$_scopes$scope = this._scopes[scope]) !== null && _this$_scopes$scope !== void 0 && _this$_scopes$scope[key]);
212
- }
213
- }, {
214
- key: "_getKeyboardEventType",
215
- value: function _getKeyboardEventType(params) {
216
- if (!params.type && sniffr.os.name === 'windows') {
217
- var isSystemShortcut = typeof params.key === 'string' && params.key.match(/ctrl/i) && params.key.match(/shift/i) && params.key.match(/[0-9]/);
218
- /**
219
- * Windows system shortcuts (ctrl+shift+[0-9] are caught by the OS on 'keydown', so let's use 'keyup'
220
- */
221
- if (isSystemShortcut) {
222
- return 'keyup';
223
- }
144
+ }
145
+ setScope(scope) {
146
+ if (scope) {
147
+ let scopeChain;
148
+ if (typeof scope === 'string' || !Array.isArray(scope) && typeof scope === 'object' && scope !== null) {
149
+ scopeChain = [scope];
150
+ } else {
151
+ scopeChain = scope;
224
152
  }
225
- return params.type;
226
- }
227
- }, {
228
- key: "setFilter",
229
- value: function setFilter(fn) {
230
- this.combokeys.stopCallback = typeof fn === 'function' ? fn : this._defaultFilter;
231
- }
232
- }, {
233
- key: "indexOfScope",
234
- value: function indexOfScope(scopeId) {
235
- return this._scopeChain.findIndex(function (scope) {
236
- return scope.scopeId === scopeId;
153
+ if (!Array.isArray(scopeChain)) {
154
+ return;
155
+ }
156
+ const scopes = scopeChain.map(scopeItem => {
157
+ const isScopeId = typeof scopeItem === 'string';
158
+ return isScopeId ? this.wrapScope(scopeItem) : scopeItem;
237
159
  });
160
+ this._scopeChain = [this.ROOT_SCOPE].concat(scopes);
161
+ } else {
162
+ this._scopeChain = [this.ROOT_SCOPE];
238
163
  }
239
- }, {
240
- key: "reset",
241
- value: function reset() {
242
- this._scopes = {};
243
- this.setScope();
244
- this.combokeys.reset();
164
+ }
165
+ wrapScope(scopeId) {
166
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
167
+ return {
168
+ scopeId,
169
+ options
170
+ };
171
+ }
172
+ hasKey(key, scope) {
173
+ var _this$_scopes$scope;
174
+ return !!((_this$_scopes$scope = this._scopes[scope]) !== null && _this$_scopes$scope !== void 0 && _this$_scopes$scope[key]);
175
+ }
176
+ _getKeyboardEventType(params) {
177
+ if (!params.type && sniffr.os.name === 'windows') {
178
+ const isSystemShortcut = typeof params.key === 'string' && params.key.match(/ctrl/i) && params.key.match(/shift/i) && params.key.match(/[0-9]/);
179
+ /**
180
+ * Windows system shortcuts (ctrl+shift+[0-9] are caught by the OS on 'keydown', so let's use 'keyup'
181
+ */
182
+ if (isSystemShortcut) {
183
+ return 'keyup';
184
+ }
245
185
  }
246
- }]);
247
- }();
186
+ return params.type;
187
+ }
188
+ setFilter(fn) {
189
+ this.combokeys.stopCallback = typeof fn === 'function' ? fn : this._defaultFilter;
190
+ }
191
+ indexOfScope(scopeId) {
192
+ return this._scopeChain.findIndex(scope => scope.scopeId === scopeId);
193
+ }
194
+ reset() {
195
+ this._scopes = {};
196
+ this.setScope();
197
+ this.combokeys.reset();
198
+ }
199
+ }
248
200
  var shortcuts = new Shortcuts();
249
201
 
250
202
  export { shortcuts as default };
@@ -1,10 +1,8 @@
1
- import 'core-js/modules/es.array.map.js';
2
1
  import 'core-js/modules/es.regexp.exec.js';
3
- import 'core-js/modules/es.string.split.js';
4
2
  import sniffr from '../global/sniffer.js';
5
3
  import 'sniffr';
6
4
 
7
- var macSymbolsMap = {
5
+ const macSymbolsMap = {
8
6
  enter: '⏎',
9
7
  shift: '⇧',
10
8
  meta: '⌘',
@@ -24,7 +22,7 @@ var macSymbolsMap = {
24
22
  right: '→',
25
23
  down: '↓'
26
24
  };
27
- var winSymbolsMap = {
25
+ const winSymbolsMap = {
28
26
  enter: 'Enter',
29
27
  shift: 'Shift',
30
28
  meta: 'Ctrl',
@@ -45,12 +43,10 @@ var winSymbolsMap = {
45
43
  down: '↓'
46
44
  };
47
45
  function getShortcutTitle(shortcut) {
48
- var MAC_OS = sniffr.os.name === 'macos';
49
- var KEY_SEPARATOR = MAC_OS ? '' : '+';
50
- var symbolsMap = MAC_OS ? macSymbolsMap : winSymbolsMap;
51
- return shortcut.split(/\+/g).map(function (symbol) {
52
- return symbolsMap[symbol] || symbol.toUpperCase();
53
- }).join(KEY_SEPARATOR);
46
+ const MAC_OS = sniffr.os.name === 'macos';
47
+ const KEY_SEPARATOR = MAC_OS ? '' : '+';
48
+ const symbolsMap = MAC_OS ? macSymbolsMap : winSymbolsMap;
49
+ return shortcut.split(/\+/g).map(symbol => symbolsMap[symbol] || symbol.toUpperCase()).join(KEY_SEPARATOR);
54
50
  }
55
51
 
56
52
  export { getShortcutTitle };
@@ -1,5 +1,4 @@
1
1
  import { ComponentType } from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import { ShortcutsMap, ShortcutsScopeOptions } from './core';
4
3
  export interface ShortcutsHOCOptions extends ShortcutsScopeOptions {
5
4
  disabled?: boolean | null | undefined;
@@ -13,7 +12,7 @@ export default function shortcutsHOC<P extends {}>(ComposedComponent: ComponentT
13
12
  _shortcutsScopeUid: string;
14
13
  render(): import("react").JSX.Element;
15
14
  context: unknown;
16
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<P & ShortcutsHOCProps>) => Pick<{}, K> | {} | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
15
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<P & ShortcutsHOCProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
17
16
  forceUpdate(callback?: (() => void) | undefined): void;
18
17
  readonly props: Readonly<P & ShortcutsHOCProps>;
19
18
  state: Readonly<{}>;
@@ -24,7 +23,7 @@ export default function shortcutsHOC<P extends {}>(ComposedComponent: ComponentT
24
23
  shouldComponentUpdate?(nextProps: Readonly<P & ShortcutsHOCProps>, nextState: Readonly<{}>, nextContext: any): boolean;
25
24
  componentWillUnmount?(): void;
26
25
  componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
27
- getSnapshotBeforeUpdate?(prevProps: Readonly<P & ShortcutsHOCProps>, prevState: Readonly<{}>): any | null;
26
+ getSnapshotBeforeUpdate?(prevProps: Readonly<P & ShortcutsHOCProps>, prevState: Readonly<{}>): any;
28
27
  componentDidUpdate?(prevProps: Readonly<P & ShortcutsHOCProps>, prevState: Readonly<{}>, snapshot?: any): void;
29
28
  componentWillMount?(): void;
30
29
  UNSAFE_componentWillMount?(): void;
@@ -37,7 +36,7 @@ export default function shortcutsHOC<P extends {}>(ComposedComponent: ComponentT
37
36
  _shortcutsScopeUid: string;
38
37
  render(): import("react").JSX.Element;
39
38
  context: unknown;
40
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<P & ShortcutsHOCProps>) => Pick<{}, K> | {} | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
39
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<P & ShortcutsHOCProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
41
40
  forceUpdate(callback?: (() => void) | undefined): void;
42
41
  readonly props: Readonly<P & ShortcutsHOCProps>;
43
42
  state: Readonly<{}>;
@@ -48,7 +47,7 @@ export default function shortcutsHOC<P extends {}>(ComposedComponent: ComponentT
48
47
  shouldComponentUpdate?(nextProps: Readonly<P & ShortcutsHOCProps>, nextState: Readonly<{}>, nextContext: any): boolean;
49
48
  componentWillUnmount?(): void;
50
49
  componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
51
- getSnapshotBeforeUpdate?(prevProps: Readonly<P & ShortcutsHOCProps>, prevState: Readonly<{}>): any | null;
50
+ getSnapshotBeforeUpdate?(prevProps: Readonly<P & ShortcutsHOCProps>, prevState: Readonly<{}>): any;
52
51
  componentDidUpdate?(prevProps: Readonly<P & ShortcutsHOCProps>, prevState: Readonly<{}>, snapshot?: any): void;
53
52
  componentWillMount?(): void;
54
53
  UNSAFE_componentWillMount?(): void;
@@ -57,9 +56,5 @@ export default function shortcutsHOC<P extends {}>(ComposedComponent: ComponentT
57
56
  componentWillUpdate?(nextProps: Readonly<P & ShortcutsHOCProps>, nextState: Readonly<{}>, nextContext: any): void;
58
57
  UNSAFE_componentWillUpdate?(nextProps: Readonly<P & ShortcutsHOCProps>, nextState: Readonly<{}>, nextContext: any): void;
59
58
  };
60
- propTypes: {
61
- rgShortcutsOptions: PropTypes.Requireable<object>;
62
- rgShortcutsMap: PropTypes.Requireable<object>;
63
- };
64
59
  contextType?: import("react").Context<any> | undefined;
65
60
  };
@@ -1,61 +1,38 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, d as _objectSpread2, e as _classCallCheck, f as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
1
+ import { _ as _defineProperty, a as _objectWithoutProperties, b as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
3
3
  import { Component } from 'react';
4
- import PropTypes from 'prop-types';
5
4
  import getUID from '../global/get-uid.js';
6
5
  import Shortcuts from './shortcuts.js';
7
6
  import { jsx } from 'react/jsx-runtime';
8
- import 'core-js/modules/es.object.to-string.js';
9
- import 'core-js/modules/es.regexp.to-string.js';
10
- import 'core-js/modules/es.array.map.js';
11
7
  import './core.js';
12
- import 'core-js/modules/es.array.find-index.js';
13
- import 'core-js/modules/es.array.includes.js';
14
- import 'core-js/modules/es.array.slice.js';
15
- import 'core-js/modules/es.array.splice.js';
16
- import 'core-js/modules/es.object.assign.js';
17
8
  import 'core-js/modules/es.regexp.exec.js';
18
- import 'core-js/modules/es.string.includes.js';
19
- import 'core-js/modules/es.string.match.js';
20
9
  import 'combokeys';
21
10
  import '../global/sniffer.js';
22
11
  import 'sniffr';
23
12
 
24
- var _excluded = ["rgShortcutsOptions", "rgShortcutsMap"];
13
+ const _excluded = ["rgShortcutsOptions", "rgShortcutsMap"];
25
14
  function shortcutsHOC(ComposedComponent) {
26
- var _WithShortcuts;
27
- return _WithShortcuts = /*#__PURE__*/function (_Component) {
28
- function WithShortcuts() {
29
- var _this;
30
- _classCallCheck(this, WithShortcuts);
31
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
32
- args[_key] = arguments[_key];
33
- }
34
- _this = _callSuper(this, WithShortcuts, [].concat(args));
35
- _defineProperty(_this, "_shortcutsScopeUid", getUID('rg-shortcuts-'));
36
- return _this;
15
+ return class WithShortcuts extends Component {
16
+ constructor() {
17
+ super(...arguments);
18
+ _defineProperty(this, "_shortcutsScopeUid", getUID('rg-shortcuts-'));
37
19
  }
38
- _inherits(WithShortcuts, _Component);
39
- return _createClass(WithShortcuts, [{
40
- key: "render",
41
- value: function render() {
42
- var _this$props = this.props,
43
- rgShortcutsOptions = _this$props.rgShortcutsOptions,
44
- rgShortcutsMap = _this$props.rgShortcutsMap,
45
- props = _objectWithoutProperties(_this$props, _excluded);
46
- return /*#__PURE__*/jsx(Shortcuts, {
47
- scope: this._shortcutsScopeUid,
48
- map: rgShortcutsMap,
49
- options: rgShortcutsOptions,
50
- disabled: rgShortcutsOptions.disabled,
51
- children: /*#__PURE__*/jsx(ComposedComponent, _objectSpread2({}, props))
52
- });
53
- }
54
- }]);
55
- }(Component), _defineProperty(_WithShortcuts, "propTypes", {
56
- rgShortcutsOptions: PropTypes.object,
57
- rgShortcutsMap: PropTypes.object
58
- }), _WithShortcuts;
20
+ render() {
21
+ const _this$props = this.props,
22
+ {
23
+ rgShortcutsOptions,
24
+ rgShortcutsMap
25
+ } = _this$props,
26
+ props = _objectWithoutProperties(_this$props, _excluded);
27
+ return /*#__PURE__*/jsx(Shortcuts, {
28
+ scope: this._shortcutsScopeUid,
29
+ map: rgShortcutsMap,
30
+ options: rgShortcutsOptions,
31
+ disabled: rgShortcutsOptions.disabled,
32
+ children: /*#__PURE__*/jsx(ComposedComponent, _objectSpread2({}, props))
33
+ });
34
+ }
35
+ };
59
36
  }
60
37
 
61
38
  export { shortcutsHOC as default };
@@ -1,5 +1,4 @@
1
1
  import { PureComponent } from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import { ShortcutsMap, ShortcutsScopeOptions } from './core';
4
3
  export interface ShortcutsProps {
5
4
  map: ShortcutsMap;
@@ -9,13 +8,6 @@ export interface ShortcutsProps {
9
8
  disabled?: boolean | null | undefined;
10
9
  }
11
10
  export default class Shortcuts extends PureComponent<ShortcutsProps> {
12
- static propTypes: {
13
- map: PropTypes.Validator<object>;
14
- scope: PropTypes.Validator<string>;
15
- options: PropTypes.Requireable<object>;
16
- disabled: PropTypes.Requireable<boolean>;
17
- children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
18
- };
19
11
  static defaultProps: {
20
12
  options: {};
21
13
  };