@atlaskit/editor-common 74.19.1 → 74.20.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 (311) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/link/LinkPicker/EditorLinkPicker/index.js +86 -0
  3. package/dist/cjs/link/LinkPicker/EditorLinkPicker/useEscapeClickaway.js +32 -0
  4. package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +939 -0
  5. package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/index.js +79 -0
  6. package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/messages.js +40 -0
  7. package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/utils.js +84 -0
  8. package/dist/cjs/link/LinkSearch/LinkSearchList.js +83 -0
  9. package/dist/cjs/link/LinkSearch/LinkSearchListItem.js +146 -0
  10. package/dist/cjs/link/LinkSearch/ToolbarComponents.js +17 -0
  11. package/dist/cjs/link/LinkSearch/index.js +328 -0
  12. package/dist/cjs/link/LinkSearch/listItemAlts.js +70 -0
  13. package/dist/cjs/link/LinkSearch/transformTimeStamp.js +42 -0
  14. package/dist/cjs/link/LinkSearch/types.js +5 -0
  15. package/dist/cjs/link/LinkSearch/withActivityProvider.js +59 -0
  16. package/dist/cjs/link/index.js +122 -0
  17. package/dist/cjs/link/types.js +22 -0
  18. package/dist/cjs/link/utils.js +19 -0
  19. package/dist/cjs/monitoring/error.js +1 -1
  20. package/dist/cjs/quick-insert/assets/action.js +43 -0
  21. package/dist/cjs/quick-insert/assets/code.js +115 -0
  22. package/dist/cjs/quick-insert/assets/custom-panel.js +55 -0
  23. package/dist/cjs/quick-insert/assets/date.js +93 -0
  24. package/dist/cjs/quick-insert/assets/decision.js +34 -0
  25. package/dist/cjs/quick-insert/assets/divider.js +74 -0
  26. package/dist/cjs/quick-insert/assets/emoji.js +37 -0
  27. package/dist/cjs/quick-insert/assets/expand.js +47 -0
  28. package/dist/cjs/quick-insert/assets/fallback.js +55 -0
  29. package/dist/cjs/quick-insert/assets/feedback.js +70 -0
  30. package/dist/cjs/quick-insert/assets/heading1.js +50 -0
  31. package/dist/cjs/quick-insert/assets/heading2.js +50 -0
  32. package/dist/cjs/quick-insert/assets/heading3.js +50 -0
  33. package/dist/cjs/quick-insert/assets/heading4.js +50 -0
  34. package/dist/cjs/quick-insert/assets/heading5.js +50 -0
  35. package/dist/cjs/quick-insert/assets/heading6.js +50 -0
  36. package/dist/cjs/quick-insert/assets/images.js +92 -0
  37. package/dist/cjs/quick-insert/assets/index.js +372 -0
  38. package/dist/cjs/quick-insert/assets/layout.js +71 -0
  39. package/dist/cjs/quick-insert/assets/link.js +35 -0
  40. package/dist/cjs/quick-insert/assets/list-number.js +51 -0
  41. package/dist/cjs/quick-insert/assets/list.js +65 -0
  42. package/dist/cjs/quick-insert/assets/mention.js +56 -0
  43. package/dist/cjs/quick-insert/assets/panel-error.js +35 -0
  44. package/dist/cjs/quick-insert/assets/panel-note.js +35 -0
  45. package/dist/cjs/quick-insert/assets/panel-success.js +35 -0
  46. package/dist/cjs/quick-insert/assets/panel-warning.js +35 -0
  47. package/dist/cjs/quick-insert/assets/panel.js +50 -0
  48. package/dist/cjs/quick-insert/assets/quote.js +35 -0
  49. package/dist/cjs/quick-insert/assets/status.js +109 -0
  50. package/dist/cjs/quick-insert/index.js +150 -0
  51. package/dist/cjs/types/block-type.js +5 -0
  52. package/dist/cjs/types/image-upload-reference-event.js +5 -0
  53. package/dist/cjs/ui/Announcer/announcer.js +62 -0
  54. package/dist/cjs/ui/DropList/index.js +1 -1
  55. package/dist/cjs/ui/PanelTextInput/index.js +174 -0
  56. package/dist/cjs/ui/PanelTextInput/styles.js +19 -0
  57. package/dist/cjs/ui/index.js +21 -0
  58. package/dist/cjs/utils/commands.js +20 -0
  59. package/dist/cjs/utils/hyperlink.js +25 -2
  60. package/dist/cjs/utils/index.js +24 -1
  61. package/dist/cjs/version.json +1 -1
  62. package/dist/es2019/link/LinkPicker/EditorLinkPicker/index.js +74 -0
  63. package/dist/es2019/link/LinkPicker/EditorLinkPicker/useEscapeClickaway.js +25 -0
  64. package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +789 -0
  65. package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/index.js +74 -0
  66. package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/messages.js +33 -0
  67. package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/utils.js +83 -0
  68. package/dist/es2019/link/LinkSearch/LinkSearchList.js +63 -0
  69. package/dist/es2019/link/LinkSearch/LinkSearchListItem.js +141 -0
  70. package/dist/es2019/link/LinkSearch/ToolbarComponents.js +20 -0
  71. package/dist/es2019/link/LinkSearch/index.js +213 -0
  72. package/dist/es2019/link/LinkSearch/listItemAlts.js +63 -0
  73. package/dist/es2019/link/LinkSearch/transformTimeStamp.js +34 -0
  74. package/dist/es2019/link/LinkSearch/types.js +1 -0
  75. package/dist/es2019/link/LinkSearch/withActivityProvider.js +35 -0
  76. package/dist/es2019/link/index.js +11 -0
  77. package/dist/es2019/link/types.js +14 -0
  78. package/dist/es2019/link/utils.js +12 -0
  79. package/dist/es2019/monitoring/error.js +1 -1
  80. package/dist/es2019/quick-insert/assets/action.js +35 -0
  81. package/dist/es2019/quick-insert/assets/code.js +107 -0
  82. package/dist/es2019/quick-insert/assets/custom-panel.js +47 -0
  83. package/dist/es2019/quick-insert/assets/date.js +85 -0
  84. package/dist/es2019/quick-insert/assets/decision.js +26 -0
  85. package/dist/es2019/quick-insert/assets/divider.js +66 -0
  86. package/dist/es2019/quick-insert/assets/emoji.js +29 -0
  87. package/dist/es2019/quick-insert/assets/expand.js +39 -0
  88. package/dist/es2019/quick-insert/assets/fallback.js +47 -0
  89. package/dist/es2019/quick-insert/assets/feedback.js +62 -0
  90. package/dist/es2019/quick-insert/assets/heading1.js +42 -0
  91. package/dist/es2019/quick-insert/assets/heading2.js +42 -0
  92. package/dist/es2019/quick-insert/assets/heading3.js +42 -0
  93. package/dist/es2019/quick-insert/assets/heading4.js +42 -0
  94. package/dist/es2019/quick-insert/assets/heading5.js +42 -0
  95. package/dist/es2019/quick-insert/assets/heading6.js +42 -0
  96. package/dist/es2019/quick-insert/assets/images.js +84 -0
  97. package/dist/es2019/quick-insert/assets/index.js +115 -0
  98. package/dist/es2019/quick-insert/assets/layout.js +63 -0
  99. package/dist/es2019/quick-insert/assets/link.js +27 -0
  100. package/dist/es2019/quick-insert/assets/list-number.js +43 -0
  101. package/dist/es2019/quick-insert/assets/list.js +57 -0
  102. package/dist/es2019/quick-insert/assets/mention.js +48 -0
  103. package/dist/es2019/quick-insert/assets/panel-error.js +27 -0
  104. package/dist/es2019/quick-insert/assets/panel-note.js +27 -0
  105. package/dist/es2019/quick-insert/assets/panel-success.js +27 -0
  106. package/dist/es2019/quick-insert/assets/panel-warning.js +27 -0
  107. package/dist/es2019/quick-insert/assets/panel.js +42 -0
  108. package/dist/es2019/quick-insert/assets/quote.js +27 -0
  109. package/dist/es2019/quick-insert/assets/status.js +101 -0
  110. package/dist/es2019/quick-insert/index.js +1 -0
  111. package/dist/es2019/types/block-type.js +1 -0
  112. package/dist/es2019/types/image-upload-reference-event.js +1 -0
  113. package/dist/es2019/ui/Announcer/announcer.js +41 -0
  114. package/dist/es2019/ui/DropList/index.js +1 -1
  115. package/dist/es2019/ui/PanelTextInput/index.js +149 -0
  116. package/dist/es2019/ui/PanelTextInput/styles.js +36 -0
  117. package/dist/es2019/ui/index.js +4 -1
  118. package/dist/es2019/utils/commands.js +11 -0
  119. package/dist/es2019/utils/hyperlink.js +19 -1
  120. package/dist/es2019/utils/index.js +8 -2
  121. package/dist/es2019/version.json +1 -1
  122. package/dist/esm/link/LinkPicker/EditorLinkPicker/index.js +76 -0
  123. package/dist/esm/link/LinkPicker/EditorLinkPicker/useEscapeClickaway.js +25 -0
  124. package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +924 -0
  125. package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/index.js +72 -0
  126. package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/messages.js +33 -0
  127. package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/utils.js +73 -0
  128. package/dist/esm/link/LinkSearch/LinkSearchList.js +75 -0
  129. package/dist/esm/link/LinkSearch/LinkSearchListItem.js +131 -0
  130. package/dist/esm/link/LinkSearch/ToolbarComponents.js +7 -0
  131. package/dist/esm/link/LinkSearch/index.js +320 -0
  132. package/dist/esm/link/LinkSearch/listItemAlts.js +63 -0
  133. package/dist/esm/link/LinkSearch/transformTimeStamp.js +34 -0
  134. package/dist/esm/link/LinkSearch/types.js +1 -0
  135. package/dist/esm/link/LinkSearch/withActivityProvider.js +52 -0
  136. package/dist/esm/link/index.js +11 -0
  137. package/dist/esm/link/types.js +14 -0
  138. package/dist/esm/link/utils.js +12 -0
  139. package/dist/esm/monitoring/error.js +1 -1
  140. package/dist/esm/quick-insert/assets/action.js +35 -0
  141. package/dist/esm/quick-insert/assets/code.js +107 -0
  142. package/dist/esm/quick-insert/assets/custom-panel.js +47 -0
  143. package/dist/esm/quick-insert/assets/date.js +85 -0
  144. package/dist/esm/quick-insert/assets/decision.js +26 -0
  145. package/dist/esm/quick-insert/assets/divider.js +66 -0
  146. package/dist/esm/quick-insert/assets/emoji.js +29 -0
  147. package/dist/esm/quick-insert/assets/expand.js +39 -0
  148. package/dist/esm/quick-insert/assets/fallback.js +47 -0
  149. package/dist/esm/quick-insert/assets/feedback.js +62 -0
  150. package/dist/esm/quick-insert/assets/heading1.js +42 -0
  151. package/dist/esm/quick-insert/assets/heading2.js +42 -0
  152. package/dist/esm/quick-insert/assets/heading3.js +42 -0
  153. package/dist/esm/quick-insert/assets/heading4.js +42 -0
  154. package/dist/esm/quick-insert/assets/heading5.js +42 -0
  155. package/dist/esm/quick-insert/assets/heading6.js +42 -0
  156. package/dist/esm/quick-insert/assets/images.js +84 -0
  157. package/dist/esm/quick-insert/assets/index.js +248 -0
  158. package/dist/esm/quick-insert/assets/layout.js +63 -0
  159. package/dist/esm/quick-insert/assets/link.js +27 -0
  160. package/dist/esm/quick-insert/assets/list-number.js +43 -0
  161. package/dist/esm/quick-insert/assets/list.js +57 -0
  162. package/dist/esm/quick-insert/assets/mention.js +48 -0
  163. package/dist/esm/quick-insert/assets/panel-error.js +27 -0
  164. package/dist/esm/quick-insert/assets/panel-note.js +27 -0
  165. package/dist/esm/quick-insert/assets/panel-success.js +27 -0
  166. package/dist/esm/quick-insert/assets/panel-warning.js +27 -0
  167. package/dist/esm/quick-insert/assets/panel.js +42 -0
  168. package/dist/esm/quick-insert/assets/quote.js +27 -0
  169. package/dist/esm/quick-insert/assets/status.js +101 -0
  170. package/dist/esm/quick-insert/index.js +1 -0
  171. package/dist/esm/types/block-type.js +1 -0
  172. package/dist/esm/types/image-upload-reference-event.js +1 -0
  173. package/dist/esm/ui/Announcer/announcer.js +52 -0
  174. package/dist/esm/ui/DropList/index.js +1 -1
  175. package/dist/esm/ui/PanelTextInput/index.js +168 -0
  176. package/dist/esm/ui/PanelTextInput/styles.js +10 -0
  177. package/dist/esm/ui/index.js +4 -1
  178. package/dist/esm/utils/commands.js +13 -0
  179. package/dist/esm/utils/hyperlink.js +23 -1
  180. package/dist/esm/utils/index.js +12 -2
  181. package/dist/esm/version.json +1 -1
  182. package/dist/types/link/LinkPicker/EditorLinkPicker/index.d.ts +23 -0
  183. package/dist/types/link/LinkPicker/EditorLinkPicker/useEscapeClickaway.d.ts +2 -0
  184. package/dist/types/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.d.ts +115 -0
  185. package/dist/types/link/LinkPicker/HyperlinkAddToolbar/index.d.ts +21 -0
  186. package/dist/types/link/LinkPicker/HyperlinkAddToolbar/messages.d.ts +32 -0
  187. package/dist/types/link/LinkPicker/HyperlinkAddToolbar/utils.d.ts +8 -0
  188. package/dist/types/link/LinkSearch/LinkSearchList.d.ts +20 -0
  189. package/dist/types/link/LinkSearch/LinkSearchListItem.d.ts +22 -0
  190. package/dist/types/link/LinkSearch/ToolbarComponents.d.ts +3 -0
  191. package/dist/types/link/LinkSearch/index.d.ts +59 -0
  192. package/dist/types/link/LinkSearch/listItemAlts.d.ts +2 -0
  193. package/dist/types/link/LinkSearch/transformTimeStamp.d.ts +10 -0
  194. package/dist/types/link/LinkSearch/types.d.ts +49 -0
  195. package/dist/types/link/LinkSearch/withActivityProvider.d.ts +66 -0
  196. package/dist/types/link/index.d.ts +16 -0
  197. package/dist/types/link/types.d.ts +40 -0
  198. package/dist/types/link/utils.d.ts +3 -0
  199. package/dist/types/provider-factory/image-upload-provider.d.ts +2 -1
  200. package/dist/types/quick-insert/assets/action.d.ts +2 -0
  201. package/dist/types/quick-insert/assets/code.d.ts +2 -0
  202. package/dist/types/quick-insert/assets/custom-panel.d.ts +2 -0
  203. package/dist/types/quick-insert/assets/date.d.ts +2 -0
  204. package/dist/types/quick-insert/assets/decision.d.ts +2 -0
  205. package/dist/types/quick-insert/assets/divider.d.ts +2 -0
  206. package/dist/types/quick-insert/assets/emoji.d.ts +2 -0
  207. package/dist/types/quick-insert/assets/expand.d.ts +2 -0
  208. package/dist/types/quick-insert/assets/fallback.d.ts +2 -0
  209. package/dist/types/quick-insert/assets/feedback.d.ts +2 -0
  210. package/dist/types/quick-insert/assets/heading1.d.ts +2 -0
  211. package/dist/types/quick-insert/assets/heading2.d.ts +2 -0
  212. package/dist/types/quick-insert/assets/heading3.d.ts +2 -0
  213. package/dist/types/quick-insert/assets/heading4.d.ts +2 -0
  214. package/dist/types/quick-insert/assets/heading5.d.ts +2 -0
  215. package/dist/types/quick-insert/assets/heading6.d.ts +2 -0
  216. package/dist/types/quick-insert/assets/images.d.ts +2 -0
  217. package/dist/types/quick-insert/assets/index.d.ts +30 -0
  218. package/dist/types/quick-insert/assets/layout.d.ts +2 -0
  219. package/dist/types/quick-insert/assets/link.d.ts +2 -0
  220. package/dist/types/quick-insert/assets/list-number.d.ts +2 -0
  221. package/dist/types/quick-insert/assets/list.d.ts +2 -0
  222. package/dist/types/quick-insert/assets/mention.d.ts +2 -0
  223. package/dist/types/quick-insert/assets/panel-error.d.ts +2 -0
  224. package/dist/types/quick-insert/assets/panel-note.d.ts +2 -0
  225. package/dist/types/quick-insert/assets/panel-success.d.ts +2 -0
  226. package/dist/types/quick-insert/assets/panel-warning.d.ts +2 -0
  227. package/dist/types/quick-insert/assets/panel.d.ts +2 -0
  228. package/dist/types/quick-insert/assets/quote.d.ts +2 -0
  229. package/dist/types/quick-insert/assets/status.d.ts +2 -0
  230. package/dist/types/quick-insert/index.d.ts +1 -0
  231. package/dist/types/react-node-view/index.d.ts +2 -2
  232. package/dist/types/types/block-type.d.ts +3 -0
  233. package/dist/types/types/command.d.ts +1 -0
  234. package/dist/types/types/image-upload-reference-event.d.ts +10 -0
  235. package/dist/types/types/index.d.ts +3 -1
  236. package/dist/types/ui/Announcer/announcer.d.ts +22 -0
  237. package/dist/types/ui/DropList/index.d.ts +1 -1
  238. package/dist/types/ui/PanelTextInput/index.d.ts +45 -0
  239. package/dist/types/ui/PanelTextInput/styles.d.ts +2 -0
  240. package/dist/types/ui/index.d.ts +3 -0
  241. package/dist/types/ui-menu/ToolbarButton/index.d.ts +1 -1
  242. package/dist/types/utils/commands.d.ts +2 -0
  243. package/dist/types/utils/hyperlink.d.ts +2 -0
  244. package/dist/types/utils/index.d.ts +3 -1
  245. package/dist/types-ts4.5/link/LinkPicker/EditorLinkPicker/index.d.ts +23 -0
  246. package/dist/types-ts4.5/link/LinkPicker/EditorLinkPicker/useEscapeClickaway.d.ts +2 -0
  247. package/dist/types-ts4.5/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.d.ts +115 -0
  248. package/dist/types-ts4.5/link/LinkPicker/HyperlinkAddToolbar/index.d.ts +21 -0
  249. package/dist/types-ts4.5/link/LinkPicker/HyperlinkAddToolbar/messages.d.ts +32 -0
  250. package/dist/types-ts4.5/link/LinkPicker/HyperlinkAddToolbar/utils.d.ts +8 -0
  251. package/dist/types-ts4.5/link/LinkSearch/LinkSearchList.d.ts +20 -0
  252. package/dist/types-ts4.5/link/LinkSearch/LinkSearchListItem.d.ts +22 -0
  253. package/dist/types-ts4.5/link/LinkSearch/ToolbarComponents.d.ts +3 -0
  254. package/dist/types-ts4.5/link/LinkSearch/index.d.ts +59 -0
  255. package/dist/types-ts4.5/link/LinkSearch/listItemAlts.d.ts +2 -0
  256. package/dist/types-ts4.5/link/LinkSearch/transformTimeStamp.d.ts +10 -0
  257. package/dist/types-ts4.5/link/LinkSearch/types.d.ts +49 -0
  258. package/dist/types-ts4.5/link/LinkSearch/withActivityProvider.d.ts +66 -0
  259. package/dist/types-ts4.5/link/index.d.ts +16 -0
  260. package/dist/types-ts4.5/link/types.d.ts +40 -0
  261. package/dist/types-ts4.5/link/utils.d.ts +3 -0
  262. package/dist/types-ts4.5/provider-factory/image-upload-provider.d.ts +2 -1
  263. package/dist/types-ts4.5/quick-insert/assets/action.d.ts +2 -0
  264. package/dist/types-ts4.5/quick-insert/assets/code.d.ts +2 -0
  265. package/dist/types-ts4.5/quick-insert/assets/custom-panel.d.ts +2 -0
  266. package/dist/types-ts4.5/quick-insert/assets/date.d.ts +2 -0
  267. package/dist/types-ts4.5/quick-insert/assets/decision.d.ts +2 -0
  268. package/dist/types-ts4.5/quick-insert/assets/divider.d.ts +2 -0
  269. package/dist/types-ts4.5/quick-insert/assets/emoji.d.ts +2 -0
  270. package/dist/types-ts4.5/quick-insert/assets/expand.d.ts +2 -0
  271. package/dist/types-ts4.5/quick-insert/assets/fallback.d.ts +2 -0
  272. package/dist/types-ts4.5/quick-insert/assets/feedback.d.ts +2 -0
  273. package/dist/types-ts4.5/quick-insert/assets/heading1.d.ts +2 -0
  274. package/dist/types-ts4.5/quick-insert/assets/heading2.d.ts +2 -0
  275. package/dist/types-ts4.5/quick-insert/assets/heading3.d.ts +2 -0
  276. package/dist/types-ts4.5/quick-insert/assets/heading4.d.ts +2 -0
  277. package/dist/types-ts4.5/quick-insert/assets/heading5.d.ts +2 -0
  278. package/dist/types-ts4.5/quick-insert/assets/heading6.d.ts +2 -0
  279. package/dist/types-ts4.5/quick-insert/assets/images.d.ts +2 -0
  280. package/dist/types-ts4.5/quick-insert/assets/index.d.ts +30 -0
  281. package/dist/types-ts4.5/quick-insert/assets/layout.d.ts +2 -0
  282. package/dist/types-ts4.5/quick-insert/assets/link.d.ts +2 -0
  283. package/dist/types-ts4.5/quick-insert/assets/list-number.d.ts +2 -0
  284. package/dist/types-ts4.5/quick-insert/assets/list.d.ts +2 -0
  285. package/dist/types-ts4.5/quick-insert/assets/mention.d.ts +2 -0
  286. package/dist/types-ts4.5/quick-insert/assets/panel-error.d.ts +2 -0
  287. package/dist/types-ts4.5/quick-insert/assets/panel-note.d.ts +2 -0
  288. package/dist/types-ts4.5/quick-insert/assets/panel-success.d.ts +2 -0
  289. package/dist/types-ts4.5/quick-insert/assets/panel-warning.d.ts +2 -0
  290. package/dist/types-ts4.5/quick-insert/assets/panel.d.ts +2 -0
  291. package/dist/types-ts4.5/quick-insert/assets/quote.d.ts +2 -0
  292. package/dist/types-ts4.5/quick-insert/assets/status.d.ts +2 -0
  293. package/dist/types-ts4.5/quick-insert/index.d.ts +1 -0
  294. package/dist/types-ts4.5/react-node-view/index.d.ts +2 -2
  295. package/dist/types-ts4.5/types/block-type.d.ts +3 -0
  296. package/dist/types-ts4.5/types/command.d.ts +1 -0
  297. package/dist/types-ts4.5/types/image-upload-reference-event.d.ts +10 -0
  298. package/dist/types-ts4.5/types/index.d.ts +3 -1
  299. package/dist/types-ts4.5/ui/Announcer/announcer.d.ts +22 -0
  300. package/dist/types-ts4.5/ui/DropList/index.d.ts +1 -1
  301. package/dist/types-ts4.5/ui/PanelTextInput/index.d.ts +45 -0
  302. package/dist/types-ts4.5/ui/PanelTextInput/styles.d.ts +2 -0
  303. package/dist/types-ts4.5/ui/index.d.ts +3 -0
  304. package/dist/types-ts4.5/ui-menu/ToolbarButton/index.d.ts +1 -1
  305. package/dist/types-ts4.5/utils/commands.d.ts +2 -0
  306. package/dist/types-ts4.5/utils/hyperlink.d.ts +2 -0
  307. package/dist/types-ts4.5/utils/index.d.ts +3 -1
  308. package/link/package.json +15 -0
  309. package/package.json +13 -5
  310. package/quick-insert/package.json +15 -0
  311. package/tmp/api-report-tmp.d.ts +0 -9
