solid-ui 2.4.24 → 2.4.25

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 (248) hide show
  1. package/LICENSE.md +0 -0
  2. package/README.md +0 -0
  3. package/dist/index.html +0 -0
  4. package/dist/main.js +50483 -50370
  5. package/dist/main.js.map +1 -1
  6. package/lib/acl/access-controller.d.ts +0 -0
  7. package/lib/acl/access-controller.d.ts.map +0 -0
  8. package/lib/acl/access-controller.js +90 -98
  9. package/lib/acl/access-controller.js.map +1 -1
  10. package/lib/acl/access-groups.d.ts +0 -0
  11. package/lib/acl/access-groups.d.ts.map +0 -0
  12. package/lib/acl/access-groups.js +82 -90
  13. package/lib/acl/access-groups.js.map +1 -1
  14. package/lib/acl/acl-control.d.ts +0 -0
  15. package/lib/acl/acl-control.d.ts.map +0 -0
  16. package/lib/acl/acl-control.js +50 -54
  17. package/lib/acl/acl-control.js.map +1 -1
  18. package/lib/acl/acl.d.ts +3 -3
  19. package/lib/acl/acl.d.ts.map +1 -1
  20. package/lib/acl/acl.js +13 -15
  21. package/lib/acl/acl.js.map +1 -1
  22. package/lib/acl/add-agent-buttons.d.ts +0 -0
  23. package/lib/acl/add-agent-buttons.d.ts.map +0 -0
  24. package/lib/acl/add-agent-buttons.js +142 -154
  25. package/lib/acl/add-agent-buttons.js.map +1 -1
  26. package/lib/acl/index.d.ts +0 -0
  27. package/lib/acl/index.d.ts.map +0 -0
  28. package/lib/acl/index.js +0 -0
  29. package/lib/acl/index.js.map +0 -0
  30. package/lib/acl/styles.d.ts +0 -0
  31. package/lib/acl/styles.d.ts.map +0 -0
  32. package/lib/acl/styles.js +0 -0
  33. package/lib/acl/styles.js.map +0 -0
  34. package/lib/acl/types.d.ts +6 -6
  35. package/lib/acl/types.d.ts.map +1 -1
  36. package/lib/acl/types.js +0 -0
  37. package/lib/acl/types.js.map +0 -0
  38. package/lib/chat/bookmarks.js +181 -191
  39. package/lib/chat/bookmarks.js.map +1 -1
  40. package/lib/chat/chatLogic.js +96 -104
  41. package/lib/chat/chatLogic.js.map +1 -1
  42. package/lib/chat/dateFolder.js +232 -224
  43. package/lib/chat/dateFolder.js.map +1 -1
  44. package/lib/chat/infinite.js +634 -658
  45. package/lib/chat/infinite.js.map +1 -1
  46. package/lib/chat/message.js +119 -131
  47. package/lib/chat/message.js.map +1 -1
  48. package/lib/chat/messageTools.js +106 -114
  49. package/lib/chat/messageTools.js.map +1 -1
  50. package/lib/chat/thread.js +16 -18
  51. package/lib/chat/thread.js.map +1 -1
  52. package/lib/create/create.d.ts +0 -0
  53. package/lib/create/create.d.ts.map +0 -0
  54. package/lib/create/create.js +0 -0
  55. package/lib/create/create.js.map +0 -0
  56. package/lib/create/index.d.ts +0 -0
  57. package/lib/create/index.d.ts.map +0 -0
  58. package/lib/create/index.js +0 -0
  59. package/lib/create/index.js.map +0 -0
  60. package/lib/create/types.d.ts +1 -1
  61. package/lib/create/types.d.ts.map +1 -1
  62. package/lib/create/types.js +0 -0
  63. package/lib/create/types.js.map +0 -0
  64. package/lib/debug.d.ts +0 -0
  65. package/lib/debug.d.ts.map +0 -0
  66. package/lib/debug.js +0 -0
  67. package/lib/debug.js.map +0 -0
  68. package/lib/folders.js +0 -0
  69. package/lib/folders.js.map +0 -0
  70. package/lib/footer/index.d.ts +1 -1
  71. package/lib/footer/index.d.ts.map +1 -1
  72. package/lib/footer/index.js +33 -37
  73. package/lib/footer/index.js.map +1 -1
  74. package/lib/footer/styleMap.d.ts +0 -0
  75. package/lib/footer/styleMap.d.ts.map +0 -0
  76. package/lib/footer/styleMap.js +0 -0
  77. package/lib/footer/styleMap.js.map +0 -0
  78. package/lib/header/empty-profile.d.ts +0 -0
  79. package/lib/header/empty-profile.d.ts.map +0 -0
  80. package/lib/header/empty-profile.js +0 -0
  81. package/lib/header/empty-profile.js.map +0 -0
  82. package/lib/header/index.d.ts +4 -4
  83. package/lib/header/index.d.ts.map +1 -1
  84. package/lib/header/index.js +126 -134
  85. package/lib/header/index.js.map +1 -1
  86. package/lib/header/styleMap.d.ts +0 -0
  87. package/lib/header/styleMap.d.ts.map +0 -0
  88. package/lib/header/styleMap.js +0 -0
  89. package/lib/header/styleMap.js.map +0 -0
  90. package/lib/iconBase.d.ts +0 -0
  91. package/lib/iconBase.d.ts.map +0 -0
  92. package/lib/iconBase.js +0 -0
  93. package/lib/iconBase.js.map +0 -0
  94. package/lib/icons/solid_logo.d.ts +0 -0
  95. package/lib/icons/solid_logo.d.ts.map +0 -0
  96. package/lib/icons/solid_logo.js +0 -0
  97. package/lib/icons/solid_logo.js.map +0 -0
  98. package/lib/index.d.ts +0 -0
  99. package/lib/index.d.ts.map +0 -0
  100. package/lib/index.js +0 -0
  101. package/lib/index.js.map +0 -0
  102. package/lib/jss/index.d.ts +0 -0
  103. package/lib/jss/index.d.ts.map +0 -0
  104. package/lib/jss/index.js +0 -0
  105. package/lib/jss/index.js.map +0 -0
  106. package/lib/log.d.ts +0 -0
  107. package/lib/log.d.ts.map +0 -0
  108. package/lib/log.js +0 -0
  109. package/lib/log.js.map +0 -0
  110. package/lib/login/login.d.ts +0 -0
  111. package/lib/login/login.d.ts.map +0 -0
  112. package/lib/login/login.js +470 -470
  113. package/lib/login/login.js.map +1 -1
  114. package/lib/matrix/index.d.ts +0 -0
  115. package/lib/matrix/index.d.ts.map +0 -0
  116. package/lib/matrix/index.js +0 -0
  117. package/lib/matrix/index.js.map +0 -0
  118. package/lib/matrix/matrix.d.ts +0 -0
  119. package/lib/matrix/matrix.d.ts.map +0 -0
  120. package/lib/matrix/matrix.js +0 -0
  121. package/lib/matrix/matrix.js.map +0 -0
  122. package/lib/matrix/types.d.ts +1 -1
  123. package/lib/matrix/types.d.ts.map +1 -1
  124. package/lib/matrix/types.js +0 -0
  125. package/lib/matrix/types.js.map +0 -0
  126. package/lib/media/index.d.ts +0 -0
  127. package/lib/media/index.d.ts.map +0 -0
  128. package/lib/media/index.js +0 -0
  129. package/lib/media/index.js.map +0 -0
  130. package/lib/media/media-capture.d.ts +0 -0
  131. package/lib/media/media-capture.d.ts.map +0 -0
  132. package/lib/media/media-capture.js +8 -10
  133. package/lib/media/media-capture.js.map +1 -1
  134. package/lib/messageArea.js +0 -0
  135. package/lib/messageArea.js.map +0 -0
  136. package/lib/noun_Camera_1618446_000000.js +0 -0
  137. package/lib/noun_Camera_1618446_000000.js.map +0 -0
  138. package/lib/ns.js +0 -0
  139. package/lib/ns.js.map +0 -0
  140. package/lib/pad.d.ts +1 -1
  141. package/lib/pad.d.ts.map +1 -1
  142. package/lib/pad.js +0 -0
  143. package/lib/pad.js.map +0 -0
  144. package/lib/participation.d.ts +1 -1
  145. package/lib/participation.d.ts.map +1 -1
  146. package/lib/participation.js +1 -1
  147. package/lib/participation.js.map +0 -0
  148. package/lib/preferences.js +0 -0
  149. package/lib/preferences.js.map +0 -0
  150. package/lib/signup/config-default.js +0 -0
  151. package/lib/signup/config-default.js.map +0 -0
  152. package/lib/signup/signup.js +0 -0
  153. package/lib/signup/signup.js.map +0 -0
  154. package/lib/stories/decorators.js +0 -0
  155. package/lib/stories/decorators.js.map +0 -0
  156. package/lib/style.js +0 -0
  157. package/lib/style.js.map +0 -0
  158. package/lib/style_multiSelect.js +0 -0
  159. package/lib/style_multiSelect.js.map +0 -0
  160. package/lib/table.js +0 -0
  161. package/lib/table.js.map +0 -0
  162. package/lib/tabs.d.ts +1 -1
  163. package/lib/tabs.d.ts.map +1 -1
  164. package/lib/tabs.js +0 -0
  165. package/lib/tabs.js.map +0 -0
  166. package/lib/typings.d.js +0 -0
  167. package/lib/typings.d.js.map +0 -0
  168. package/lib/utils/headerFooterHelpers.d.ts +1 -1
  169. package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
  170. package/lib/utils/headerFooterHelpers.js +78 -80
  171. package/lib/utils/headerFooterHelpers.js.map +1 -1
  172. package/lib/utils/index.js +2 -6
  173. package/lib/utils/index.js.map +1 -1
  174. package/lib/utils/label.d.ts +0 -0
  175. package/lib/utils/label.d.ts.map +0 -0
  176. package/lib/utils/label.js +0 -0
  177. package/lib/utils/label.js.map +0 -0
  178. package/lib/versionInfo.d.ts +0 -0
  179. package/lib/versionInfo.d.ts.map +0 -0
  180. package/lib/versionInfo.js +13 -13
  181. package/lib/versionInfo.js.map +1 -1
  182. package/lib/widgets/buttons/iconLinks.d.ts +0 -0
  183. package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
  184. package/lib/widgets/buttons/iconLinks.js +0 -0
  185. package/lib/widgets/buttons/iconLinks.js.map +0 -0
  186. package/lib/widgets/buttons.d.ts +5 -5
  187. package/lib/widgets/buttons.d.ts.map +1 -1
  188. package/lib/widgets/buttons.js +0 -0
  189. package/lib/widgets/buttons.js.map +0 -0
  190. package/lib/widgets/dragAndDrop.js +0 -0
  191. package/lib/widgets/dragAndDrop.js.map +0 -0
  192. package/lib/widgets/error.d.ts +0 -0
  193. package/lib/widgets/error.d.ts.map +0 -0
  194. package/lib/widgets/error.js +0 -0
  195. package/lib/widgets/error.js.map +0 -0
  196. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  197. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  198. package/lib/widgets/forms/autocomplete/autocompleteBar.js +217 -229
  199. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  200. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  201. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  202. package/lib/widgets/forms/autocomplete/autocompleteField.js +70 -74
  203. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  204. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +2 -2
  205. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
  206. package/lib/widgets/forms/autocomplete/autocompletePicker.js +363 -379
  207. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  208. package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
  209. package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
  210. package/lib/widgets/forms/autocomplete/language.js +79 -83
  211. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  212. package/lib/widgets/forms/autocomplete/publicData.d.ts +2 -2
  213. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
  214. package/lib/widgets/forms/autocomplete/publicData.js +263 -281
  215. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  216. package/lib/widgets/forms/basic.d.ts +0 -0
  217. package/lib/widgets/forms/basic.d.ts.map +0 -0
  218. package/lib/widgets/forms/basic.js +0 -0
  219. package/lib/widgets/forms/basic.js.map +0 -0
  220. package/lib/widgets/forms/comment.d.ts +0 -0
  221. package/lib/widgets/forms/comment.d.ts.map +0 -0
  222. package/lib/widgets/forms/comment.js +0 -0
  223. package/lib/widgets/forms/comment.js.map +0 -0
  224. package/lib/widgets/forms/fieldFunction.d.ts +1 -1
  225. package/lib/widgets/forms/fieldFunction.d.ts.map +1 -1
  226. package/lib/widgets/forms/fieldFunction.js +1 -3
  227. package/lib/widgets/forms/fieldFunction.js.map +1 -1
  228. package/lib/widgets/forms/fieldParams.d.ts +1 -1
  229. package/lib/widgets/forms/fieldParams.d.ts.map +1 -1
  230. package/lib/widgets/forms/fieldParams.js +0 -0
  231. package/lib/widgets/forms/fieldParams.js.map +0 -0
  232. package/lib/widgets/forms/formStyle.d.ts +0 -0
  233. package/lib/widgets/forms/formStyle.d.ts.map +0 -0
  234. package/lib/widgets/forms/formStyle.js +0 -0
  235. package/lib/widgets/forms/formStyle.js.map +0 -0
  236. package/lib/widgets/forms.js +197 -225
  237. package/lib/widgets/forms.js.map +1 -1
  238. package/lib/widgets/index.js +0 -0
  239. package/lib/widgets/index.js.map +0 -0
  240. package/lib/widgets/multiSelect.js +4 -4
  241. package/lib/widgets/multiSelect.js.map +1 -1
  242. package/lib/widgets/peoplePicker.js +0 -0
  243. package/lib/widgets/peoplePicker.js.map +0 -0
  244. package/lib/widgets/widgetHelpers.d.ts +0 -0
  245. package/lib/widgets/widgetHelpers.d.ts.map +0 -0
  246. package/lib/widgets/widgetHelpers.js +0 -0
  247. package/lib/widgets/widgetHelpers.js.map +0 -0
  248. package/package.json +34 -31
