@jetbrains/ring-ui 5.1.1 → 6.0.2-beta.0

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 (850) hide show
  1. package/README.md +1 -6
  2. package/babel.config.js +0 -1
  3. package/components/alert/alert.d.ts +1 -1
  4. package/components/alert/container.css +3 -0
  5. package/components/alert-service/alert-service.d.ts +2 -2
  6. package/components/analytics/analytics.d.ts +21 -7
  7. package/components/analytics/analytics.js +19 -24
  8. package/components/analytics/analytics__custom-plugin.d.ts +6 -16
  9. package/components/analytics/analytics__custom-plugin.js +12 -52
  10. package/components/analytics/analytics__fus-plugin.d.ts +15 -25
  11. package/components/analytics/analytics__fus-plugin.js +15 -73
  12. package/components/analytics/analytics__ga-plugin.d.ts +13 -3
  13. package/components/analytics/analytics__ga-plugin.js +35 -5
  14. package/components/analytics/analytics__plugin-utils.d.ts +16 -0
  15. package/components/analytics/analytics__plugin-utils.js +26 -1
  16. package/components/auth/auth__core.d.ts +5 -4
  17. package/components/auth/auth__core.js +44 -27
  18. package/components/auth-dialog/auth-dialog.d.ts +2 -2
  19. package/components/auth-dialog/auth-dialog.js +3 -1
  20. package/components/auth-dialog-service/auth-dialog-service.js +4 -1
  21. package/components/avatar/avatar.d.ts +3 -3
  22. package/components/avatar/fallback-avatar.d.ts +2 -2
  23. package/components/avatar/fallback-avatar.js +2 -1
  24. package/components/badge/badge.d.ts +2 -2
  25. package/components/button/button.css +7 -7
  26. package/components/button/button.d.ts +3 -4
  27. package/components/button/button.js +0 -1
  28. package/components/button-group/button-group.css +2 -2
  29. package/components/button-group/button-group.d.ts +2 -2
  30. package/components/button-group/caption.d.ts +2 -2
  31. package/components/button-set/button-set.d.ts +2 -2
  32. package/components/button-toolbar/button-toolbar.d.ts +2 -2
  33. package/components/checkbox/checkbox.css +2 -2
  34. package/components/checkbox/checkbox.d.ts +2 -2
  35. package/components/code/code.d.ts +1 -1
  36. package/components/confirm/confirm.d.ts +1 -1
  37. package/components/confirm/confirm.js +3 -3
  38. package/components/confirm-service/confirm-service.js +2 -2
  39. package/components/content-layout/content-layout.d.ts +2 -2
  40. package/components/content-layout/sidebar.d.ts +2 -2
  41. package/components/contenteditable/contenteditable.d.ts +3 -3
  42. package/components/control-label/control-label.css +23 -0
  43. package/components/control-label/control-label.d.ts +11 -0
  44. package/components/control-label/control-label.js +22 -0
  45. package/components/data-list/data-list.css +2 -1
  46. package/components/data-list/data-list.d.ts +3 -3
  47. package/components/data-list/data-list.mock.d.ts +2 -2
  48. package/components/data-list/item.d.ts +3 -3
  49. package/components/data-list/title.d.ts +1 -1
  50. package/components/date-picker/consts.d.ts +5 -5
  51. package/components/date-picker/date-input.d.ts +3 -12
  52. package/components/date-picker/date-input.js +9 -15
  53. package/components/date-picker/date-picker.css +1 -1
  54. package/components/date-picker/date-picker.d.ts +8 -6
  55. package/components/date-picker/date-picker.js +9 -15
  56. package/components/date-picker/date-popup.d.ts +1 -1
  57. package/components/date-picker/date-popup.js +2 -1
  58. package/components/date-picker/day.d.ts +2 -2
  59. package/components/date-picker/month-names.d.ts +2 -2
  60. package/components/date-picker/month-names.js +2 -2
  61. package/components/date-picker/month-slider.d.ts +2 -2
  62. package/components/date-picker/month.d.ts +2 -2
  63. package/components/date-picker/months.d.ts +2 -2
  64. package/components/date-picker/months.js +46 -29
  65. package/components/date-picker/weekdays.d.ts +2 -2
  66. package/components/date-picker/years.d.ts +6 -2
  67. package/components/date-picker/years.js +26 -14
  68. package/components/dialog/dialog.css +1 -1
  69. package/components/dialog/dialog.d.ts +4 -16
  70. package/components/dialog/dialog.js +4 -2
  71. package/components/dropdown/anchor.d.ts +1 -1
  72. package/components/dropdown/dropdown.d.ts +8 -1
  73. package/components/editable-heading/editable-heading.css +20 -7
  74. package/components/editable-heading/editable-heading.d.ts +2 -2
  75. package/components/editable-heading/editable-heading.js +39 -12
  76. package/components/error-bubble/error-bubble.d.ts +2 -2
  77. package/components/error-message/error-message.d.ts +2 -2
  78. package/components/footer/footer.js +1 -0
  79. package/components/form/form.examples.js +2 -11
  80. package/components/global/controls-height.d.ts +2 -0
  81. package/components/global/controls-height.js +8 -0
  82. package/components/global/create-stateful-context.d.ts +1 -1
  83. package/components/global/focus-sensor-hoc.d.ts +1 -0
  84. package/components/global/focus-sensor-hoc.js +5 -4
  85. package/components/global/react-dom-renderer.d.ts +4 -4
  86. package/components/global/react-dom-renderer.js +5 -5
  87. package/components/global/react-render-adapter.js +19 -31
  88. package/components/global/use-event-callback.d.ts +1 -0
  89. package/components/global/use-event-callback.js +14 -0
  90. package/components/global/variables_dark.css +2 -2
  91. package/components/grid/col.d.ts +2 -2
  92. package/components/grid/grid.d.ts +2 -2
  93. package/components/grid/row.d.ts +2 -2
  94. package/components/group/group.d.ts +2 -2
  95. package/components/header/header.d.ts +2 -2
  96. package/components/header/logo.d.ts +2 -2
  97. package/components/header/profile.d.ts +4 -2
  98. package/components/header/profile.js +15 -11
  99. package/components/header/services-link.d.ts +2 -2
  100. package/components/header/services.d.ts +2 -2
  101. package/components/header/smart-profile.d.ts +2 -2
  102. package/components/header/smart-services.d.ts +2 -2
  103. package/components/header/tray-icon.d.ts +2 -2
  104. package/components/header/tray.d.ts +2 -2
  105. package/components/heading/heading.css +8 -8
  106. package/components/http/http.d.ts +16 -6
  107. package/components/http/http.js +26 -0
  108. package/components/hub-source/hub-source__users-groups.d.ts +1 -1
  109. package/components/i18n/README.md +46 -0
  110. package/components/i18n/i18n-context.d.ts +13 -0
  111. package/components/i18n/i18n-context.js +14 -0
  112. package/components/i18n/i18n.d.ts +59 -0
  113. package/components/i18n/i18n.js +26 -0
  114. package/components/i18n/messages.json +53 -0
  115. package/components/icon/icon.d.ts +3 -3
  116. package/components/icon/icon__svg.d.ts +1 -1
  117. package/components/input/input-legacy.css +3 -3
  118. package/components/input/input.css +8 -21
  119. package/components/input/input.d.ts +7 -1
  120. package/components/input/input.js +18 -14
  121. package/components/input-size/input-size.examples.js +4 -150
  122. package/components/island/adaptive-island-hoc.d.ts +2 -2
  123. package/components/island/content.d.ts +1 -1
  124. package/components/island/header.d.ts +2 -2
  125. package/components/island/island.css +1 -1
  126. package/components/island/island.d.ts +3 -3
  127. package/components/island-legacy/content-legacy.d.ts +2 -2
  128. package/components/island-legacy/header-legacy.d.ts +2 -2
  129. package/components/island-legacy/island-legacy.d.ts +2 -2
  130. package/components/link/clickableLink.d.ts +1 -1
  131. package/components/link/link.css +1 -1
  132. package/components/link/link.d.ts +8 -9
  133. package/components/link/link.js +0 -1
  134. package/components/list/consts.js +3 -0
  135. package/components/list/list.css +2 -2
  136. package/components/list/list.d.ts +7 -7
  137. package/components/list/list.js +4 -1
  138. package/components/list/list__custom.d.ts +1 -1
  139. package/components/list/list__hint.d.ts +2 -2
  140. package/components/list/list__item.d.ts +2 -2
  141. package/components/list/list__link.d.ts +2 -2
  142. package/components/list/list__separator.d.ts +2 -2
  143. package/components/list/list__title.d.ts +2 -2
  144. package/components/loader/loader.d.ts +2 -2
  145. package/components/loader-inline/loader-inline.d.ts +2 -2
  146. package/components/loader-screen/loader-screen.d.ts +2 -2
  147. package/components/login-dialog/login-dialog.d.ts +2 -2
  148. package/components/login-dialog/service.js +4 -1
  149. package/components/markdown/code.d.ts +2 -2
  150. package/components/markdown/heading.d.ts +2 -2
  151. package/components/markdown/link.d.ts +2 -2
  152. package/components/markdown/markdown.d.ts +2 -2
  153. package/components/message/message.d.ts +3 -7
  154. package/components/message/message.js +17 -16
  155. package/components/pager/pager.d.ts +8 -13
  156. package/components/pager/pager.js +12 -14
  157. package/components/panel/panel.css +1 -1
  158. package/components/panel/panel.d.ts +2 -2
  159. package/components/popup/popup.d.ts +2 -2
  160. package/components/popup/popup.js +1 -1
  161. package/components/popup/position.d.ts +1 -1
  162. package/components/popup/position.js +43 -33
  163. package/components/popup-menu/popup-menu.d.ts +2 -2
  164. package/components/progress-bar/progress-bar.d.ts +2 -2
  165. package/components/query-assist/query-assist.css +16 -11
  166. package/components/query-assist/query-assist.d.ts +3 -7
  167. package/components/query-assist/query-assist.js +50 -31
  168. package/components/query-assist/query-assist__suggestions.d.ts +2 -2
  169. package/components/radio/radio.css +1 -1
  170. package/components/radio/radio.d.ts +1 -1
  171. package/components/radio/radio__item.d.ts +1 -1
  172. package/components/select/select-popup.css +2 -2
  173. package/components/select/select.css +9 -5
  174. package/components/select/select.d.ts +20 -9
  175. package/components/select/select.js +47 -23
  176. package/components/select/select__filter.d.ts +2 -3
  177. package/components/select/select__filter.js +4 -2
  178. package/components/select/select__popup.d.ts +48 -8
  179. package/components/select/select__popup.js +29 -8
  180. package/components/shortcuts/shortcuts-hoc.d.ts +2 -2
  181. package/components/shortcuts/shortcuts.d.ts +1 -1
  182. package/components/tab-trap/tab-trap.d.ts +1 -1
  183. package/components/table/cell.d.ts +2 -2
  184. package/components/table/disable-hover-hoc.d.ts +2 -2
  185. package/components/table/header-cell.d.ts +2 -2
  186. package/components/table/header.d.ts +3 -14
  187. package/components/table/header.js +5 -49
  188. package/components/table/multitable.d.ts +2 -2
  189. package/components/table/row-with-focus-sensor.d.ts +1 -1
  190. package/components/table/row.d.ts +2 -1
  191. package/components/table/row.js +4 -3
  192. package/components/table/smart-table.d.ts +3 -1
  193. package/components/table/table.css +9 -26
  194. package/components/table/table.d.ts +6 -4
  195. package/components/table/table.js +5 -3
  196. package/components/tabs/collapsible-more.d.ts +3 -3
  197. package/components/tabs/collapsible-tab.d.ts +1 -1
  198. package/components/tabs/collapsible-tabs.d.ts +2 -2
  199. package/components/tabs/dumb-tabs.d.ts +5 -3
  200. package/components/tabs/dumb-tabs.js +3 -2
  201. package/components/tabs/smart-tabs.d.ts +2 -2
  202. package/components/tabs/tab-link.d.ts +1 -1
  203. package/components/tabs/tab.d.ts +2 -2
  204. package/components/tabs/tab.js +3 -3
  205. package/components/tabs/tabs.css +4 -1
  206. package/components/tag/tag.css +3 -3
  207. package/components/tag/tag.d.ts +5 -5
  208. package/components/tags-input/tags-input.css +1 -1
  209. package/components/tags-input/tags-input.d.ts +9 -4
  210. package/components/tags-input/tags-input.js +7 -7
  211. package/components/tags-list/tags-list.d.ts +2 -2
  212. package/components/text/text.css +12 -0
  213. package/components/text/text.d.ts +8 -2
  214. package/components/text/text.js +12 -2
  215. package/components/toggle/toggle.css +1 -1
  216. package/components/toggle/toggle.d.ts +2 -2
  217. package/components/tooltip/tooltip.d.ts +1 -1
  218. package/components/user-agreement/service.js +4 -1
  219. package/components/user-agreement/user-agreement.d.ts +3 -11
  220. package/components/user-agreement/user-agreement.js +31 -30
  221. package/components/user-card/card.d.ts +22 -21
  222. package/components/user-card/card.js +29 -29
  223. package/components/user-card/smart-user-card-tooltip.d.ts +3 -3
  224. package/components/user-card/tooltip.d.ts +11 -6
  225. package/components/user-card/tooltip.js +1 -1
  226. package/components/user-card/user-card.css +10 -1
  227. package/dist/_helpers/_rollupPluginBabelHelpers.js +614 -1
  228. package/dist/_helpers/anchor.js +7 -8
  229. package/dist/_helpers/badge.js +1 -1
  230. package/dist/_helpers/button__classes.js +17 -29
  231. package/dist/_helpers/caption.js +31 -0
  232. package/dist/_helpers/card.js +100 -91
  233. package/dist/_helpers/date-picker.js +1 -1
  234. package/dist/_helpers/dialog__body-scroll-preventer.js +21 -12
  235. package/dist/_helpers/grid.js +1 -1
  236. package/dist/_helpers/header.js +1 -1
  237. package/dist/_helpers/icon__svg.js +73 -0
  238. package/dist/_helpers/input.js +228 -2
  239. package/dist/_helpers/island.js +1 -1
  240. package/dist/_helpers/list.js +1 -1
  241. package/dist/_helpers/query-assist__suggestions.js +92 -75
  242. package/dist/_helpers/select__filter.js +70 -43
  243. package/dist/_helpers/services-link.js +33 -21
  244. package/dist/_helpers/sidebar.js +87 -86
  245. package/dist/_helpers/tab-link.js +36 -0
  246. package/dist/_helpers/table.js +1 -1
  247. package/dist/_helpers/theme.js +43 -36
  248. package/dist/_helpers/title.js +66 -56
  249. package/dist/alert/alert.d.ts +1 -1
  250. package/dist/alert/alert.js +165 -130
  251. package/dist/alert/container.js +40 -29
  252. package/dist/alert-service/alert-service.d.ts +2 -2
  253. package/dist/alert-service/alert-service.js +170 -106
  254. package/dist/analytics/analytics.d.ts +21 -7
  255. package/dist/analytics/analytics.js +90 -71
  256. package/dist/analytics/analytics__custom-plugin.d.ts +6 -16
  257. package/dist/analytics/analytics__custom-plugin.js +74 -87
  258. package/dist/analytics/analytics__fus-plugin.d.ts +15 -25
  259. package/dist/analytics/analytics__fus-plugin.js +31 -89
  260. package/dist/analytics/analytics__ga-plugin.d.ts +13 -3
  261. package/dist/analytics/analytics__ga-plugin.js +76 -25
  262. package/dist/analytics/analytics__plugin-utils.d.ts +16 -0
  263. package/dist/analytics/analytics__plugin-utils.js +52 -21
  264. package/dist/auth/auth.js +40 -10
  265. package/dist/auth/auth__core.d.ts +5 -4
  266. package/dist/auth/auth__core.js +1460 -722
  267. package/dist/auth/background-flow.js +125 -84
  268. package/dist/auth/down-notification.js +77 -37
  269. package/dist/auth/iframe-flow.js +130 -73
  270. package/dist/auth/landing.js +94 -36
  271. package/dist/auth/request-builder.js +79 -45
  272. package/dist/auth/response-parser.js +117 -85
  273. package/dist/auth/storage.js +323 -164
  274. package/dist/auth/token-validator.js +239 -128
  275. package/dist/auth/window-flow.js +126 -83
  276. package/dist/auth-dialog/auth-dialog.d.ts +2 -2
  277. package/dist/auth-dialog/auth-dialog.js +153 -96
  278. package/dist/auth-dialog-service/auth-dialog-service.js +37 -12
  279. package/dist/avatar/avatar-example-datauri.js +1 -23
  280. package/dist/avatar/avatar.d.ts +3 -3
  281. package/dist/avatar/avatar.js +132 -99
  282. package/dist/avatar/fallback-avatar.d.ts +2 -2
  283. package/dist/avatar/fallback-avatar.js +44 -24
  284. package/dist/badge/badge.d.ts +2 -2
  285. package/dist/badge/badge.js +34 -26
  286. package/dist/button/button.d.ts +3 -4
  287. package/dist/button/button.js +90 -71
  288. package/dist/button/button__classes.js +1 -0
  289. package/dist/button-group/button-group.d.ts +2 -2
  290. package/dist/button-group/button-group.js +33 -17
  291. package/dist/button-group/caption.d.ts +2 -2
  292. package/dist/button-group/caption.js +5 -22
  293. package/dist/button-set/button-set.d.ts +2 -2
  294. package/dist/button-set/button-set.js +31 -16
  295. package/dist/button-toolbar/button-toolbar.d.ts +2 -2
  296. package/dist/button-toolbar/button-toolbar.js +30 -15
  297. package/dist/caret/caret.js +223 -188
  298. package/dist/checkbox/checkbox.d.ts +2 -2
  299. package/dist/checkbox/checkbox.js +86 -61
  300. package/dist/clipboard/clipboard-fallback.js +10 -10
  301. package/dist/clipboard/clipboard.js +132 -38
  302. package/dist/code/code.d.ts +1 -1
  303. package/dist/code/code.js +153 -81
  304. package/dist/confirm/confirm.d.ts +1 -1
  305. package/dist/confirm/confirm.js +86 -50
  306. package/dist/confirm-service/confirm-service.js +68 -47
  307. package/dist/content-layout/content-layout.d.ts +2 -2
  308. package/dist/content-layout/content-layout.js +53 -35
  309. package/dist/content-layout/sidebar.d.ts +2 -2
  310. package/dist/content-layout/sidebar.js +1 -0
  311. package/dist/contenteditable/contenteditable.d.ts +3 -3
  312. package/dist/contenteditable/contenteditable.js +54 -43
  313. package/dist/control-label/control-label.d.ts +11 -0
  314. package/dist/control-label/control-label.js +32 -0
  315. package/dist/data-list/data-list.d.ts +3 -3
  316. package/dist/data-list/data-list.js +166 -120
  317. package/dist/data-list/data-list.mock.d.ts +2 -2
  318. package/dist/data-list/data-list.mock.js +11 -4
  319. package/dist/data-list/item.d.ts +3 -3
  320. package/dist/data-list/item.js +141 -118
  321. package/dist/data-list/selection.js +139 -77
  322. package/dist/data-list/title.d.ts +1 -1
  323. package/dist/data-list/title.js +13 -3
  324. package/dist/date-picker/consts.d.ts +5 -5
  325. package/dist/date-picker/consts.js +18 -15
  326. package/dist/date-picker/date-input.d.ts +3 -12
  327. package/dist/date-picker/date-input.js +132 -111
  328. package/dist/date-picker/date-picker.d.ts +8 -6
  329. package/dist/date-picker/date-picker.js +215 -165
  330. package/dist/date-picker/date-popup.d.ts +1 -1
  331. package/dist/date-picker/date-popup.js +341 -301
  332. package/dist/date-picker/day.d.ts +2 -2
  333. package/dist/date-picker/day.js +78 -68
  334. package/dist/date-picker/month-names.d.ts +2 -2
  335. package/dist/date-picker/month-names.js +59 -41
  336. package/dist/date-picker/month-slider.d.ts +2 -2
  337. package/dist/date-picker/month-slider.js +59 -40
  338. package/dist/date-picker/month.d.ts +2 -2
  339. package/dist/date-picker/month.js +21 -15
  340. package/dist/date-picker/months.d.ts +2 -2
  341. package/dist/date-picker/months.js +80 -56
  342. package/dist/date-picker/weekdays.d.ts +2 -2
  343. package/dist/date-picker/weekdays.js +18 -12
  344. package/dist/date-picker/years.d.ts +6 -2
  345. package/dist/date-picker/years.js +102 -66
  346. package/dist/dialog/dialog.d.ts +4 -16
  347. package/dist/dialog/dialog.js +149 -100
  348. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  349. package/dist/dropdown/anchor.d.ts +1 -1
  350. package/dist/dropdown/anchor.js +11 -3
  351. package/dist/dropdown/dropdown.d.ts +8 -1
  352. package/dist/dropdown/dropdown.js +159 -132
  353. package/dist/dropdown-menu/dropdown-menu.js +103 -77
  354. package/dist/editable-heading/editable-heading.d.ts +2 -2
  355. package/dist/editable-heading/editable-heading.js +134 -66
  356. package/dist/error-bubble/error-bubble.d.ts +2 -2
  357. package/dist/error-bubble/error-bubble.js +60 -27
  358. package/dist/error-message/error-message.d.ts +2 -2
  359. package/dist/error-message/error-message.js +55 -32
  360. package/dist/footer/footer.js +115 -8
  361. package/dist/global/compose.js +10 -1
  362. package/dist/global/composeRefs.js +12 -7
  363. package/dist/global/controls-height.d.ts +2 -0
  364. package/dist/global/controls-height.js +10 -2
  365. package/dist/global/create-stateful-context.d.ts +1 -1
  366. package/dist/global/create-stateful-context.js +19 -19
  367. package/dist/global/data-tests.js +15 -7
  368. package/dist/global/dom.js +93 -55
  369. package/dist/global/focus-sensor-hoc.d.ts +1 -0
  370. package/dist/global/focus-sensor-hoc.js +118 -102
  371. package/dist/global/fuzzy-highlight.js +41 -27
  372. package/dist/global/get-event-key.js +8 -8
  373. package/dist/global/get-uid.js +8 -4
  374. package/dist/global/inject-styles.js +15 -10
  375. package/dist/global/linear-function.js +2 -2
  376. package/dist/global/listeners.js +50 -28
  377. package/dist/global/memoize.js +13 -6
  378. package/dist/global/normalize-indent.js +51 -19
  379. package/dist/global/promise-with-timeout.js +8 -6
  380. package/dist/global/prop-types.js +5 -3
  381. package/dist/global/react-dom-renderer.d.ts +4 -4
  382. package/dist/global/react-dom-renderer.js +44 -28
  383. package/dist/global/react-render-adapter.js +21 -15
  384. package/dist/global/rerender-hoc.js +40 -19
  385. package/dist/global/schedule-raf.js +6 -5
  386. package/dist/global/sniffer.js +1 -1
  387. package/dist/global/theme.js +24 -0
  388. package/dist/global/trivial-template-tag.js +10 -3
  389. package/dist/global/typescript-utils.js +6 -2
  390. package/dist/global/url.js +27 -21
  391. package/dist/global/use-event-callback.d.ts +1 -0
  392. package/dist/global/use-event-callback.js +17 -0
  393. package/dist/grid/col.d.ts +2 -2
  394. package/dist/grid/col.js +42 -23
  395. package/dist/grid/grid.d.ts +2 -2
  396. package/dist/grid/grid.js +32 -13
  397. package/dist/grid/row.d.ts +2 -2
  398. package/dist/grid/row.js +32 -20
  399. package/dist/group/group.d.ts +2 -2
  400. package/dist/group/group.js +25 -14
  401. package/dist/header/header.d.ts +2 -2
  402. package/dist/header/header.js +76 -31
  403. package/dist/header/logo.d.ts +2 -2
  404. package/dist/header/logo.js +32 -14
  405. package/dist/header/profile.d.ts +4 -2
  406. package/dist/header/profile.js +155 -109
  407. package/dist/header/services-link.d.ts +2 -2
  408. package/dist/header/services-link.js +9 -2
  409. package/dist/header/services.d.ts +2 -2
  410. package/dist/header/services.js +105 -66
  411. package/dist/header/smart-profile.d.ts +2 -2
  412. package/dist/header/smart-profile.js +195 -104
  413. package/dist/header/smart-services.d.ts +2 -2
  414. package/dist/header/smart-services.js +112 -64
  415. package/dist/header/tray-icon.d.ts +2 -2
  416. package/dist/header/tray-icon.js +37 -22
  417. package/dist/header/tray.d.ts +2 -2
  418. package/dist/header/tray.js +30 -17
  419. package/dist/heading/heading.js +26 -27
  420. package/dist/http/http.d.ts +16 -6
  421. package/dist/http/http.js +357 -170
  422. package/dist/http/http.mock.js +105 -50
  423. package/dist/hub-source/hub-source.js +183 -77
  424. package/dist/hub-source/hub-source__user.js +45 -12
  425. package/dist/hub-source/hub-source__users-groups.d.ts +1 -1
  426. package/dist/hub-source/hub-source__users-groups.js +63 -34
  427. package/dist/i18n/i18n-context.d.ts +13 -0
  428. package/dist/i18n/i18n-context.js +28 -0
  429. package/dist/i18n/i18n.d.ts +59 -0
  430. package/dist/i18n/i18n.js +140 -0
  431. package/dist/icon/icon.d.ts +3 -3
  432. package/dist/icon/icon.js +78 -61
  433. package/dist/icon/icon__svg.d.ts +1 -1
  434. package/dist/icon/icon__svg.js +15 -71
  435. package/dist/icon/index.js +10 -2
  436. package/dist/input/input.d.ts +7 -1
  437. package/dist/input/input.js +30 -197
  438. package/dist/island/adaptive-island-hoc.d.ts +2 -2
  439. package/dist/island/adaptive-island-hoc.js +38 -27
  440. package/dist/island/content.d.ts +1 -1
  441. package/dist/island/content.js +104 -92
  442. package/dist/island/header.d.ts +2 -2
  443. package/dist/island/header.js +60 -47
  444. package/dist/island/island.d.ts +3 -3
  445. package/dist/island/island.js +33 -21
  446. package/dist/island-legacy/content-legacy.d.ts +2 -2
  447. package/dist/island-legacy/content-legacy.js +23 -13
  448. package/dist/island-legacy/header-legacy.d.ts +2 -2
  449. package/dist/island-legacy/header-legacy.js +25 -15
  450. package/dist/island-legacy/island-legacy.d.ts +2 -2
  451. package/dist/island-legacy/island-legacy.js +23 -13
  452. package/dist/link/clickableLink.d.ts +1 -1
  453. package/dist/link/clickableLink.js +43 -29
  454. package/dist/link/link.d.ts +8 -9
  455. package/dist/link/link.js +74 -63
  456. package/dist/list/consts.js +4 -1
  457. package/dist/list/list.d.ts +7 -7
  458. package/dist/list/list.js +500 -406
  459. package/dist/list/list__custom.d.ts +1 -1
  460. package/dist/list/list__custom.js +60 -47
  461. package/dist/list/list__hint.d.ts +2 -2
  462. package/dist/list/list__hint.js +18 -8
  463. package/dist/list/list__item.d.ts +2 -2
  464. package/dist/list/list__item.js +168 -135
  465. package/dist/list/list__link.d.ts +2 -2
  466. package/dist/list/list__link.js +54 -39
  467. package/dist/list/list__separator.d.ts +2 -2
  468. package/dist/list/list__separator.js +24 -14
  469. package/dist/list/list__title.d.ts +2 -2
  470. package/dist/list/list__title.js +32 -22
  471. package/dist/list/list__users-groups-source.js +131 -58
  472. package/dist/loader/loader.d.ts +2 -2
  473. package/dist/loader/loader.js +66 -34
  474. package/dist/loader/loader__core.js +197 -129
  475. package/dist/loader-inline/loader-inline.d.ts +2 -2
  476. package/dist/loader-inline/loader-inline.js +34 -19
  477. package/dist/loader-screen/loader-screen.d.ts +2 -2
  478. package/dist/loader-screen/loader-screen.js +45 -21
  479. package/dist/login-dialog/login-dialog.d.ts +2 -2
  480. package/dist/login-dialog/login-dialog.js +126 -81
  481. package/dist/login-dialog/service.js +40 -13
  482. package/dist/markdown/code.d.ts +2 -2
  483. package/dist/markdown/code.js +30 -9
  484. package/dist/markdown/heading.d.ts +2 -2
  485. package/dist/markdown/heading.js +3 -5
  486. package/dist/markdown/link.d.ts +2 -2
  487. package/dist/markdown/link.js +13 -8
  488. package/dist/markdown/markdown.d.ts +2 -2
  489. package/dist/markdown/markdown.js +67 -36
  490. package/dist/message/message.d.ts +3 -7
  491. package/dist/message/message.js +154 -121
  492. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  493. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  494. package/dist/old-browsers-message/white-list.js +17 -10
  495. package/dist/pager/pager.d.ts +8 -13
  496. package/dist/pager/pager.js +260 -197
  497. package/dist/panel/panel.d.ts +2 -2
  498. package/dist/panel/panel.js +25 -14
  499. package/dist/permissions/permissions.js +166 -122
  500. package/dist/permissions/permissions__cache.js +220 -191
  501. package/dist/popup/popup.consts.js +1 -1
  502. package/dist/popup/popup.d.ts +2 -2
  503. package/dist/popup/popup.js +299 -236
  504. package/dist/popup/popup.target.js +8 -9
  505. package/dist/popup/position.d.ts +1 -1
  506. package/dist/popup/position.js +175 -154
  507. package/dist/popup-menu/popup-menu.d.ts +2 -2
  508. package/dist/popup-menu/popup-menu.js +81 -46
  509. package/dist/progress-bar/progress-bar.d.ts +2 -2
  510. package/dist/progress-bar/progress-bar.js +66 -52
  511. package/dist/query-assist/query-assist.d.ts +3 -7
  512. package/dist/query-assist/query-assist.js +679 -575
  513. package/dist/query-assist/query-assist__suggestions.d.ts +2 -2
  514. package/dist/query-assist/query-assist__suggestions.js +34 -6
  515. package/dist/radio/radio.d.ts +1 -1
  516. package/dist/radio/radio.js +28 -15
  517. package/dist/radio/radio__item.d.ts +1 -1
  518. package/dist/radio/radio__item.js +62 -45
  519. package/dist/select/select.d.ts +20 -9
  520. package/dist/select/select.js +832 -706
  521. package/dist/select/select__filter.d.ts +2 -3
  522. package/dist/select/select__filter.js +38 -8
  523. package/dist/select/select__popup.d.ts +48 -8
  524. package/dist/select/select__popup.js +430 -299
  525. package/dist/shortcuts/core.js +197 -146
  526. package/dist/shortcuts/shortcut-title.js +11 -6
  527. package/dist/shortcuts/shortcuts-hoc.d.ts +2 -2
  528. package/dist/shortcuts/shortcuts-hoc.js +43 -19
  529. package/dist/shortcuts/shortcuts.d.ts +1 -1
  530. package/dist/shortcuts/shortcuts.js +69 -43
  531. package/dist/storage/storage.js +35 -7
  532. package/dist/storage/storage__fallback.js +217 -143
  533. package/dist/storage/storage__local.js +156 -93
  534. package/dist/style.css +1 -1
  535. package/dist/tab-trap/tab-trap.d.ts +1 -1
  536. package/dist/tab-trap/tab-trap.js +117 -84
  537. package/dist/table/cell.d.ts +2 -2
  538. package/dist/table/cell.js +23 -9
  539. package/dist/table/disable-hover-hoc.d.ts +2 -2
  540. package/dist/table/disable-hover-hoc.js +44 -26
  541. package/dist/table/header-cell.d.ts +2 -2
  542. package/dist/table/header-cell.js +75 -56
  543. package/dist/table/header.d.ts +3 -14
  544. package/dist/table/header.js +103 -134
  545. package/dist/table/multitable.d.ts +2 -2
  546. package/dist/table/multitable.js +102 -86
  547. package/dist/table/row-with-focus-sensor.d.ts +1 -1
  548. package/dist/table/row-with-focus-sensor.js +70 -27
  549. package/dist/table/row.d.ts +2 -1
  550. package/dist/table/row.js +192 -158
  551. package/dist/table/selection-adapter.js +3 -1
  552. package/dist/table/selection-shortcuts-hoc.js +132 -131
  553. package/dist/table/selection.js +220 -150
  554. package/dist/table/smart-table.d.ts +3 -1
  555. package/dist/table/smart-table.js +88 -53
  556. package/dist/table/table.d.ts +6 -4
  557. package/dist/table/table.js +312 -250
  558. package/dist/tabs/collapsible-more.d.ts +3 -3
  559. package/dist/tabs/collapsible-more.js +91 -59
  560. package/dist/tabs/collapsible-tab.d.ts +1 -1
  561. package/dist/tabs/collapsible-tab.js +46 -42
  562. package/dist/tabs/collapsible-tabs.d.ts +2 -2
  563. package/dist/tabs/collapsible-tabs.js +167 -105
  564. package/dist/tabs/custom-item.js +2 -4
  565. package/dist/tabs/dumb-tabs.d.ts +5 -3
  566. package/dist/tabs/dumb-tabs.js +103 -62
  567. package/dist/tabs/smart-tabs.d.ts +2 -2
  568. package/dist/tabs/smart-tabs.js +72 -31
  569. package/dist/tabs/tab-link.d.ts +1 -1
  570. package/dist/tabs/tab-link.js +13 -35
  571. package/dist/tabs/tab.d.ts +2 -2
  572. package/dist/tabs/tab.js +26 -15
  573. package/dist/tabs/tabs.js +37 -7
  574. package/dist/tag/tag.d.ts +5 -5
  575. package/dist/tag/tag.js +147 -115
  576. package/dist/tags-input/tags-input.d.ts +9 -4
  577. package/dist/tags-input/tags-input.js +328 -227
  578. package/dist/tags-list/tags-list.d.ts +2 -2
  579. package/dist/tags-list/tags-list.js +62 -40
  580. package/dist/text/text.d.ts +8 -2
  581. package/dist/text/text.js +38 -17
  582. package/dist/toggle/toggle.d.ts +2 -2
  583. package/dist/toggle/toggle.js +55 -39
  584. package/dist/tooltip/tooltip.d.ts +1 -1
  585. package/dist/tooltip/tooltip.js +145 -102
  586. package/dist/user-agreement/service.js +411 -264
  587. package/dist/user-agreement/toolbox.eula.js +1 -160
  588. package/dist/user-agreement/user-agreement.d.ts +3 -11
  589. package/dist/user-agreement/user-agreement.js +107 -72
  590. package/dist/user-card/card.d.ts +22 -21
  591. package/dist/user-card/card.js +35 -5
  592. package/dist/user-card/smart-user-card-tooltip.d.ts +3 -3
  593. package/dist/user-card/smart-user-card-tooltip.js +138 -78
  594. package/dist/user-card/tooltip.d.ts +11 -6
  595. package/dist/user-card/tooltip.js +76 -36
  596. package/dist/user-card/user-card.js +35 -5
  597. package/package.json +86 -86
  598. package/components/auth-ng/auth-ng.examples.js +0 -41
  599. package/components/auth-ng/auth-ng.js +0 -143
  600. package/components/auth-ng/auth-ng.mock.js +0 -28
  601. package/components/autofocus-ng/autofocus-ng.examples.js +0 -41
  602. package/components/autofocus-ng/autofocus-ng.js +0 -51
  603. package/components/autofocus-ng/autofocus-ng.test.js +0 -49
  604. package/components/avatar-editor-ng/avatar-editor-ng.css +0 -104
  605. package/components/avatar-editor-ng/avatar-editor-ng.examples.js +0 -41
  606. package/components/avatar-editor-ng/avatar-editor-ng.js +0 -133
  607. package/components/avatar-editor-ng/avatar-editor-ng__template.js +0 -28
  608. package/components/avatar-ng/avatar-ng.examples.js +0 -33
  609. package/components/avatar-ng/avatar-ng.js +0 -7
  610. package/components/badge-ng/badge-ng.examples.js +0 -32
  611. package/components/badge-ng/badge-ng.js +0 -8
  612. package/components/breadcrumb-ng/breadcrumb-ng.examples.js +0 -33
  613. package/components/breadcrumb-ng/breadcrumb-ng.js +0 -60
  614. package/components/breadcrumb-ng/breadcrumb.css +0 -70
  615. package/components/button-group-ng/button-group-ng.css +0 -4
  616. package/components/button-group-ng/button-group-ng.examples.js +0 -30
  617. package/components/button-group-ng/button-group-ng.js +0 -43
  618. package/components/button-ng/button-ng.css +0 -23
  619. package/components/button-ng/button-ng.examples.js +0 -114
  620. package/components/button-ng/button-ng.js +0 -192
  621. package/components/button-ng/button-ng.test.js +0 -95
  622. package/components/button-set-ng/button-set-ng.examples.js +0 -30
  623. package/components/button-set-ng/button-set-ng.js +0 -22
  624. package/components/button-toolbar-ng/button-toolbar-ng.examples.js +0 -35
  625. package/components/button-toolbar-ng/button-toolbar-ng.js +0 -23
  626. package/components/checkbox-ng/checkbox-ng.examples.js +0 -80
  627. package/components/checkbox-ng/checkbox-ng.js +0 -64
  628. package/components/checkbox-ng/checkbox-ng.test.js +0 -61
  629. package/components/compiler-ng/compiler-ng.examples.js +0 -32
  630. package/components/compiler-ng/compiler-ng.js +0 -63
  631. package/components/compiler-ng/compiler-ng.test.js +0 -207
  632. package/components/confirm-ng/confirm-ng.examples.js +0 -43
  633. package/components/confirm-ng/confirm-ng.js +0 -30
  634. package/components/data-list-ng/data-list-ng.examples.js +0 -54
  635. package/components/data-list-ng/data-list-ng.js +0 -7
  636. package/components/dialog-ng/dialog-ng.css +0 -98
  637. package/components/dialog-ng/dialog-ng.examples.js +0 -240
  638. package/components/dialog-ng/dialog-ng.js +0 -607
  639. package/components/dialog-ng/dialog-ng.test.js +0 -829
  640. package/components/dialog-ng/dialog-ng__template.js +0 -70
  641. package/components/docked-panel-ng/docked-panel-ng.css +0 -28
  642. package/components/docked-panel-ng/docked-panel-ng.examples.js +0 -39
  643. package/components/docked-panel-ng/docked-panel-ng.js +0 -169
  644. package/components/error-message-ng/error-message-ng.examples.js +0 -33
  645. package/components/error-message-ng/error-message-ng.js +0 -50
  646. package/components/error-page-ng/error-page-ng.css +0 -6
  647. package/components/error-page-ng/error-page-ng.examples.js +0 -31
  648. package/components/error-page-ng/error-page-ng.js +0 -269
  649. package/components/error-page-ng/error-page-ng.test.js +0 -138
  650. package/components/footer-ng/footer-ng.examples.js +0 -35
  651. package/components/footer-ng/footer-ng.js +0 -61
  652. package/components/footer-ng/footer-ng.test.js +0 -41
  653. package/components/form-ng/error-bubble-ng.css +0 -7
  654. package/components/form-ng/form-ng.examples.js +0 -73
  655. package/components/form-ng/form-ng.js +0 -176
  656. package/components/global/angular-component-factory.js +0 -87
  657. package/components/global/angular-component-factory.test.js +0 -118
  658. package/components/global/ring-angular-component.js +0 -15
  659. package/components/global/ring-angular-component.test.js +0 -31
  660. package/components/group-ng/group-ng.js +0 -16
  661. package/components/group-ng/group.examples.js +0 -29
  662. package/components/heading-ng/heading-ng.examples.js +0 -29
  663. package/components/heading-ng/heading-ng.js +0 -8
  664. package/components/icon-ng/icon-ng.examples.js +0 -34
  665. package/components/icon-ng/icon-ng.js +0 -89
  666. package/components/input/input-label.d.ts +0 -10
  667. package/components/input/input-label.js +0 -18
  668. package/components/input-ng/input-ng.css +0 -7
  669. package/components/input-ng/input-ng.examples.js +0 -125
  670. package/components/input-ng/input-ng.js +0 -159
  671. package/components/input-ng/input-ng.test.js +0 -32
  672. package/components/island-ng/island-content-ng.js +0 -56
  673. package/components/island-ng/island-header-ng.js +0 -34
  674. package/components/island-ng/island-ng-class-fixer.js +0 -7
  675. package/components/island-ng/island-ng.examples.js +0 -54
  676. package/components/island-ng/island-ng.js +0 -35
  677. package/components/link-ng/link-ng.examples.js +0 -22
  678. package/components/link-ng/link-ng.js +0 -26
  679. package/components/link-ng/link-ng.test.js +0 -29
  680. package/components/loader-inline-ng/loader-inline-ng.examples.js +0 -28
  681. package/components/loader-inline-ng/loader-inline-ng.js +0 -17
  682. package/components/loader-inline-ng/loader-inline-ng.test.js +0 -28
  683. package/components/loader-ng/loader-ng.examples.js +0 -27
  684. package/components/loader-ng/loader-ng.js +0 -37
  685. package/components/loader-ng/loader-ng.test.js +0 -41
  686. package/components/loader-screen-ng/loader-screen-ng.examples.js +0 -30
  687. package/components/loader-screen-ng/loader-screen-ng.js +0 -95
  688. package/components/message-bundle-ng/message-bundle-ng.js +0 -67
  689. package/components/pager-ng/pager-ng.examples.js +0 -37
  690. package/components/pager-ng/pager-ng.js +0 -7
  691. package/components/palette/palette.examples.js +0 -63
  692. package/components/panel-ng/panel-ng.js +0 -20
  693. package/components/permissions-ng/permissions-ng.css +0 -5
  694. package/components/permissions-ng/permissions-ng.examples.js +0 -49
  695. package/components/permissions-ng/permissions-ng.js +0 -246
  696. package/components/permissions-ng/permissions-ng.test.js +0 -82
  697. package/components/place-under-ng/place-under-ng.examples.js +0 -94
  698. package/components/place-under-ng/place-under-ng.js +0 -190
  699. package/components/place-under-ng/place-under-ng.test.js +0 -182
  700. package/components/progress-bar-ng/progress-bar-ng.examples.js +0 -52
  701. package/components/progress-bar-ng/progress-bar-ng.js +0 -7
  702. package/components/promised-click-ng/promised-click-ng.examples.js +0 -42
  703. package/components/promised-click-ng/promised-click-ng.js +0 -118
  704. package/components/promised-click-ng/promised-click-ng.test.js +0 -166
  705. package/components/proxy-attrs/proxy-attrs.js +0 -24
  706. package/components/proxy-attrs/proxy-attrs.test.js +0 -102
  707. package/components/query-assist-ng/query-assist-ng.examples.js +0 -89
  708. package/components/query-assist-ng/query-assist-ng.js +0 -7
  709. package/components/radio-ng/radio-ng.examples.js +0 -31
  710. package/components/radio-ng/radio-ng.js +0 -61
  711. package/components/radio-ng/radio-ng.test.js +0 -55
  712. package/components/save-field-ng/save-field-ng.css +0 -13
  713. package/components/save-field-ng/save-field-ng.examples.js +0 -221
  714. package/components/save-field-ng/save-field-ng.js +0 -358
  715. package/components/save-field-ng/save-field-ng__template.js +0 -32
  716. package/components/select-ng/select-ng.examples.js +0 -483
  717. package/components/select-ng/select-ng.js +0 -561
  718. package/components/select-ng/select-ng.test.js +0 -620
  719. package/components/select-ng/select-ng__lazy.js +0 -83
  720. package/components/select-ng/select-ng__lazy.test.js +0 -81
  721. package/components/select-ng/select-ng__options.js +0 -147
  722. package/components/shortcuts-hint-ng/shortcuts-hint-ng.css +0 -116
  723. package/components/shortcuts-hint-ng/shortcuts-hint-ng.examples.js +0 -126
  724. package/components/shortcuts-hint-ng/shortcuts-hint-ng.js +0 -102
  725. package/components/shortcuts-hint-ng/shortcuts-hint-ng.test.js +0 -113
  726. package/components/shortcuts-hint-ng/shortcuts-hint-ng__template.js +0 -48
  727. package/components/shortcuts-ng/shortcuts-ng.js +0 -285
  728. package/components/sidebar-ng/sidebar-ng.examples.js +0 -94
  729. package/components/sidebar-ng/sidebar-ng.js +0 -100
  730. package/components/sidebar-ng/sidebar-ng.test.js +0 -37
  731. package/components/sidebar-ng/sidebar-ng__button-template.js +0 -18
  732. package/components/sidebar-ng/sidebar-ng__template.js +0 -10
  733. package/components/table-legacy-ng/table-legacy-ng.examples.js +0 -192
  734. package/components/table-legacy-ng/table-legacy-ng.js +0 -433
  735. package/components/table-legacy-ng/table-legacy-ng.test.js +0 -296
  736. package/components/table-legacy-ng/table-legacy-ng__pager.js +0 -32
  737. package/components/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +0 -105
  738. package/components/table-legacy-ng/table-legacy-ng__selection.js +0 -165
  739. package/components/table-legacy-ng/table-legacy-ng__toolbar.js +0 -58
  740. package/components/table-ng/smart-table-ng.js +0 -7
  741. package/components/table-ng/table-ng.examples.js +0 -84
  742. package/components/table-ng/table-ng.js +0 -7
  743. package/components/tabs-ng/tabs-ng.examples.js +0 -30
  744. package/components/tabs-ng/tabs-ng.js +0 -206
  745. package/components/tabs-ng/tabs-ng.test.js +0 -76
  746. package/components/tabs-ng/tabs-ng__template.js +0 -38
  747. package/components/tags-input-ng/tags-input-ng.examples.js +0 -41
  748. package/components/tags-input-ng/tags-input-ng.js +0 -7
  749. package/components/template-ng/template-ng.examples.js +0 -32
  750. package/components/template-ng/template-ng.js +0 -58
  751. package/components/template-ng/template-ng.test.js +0 -97
  752. package/components/title-ng/title-ng.examples.js +0 -30
  753. package/components/title-ng/title-ng.js +0 -120
  754. package/components/title-ng/title-ng.test.js +0 -47
  755. package/components/toggle-ng/toggle-ng.examples.js +0 -22
  756. package/components/toggle-ng/toggle-ng.js +0 -8
  757. package/components/tooltip-ng/tooltip-ng.css +0 -25
  758. package/components/tooltip-ng/tooltip-ng.examples.js +0 -36
  759. package/components/tooltip-ng/tooltip-ng.js +0 -100
  760. package/components/tooltip-ng/tooltip-ng.test.js +0 -69
  761. package/components/user-card-ng/user-card-ng.examples.js +0 -66
  762. package/components/user-card-ng/user-card-ng.js +0 -16
  763. package/dist/_helpers/button-group.js +0 -3
  764. package/dist/_helpers/button-set.js +0 -3
  765. package/dist/_helpers/button-toolbar.js +0 -3
  766. package/dist/_helpers/checkbox.js +0 -3
  767. package/dist/_helpers/error-message.js +0 -3
  768. package/dist/_helpers/footer.js +0 -110
  769. package/dist/_helpers/group.js +0 -3
  770. package/dist/_helpers/icon.js +0 -3
  771. package/dist/_helpers/link.js +0 -3
  772. package/dist/_helpers/loader-inline.js +0 -3
  773. package/dist/_helpers/loader-screen.js +0 -3
  774. package/dist/_helpers/panel.js +0 -3
  775. package/dist/_helpers/radio.js +0 -3
  776. package/dist/_helpers/tabs.js +0 -3
  777. package/dist/auth-ng/auth-ng.js +0 -198
  778. package/dist/auth-ng/auth-ng.mock.js +0 -29
  779. package/dist/autofocus-ng/autofocus-ng.js +0 -45
  780. package/dist/avatar-editor-ng/avatar-editor-ng.js +0 -161
  781. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +0 -30
  782. package/dist/avatar-ng/avatar-ng.js +0 -19
  783. package/dist/badge-ng/badge-ng.js +0 -17
  784. package/dist/breadcrumb-ng/breadcrumb-ng.js +0 -61
  785. package/dist/button-group-ng/button-group-ng.js +0 -39
  786. package/dist/button-ng/button-ng.js +0 -180
  787. package/dist/button-set-ng/button-set-ng.js +0 -17
  788. package/dist/button-toolbar-ng/button-toolbar-ng.js +0 -21
  789. package/dist/checkbox-ng/checkbox-ng.js +0 -63
  790. package/dist/compiler-ng/compiler-ng.js +0 -48
  791. package/dist/confirm-ng/confirm-ng.js +0 -67
  792. package/dist/data-list-ng/data-list-ng.js +0 -57
  793. package/dist/dialog-ng/dialog-ng.js +0 -512
  794. package/dist/dialog-ng/dialog-ng__template.js +0 -72
  795. package/dist/docked-panel-ng/docked-panel-ng.js +0 -147
  796. package/dist/error-message-ng/error-message-ng.js +0 -53
  797. package/dist/footer-ng/footer-ng.js +0 -62
  798. package/dist/form-ng/form-ng.js +0 -148
  799. package/dist/global/angular-component-factory.js +0 -73
  800. package/dist/global/ring-angular-component.js +0 -19
  801. package/dist/group-ng/group-ng.js +0 -11
  802. package/dist/heading-ng/heading-ng.js +0 -16
  803. package/dist/icon-ng/icon-ng.js +0 -84
  804. package/dist/input/input-label.d.ts +0 -10
  805. package/dist/input/input-label.js +0 -27
  806. package/dist/input-ng/input-ng.js +0 -146
  807. package/dist/island-ng/island-content-ng.js +0 -53
  808. package/dist/island-ng/island-header-ng.js +0 -32
  809. package/dist/island-ng/island-ng-class-fixer.js +0 -9
  810. package/dist/island-ng/island-ng.js +0 -31
  811. package/dist/link-ng/link-ng.js +0 -23
  812. package/dist/loader-inline-ng/loader-inline-ng.js +0 -14
  813. package/dist/loader-ng/loader-ng.js +0 -36
  814. package/dist/loader-screen-ng/loader-screen-ng.js +0 -87
  815. package/dist/message-bundle-ng/message-bundle-ng.js +0 -68
  816. package/dist/pager-ng/pager-ng.js +0 -97
  817. package/dist/panel-ng/panel-ng.js +0 -16
  818. package/dist/permissions-ng/permissions-ng.js +0 -277
  819. package/dist/place-under-ng/place-under-ng.js +0 -138
  820. package/dist/progress-bar-ng/progress-bar-ng.js +0 -15
  821. package/dist/promised-click-ng/promised-click-ng.js +0 -107
  822. package/dist/proxy-attrs/proxy-attrs.js +0 -19
  823. package/dist/query-assist-ng/query-assist-ng.js +0 -83
  824. package/dist/radio-ng/radio-ng.js +0 -59
  825. package/dist/save-field-ng/save-field-ng.js +0 -291
  826. package/dist/save-field-ng/save-field-ng__template.js +0 -34
  827. package/dist/select-ng/select-ng.js +0 -577
  828. package/dist/select-ng/select-ng__lazy.js +0 -153
  829. package/dist/select-ng/select-ng__options.js +0 -119
  830. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +0 -107
  831. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +0 -50
  832. package/dist/shortcuts-ng/shortcuts-ng.js +0 -231
  833. package/dist/sidebar-ng/sidebar-ng.js +0 -101
  834. package/dist/sidebar-ng/sidebar-ng__button-template.js +0 -20
  835. package/dist/sidebar-ng/sidebar-ng__template.js +0 -12
  836. package/dist/table-legacy-ng/table-legacy-ng.js +0 -472
  837. package/dist/table-legacy-ng/table-legacy-ng__pager.js +0 -123
  838. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +0 -92
  839. package/dist/table-legacy-ng/table-legacy-ng__selection.js +0 -147
  840. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +0 -53
  841. package/dist/table-ng/smart-table-ng.js +0 -67
  842. package/dist/table-ng/table-ng.js +0 -66
  843. package/dist/tabs-ng/tabs-ng.js +0 -172
  844. package/dist/tabs-ng/tabs-ng__template.js +0 -40
  845. package/dist/tags-input-ng/tags-input-ng.js +0 -90
  846. package/dist/template-ng/template-ng.js +0 -58
  847. package/dist/title-ng/title-ng.js +0 -103
  848. package/dist/toggle-ng/toggle-ng.js +0 -16
  849. package/dist/tooltip-ng/tooltip-ng.js +0 -96
  850. package/dist/user-card-ng/user-card-ng.js +0 -67