@@ -0,0 +1,939 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.visuallyHiddenStyles = exports.messages = exports.default = exports.RECENT_SEARCH_LIST_SIZE = exports.HyperlinkLinkAddToolbarWithIntl = exports.HyperlinkLinkAddToolbar = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
21
+ var _react = _interopRequireWildcard(require("react"));
22
+ var _react2 = require("@emotion/react");
23
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
24
+ var _reactIntlNext = require("react-intl-next");
25
+ var _adfSchema = require("@atlaskit/adf-schema");
26
+ var _analyticsNext = require("@atlaskit/analytics-next");
27
+ var _ = _interopRequireDefault(require("@atlaskit/icon-object/glyph/page/16"));
28
+ var _crossCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/cross-circle"));
29
+ var _alignLeft = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/align-left"));
30
+ var _link = _interopRequireDefault(require("@atlaskit/icon/glyph/link"));
31
+ var _colors = require("@atlaskit/theme/colors");
32
+ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
33
+ var _analytics = require("../../../analytics");
34
+ var _messages = require("../../../messages");
35
+ var _ui = require("../../../ui");
36
+ var _utils = require("../../../utils");
37
+ var _LinkSearchList = _interopRequireDefault(require("../../LinkSearch/LinkSearchList"));
38
+ var _ToolbarComponents = require("../../LinkSearch/ToolbarComponents");
39
+ var _transformTimeStamp = require("../../LinkSearch/transformTimeStamp");
40
+ var _utils2 = require("./utils");
41
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
42
+ /** @jsx jsx */
43
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
44
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
46
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
+ /**
48
+ * Visible only to screenreaders. Use when there is a need
49
+ * to provide more context to a non-sighted user.
50
+ */
51
+ var visuallyHiddenStyles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n clip: rect(1px, 1px, 1px, 1px);\n clip-path: inset(50%);\n height: 1px;\n width: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n"])));
52
+ exports.visuallyHiddenStyles = visuallyHiddenStyles;
53
+ var RECENT_SEARCH_LIST_SIZE = 5;
54
+ exports.RECENT_SEARCH_LIST_SIZE = RECENT_SEARCH_LIST_SIZE;
55
+ var clearText = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n cursor: pointer;\n padding: 0;\n margin-right: ", ";\n color: ", ";\n background: transparent;\n border: none;\n"])), "var(--ds-space-100, 8px)", "var(--ds-icon-subtle, ".concat(_colors.N90, ")"));
56
+ var textInputWrapper = (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n border-top: 1px solid ", ";\n border-bottom: 1px solid ", ";\n"])), _ToolbarComponents.inputWrapper, "var(--ds-border, ".concat(_colors.N30, ")"), "var(--ds-border, ".concat(_colors.N30, ")"));
57
+ var iconWrapper = (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n padding: ", " ", ";\n width: 18px;\n"])), "var(--ds-icon-subtle, ".concat(_colors.N80, ")"), "var(--ds-space-050, 4px)", "var(--ds-space-100, 8px)");
58
+ var messages = (0, _reactIntlNext.defineMessages)({
59
+ displayText: {
60
+ id: 'fabric.editor.displayText',
61
+ defaultMessage: 'Text to display',
62
+ description: 'Text to display'
63
+ },
64
+ clearText: {
65
+ id: 'fabric.editor.clearLinkText',
66
+ defaultMessage: 'Clear text',
67
+ description: 'Clears text on the link toolbar'
68
+ },
69
+ clearLink: {
70
+ id: 'fabric.editor.clearLink',
71
+ defaultMessage: 'Clear link',
72
+ description: 'Clears link in the link toolbar'
73
+ },
74
+ searchLinkAriaDescription: {
75
+ id: 'fabric.editor.hyperlink.searchLinkAriaDescription',
76
+ defaultMessage: 'Suggestions will appear below as you type into the field',
77
+ description: 'Describes what the search field does for screen reader users.'
78
+ },
79
+ searchLinkResults: {
80
+ id: 'fabric.editor.hyperlink.searchLinkResults',
81
+ defaultMessage: '{count, plural, =0 {no results} one {# result} other {# results}} found',
82
+ description: 'Announce search results for screen-reader users.'
83
+ },
84
+ linkAriaLabel: {
85
+ id: 'fabric.editor.hyperlink.linkAriaLabel',
86
+ defaultMessage: 'Link label',
87
+ description: 'aria label for a link'
88
+ }
89
+ });
90
+ exports.messages = messages;
91
+ var defaultIcon = (0, _react2.jsx)(_.default, {
92
+ label: 'page'
93
+ });
94
+ var mapActivityProviderResultToLinkSearchItemData = function mapActivityProviderResultToLinkSearchItemData(_ref) {
95
+ var name = _ref.name,
96
+ container = _ref.container,
97
+ iconUrl = _ref.iconUrl,
98
+ objectId = _ref.objectId,
99
+ url = _ref.url,
100
+ viewedTimestamp = _ref.viewedTimestamp;
101
+ return {
102
+ objectId: objectId,
103
+ name: name,
104
+ container: container,
105
+ iconUrl: iconUrl,
106
+ url: url,
107
+ lastViewedDate: viewedTimestamp ? new Date(viewedTimestamp) : undefined,
108
+ prefetch: true
109
+ };
110
+ };
111
+ var mapSearchProviderResultToLinkSearchItemData = function mapSearchProviderResultToLinkSearchItemData(_ref2) {
112
+ var objectId = _ref2.objectId,
113
+ container = _ref2.container,
114
+ title = _ref2.title,
115
+ contentType = _ref2.contentType,
116
+ url = _ref2.url,
117
+ updatedTimestamp = _ref2.updatedTimestamp;
118
+ return {
119
+ objectId: objectId,
120
+ container: container,
121
+ name: title,
122
+ url: url,
123
+ lastUpdatedDate: updatedTimestamp ? new Date(updatedTimestamp) : undefined,
124
+ icon: contentType && _utils2.mapContentTypeToIcon[contentType] || defaultIcon,
125
+ prefetch: false
126
+ };
127
+ };
128
+ var HyperlinkLinkAddToolbar = /*#__PURE__*/function (_PureComponent) {
129
+ (0, _inherits2.default)(HyperlinkLinkAddToolbar, _PureComponent);
130
+ var _super = _createSuper(HyperlinkLinkAddToolbar);
131
+ function HyperlinkLinkAddToolbar(props) {
132
+ var _this;
133
+ (0, _classCallCheck2.default)(this, HyperlinkLinkAddToolbar);
134
+ _this = _super.call(this, props);
135
+ /* To prevent double submit */
136
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "submitted", false);
137
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "urlInputContainer", null);
138
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "displayTextInputContainer", null);
139
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "wrapperRef", /*#__PURE__*/_react.default.createRef());
140
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "quickSearchQueryVersion", 0);
141
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "analyticSource", 'createLinkInlineDialog');
142
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "quickSearch", /*#__PURE__*/function () {
143
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(input, items, quickSearchLimit) {
144
+ var _pluginState$searchSe;
145
+ var _this$state, searchProvider, displayUrl, pluginState, queryVersion, perfStart, _pluginState$searchSe2, searchProviderResultItems, searchItems, perfStop, duration, _perfStop, _duration;
146
+ return _regenerator.default.wrap(function _callee$(_context) {
147
+ while (1) switch (_context.prev = _context.next) {
148
+ case 0:
149
+ _this$state = _this.state, searchProvider = _this$state.searchProvider, displayUrl = _this$state.displayUrl;
150
+ pluginState = _this.props.pluginState;
151
+ if (searchProvider) {
152
+ _context.next = 4;
153
+ break;
154
+ }
155
+ return _context.abrupt("return");
156
+ case 4:
157
+ queryVersion = ++_this.quickSearchQueryVersion;
158
+ _this.fireAnalytics({
159
+ action: _analytics.ACTION.ENTERED,
160
+ actionSubject: _analytics.ACTION_SUBJECT.TEXT,
161
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.LINK_SEARCH_INPUT,
162
+ attributes: {
163
+ queryLength: input.length,
164
+ queryVersion: queryVersion,
165
+ queryHash: (0, _utils2.sha1)(input),
166
+ searchSessionId: (_pluginState$searchSe = pluginState.searchSessionId) !== null && _pluginState$searchSe !== void 0 ? _pluginState$searchSe : '',
167
+ wordCount: (0, _utils2.wordCount)(input),
168
+ source: _this.analyticSource
169
+ },
170
+ nonPrivacySafeAttributes: {
171
+ query: input
172
+ },
173
+ eventType: _analytics.EVENT_TYPE.UI
174
+ });
175
+ perfStart = performance.now();
176
+ _context.prev = 7;
177
+ _context.next = 10;
178
+ return searchProvider.quickSearch(input, quickSearchLimit);
179
+ case 10:
180
+ searchProviderResultItems = _context.sent;
181
+ searchItems = limit((0, _utils2.filterUniqueItems)([].concat((0, _toConsumableArray2.default)(items), (0, _toConsumableArray2.default)(searchProviderResultItems.map(mapSearchProviderResultToLinkSearchItemData))), function (firstItem, secondItem) {
182
+ return firstItem.objectId === secondItem.objectId;
183
+ }));
184
+ if (displayUrl === input && queryVersion === _this.quickSearchQueryVersion) {
185
+ _this.setState({
186
+ items: searchItems,
187
+ isLoading: false
188
+ });
189
+ }
190
+ perfStop = performance.now();
191
+ duration = perfStop - perfStart;
192
+ _this.fireAnalytics({
193
+ action: _analytics.ACTION.INVOKED,
194
+ actionSubject: _analytics.ACTION_SUBJECT.SEARCH_RESULT,
195
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.QUICK_SEARCH,
196
+ attributes: {
197
+ duration: duration,
198
+ count: searchProviderResultItems.length
199
+ },
200
+ eventType: _analytics.EVENT_TYPE.OPERATIONAL
201
+ });
202
+ _this.fireAnalytics({
203
+ action: _analytics.ACTION.SHOWN,
204
+ actionSubject: _analytics.ACTION_SUBJECT.SEARCH_RESULT,
205
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.POST_QUERY_SEARCH_RESULTS,
206
+ attributes: {
207
+ source: _this.analyticSource,
208
+ postQueryRequestDurationMs: duration,
209
+ searchSessionId: (_pluginState$searchSe2 = pluginState.searchSessionId) !== null && _pluginState$searchSe2 !== void 0 ? _pluginState$searchSe2 : '',
210
+ resultCount: searchProviderResultItems.length,
211
+ results: searchProviderResultItems.map(function (item) {
212
+ return {
213
+ resultContentId: item.objectId,
214
+ resultType: item.contentType
215
+ };
216
+ })
217
+ },
218
+ eventType: _analytics.EVENT_TYPE.UI
219
+ });
220
+ _context.next = 24;
221
+ break;
222
+ case 19:
223
+ _context.prev = 19;
224
+ _context.t0 = _context["catch"](7);
225
+ _perfStop = performance.now();
226
+ _duration = _perfStop - perfStart;
227
+ _this.fireAnalytics({
228
+ action: _analytics.ACTION.INVOKED,
229
+ actionSubject: _analytics.ACTION_SUBJECT.SEARCH_RESULT,
230
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.QUICK_SEARCH,
231
+ attributes: {
232
+ duration: _duration,
233
+ count: -1,
234
+ errorCode: _context.t0.status
235
+ },
236
+ nonPrivacySafeAttributes: {
237
+ error: _context.t0.message
238
+ },
239
+ eventType: _analytics.EVENT_TYPE.OPERATIONAL
240
+ });
241
+ case 24:
242
+ case "end":
243
+ return _context.stop();
244
+ }
245
+ }, _callee, null, [[7, 19]]);
246
+ }));
247
+ return function (_x, _x2, _x3) {
248
+ return _ref3.apply(this, arguments);
249
+ };
250
+ }());
251
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateInput", /*#__PURE__*/function () {
252
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(input) {
253
+ var _this$state2, activityProvider, searchProvider, _items, shouldQuerySearchProvider;
254
+ return _regenerator.default.wrap(function _callee2$(_context2) {
255
+ while (1) switch (_context2.prev = _context2.next) {
256
+ case 0:
257
+ _this$state2 = _this.state, activityProvider = _this$state2.activityProvider, searchProvider = _this$state2.searchProvider;
258
+ _this.setState({
259
+ displayUrl: input
260
+ });
261
+ if (!activityProvider) {
262
+ _context2.next = 23;
263
+ break;
264
+ }
265
+ if (!(input.length === 0)) {
266
+ _context2.next = 13;
267
+ break;
268
+ }
269
+ _context2.t0 = _this;
270
+ _context2.next = 7;
271
+ return _this.getRecentItems(activityProvider);
272
+ case 7:
273
+ _context2.t1 = _context2.sent;
274
+ _context2.t2 = -1;
275
+ _context2.t3 = {
276
+ items: _context2.t1,
277
+ selectedIndex: _context2.t2
278
+ };
279
+ _context2.t0.setState.call(_context2.t0, _context2.t3);
280
+ _context2.next = 23;
281
+ break;
282
+ case 13:
283
+ if (!(0, _adfSchema.isSafeUrl)(input)) {
284
+ _context2.next = 17;
285
+ break;
286
+ }
287
+ _this.setState({
288
+ items: [],
289
+ selectedIndex: -1,
290
+ isLoading: false
291
+ });
292
+ _context2.next = 23;
293
+ break;
294
+ case 17:
295
+ _context2.next = 19;
296
+ return _this.getRecentItems(activityProvider, input);
297
+ case 19:
298
+ _items = _context2.sent;
299
+ shouldQuerySearchProvider = _items.length < RECENT_SEARCH_LIST_SIZE && !!searchProvider;
300
+ _this.setState({
301
+ items: _items,
302
+ isLoading: shouldQuerySearchProvider
303
+ });
304
+ if (shouldQuerySearchProvider) {
305
+ _this.debouncedQuickSearch(input, _items, RECENT_SEARCH_LIST_SIZE);
306
+ }
307
+ case 23:
308
+ case "end":
309
+ return _context2.stop();
310
+ }
311
+ }, _callee2);
312
+ }));
313
+ return function (_x4) {
314
+ return _ref4.apply(this, arguments);
315
+ };
316
+ }());
317
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createClearHandler", function (field) {
318
+ return /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
319
+ var activityProvider, _this$setState;
320
+ return _regenerator.default.wrap(function _callee3$(_context3) {
321
+ while (1) switch (_context3.prev = _context3.next) {
322
+ case 0:
323
+ activityProvider = _this.state.activityProvider;
324
+ _context3.t0 = field;
325
+ _context3.next = _context3.t0 === 'displayUrl' ? 4 : _context3.t0 === 'displayText' ? 24 : 26;
326
+ break;
327
+ case 4:
328
+ _context3.t1 = _this;
329
+ _this$setState = {};
330
+ (0, _defineProperty2.default)(_this$setState, field, '');
331
+ _context3.t2 = _defineProperty2.default;
332
+ _context3.t3 = _this$setState;
333
+ if (!activityProvider) {
334
+ _context3.next = 17;
335
+ break;
336
+ }
337
+ _context3.t5 = limit;
338
+ _context3.next = 13;
339
+ return activityProvider.getRecentItems();
340
+ case 13:
341
+ _context3.t6 = _context3.sent;
342
+ _context3.t4 = (0, _context3.t5)(_context3.t6);
343
+ _context3.next = 18;
344
+ break;
345
+ case 17:
346
+ _context3.t4 = [];
347
+ case 18:
348
+ _context3.t7 = _context3.t4;
349
+ (0, _context3.t2)(_context3.t3, "items", _context3.t7);
350
+ _context3.t8 = _this$setState;
351
+ _context3.t1.setState.call(_context3.t1, _context3.t8);
352
+ if (_this.urlInputContainer) {
353
+ _this.urlInputContainer.focus();
354
+ }
355
+ return _context3.abrupt("break", 26);
356
+ case 24:
357
+ _this.setState((0, _defineProperty2.default)({}, field, ''));
358
+ if (_this.displayTextInputContainer) {
359
+ _this.displayTextInputContainer.focus();
360
+ }
361
+ case 26:
362
+ case "end":
363
+ return _context3.stop();
364
+ }
365
+ }, _callee3);
366
+ }));
367
+ });
368
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleClickOutside", function (event) {
369
+ if (event.target instanceof Element && _this.wrapperRef.current && !_this.wrapperRef.current.contains(event.target)) {
370
+ var _this$props = _this.props,
371
+ _this$props$view = _this$props.view,
372
+ state = _this$props$view.state,
373
+ dispatch = _this$props$view.dispatch,
374
+ onClickAwayCallback = _this$props.onClickAwayCallback;
375
+ onClickAwayCallback === null || onClickAwayCallback === void 0 ? void 0 : onClickAwayCallback(state, dispatch);
376
+ }
377
+ });
378
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getScreenReaderText", function () {
379
+ var intl = _this.props.intl;
380
+ var _this$state3 = _this.state,
381
+ items = _this$state3.items,
382
+ selectedIndex = _this$state3.selectedIndex;
383
+ if (items.length && selectedIndex > -1) {
384
+ var _items$selectedIndex = items[selectedIndex],
385
+ name = _items$selectedIndex.name,
386
+ _container = _items$selectedIndex.container,
387
+ lastUpdatedDate = _items$selectedIndex.lastUpdatedDate,
388
+ lastViewedDate = _items$selectedIndex.lastViewedDate;
389
+ var date = (0, _transformTimeStamp.transformTimeStamp)(intl, lastViewedDate, lastUpdatedDate);
390
+ return "".concat(name, ", ").concat(_container, ", ").concat(date === null || date === void 0 ? void 0 : date.pageAction, " ").concat(date === null || date === void 0 ? void 0 : date.dateString, " ").concat((date === null || date === void 0 ? void 0 : date.timeSince) || '');
391
+ }
392
+ });
393
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isUrlPopulatedWithSelectedItem", function () {
394
+ /**
395
+ * When we use ArrowKey to navigate through result items,
396
+ * the URL field will be populated with the content of
397
+ * selected item.
398
+ * This function will check if the URL field is populated
399
+ * with selected item.
400
+ * It can be useful to detect whether we want to insert a
401
+ * smartlink or a hyperlink with customized title
402
+ */
403
+ var _this$state4 = _this.state,
404
+ items = _this$state4.items,
405
+ selectedIndex = _this$state4.selectedIndex,
406
+ displayUrl = _this$state4.displayUrl;
407
+ var selectedItem = items[selectedIndex];
408
+ if (selectedItem && selectedItem.url === displayUrl) {
409
+ return true;
410
+ }
411
+ return false;
412
+ });
413
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleSelected", function (href, text) {
414
+ _this.handleInsert(href, text, _analytics.INPUT_METHOD.TYPEAHEAD, 'click');
415
+ });
416
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleInsert", function (href, title, inputType, interaction) {
417
+ var _this$props2 = _this.props,
418
+ pluginState = _this$props2.pluginState,
419
+ onSubmit = _this$props2.onSubmit;
420
+ var _this$state5 = _this.state,
421
+ items = _this$state5.items,
422
+ selectedIndex = _this$state5.selectedIndex,
423
+ displayText = _this$state5.displayText;
424
+ if (onSubmit) {
425
+ _this.submitted = true;
426
+ onSubmit(href, title, displayText, inputType);
427
+ }
428
+ if (interaction === 'click' || _this.isUrlPopulatedWithSelectedItem()) {
429
+ var _pluginState$searchSe3, _selectedItem$prefetc;
430
+ /**
431
+ * When it's a mouse click even or the selectedItem.url matches displayUrl, we think
432
+ * it's selected from the result list and fire the
433
+ * analytic
434
+ */
435
+ var selectedItem = items[selectedIndex];
436
+ _this.fireAnalytics({
437
+ action: _analytics.ACTION.SELECTED,
438
+ actionSubject: _analytics.ACTION_SUBJECT.SEARCH_RESULT,
439
+ attributes: {
440
+ source: _this.analyticSource,
441
+ searchSessionId: (_pluginState$searchSe3 = pluginState.searchSessionId) !== null && _pluginState$searchSe3 !== void 0 ? _pluginState$searchSe3 : '',
442
+ trigger: interaction,
443
+ resultCount: items.length,
444
+ selectedResultId: selectedItem.objectId,
445
+ selectedRelativePosition: selectedIndex,
446
+ prefetch: (_selectedItem$prefetc = selectedItem.prefetch) !== null && _selectedItem$prefetc !== void 0 ? _selectedItem$prefetc : false
447
+ },
448
+ eventType: _analytics.EVENT_TYPE.UI
449
+ });
450
+ }
451
+ });
452
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleMouseEnterResultItem", function (objectId) {
453
+ var items = _this.state.items;
454
+ var index = findIndex(items, function (item) {
455
+ return item.objectId === objectId;
456
+ });
457
+ _this.setState({
458
+ selectedIndex: index
459
+ });
460
+ });
461
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleMouseLeaveResultItem", function (objectId) {
462
+ var _this$state6 = _this.state,
463
+ items = _this$state6.items,
464
+ selectedIndex = _this$state6.selectedIndex;
465
+ var index = findIndex(items, function (item) {
466
+ return item.objectId === objectId;
467
+ });
468
+ // This is to avoid updating index that was set by other mouseenter event
469
+ if (selectedIndex === index) {
470
+ _this.setState({
471
+ selectedIndex: -1
472
+ });
473
+ }
474
+ });
475
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleSubmit", function () {
476
+ var _this$state7 = _this.state,
477
+ displayUrl = _this$state7.displayUrl,
478
+ selectedIndex = _this$state7.selectedIndex,
479
+ items = _this$state7.items;
480
+ var selectedItem = items[selectedIndex];
481
+ if (_this.isUrlPopulatedWithSelectedItem()) {
482
+ _this.handleInsert((0, _utils.normalizeUrl)(selectedItem.url), selectedItem.name, _analytics.INPUT_METHOD.TYPEAHEAD, 'keyboard');
483
+ } else if (displayUrl && displayUrl.length > 0) {
484
+ var url = (0, _utils.normalizeUrl)(displayUrl);
485
+ if (url) {
486
+ _this.handleInsert(url, displayUrl, _analytics.INPUT_METHOD.MANUAL, 'notselected');
487
+ }
488
+ }
489
+ });
490
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleClearTextKeyDown", function (event) {
491
+ var KEY_CODE_TAB = 9;
492
+ var keyCode = event.keyCode;
493
+ if (keyCode === KEY_CODE_TAB) {
494
+ if (!_this.submitted) {
495
+ var _this$state8 = _this.state,
496
+ displayUrl = _this$state8.displayUrl,
497
+ _displayText = _this$state8.displayText;
498
+ var url = (0, _utils.normalizeUrl)(displayUrl);
499
+ _this.handleInsert(url, _displayText || displayUrl, _analytics.INPUT_METHOD.MANUAL, 'notselected');
500
+ }
501
+ event.preventDefault();
502
+ return;
503
+ }
504
+ });
505
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleKeyDown", function (event) {
506
+ var _this$state9 = _this.state,
507
+ items = _this$state9.items,
508
+ selectedIndex = _this$state9.selectedIndex;
509
+ var _this$props3 = _this.props,
510
+ pluginState = _this$props3.pluginState,
511
+ view = _this$props3.view,
512
+ onEscapeCallback = _this$props3.onEscapeCallback;
513
+ var keyCode = event.keyCode;
514
+ var KEY_CODE_ESCAPE = 27;
515
+ var KEY_CODE_ARROW_DOWN = 40;
516
+ var KEY_CODE_ARROW_UP = 38;
517
+ if (keyCode === KEY_CODE_ESCAPE) {
518
+ // escape
519
+ event.preventDefault();
520
+ var state = view.state,
521
+ dispatch = view.dispatch;
522
+ onEscapeCallback === null || onEscapeCallback === void 0 ? void 0 : onEscapeCallback(state, dispatch);
523
+ return;
524
+ }
525
+ if (!items || !items.length) {
526
+ return;
527
+ }
528
+ var updatedIndex = selectedIndex;
529
+ if (keyCode === KEY_CODE_ARROW_DOWN) {
530
+ // down
531
+ event.preventDefault();
532
+ updatedIndex = (selectedIndex + 1) % items.length;
533
+ } else if (keyCode === KEY_CODE_ARROW_UP) {
534
+ // up
535
+ event.preventDefault();
536
+ updatedIndex = selectedIndex > 0 ? selectedIndex - 1 : items.length - 1;
537
+ }
538
+ if ([KEY_CODE_ARROW_DOWN, KEY_CODE_ARROW_UP].includes(keyCode) && items[updatedIndex]) {
539
+ var _pluginState$searchSe4;
540
+ _this.setState({
541
+ selectedIndex: updatedIndex,
542
+ displayUrl: items[updatedIndex].url
543
+ });
544
+ _this.fireAnalytics({
545
+ action: _analytics.ACTION.HIGHLIGHTED,
546
+ actionSubject: _analytics.ACTION_SUBJECT.SEARCH_RESULT,
547
+ attributes: {
548
+ source: _this.analyticSource,
549
+ searchSessionId: (_pluginState$searchSe4 = pluginState.searchSessionId) !== null && _pluginState$searchSe4 !== void 0 ? _pluginState$searchSe4 : '',
550
+ selectedResultId: items[updatedIndex].objectId,
551
+ selectedRelativePosition: updatedIndex
552
+ },
553
+ eventType: _analytics.EVENT_TYPE.UI
554
+ });
555
+ }
556
+ });
557
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateTextInput", function (displayText) {
558
+ _this.setState({
559
+ displayText: displayText
560
+ });
561
+ });
562
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleCancel", function (e) {
563
+ var _this$props4 = _this.props,
564
+ _this$props4$view = _this$props4.view,
565
+ state = _this$props4$view.state,
566
+ dispatch = _this$props4$view.dispatch,
567
+ onClickAwayCallback = _this$props4.onClickAwayCallback;
568
+ e.preventDefault();
569
+ onClickAwayCallback === null || onClickAwayCallback === void 0 ? void 0 : onClickAwayCallback(state, dispatch);
570
+ });
571
+ _this.state = {
572
+ selectedIndex: -1,
573
+ isLoading: false,
574
+ displayUrl: (0, _utils.normalizeUrl)(props.displayUrl),
575
+ displayText: props.displayText,
576
+ items: []
577
+ };
578
+
579
+ /* Cache functions */
580
+ _this.handleClearText = _this.createClearHandler('displayUrl');
581
+ _this.handleClearDisplayText = _this.createClearHandler('displayText');
582
+ _this.debouncedQuickSearch = (0, _debounce.default)(_this.quickSearch, 400);
583
+ _this.fireCustomAnalytics = (0, _analytics.fireAnalyticsEvent)(props.createAnalyticsEvent);
584
+ return _this;
585
+ }
586
+ (0, _createClass2.default)(HyperlinkLinkAddToolbar, [{
587
+ key: "componentDidMount",
588
+ value: function () {
589
+ var _componentDidMount = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
590
+ var _pluginState$searchSe5, _pluginState$inputMet;
591
+ var pluginState, _yield$Promise$all, _yield$Promise$all2, activityProvider, searchProvider;
592
+ return _regenerator.default.wrap(function _callee4$(_context4) {
593
+ while (1) switch (_context4.prev = _context4.next) {
594
+ case 0:
595
+ pluginState = this.props.pluginState;
596
+ document.addEventListener('mousedown', this.handleClickOutside);
597
+ this.fireAnalytics({
598
+ action: _analytics.ACTION.VIEWED,
599
+ actionSubject: _analytics.ACTION_SUBJECT.CREATE_LINK_INLINE_DIALOG,
600
+ attributes: {
601
+ timesViewed: pluginState.timesViewed,
602
+ searchSessionId: (_pluginState$searchSe5 = pluginState.searchSessionId) !== null && _pluginState$searchSe5 !== void 0 ? _pluginState$searchSe5 : '',
603
+ trigger: (_pluginState$inputMet = pluginState.inputMethod) !== null && _pluginState$inputMet !== void 0 ? _pluginState$inputMet : ''
604
+ },
605
+ eventType: _analytics.EVENT_TYPE.SCREEN
606
+ });
607
+ _context4.next = 5;
608
+ return Promise.all([this.props.activityProvider, this.props.searchProvider]);
609
+ case 5:
610
+ _yield$Promise$all = _context4.sent;
611
+ _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
612
+ activityProvider = _yield$Promise$all2[0];
613
+ searchProvider = _yield$Promise$all2[1];
614
+ this.setState({
615
+ activityProvider: activityProvider,
616
+ searchProvider: searchProvider
617
+ });
618
+ _context4.next = 12;
619
+ return this.loadInitialLinkSearchResult();
620
+ case 12:
621
+ case "end":
622
+ return _context4.stop();
623
+ }
624
+ }, _callee4, this);
625
+ }));
626
+ function componentDidMount() {
627
+ return _componentDidMount.apply(this, arguments);
628
+ }
629
+ return componentDidMount;
630
+ }()
631
+ }, {
632
+ key: "componentWillUnmount",
633
+ value: function componentWillUnmount() {
634
+ var pluginState = this.props.pluginState;
635
+ document.removeEventListener('mousedown', this.handleClickOutside);
636
+ if (!this.submitted) {
637
+ var _pluginState$searchSe6;
638
+ this.fireAnalytics({
639
+ action: _analytics.ACTION.DISMISSED,
640
+ actionSubject: _analytics.ACTION_SUBJECT.CREATE_LINK_INLINE_DIALOG,
641
+ attributes: {
642
+ source: this.analyticSource,
643
+ searchSessionId: (_pluginState$searchSe6 = pluginState.searchSessionId) !== null && _pluginState$searchSe6 !== void 0 ? _pluginState$searchSe6 : '',
644
+ trigger: 'blur'
645
+ },
646
+ eventType: _analytics.EVENT_TYPE.UI
647
+ });
648
+ }
649
+ }
650
+ }, {
651
+ key: "getRecentItems",
652
+ value: function () {
653
+ var _getRecentItems = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(activityProvider, query) {
654
+ var pluginState, perfStart, _pluginState$searchSe7, activityRecentItems, _items2, perfStop, duration, _perfStop2, _duration2;
655
+ return _regenerator.default.wrap(function _callee5$(_context5) {
656
+ while (1) switch (_context5.prev = _context5.next) {
657
+ case 0:
658
+ pluginState = this.props.pluginState;
659
+ perfStart = performance.now();
660
+ _context5.prev = 2;
661
+ _context5.t0 = limit;
662
+ if (!query) {
663
+ _context5.next = 10;
664
+ break;
665
+ }
666
+ _context5.next = 7;
667
+ return activityProvider.searchRecent(query);
668
+ case 7:
669
+ _context5.t1 = _context5.sent;
670
+ _context5.next = 13;
671
+ break;
672
+ case 10:
673
+ _context5.next = 12;
674
+ return activityProvider.getRecentItems();
675
+ case 12:
676
+ _context5.t1 = _context5.sent;
677
+ case 13:
678
+ _context5.t2 = _context5.t1;
679
+ activityRecentItems = (0, _context5.t0)(_context5.t2);
680
+ _items2 = activityRecentItems.map(mapActivityProviderResultToLinkSearchItemData);
681
+ perfStop = performance.now();
682
+ duration = perfStop - perfStart;
683
+ this.fireAnalytics({
684
+ action: _analytics.ACTION.INVOKED,
685
+ actionSubject: _analytics.ACTION_SUBJECT.SEARCH_RESULT,
686
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.RECENT_ACTIVITIES,
687
+ attributes: {
688
+ duration: duration,
689
+ count: _items2.length
690
+ },
691
+ eventType: _analytics.EVENT_TYPE.OPERATIONAL
692
+ });
693
+ this.fireAnalytics({
694
+ action: _analytics.ACTION.SHOWN,
695
+ actionSubject: _analytics.ACTION_SUBJECT.SEARCH_RESULT,
696
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.PRE_QUERY_SEARCH_RESULTS,
697
+ attributes: {
698
+ source: this.analyticSource,
699
+ preQueryRequestDurationMs: duration,
700
+ searchSessionId: (_pluginState$searchSe7 = pluginState.searchSessionId) !== null && _pluginState$searchSe7 !== void 0 ? _pluginState$searchSe7 : '',
701
+ resultCount: _items2.length,
702
+ results: activityRecentItems.map(function (item) {
703
+ var _item$type;
704
+ return {
705
+ resultContentId: item.objectId,
706
+ resultType: (_item$type = item.type) !== null && _item$type !== void 0 ? _item$type : ''
707
+ };
708
+ })
709
+ },
710
+ eventType: _analytics.EVENT_TYPE.UI
711
+ });
712
+ return _context5.abrupt("return", _items2);
713
+ case 23:
714
+ _context5.prev = 23;
715
+ _context5.t3 = _context5["catch"](2);
716
+ _perfStop2 = performance.now();
717
+ _duration2 = _perfStop2 - perfStart;
718
+ this.fireAnalytics({
719
+ action: _analytics.ACTION.INVOKED,
720
+ actionSubject: _analytics.ACTION_SUBJECT.SEARCH_RESULT,
721
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.RECENT_ACTIVITIES,
722
+ attributes: {
723
+ duration: _duration2,
724
+ count: -1,
725
+ errorCode: _context5.t3.status
726
+ },
727
+ nonPrivacySafeAttributes: {
728
+ error: _context5.t3.message
729
+ },
730
+ eventType: _analytics.EVENT_TYPE.OPERATIONAL
731
+ });
732
+ return _context5.abrupt("return", []);
733
+ case 29:
734
+ case "end":
735
+ return _context5.stop();
736
+ }
737
+ }, _callee5, this, [[2, 23]]);
738
+ }));
739
+ function getRecentItems(_x5, _x6) {
740
+ return _getRecentItems.apply(this, arguments);
741
+ }
742
+ return getRecentItems;
743
+ }()
744
+ }, {
745
+ key: "fireAnalytics",
746
+ value: function fireAnalytics(payload) {
747
+ if (this.props.createAnalyticsEvent && this.fireCustomAnalytics) {
748
+ this.fireCustomAnalytics({
749
+ payload: payload
750
+ });
751
+ }
752
+ }
753
+ }, {
754
+ key: "loadInitialLinkSearchResult",
755
+ value: function () {
756
+ var _loadInitialLinkSearchResult = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
757
+ var _this$state10, displayUrl, activityProvider, _items3;
758
+ return _regenerator.default.wrap(function _callee6$(_context6) {
759
+ while (1) switch (_context6.prev = _context6.next) {
760
+ case 0:
761
+ _this$state10 = this.state, displayUrl = _this$state10.displayUrl, activityProvider = _this$state10.activityProvider;
762
+ _context6.prev = 1;
763
+ if (!(!displayUrl && activityProvider)) {
764
+ _context6.next = 8;
765
+ break;
766
+ }
767
+ this.setState({
768
+ isLoading: true
769
+ });
770
+ _context6.next = 6;
771
+ return this.getRecentItems(activityProvider);
772
+ case 6:
773
+ _items3 = _context6.sent;
774
+ this.setState({
775
+ items: _items3
776
+ });
777
+ case 8:
778
+ _context6.prev = 8;
779
+ this.setState({
780
+ isLoading: false
781
+ });
782
+ return _context6.finish(8);
783
+ case 11:
784
+ case "end":
785
+ return _context6.stop();
786
+ }
787
+ }, _callee6, this, [[1,, 8, 11]]);
788
+ }));
789
+ function loadInitialLinkSearchResult() {
790
+ return _loadInitialLinkSearchResult.apply(this, arguments);
791
+ }
792
+ return loadInitialLinkSearchResult;
793
+ }()
794
+ }, {
795
+ key: "render",
796
+ value: function render() {
797
+ var _this2 = this;
798
+ var _this$state11 = this.state,
799
+ items = _this$state11.items,
800
+ isLoading = _this$state11.isLoading,
801
+ selectedIndex = _this$state11.selectedIndex,
802
+ displayUrl = _this$state11.displayUrl,
803
+ displayText = _this$state11.displayText;
804
+ var _this$props5 = this.props,
805
+ formatMessage = _this$props5.intl.formatMessage,
806
+ activityProvider = _this$props5.activityProvider;
807
+ var placeholder = formatMessage(activityProvider ? _messages.linkToolbarMessages.placeholder : _messages.linkToolbarMessages.linkPlaceholder);
808
+ var formatLinkAddressText = formatMessage(_messages.linkToolbarMessages.linkAddress);
809
+ var formatClearLinkText = formatMessage(messages.clearLink);
810
+ var formatDisplayText = formatMessage(messages.displayText);
811
+ var screenReaderDescriptionId = 'search-recent-links-field-description';
812
+ var linkSearchListId = 'hyperlink-search-list';
813
+ var ariaActiveDescendant = selectedIndex > -1 ? "link-search-list-item-".concat(selectedIndex) : '';
814
+
815
+ // Added workaround with a screen reader Announcer specifically for VoiceOver + Safari
816
+ // as the Aria design pattern for combobox does not work in this case
817
+ // for details: https://a11y-internal.atlassian.net/browse/AK-740
818
+ var screenReaderText = _utils.browser.safari && this.getScreenReaderText();
819
+ return (0, _react2.jsx)("div", {
820
+ "aria-label": "Hyperlink Edit",
821
+ className: "recent-list"
822
+ }, (0, _react2.jsx)("div", {
823
+ css: [_ToolbarComponents.container, !!activityProvider && _ToolbarComponents.containerWithProvider],
824
+ ref: this.wrapperRef
825
+ }, (0, _react2.jsx)("div", {
826
+ css: _ToolbarComponents.inputWrapper
827
+ }, (0, _react2.jsx)("span", {
828
+ css: iconWrapper
829
+ }, (0, _react2.jsx)(_tooltip.default, {
830
+ content: formatLinkAddressText
831
+ }, (0, _react2.jsx)(_link.default, {
832
+ label: formatLinkAddressText
833
+ }))), screenReaderText && (0, _react2.jsx)(_ui.Announcer, {
834
+ ariaLive: "assertive",
835
+ text: screenReaderText,
836
+ ariaRelevant: "additions",
837
+ delay: 250
838
+ }), (0, _react2.jsx)("div", {
839
+ css: visuallyHiddenStyles,
840
+ "aria-hidden": "true",
841
+ id: screenReaderDescriptionId
842
+ }, formatMessage(messages.searchLinkAriaDescription)), (0, _react2.jsx)(_ui.PanelTextInput, {
843
+ role: "combobox",
844
+ ariaExpanded: true,
845
+ ariaActiveDescendant: ariaActiveDescendant,
846
+ ariaControls: linkSearchListId,
847
+ ariaAutoComplete: true,
848
+ describedById: screenReaderDescriptionId,
849
+ ref: function ref(ele) {
850
+ return _this2.urlInputContainer = ele;
851
+ },
852
+ placeholder: placeholder,
853
+ testId: 'link-url',
854
+ onSubmit: this.handleSubmit,
855
+ onChange: this.updateInput,
856
+ autoFocus: {
857
+ preventScroll: true
858
+ },
859
+ onCancel: this.handleCancel,
860
+ defaultValue: displayUrl,
861
+ onKeyDown: this.handleKeyDown
862
+ }), displayUrl && (0, _react2.jsx)(_tooltip.default, {
863
+ content: formatClearLinkText
864
+ }, (0, _react2.jsx)("button", {
865
+ type: "button",
866
+ css: clearText,
867
+ onClick: this.handleClearText
868
+ }, (0, _react2.jsx)(_crossCircle.default, {
869
+ label: formatClearLinkText
870
+ })))), (0, _react2.jsx)("div", {
871
+ css: textInputWrapper
872
+ }, (0, _react2.jsx)("span", {
873
+ css: iconWrapper
874
+ }, (0, _react2.jsx)(_tooltip.default, {
875
+ content: formatDisplayText
876
+ }, (0, _react2.jsx)(_alignLeft.default, {
877
+ label: formatDisplayText
878
+ }))), (0, _react2.jsx)(_ui.PanelTextInput, {
879
+ ref: function ref(ele) {
880
+ return _this2.displayTextInputContainer = ele;
881
+ },
882
+ placeholder: formatDisplayText,
883
+ ariaLabel: formatMessage(messages.linkAriaLabel),
884
+ testId: 'link-label',
885
+ onChange: this.updateTextInput,
886
+ onCancel: this.handleCancel,
887
+ defaultValue: displayText,
888
+ onSubmit: this.handleSubmit,
889
+ onKeyDown: this.handleKeyDown
890
+ }), displayText && (0, _react2.jsx)(_tooltip.default, {
891
+ content: formatMessage(messages.clearText)
892
+ }, (0, _react2.jsx)("button", {
893
+ type: "button",
894
+ css: clearText,
895
+ onClick: this.handleClearDisplayText,
896
+ onKeyDown: this.handleClearTextKeyDown
897
+ }, (0, _react2.jsx)(_crossCircle.default, {
898
+ label: formatMessage(messages.clearText)
899
+ })))), (0, _react2.jsx)("div", {
900
+ css: visuallyHiddenStyles,
901
+ "aria-live": "polite",
902
+ "aria-atomic": "true",
903
+ id: "fabric.editor.hyperlink.suggested.results"
904
+ }, displayUrl && formatMessage(messages.searchLinkResults, {
905
+ count: items.length
906
+ })), (0, _react2.jsx)(_LinkSearchList.default, {
907
+ ariaControls: "fabric.editor.hyperlink.suggested.results",
908
+ id: linkSearchListId,
909
+ role: "listbox",
910
+ items: items,
911
+ isLoading: isLoading,
912
+ selectedIndex: selectedIndex,
913
+ onSelect: this.handleSelected,
914
+ onMouseEnter: this.handleMouseEnterResultItem,
915
+ onMouseLeave: this.handleMouseLeaveResultItem
916
+ })));
917
+ }
918
+ }]);
919
+ return HyperlinkLinkAddToolbar;
920
+ }(_react.PureComponent);
921
+ exports.HyperlinkLinkAddToolbar = HyperlinkLinkAddToolbar;
922
+ function findIndex(array, predicate) {
923
+ var index = -1;
924
+ array.some(function (item, i) {
925
+ if (predicate(item)) {
926
+ index = i;
927
+ return true;
928
+ }
929
+ return false;
930
+ });
931
+ return index;
932
+ }
933
+ function limit(items) {
934
+ return items.slice(0, RECENT_SEARCH_LIST_SIZE);
935
+ }
936
+ var HyperlinkLinkAddToolbarWithIntl = (0, _reactIntlNext.injectIntl)(HyperlinkLinkAddToolbar);
937
+ exports.HyperlinkLinkAddToolbarWithIntl = HyperlinkLinkAddToolbarWithIntl;
938
+ var _default = (0, _analyticsNext.withAnalyticsEvents)()(HyperlinkLinkAddToolbarWithIntl);
939
+ exports.default = _default;