@jetbrains/ring-ui 5.0.156 → 5.0.158

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 (304) hide show
  1. package/components/control-label/control-label.css +1 -1
  2. package/components/control-label/control-label.d.ts +1 -1
  3. package/components/control-label/control-label.js +2 -2
  4. package/components/select/select__popup.d.ts +36 -0
  5. package/components/select/select__popup.js +7 -1
  6. package/dist/_helpers/_rollupPluginBabelHelpers.js +642 -1
  7. package/dist/_helpers/anchor.js +6 -7
  8. package/dist/_helpers/button__classes.js +16 -28
  9. package/dist/_helpers/card.js +107 -95
  10. package/dist/_helpers/control-label.js +1 -1
  11. package/dist/_helpers/dialog__body-scroll-preventer.js +20 -11
  12. package/dist/_helpers/footer.js +29 -34
  13. package/dist/_helpers/query-assist__suggestions.js +91 -74
  14. package/dist/_helpers/select__filter.js +71 -48
  15. package/dist/_helpers/services-link.js +41 -29
  16. package/dist/_helpers/sidebar.js +103 -99
  17. package/dist/_helpers/theme.js +42 -35
  18. package/dist/_helpers/title.js +71 -57
  19. package/dist/alert/alert.js +199 -158
  20. package/dist/alert/container.js +43 -32
  21. package/dist/alert-service/alert-service.js +172 -104
  22. package/dist/analytics/analytics.js +92 -68
  23. package/dist/analytics/analytics__custom-plugin.js +84 -60
  24. package/dist/analytics/analytics__fus-plugin.js +28 -15
  25. package/dist/analytics/analytics__ga-plugin.js +60 -43
  26. package/dist/analytics/analytics__plugin-utils.js +28 -22
  27. package/dist/auth/auth.js +36 -4
  28. package/dist/auth/auth__core.js +1458 -732
  29. package/dist/auth/background-flow.js +129 -87
  30. package/dist/auth/down-notification.js +75 -30
  31. package/dist/auth/iframe-flow.js +136 -75
  32. package/dist/auth/landing.js +90 -30
  33. package/dist/auth/request-builder.js +82 -46
  34. package/dist/auth/response-parser.js +119 -86
  35. package/dist/auth/storage.js +333 -171
  36. package/dist/auth/token-validator.js +244 -137
  37. package/dist/auth/window-flow.js +136 -92
  38. package/dist/auth-dialog/auth-dialog.js +176 -114
  39. package/dist/auth-dialog-service/auth-dialog-service.js +32 -7
  40. package/dist/auth-ng/auth-ng.js +70 -34
  41. package/dist/auth-ng/auth-ng.mock.js +6 -6
  42. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  43. package/dist/avatar/avatar-example-datauri.js +1 -23
  44. package/dist/avatar/avatar.js +155 -119
  45. package/dist/avatar/fallback-avatar.js +41 -22
  46. package/dist/avatar-editor-ng/avatar-editor-ng.js +56 -23
  47. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  48. package/dist/avatar-ng/avatar-ng.js +23 -1
  49. package/dist/badge/badge.js +43 -35
  50. package/dist/badge-ng/badge-ng.js +13 -1
  51. package/dist/breadcrumb-ng/breadcrumb-ng.js +15 -29
  52. package/dist/button/button.js +111 -87
  53. package/dist/button/button__classes.js +1 -0
  54. package/dist/button-group/button-group.js +35 -19
  55. package/dist/button-group/caption.js +22 -14
  56. package/dist/button-group-ng/button-group-ng.js +13 -7
  57. package/dist/button-ng/button-ng.js +154 -133
  58. package/dist/button-set/button-set.js +34 -20
  59. package/dist/button-set-ng/button-set-ng.js +2 -2
  60. package/dist/button-toolbar/button-toolbar.js +33 -19
  61. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  62. package/dist/caret/caret.js +225 -188
  63. package/dist/checkbox/checkbox.js +104 -76
  64. package/dist/checkbox-ng/checkbox-ng.js +18 -27
  65. package/dist/clipboard/clipboard-fallback.js +10 -10
  66. package/dist/clipboard/clipboard.js +131 -34
  67. package/dist/code/code.js +168 -92
  68. package/dist/compiler-ng/compiler-ng.js +18 -15
  69. package/dist/confirm/confirm.js +108 -66
  70. package/dist/confirm-ng/confirm-ng.js +33 -4
  71. package/dist/confirm-service/confirm-service.js +66 -42
  72. package/dist/content-layout/content-layout.js +64 -43
  73. package/dist/content-layout/sidebar.js +1 -0
  74. package/dist/contenteditable/contenteditable.js +61 -50
  75. package/dist/control-label/control-label.d.ts +1 -1
  76. package/dist/control-label/control-label.js +12 -16
  77. package/dist/data-list/data-list.js +184 -128
  78. package/dist/data-list/data-list.mock.js +11 -2
  79. package/dist/data-list/item.js +174 -143
  80. package/dist/data-list/selection.js +139 -76
  81. package/dist/data-list/title.js +13 -1
  82. package/dist/data-list-ng/data-list-ng.js +31 -1
  83. package/dist/date-picker/consts.js +18 -15
  84. package/dist/date-picker/date-input.js +147 -115
  85. package/dist/date-picker/date-picker.js +285 -228
  86. package/dist/date-picker/date-popup.js +397 -356
  87. package/dist/date-picker/day.js +98 -84
  88. package/dist/date-picker/month-names.js +64 -43
  89. package/dist/date-picker/month-slider.js +74 -51
  90. package/dist/date-picker/month.js +21 -15
  91. package/dist/date-picker/months.js +48 -43
  92. package/dist/date-picker/weekdays.js +18 -12
  93. package/dist/date-picker/years.js +109 -84
  94. package/dist/dialog/dialog.js +189 -141
  95. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  96. package/dist/dialog-ng/dialog-ng.js +401 -287
  97. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  98. package/dist/docked-panel-ng/docked-panel-ng.js +33 -18
  99. package/dist/dropdown/anchor.js +10 -0
  100. package/dist/dropdown/dropdown.js +214 -182
  101. package/dist/dropdown-menu/dropdown-menu.js +102 -72
  102. package/dist/editable-heading/editable-heading.js +100 -58
  103. package/dist/error-bubble/error-bubble.js +64 -31
  104. package/dist/error-message/error-message.js +61 -38
  105. package/dist/error-message-ng/error-message-ng.js +11 -22
  106. package/dist/footer/footer.js +11 -1
  107. package/dist/footer-ng/footer-ng.js +64 -36
  108. package/dist/form-ng/form-ng.js +66 -56
  109. package/dist/global/angular-component-factory.js +76 -53
  110. package/dist/global/compose.js +10 -1
  111. package/dist/global/composeRefs.js +12 -7
  112. package/dist/global/controls-height.js +2 -2
  113. package/dist/global/create-stateful-context.js +19 -19
  114. package/dist/global/data-tests.js +15 -7
  115. package/dist/global/dom.js +95 -53
  116. package/dist/global/focus-sensor-hoc.js +134 -122
  117. package/dist/global/fuzzy-highlight.js +41 -27
  118. package/dist/global/get-event-key.js +8 -8
  119. package/dist/global/get-uid.js +8 -4
  120. package/dist/global/inject-styles.js +15 -10
  121. package/dist/global/linear-function.js +2 -2
  122. package/dist/global/listeners.js +53 -27
  123. package/dist/global/memoize.js +13 -6
  124. package/dist/global/normalize-indent.js +51 -19
  125. package/dist/global/promise-with-timeout.js +8 -6
  126. package/dist/global/prop-types.js +5 -3
  127. package/dist/global/react-dom-renderer.js +47 -28
  128. package/dist/global/react-render-adapter.js +19 -13
  129. package/dist/global/rerender-hoc.js +41 -16
  130. package/dist/global/ring-angular-component.js +20 -10
  131. package/dist/global/schedule-raf.js +6 -5
  132. package/dist/global/sniffer.js +1 -1
  133. package/dist/global/theme.js +24 -0
  134. package/dist/global/trivial-template-tag.js +10 -3
  135. package/dist/global/typescript-utils.js +6 -2
  136. package/dist/global/url.js +27 -21
  137. package/dist/global/use-event-callback.js +4 -6
  138. package/dist/grid/col.js +55 -35
  139. package/dist/grid/grid.js +36 -17
  140. package/dist/grid/row.js +48 -35
  141. package/dist/group/group.js +27 -17
  142. package/dist/group-ng/group-ng.js +2 -2
  143. package/dist/header/header.js +80 -33
  144. package/dist/header/logo.js +39 -20
  145. package/dist/header/profile.js +188 -150
  146. package/dist/header/services-link.js +9 -0
  147. package/dist/header/services.js +118 -73
  148. package/dist/header/smart-profile.js +207 -111
  149. package/dist/header/smart-services.js +115 -62
  150. package/dist/header/tray-icon.js +38 -21
  151. package/dist/header/tray.js +34 -21
  152. package/dist/heading/heading.js +25 -26
  153. package/dist/heading-ng/heading-ng.js +11 -1
  154. package/dist/http/http.js +368 -215
  155. package/dist/http/http.mock.js +104 -49
  156. package/dist/hub-source/hub-source.js +191 -83
  157. package/dist/hub-source/hub-source__user.js +45 -11
  158. package/dist/hub-source/hub-source__users-groups.js +67 -37
  159. package/dist/i18n/i18n-context.js +14 -10
  160. package/dist/i18n/i18n.js +11 -7
  161. package/dist/icon/icon.js +94 -76
  162. package/dist/icon/icon__svg.js +31 -24
  163. package/dist/icon/index.js +9 -0
  164. package/dist/icon-ng/icon-ng.js +27 -15
  165. package/dist/input/input.js +184 -145
  166. package/dist/input-ng/input-ng.js +96 -118
  167. package/dist/island/adaptive-island-hoc.js +45 -30
  168. package/dist/island/content.js +130 -115
  169. package/dist/island/header.js +69 -56
  170. package/dist/island/island.js +40 -28
  171. package/dist/island-legacy/content-legacy.js +27 -17
  172. package/dist/island-legacy/header-legacy.js +29 -19
  173. package/dist/island-legacy/island-legacy.js +27 -17
  174. package/dist/island-ng/island-content-ng.js +17 -26
  175. package/dist/island-ng/island-header-ng.js +9 -12
  176. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  177. package/dist/island-ng/island-ng.js +6 -10
  178. package/dist/link/clickableLink.js +61 -44
  179. package/dist/link/link.js +85 -74
  180. package/dist/link-ng/link-ng.js +3 -5
  181. package/dist/list/consts.js +1 -1
  182. package/dist/list/list.js +696 -602
  183. package/dist/list/list__custom.js +61 -44
  184. package/dist/list/list__hint.js +21 -10
  185. package/dist/list/list__item.js +167 -129
  186. package/dist/list/list__link.js +54 -37
  187. package/dist/list/list__separator.js +24 -14
  188. package/dist/list/list__title.js +32 -22
  189. package/dist/list/list__users-groups-source.js +131 -54
  190. package/dist/loader/loader.js +78 -43
  191. package/dist/loader/loader__core.js +257 -189
  192. package/dist/loader-inline/loader-inline.js +37 -23
  193. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  194. package/dist/loader-ng/loader-ng.js +46 -19
  195. package/dist/loader-screen/loader-screen.js +48 -25
  196. package/dist/loader-screen-ng/loader-screen-ng.js +46 -30
  197. package/dist/login-dialog/login-dialog.js +162 -111
  198. package/dist/login-dialog/service.js +35 -7
  199. package/dist/markdown/code.js +31 -9
  200. package/dist/markdown/heading.js +3 -5
  201. package/dist/markdown/link.js +13 -6
  202. package/dist/markdown/markdown.js +66 -33
  203. package/dist/message/message.js +157 -125
  204. package/dist/message-bundle-ng/message-bundle-ng.js +128 -44
  205. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  206. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  207. package/dist/old-browsers-message/white-list.js +16 -9
  208. package/dist/pager/pager.js +275 -210
  209. package/dist/pager-ng/pager-ng.js +36 -1
  210. package/dist/panel/panel.js +27 -17
  211. package/dist/panel-ng/panel-ng.js +14 -1
  212. package/dist/permissions/permissions.js +173 -127
  213. package/dist/permissions/permissions__cache.js +225 -194
  214. package/dist/permissions-ng/permissions-ng.js +86 -35
  215. package/dist/place-under-ng/place-under-ng.js +68 -45
  216. package/dist/popup/popup.consts.js +1 -1
  217. package/dist/popup/popup.js +342 -280
  218. package/dist/popup/popup.target.js +8 -9
  219. package/dist/popup/position.js +153 -153
  220. package/dist/popup-menu/popup-menu.js +86 -44
  221. package/dist/progress-bar/progress-bar.js +97 -80
  222. package/dist/progress-bar-ng/progress-bar-ng.js +11 -1
  223. package/dist/promised-click-ng/promised-click-ng.js +92 -58
  224. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  225. package/dist/query-assist/query-assist.js +903 -832
  226. package/dist/query-assist/query-assist__suggestions.js +33 -1
  227. package/dist/query-assist-ng/query-assist-ng.js +38 -1
  228. package/dist/radio/radio.js +36 -19
  229. package/dist/radio/radio__item.js +71 -52
  230. package/dist/radio-ng/radio-ng.js +14 -25
  231. package/dist/save-field-ng/save-field-ng.js +86 -52
  232. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  233. package/dist/select/select.js +937 -835
  234. package/dist/select/select__filter.js +33 -0
  235. package/dist/select/select__popup.d.ts +36 -0
  236. package/dist/select/select__popup.js +480 -358
  237. package/dist/select-ng/select-ng.js +125 -74
  238. package/dist/select-ng/select-ng__lazy.js +101 -50
  239. package/dist/select-ng/select-ng__options.js +107 -81
  240. package/dist/shortcuts/core.js +218 -166
  241. package/dist/shortcuts/shortcut-title.js +11 -6
  242. package/dist/shortcuts/shortcuts-hoc.js +47 -19
  243. package/dist/shortcuts/shortcuts.js +77 -50
  244. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +104 -53
  245. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  246. package/dist/shortcuts-ng/shortcuts-ng.js +86 -51
  247. package/dist/sidebar-ng/sidebar-ng.js +53 -22
  248. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  249. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  250. package/dist/storage/storage.js +35 -4
  251. package/dist/storage/storage__fallback.js +224 -149
  252. package/dist/storage/storage__local.js +156 -90
  253. package/dist/style.css +1 -1
  254. package/dist/tab-trap/tab-trap.js +157 -122
  255. package/dist/table/cell.js +28 -14
  256. package/dist/table/disable-hover-hoc.js +53 -33
  257. package/dist/table/header-cell.js +87 -64
  258. package/dist/table/header.js +126 -98
  259. package/dist/table/multitable.js +127 -107
  260. package/dist/table/row-with-focus-sensor.js +73 -25
  261. package/dist/table/row.js +208 -170
  262. package/dist/table/selection-adapter.js +3 -1
  263. package/dist/table/selection-shortcuts-hoc.js +184 -181
  264. package/dist/table/selection.js +228 -156
  265. package/dist/table/smart-table.js +93 -51
  266. package/dist/table/table.js +348 -281
  267. package/dist/table-legacy-ng/table-legacy-ng.js +117 -102
  268. package/dist/table-legacy-ng/table-legacy-ng__pager.js +42 -10
  269. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  270. package/dist/table-legacy-ng/table-legacy-ng__selection.js +169 -119
  271. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +36 -21
  272. package/dist/table-ng/smart-table-ng.js +31 -1
  273. package/dist/table-ng/table-ng.js +31 -1
  274. package/dist/tabs/collapsible-more.js +87 -50
  275. package/dist/tabs/collapsible-tab.js +45 -38
  276. package/dist/tabs/collapsible-tabs.js +161 -94
  277. package/dist/tabs/custom-item.js +2 -4
  278. package/dist/tabs/dumb-tabs.js +122 -75
  279. package/dist/tabs/smart-tabs.js +75 -29
  280. package/dist/tabs/tab-link.js +29 -19
  281. package/dist/tabs/tab.js +33 -19
  282. package/dist/tabs/tabs.js +35 -0
  283. package/dist/tabs-ng/tabs-ng.js +38 -24
  284. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  285. package/dist/tag/tag.js +170 -133
  286. package/dist/tags-input/tags-input.js +428 -327
  287. package/dist/tags-input-ng/tags-input-ng.js +37 -1
  288. package/dist/tags-list/tags-list.js +80 -56
  289. package/dist/template-ng/template-ng.js +50 -39
  290. package/dist/text/text.js +38 -28
  291. package/dist/title-ng/title-ng.js +28 -23
  292. package/dist/toggle/toggle.js +72 -56
  293. package/dist/toggle-ng/toggle-ng.js +14 -1
  294. package/dist/tooltip/tooltip.js +192 -146
  295. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  296. package/dist/user-agreement/service.js +374 -227
  297. package/dist/user-agreement/toolbox.eula.js +1 -160
  298. package/dist/user-agreement/user-agreement.js +128 -86
  299. package/dist/user-card/card.js +32 -0
  300. package/dist/user-card/smart-user-card-tooltip.js +116 -51
  301. package/dist/user-card/tooltip.js +90 -48
  302. package/dist/user-card/user-card.js +32 -0
  303. package/dist/user-card-ng/user-card-ng.js +34 -2
  304. package/package.json +8 -8