@@ -55,24 +55,22 @@ function _initHeader() {
55
55
  _initHeader = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(store, userMenuList, options) {
56
56
  var header, pod;
57
57
  return _regenerator["default"].wrap(function _callee2$(_context2) {
58
- while (1) {
59
- switch (_context2.prev = _context2.next) {
60
- case 0:
61
- header = document.getElementById('PageHeader');
62
- if (header) {
63
- _context2.next = 3;
64
- break;
65
- }
66
- return _context2.abrupt("return");
67
- case 3:
68
- pod = (0, _headerFooterHelpers.getPod)();
69
- rebuildHeader(header, store, pod, userMenuList, options)();
70
- _solidLogic.authSession.onLogout(rebuildHeader(header, store, pod, userMenuList, options));
71
- _solidLogic.authSession.onLogin(rebuildHeader(header, store, pod, userMenuList, options));
72
- case 7:
73
- case "end":
74
- return _context2.stop();
75
- }
58
+ while (1) switch (_context2.prev = _context2.next) {
59
+ case 0:
60
+ header = document.getElementById('PageHeader');
61
+ if (header) {
62
+ _context2.next = 3;
63
+ break;
64
+ }
65
+ return _context2.abrupt("return");
66
+ case 3:
67
+ pod = (0, _headerFooterHelpers.getPod)();
68
+ rebuildHeader(header, store, pod, userMenuList, options)();
69
+ _solidLogic.authSession.onLogout(rebuildHeader(header, store, pod, userMenuList, options));
70
+ _solidLogic.authSession.onLogin(rebuildHeader(header, store, pod, userMenuList, options));
71
+ case 7:
72
+ case "end":
73
+ return _context2.stop();
76
74
  }
77
75
  }, _callee2);
78
76
  }));
