@jetbrains/ring-ui-built 7.0.0-beta.1 → 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 (349) 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/theme.js +61 -51
  16. package/components/_helpers/title.js +59 -84
  17. package/components/alert/alert.d.ts +7 -24
  18. package/components/alert/alert.js +111 -179
  19. package/components/alert/container.d.ts +0 -5
  20. package/components/alert/container.js +32 -44
  21. package/components/alert-service/alert-service.js +104 -162
  22. package/components/analytics/analytics.js +12 -20
  23. package/components/analytics/analytics__custom-plugin.js +52 -68
  24. package/components/auth/auth.js +2 -31
  25. package/components/auth/auth__core.d.ts +4 -4
  26. package/components/auth/auth__core.js +755 -1433
  27. package/components/auth/background-flow.js +84 -121
  28. package/components/auth/down-notification.js +32 -79
  29. package/components/auth/iframe-flow.js +71 -125
  30. package/components/auth/request-builder.js +46 -77
  31. package/components/auth/response-parser.js +84 -112
  32. package/components/auth/storage.js +162 -324
  33. package/components/auth/token-validator.js +132 -227
  34. package/components/auth/window-flow.js +84 -121
  35. package/components/auth-dialog/auth-dialog.d.ts +0 -18
  36. package/components/auth-dialog/auth-dialog.js +107 -176
  37. package/components/auth-dialog-service/auth-dialog-service.js +12 -33
  38. package/components/avatar/avatar-example-datauri.js +1 -1
  39. package/components/avatar/avatar.d.ts +0 -13
  40. package/components/avatar/avatar.js +94 -136
  41. package/components/avatar/fallback-avatar.d.ts +1 -10
  42. package/components/avatar/fallback-avatar.js +20 -40
  43. package/components/badge/badge.d.ts +0 -10
  44. package/components/badge/badge.js +32 -48
  45. package/components/breadcrumbs/breadcrumbs.js +13 -17
  46. package/components/button/button.d.ts +0 -21
  47. package/components/button/button.js +68 -104
  48. package/components/button/button__classes.d.ts +1 -1
  49. package/components/button-group/button-group.d.ts +0 -5
  50. package/components/button-group/button-group.js +27 -41
  51. package/components/button-group/caption.d.ts +0 -4
  52. package/components/button-group/caption.js +0 -1
  53. package/components/button-set/button-set.d.ts +0 -6
  54. package/components/button-set/button-set.js +19 -33
  55. package/components/button-toolbar/button-toolbar.d.ts +0 -6
  56. package/components/button-toolbar/button-toolbar.js +17 -31
  57. package/components/caret/caret.js +184 -211
  58. package/components/checkbox/checkbox.d.ts +0 -19
  59. package/components/checkbox/checkbox.js +69 -104
  60. package/components/clipboard/clipboard-fallback.js +7 -7
  61. package/components/clipboard/clipboard.js +36 -129
  62. package/components/code/code.d.ts +0 -12
  63. package/components/code/code.js +83 -163
  64. package/components/collapse/collapse-content.js +42 -60
  65. package/components/collapse/collapse-context.js +2 -2
  66. package/components/collapse/collapse-control.js +12 -12
  67. package/components/collapse/collapse.js +12 -17
  68. package/components/collapse/consts.js +4 -4
  69. package/components/collapse/utils.js +1 -3
  70. package/components/confirm/confirm.d.ts +0 -14
  71. package/components/confirm/confirm.js +68 -112
  72. package/components/confirm-service/confirm-service.js +25 -47
  73. package/components/content-layout/content-layout.d.ts +0 -7
  74. package/components/content-layout/content-layout.js +41 -63
  75. package/components/content-layout/sidebar.d.ts +0 -9
  76. package/components/content-layout/sidebar.js +1 -2
  77. package/components/contenteditable/contenteditable.d.ts +1 -22
  78. package/components/contenteditable/contenteditable.js +37 -60
  79. package/components/control-help/control-help.js +5 -3
  80. package/components/control-label/control-label.js +9 -14
  81. package/components/data-list/data-list.d.ts +0 -2
  82. package/components/data-list/data-list.js +115 -179
  83. package/components/data-list/data-list.mock.js +3 -6
  84. package/components/data-list/item.js +119 -165
  85. package/components/data-list/selection.js +77 -135
  86. package/components/data-list/title.d.ts +2 -2
  87. package/components/data-list/title.js +2 -12
  88. package/components/date-picker/consts.d.ts +0 -2
  89. package/components/date-picker/consts.js +16 -24
  90. package/components/date-picker/date-input.d.ts +0 -20
  91. package/components/date-picker/date-input.js +100 -148
  92. package/components/date-picker/date-picker.d.ts +0 -29
  93. package/components/date-picker/date-picker.js +143 -224
  94. package/components/date-picker/date-popup.d.ts +0 -22
  95. package/components/date-picker/date-popup.js +282 -352
  96. package/components/date-picker/day.d.ts +0 -14
  97. package/components/date-picker/day.js +72 -109
  98. package/components/date-picker/month-names.d.ts +1 -11
  99. package/components/date-picker/month-names.js +42 -72
  100. package/components/date-picker/month-slider.d.ts +0 -9
  101. package/components/date-picker/month-slider.js +43 -71
  102. package/components/date-picker/month.d.ts +1 -9
  103. package/components/date-picker/month.js +18 -30
  104. package/components/date-picker/months.d.ts +1 -9
  105. package/components/date-picker/months.js +45 -55
  106. package/components/date-picker/weekdays.d.ts +2 -8
  107. package/components/date-picker/weekdays.js +12 -25
  108. package/components/date-picker/years.d.ts +0 -6
  109. package/components/date-picker/years.js +77 -104
  110. package/components/dialog/dialog.d.ts +0 -20
  111. package/components/dialog/dialog.js +153 -211
  112. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  113. package/components/dropdown/anchor.d.ts +1 -8
  114. package/components/dropdown/anchor.js +0 -7
  115. package/components/dropdown/dropdown.d.ts +4 -22
  116. package/components/dropdown/dropdown.js +134 -176
  117. package/components/dropdown-menu/dropdown-menu.js +51 -103
  118. package/components/editable-heading/editable-heading.js +69 -118
  119. package/components/error-bubble/error-bubble.d.ts +0 -6
  120. package/components/error-bubble/error-bubble.js +30 -60
  121. package/components/error-message/error-message.d.ts +0 -10
  122. package/components/error-message/error-message.js +34 -59
  123. package/components/footer/footer.js +28 -44
  124. package/components/form/form.js +1 -1
  125. package/components/global/compose.js +1 -8
  126. package/components/global/composeRefs.d.ts +0 -3
  127. package/components/global/composeRefs.js +8 -15
  128. package/components/global/controls-height.js +2 -2
  129. package/components/global/create-stateful-context.d.ts +0 -4
  130. package/components/global/create-stateful-context.js +14 -17
  131. package/components/global/data-tests.js +7 -12
  132. package/components/global/dom.js +49 -82
  133. package/components/global/focus-sensor-hoc.js +95 -122
  134. package/components/global/fuzzy-highlight.js +23 -34
  135. package/components/global/get-event-key.js +8 -8
  136. package/components/global/get-uid.js +3 -7
  137. package/components/global/inject-styles.js +7 -14
  138. package/components/global/listeners.js +28 -47
  139. package/components/global/memoize.js +6 -10
  140. package/components/global/normalize-indent.js +19 -46
  141. package/components/global/promise-with-timeout.js +6 -8
  142. package/components/global/react-dom-renderer.d.ts +0 -5
  143. package/components/global/react-dom-renderer.js +29 -45
  144. package/components/global/rerender-hoc.d.ts +2 -2
  145. package/components/global/rerender-hoc.js +16 -32
  146. package/components/global/schedule-raf.js +4 -4
  147. package/components/global/sniffer.js +1 -1
  148. package/components/global/theme.d.ts +8 -2
  149. package/components/global/theme.js +2 -20
  150. package/components/global/trivial-template-tag.js +4 -9
  151. package/components/global/typescript-utils.js +2 -6
  152. package/components/global/url.js +20 -23
  153. package/components/global/use-event-callback.js +7 -4
  154. package/components/grid/col.d.ts +0 -14
  155. package/components/grid/col.js +27 -53
  156. package/components/grid/grid.d.ts +0 -5
  157. package/components/grid/grid.js +20 -32
  158. package/components/grid/row.d.ts +0 -18
  159. package/components/grid/row.js +23 -47
  160. package/components/group/group.d.ts +0 -5
  161. package/components/group/group.js +18 -27
  162. package/components/header/header-icon.d.ts +0 -22
  163. package/components/header/header-icon.js +20 -37
  164. package/components/header/header.d.ts +0 -7
  165. package/components/header/header.js +30 -74
  166. package/components/header/links.d.ts +2 -0
  167. package/components/header/links.js +20 -0
  168. package/components/header/logo.d.ts +0 -4
  169. package/components/header/logo.js +15 -30
  170. package/components/header/profile.d.ts +1 -39
  171. package/components/header/profile.js +126 -191
  172. package/components/header/services-link.d.ts +0 -10
  173. package/components/header/services-link.js +1 -4
  174. package/components/header/services.d.ts +0 -14
  175. package/components/header/services.js +65 -110
  176. package/components/header/smart-profile.d.ts +0 -9
  177. package/components/header/smart-profile.js +116 -205
  178. package/components/header/smart-services.d.ts +0 -4
  179. package/components/header/smart-services.js +72 -141
  180. package/components/header/tray.d.ts +0 -5
  181. package/components/header/tray.js +21 -35
  182. package/components/heading/heading.js +21 -26
  183. package/components/http/http.js +162 -319
  184. package/components/http/http.mock.js +50 -98
  185. package/components/hub-source/hub-source.js +77 -182
  186. package/components/hub-source/hub-source__user.js +9 -37
  187. package/components/hub-source/hub-source__users-groups.js +34 -60
  188. package/components/i18n/i18n-context.js +7 -8
  189. package/components/i18n/i18n.js +3 -6
  190. package/components/icon/icon.d.ts +0 -11
  191. package/components/icon/icon.js +60 -85
  192. package/components/icon/icon__svg.d.ts +0 -8
  193. package/components/icon/icon__svg.js +0 -6
  194. package/components/icon/index.js +0 -6
  195. package/components/input/input-legacy.js +1 -1
  196. package/components/input/input.js +2 -14
  197. package/components/input-size/input-size.js +1 -1
  198. package/components/island/adaptive-island-hoc.d.ts +0 -1
  199. package/components/island/adaptive-island-hoc.js +30 -39
  200. package/components/island/content.d.ts +0 -10
  201. package/components/island/content.js +99 -119
  202. package/components/island/header.js +55 -73
  203. package/components/island/island.d.ts +0 -9
  204. package/components/island/island.js +25 -41
  205. package/components/island-legacy/content-legacy.d.ts +0 -5
  206. package/components/island-legacy/content-legacy.js +16 -27
  207. package/components/island-legacy/header-legacy.d.ts +0 -5
  208. package/components/island-legacy/header-legacy.js +19 -30
  209. package/components/island-legacy/island-legacy.d.ts +0 -5
  210. package/components/island-legacy/island-legacy.js +16 -27
  211. package/components/link/clickableLink.d.ts +0 -9
  212. package/components/link/clickableLink.js +33 -51
  213. package/components/link/link.d.ts +0 -25
  214. package/components/link/link.js +47 -68
  215. package/components/list/consts.js +2 -2
  216. package/components/list/list.d.ts +0 -32
  217. package/components/list/list.js +399 -516
  218. package/components/list/list__custom.js +51 -78
  219. package/components/list/list__hint.d.ts +0 -4
  220. package/components/list/list__hint.js +8 -21
  221. package/components/list/list__item.js +147 -211
  222. package/components/list/list__link.js +39 -59
  223. package/components/list/list__separator.js +15 -30
  224. package/components/list/list__title.js +25 -41
  225. package/components/list/list__users-groups-source.js +55 -123
  226. package/components/loader/loader.d.ts +0 -10
  227. package/components/loader/loader.js +38 -70
  228. package/components/loader/loader__core.js +123 -184
  229. package/components/loader-inline/loader-inline.d.ts +0 -6
  230. package/components/loader-inline/loader-inline.js +24 -38
  231. package/components/loader-screen/loader-screen.d.ts +0 -6
  232. package/components/loader-screen/loader-screen.js +24 -46
  233. package/components/login-dialog/login-dialog.d.ts +0 -11
  234. package/components/login-dialog/login-dialog.js +94 -145
  235. package/components/login-dialog/service.js +11 -33
  236. package/components/markdown/markdown.js +16 -29
  237. package/components/message/message.js +171 -218
  238. package/components/old-browsers-message/old-browsers-message.js +11 -14
  239. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  240. package/components/old-browsers-message/white-list.js +8 -13
  241. package/components/pager/pager.js +211 -275
  242. package/components/panel/panel.d.ts +0 -5
  243. package/components/panel/panel.js +16 -27
  244. package/components/permissions/permissions.js +118 -161
  245. package/components/permissions/permissions__cache.js +191 -218
  246. package/components/popup/popup.consts.js +1 -1
  247. package/components/popup/popup.js +237 -329
  248. package/components/popup/popup.target.js +9 -12
  249. package/components/popup/position.js +94 -101
  250. package/components/popup-menu/popup-menu.js +31 -76
  251. package/components/progress-bar/progress-bar.d.ts +19 -33
  252. package/components/progress-bar/progress-bar.js +55 -99
  253. package/components/query-assist/query-assist.d.ts +63 -93
  254. package/components/query-assist/query-assist.js +585 -748
  255. package/components/query-assist/query-assist__suggestions.js +2 -28
  256. package/components/radio/radio.d.ts +0 -8
  257. package/components/radio/radio.js +15 -35
  258. package/components/radio/radio__item.d.ts +0 -9
  259. package/components/radio/radio__item.js +52 -72
  260. package/components/scrollable-section/scrollable-section.js +53 -0
  261. package/components/select/select.d.ts +3 -0
  262. package/components/select/select.js +714 -863
  263. package/components/select/select__filter.js +2 -29
  264. package/components/select/select__popup.js +317 -465
  265. package/components/shortcuts/core.js +147 -195
  266. package/components/shortcuts/shortcut-title.js +6 -10
  267. package/components/shortcuts/shortcuts-hoc.d.ts +0 -5
  268. package/components/shortcuts/shortcuts-hoc.js +23 -46
  269. package/components/shortcuts/shortcuts.d.ts +0 -8
  270. package/components/shortcuts/shortcuts.js +41 -72
  271. package/components/slider/slider.js +93 -113
  272. package/components/slider/slider.utils.js +16 -23
  273. package/components/storage/storage.d.ts +2 -3
  274. package/components/storage/storage.js +2 -46
  275. package/components/storage/storage__local.js +89 -148
  276. package/components/style.css +1 -1
  277. package/components/tab-trap/tab-trap.js +35 -61
  278. package/components/table/cell.d.ts +0 -6
  279. package/components/table/cell.js +11 -27
  280. package/components/table/disable-hover-hoc.d.ts +0 -1
  281. package/components/table/disable-hover-hoc.js +27 -42
  282. package/components/table/header-cell.d.ts +0 -10
  283. package/components/table/header-cell.js +59 -85
  284. package/components/table/header.d.ts +1 -23
  285. package/components/table/header.js +89 -126
  286. package/components/table/multitable.d.ts +0 -4
  287. package/components/table/multitable.js +83 -93
  288. package/components/table/row-with-focus-sensor.d.ts +2 -2
  289. package/components/table/row-with-focus-sensor.js +26 -60
  290. package/components/table/row.js +170 -235
  291. package/components/table/selection-adapter.js +2 -2
  292. package/components/table/selection-shortcuts-hoc.js +102 -126
  293. package/components/table/selection.js +150 -217
  294. package/components/table/simple-table.d.ts +0 -44
  295. package/components/table/simple-table.js +18 -59
  296. package/components/table/smart-table.d.ts +0 -48
  297. package/components/table/smart-table.js +41 -83
  298. package/components/table/table.d.ts +0 -2
  299. package/components/table/table.js +269 -377
  300. package/components/tabs/collapsible-more.d.ts +1 -9
  301. package/components/tabs/collapsible-more.js +47 -97
  302. package/components/tabs/collapsible-tab.js +32 -44
  303. package/components/tabs/collapsible-tabs.d.ts +2 -29
  304. package/components/tabs/collapsible-tabs.js +89 -161
  305. package/components/tabs/custom-item.d.ts +1 -7
  306. package/components/tabs/custom-item.js +4 -7
  307. package/components/tabs/dumb-tabs.d.ts +0 -11
  308. package/components/tabs/dumb-tabs.js +60 -104
  309. package/components/tabs/smart-tabs.d.ts +0 -6
  310. package/components/tabs/smart-tabs.js +29 -68
  311. package/components/tabs/tab-link.d.ts +0 -8
  312. package/components/tabs/tab-link.js +1 -4
  313. package/components/tabs/tab.d.ts +0 -8
  314. package/components/tabs/tab.js +14 -32
  315. package/components/tabs/tabs.js +1 -28
  316. package/components/tag/tag.d.ts +0 -19
  317. package/components/tag/tag.js +120 -179
  318. package/components/tags-input/tags-input.d.ts +7 -33
  319. package/components/tags-input/tags-input.js +224 -339
  320. package/components/tags-list/tags-list.d.ts +0 -13
  321. package/components/tags-list/tags-list.js +45 -74
  322. package/components/text/text.d.ts +0 -7
  323. package/components/text/text.js +27 -43
  324. package/components/toggle/toggle.d.ts +0 -15
  325. package/components/toggle/toggle.js +52 -77
  326. package/components/tooltip/tooltip.d.ts +4 -10
  327. package/components/tooltip/tooltip.js +105 -137
  328. package/components/user-agreement/service.d.ts +2 -1
  329. package/components/user-agreement/service.js +260 -405
  330. package/components/user-agreement/user-agreement.d.ts +0 -18
  331. package/components/user-agreement/user-agreement.js +92 -138
  332. package/components/user-card/card.d.ts +0 -35
  333. package/components/user-card/card.js +2 -27
  334. package/components/user-card/smart-user-card-tooltip.d.ts +0 -5
  335. package/components/user-card/smart-user-card-tooltip.js +52 -108
  336. package/components/user-card/tooltip.d.ts +0 -9
  337. package/components/user-card/tooltip.js +35 -74
  338. package/components/user-card/user-card.js +1 -26
  339. package/package.json +4 -6
  340. package/components/global/prop-types.d.ts +0 -4
  341. package/components/global/prop-types.js +0 -9
  342. package/components/global/react-render-adapter.d.ts +0 -1
  343. package/components/global/react-render-adapter.js +0 -6
  344. package/components/header/scrollable-section.js +0 -47
  345. package/components/header/tray-icon.d.ts +0 -1
  346. package/components/header/tray-icon.js +0 -26
  347. package/components/storage/storage__fallback.d.ts +0 -79
  348. package/components/storage/storage__fallback.js +0 -253
  349. /package/components/{header → scrollable-section}/scrollable-section.d.ts +0 -0
@@ -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;
@@ -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
  };