@@ -1,9 +1,28 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _createClass, i as _extends, b as _classCallCheck, c as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.object.assign.js';
2
3
  import angular from 'angular';
3
4
  import React, { cloneElement } from 'react';
4
5
  import { render, hydrate } from '../global/react-render-adapter.js';
5
6
  import { RerenderableSelect } from '../select/select.js';
7
+ import 'core-js/modules/es.array.iterator.js';
8
+ import 'core-js/modules/es.object.to-string.js';
9
+ import 'core-js/modules/es.string.iterator.js';
10
+ import 'core-js/modules/es.weak-map.js';
11
+ import 'core-js/modules/web.dom-collections.iterator.js';
6
12
  import 'react-dom';
13
+ import 'core-js/modules/es.array.index-of.js';
14
+ import 'core-js/modules/es.array.reduce.js';
15
+ import 'core-js/modules/es.string.trim.js';
16
+ import 'core-js/modules/es.array.filter.js';
17
+ import 'core-js/modules/es.regexp.exec.js';
18
+ import 'core-js/modules/es.array.find.js';
19
+ import 'core-js/modules/es.array.concat.js';
20
+ import 'core-js/modules/es.string.replace.js';
21
+ import 'core-js/modules/es.array.map.js';
22
+ import 'core-js/modules/web.dom-collections.for-each.js';
23
+ import 'core-js/modules/es.array.slice.js';
24
+ import 'core-js/modules/es.object.keys.js';
25
+ import 'core-js/modules/es.object.values.js';
7
26
  import 'classnames';
