solid-ui 2.4.26 → 2.4.27-027eefbd
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.
- package/README.md +6 -1
- package/dist/670.solid-ui.min.js +1 -0
- package/dist/805.solid-ui.min.js +3 -0
- package/dist/805.solid-ui.min.js.LICENSE.txt +58 -0
- package/dist/805.solid-ui.min.js.map +1 -0
- package/dist/_2b19.solid-ui.js +14 -0
- package/dist/_2b19.solid-ui.js.map +1 -0
- package/dist/index.html +1 -9
- package/dist/{main.js → solid-ui.js} +7955 -20514
- package/dist/solid-ui.js.map +1 -0
- package/dist/solid-ui.min.js +3 -0
- package/dist/solid-ui.min.js.LICENSE.txt +54 -0
- package/dist/solid-ui.min.js.map +1 -0
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +12134 -0
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -0
- package/lib/acl/access-controller.d.ts +2 -3
- package/lib/acl/access-controller.d.ts.map +1 -1
- package/lib/acl/access-controller.js +17 -15
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts.map +1 -1
- package/lib/acl/access-groups.js +78 -8
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.d.ts.map +1 -1
- package/lib/acl/acl-control.js +10 -11
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.d.ts +1 -1
- package/lib/acl/acl.js +1 -1
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts.map +1 -1
- package/lib/acl/add-agent-buttons.js +4 -3
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/chat/chatLogic.js +70 -26
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/keys.d.ts +13 -0
- package/lib/chat/keys.d.ts.map +1 -0
- package/lib/chat/keys.js +233 -0
- package/lib/chat/keys.js.map +1 -0
- package/lib/chat/message.js +67 -6
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/signature.d.ts +24 -0
- package/lib/chat/signature.d.ts.map +1 -0
- package/lib/chat/signature.js +112 -0
- package/lib/chat/signature.js.map +1 -0
- package/lib/footer/index.d.ts.map +1 -1
- package/lib/footer/index.js +5 -1
- package/lib/footer/index.js.map +1 -1
- package/lib/header/index.d.ts.map +1 -1
- package/lib/header/index.js +41 -20
- package/lib/header/index.js.map +1 -1
- package/lib/login/login.d.ts.map +1 -1
- package/lib/login/login.js +43 -39
- package/lib/login/login.js.map +1 -1
- package/lib/style.js +60 -2
- package/lib/style.js.map +1 -1
- package/lib/utils/headerFooterHelpers.d.ts +0 -4
- package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
- package/lib/utils/headerFooterHelpers.js +0 -27
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/keyHelpers/accessData.d.ts +10 -0
- package/lib/utils/keyHelpers/accessData.d.ts.map +1 -0
- package/lib/utils/keyHelpers/accessData.js +234 -0
- package/lib/utils/keyHelpers/accessData.js.map +1 -0
- package/lib/utils/keyHelpers/acl.d.ts +20 -0
- package/lib/utils/keyHelpers/acl.d.ts.map +1 -0
- package/lib/utils/keyHelpers/acl.js +93 -0
- package/lib/utils/keyHelpers/acl.js.map +1 -0
- package/lib/versionInfo.js +6 -6
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons.d.ts.map +1 -1
- package/lib/widgets/buttons.js +43 -49
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/forms.js +8 -4
- package/lib/widgets/forms.js.map +1 -1
- package/package.json +20 -17
- package/dist/main.js.map +0 -1
- package/lib/acl/styles.d.ts +0 -90
- package/lib/acl/styles.d.ts.map +0 -1
- package/lib/acl/styles.js +0 -98
- package/lib/acl/styles.js.map +0 -1
- package/lib/footer/styleMap.d.ts +0 -8
- package/lib/footer/styleMap.d.ts.map +0 -1
- package/lib/footer/styleMap.js +0 -15
- package/lib/footer/styleMap.js.map +0 -1
- package/lib/header/styleMap.d.ts +0 -117
- package/lib/header/styleMap.d.ts.map +0 -1
- package/lib/header/styleMap.js +0 -139
- package/lib/header/styleMap.js.map +0 -1
- package/lib/jss/index.d.ts +0 -20
- package/lib/jss/index.d.ts.map +0 -1
- package/lib/jss/index.js +0 -47
- package/lib/jss/index.js.map +0 -1
package/lib/header/index.js
CHANGED
|
@@ -21,6 +21,7 @@ var _index = require("../index");
|
|
|
21
21
|
var _solidLogic = require("solid-logic");
|
|
22
22
|
var _login = require("../login/login");
|
|
23
23
|
var widgets = _interopRequireWildcard(require("../widgets"));
|
|
24
|
+
var style = _interopRequireWildcard(require("../style"));
|
|
24
25
|
var _emptyProfile = require("./empty-profile");
|
|
25
26
|
var _headerFooterHelpers = require("../utils/headerFooterHelpers");
|
|
26
27
|
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); }
|
|
@@ -114,12 +115,12 @@ function _createBanner() {
|
|
|
114
115
|
case 0:
|
|
115
116
|
podLink = document.createElement('a');
|
|
116
117
|
podLink.href = pod.uri;
|
|
117
|
-
(
|
|
118
|
+
podLink.setAttribute('style', style.headerBannerLink);
|
|
118
119
|
image = document.createElement('img');
|
|
119
120
|
if (options) {
|
|
120
121
|
image.src = options.logo ? options.logo : DEFAUL_SOLID_ICON_URL;
|
|
121
122
|
}
|
|
122
|
-
(
|
|
123
|
+
image.setAttribute('style', style.headerBannerIcon);
|
|
123
124
|
podLink.appendChild(image);
|
|
124
125
|
if (!user) {
|
|
125
126
|
_context3.next = 13;
|
|
@@ -136,10 +137,10 @@ function _createBanner() {
|
|
|
136
137
|
case 14:
|
|
137
138
|
userMenu = _context3.t0;
|
|
138
139
|
banner = document.createElement('div');
|
|
139
|
-
(
|
|
140
|
+
banner.setAttribute('style', style.headerBanner);
|
|
140
141
|
banner.appendChild(podLink);
|
|
141
142
|
leftSideOfHeader = document.createElement('div');
|
|
142
|
-
(
|
|
143
|
+
leftSideOfHeader.setAttribute('style', style.headerBannerRightMenu);
|
|
143
144
|
leftSideOfHeader.appendChild(userMenu);
|
|
144
145
|
if (options && options.helpMenuList) {
|
|
145
146
|
helpMenu = createHelpMenu(options, options.helpMenuList);
|
|
@@ -158,7 +159,7 @@ function _createBanner() {
|
|
|
158
159
|
function createHelpMenu(options, helpMenuItems) {
|
|
159
160
|
if (!helpMenuItems) return;
|
|
160
161
|
var helpMenuList = document.createElement('ul');
|
|
161
|
-
(
|
|
162
|
+
helpMenuList.setAttribute('style', style.headerUserMenuList);
|
|
162
163
|
helpMenuItems.forEach(function (menuItem) {
|
|
163
164
|
var menuItemType = menuItem.url ? 'url' : 'onclick';
|
|
164
165
|
if (menuItemType === 'url') {
|
|
@@ -168,19 +169,19 @@ function createHelpMenu(options, helpMenuItems) {
|
|
|
168
169
|
}
|
|
169
170
|
});
|
|
170
171
|
var helpMenu = document.createElement('nav');
|
|
171
|
-
(
|
|
172
|
+
helpMenu.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed);
|
|
172
173
|
helpMenu.setAttribute('aria-hidden', 'true');
|
|
174
|
+
helpMenu.setAttribute('id', 'helperNav');
|
|
173
175
|
helpMenu.appendChild(helpMenuList);
|
|
174
176
|
var helpMenuContainer = document.createElement('div');
|
|
175
|
-
(
|
|
176
|
-
(0, _headerFooterHelpers.addStyleClassToElement)(helpMenuContainer, ['header-user-menu']);
|
|
177
|
+
helpMenuContainer.setAttribute('style', style.headerBannerUserMenu);
|
|
177
178
|
helpMenuContainer.appendChild(helpMenu);
|
|
178
179
|
var helpMenuTrigger = document.createElement('button');
|
|
179
|
-
(
|
|
180
|
+
helpMenuTrigger.setAttribute('style', style.headerUserMenuTrigger);
|
|
180
181
|
helpMenuTrigger.type = 'button';
|
|
181
182
|
var helpMenuIcon = document.createElement('img');
|
|
182
183
|
helpMenuIcon.src = options && options.helpIcon ? options.helpIcon : _index.icons.iconBase + DEFAULT_HELP_MENU_ICON;
|
|
183
|
-
(
|
|
184
|
+
helpMenuIcon.setAttribute('style', style.headerUserMenuTriggerImg);
|
|
184
185
|
helpMenuContainer.appendChild(helpMenuTrigger);
|
|
185
186
|
helpMenuTrigger.appendChild(helpMenuIcon);
|
|
186
187
|
var throttledMenuToggle = (0, _headerFooterHelpers.throttle)(function (event) {
|
|
@@ -193,11 +194,15 @@ function createHelpMenu(options, helpMenuItems) {
|
|
|
193
194
|
helpMenuContainer.addEventListener('mouseover', function (event) {
|
|
194
195
|
clearTimeout(timer);
|
|
195
196
|
throttledMenuToggle(event);
|
|
197
|
+
var nav = document.getElementById('helperNav');
|
|
198
|
+
nav === null || nav === void 0 ? void 0 : nav.setAttribute('style', style.headerUserMenuNavigationMenu);
|
|
196
199
|
});
|
|
197
200
|
helpMenuContainer.addEventListener('mouseout', function (event) {
|
|
198
201
|
timer = setTimeout(function () {
|
|
199
202
|
return throttledMenuToggle(event);
|
|
200
203
|
}, 200);
|
|
204
|
+
var nav = document.getElementById('helperNav');
|
|
205
|
+
nav === null || nav === void 0 ? void 0 : nav.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed);
|
|
201
206
|
});
|
|
202
207
|
return helpMenuContainer;
|
|
203
208
|
}
|
|
@@ -206,7 +211,7 @@ function createHelpMenu(options, helpMenuItems) {
|
|
|
206
211
|
*/
|
|
207
212
|
function createLoginSignUpButtons() {
|
|
208
213
|
var profileLoginButtonPre = document.createElement('div');
|
|
209
|
-
(
|
|
214
|
+
profileLoginButtonPre.setAttribute('style', style.headerBannerLogin);
|
|
210
215
|
profileLoginButtonPre.appendChild((0, _login.loginStatusBox)(document, null, {}));
|
|
211
216
|
return profileLoginButtonPre;
|
|
212
217
|
}
|
|
@@ -215,7 +220,13 @@ function createLoginSignUpButtons() {
|
|
|
215
220
|
*/
|
|
216
221
|
function createUserMenuButton(label, onClick) {
|
|
217
222
|
var button = document.createElement('button');
|
|
218
|
-
(
|
|
223
|
+
button.setAttribute('style', style.headerUserMenuButton);
|
|
224
|
+
button.onmouseover = function () {
|
|
225
|
+
button.setAttribute('style', style.headerUserMenuButtonHover);
|
|
226
|
+
};
|
|
227
|
+
button.onmouseout = function () {
|
|
228
|
+
button.setAttribute('style', style.headerUserMenuButton);
|
|
229
|
+
};
|
|
219
230
|
button.addEventListener('click', onClick);
|
|
220
231
|
button.innerText = label;
|
|
221
232
|
return button;
|
|
@@ -225,7 +236,13 @@ function createUserMenuButton(label, onClick) {
|
|
|
225
236
|
*/
|
|
226
237
|
function createUserMenuLink(label, href, target) {
|
|
227
238
|
var link = document.createElement('a');
|
|
228
|
-
(
|
|
239
|
+
link.setAttribute('style', style.headerUserMenuLink);
|
|
240
|
+
link.onmouseover = function () {
|
|
241
|
+
link.setAttribute('style', style.headerUserMenuLinkHover);
|
|
242
|
+
};
|
|
243
|
+
link.onmouseout = function () {
|
|
244
|
+
link.setAttribute('style', style.headerUserMenuLink);
|
|
245
|
+
};
|
|
229
246
|
link.href = href;
|
|
230
247
|
link.innerText = label;
|
|
231
248
|
if (target) link.target = target;
|
|
@@ -256,7 +273,7 @@ function _createUserMenu() {
|
|
|
256
273
|
return fetcher.load(user);
|
|
257
274
|
case 4:
|
|
258
275
|
loggedInMenuList = document.createElement('ul');
|
|
259
|
-
(
|
|
276
|
+
loggedInMenuList.setAttribute('style', style.headerUserMenuList);
|
|
260
277
|
if (userMenuList) {
|
|
261
278
|
userMenuList.forEach(function (menuItem) {
|
|
262
279
|
var menuItemType = menuItem.url ? 'url' : 'onclick';
|
|
@@ -268,11 +285,12 @@ function _createUserMenu() {
|
|
|
268
285
|
});
|
|
269
286
|
}
|
|
270
287
|
loggedInMenu = document.createElement('nav');
|
|
271
|
-
(
|
|
288
|
+
loggedInMenu.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed);
|
|
272
289
|
loggedInMenu.setAttribute('aria-hidden', 'true');
|
|
290
|
+
loggedInMenu.setAttribute('id', 'loggedInNav');
|
|
273
291
|
loggedInMenu.appendChild(loggedInMenuList);
|
|
274
292
|
loggedInMenuTrigger = document.createElement('button');
|
|
275
|
-
(
|
|
293
|
+
loggedInMenuTrigger.setAttribute('style', style.headerUserMenuTrigger);
|
|
276
294
|
loggedInMenuTrigger.type = 'button';
|
|
277
295
|
profileImg = getProfileImg(store, user);
|
|
278
296
|
if (typeof profileImg === 'string') {
|
|
@@ -281,8 +299,7 @@ function _createUserMenu() {
|
|
|
281
299
|
loggedInMenuTrigger.appendChild(profileImg);
|
|
282
300
|
}
|
|
283
301
|
loggedInMenuContainer = document.createElement('div');
|
|
284
|
-
(
|
|
285
|
-
(0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuContainer, ['header-user-menu']);
|
|
302
|
+
loggedInMenuContainer.setAttribute('style', style.headerBannerUserMenuNotDisplayed);
|
|
286
303
|
loggedInMenuContainer.appendChild(loggedInMenuTrigger);
|
|
287
304
|
loggedInMenuContainer.appendChild(loggedInMenu);
|
|
288
305
|
throttledMenuToggle = (0, _headerFooterHelpers.throttle)(function (event) {
|
|
@@ -295,11 +312,15 @@ function _createUserMenu() {
|
|
|
295
312
|
loggedInMenuContainer.addEventListener('mouseover', function (event) {
|
|
296
313
|
clearTimeout(timer);
|
|
297
314
|
throttledMenuToggle(event);
|
|
315
|
+
var nav = document.getElementById('loggedInNav');
|
|
316
|
+
nav === null || nav === void 0 ? void 0 : nav.setAttribute('style', style.headerUserMenuNavigationMenu);
|
|
298
317
|
});
|
|
299
318
|
loggedInMenuContainer.addEventListener('mouseout', function (event) {
|
|
300
319
|
timer = setTimeout(function () {
|
|
301
320
|
return throttledMenuToggle(event);
|
|
302
321
|
}, 200);
|
|
322
|
+
var nav = document.getElementById('loggedInNav');
|
|
323
|
+
nav === null || nav === void 0 ? void 0 : nav.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed);
|
|
303
324
|
});
|
|
304
325
|
return _context4.abrupt("return", loggedInMenuContainer);
|
|
305
326
|
case 27:
|
|
@@ -312,7 +333,7 @@ function _createUserMenu() {
|
|
|
312
333
|
}
|
|
313
334
|
function createUserMenuItem(child) {
|
|
314
335
|
var menuProfileItem = document.createElement('li');
|
|
315
|
-
(
|
|
336
|
+
menuProfileItem.setAttribute('style', style.headerUserMenuListItem);
|
|
316
337
|
menuProfileItem.appendChild(child);
|
|
317
338
|
return menuProfileItem;
|
|
318
339
|
}
|
|
@@ -330,7 +351,7 @@ function getProfileImg(store, user) {
|
|
|
330
351
|
return _emptyProfile.emptyProfile;
|
|
331
352
|
}
|
|
332
353
|
var profileImage = document.createElement('div');
|
|
333
|
-
(
|
|
354
|
+
profileImage.setAttribute('style', style.headerUserMenuPhoto);
|
|
334
355
|
profileImage.style.backgroundImage = "url(".concat(profileUrl, ")");
|
|
335
356
|
return profileImage;
|
|
336
357
|
}
|
package/lib/header/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_index","require","_solidLogic","_login","widgets","_interopRequireWildcard","_emptyProfile","_headerFooterHelpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","DEFAULT_HELP_MENU_ICON","icons","iconBase","DEFAUL_SOLID_ICON_URL","initHeader","_x","_x2","_x3","_initHeader","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee2","store","userMenuList","options","header","pod","wrap","_callee2$","_context2","prev","next","document","getElementById","abrupt","getPod","rebuildHeader","authSession","onLogout","onLogin","stop","_callee","user","_callee$","_context","authn","currentUser","innerHTML","t0","createBanner","t1","sent","appendChild","_x4","_x5","_x6","_x7","_x8","_createBanner","_callee3","podLink","image","userMenu","banner","leftSideOfHeader","helpMenu","_callee3$","_context3","createElement","href","uri","addStyleClassToElement","src","logo","createUserMenu","createLoginSignUpButtons","helpMenuList","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","_x9","_x10","_x11","_createUserMenu","_callee4","fetcher","loggedInMenuList","loggedInMenu","loggedInMenuTrigger","profileImg","loggedInMenuContainer","_callee4$","_context4","load","getProfileImg","child","menuProfileItem","profileUrl","findImage","emptyProfile","_unused","profileImage","style","backgroundImage","concat","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":";;;;;;;;;;;;;;;;;;;AAMA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AAAuF,SAAAO,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAZvF;AACA;AACA;AACA;AACA;;AAKA;;AAKA;AACA;AACA;AACA,IAAMW,sBAAsB,GAAGC,YAAK,CAACC,QAAQ,GAAG,eAAe;AAC/D,IAAMC,qBAAqB,GAAG,sDAAsD;AAyBpF;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAOsBC,UAAUA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,WAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAWhC;AACA;AACA;AAFA,SAAAF,YAAA;EAAAA,WAAA,OAAAG,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAXO,SAAAC,SAA2BC,KAAqB,EAAEC,YAAyB,EAAEC,OAAuB;IAAA,IAAAC,MAAA,EAAAC,GAAA;IAAA,OAAAP,YAAA,YAAAQ,IAAA,UAAAC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAC,IAAA,GAAAD,SAAA,CAAAE,IAAA;QAAA;UACnGN,MAAM,GAAGO,QAAQ,CAACC,cAAc,CAAC,YAAY,CAAC;UAAA,IAC/CR,MAAM;YAAAI,SAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,SAAA,CAAAK,MAAA;QAAA;UAILR,GAAG,GAAG,IAAAS,2BAAM,GAAE;UACpBC,aAAa,CAACX,MAAM,EAAEH,KAAK,EAAEI,GAAG,EAAEH,YAAY,EAAEC,OAAO,CAAC,EAAE;UAC1Da,uBAAW,CAACC,QAAQ,CAACF,aAAa,CAACX,MAAM,EAAEH,KAAK,EAAEI,GAAG,EAAEH,YAAY,EAAEC,OAAO,CAAC,CAAC;UAC9Ea,uBAAW,CAACE,OAAO,CAACH,aAAa,CAACX,MAAM,EAAEH,KAAK,EAAEI,GAAG,EAAEH,YAAY,EAAEC,OAAO,CAAC,CAAC;QAAA;QAAA;UAAA,OAAAK,SAAA,CAAAW,IAAA;MAAA;IAAA,GAAAnB,QAAA;EAAA,CAC9E;EAAA,OAAAN,WAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAIM,SAASmB,aAAaA,CAAEX,MAAmB,EAAEH,KAAqB,EAAEI,GAAc,EAAEH,YAAyB,EAAEC,OAAuB,EAAE;EAC7I,wBAAAN,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAAO,SAAAqB,QAAA;IAAA,IAAAC,IAAA;IAAA,OAAAvB,YAAA,YAAAQ,IAAA,UAAAgB,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAd,IAAA,GAAAc,QAAA,CAAAb,IAAA;QAAA;UACCW,IAAI,GAAGG,iBAAK,CAACC,WAAW,EAAE;UAChCrB,MAAM,CAACsB,SAAS,GAAG,EAAE;UAAAH,QAAA,CAAAI,EAAA,GACrBvB,MAAM;UAAAmB,QAAA,CAAAb,IAAA;UAAA,OAAmBkB,YAAY,CAAC3B,KAAK,EAAEI,GAAG,EAAEgB,IAAI,EAAEnB,YAAY,EAAEC,OAAO,CAAC;QAAA;UAAAoB,QAAA,CAAAM,EAAA,GAAAN,QAAA,CAAAO,IAAA;UAAAP,QAAA,CAAAI,EAAA,CAAvEI,WAAW,CAAAhD,IAAA,CAAAwC,QAAA,CAAAI,EAAA,EAAAJ,QAAA,CAAAM,EAAA;QAAA;QAAA;UAAA,OAAAN,QAAA,CAAAJ,IAAA;MAAA;IAAA,GAAAC,OAAA;EAAA,CACnB;AACH;AACA;AACA;AACA;AAFA,SAGsBQ,YAAYA,CAAAI,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,aAAA,CAAA1C,KAAA,OAAAC,SAAA;AAAA;AAgClC;AACA;AACA;AAFA,SAAAyC,cAAA;EAAAA,aAAA,OAAAxC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAhCO,SAAAuC,SAA6BrC,KAAqB,EAAEI,GAAc,EAAEgB,IAAsB,EAAEnB,YAAyB,EAAEC,OAAuB;IAAA,IAAAoC,OAAA,EAAAC,KAAA,EAAAC,QAAA,EAAAC,MAAA,EAAAC,gBAAA,EAAAC,QAAA;IAAA,OAAA9C,YAAA,YAAAQ,IAAA,UAAAuC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAArC,IAAA,GAAAqC,SAAA,CAAApC,IAAA;QAAA;UAC7I6B,OAAO,GAAG5B,QAAQ,CAACoC,aAAa,CAAC,GAAG,CAAC;UAC3CR,OAAO,CAACS,IAAI,GAAG3C,GAAG,CAAC4C,GAAG;UACtB,IAAAC,2CAAsB,EAACX,OAAO,EAAE,CAAC,qBAAqB,CAAC,CAAC;UAClDC,KAAK,GAAG7B,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;UAC3C,IAAI5C,OAAO,EAAE;YACXqC,KAAK,CAACW,GAAG,GAAGhD,OAAO,CAACiD,IAAI,GAAGjD,OAAO,CAACiD,IAAI,GAAG/D,qBAAqB;UACjE;UACA,IAAA6D,2CAAsB,EAACV,KAAK,EAAE,CAAC,qBAAqB,CAAC,CAAC;UACtDD,OAAO,CAACR,WAAW,CAACS,KAAK,CAAC;UAAA,KAETnB,IAAI;YAAAyB,SAAA,CAAApC,IAAA;YAAA;UAAA;UAAAoC,SAAA,CAAApC,IAAA;UAAA,OACX2C,cAAc,CAACpD,KAAK,EAAEoB,IAAI,EAAEnB,YAAY,CAAC;QAAA;UAAA4C,SAAA,CAAAnB,EAAA,GAAAmB,SAAA,CAAAhB,IAAA;UAAAgB,SAAA,CAAApC,IAAA;UAAA;QAAA;UAAAoC,SAAA,CAAAnB,EAAA,GAC/C2B,wBAAwB,EAAE;QAAA;UAFxBb,QAAQ,GAAAK,SAAA,CAAAnB,EAAA;UAIRe,MAAM,GAAG/B,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;UAC5C,IAAAG,2CAAsB,EAACR,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC;UACjDA,MAAM,CAACX,WAAW,CAACQ,OAAO,CAAC;UAErBI,gBAAgB,GAAGhC,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;UACtD,IAAAG,2CAAsB,EAACP,gBAAgB,EAAE,CAAC,2BAA2B,CAAC,CAAC;UACvEA,gBAAgB,CAACZ,WAAW,CAACU,QAAQ,CAAC;UAEtC,IAAItC,OAAO,IAAIA,OAAO,CAACoD,YAAY,EAAE;YAC7BX,QAAQ,GAAGY,cAAc,CAACrD,OAAO,EAAEA,OAAO,CAACoD,YAAY,CAAC;YAC9DZ,gBAAgB,CAACZ,WAAW,CAACa,QAAQ,CAAmB;UAC1D;UAEAF,MAAM,CAACX,WAAW,CAACY,gBAAgB,CAAC;UAAA,OAAAG,SAAA,CAAAjC,MAAA,WAE7B6B,MAAM;QAAA;QAAA;UAAA,OAAAI,SAAA,CAAA3B,IAAA;MAAA;IAAA,GAAAmB,QAAA;EAAA,CACd;EAAA,OAAAD,aAAA,CAAA1C,KAAA,OAAAC,SAAA;AAAA;AAIM,SAAS4D,cAAcA,CAAErD,OAAsB,EAAEsD,aAA0B,EAAE;EAClF,IAAI,CAACA,aAAa,EAAE;EACpB,IAAMF,YAAY,GAAG5C,QAAQ,CAACoC,aAAa,CAAC,IAAI,CAAC;EACjD,IAAAG,2CAAsB,EAACK,YAAY,EAAE,CAAC,wBAAwB,CAAC,CAAC;EAChEE,aAAa,CAACC,OAAO,CAAC,UAAUC,QAAQ,EAAE;IACxC,IAAMC,YAAoB,GAAID,QAAQ,CAAkBE,GAAG,GAAG,KAAK,GAAG,SAAS;IAC/E,IAAID,YAAY,KAAK,KAAK,EAAE;MAC1BL,YAAY,CAACxB,WAAW,CAAC+B,kBAAkB,CAACC,kBAAkB,CAACJ,QAAQ,CAACK,KAAK,EAAGL,QAAQ,CAAkBE,GAAG,EAAGF,QAAQ,CAAkBM,MAAM,CAAC,CAAC,CAAC;IACrJ,CAAC,MAAM;MACLV,YAAY,CAACxB,WAAW,CAAC+B,kBAAkB,CAACI,oBAAoB,CAACP,QAAQ,CAACK,KAAK,EAAGL,QAAQ,CAAoBQ,OAAO,CAAC,CAAC,CAAC;IAC1H;EACF,CAAC,CAAC;EAEF,IAAMvB,QAAQ,GAAGjC,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;EAE9C,IAAAG,2CAAsB,EAACN,QAAQ,EAAE,CAAC,mCAAmC,CAAC,CAAC;EACvEA,QAAQ,CAACwB,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;EAC5CxB,QAAQ,CAACb,WAAW,CAACwB,YAAY,CAAC;EAElC,IAAMc,iBAAiB,GAAG1D,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;EACvD,IAAAG,2CAAsB,EAACmB,iBAAiB,EAAE,CAAC,0BAA0B,CAAC,CAAC;EACvE,IAAAnB,2CAAsB,EAACmB,iBAAiB,EAAE,CAAC,kBAAkB,CAAC,CAAC;EAC/DA,iBAAiB,CAACtC,WAAW,CAACa,QAAQ,CAAC;EAEvC,IAAM0B,eAAe,GAAG3D,QAAQ,CAACoC,aAAa,CAAC,QAAQ,CAAC;EACxD,IAAAG,2CAAsB,EAACoB,eAAe,EAAE,CAAC,2BAA2B,CAAC,CAAC;EACtEA,eAAe,CAACC,IAAI,GAAG,QAAQ;EAE/B,IAAMC,YAAY,GAAG7D,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;EAClDyB,YAAY,CAACrB,GAAG,GAAIhD,OAAO,IAAIA,OAAO,CAACsE,QAAQ,GAAItE,OAAO,CAACsE,QAAQ,GAAGtF,YAAK,CAACC,QAAQ,GAAGF,sBAAsB;EAC7G,IAAAgE,2CAAsB,EAACsB,YAAY,EAAE,CAAC,0BAA0B,CAAC,CAAC;EAClEH,iBAAiB,CAACtC,WAAW,CAACuC,eAAe,CAAC;EAC9CA,eAAe,CAACvC,WAAW,CAACyC,YAAY,CAAC;EAEzC,IAAME,mBAAmB,GAAG,IAAAC,6BAAQ,EAAC,UAACC,KAAY;IAAA,OAAKC,UAAU,CAACD,KAAK,EAAEN,eAAe,EAAE1B,QAAQ,CAAC;EAAA,GAAE,EAAE,CAAC;EACxG0B,eAAe,CAACQ,gBAAgB,CAAC,OAAO,EAAEJ,mBAAmB,CAAC;EAC9D,IAAIK,KAAK,GAAGC,UAAU,CAAC;IAAA,OAAM,IAAI;EAAA,GAAE,CAAC,CAAC;EACrCX,iBAAiB,CAACS,gBAAgB,CAAC,WAAW,EAAE,UAAAF,KAAK,EAAI;IACvDK,YAAY,CAACF,KAAK,CAAC;IACnBL,mBAAmB,CAACE,KAAK,CAAC;EAC5B,CAAC,CAAC;EACFP,iBAAiB,CAACS,gBAAgB,CAAC,UAAU,EAAE,UAAAF,KAAK,EAAI;IACtDG,KAAK,GAAGC,UAAU,CAAC;MAAA,OAAMN,mBAAmB,CAACE,KAAK,CAAC;IAAA,GAAE,GAAG,CAAC;EAC3D,CAAC,CAAC;EAEF,OAAOP,iBAAiB;AAC1B;AACA;AACA;AACA;AACO,SAASf,wBAAwBA,CAAA,EAAI;EAC1C,IAAM4B,qBAAqB,GAAGvE,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;EAC3D,IAAAG,2CAAsB,EAACgC,qBAAqB,EAAE,CAAC,sBAAsB,CAAC,CAAC;EACvEA,qBAAqB,CAACnD,WAAW,CAAC,IAAAoD,qBAAc,EAACxE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;EACrE,OAAOuE,qBAAqB;AAC9B;AACA;AACA;AACA;AACO,SAAShB,oBAAoBA,CAAEF,KAAa,EAAEoB,OAA2C,EAAe;EAC7G,IAAMC,MAAM,GAAG1E,QAAQ,CAACoC,aAAa,CAAC,QAAQ,CAAC;EAC/C,IAAAG,2CAAsB,EAACmC,MAAM,EAAE,CAAC,0BAA0B,CAAC,CAAC;EAC5DA,MAAM,CAACP,gBAAgB,CAAC,OAAO,EAAEM,OAAO,CAAC;EACzCC,MAAM,CAACC,SAAS,GAAGtB,KAAK;EACxB,OAAOqB,MAAM;AACf;AACA;AACA;AACA;AACO,SAAStB,kBAAkBA,CAAEC,KAAa,EAAEhB,IAAY,EAAEiB,MAAe,EAAe;EAC7F,IAAMsB,IAAI,GAAG5E,QAAQ,CAACoC,aAAa,CAAC,GAAG,CAAC;EACxC,IAAAG,2CAAsB,EAACqC,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC;EACxDA,IAAI,CAACvC,IAAI,GAAGA,IAAI;EAChBuC,IAAI,CAACD,SAAS,GAAGtB,KAAK;EACtB,IAAIC,MAAM,EAAEsB,IAAI,CAACtB,MAAM,GAAGA,MAAM;EAChC,OAAOsB,IAAI;AACb;;AAEA;AACA;AACA;AAFA,SAGsBlC,cAAcA,CAAAmC,GAAA,EAAAC,IAAA,EAAAC,IAAA;EAAA,OAAAC,eAAA,CAAAhG,KAAA,OAAAC,SAAA;AAAA;AAuDpC;AACA;AACA;AAFA,SAAA+F,gBAAA;EAAAA,eAAA,OAAA9F,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAvDO,SAAA6F,SAA+B3F,KAAqB,EAAEoB,IAAe,EAAEnB,YAAyB;IAAA,IAAA2F,OAAA,EAAAC,gBAAA,EAAAC,YAAA,EAAAC,mBAAA,EAAAC,UAAA,EAAAC,qBAAA,EAAAxB,mBAAA,EAAAK,KAAA;IAAA,OAAAjF,YAAA,YAAAQ,IAAA,UAAA6F,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAA3F,IAAA,GAAA2F,SAAA,CAAA1F,IAAA;QAAA;UAC/FmF,OAAO,GAAS5F,KAAK,CAAE4F,OAAO;UAAA,KAChCA,OAAO;YAAAO,SAAA,CAAA1F,IAAA;YAAA;UAAA;UAAA0F,SAAA,CAAA1F,IAAA;UAAA,OAEHmF,OAAO,CAACQ,IAAI,CAAChF,IAAI,CAAC;QAAA;UAGpByE,gBAAgB,GAAGnF,QAAQ,CAACoC,aAAa,CAAC,IAAI,CAAC;UACrD,IAAAG,2CAAsB,EAAC4C,gBAAgB,EAAE,CAAC,wBAAwB,CAAC,CAAC;UACpE,IAAI5F,YAAY,EAAE;YAChBA,YAAY,CAACwD,OAAO,CAAC,UAAUC,QAAQ,EAAE;cACvC,IAAMC,YAAoB,GAAID,QAAQ,CAAkBE,GAAG,GAAG,KAAK,GAAG,SAAS;cAC/E,IAAID,YAAY,KAAK,KAAK,EAAE;gBAC1BkC,gBAAgB,CAAC/D,WAAW,CAAC+B,kBAAkB,CAACC,kBAAkB,CAACJ,QAAQ,CAACK,KAAK,EAAGL,QAAQ,CAAkBE,GAAG,EAAGF,QAAQ,CAAkBM,MAAM,CAAC,CAAC,CAAC;cACzJ,CAAC,MAAM;gBACL6B,gBAAgB,CAAC/D,WAAW,CAAC+B,kBAAkB,CAACI,oBAAoB,CAACP,QAAQ,CAACK,KAAK,EAAGL,QAAQ,CAAoBQ,OAAO,CAAC,CAAC,CAAC;cAC9H;YACF,CAAC,CAAC;UACJ;UACM4B,YAAY,GAAGpF,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;UAElD,IAAAG,2CAAsB,EAAC6C,YAAY,EAAE,CAAC,mCAAmC,CAAC,CAAC;UAC3EA,YAAY,CAAC3B,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;UAChD2B,YAAY,CAAChE,WAAW,CAAC+D,gBAAgB,CAAC;UAEpCE,mBAAmB,GAAGrF,QAAQ,CAACoC,aAAa,CAAC,QAAQ,CAAC;UAC5D,IAAAG,2CAAsB,EAAC8C,mBAAmB,EAAE,CAAC,2BAA2B,CAAC,CAAC;UAC1EA,mBAAmB,CAACzB,IAAI,GAAG,QAAQ;UAC7B0B,UAAU,GAAGK,aAAa,CAACrG,KAAK,EAAEoB,IAAI,CAAC;UAC7C,IAAI,OAAO4E,UAAU,KAAK,QAAQ,EAAE;YAClCD,mBAAmB,CAACtE,SAAS,GAAGuE,UAAU;UAC5C,CAAC,MAAM;YACLD,mBAAmB,CAACjE,WAAW,CAACkE,UAAU,CAAC;UAC7C;UAEMC,qBAAqB,GAAGvF,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;UAC3D,IAAAG,2CAAsB,EAACgD,qBAAqB,EAAE,CAAC,0BAA0B,CAAC,CAAC;UAC3E,IAAAhD,2CAAsB,EAACgD,qBAAqB,EAAE,CAAC,kBAAkB,CAAC,CAAC;UACnEA,qBAAqB,CAACnE,WAAW,CAACiE,mBAAmB,CAAC;UACtDE,qBAAqB,CAACnE,WAAW,CAACgE,YAAY,CAAC;UAEzCrB,mBAAmB,GAAG,IAAAC,6BAAQ,EAAC,UAACC,KAAY;YAAA,OAAKC,UAAU,CAACD,KAAK,EAAEoB,mBAAmB,EAAED,YAAY,CAAC;UAAA,GAAE,EAAE,CAAC;UAChHC,mBAAmB,CAAClB,gBAAgB,CAAC,OAAO,EAAEJ,mBAAmB,CAAC;UAC9DK,KAAK,GAAGC,UAAU,CAAC;YAAA,OAAM,IAAI;UAAA,GAAE,CAAC,CAAC;UACrCkB,qBAAqB,CAACpB,gBAAgB,CAAC,WAAW,EAAE,UAAAF,KAAK,EAAI;YAC3DK,YAAY,CAACF,KAAK,CAAC;YACnBL,mBAAmB,CAACE,KAAK,CAAC;UAC5B,CAAC,CAAC;UACFsB,qBAAqB,CAACpB,gBAAgB,CAAC,UAAU,EAAE,UAAAF,KAAK,EAAI;YAC1DG,KAAK,GAAGC,UAAU,CAAC;cAAA,OAAMN,mBAAmB,CAACE,KAAK,CAAC;YAAA,GAAE,GAAG,CAAC;UAC3D,CAAC,CAAC;UAAA,OAAAwB,SAAA,CAAAvF,MAAA,WAEKqF,qBAAqB;QAAA;QAAA;UAAA,OAAAE,SAAA,CAAAjF,IAAA;MAAA;IAAA,GAAAyE,QAAA;EAAA,CAC7B;EAAA,OAAAD,eAAA,CAAAhG,KAAA,OAAAC,SAAA;AAAA;AAKM,SAASkE,kBAAkBA,CAAEyC,KAAkB,EAAe;EACnE,IAAMC,eAAe,GAAG7F,QAAQ,CAACoC,aAAa,CAAC,IAAI,CAAC;EACpD,IAAAG,2CAAsB,EAACsD,eAAe,EAAE,CAAC,6BAA6B,CAAC,CAAC;EACxEA,eAAe,CAACzE,WAAW,CAACwE,KAAK,CAAC;EAClC,OAAOC,eAAe;AACxB;AACA;AACA;AACA;AACO,SAASF,aAAaA,CAAErG,KAAqB,EAAEoB,IAAe,EAAwB;EAC3F,IAAIoF,UAAU,GAAG,IAAI;EACrB,IAAI;IACFA,UAAU,GAAGjJ,OAAO,CAACkJ,SAAS,CAACrF,IAAI,CAAC;IACpC,IAAI,CAACoF,UAAU,EAAE;MACf,OAAOE,0BAAY;IACrB;EACF,CAAC,CAAC,OAAAC,OAAA,EAAM;IACN,OAAOD,0BAAY;EACrB;EAEA,IAAME,YAAY,GAAGlG,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;EAClD,IAAAG,2CAAsB,EAAC2D,YAAY,EAAE,CAAC,yBAAyB,CAAC,CAAC;EACjEA,YAAY,CAACC,KAAK,CAACC,eAAe,UAAAC,MAAA,CAAUP,UAAU,MAAG;EACzD,OAAOI,YAAY;AACrB;;AAEA;AACA;AACA;AACA,SAAShC,UAAUA,CAAED,KAAY,EAAEqC,OAA0B,EAAEC,IAAiB,EAAQ;EACtF,IAAMC,UAAU,GAAGF,OAAO,CAACG,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM;EACnE,IAAMC,MAAM,GAAGzC,KAAK,CAACL,IAAI,KAAK,WAAW;EACzC,IAAM+C,KAAK,GAAG1C,KAAK,CAACL,IAAI,KAAK,UAAU;EACvC,IAAK4C,UAAU,IAAIE,MAAM,IAAM,CAACF,UAAU,IAAIG,KAAM,EAAE;IACpD;EACF;EACAL,OAAO,CAAC7C,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC+C,UAAU,EAAEI,QAAQ,EAAE,CAAC;EAC/DL,IAAI,CAAC9C,YAAY,CAAC,aAAa,EAAE+C,UAAU,CAACI,QAAQ,EAAE,CAAC;AACzD"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_index","require","_solidLogic","_login","widgets","_interopRequireWildcard","style","_emptyProfile","_headerFooterHelpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","DEFAULT_HELP_MENU_ICON","icons","iconBase","DEFAUL_SOLID_ICON_URL","initHeader","_x","_x2","_x3","_initHeader","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee2","store","userMenuList","options","header","pod","wrap","_callee2$","_context2","prev","next","document","getElementById","abrupt","getPod","rebuildHeader","authSession","onLogout","onLogin","stop","_callee","user","_callee$","_context","authn","currentUser","innerHTML","t0","createBanner","t1","sent","appendChild","_x4","_x5","_x6","_x7","_x8","_createBanner","_callee3","podLink","image","userMenu","banner","leftSideOfHeader","helpMenu","_callee3$","_context3","createElement","href","uri","setAttribute","headerBannerLink","src","logo","headerBannerIcon","createUserMenu","createLoginSignUpButtons","headerBanner","headerBannerRightMenu","helpMenuList","createHelpMenu","helpMenuItems","headerUserMenuList","forEach","menuItem","menuItemType","url","createUserMenuItem","createUserMenuLink","label","target","createUserMenuButton","onclick","headerUserMenuNavigationMenuNotDisplayed","helpMenuContainer","headerBannerUserMenu","helpMenuTrigger","headerUserMenuTrigger","type","helpMenuIcon","helpIcon","headerUserMenuTriggerImg","throttledMenuToggle","throttle","event","toggleMenu","addEventListener","timer","setTimeout","clearTimeout","nav","headerUserMenuNavigationMenu","profileLoginButtonPre","headerBannerLogin","loginStatusBox","onClick","button","headerUserMenuButton","onmouseover","headerUserMenuButtonHover","onmouseout","innerText","link","headerUserMenuLink","headerUserMenuLinkHover","_x9","_x10","_x11","_createUserMenu","_callee4","fetcher","loggedInMenuList","loggedInMenu","loggedInMenuTrigger","profileImg","loggedInMenuContainer","_callee4$","_context4","load","getProfileImg","headerBannerUserMenuNotDisplayed","child","menuProfileItem","headerUserMenuListItem","profileUrl","findImage","emptyProfile","_unused","profileImage","headerUserMenuPhoto","backgroundImage","concat","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 * as style from '../style'\nimport { emptyProfile } from './empty-profile'\nimport { 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 podLink.setAttribute('style', style.headerBannerLink)\n const image = document.createElement('img')\n if (options) {\n image.src = options.logo ? options.logo : DEFAUL_SOLID_ICON_URL\n }\n image.setAttribute('style', style.headerBannerIcon)\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 banner.setAttribute('style', style.headerBanner)\n banner.appendChild(podLink)\n\n const leftSideOfHeader = document.createElement('div')\n leftSideOfHeader.setAttribute('style', style.headerBannerRightMenu)\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 helpMenuList.setAttribute('style', style.headerUserMenuList)\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 helpMenu.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed)\n helpMenu.setAttribute('aria-hidden', 'true')\n helpMenu.setAttribute('id', 'helperNav')\n helpMenu.appendChild(helpMenuList)\n\n const helpMenuContainer = document.createElement('div')\n helpMenuContainer.setAttribute('style', style.headerBannerUserMenu)\n helpMenuContainer.appendChild(helpMenu)\n\n const helpMenuTrigger = document.createElement('button')\n helpMenuTrigger.setAttribute('style', style.headerUserMenuTrigger)\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 helpMenuIcon.setAttribute('style', style.headerUserMenuTriggerImg)\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 const nav = document.getElementById('helperNav')\n nav?.setAttribute('style', style.headerUserMenuNavigationMenu)\n })\n helpMenuContainer.addEventListener('mouseout', event => {\n timer = setTimeout(() => throttledMenuToggle(event), 200)\n const nav = document.getElementById('helperNav')\n nav?.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed)\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 profileLoginButtonPre.setAttribute('style', style.headerBannerLogin)\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 button.setAttribute('style', style.headerUserMenuButton)\n button.onmouseover = function () {\n button.setAttribute('style', style.headerUserMenuButtonHover)\n }\n button.onmouseout = function () {\n button.setAttribute('style', style.headerUserMenuButton)\n }\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 link.setAttribute('style', style.headerUserMenuLink)\n link.onmouseover = function () {\n link.setAttribute('style', style.headerUserMenuLinkHover)\n }\n link.onmouseout = function () {\n link.setAttribute('style', style.headerUserMenuLink)\n }\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 loggedInMenuList.setAttribute('style', style.headerUserMenuList)\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 loggedInMenu.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed)\n loggedInMenu.setAttribute('aria-hidden', 'true')\n loggedInMenu.setAttribute('id', 'loggedInNav')\n loggedInMenu.appendChild(loggedInMenuList)\n\n const loggedInMenuTrigger = document.createElement('button')\n loggedInMenuTrigger.setAttribute('style', style.headerUserMenuTrigger)\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 loggedInMenuContainer.setAttribute('style', style.headerBannerUserMenuNotDisplayed)\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 const nav = document.getElementById('loggedInNav')\n nav?.setAttribute('style', style.headerUserMenuNavigationMenu)\n })\n loggedInMenuContainer.addEventListener('mouseout', event => {\n timer = setTimeout(() => throttledMenuToggle(event), 200)\n const nav = document.getElementById('loggedInNav')\n nav?.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed)\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 menuProfileItem.setAttribute('style', style.headerUserMenuListItem)\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 profileImage.setAttribute('style', style.headerUserMenuPhoto)\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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"}
|
package/lib/login/login.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/login/login.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAa,SAAS,EAAM,MAAM,QAAQ,CAAA;AAGjD,OAAO,EACL,UAAU,EACV,qBAAqB,EAYtB,MAAM,aAAa,CAAA;AAwBpB;;;;GAIG;AAEH,wBAAgB,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAwB9F;AAED;;;;;;;GAOG;AAEH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAuDhC;AAED;;;;;;GAMG;AAEH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAiBhC;AAED;;;;IAII;AACJ,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,SAAS,EACnB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAShC;AAED,wBAAgB,UAAU,CAAE,OAAO,KAAA,EAAE,KAAK,KAAA,UAIzC;AACD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,KAAA,EACR,QAAQ,KAAA,GACP,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAgEvC;AAED,wBAAgB,qBAAqB,CAAE,OAAO,KAAA,EAAE,KAAK,KAAA,EAAE,KAAK,KAAA,OAY3D;AACD;;IAEI;AACJ,wBAAsB,gBAAgB,CAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAuCjC;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/login/login.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAa,SAAS,EAAM,MAAM,QAAQ,CAAA;AAGjD,OAAO,EACL,UAAU,EACV,qBAAqB,EAYtB,MAAM,aAAa,CAAA;AAwBpB;;;;GAIG;AAEH,wBAAgB,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAwB9F;AAED;;;;;;;GAOG;AAEH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAuDhC;AAED;;;;;;GAMG;AAEH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAiBhC;AAED;;;;IAII;AACJ,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,SAAS,EACnB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAShC;AAED,wBAAgB,UAAU,CAAE,OAAO,KAAA,EAAE,KAAK,KAAA,UAIzC;AACD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,KAAA,EACR,QAAQ,KAAA,GACP,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAgEvC;AAED,wBAAgB,qBAAqB,CAAE,OAAO,KAAA,EAAE,KAAK,KAAA,EAAE,KAAK,KAAA,OAY3D;AACD;;IAEI;AACJ,wBAAsB,gBAAgB,CAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAuCjC;AAqGD,wBAAgB,iBAAiB,CAAE,GAAG,EAAE,YAAY,QA+InD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,YAAY,EACjB,QAAQ,GAAE,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,IAAW,EACtD,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GACL,WAAW,CAwFb;AAyBD;;;GAGG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,YAAY,EACjB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAC9D,WAAW,CA0Pb;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,YAAY,EACjB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAC5D,WAAW,CAmBb;AACD;;;GAGG;AACH,wBAAsB,YAAY,IAAK,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAgB/D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,GAC3B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAGhC"}
|
package/lib/login/login.js
CHANGED
|
@@ -24,10 +24,10 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
24
24
|
var _rdflib = require("rdflib");
|
|
25
25
|
var _solidLogic = require("solid-logic");
|
|
26
26
|
var debug = _interopRequireWildcard(require("../debug"));
|
|
27
|
+
var style = _interopRequireWildcard(require("../style"));
|
|
27
28
|
var _log = require("../log");
|
|
28
29
|
var ns = _interopRequireWildcard(require("../ns.js"));
|
|
29
30
|
var _signup = require("../signup/signup.js");
|
|
30
|
-
var _style = require("../style");
|
|
31
31
|
var utils = _interopRequireWildcard(require("../utils"));
|
|
32
32
|
var widgets = _interopRequireWildcard(require("../widgets"));
|
|
33
33
|
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); }
|
|
@@ -562,21 +562,19 @@ function signInOrSignUpBox(dom, setUserCallback) {
|
|
|
562
562
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
563
563
|
options = options || {};
|
|
564
564
|
var signInButtonStyle = options.buttonStyle || getDefaultSignInButtonStyle();
|
|
565
|
-
|
|
566
|
-
// @@ TODO Remove the need to cast HTML element to any
|
|
567
565
|
var box = dom.createElement('div');
|
|
568
566
|
var magicClassName = 'SolidSignInOrSignUpBox';
|
|
569
567
|
debug.log('widgets.signInOrSignUpBox');
|
|
570
568
|
box.setUserCallback = setUserCallback;
|
|
571
569
|
box.setAttribute('class', magicClassName);
|
|
572
|
-
box.style
|
|
570
|
+
box.setAttribute('style', 'display:flex;');
|
|
573
571
|
|
|
574
572
|
// Sign in button with PopUP
|
|
575
573
|
var signInPopUpButton = dom.createElement('input'); // multi
|
|
576
574
|
box.appendChild(signInPopUpButton);
|
|
577
575
|
signInPopUpButton.setAttribute('type', 'button');
|
|
578
576
|
signInPopUpButton.setAttribute('value', 'Log in');
|
|
579
|
-
signInPopUpButton.setAttribute('style', "".concat(signInButtonStyle, "background-color: #eef;"));
|
|
577
|
+
signInPopUpButton.setAttribute('style', "".concat(signInButtonStyle, "background-color: #eef;").concat(style.headerBannerLoginInput));
|
|
580
578
|
_solidLogic.authSession.onLogin(function () {
|
|
581
579
|
var me = _solidLogic.authn.currentUser();
|
|
582
580
|
// const sessionInfo = authSession.info
|
|
@@ -617,7 +615,7 @@ function signInOrSignUpBox(dom, setUserCallback) {
|
|
|
617
615
|
box.appendChild(signupButton);
|
|
618
616
|
signupButton.setAttribute('type', 'button');
|
|
619
617
|
signupButton.setAttribute('value', 'Sign Up for Solid');
|
|
620
|
-
signupButton.setAttribute('style', "".concat(signInButtonStyle, "background-color: #efe;"));
|
|
618
|
+
signupButton.setAttribute('style', "".concat(signInButtonStyle, "background-color: #efe;").concat(style.headerBannerLoginInput));
|
|
621
619
|
signupButton.addEventListener('click', function (_event) {
|
|
622
620
|
var signupMgr = new _signup.Signup();
|
|
623
621
|
signupMgr.signup().then(function (uri) {
|
|
@@ -653,11 +651,13 @@ function renderSignInPopup(dom) {
|
|
|
653
651
|
issuerPopupBoxTopMenu.appendChild(issuerPopupBoxCloseButton);
|
|
654
652
|
var loginToIssuer = /*#__PURE__*/function () {
|
|
655
653
|
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(issuerUri) {
|
|
656
|
-
var preLoginRedirectHash;
|
|
654
|
+
var preLoginRedirectHash, locationUrl;
|
|
657
655
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
658
656
|
while (1) switch (_context.prev = _context.next) {
|
|
659
657
|
case 0:
|
|
660
658
|
_context.prev = 0;
|
|
659
|
+
// clear authorization metadata from store
|
|
660
|
+
_solidLogic.solidLogicSingleton.store.updater.flagAuthorizationMetadata();
|
|
661
661
|
// Save hash
|
|
662
662
|
preLoginRedirectHash = new URL(window.location.href).hash;
|
|
663
663
|
if (preLoginRedirectHash) {
|
|
@@ -665,23 +665,25 @@ function renderSignInPopup(dom) {
|
|
|
665
665
|
}
|
|
666
666
|
window.localStorage.setItem('loginIssuer', issuerUri);
|
|
667
667
|
// Login
|
|
668
|
-
|
|
668
|
+
locationUrl = new URL(window.location.href);
|
|
669
|
+
locationUrl.hash = ''; // remove hash part
|
|
670
|
+
_context.next = 9;
|
|
669
671
|
return _solidLogic.authSession.login({
|
|
670
|
-
redirectUrl:
|
|
672
|
+
redirectUrl: locationUrl.href,
|
|
671
673
|
oidcIssuer: issuerUri
|
|
672
674
|
});
|
|
673
|
-
case
|
|
674
|
-
_context.next =
|
|
675
|
+
case 9:
|
|
676
|
+
_context.next = 14;
|
|
675
677
|
break;
|
|
676
|
-
case
|
|
677
|
-
_context.prev =
|
|
678
|
+
case 11:
|
|
679
|
+
_context.prev = 11;
|
|
678
680
|
_context.t0 = _context["catch"](0);
|
|
679
681
|
(0, _log.alert)(_context.t0.message);
|
|
680
|
-
case
|
|
682
|
+
case 14:
|
|
681
683
|
case "end":
|
|
682
684
|
return _context.stop();
|
|
683
685
|
}
|
|
684
|
-
}, _callee, null, [[0,
|
|
686
|
+
}, _callee, null, [[0, 11]]);
|
|
685
687
|
}));
|
|
686
688
|
return function loginToIssuer(_x11) {
|
|
687
689
|
return _ref.apply(this, arguments);
|
|
@@ -833,45 +835,47 @@ _solidLogic.authSession.onLogout( /*#__PURE__*/(0, _asyncToGenerator2["default"]
|
|
|
833
835
|
case 0:
|
|
834
836
|
issuer = window.localStorage.getItem('loginIssuer');
|
|
835
837
|
if (!issuer) {
|
|
836
|
-
_context2.next =
|
|
838
|
+
_context2.next = 20;
|
|
837
839
|
break;
|
|
838
840
|
}
|
|
839
841
|
_context2.prev = 2;
|
|
842
|
+
// clear authorization metadata from store
|
|
843
|
+
_solidLogic.solidLogicSingleton.store.updater.flagAuthorizationMetadata();
|
|
840
844
|
wellKnownUri = new URL(issuer);
|
|
841
845
|
wellKnownUri.pathname = '/.well-known/openid-configuration';
|
|
842
|
-
_context2.next =
|
|
846
|
+
_context2.next = 8;
|
|
843
847
|
return fetch(wellKnownUri.toString());
|
|
844
|
-
case
|
|
848
|
+
case 8:
|
|
845
849
|
wellKnownResult = _context2.sent;
|
|
846
850
|
if (!(wellKnownResult.status === 200)) {
|
|
847
|
-
_context2.next =
|
|
851
|
+
_context2.next = 16;
|
|
848
852
|
break;
|
|
849
853
|
}
|
|
850
|
-
_context2.next =
|
|
854
|
+
_context2.next = 12;
|
|
851
855
|
return wellKnownResult.json();
|
|
852
|
-
case
|
|
856
|
+
case 12:
|
|
853
857
|
openidConfiguration = _context2.sent;
|
|
854
858
|
if (!(openidConfiguration && openidConfiguration.end_session_endpoint)) {
|
|
855
|
-
_context2.next =
|
|
859
|
+
_context2.next = 16;
|
|
856
860
|
break;
|
|
857
861
|
}
|
|
858
|
-
_context2.next =
|
|
862
|
+
_context2.next = 16;
|
|
859
863
|
return fetch(openidConfiguration.end_session_endpoint, {
|
|
860
864
|
credentials: 'include'
|
|
861
865
|
});
|
|
862
|
-
case
|
|
863
|
-
_context2.next =
|
|
866
|
+
case 16:
|
|
867
|
+
_context2.next = 20;
|
|
864
868
|
break;
|
|
865
|
-
case
|
|
866
|
-
_context2.prev =
|
|
869
|
+
case 18:
|
|
870
|
+
_context2.prev = 18;
|
|
867
871
|
_context2.t0 = _context2["catch"](2);
|
|
868
|
-
case 19:
|
|
869
|
-
window.location.reload();
|
|
870
872
|
case 20:
|
|
873
|
+
window.location.reload();
|
|
874
|
+
case 21:
|
|
871
875
|
case "end":
|
|
872
876
|
return _context2.stop();
|
|
873
877
|
}
|
|
874
|
-
}, _callee2, null, [[2,
|
|
878
|
+
}, _callee2, null, [[2, 18]]);
|
|
875
879
|
})));
|
|
876
880
|
|
|
877
881
|
/**
|
|
@@ -1006,12 +1010,12 @@ function selectWorkspace(dom, appDetails, callbackWS) {
|
|
|
1006
1010
|
box.appendChild(dom.createElement('hr')); // @@
|
|
1007
1011
|
|
|
1008
1012
|
var p = box.appendChild(dom.createElement('p'));
|
|
1009
|
-
p.style
|
|
1013
|
+
p.setAttribute('style', style.commentStyle);
|
|
1010
1014
|
p.textContent = "Where would you like to store the data for the ".concat(noun, "?\n Give the URL of the folder where you would like the data stored.\n It can be anywhere in solid world - this URI is just an idea.");
|
|
1011
1015
|
// @@ TODO Remove the need to cast baseField to any
|
|
1012
1016
|
var baseField = box.appendChild(dom.createElement('input'));
|
|
1013
1017
|
baseField.setAttribute('type', 'text');
|
|
1014
|
-
baseField.style
|
|
1018
|
+
baseField.setAttribute('style', style.textInputStyle);
|
|
1015
1019
|
baseField.size = 80; // really a string
|
|
1016
1020
|
baseField.label = 'base URL';
|
|
1017
1021
|
baseField.autocomplete = 'on';
|
|
@@ -1023,7 +1027,7 @@ function selectWorkspace(dom, appDetails, callbackWS) {
|
|
|
1023
1027
|
box.appendChild(dom.createElement('br')); // @@
|
|
1024
1028
|
|
|
1025
1029
|
var button = box.appendChild(dom.createElement('button'));
|
|
1026
|
-
button.style
|
|
1030
|
+
button.setAttribute('style', style.buttonStyle);
|
|
1027
1031
|
button.textContent = "Start new ".concat(noun, " at this URI");
|
|
1028
1032
|
button.addEventListener('click', function (_event) {
|
|
1029
1033
|
var newBase = baseField.value.replace(' ', '%20'); // do not re-encode in general, as % encodings may exist
|
|
@@ -1041,7 +1045,7 @@ function selectWorkspace(dom, appDetails, callbackWS) {
|
|
|
1041
1045
|
// Ignore master workspaces
|
|
1042
1046
|
ns.space('MasterWorkspace'));
|
|
1043
1047
|
});
|
|
1044
|
-
var col1, col2, col3, tr, ws,
|
|
1048
|
+
var col1, col2, col3, tr, ws, localStyle, comment;
|
|
1045
1049
|
var cellStyle = 'height: 3em; margin: 1em; padding: 1em white; border-radius: 0.3em;';
|
|
1046
1050
|
var deselectedStyle = "".concat(cellStyle, "border: 0px;");
|
|
1047
1051
|
// const selectedStyle = cellStyle + 'border: 1px solid black;'
|
|
@@ -1056,8 +1060,8 @@ function selectWorkspace(dom, appDetails, callbackWS) {
|
|
|
1056
1060
|
tr.appendChild(col1);
|
|
1057
1061
|
}
|
|
1058
1062
|
col2 = dom.createElement('td');
|
|
1059
|
-
|
|
1060
|
-
if (!
|
|
1063
|
+
localStyle = _solidLogic.solidLogicSingleton.store.anyValue(ws, ns.ui('style'));
|
|
1064
|
+
if (!localStyle) {
|
|
1061
1065
|
// Otherwise make up arbitrary colour
|
|
1062
1066
|
var hash = function hash(x) {
|
|
1063
1067
|
return x.split('').reduce(function (a, b) {
|
|
@@ -1066,9 +1070,9 @@ function selectWorkspace(dom, appDetails, callbackWS) {
|
|
|
1066
1070
|
}, 0);
|
|
1067
1071
|
};
|
|
1068
1072
|
var bgcolor = "#".concat((hash(ws.uri) & 0xffffff | 0xc0c0c0).toString(16)); // c0c0c0 forces pale
|
|
1069
|
-
|
|
1073
|
+
localStyle = "color: black ; background-color: ".concat(bgcolor, ";");
|
|
1070
1074
|
}
|
|
1071
|
-
col2.setAttribute('style', deselectedStyle +
|
|
1075
|
+
col2.setAttribute('style', deselectedStyle + localStyle);
|
|
1072
1076
|
tr.target = ws.uri;
|
|
1073
1077
|
var label = _solidLogic.solidLogicSingleton.store.any(ws, ns.rdfs('label'));
|
|
1074
1078
|
if (!label) {
|
|
@@ -1088,7 +1092,7 @@ function selectWorkspace(dom, appDetails, callbackWS) {
|
|
|
1088
1092
|
comment = comment ? comment.value : 'Use this workspace';
|
|
1089
1093
|
col2.addEventListener('click', function (_event) {
|
|
1090
1094
|
col3.textContent = comment ? comment.value : '';
|
|
1091
|
-
col3.setAttribute('style', deselectedStyle +
|
|
1095
|
+
col3.setAttribute('style', deselectedStyle + localStyle);
|
|
1092
1096
|
var button = dom.createElement('button');
|
|
1093
1097
|
button.textContent = 'Continue';
|
|
1094
1098
|
// button.setAttribute('style', style);
|