@@ -1,620 +0,0 @@
1
- /* global inject */
2
- /* eslint-disable no-magic-numbers */
3
-
4
- import angular from 'angular';
5
- import 'angular-mocks';
6
-
7
- import Select from '../select/select';
8
- import styles from '../select/select.css';
9
-
10
- import SelectNg from './select-ng';
11
-
12
- describe('Select Ng', () => {
13
- let scope;
14
- let element;
15
- let ctrl;
16
- let $compile;
17
-
18
- const fakeItems = [
19
- {id: 1, name: '11'},
20
- {id: 2, name: '22'},
21
- {id: 3, name: '33'}
22
- ];
23
-
24
- beforeEach(window.module(SelectNg));
25
-
26
- function compileTemplate(template) {
27
- element = $compile(template)(scope);
28
- ctrl = element.controller('rgSelect');
29
- scope.$digest();
30
- }
31
-
32
- beforeEach(inject(($rootScope, _$compile_) => {
33
- scope = $rootScope.$new();
34
- $compile = _$compile_;
35
-
36
- scope.items = angular.copy(fakeItems);
37
- scope.selectedItem = scope.items[2];
38
- scope.selectedItems = scope.items.slice(1);
39
-
40
- compileTemplate('<rg-select options="item.name for item in items track by item.id" ng-model="selectedItem"></rg-select>');
41
- }));
42
-
43
- describe('DOM', () => {
44
- it('Should place container for select inside directive', () => {
45
- element[0].should.contain('span');
46
- });
47
-
48
- it('Should render select inside container', () => {
49
- element[0].should.contain('[data-test=ring-select]');
50
- });
51
-
52
- it('Should not render select if type=dropdown', () => {
53
- compileTemplate('<rg-select options="item.name for item in items track by item.id" ng-model="selectedItem" type="dropdown"></rg-select>');
54
-
55
- element[0].should.not.contain('[data-test=ring-select]');
56
- });
57
- });
58
-
59
- describe('Interface', () => {
60
- function selected(_ctrl) {
61
- return _ctrl.selectInstance.props.selected;
62
- }
63
-
64
- it('Should unmount react component on destroy', () => {
65
- initializeReactSelect(element[0]);
66
- ctrl.$onDestroy();
67
- should.not.exist(ctrl.selectInstance.node);
68
- });
69
-
70
- it('Should receive ngModel controller', () => {
71
- ctrl.ngModelCtrl.should.exist;
72
- });
73
-
74
- it('Should extend passed config', () => {
75
- scope.config = {someField: 'test'};
76
- compileTemplate('<rg-select options="item.name for item in items track by item.id" ng-model="selectedItem" config="config"></rg-select>');
77
-
78
- ctrl.config.someField.should.equal('test');
79
- });
80
-
81
- it('Should work without ng-model', () => {
82
- function initDirective() {
83
- compileTemplate('<rg-select options="item.name for item in items track by item.id"></rg-select>');
84
- }
85
-
86
- initDirective.should.not.throw;
87
- });
88
-
89
- it('Should update selected item on ngModel updates', () => {
90
- const newLabel = 'Some new label';
91
- scope.selectedItem.name = newLabel;
92
- scope.$digest();
93
- selected(ctrl).label.should.equal(newLabel);
94
- });
95
-
96
- it('Should clear selected item on ngModel clearing', () => {
97
- scope.selectedItem = null;
98
- scope.$digest();
99
- should.not.exist(selected(ctrl));
100
- });
101
-
102
- it('Should not get options on on initialization', () => {
103
- ctrl.selectInstance.props.data.length.should.equal(0);
104
- });
105
-
106
- it('Should get options on open', () => {
107
- ctrl.config.onBeforeOpen();
108
- scope.$digest();
109
- ctrl.selectInstance.props.data.length.should.equal(fakeItems.length);
110
- });
111
-
112
- it('Should convert ngModel to select supported object', () => {
113
- selected(ctrl).key.should.equal(scope.selectedItem.id);
114
- selected(ctrl).label.should.equal(scope.selectedItem.name);
115
- });
116
-
117
- it('Should convert options to select supported objects', () => {
118
- ctrl.loadOptionsToSelect();
119
- scope.$digest();
120
- ctrl.selectInstance.props.data[0].key.should.equal(fakeItems[0].id);
121
- ctrl.selectInstance.props.data[0].label.should.equal(fakeItems[0].name);
122
- });
123
-
124
- it('Should reject promise on loading error', inject($q => {
125
- const onError = sandbox.spy();
126
- sandbox.stub(ctrl, 'getOptions').returns($q.reject());
127
- ctrl.loadOptionsToSelect().catch(onError);
128
- scope.$digest();
129
- onError.should.be.called;
130
- }));
131
-
132
- it('Should use default type "Button" if type is not passed', () => {
133
- compileTemplate('<rg-select options="item.name for item in items track by item.id" ng-model="selectedItem"></rg-select>');
134
- ctrl.selectInstance.props.type.should.equal(Select.Type.BUTTON);
135
- });
136
-
137
- it('Should support type "input"', () => {
138
- compileTemplate('<rg-select options="item.name for item in items track by item.id" ng-model="selectedItem" type="input"></rg-select>');
139
- ctrl.selectInstance.props.type.should.equal(Select.Type.INPUT);
140
- });
141
-
142
- it('Should support type "dropdown', () => {
143
- compileTemplate('<rg-select options="item.name for item in items track by item.id" ng-model="selectedItem" type="dropdown"></rg-select>');
144
- ctrl.selectInstance.props.type.should.equal(Select.Type.CUSTOM);
145
- });
146
-
147
- it('Should support selectedLabelField customization', () => {
148
- scope.selectedItem.testField = 'test';
149
- compileTemplate('<rg-select options="item.name select as item.testField for item in items track by item.id" ng-model="selectedItem"></rg-select>');
150
- selected(ctrl).selectedLabel.should.equal('test');
151
- });
152
-
153
- it('Should support selected formatter function', () => {
154
- scope.formatter = sandbox.stub().returns('Formatted label');
155
-
156
- compileTemplate('<rg-select options="item.name select as formatter(item) for item in items track by item.id" external-filter="true" ng-model="selectedItem"></rg-select>');
157
-
158
- selected(ctrl).selectedLabel.should.equal('Formatted label');
159
- });
160
-
161
- it('Should support description customization', () => {
162
- scope.selectedItem.testField = 'test';
163
- compileTemplate('<rg-select options="item.name describe as item.testField for item in items track by item.id" ng-model="selectedItem"></rg-select>');
164
-
165
- selected(ctrl).description.should.equal('test');
166
- });
167
-
168
- it('Should support description and selected label customization together', () => {
169
- scope.selectedItem.selectText = 'test';
170
- scope.selectedItem.descriptionText = 'description';
171
- compileTemplate('<rg-select options="item.name select as item.selectText describe as item.descriptionText for item in items track by item.id" ng-model="selectedItem"></rg-select>');
172
-
173
- selected(ctrl).selectedLabel.should.equal(scope.selectedItem.selectText);
174
- selected(ctrl).description.should.equal(scope.selectedItem.descriptionText);
175
- });
176
-
177
- it('Should not call get option by value for description customization', () => {
178
- scope.selectedItem.descriptionText = 'description';
179
-
180
- element = $compile('<rg-select options="item.name describe as item.descriptionText for item in items track by item.id" ng-model="selectedItem"></rg-select>')(scope);
181
- ctrl = element.controller('rgSelect');
182
- sandbox.spy(ctrl.optionsParser, 'getOptions');
183
- scope.$digest();
184
-
185
- ctrl.optionsParser.getOptions.should.not.called;
186
- });
187
-
188
- it('Should not call get option by value for select label customization', () => {
189
- scope.selectedItem.selectText = 'Test';
190
-
191
- element = $compile('<rg-select options="item.name select as item.descriptionText for item in items track by item.id" ng-model="selectedItem"></rg-select>')(scope);
192
- ctrl = element.controller('rgSelect');
193
- sandbox.spy(ctrl.optionsParser, 'getOptions');
194
- scope.$digest();
195
-
196
- ctrl.optionsParser.getOptions.should.not.called;
197
- });
198
-
199
- it('Should not call get option by value for description and selected label customization together', () => {
200
- scope.selectedItem.selectText = 'test';
201
- scope.selectedItem.descriptionText = 'description';
202
-
203
- element = $compile('<rg-select options="item.name select as item.selectText describe as item.descriptionText for item in items track by item.id" ng-model="selectedItem"></rg-select>')(scope);
204
- ctrl = element.controller('rgSelect');
205
- sandbox.spy(ctrl.optionsParser, 'getOptions');
206
- scope.$digest();
207
-
208
- ctrl.optionsParser.getOptions.should.not.called;
209
- });
210
-
211
- it('Should save original model in select items', () => {
212
- ctrl.loadOptionsToSelect();
213
- scope.$digest();
214
- ctrl.selectInstance.props.data[0].originalModel.should.deep.equal(fakeItems[0]);
215
- });
216
-
217
- it('Should update ng-model on selecting', () => {
218
- ctrl.config.onChange({originalModel: fakeItems[0]});
219
- scope.$digest();
220
- scope.selectedItem.should.equal(fakeItems[0]);
221
- });
222
-
223
- it('Should clear ng-model on clearing select', () => {
224
- ctrl.config.onChange(null);
225
- scope.$digest();
226
- should.not.exist(scope.selectedItem);
227
- });
228
-
229
- it('Should call datasource on opening', () => {
230
- scope.dataSource = sandbox.stub().returns(fakeItems);
231
-
232
- compileTemplate('<rg-select options="item.name for item in dataSource(query) track by item.id" external-filter="true" ng-model="selectedItem"></rg-select>');
233
-
234
- ctrl.config.onBeforeOpen();
235
- scope.$digest();
236
- scope.dataSource.should.have.been.called;
237
- });
238
-
239
- it('Should call datasource on filtering if external filter enabled', () => {
240
- scope.dataSource = sandbox.stub().returns(fakeItems);
241
-
242
- compileTemplate('<rg-select options="item.name for item in dataSource(query) track by item.id" external-filter="true" ng-model="selectedItem"></rg-select>');
243
-
244
- ctrl.config.onFilter('test');
245
- scope.$digest();
246
- scope.dataSource.should.have.been.calledWith('test');
247
- });
248
-
249
- it('Should reload options with a controller query', () => {
250
- const queryMock = 'query';
251
- ctrl.query = queryMock;
252
- sandbox.spy(ctrl, 'loadOptionsToSelect');
253
-
254
- ctrl.config.reloadOptions();
255
- scope.$digest();
256
-
257
- ctrl.loadOptionsToSelect.should.have.been.calledWith(queryMock);
258
- });
259
-
260
- it('Should reload options with a provided query parameter', () => {
261
- const queryMock = 'query';
262
- ctrl.query = 'ctrlQuery';
263
- sandbox.spy(ctrl, 'loadOptionsToSelect');
264
-
265
- ctrl.config.reloadOptions(queryMock);
266
- scope.$digest();
267
-
268
- ctrl.loadOptionsToSelect.should.have.been.calledWith(queryMock);
269
- });
270
-
271
- it('If externalFilter enabled should provide custom filter.fn which should always return true', () => {
272
- compileTemplate('<rg-select options="item.name for item in items track by item.id" external-filter="true" ng-model="selectedItem"></rg-select>');
273
-
274
- ctrl.filter.fn().should.be.true;
275
- });
276
-
277
- it('Should be disabled if disabled', () => {
278
- compileTemplate('<rg-select options="item.name for item in items track by item.id" ng-model="selectedItem" ng-disabled="true"></rg-select>');
279
-
280
- element[0].should.contain(`.${styles.disabled}`);
281
- });
282
-
283
- it('Should hide on route changes ($locationChangeSuccess)', () => {
284
- sandbox.stub(ctrl.selectInstance._popup, 'isVisible').returns(true);
285
- ctrl.selectInstance._hidePopup = sandbox.stub();
286
-
287
- scope.$broadcast('$locationChangeSuccess');
288
- ctrl.selectInstance._hidePopup.should.have.been.called;
289
- });
290
-
291
- it('Should not try to hide on route changes if not showed ($locationChangeSuccess)', () => {
292
- sandbox.stub(ctrl.selectInstance._popup, 'isVisible').returns(false);
293
- ctrl.selectInstance._hidePopup = sandbox.stub();
294
-
295
- scope.$broadcast('$locationChangeSuccess');
296
- ctrl.selectInstance._hidePopup.should.not.have.been.called;
297
- });
298
-
299
- it('Should extend select model with properties from ng model', () => {
300
- const selectModel = ctrl.convertNgModelToSelect({ext: 'test'});
301
- selectModel.ext.should.equal('test');
302
- });
303
-
304
- it('Should not try to extend select model with string', () => {
305
- sandbox.spy(angular, 'extend');
306
- const stringValue = 'str-value';
307
- ctrl.convertNgModelToSelect(stringValue);
308
- angular.extend.should.been.calledWith(sandbox.match({}), null);
309
- });
310
-
311
- it('Should use select-type if defined', () => {
312
- compileTemplate('<button rg-select="" options="itemvar in items track by itemvar.id" select-type="dropdown" type="submit"></button>');
313
-
314
- ctrl.selectInstance.props.type.should.equal(Select.Type.CUSTOM);
315
- });
316
-
317
- it('Should use "multiple" attribute and provide it to select', () => {
318
- compileTemplate('<rg-select options="item.name for item in items track by item.id" multiple="true" ng-model="selectedItems"></rg-select>');
319
-
320
- ctrl.selectInstance.props.multiple.should.be.true;
321
- });
322
-
323
- it('Should watch "multiple" and update select after change', () => {
324
- scope.selectMultiple = false;
325
- compileTemplate('<rg-select options="item.name for item in items track by item.id" multiple="selectMultiple" ng-model="selectedItems"></rg-select>');
326
-
327
- scope.selectMultiple = true;
328
- scope.$digest();
329
- ctrl.selectInstance.props.multiple.should.be.true;
330
- });
331
-
332
- it('Should return deselected item', () => {
333
- scope.selectedItem = scope.items[1];
334
- ctrl.config.onDeselect({originalModel: fakeItems[1]});
335
- scope.$digest();
336
-
337
- ctrl.selectInstance.props.selected.label.should.equal(fakeItems[1].name);
338
- });
339
-
340
- it('Should rerender with new config if config changed and autosync enabled', () => {
341
- scope.config = {};
342
- compileTemplate('<rg-select options="item.name for item in items track by item.id" ng-model="selectedItem" config="config" config-auto-update="true"></rg-select>');
343
-
344
- sandbox.spy(ctrl.selectInstance, 'rerender');
345
- scope.config.add = {label: 'fooo'};
346
- scope.$digest();
347
-
348
- ctrl.selectInstance.rerender.should.have.been.calledWith(sinon.match({add: {label: 'fooo'}}));
349
- });
350
-
351
-
352
- it('Should correctly reinitialize select with config', () => {
353
- const template = '<rg-select type="dropdown" options="item.name for item in items track by item.id" ng-model="selectedItem" config="config" config-auto-update="true"></rg-select>';
354
- scope.config = {};
355
-
356
- compileTemplate(template);
357
- initializeReactSelect(element[0]);
358
- scope.$digest();
359
- ctrl.$onDestroy();
360
-
361
- compileTemplate(template);
362
- initializeReactSelect(element[0]);
363
- scope.$digest();
364
- });
365
-
366
-
367
- it('Should update config and do not loose new selected items', () => {
368
- scope.config = {someField: 'AAA'};
369
- scope.selectedItem = [scope.items[1]];
370
- compileTemplate('<rg-select multiple=true options="item.name for item in items track by item.id" ng-model="selectedItem" config="config" config-auto-update="true"></rg-select>');
371
-
372
- selected(ctrl).length.should.equal(1);
373
-
374
- const newItems = [scope.items[0], scope.items[1]];
375
- scope.selectedItem = newItems;
376
- scope.$digest();
377
- selected(ctrl).length.should.equal(newItems.length);
378
-
379
- scope.config.someField = 'BBB';
380
- scope.$digest();
381
-
382
- selected(ctrl).length.should.equal(newItems.length);
383
- });
384
- });
385
-
386
- describe('Options parser', () => {
387
- it('Should support syntax "item in items"', () => {
388
- scope.items = [{key: 1, label: 'test1'}];
389
- scope.selectedItem = scope.items[0];
390
-
391
- compileTemplate('<rg-select options="item in items" ng-model="selectedItem"></rg-select>');
392
- ctrl.config.onBeforeOpen();
393
- scope.$digest();
394
- ctrl.selectInstance.props.data.length.should.equal(1);
395
- });
396
-
397
- it('Should support "item for item in items"', () => {
398
- scope.items = [{key: 1, label: 'test1'}];
399
- scope.selectedItem = scope.items[0];
400
- compileTemplate('<rg-select options="item as item.label for item in items" ng-model="selectedItem"></rg-select>');
401
- ctrl.config.onBeforeOpen();
402
- scope.$digest();
403
- ctrl.selectInstance.props.data[0].key.should.equal(scope.items[0].key);
404
- });
405
-
406
- it('Should support labeling item', () => {
407
- compileTemplate('<rg-select options="item.name for item in items track by item.id" ng-model="selectedItem"></rg-select>');
408
- ctrl.selectInstance.props.selected.label.should.equal(fakeItems[2].name);
409
- });
410
-
411
- it('Should support labeling item simple syntax', () => {
412
- scope.items = [{key: 1, name: 'test1'}];
413
- scope.selectedItem = scope.items[0];
414
- compileTemplate('<rg-select options="item.name for item in items" ng-model="selectedItem"></rg-select>');
415
- ctrl.selectInstance.props.selected.label.should.equal('test1');
416
- });
417
-
418
- it('Should support function as label', () => {
419
- scope.getLabel = sandbox.stub().returns('test label');
420
-
421
- compileTemplate('<rg-select options="getLabel(item) for item in items track by item.id" ng-model="selectedItem"></rg-select>');
422
-
423
- ctrl.optionsParser.getLabel(fakeItems[0]).should.equal('test label');
424
- scope.getLabel.should.been.calledWith(fakeItems[0]);
425
- });
426
-
427
- it('Should support custom key field with "track by" expression', () => {
428
- scope.items = [{id: 1, label: 'test1'}];
429
- scope.selectedItem = scope.items[0];
430
- compileTemplate('<rg-select options="item in items track by item.id" ng-model="selectedItem"></rg-select>');
431
-
432
- ctrl.optionsParser.getKey(scope.selectedItem).should.equal(scope.selectedItem.id);
433
- });
434
-
435
- it('Should support custom label field', () => {
436
- scope.options = [{key: 1, name: 'testname'}];
437
-
438
- compileTemplate('<rg-select options="item.name for item in options"></rg-select>');
439
-
440
- ctrl.optionsParser.getLabel(scope.options[0]).should.equal(scope.options[0].name);
441
- });
442
-
443
- it('Should support description', () => {
444
- scope.options = [{key: 1, fullText: 'testname'}];
445
-
446
- compileTemplate('<rg-select options="item.name select as item.fullText for item in options"></rg-select>');
447
-
448
- ctrl.optionsParser.getSelectedLabel(scope.options[0]).should.equal(scope.options[0].fullText);
449
- });
450
-
451
- it('Should support selected label customization', () => {
452
- scope.options = [{key: 1, fullText: 'testname'}];
453
-
454
- compileTemplate('<rg-select options="item.name select as item.fullText for item in options"></rg-select>');
455
-
456
- ctrl.optionsParser.getSelectedLabel(scope.options[0]).should.equal(scope.options[0].fullText);
457
- });
458
-
459
- it('Should pass selected to callback', () => {
460
- scope.options = [{key: 1, label: 'test'}];
461
- const selectedModel = {originalModel: scope.options[0]};
462
- scope.callback = sandbox.spy();
463
-
464
- compileTemplate('<rg-select options="item in options" on-select="callback(selected)"></rg-select>');
465
- ctrl.config.onSelect(selectedModel);
466
- scope.$digest();
467
-
468
- scope.callback.should.have.been.calledWith(selectedModel);
469
- });
470
-
471
- it('Should pass an event to a callback as a second parameter', () => {
472
- scope.event = {};
473
- scope.onSelect = sandbox.spy();
474
- scope.onDeselect = sandbox.spy();
475
- scope.onChange = sandbox.spy();
476
- scope.options = [{}];
477
- const model = {originalModel: scope.options[0]};
478
-
479
- compileTemplate('<rg-select options="item in options" on-change="onChange(selected,event)" on-select="onSelect(selected,event)" on-deselect="onDeselect(deselected,event)"></rg-select>');
480
- ctrl.config.onSelect(model, scope.event);
481
- ctrl.config.onChange(model, scope.event);
482
- ctrl.config.onDeselect(model, scope.event);
483
- scope.$digest();
484
-
485
- scope.onSelect.should.have.been.calledWith(model, scope.event);
486
- scope.onDeselect.should.have.been.calledWith(model, scope.event);
487
- scope.onChange.should.have.been.calledWith(model, scope.event);
488
- });
489
-
490
- it('Should take just plain option as label if option is string', () => {
491
- ctrl.optionsParser.getLabel('test').should.equal('test');
492
- });
493
-
494
- it('Should return no label if option is object and no valid label mapping provided', () => {
495
- should.not.exist(ctrl.optionsParser.getLabel({foo: 'bar'}));
496
- });
497
-
498
- it('Should support custom property for ng-model', () => {
499
- const optionMock = {value: 1, label: 'label'};
500
- scope.options = [optionMock];
501
- scope.selectedOption = null;
502
-
503
- compileTemplate('<rg-select ng-model="selectedOption" options="item.value as item.label for item in options"></rg-select>');
504
- ctrl.config.onChange({originalModel: optionMock});
505
-
506
- scope.selectedOption.should.equal(optionMock.value);
507
- });
508
-
509
- it('Should update select if we pass custom ng-model', () => {
510
- const optionMock = {value: 1, label: 'label'};
511
- scope.options = [optionMock];
512
- scope.selectedOption = optionMock.value;
513
-
514
- compileTemplate('<rg-select ng-model="selectedOption" options="item.value as item.label for item in options" lazy="false"></rg-select>');
515
-
516
- ctrl.selectInstance.props.selected.label.should.equal(optionMock.label);
517
- });
518
-
519
- it('Should call only once data source function for primitive ng-model', () => {
520
- function createOptionMock(value) {
521
- return {
522
- value,
523
- label: `label ${value}`
524
- };
525
- }
526
-
527
- scope.options = [
528
- createOptionMock(1),
529
- createOptionMock(2),
530
- createOptionMock(3),
531
- createOptionMock(4)
532
- ];
533
-
534
- scope.selectedOption = scope.options[0];
535
- scope.getOptions = sandbox.stub().returns(scope.options);
536
-
537
- compileTemplate('<rg-select ng-model="selectedOption" options="item.value as item.label for item in getOptions()"></rg-select>');
538
- ctrl.loadOptionsToSelect('');
539
- scope.$digest();
540
-
541
- scope.getOptions.should.been.calledOnce;
542
- });
543
-
544
- it('Should correct update select if options have "track by" with "for" expressions without "as"', () => {
545
- compileTemplate('<rg-select ng-model="selectedItem" options="item.name for item in items track by item.id"></rg-select>');
546
- ctrl.config.onChange({originalModel: fakeItems[0]});
547
- scope.$digest();
548
-
549
- scope.selectedItem.should.equal(fakeItems[0]);
550
- });
551
-
552
- it('Should update select if list of options load after ng-model', () => {
553
-
554
- /**
555
- * In case `lazy=false` rg-select behave like angular select
556
- * It will watch options collection on every digest that may slowdown performance
557
- */
558
- scope.items = null;
559
- scope.selectedItem = fakeItems[0].id;
560
- compileTemplate('<rg-select ng-model="selectedItem" lazy="false" options="item.id as item.name for item in items track by item.id"></rg-select>');
561
- scope.$digest();
562
-
563
- scope.items = angular.copy(fakeItems);
564
- scope.$digest();
565
-
566
- ctrl.selectInstance.props.selected.label.should.equal(fakeItems[0].name);
567
- });
568
-
569
- it('Should update select if list of options load after ng-model and update existing array not changing reference', () => {
570
- scope.items = [];
571
- scope.selectedItem = fakeItems[0].id;
572
- compileTemplate('<rg-select ng-model="selectedItem" lazy="false" options="item.id as item.name for item in items track by item.id"></rg-select>');
573
- scope.$digest();
574
-
575
- scope.items = angular.extend(scope.items, fakeItems);
576
- scope.$digest();
577
-
578
- ctrl.selectInstance.props.selected.label.should.equal(fakeItems[0].name);
579
- });
580
-
581
- it('Should throw exception if we have two options with same ng-model value', () => {
582
- const optionMock = {value: 1, label: 'label'};
583
- scope.options = [optionMock, optionMock];
584
- scope.selectedOption = optionMock.value;
585
-
586
- function compile() {
587
- compileTemplate('<rg-select ng-model="selectedOption" options="item.value as item.label for item in options" lazy="false"></rg-select>');
588
- }
589
-
590
- compile.should.throw(Error);
591
- });
592
-
593
- it('Should parse option variable name', () => {
594
- compileTemplate('<rg-select options="itemvar in items track by itemvar.id"></rg-select>');
595
-
596
- ctrl.optionsParser.optionVariableName.should.be.equal('itemvar');
597
- });
598
-
599
- it('should clear last query on close', () => {
600
- ctrl.query = 'query';
601
- ctrl.config.onClose();
602
- scope.$digest();
603
-
604
- should.not.exist(ctrl.query);
605
- });
606
- });
607
-
608
- function initializeReactSelect(node) {
609
- simulateClick(findContainerNode(node));
610
- }
611
-
612
- function simulateClick(node) {
613
- const clickEvent = new CustomEvent('click');
614
- node.dispatchEvent(clickEvent);
615
- }
616
-
617
- function findContainerNode(node) {
618
- return node.querySelector('span');
619
- }
620
- });