8
27
  import 'prop-types';
9
28
  import '@jetbrains/icons/chevron-down';
@@ -11,6 +30,7 @@ import '@jetbrains/icons/close-12px';
11
30
  import 'deep-equal';
12
31
  import '../dropdown/dropdown.js';
13
32
  import '../global/data-tests.js';
33
+ import 'core-js/modules/es.object.entries.js';
14
34
  import '../global/typescript-utils.js';
15
35
  import '../_helpers/anchor.js';
16
36
  import '@jetbrains/icons/chevron-10px';
@@ -19,28 +39,43 @@ import 'util-deprecate';
19
39
  import '../icon/icon__constants.js';
20
40
  import '../_helpers/icon.js';
21
41
  import '../icon/icon__svg.js';
42
+ import 'core-js/modules/es.string.starts-with.js';
22
43
  import '../global/memoize.js';
44
+ import 'core-js/modules/es.map.js';
23
45
  import '../button/button.js';
24
46
  import '../link/clickableLink.js';
25
47
  import '../global/controls-height.js';
26
48
  import '../_helpers/button__classes.js';
27
49
  import '../avatar/avatar.js';
28
50
  import '../global/url.js';
51
+ import 'core-js/modules/es.string.match.js';
29
52
  import '../global/dom.js';
53
+ import 'core-js/modules/es.string.split.js';
54
+ import 'core-js/modules/es.set.js';
30
55
  import '../avatar/fallback-avatar.js';