@@ -82,21 +80,19 @@ function rebuildHeader(header, store, pod, userMenuList, options) {
82
80
  return /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
83
81
  var user;
84
82
  return _regenerator["default"].wrap(function _callee$(_context) {
85
- while (1) {
86
- switch (_context.prev = _context.next) {
87
- case 0:
88
- user = _solidLogic.authn.currentUser();
89
- header.innerHTML = '';
90
- _context.t0 = header;
91
- _context.next = 5;
92
- return createBanner(store, pod, user, userMenuList, options);
93
- case 5:
94
- _context.t1 = _context.sent;
95
- _context.t0.appendChild.call(_context.t0, _context.t1);
96
- case 7:
97
- case "end":
98
- return _context.stop();
99
- }
83
+ while (1) switch (_context.prev = _context.next) {
84
+ case 0:
85
+ user = _solidLogic.authn.currentUser();
86
+ header.innerHTML = '';
87
+ _context.t0 = header;
88
+ _context.next = 5;
89
+ return createBanner(store, pod, user, userMenuList, options);
90
+ case 5:
91
+ _context.t1 = _context.sent;
92
+ _context.t0.appendChild.call(_context.t0, _context.t1);
93
+ case 7:
94
+ case "end":
95
+ return _context.stop();
100
96
  }
101
97
  }, _callee);
102
98
  }));
@@ -114,48 +110,46 @@ function _createBanner() {
114
110
  _createBanner = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(store, pod, user, userMenuList, options) {
115
111
  var podLink, image, userMenu, banner, leftSideOfHeader, helpMenu;
116
112
  return _regenerator["default"].wrap(function _callee3$(_context3) {
117
- while (1) {
118
- switch (_context3.prev = _context3.next) {
119
- case 0:
120
- podLink = document.createElement('a');
121
- podLink.href = pod.uri;
122
- (0, _headerFooterHelpers.addStyleClassToElement)(podLink, ['header-banner__link']);
123
- image = document.createElement('img');
124
- if (options) {
125
- image.src = options.logo ? options.logo : DEFAUL_SOLID_ICON_URL;
126
- }
127
- (0, _headerFooterHelpers.addStyleClassToElement)(image, ['header-banner__icon']);
128
- podLink.appendChild(image);
129
- if (!user) {
130
- _context3.next = 13;
131
- break;
132
- }
133
- _context3.next = 10;
134
- return createUserMenu(store, user, userMenuList);
135
- case 10:
136
- _context3.t0 = _context3.sent;
137
- _context3.next = 14;
113
+ while (1) switch (_context3.prev = _context3.next) {
114
+ case 0:
115
+ podLink = document.createElement('a');
116
+ podLink.href = pod.uri;
117
+ (0, _headerFooterHelpers.addStyleClassToElement)(podLink, ['header-banner__link']);
118
+ image = document.createElement('img');
119
+ if (options) {
120
+ image.src = options.logo ? options.logo : DEFAUL_SOLID_ICON_URL;
121
+ }
122
+ (0, _headerFooterHelpers.addStyleClassToElement)(image, ['header-banner__icon']);
123
+ podLink.appendChild(image);
124
+ if (!user) {
125
+ _context3.next = 13;
138
126
  break;
139
- case 13:
140
- _context3.t0 = createLoginSignUpButtons();
141
- case 14:
142
- userMenu = _context3.t0;
143
- banner = document.createElement('div');
144
- (0, _headerFooterHelpers.addStyleClassToElement)(banner, ['header-banner']);
145
- banner.appendChild(podLink);
146
- leftSideOfHeader = document.createElement('div');
147
- (0, _headerFooterHelpers.addStyleClassToElement)(leftSideOfHeader, ['header-banner__right-menu']);
148
- leftSideOfHeader.appendChild(userMenu);
149
- if (options && options.helpMenuList) {
150
- helpMenu = createHelpMenu(options, options.helpMenuList);
151
- leftSideOfHeader.appendChild(helpMenu);
152
- }
153
- banner.appendChild(leftSideOfHeader);
154
- return _context3.abrupt("return", banner);
155
- case 24:
156
- case "end":
157
- return _context3.stop();
158
- }
127
+ }
128
+ _context3.next = 10;
129
+ return createUserMenu(store, user, userMenuList);
130
+ case 10:
131
+ _context3.t0 = _context3.sent;
132
+ _context3.next = 14;
133
+ break;
134
+ case 13:
135
+ _context3.t0 = createLoginSignUpButtons();
136
+ case 14:
137
+ userMenu = _context3.t0;
138
+ banner = document.createElement('div');
139
+ (0, _headerFooterHelpers.addStyleClassToElement)(banner, ['header-banner']);
140
+ banner.appendChild(podLink);
141
+ leftSideOfHeader = document.createElement('div');
142
+ (0, _headerFooterHelpers.addStyleClassToElement)(leftSideOfHeader, ['header-banner__right-menu']);
143
+ leftSideOfHeader.appendChild(userMenu);
144
+ if (options && options.helpMenuList) {
145
+ helpMenu = createHelpMenu(options, options.helpMenuList);
146
+ leftSideOfHeader.appendChild(helpMenu);
147
+ }
148
+ banner.appendChild(leftSideOfHeader);
149
+ return _context3.abrupt("return", banner);
150
+ case 24:
151
+ case "end":
152
+ return _context3.stop();
159
153
  }
160
154
  }, _callee3);
161
155
  }));