56
+ import 'core-js/modules/es.number.constructor.js';
57
+ import 'core-js/modules/es.array.from.js';
31
58
  import '../global/get-uid.js';
59
+ import 'core-js/modules/es.regexp.to-string.js';
32
60
  import '../popup/popup.js';
33
61
  import '../global/schedule-raf.js';
34
62
  import '../shortcuts/shortcuts.js';
35
63
  import '../shortcuts/core.js';
64
+ import 'core-js/modules/es.array.includes.js';
65
+ import 'core-js/modules/es.string.includes.js';
66
+ import 'core-js/modules/es.array.splice.js';
67
+ import 'core-js/modules/es.array.find-index.js';
36
68
  import 'combokeys';
37
69
  import '../global/sniffer.js';
38
70
  import 'sniffr';
39
71
  import '../tab-trap/tab-trap.js';
40
72
  import '../popup/position.js';
73
+ import 'core-js/modules/es.array.sort.js';
41
74
  import '../popup/popup.consts.js';
42
75
  import '../popup/popup.target.js';
43
76
  import '../list/list.js';
77
+ import 'core-js/modules/es.symbol.js';
78
+ import 'core-js/modules/es.symbol.description.js';
44
79
  import 'react-virtualized/dist/es/List';
45
80
  import 'react-virtualized/dist/es/AutoSizer';
46
81
  import 'react-virtualized/dist/es/WindowScroller';
@@ -83,16 +118,21 @@ import '../caret/caret.js';
83
118
  import '../text/text.js';
84
119
  import '../_helpers/select__filter.js';
85
120
 
86
- class SelectLazy {
87
- constructor(container, props, ctrl, type, selectRef) {
121
+ var SelectLazy = /*#__PURE__*/function () {
122
+ function SelectLazy(container, props, ctrl, type, selectRef) {
123
+ var _this = this;
124
+ _classCallCheck(this, SelectLazy);
125
+ _defineProperty(this, "onClick", function () {
126
+ _this._clickHandler();
127
+ });
88
128
  this.container = container;
89
129
  this.ctrl = ctrl;
90
130
  this.props = props || {};
91
131
  this.type = type;
92
132
  this.node = container;
93
133
  this.selectInstance = null;
94
- this.selectRef = node => {
95
- this.selectInstance = node;
134
+ this.selectRef = function (node) {
135
+ _this.selectInstance = node;
96
136
  selectRef(node);
97
137
  };
98
138
  this._popup = {
@@ -101,55 +141,66 @@ class SelectLazy {
101
141
  this.attachEvents();
102
142
  this.render();
103
143
  }
104
- onClick = () => {
105
- this._clickHandler();
106
- };
107
- rerender() {
108
- let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
109
- for (const prop in props) {
110
- if (props.hasOwnProperty(prop)) {
111
- if (props[prop] == this.props[prop]) {
112
- //eslint-disable-line eqeqeq
113
- break;
144
+ _createClass(SelectLazy, [{
145
+ key: "rerender",
146
+ value: function rerender() {
147
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
148
+ for (var prop in props) {
149
+ if (props.hasOwnProperty(prop)) {
150
+ if (props[prop] == this.props[prop]) {
151
+ //eslint-disable-line eqeqeq
152
+ break;
153
+ }
154
+ this.render(props);
155
+ return;
114
156
  }
115
- this.render(props);
116
- return;
117
157
  }
118
158
  }
119
- }
120
- attachEvents() {
121
- this.container.addEventListener('click', this.onClick, {
122
- capture: true
123
- });
124
- }
125
- detachEvents() {
126
- this.container.removeEventListener('click', this.onClick, {
127
- capture: true
128
- });
129
- }
130
- render(props) {
131
- this.reactSelect = /*#__PURE__*/React.createElement(RerenderableSelect, _extends({}, Object.assign({}, this.props, props || {}), {
132
- ref: this.selectRef
133
- }));
134
- this.props = this.reactSelect.props;
135
- if (this.type !== 'dropdown') {
136
- const ReactDOMServer = require('react-dom/server');
137
- this.container.innerHTML = ReactDOMServer.renderToString(this.reactSelect);
159
+ }, {
160
+ key: "attachEvents",
161
+ value: function attachEvents() {
162
+ this.container.addEventListener('click', this.onClick, {
163
+ capture: true
164
+ });
138
165
  }
139
- }
140
- _clickHandler() {
141
- this.detachEvents();
142
- if (this.type === 'dropdown') {
143
- render( /*#__PURE__*/cloneElement(this.reactSelect, {
144
- ref: node => {
145
- this.selectRef(node);
146
- node?._openPopupIfClosed?.();
147
- }
148
- }), this.container);
149
- } else {
150
- hydrate(this.reactSelect, this.container);
166
+ }, {
167
+ key: "detachEvents",
168
+ value: function detachEvents() {
169
+ this.container.removeEventListener('click', this.onClick, {
170
+ capture: true
171
+ });
151
172
  }
152
- }
153
- }
173
+ }, {
174
+ key: "render",
175
+ value: function render(props) {
176
+ this.reactSelect = /*#__PURE__*/React.createElement(RerenderableSelect, _extends({}, Object.assign({}, this.props, props || {}), {
177
+ ref: this.selectRef
178
+ }));
179
+ this.props = this.reactSelect.props;
180
+ if (this.type !== 'dropdown') {
181
+ var ReactDOMServer = require('react-dom/server');
182
+ this.container.innerHTML = ReactDOMServer.renderToString(this.reactSelect);
183
+ }
184
+ }
185
+ }, {
186
+ key: "_clickHandler",
187
+ value: function _clickHandler() {
188
+ var _this2 = this;
189
+ this.detachEvents();
190
+ if (this.type === 'dropdown') {
191
+ render( /*#__PURE__*/cloneElement(this.reactSelect, {
192
+ ref: function ref(node) {
193
+ var _node$_openPopupIfClo;
194
+ _this2.selectRef(node);
195
+ node === null || node === void 0 ? void 0 : (_node$_openPopupIfClo = node._openPopupIfClosed) === null || _node$_openPopupIfClo === void 0 ? void 0 : _node$_openPopupIfClo.call(node);
196
+ }
197
+ }), this.container);
198
+ } else {
199
+ hydrate(this.reactSelect, this.container);
200
+ }
201
+ }
202
+ }]);
203
+ return SelectLazy;
204
+ }();
154
205
 
155
206
  export { SelectLazy as default };
@@ -1,28 +1,21 @@
1
+ import { c as _defineProperty, _ as _createClass, d as _typeof, b as _classCallCheck } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.regexp.exec.js';
3
+ import 'core-js/modules/es.string.match.js';
4
+ import 'core-js/modules/es.array.index-of.js';
5
+ import 'core-js/modules/es.array.filter.js';
6
+ import 'core-js/modules/es.object.to-string.js';
1
7
  import angular from 'angular';
2
8
  import deepEqual from 'deep-equal';
3
9
 
4
- class Options {
5
- static OPTIONS_REGEXP = /^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+select\s+as\s+(.*?))?(?:\s+describe\sas\s+(.*?))?(?:\s+for\s+)?([$\w]+)\s+in\s+(.*?)(?:\s+track\sby\s+(.*?))?$/;
6
- static MATCHES = {
7
- ITEM: 1,
8
- LABEL: 2,
9
- SELECTED_LABEL: 3,
10
- DESCRIPTION: 4,
11
- OPTION: 5,
12
- ITEMS: 6,
13
- TRACK: 7
14
- };
15
- static defaultKeyField = 'key';
16
- static defaultLabelField = 'label';
17
- static defaultSelectedLabelField = 'selectedLabel';
18
- static defaultDescriptionField = 'description';
19
- constructor(scope, optionsString) {
10
+ var Options = /*#__PURE__*/function () {
11
+ function Options(scope, optionsString) {
12
+ _classCallCheck(this, Options);
20
13
  this.scope = scope;
21
- const $parse = this.constructor.$parse;
22
- const MATCHES = this.constructor.MATCHES;
23
- let match;
14
+ var $parse = this.constructor.$parse;
15
+ var MATCHES = this.constructor.MATCHES;
16
+ var match;
24
17
  if (!(match = optionsString.match(this.constructor.OPTIONS_REGEXP))) {
25
- throw new Error('Bad rgSelect expression format. Expected: [{item}] [[as] item.text] [select as item.selectLabel]' + ` [describe as {item.description}] [for] {item} in {items|dataSource(query)} [track by item.id], Received: ${optionsString}`);
18
+ throw new Error('Bad rgSelect expression format. Expected: [{item}] [[as] item.text] [select as item.selectLabel]' + " [describe as {item.description}] [for] {item} in {items|dataSource(query)} [track by item.id], Received: ".concat(optionsString));
26
19
  }
27
20
 
28
21
  /**
@@ -39,76 +32,109 @@ class Options {
39
32
  this.trackByGetter = match[MATCHES.TRACK] && $parse(match[MATCHES.TRACK]);
40
33
  this.datasourceIsFunction = match[MATCHES.ITEMS].indexOf('(') > 0;
41
34
  }
42
- getProperty(option, getter) {
43
- if (getter) {
44
- const locals = {};
45
- locals[this.optionVariableName] = option;
46
- return getter.call(this, this.scope, locals);
35
+ _createClass(Options, [{
36
+ key: "getProperty",
37
+ value: function getProperty(option, getter) {
38
+ if (getter) {
39
+ var locals = {};
40
+ locals[this.optionVariableName] = option;
41
+ return getter.call(this, this.scope, locals);
42
+ }
43
+ return undefined;
47
44
  }
48
- return undefined;
49
- }
50
45
 
51
- /**
52
- * @param {Object} option The item from options collection
53
- * @return {any} The option value
54
- */
55
- getValue(option) {
56
- if (!this.hasItemGetter) {
57
- return option;
46
+ /**
47
+ * @param {Object} option The item from options collection
48
+ * @return {any} The option value
49
+ */
50
+ }, {
51
+ key: "getValue",
52
+ value: function getValue(option) {
53
+ if (!this.hasItemGetter) {
54
+ return option;
55
+ }
56
+ var value = this.getProperty(option, this.itemGetter);
57
+ return value === undefined ? option : value;
58
58
  }
59
- const value = this.getProperty(option, this.itemGetter);
60
- return value === undefined ? option : value;
61
- }
62
59
 
63
- /**
64
- * @param {any} value The option value
65
- * @param {Array} options The list of options
66
- * @return {Object|undefined} The option object
67
- */
68
- getOptionByValue(value, options) {
69
60
  /**
70
- * @param {any} it
71
- * @return {string} The string representation of the value
61
+ * @param {any} value The option value
62
+ * @param {Array} options The list of options
63
+ * @return {Object|undefined} The option object
72
64
  */
73
- function toString(it) {
74
- return typeof it === 'object' ? JSON.stringify(it) : String(it);
65
+ }, {
66
+ key: "getOptionByValue",
67
+ value: function getOptionByValue(value, options) {
68
+ var _this = this;
69
+ /**
70
+ * @param {any} it
71
+ * @return {string} The string representation of the value
72
+ */
73
+ function toString(it) {
74
+ return _typeof(it) === 'object' ? JSON.stringify(it) : String(it);
75
+ }
76
+ if (!this.hasItemGetter) {
77
+ return value;
78
+ }
79
+ var matchedOptions = options.filter(function (option) {
80
+ var optionValue = _this.getValue(option);
81
+ if (_typeof(value) === 'object') {
82
+ return deepEqual(optionValue, value);
83
+ }
84
+ return optionValue === value;
85
+ });
86
+ if (matchedOptions.length > 1) {
87
+ throw new Error("Error(rg-select): You can not have two options with same value(".concat(toString(value), ")"));
88
+ }
89
+ return matchedOptions[0];
75
90
  }
76
- if (!this.hasItemGetter) {
77
- return value;
91
+ }, {
92
+ key: "getKey",
93
+ value: function getKey(option) {
94
+ return this.getProperty(option, this.trackByGetter) || option[this.constructor.defaultKeyField] || option;
78
95
  }
79
- const matchedOptions = options.filter(option => {
80
- const optionValue = this.getValue(option);
81
- if (typeof value === 'object') {
82
- return deepEqual(optionValue, value);
83
- }
84
- return optionValue === value;
85
- });
86
- if (matchedOptions.length > 1) {
87
- throw new Error(`Error(rg-select): You can not have two options with same value(${toString(value)})`);
96
+ }, {
97
+ key: "getLabel",
98
+ value: function getLabel(option) {
99
+ var optionStringValue = typeof option === 'string' ? option : null;
100
+ return this.getProperty(option, this.labelGetter) || option[this.constructor.defaultLabelField] || optionStringValue;
88
101
  }
89
- return matchedOptions[0];
90
- }
91
- getKey(option) {
92
- return this.getProperty(option, this.trackByGetter) || option[this.constructor.defaultKeyField] || option;
93
- }
94
- getLabel(option) {
95
- const optionStringValue = typeof option === 'string' ? option : null;
96
- return this.getProperty(option, this.labelGetter) || option[this.constructor.defaultLabelField] || optionStringValue;
97
- }
98
- getSelectedLabel(option) {
99
- return this.getProperty(option, this.selectedLabelGetter) || option[this.constructor.defaultSelectedLabelField];
100
- }
101
- getDescription(option) {
102
- return this.getProperty(option, this.descriptionGetter) || option[this.constructor.defaultDescriptionField];
103
- }
104
- getOptions(query, skip) {
105
- return this.datasourceGetter(this.scope, {
106
- query,
107
- skip
108
- });
109
- }
110
- }
111
- const angularModule = angular.module('Ring.select.options', []);
102
+ }, {
103
+ key: "getSelectedLabel",
104
+ value: function getSelectedLabel(option) {
105
+ return this.getProperty(option, this.selectedLabelGetter) || option[this.constructor.defaultSelectedLabelField];
106
+ }
107
+ }, {
108
+ key: "getDescription",
109
+ value: function getDescription(option) {
110
+ return this.getProperty(option, this.descriptionGetter) || option[this.constructor.defaultDescriptionField];
111
+ }
112
+ }, {
113
+ key: "getOptions",
114
+ value: function getOptions(query, skip) {
115
+ return this.datasourceGetter(this.scope, {
116
+ query: query,
117
+ skip: skip
118
+ });
119
+ }
120
+ }]);
121
+ return Options;
122
+ }();
123
+ _defineProperty(Options, "OPTIONS_REGEXP", /^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+select\s+as\s+(.*?))?(?:\s+describe\sas\s+(.*?))?(?:\s+for\s+)?([$\w]+)\s+in\s+(.*?)(?:\s+track\sby\s+(.*?))?$/);
124
+ _defineProperty(Options, "MATCHES", {
125
+ ITEM: 1,
126
+ LABEL: 2,
127
+ SELECTED_LABEL: 3,
128
+ DESCRIPTION: 4,
129
+ OPTION: 5,
130
+ ITEMS: 6,
131
+ TRACK: 7
132
+ });
133
+ _defineProperty(Options, "defaultKeyField", 'key');
134
+ _defineProperty(Options, "defaultLabelField", 'label');
135
+ _defineProperty(Options, "defaultSelectedLabelField", 'selectedLabel');
136
+ _defineProperty(Options, "defaultDescriptionField", 'description');
137
+ var angularModule = angular.module('Ring.select.options', []);
112
138
  angularModule.factory('SelectOptions', ["$parse", function SelectOptionsFactory($parse) {
113
139
  Options.$parse = $parse;
114
140
  return Options;