@@ -251,68 +245,66 @@ function _createUserMenu() {
251
245
  _createUserMenu = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(store, user, userMenuList) {
252
246
  var fetcher, loggedInMenuList, loggedInMenu, loggedInMenuTrigger, profileImg, loggedInMenuContainer, throttledMenuToggle, timer;
253
247
  return _regenerator["default"].wrap(function _callee4$(_context4) {
254
- while (1) {
255
- switch (_context4.prev = _context4.next) {
256
- case 0:
257
- fetcher = store.fetcher;
258
- if (!fetcher) {
259
- _context4.next = 4;
260
- break;
261
- }
248
+ while (1) switch (_context4.prev = _context4.next) {
249
+ case 0:
250
+ fetcher = store.fetcher;
251
+ if (!fetcher) {
262
252
  _context4.next = 4;
263
- return fetcher.load(user);
264
- case 4:
265
- loggedInMenuList = document.createElement('ul');
266
- (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuList, ['header-user-menu__list']);
267
- if (userMenuList) {
268
- userMenuList.forEach(function (menuItem) {
269
- var menuItemType = menuItem.url ? 'url' : 'onclick';
270
- if (menuItemType === 'url') {
271
- loggedInMenuList.appendChild(createUserMenuItem(createUserMenuLink(menuItem.label, menuItem.url, menuItem.target)));
272
- } else {
273
- loggedInMenuList.appendChild(createUserMenuItem(createUserMenuButton(menuItem.label, menuItem.onclick)));
274
- }
275
- });
276
- }
277
- loggedInMenu = document.createElement('nav');
278
- (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenu, ['header-user-menu__navigation-menu']);
279
- loggedInMenu.setAttribute('aria-hidden', 'true');
280
- loggedInMenu.appendChild(loggedInMenuList);
281
- loggedInMenuTrigger = document.createElement('button');
282
- (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuTrigger, ['header-user-menu__trigger']);
283
- loggedInMenuTrigger.type = 'button';
284
- profileImg = getProfileImg(store, user);
285
- if (typeof profileImg === 'string') {
286
- loggedInMenuTrigger.innerHTML = profileImg;
287
- } else {
288
- loggedInMenuTrigger.appendChild(profileImg);
289
- }
290
- loggedInMenuContainer = document.createElement('div');
291
- (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuContainer, ['header-banner__user-menu']);
292
- (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuContainer, ['header-user-menu']);
293
- loggedInMenuContainer.appendChild(loggedInMenuTrigger);
294
- loggedInMenuContainer.appendChild(loggedInMenu);
295
- throttledMenuToggle = (0, _headerFooterHelpers.throttle)(function (event) {
296
- return toggleMenu(event, loggedInMenuTrigger, loggedInMenu);
297
- }, 50);
298
- loggedInMenuTrigger.addEventListener('click', throttledMenuToggle);
299
- timer = setTimeout(function () {
300
- return null;
301
- }, 0);
302
- loggedInMenuContainer.addEventListener('mouseover', function (event) {
303
- clearTimeout(timer);
304
- throttledMenuToggle(event);
305
- });
306
- loggedInMenuContainer.addEventListener('mouseout', function (event) {
307
- timer = setTimeout(function () {
308
- return throttledMenuToggle(event);
309
- }, 200);
253
+ break;
254
+ }
255
+ _context4.next = 4;
256
+ return fetcher.load(user);
257
+ case 4:
258
+ loggedInMenuList = document.createElement('ul');
259
+ (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuList, ['header-user-menu__list']);
260
+ if (userMenuList) {
261
+ userMenuList.forEach(function (menuItem) {
262
+ var menuItemType = menuItem.url ? 'url' : 'onclick';
263
+ if (menuItemType === 'url') {
264
+ loggedInMenuList.appendChild(createUserMenuItem(createUserMenuLink(menuItem.label, menuItem.url, menuItem.target)));
265
+ } else {
266
+ loggedInMenuList.appendChild(createUserMenuItem(createUserMenuButton(menuItem.label, menuItem.onclick)));
267
+ }
310
268
  });
311
- return _context4.abrupt("return", loggedInMenuContainer);
312
- case 27:
313
- case "end":
314
- return _context4.stop();
315
- }
269
+ }
270
+ loggedInMenu = document.createElement('nav');
271
+ (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenu, ['header-user-menu__navigation-menu']);
272
+ loggedInMenu.setAttribute('aria-hidden', 'true');
273
+ loggedInMenu.appendChild(loggedInMenuList);
274
+ loggedInMenuTrigger = document.createElement('button');
275
+ (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuTrigger, ['header-user-menu__trigger']);
276
+ loggedInMenuTrigger.type = 'button';
277
+ profileImg = getProfileImg(store, user);
278
+ if (typeof profileImg === 'string') {
279
+ loggedInMenuTrigger.innerHTML = profileImg;
280
+ } else {
281
+ loggedInMenuTrigger.appendChild(profileImg);
282
+ }
283
+ loggedInMenuContainer = document.createElement('div');
284
+ (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuContainer, ['header-banner__user-menu']);
285
+ (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuContainer, ['header-user-menu']);
286
+ loggedInMenuContainer.appendChild(loggedInMenuTrigger);
287
+ loggedInMenuContainer.appendChild(loggedInMenu);
288
+ throttledMenuToggle = (0, _headerFooterHelpers.throttle)(function (event) {
289
+ return toggleMenu(event, loggedInMenuTrigger, loggedInMenu);
290
+ }, 50);
291
+ loggedInMenuTrigger.addEventListener('click', throttledMenuToggle);
292
+ timer = setTimeout(function () {
293
+ return null;
294
+ }, 0);
295
+ loggedInMenuContainer.addEventListener('mouseover', function (event) {
296
+ clearTimeout(timer);
297
+ throttledMenuToggle(event);
298
+ });
299
+ loggedInMenuContainer.addEventListener('mouseout', function (event) {
300
+ timer = setTimeout(function () {
301
+ return throttledMenuToggle(event);
302
+ }, 200);
303
+ });
304
+ return _context4.abrupt("return", loggedInMenuContainer);
305
+ case 27:
306
+ case "end":
307
+ return _context4.stop();
316
308
  }
317
309
  }, _callee4);
318
310
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DEFAULT_HELP_MENU_ICON","icons","iconBase","DEFAUL_SOLID_ICON_URL","initHeader","store","userMenuList","options","header","document","getElementById","pod","getPod","rebuildHeader","authSession","onLogout","onLogin","user","authn","currentUser","innerHTML","createBanner","appendChild","podLink","createElement","href","uri","addStyleClassToElement","image","src","logo","createUserMenu","createLoginSignUpButtons","userMenu","banner","leftSideOfHeader","helpMenuList","helpMenu","createHelpMenu","helpMenuItems","forEach","menuItem","menuItemType","url","createUserMenuItem","createUserMenuLink","label","target","createUserMenuButton","onclick","setAttribute","helpMenuContainer","helpMenuTrigger","type","helpMenuIcon","helpIcon","throttledMenuToggle","throttle","event","toggleMenu","addEventListener","timer","setTimeout","clearTimeout","profileLoginButtonPre","loginStatusBox","onClick","button","innerText","link","fetcher","load","loggedInMenuList","loggedInMenu","loggedInMenuTrigger","profileImg","getProfileImg","loggedInMenuContainer","child","menuProfileItem","profileUrl","widgets","findImage","emptyProfile","profileImage","style","backgroundImage","trigger","menu","isExpanded","getAttribute","expand","close","toString"],"sources":["../../src/header/index.ts"],"sourcesContent":["/* global EventListenerOrEventListenerObject */\n/*\n This file was copied from mashlib/src/global/header.ts file. It is modified to\n work in solid-ui by adjusting where imported functions are found.\n */\nimport { IndexedFormula, NamedNode } from 'rdflib'\nimport { icons } from '../index'\nimport { authn, authSession } from 'solid-logic'\nimport { loginStatusBox } from '../login/login'\n// import { loginStatusBox, authSession, currentUser } from '../authn/authn'\nimport * as widgets from '../widgets'\nimport { emptyProfile } from './empty-profile'\nimport { addStyleClassToElement, getPod, throttle } from '../utils/headerFooterHelpers'\n\n/**\n * menu icons\n*/\nconst DEFAULT_HELP_MENU_ICON = icons.iconBase + 'noun_help.svg'\nconst DEFAUL_SOLID_ICON_URL = 'https://solidproject.org/assets/img/solid-emblem.svg'\n\nexport type MenuItemLink = {\n label: string,\n url: string,\n target?: string\n}\n\nexport type MenuItemButton = {\n label: string,\n onclick: () => void\n}\n\nexport type MenuItems = MenuItemLink | MenuItemButton\n\n/*\n HeaderOptions allow for customizing the logo and menu list. If a logo is not provided the default\n is solid. Menulist will always show a link to logout and to the users profile.\n */\nexport type HeaderOptions = {\n logo?: string,\n helpIcon?: string,\n helpMenuList?: MenuItems[]\n}\n\n/**\n * Initialize header component, the header object returned depends on whether the user is authenticated.\n * @param store the data store\n * @param userMenuList a list of menu items when the user is logged in\n * @param options allow the header to be customized with a personalized logo, help icon and a help menu list of links or buttons.\n * @returns a header for an authenticated user with menu items given or a login screen\n */\nexport async function initHeader (store: IndexedFormula, userMenuList: MenuItems[], options?: HeaderOptions) {\n const header = document.getElementById('PageHeader')\n if (!header) {\n return\n }\n\n const pod = getPod()\n rebuildHeader(header, store, pod, userMenuList, options)()\n authSession.onLogout(rebuildHeader(header, store, pod, userMenuList, options))\n authSession.onLogin(rebuildHeader(header, store, pod, userMenuList, options))\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function rebuildHeader (header: HTMLElement, store: IndexedFormula, pod: NamedNode, userMenuList: MenuItems[], options?: HeaderOptions) {\n return async () => {\n const user = authn.currentUser()\n header.innerHTML = ''\n header.appendChild(await createBanner(store, pod, user, userMenuList, options))\n }\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport async function createBanner (store: IndexedFormula, pod: NamedNode, user: NamedNode | null, userMenuList: MenuItems[], options?: HeaderOptions): Promise<HTMLElement> {\n const podLink = document.createElement('a')\n podLink.href = pod.uri\n addStyleClassToElement(podLink, ['header-banner__link'])\n const image = document.createElement('img')\n if (options) {\n image.src = options.logo ? options.logo : DEFAUL_SOLID_ICON_URL\n }\n addStyleClassToElement(image, ['header-banner__icon'])\n podLink.appendChild(image)\n\n const userMenu = user\n ? await createUserMenu(store, user, userMenuList)\n : createLoginSignUpButtons()\n\n const banner = document.createElement('div')\n addStyleClassToElement(banner, ['header-banner'])\n banner.appendChild(podLink)\n\n const leftSideOfHeader = document.createElement('div')\n addStyleClassToElement(leftSideOfHeader, ['header-banner__right-menu'])\n leftSideOfHeader.appendChild(userMenu)\n\n if (options && options.helpMenuList) {\n const helpMenu = createHelpMenu(options, options.helpMenuList)\n leftSideOfHeader.appendChild(helpMenu as HTMLDivElement)\n }\n\n banner.appendChild(leftSideOfHeader)\n\n return banner\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createHelpMenu (options: HeaderOptions, helpMenuItems: MenuItems[]) {\n if (!helpMenuItems) return\n const helpMenuList = document.createElement('ul')\n addStyleClassToElement(helpMenuList, ['header-user-menu__list'])\n helpMenuItems.forEach(function (menuItem) {\n const menuItemType: string = (menuItem as MenuItemLink).url ? 'url' : 'onclick'\n if (menuItemType === 'url') {\n helpMenuList.appendChild(createUserMenuItem(createUserMenuLink(menuItem.label, (menuItem as MenuItemLink).url, (menuItem as MenuItemLink).target)))\n } else {\n helpMenuList.appendChild(createUserMenuItem(createUserMenuButton(menuItem.label, (menuItem as MenuItemButton).onclick)))\n }\n })\n\n const helpMenu = document.createElement('nav')\n\n addStyleClassToElement(helpMenu, ['header-user-menu__navigation-menu'])\n helpMenu.setAttribute('aria-hidden', 'true')\n helpMenu.appendChild(helpMenuList)\n\n const helpMenuContainer = document.createElement('div')\n addStyleClassToElement(helpMenuContainer, ['header-banner__user-menu'])\n addStyleClassToElement(helpMenuContainer, ['header-user-menu'])\n helpMenuContainer.appendChild(helpMenu)\n\n const helpMenuTrigger = document.createElement('button')\n addStyleClassToElement(helpMenuTrigger, ['header-user-menu__trigger'])\n helpMenuTrigger.type = 'button'\n\n const helpMenuIcon = document.createElement('img')\n helpMenuIcon.src = (options && options.helpIcon) ? options.helpIcon : icons.iconBase + DEFAULT_HELP_MENU_ICON\n addStyleClassToElement(helpMenuIcon, ['header-banner__help-icon'])\n helpMenuContainer.appendChild(helpMenuTrigger)\n helpMenuTrigger.appendChild(helpMenuIcon)\n\n const throttledMenuToggle = throttle((event: Event) => toggleMenu(event, helpMenuTrigger, helpMenu), 50)\n helpMenuTrigger.addEventListener('click', throttledMenuToggle)\n let timer = setTimeout(() => null, 0)\n helpMenuContainer.addEventListener('mouseover', event => {\n clearTimeout(timer)\n throttledMenuToggle(event)\n })\n helpMenuContainer.addEventListener('mouseout', event => {\n timer = setTimeout(() => throttledMenuToggle(event), 200)\n })\n\n return helpMenuContainer\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createLoginSignUpButtons () {\n const profileLoginButtonPre = document.createElement('div')\n addStyleClassToElement(profileLoginButtonPre, ['header-banner__login'])\n profileLoginButtonPre.appendChild(loginStatusBox(document, null, {}))\n return profileLoginButtonPre\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createUserMenuButton (label: string, onClick: EventListenerOrEventListenerObject): HTMLElement {\n const button = document.createElement('button')\n addStyleClassToElement(button, ['header-user-menu__button'])\n button.addEventListener('click', onClick)\n button.innerText = label\n return button\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createUserMenuLink (label: string, href: string, target?: string): HTMLElement {\n const link = document.createElement('a')\n addStyleClassToElement(link, ['header-user-menu__link'])\n link.href = href\n link.innerText = label\n if (target) link.target = target\n return link\n}\n\n/**\n * @ignore exporting this only for the unit test\n */\nexport async function createUserMenu (store: IndexedFormula, user: NamedNode, userMenuList: MenuItems[]): Promise<HTMLElement> {\n const fetcher = (<any>store).fetcher\n if (fetcher) {\n // Making sure that Profile is loaded before building menu\n await fetcher.load(user)\n }\n\n const loggedInMenuList = document.createElement('ul')\n addStyleClassToElement(loggedInMenuList, ['header-user-menu__list'])\n if (userMenuList) {\n userMenuList.forEach(function (menuItem) {\n const menuItemType: string = (menuItem as MenuItemLink).url ? 'url' : 'onclick'\n if (menuItemType === 'url') {\n loggedInMenuList.appendChild(createUserMenuItem(createUserMenuLink(menuItem.label, (menuItem as MenuItemLink).url, (menuItem as MenuItemLink).target)))\n } else {\n loggedInMenuList.appendChild(createUserMenuItem(createUserMenuButton(menuItem.label, (menuItem as MenuItemButton).onclick)))\n }\n })\n }\n const loggedInMenu = document.createElement('nav')\n\n addStyleClassToElement(loggedInMenu, ['header-user-menu__navigation-menu'])\n loggedInMenu.setAttribute('aria-hidden', 'true')\n loggedInMenu.appendChild(loggedInMenuList)\n\n const loggedInMenuTrigger = document.createElement('button')\n addStyleClassToElement(loggedInMenuTrigger, ['header-user-menu__trigger'])\n loggedInMenuTrigger.type = 'button'\n const profileImg = getProfileImg(store, user)\n if (typeof profileImg === 'string') {\n loggedInMenuTrigger.innerHTML = profileImg\n } else {\n loggedInMenuTrigger.appendChild(profileImg)\n }\n\n const loggedInMenuContainer = document.createElement('div')\n addStyleClassToElement(loggedInMenuContainer, ['header-banner__user-menu'])\n addStyleClassToElement(loggedInMenuContainer, ['header-user-menu'])\n loggedInMenuContainer.appendChild(loggedInMenuTrigger)\n loggedInMenuContainer.appendChild(loggedInMenu)\n\n const throttledMenuToggle = throttle((event: Event) => toggleMenu(event, loggedInMenuTrigger, loggedInMenu), 50)\n loggedInMenuTrigger.addEventListener('click', throttledMenuToggle)\n let timer = setTimeout(() => null, 0)\n loggedInMenuContainer.addEventListener('mouseover', event => {\n clearTimeout(timer)\n throttledMenuToggle(event)\n })\n loggedInMenuContainer.addEventListener('mouseout', event => {\n timer = setTimeout(() => throttledMenuToggle(event), 200)\n })\n\n return loggedInMenuContainer\n}\n\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createUserMenuItem (child: HTMLElement): HTMLElement {\n const menuProfileItem = document.createElement('li')\n addStyleClassToElement(menuProfileItem, ['header-user-menu__list-item'])\n menuProfileItem.appendChild(child)\n return menuProfileItem\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function getProfileImg (store: IndexedFormula, user: NamedNode): string | HTMLElement {\n let profileUrl = null\n try {\n profileUrl = widgets.findImage(user)\n if (!profileUrl) {\n return emptyProfile\n }\n } catch {\n return emptyProfile\n }\n\n const profileImage = document.createElement('div')\n addStyleClassToElement(profileImage, ['header-user-menu__photo'])\n profileImage.style.backgroundImage = `url(${profileUrl})`\n return profileImage\n}\n\n/**\n * @internal\n */\nfunction toggleMenu (event: Event, trigger: HTMLButtonElement, menu: HTMLElement): void {\n const isExpanded = trigger.getAttribute('aria-expanded') === 'true'\n const expand = event.type === 'mouseover'\n const close = event.type === 'mouseout'\n if ((isExpanded && expand) || (!isExpanded && close)) {\n return\n }\n trigger.setAttribute('aria-expanded', (!isExpanded).toString())\n menu.setAttribute('aria-hidden', isExpanded.toString())\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["DEFAULT_HELP_MENU_ICON","icons","iconBase","DEFAUL_SOLID_ICON_URL","initHeader","store","userMenuList","options","header","document","getElementById","pod","getPod","rebuildHeader","authSession","onLogout","onLogin","user","authn","currentUser","innerHTML","createBanner","appendChild","podLink","createElement","href","uri","addStyleClassToElement","image","src","logo","createUserMenu","createLoginSignUpButtons","userMenu","banner","leftSideOfHeader","helpMenuList","helpMenu","createHelpMenu","helpMenuItems","forEach","menuItem","menuItemType","url","createUserMenuItem","createUserMenuLink","label","target","createUserMenuButton","onclick","setAttribute","helpMenuContainer","helpMenuTrigger","type","helpMenuIcon","helpIcon","throttledMenuToggle","throttle","event","toggleMenu","addEventListener","timer","setTimeout","clearTimeout","profileLoginButtonPre","loginStatusBox","onClick","button","innerText","link","fetcher","load","loggedInMenuList","loggedInMenu","loggedInMenuTrigger","profileImg","getProfileImg","loggedInMenuContainer","child","menuProfileItem","profileUrl","widgets","findImage","emptyProfile","profileImage","style","backgroundImage","trigger","menu","isExpanded","getAttribute","expand","close","toString"],"sources":["../../src/header/index.ts"],"sourcesContent":["/* global EventListenerOrEventListenerObject */\n/*\n This file was copied from mashlib/src/global/header.ts file. It is modified to\n work in solid-ui by adjusting where imported functions are found.\n */\nimport { IndexedFormula, NamedNode } from 'rdflib'\nimport { icons } from '../index'\nimport { authn, authSession } from 'solid-logic'\nimport { loginStatusBox } from '../login/login'\n// import { loginStatusBox, authSession, currentUser } from '../authn/authn'\nimport * as widgets from '../widgets'\nimport { emptyProfile } from './empty-profile'\nimport { addStyleClassToElement, getPod, throttle } from '../utils/headerFooterHelpers'\n\n/**\n * menu icons\n*/\nconst DEFAULT_HELP_MENU_ICON = icons.iconBase + 'noun_help.svg'\nconst DEFAUL_SOLID_ICON_URL = 'https://solidproject.org/assets/img/solid-emblem.svg'\n\nexport type MenuItemLink = {\n label: string,\n url: string,\n target?: string\n}\n\nexport type MenuItemButton = {\n label: string,\n onclick: () => void\n}\n\nexport type MenuItems = MenuItemLink | MenuItemButton\n\n/*\n HeaderOptions allow for customizing the logo and menu list. If a logo is not provided the default\n is solid. Menulist will always show a link to logout and to the users profile.\n */\nexport type HeaderOptions = {\n logo?: string,\n helpIcon?: string,\n helpMenuList?: MenuItems[]\n}\n\n/**\n * Initialize header component, the header object returned depends on whether the user is authenticated.\n * @param store the data store\n * @param userMenuList a list of menu items when the user is logged in\n * @param options allow the header to be customized with a personalized logo, help icon and a help menu list of links or buttons.\n * @returns a header for an authenticated user with menu items given or a login screen\n */\nexport async function initHeader (store: IndexedFormula, userMenuList: MenuItems[], options?: HeaderOptions) {\n const header = document.getElementById('PageHeader')\n if (!header) {\n return\n }\n\n const pod = getPod()\n rebuildHeader(header, store, pod, userMenuList, options)()\n authSession.onLogout(rebuildHeader(header, store, pod, userMenuList, options))\n authSession.onLogin(rebuildHeader(header, store, pod, userMenuList, options))\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function rebuildHeader (header: HTMLElement, store: IndexedFormula, pod: NamedNode, userMenuList: MenuItems[], options?: HeaderOptions) {\n return async () => {\n const user = authn.currentUser()\n header.innerHTML = ''\n header.appendChild(await createBanner(store, pod, user, userMenuList, options))\n }\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport async function createBanner (store: IndexedFormula, pod: NamedNode, user: NamedNode | null, userMenuList: MenuItems[], options?: HeaderOptions): Promise<HTMLElement> {\n const podLink = document.createElement('a')\n podLink.href = pod.uri\n addStyleClassToElement(podLink, ['header-banner__link'])\n const image = document.createElement('img')\n if (options) {\n image.src = options.logo ? options.logo : DEFAUL_SOLID_ICON_URL\n }\n addStyleClassToElement(image, ['header-banner__icon'])\n podLink.appendChild(image)\n\n const userMenu = user\n ? await createUserMenu(store, user, userMenuList)\n : createLoginSignUpButtons()\n\n const banner = document.createElement('div')\n addStyleClassToElement(banner, ['header-banner'])\n banner.appendChild(podLink)\n\n const leftSideOfHeader = document.createElement('div')\n addStyleClassToElement(leftSideOfHeader, ['header-banner__right-menu'])\n leftSideOfHeader.appendChild(userMenu)\n\n if (options && options.helpMenuList) {\n const helpMenu = createHelpMenu(options, options.helpMenuList)\n leftSideOfHeader.appendChild(helpMenu as HTMLDivElement)\n }\n\n banner.appendChild(leftSideOfHeader)\n\n return banner\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createHelpMenu (options: HeaderOptions, helpMenuItems: MenuItems[]) {\n if (!helpMenuItems) return\n const helpMenuList = document.createElement('ul')\n addStyleClassToElement(helpMenuList, ['header-user-menu__list'])\n helpMenuItems.forEach(function (menuItem) {\n const menuItemType: string = (menuItem as MenuItemLink).url ? 'url' : 'onclick'\n if (menuItemType === 'url') {\n helpMenuList.appendChild(createUserMenuItem(createUserMenuLink(menuItem.label, (menuItem as MenuItemLink).url, (menuItem as MenuItemLink).target)))\n } else {\n helpMenuList.appendChild(createUserMenuItem(createUserMenuButton(menuItem.label, (menuItem as MenuItemButton).onclick)))\n }\n })\n\n const helpMenu = document.createElement('nav')\n\n addStyleClassToElement(helpMenu, ['header-user-menu__navigation-menu'])\n helpMenu.setAttribute('aria-hidden', 'true')\n helpMenu.appendChild(helpMenuList)\n\n const helpMenuContainer = document.createElement('div')\n addStyleClassToElement(helpMenuContainer, ['header-banner__user-menu'])\n addStyleClassToElement(helpMenuContainer, ['header-user-menu'])\n helpMenuContainer.appendChild(helpMenu)\n\n const helpMenuTrigger = document.createElement('button')\n addStyleClassToElement(helpMenuTrigger, ['header-user-menu__trigger'])\n helpMenuTrigger.type = 'button'\n\n const helpMenuIcon = document.createElement('img')\n helpMenuIcon.src = (options && options.helpIcon) ? options.helpIcon : icons.iconBase + DEFAULT_HELP_MENU_ICON\n addStyleClassToElement(helpMenuIcon, ['header-banner__help-icon'])\n helpMenuContainer.appendChild(helpMenuTrigger)\n helpMenuTrigger.appendChild(helpMenuIcon)\n\n const throttledMenuToggle = throttle((event: Event) => toggleMenu(event, helpMenuTrigger, helpMenu), 50)\n helpMenuTrigger.addEventListener('click', throttledMenuToggle)\n let timer = setTimeout(() => null, 0)\n helpMenuContainer.addEventListener('mouseover', event => {\n clearTimeout(timer)\n throttledMenuToggle(event)\n })\n helpMenuContainer.addEventListener('mouseout', event => {\n timer = setTimeout(() => throttledMenuToggle(event), 200)\n })\n\n return helpMenuContainer\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createLoginSignUpButtons () {\n const profileLoginButtonPre = document.createElement('div')\n addStyleClassToElement(profileLoginButtonPre, ['header-banner__login'])\n profileLoginButtonPre.appendChild(loginStatusBox(document, null, {}))\n return profileLoginButtonPre\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createUserMenuButton (label: string, onClick: EventListenerOrEventListenerObject): HTMLElement {\n const button = document.createElement('button')\n addStyleClassToElement(button, ['header-user-menu__button'])\n button.addEventListener('click', onClick)\n button.innerText = label\n return button\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createUserMenuLink (label: string, href: string, target?: string): HTMLElement {\n const link = document.createElement('a')\n addStyleClassToElement(link, ['header-user-menu__link'])\n link.href = href\n link.innerText = label\n if (target) link.target = target\n return link\n}\n\n/**\n * @ignore exporting this only for the unit test\n */\nexport async function createUserMenu (store: IndexedFormula, user: NamedNode, userMenuList: MenuItems[]): Promise<HTMLElement> {\n const fetcher = (<any>store).fetcher\n if (fetcher) {\n // Making sure that Profile is loaded before building menu\n await fetcher.load(user)\n }\n\n const loggedInMenuList = document.createElement('ul')\n addStyleClassToElement(loggedInMenuList, ['header-user-menu__list'])\n if (userMenuList) {\n userMenuList.forEach(function (menuItem) {\n const menuItemType: string = (menuItem as MenuItemLink).url ? 'url' : 'onclick'\n if (menuItemType === 'url') {\n loggedInMenuList.appendChild(createUserMenuItem(createUserMenuLink(menuItem.label, (menuItem as MenuItemLink).url, (menuItem as MenuItemLink).target)))\n } else {\n loggedInMenuList.appendChild(createUserMenuItem(createUserMenuButton(menuItem.label, (menuItem as MenuItemButton).onclick)))\n }\n })\n }\n const loggedInMenu = document.createElement('nav')\n\n addStyleClassToElement(loggedInMenu, ['header-user-menu__navigation-menu'])\n loggedInMenu.setAttribute('aria-hidden', 'true')\n loggedInMenu.appendChild(loggedInMenuList)\n\n const loggedInMenuTrigger = document.createElement('button')\n addStyleClassToElement(loggedInMenuTrigger, ['header-user-menu__trigger'])\n loggedInMenuTrigger.type = 'button'\n const profileImg = getProfileImg(store, user)\n if (typeof profileImg === 'string') {\n loggedInMenuTrigger.innerHTML = profileImg\n } else {\n loggedInMenuTrigger.appendChild(profileImg)\n }\n\n const loggedInMenuContainer = document.createElement('div')\n addStyleClassToElement(loggedInMenuContainer, ['header-banner__user-menu'])\n addStyleClassToElement(loggedInMenuContainer, ['header-user-menu'])\n loggedInMenuContainer.appendChild(loggedInMenuTrigger)\n loggedInMenuContainer.appendChild(loggedInMenu)\n\n const throttledMenuToggle = throttle((event: Event) => toggleMenu(event, loggedInMenuTrigger, loggedInMenu), 50)\n loggedInMenuTrigger.addEventListener('click', throttledMenuToggle)\n let timer = setTimeout(() => null, 0)\n loggedInMenuContainer.addEventListener('mouseover', event => {\n clearTimeout(timer)\n throttledMenuToggle(event)\n })\n loggedInMenuContainer.addEventListener('mouseout', event => {\n timer = setTimeout(() => throttledMenuToggle(event), 200)\n })\n\n return loggedInMenuContainer\n}\n\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createUserMenuItem (child: HTMLElement): HTMLElement {\n const menuProfileItem = document.createElement('li')\n addStyleClassToElement(menuProfileItem, ['header-user-menu__list-item'])\n menuProfileItem.appendChild(child)\n return menuProfileItem\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function getProfileImg (store: IndexedFormula, user: NamedNode): string | HTMLElement {\n let profileUrl = null\n try {\n profileUrl = widgets.findImage(user)\n if (!profileUrl) {\n return emptyProfile\n }\n } catch {\n return emptyProfile\n }\n\n const profileImage = document.createElement('div')\n addStyleClassToElement(profileImage, ['header-user-menu__photo'])\n profileImage.style.backgroundImage = `url(${profileUrl})`\n return profileImage\n}\n\n/**\n * @internal\n */\nfunction toggleMenu (event: Event, trigger: HTMLButtonElement, menu: HTMLElement): void {\n const isExpanded = trigger.getAttribute('aria-expanded') === 'true'\n const expand = event.type === 'mouseover'\n const close = event.type === 'mouseout'\n if ((isExpanded && expand) || (!isExpanded && close)) {\n return\n }\n trigger.setAttribute('aria-expanded', (!isExpanded).toString())\n menu.setAttribute('aria-hidden', isExpanded.toString())\n}\n"],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
package/lib/iconBase.d.ts CHANGED
File without changes
File without changes
package/lib/iconBase.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/lib/index.d.ts CHANGED
File without changes
File without changes
package/lib/index.js CHANGED
File without changes
package/lib/index.js.map CHANGED
File without changes
File without changes
File without changes
package/lib/jss/index.js CHANGED
File without changes
File without changes
package/lib/log.d.ts CHANGED
File without changes
package/lib/log.d.ts.map CHANGED
File without changes
package/lib/log.js CHANGED
File without changes
package/lib/log.js.map CHANGED
File without changes
File without changes
File without changes