solid-ui 2.4.27-80358ddf → 2.4.27-9c4debb1

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 (56) hide show
  1. package/dist/main.js +5648 -458
  2. package/dist/main.js.map +1 -1
  3. package/lib/acl/access-controller.d.ts +3 -2
  4. package/lib/acl/access-controller.d.ts.map +1 -1
  5. package/lib/acl/access-controller.js +15 -17
  6. package/lib/acl/access-controller.js.map +1 -1
  7. package/lib/acl/access-groups.d.ts.map +1 -1
  8. package/lib/acl/access-groups.js +8 -78
  9. package/lib/acl/access-groups.js.map +1 -1
  10. package/lib/acl/acl-control.d.ts.map +1 -1
  11. package/lib/acl/acl-control.js +11 -10
  12. package/lib/acl/acl-control.js.map +1 -1
  13. package/lib/acl/acl.d.ts +1 -1
  14. package/lib/acl/acl.js +1 -1
  15. package/lib/acl/acl.js.map +1 -1
  16. package/lib/acl/add-agent-buttons.d.ts.map +1 -1
  17. package/lib/acl/add-agent-buttons.js +3 -4
  18. package/lib/acl/add-agent-buttons.js.map +1 -1
  19. package/lib/acl/styles.d.ts +90 -0
  20. package/lib/acl/styles.d.ts.map +1 -0
  21. package/lib/acl/styles.js +98 -0
  22. package/lib/acl/styles.js.map +1 -0
  23. package/lib/footer/index.d.ts.map +1 -1
  24. package/lib/footer/index.js +1 -5
  25. package/lib/footer/index.js.map +1 -1
  26. package/lib/footer/styleMap.d.ts +8 -0
  27. package/lib/footer/styleMap.d.ts.map +1 -0
  28. package/lib/footer/styleMap.js +15 -0
  29. package/lib/footer/styleMap.js.map +1 -0
  30. package/lib/header/index.d.ts.map +1 -1
  31. package/lib/header/index.js +20 -33
  32. package/lib/header/index.js.map +1 -1
  33. package/lib/header/styleMap.d.ts +117 -0
  34. package/lib/header/styleMap.d.ts.map +1 -0
  35. package/lib/header/styleMap.js +139 -0
  36. package/lib/header/styleMap.js.map +1 -0
  37. package/lib/jss/index.d.ts +20 -0
  38. package/lib/jss/index.d.ts.map +1 -0
  39. package/lib/jss/index.js +47 -0
  40. package/lib/jss/index.js.map +1 -0
  41. package/lib/login/login.js +11 -11
  42. package/lib/login/login.js.map +1 -1
  43. package/lib/style.js +2 -57
  44. package/lib/style.js.map +1 -1
  45. package/lib/utils/headerFooterHelpers.d.ts +4 -0
  46. package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
  47. package/lib/utils/headerFooterHelpers.js +27 -0
  48. package/lib/utils/headerFooterHelpers.js.map +1 -1
  49. package/lib/versionInfo.js +2 -2
  50. package/lib/versionInfo.js.map +1 -1
  51. package/lib/widgets/buttons.d.ts.map +1 -1
  52. package/lib/widgets/buttons.js +49 -43
  53. package/lib/widgets/buttons.js.map +1 -1
  54. package/lib/widgets/forms.js +8 -4
  55. package/lib/widgets/forms.js.map +1 -1
  56. package/package.json +3 -1
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Contains CSS styles for the Sharing pane,
3
+ * see https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md
4
+ * @packageDocumentation
5
+ */
6
+ export declare const styles: {
7
+ aclControlBoxContainer: {
8
+ margin: string;
9
+ };
10
+ aclControlBoxHeader: {
11
+ fontSize: string;
12
+ margin: string;
13
+ };
14
+ aclControlBoxStatus: {
15
+ display: string;
16
+ margin: string;
17
+ };
18
+ aclControlBoxStatusRevealed: {
19
+ display: string;
20
+ };
21
+ aclGroupContent: {
22
+ maxWidth: number;
23
+ };
24
+ accessGroupList: {
25
+ display: string;
26
+ gridTemplateColumns: string;
27
+ margin: string;
28
+ width: string;
29
+ };
30
+ accessGroupListItem: {
31
+ display: string;
32
+ gridTemplateColumns: string;
33
+ };
34
+ defaultsController: {
35
+ display: string;
36
+ };
37
+ defaultsControllerNotice: {
38
+ color: string;
39
+ flexGrow: number;
40
+ fontSize: string;
41
+ };
42
+ bigButton: {
43
+ backgroundColor: string;
44
+ border: string;
45
+ borderRadius: string;
46
+ maxWidth: string;
47
+ paddingBottom: string;
48
+ paddingTop: string;
49
+ };
50
+ group: {
51
+ color: string;
52
+ };
53
+ 'group-1': {
54
+ color: string;
55
+ };
56
+ 'group-2': {
57
+ color: string;
58
+ };
59
+ 'group-3': {
60
+ color: string;
61
+ };
62
+ 'group-5': {
63
+ color: string;
64
+ };
65
+ 'group-9': {
66
+ color: string;
67
+ };
68
+ 'group-13': {
69
+ color: string;
70
+ };
71
+ trustedAppAddApplicationsTable: {
72
+ backgroundColor: string;
73
+ };
74
+ trustedAppCancelButton: {
75
+ float: "right";
76
+ };
77
+ trustedAppControllerI: {
78
+ borderColor: string;
79
+ borderRadius: string;
80
+ borderWidth: string;
81
+ };
82
+ temporaryStatusInit: {
83
+ background: string;
84
+ };
85
+ temporaryStatusEnd: {
86
+ background: string;
87
+ transition: string;
88
+ };
89
+ };
90
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/acl/styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFlB,CAAA"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.styles = void 0;
7
+ /**
8
+ * Contains CSS styles for the Sharing pane,
9
+ * see https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md
10
+ * @packageDocumentation
11
+ */
12
+ var styles = {
13
+ aclControlBoxContainer: {
14
+ margin: '1em'
15
+ },
16
+ aclControlBoxHeader: {
17
+ fontSize: '120%',
18
+ margin: '0 0 1rem'
19
+ },
20
+ aclControlBoxStatus: {
21
+ display: 'none',
22
+ margin: '1rem 0'
23
+ },
24
+ aclControlBoxStatusRevealed: {
25
+ display: 'block'
26
+ },
27
+ aclGroupContent: {
28
+ maxWidth: 650
29
+ },
30
+ accessGroupList: {
31
+ display: 'grid',
32
+ gridTemplateColumns: '1fr',
33
+ margin: '1em',
34
+ width: '100%'
35
+ },
36
+ accessGroupListItem: {
37
+ display: 'grid',
38
+ gridTemplateColumns: '100px auto 30%'
39
+ },
40
+ defaultsController: {
41
+ display: 'flex'
42
+ },
43
+ defaultsControllerNotice: {
44
+ color: '#888',
45
+ flexGrow: 1,
46
+ fontSize: '80%'
47
+ },
48
+ bigButton: {
49
+ backgroundColor: 'white',
50
+ border: '0.1em solid #888',
51
+ borderRadius: '0.3em',
52
+ maxWidth: '50%',
53
+ paddingBottom: '1em',
54
+ paddingTop: '1em'
55
+ },
56
+ group: {
57
+ color: '#888'
58
+ },
59
+ 'group-1': {
60
+ color: 'green'
61
+ },
62
+ 'group-2': {
63
+ color: '#cc0'
64
+ },
65
+ 'group-3': {
66
+ color: 'orange'
67
+ },
68
+ 'group-5': {
69
+ color: 'red'
70
+ },
71
+ 'group-9': {
72
+ color: 'blue'
73
+ },
74
+ 'group-13': {
75
+ color: 'purple'
76
+ },
77
+ trustedAppAddApplicationsTable: {
78
+ backgroundColor: '#eee'
79
+ },
80
+ trustedAppCancelButton: {
81
+ "float": 'right' // @@ a little hack - https://stackoverflow.com/questions/52781251/using-typescript-jss-with-react-throws-type-is-unassignable-for-some-css-prop
82
+ },
83
+
84
+ trustedAppControllerI: {
85
+ borderColor: 'orange',
86
+ borderRadius: '1em',
87
+ borderWidth: '0.1em'
88
+ },
89
+ temporaryStatusInit: {
90
+ background: 'green'
91
+ },
92
+ temporaryStatusEnd: {
93
+ background: 'transparent',
94
+ transition: 'background 5s linear'
95
+ }
96
+ };
97
+ exports.styles = styles;
98
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","names":["styles","aclControlBoxContainer","margin","aclControlBoxHeader","fontSize","aclControlBoxStatus","display","aclControlBoxStatusRevealed","aclGroupContent","maxWidth","accessGroupList","gridTemplateColumns","width","accessGroupListItem","defaultsController","defaultsControllerNotice","color","flexGrow","bigButton","backgroundColor","border","borderRadius","paddingBottom","paddingTop","group","trustedAppAddApplicationsTable","trustedAppCancelButton","trustedAppControllerI","borderColor","borderWidth","temporaryStatusInit","background","temporaryStatusEnd","transition","exports"],"sources":["../../src/acl/styles.ts"],"sourcesContent":["/**\n * Contains CSS styles for the Sharing pane,\n * see https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md\n * @packageDocumentation\n */\nexport const styles = {\n aclControlBoxContainer: {\n margin: '1em'\n },\n aclControlBoxHeader: {\n fontSize: '120%',\n margin: '0 0 1rem'\n },\n aclControlBoxStatus: {\n display: 'none',\n margin: '1rem 0'\n },\n aclControlBoxStatusRevealed: {\n display: 'block'\n },\n aclGroupContent: {\n maxWidth: 650\n },\n accessGroupList: {\n display: 'grid',\n gridTemplateColumns: '1fr',\n margin: '1em',\n width: '100%'\n },\n accessGroupListItem: {\n display: 'grid',\n gridTemplateColumns: '100px auto 30%'\n },\n defaultsController: {\n display: 'flex'\n },\n defaultsControllerNotice: {\n color: '#888',\n flexGrow: 1,\n fontSize: '80%'\n },\n bigButton: {\n backgroundColor: 'white',\n border: '0.1em solid #888',\n borderRadius: '0.3em',\n maxWidth: '50%',\n paddingBottom: '1em',\n paddingTop: '1em'\n },\n group: {\n color: '#888'\n },\n 'group-1': {\n color: 'green'\n },\n 'group-2': {\n color: '#cc0'\n },\n 'group-3': {\n color: 'orange'\n },\n 'group-5': {\n color: 'red'\n },\n 'group-9': {\n color: 'blue'\n },\n 'group-13': {\n color: 'purple'\n },\n trustedAppAddApplicationsTable: {\n backgroundColor: '#eee'\n },\n trustedAppCancelButton: {\n float: 'right' as 'right' // @@ a little hack - https://stackoverflow.com/questions/52781251/using-typescript-jss-with-react-throws-type-is-unassignable-for-some-css-prop\n },\n trustedAppControllerI: {\n borderColor: 'orange',\n borderRadius: '1em',\n borderWidth: '0.1em'\n },\n temporaryStatusInit: {\n background: 'green'\n },\n temporaryStatusEnd: {\n background: 'transparent',\n transition: 'background 5s linear'\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,IAAMA,MAAM,GAAG;EACpBC,sBAAsB,EAAE;IACtBC,MAAM,EAAE;EACV,CAAC;EACDC,mBAAmB,EAAE;IACnBC,QAAQ,EAAE,MAAM;IAChBF,MAAM,EAAE;EACV,CAAC;EACDG,mBAAmB,EAAE;IACnBC,OAAO,EAAE,MAAM;IACfJ,MAAM,EAAE;EACV,CAAC;EACDK,2BAA2B,EAAE;IAC3BD,OAAO,EAAE;EACX,CAAC;EACDE,eAAe,EAAE;IACfC,QAAQ,EAAE;EACZ,CAAC;EACDC,eAAe,EAAE;IACfJ,OAAO,EAAE,MAAM;IACfK,mBAAmB,EAAE,KAAK;IAC1BT,MAAM,EAAE,KAAK;IACbU,KAAK,EAAE;EACT,CAAC;EACDC,mBAAmB,EAAE;IACnBP,OAAO,EAAE,MAAM;IACfK,mBAAmB,EAAE;EACvB,CAAC;EACDG,kBAAkB,EAAE;IAClBR,OAAO,EAAE;EACX,CAAC;EACDS,wBAAwB,EAAE;IACxBC,KAAK,EAAE,MAAM;IACbC,QAAQ,EAAE,CAAC;IACXb,QAAQ,EAAE;EACZ,CAAC;EACDc,SAAS,EAAE;IACTC,eAAe,EAAE,OAAO;IACxBC,MAAM,EAAE,kBAAkB;IAC1BC,YAAY,EAAE,OAAO;IACrBZ,QAAQ,EAAE,KAAK;IACfa,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd,CAAC;EACDC,KAAK,EAAE;IACLR,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,SAAS,EAAE;IACTA,KAAK,EAAE;EACT,CAAC;EACD,UAAU,EAAE;IACVA,KAAK,EAAE;EACT,CAAC;EACDS,8BAA8B,EAAE;IAC9BN,eAAe,EAAE;EACnB,CAAC;EACDO,sBAAsB,EAAE;IACtB,SAAO,OAAkB,CAAC;EAC5B,CAAC;;EACDC,qBAAqB,EAAE;IACrBC,WAAW,EAAE,QAAQ;IACrBP,YAAY,EAAE,KAAK;IACnBQ,WAAW,EAAE;EACf,CAAC;EACDC,mBAAmB,EAAE;IACnBC,UAAU,EAAE;EACd,CAAC;EACDC,kBAAkB,EAAE;IAClBD,UAAU,EAAE,aAAa;IACzBE,UAAU,EAAE;EACd;AACF,CAAC;AAAAC,OAAA,CAAAlC,MAAA,GAAAA,MAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/footer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAW7C,MAAM,MAAM,aAAa,GAAG;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAEH;;;;GAIG;AACH,wBAAsB,UAAU,CAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,iBAU1E;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,uBAM/I;AACD;;GAEG;AACH,wBAAgB,yBAAyB,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,CAyC5K"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/footer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAU7C,MAAM,MAAM,aAAa,GAAG;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAEH;;;;GAIG;AACH,wBAAsB,UAAU,CAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,iBAU1E;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,uBAM/I;AACD;;GAEG;AACH,wBAAgB,yBAAyB,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,CAyC5K"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -11,10 +10,7 @@ exports.rebuildFooter = rebuildFooter;
11
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
12
  var _solidLogic = require("solid-logic");
14
- var style = _interopRequireWildcard(require("../style"));
15
13
  var _headerFooterHelpers = require("../utils/headerFooterHelpers");
16
- 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); }
17
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
14
  /*
19
15
  This file was copied from mashlib/src/global/footer.ts file. It is modified to
20
16
  work in solid-ui by adjusting where imported functions are found.
@@ -95,7 +91,7 @@ function createControllerInfoBlock(store, user, pod, podOwner, options) {
95
91
  if (!pod || !podOwner || user && user.equals(podOwner)) {
96
92
  return profileLinkContainer;
97
93
  }
98
- profileLinkContainer.setAttribute('style', style.footer);
94
+ (0, _headerFooterHelpers.addStyleClassToElement)(profileLinkContainer, ['footer-pod-info', 'footer'], 'footer');
99
95
  var podLinkPre = document.createElement('span');
100
96
  podLinkPre.innerText = "You're visiting ";
101
97
  var podLink = document.createElement('a');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_solidLogic","require","style","_interopRequireWildcard","_headerFooterHelpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","DEFAULT_SOLID_PROJECT_URL","DEFAULT_SOLID_PROJECT_NAME","initFooter","_x","_x2","_initFooter","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee2","store","options","footer","pod","podOwner","wrap","_callee2$","_context2","prev","next","document","getElementById","abrupt","getPod","getPodOwner","sent","rebuildFooter","authSession","onLogin","onLogout","stop","_callee","user","_callee$","_context","authn","currentUser","innerHTML","t0","createControllerInfoBlock","t1","appendChild","profileLinkContainer","createElement","equals","setAttribute","podLinkPre","innerText","podLink","href","uri","profileLinkPre","profileLink","getName","solidProjectLinkPre","solidProjectLink","solidProjectUrl","solidProjectName","solidProjectLinkPost"],"sources":["../../src/footer/index.ts"],"sourcesContent":["/*\n This file was copied from mashlib/src/global/footer.ts file. It is modified to\n work in solid-ui by adjusting where imported functions are found.\n */\nimport { LiveStore, NamedNode } from 'rdflib'\nimport { authn, authSession } from 'solid-logic'\nimport * as style from '../style'\nimport { getName, getPod, getPodOwner } from '../utils/headerFooterHelpers'\n\nconst DEFAULT_SOLID_PROJECT_URL = 'https://solidproject.org'\nconst DEFAULT_SOLID_PROJECT_NAME = 'solidproject.org'\n\n/*\n FooterOptions allow for customizing the link and name of the link part of the footer.\n */\nexport type FooterOptions = {\n solidProjectUrl?: string,\n solidProjectName?: string\n }\n\n/**\n * Initialize footer component, the footer object returned depends on whether the user is authenticated.\n * @param store the data store\n * @returns the footer\n */\nexport async function initFooter (store: LiveStore, options?: FooterOptions) {\n const footer = document.getElementById('PageFooter')\n if (!footer) {\n return\n }\n const pod = getPod()\n const podOwner = await getPodOwner(pod, store)\n rebuildFooter(footer, store, pod, podOwner, options)()\n authSession.onLogin(rebuildFooter(footer, store, pod, podOwner, options))\n authSession.onLogout(rebuildFooter(footer, store, pod, podOwner, options))\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function rebuildFooter (footer: HTMLElement, store: LiveStore, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions) {\n return async () => {\n const user = authn.currentUser()\n footer.innerHTML = ''\n footer.appendChild(await createControllerInfoBlock(store, user, pod, podOwner, options))\n }\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createControllerInfoBlock (store: LiveStore, user: NamedNode | null, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions): HTMLElement {\n const profileLinkContainer = document.createElement('div')\n if (!pod || !podOwner || (user && user.equals(podOwner))) {\n return profileLinkContainer\n }\n\n profileLinkContainer.setAttribute('style', style.footer)\n\n const podLinkPre = document.createElement('span')\n podLinkPre.innerText = \"You're visiting \"\n\n const podLink = document.createElement('a')\n podLink.href = pod.uri\n podLink.innerText = 'the Pod'\n\n const profileLinkPre = document.createElement('span')\n profileLinkPre.innerText = ' controlled by '\n\n const profileLink = document.createElement('a')\n profileLink.href = podOwner.uri\n profileLink.innerText = getName(store, podOwner)\n\n const solidProjectLinkPre = document.createElement('span')\n solidProjectLinkPre.innerText = '. For more info, check out '\n\n const solidProjectLink = document.createElement('a')\n solidProjectLink.href = options && options.solidProjectUrl ? options.solidProjectUrl : DEFAULT_SOLID_PROJECT_URL\n solidProjectLink.innerText = options && options.solidProjectName ? options.solidProjectName : DEFAULT_SOLID_PROJECT_NAME\n\n const solidProjectLinkPost = document.createElement('span')\n solidProjectLinkPost.innerText = '.'\n\n profileLinkContainer.appendChild(podLinkPre)\n profileLinkContainer.appendChild(podLink)\n profileLinkContainer.appendChild(profileLinkPre)\n profileLinkContainer.appendChild(profileLink)\n profileLinkContainer.appendChild(solidProjectLinkPre)\n profileLinkContainer.appendChild(solidProjectLink)\n profileLinkContainer.appendChild(solidProjectLinkPost)\n\n return profileLinkContainer\n}\n"],"mappings":";;;;;;;;;;;;AAKA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AAA2E,SAAAI,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,SAAAH,wBAAAO,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;AAP3E;AACA;AACA;AACA;;AAMA,IAAMW,yBAAyB,GAAG,0BAA0B;AAC5D,IAAMC,0BAA0B,GAAG,kBAAkB;;AAErD;AACA;AACA;AAMA;AACA;AACA;AACA;AACA;AAJA,SAKsBC,UAAUA,CAAAC,EAAA,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,KAAgB,EAAEC,OAAuB;IAAA,IAAAC,MAAA,EAAAC,GAAA,EAAAC,QAAA;IAAA,OAAAP,YAAA,YAAAQ,IAAA,UAAAC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAC,IAAA,GAAAD,SAAA,CAAAE,IAAA;QAAA;UACnEP,MAAM,GAAGQ,QAAQ,CAACC,cAAc,CAAC,YAAY,CAAC;UAAA,IAC/CT,MAAM;YAAAK,SAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,SAAA,CAAAK,MAAA;QAAA;UAGLT,GAAG,GAAG,IAAAU,2BAAM,GAAE;UAAAN,SAAA,CAAAE,IAAA;UAAA,OACG,IAAAK,gCAAW,EAACX,GAAG,EAAEH,KAAK,CAAC;QAAA;UAAxCI,QAAQ,GAAAG,SAAA,CAAAQ,IAAA;UACdC,aAAa,CAACd,MAAM,EAAEF,KAAK,EAAEG,GAAG,EAAEC,QAAQ,EAAEH,OAAO,CAAC,EAAE;UACtDgB,uBAAW,CAACC,OAAO,CAACF,aAAa,CAACd,MAAM,EAAEF,KAAK,EAAEG,GAAG,EAAEC,QAAQ,EAAEH,OAAO,CAAC,CAAC;UACzEgB,uBAAW,CAACE,QAAQ,CAACH,aAAa,CAACd,MAAM,EAAEF,KAAK,EAAEG,GAAG,EAAEC,QAAQ,EAAEH,OAAO,CAAC,CAAC;QAAA;QAAA;UAAA,OAAAM,SAAA,CAAAa,IAAA;MAAA;IAAA,GAAArB,QAAA;EAAA,CAC3E;EAAA,OAAAN,WAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAIM,SAASqB,aAAaA,CAAEd,MAAmB,EAAEF,KAAgB,EAAEG,GAAqB,EAAEC,QAA0B,EAAEH,OAAuB,EAAE;EAChJ,wBAAAL,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAAO,SAAAuB,QAAA;IAAA,IAAAC,IAAA;IAAA,OAAAzB,YAAA,YAAAQ,IAAA,UAAAkB,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAhB,IAAA,GAAAgB,QAAA,CAAAf,IAAA;QAAA;UACCa,IAAI,GAAGG,iBAAK,CAACC,WAAW,EAAE;UAChCxB,MAAM,CAACyB,SAAS,GAAG,EAAE;UAAAH,QAAA,CAAAI,EAAA,GACrB1B,MAAM;UAAAsB,QAAA,CAAAf,IAAA;UAAA,OAAmBoB,yBAAyB,CAAC7B,KAAK,EAAEsB,IAAI,EAAEnB,GAAG,EAAEC,QAAQ,EAAEH,OAAO,CAAC;QAAA;UAAAuB,QAAA,CAAAM,EAAA,GAAAN,QAAA,CAAAT,IAAA;UAAAS,QAAA,CAAAI,EAAA,CAAhFG,WAAW,CAAA9C,IAAA,CAAAuC,QAAA,CAAAI,EAAA,EAAAJ,QAAA,CAAAM,EAAA;QAAA;QAAA;UAAA,OAAAN,QAAA,CAAAJ,IAAA;MAAA;IAAA,GAAAC,OAAA;EAAA,CACnB;AACH;AACA;AACA;AACA;AACO,SAASQ,yBAAyBA,CAAE7B,KAAgB,EAAEsB,IAAsB,EAAEnB,GAAqB,EAAEC,QAA0B,EAAEH,OAAuB,EAAe;EAC5K,IAAM+B,oBAAoB,GAAGtB,QAAQ,CAACuB,aAAa,CAAC,KAAK,CAAC;EAC1D,IAAI,CAAC9B,GAAG,IAAI,CAACC,QAAQ,IAAKkB,IAAI,IAAIA,IAAI,CAACY,MAAM,CAAC9B,QAAQ,CAAE,EAAE;IACxD,OAAO4B,oBAAoB;EAC7B;EAEAA,oBAAoB,CAACG,YAAY,CAAC,OAAO,EAAExE,KAAK,CAACuC,MAAM,CAAC;EAExD,IAAMkC,UAAU,GAAG1B,QAAQ,CAACuB,aAAa,CAAC,MAAM,CAAC;EACjDG,UAAU,CAACC,SAAS,GAAG,kBAAkB;EAEzC,IAAMC,OAAO,GAAG5B,QAAQ,CAACuB,aAAa,CAAC,GAAG,CAAC;EAC3CK,OAAO,CAACC,IAAI,GAAGpC,GAAG,CAACqC,GAAG;EACtBF,OAAO,CAACD,SAAS,GAAG,SAAS;EAE7B,IAAMI,cAAc,GAAG/B,QAAQ,CAACuB,aAAa,CAAC,MAAM,CAAC;EACrDQ,cAAc,CAACJ,SAAS,GAAG,iBAAiB;EAE5C,IAAMK,WAAW,GAAGhC,QAAQ,CAACuB,aAAa,CAAC,GAAG,CAAC;EAC/CS,WAAW,CAACH,IAAI,GAAGnC,QAAQ,CAACoC,GAAG;EAC/BE,WAAW,CAACL,SAAS,GAAG,IAAAM,4BAAO,EAAC3C,KAAK,EAAEI,QAAQ,CAAC;EAEhD,IAAMwC,mBAAmB,GAAGlC,QAAQ,CAACuB,aAAa,CAAC,MAAM,CAAC;EAC1DW,mBAAmB,CAACP,SAAS,GAAG,6BAA6B;EAE7D,IAAMQ,gBAAgB,GAAGnC,QAAQ,CAACuB,aAAa,CAAC,GAAG,CAAC;EACpDY,gBAAgB,CAACN,IAAI,GAAGtC,OAAO,IAAIA,OAAO,CAAC6C,eAAe,GAAG7C,OAAO,CAAC6C,eAAe,GAAG1D,yBAAyB;EAChHyD,gBAAgB,CAACR,SAAS,GAAGpC,OAAO,IAAIA,OAAO,CAAC8C,gBAAgB,GAAG9C,OAAO,CAAC8C,gBAAgB,GAAG1D,0BAA0B;EAExH,IAAM2D,oBAAoB,GAAGtC,QAAQ,CAACuB,aAAa,CAAC,MAAM,CAAC;EAC3De,oBAAoB,CAACX,SAAS,GAAG,GAAG;EAEpCL,oBAAoB,CAACD,WAAW,CAACK,UAAU,CAAC;EAC5CJ,oBAAoB,CAACD,WAAW,CAACO,OAAO,CAAC;EACzCN,oBAAoB,CAACD,WAAW,CAACU,cAAc,CAAC;EAChDT,oBAAoB,CAACD,WAAW,CAACW,WAAW,CAAC;EAC7CV,oBAAoB,CAACD,WAAW,CAACa,mBAAmB,CAAC;EACrDZ,oBAAoB,CAACD,WAAW,CAACc,gBAAgB,CAAC;EAClDb,oBAAoB,CAACD,WAAW,CAACiB,oBAAoB,CAAC;EAEtD,OAAOhB,oBAAoB;AAC7B"}
1
+ {"version":3,"file":"index.js","names":["_solidLogic","require","_headerFooterHelpers","DEFAULT_SOLID_PROJECT_URL","DEFAULT_SOLID_PROJECT_NAME","initFooter","_x","_x2","_initFooter","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee2","store","options","footer","pod","podOwner","wrap","_callee2$","_context2","prev","next","document","getElementById","abrupt","getPod","getPodOwner","sent","rebuildFooter","authSession","onLogin","onLogout","stop","_callee","user","_callee$","_context","authn","currentUser","innerHTML","t0","createControllerInfoBlock","t1","appendChild","call","profileLinkContainer","createElement","equals","addStyleClassToElement","podLinkPre","innerText","podLink","href","uri","profileLinkPre","profileLink","getName","solidProjectLinkPre","solidProjectLink","solidProjectUrl","solidProjectName","solidProjectLinkPost"],"sources":["../../src/footer/index.ts"],"sourcesContent":["/*\n This file was copied from mashlib/src/global/footer.ts file. It is modified to\n work in solid-ui by adjusting where imported functions are found.\n */\nimport { LiveStore, NamedNode } from 'rdflib'\nimport { authn, authSession } from 'solid-logic'\nimport { addStyleClassToElement, getName, getPod, getPodOwner } from '../utils/headerFooterHelpers'\n\nconst DEFAULT_SOLID_PROJECT_URL = 'https://solidproject.org'\nconst DEFAULT_SOLID_PROJECT_NAME = 'solidproject.org'\n\n/*\n FooterOptions allow for customizing the link and name of the link part of the footer.\n */\nexport type FooterOptions = {\n solidProjectUrl?: string,\n solidProjectName?: string\n }\n\n/**\n * Initialize footer component, the footer object returned depends on whether the user is authenticated.\n * @param store the data store\n * @returns the footer\n */\nexport async function initFooter (store: LiveStore, options?: FooterOptions) {\n const footer = document.getElementById('PageFooter')\n if (!footer) {\n return\n }\n const pod = getPod()\n const podOwner = await getPodOwner(pod, store)\n rebuildFooter(footer, store, pod, podOwner, options)()\n authSession.onLogin(rebuildFooter(footer, store, pod, podOwner, options))\n authSession.onLogout(rebuildFooter(footer, store, pod, podOwner, options))\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function rebuildFooter (footer: HTMLElement, store: LiveStore, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions) {\n return async () => {\n const user = authn.currentUser()\n footer.innerHTML = ''\n footer.appendChild(await createControllerInfoBlock(store, user, pod, podOwner, options))\n }\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createControllerInfoBlock (store: LiveStore, user: NamedNode | null, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions): HTMLElement {\n const profileLinkContainer = document.createElement('div')\n if (!pod || !podOwner || (user && user.equals(podOwner))) {\n return profileLinkContainer\n }\n\n addStyleClassToElement(profileLinkContainer, ['footer-pod-info', 'footer'], 'footer')\n\n const podLinkPre = document.createElement('span')\n podLinkPre.innerText = \"You're visiting \"\n\n const podLink = document.createElement('a')\n podLink.href = pod.uri\n podLink.innerText = 'the Pod'\n\n const profileLinkPre = document.createElement('span')\n profileLinkPre.innerText = ' controlled by '\n\n const profileLink = document.createElement('a')\n profileLink.href = podOwner.uri\n profileLink.innerText = getName(store, podOwner)\n\n const solidProjectLinkPre = document.createElement('span')\n solidProjectLinkPre.innerText = '. For more info, check out '\n\n const solidProjectLink = document.createElement('a')\n solidProjectLink.href = options && options.solidProjectUrl ? options.solidProjectUrl : DEFAULT_SOLID_PROJECT_URL\n solidProjectLink.innerText = options && options.solidProjectName ? options.solidProjectName : DEFAULT_SOLID_PROJECT_NAME\n\n const solidProjectLinkPost = document.createElement('span')\n solidProjectLinkPost.innerText = '.'\n\n profileLinkContainer.appendChild(podLinkPre)\n profileLinkContainer.appendChild(podLink)\n profileLinkContainer.appendChild(profileLinkPre)\n profileLinkContainer.appendChild(profileLink)\n profileLinkContainer.appendChild(solidProjectLinkPre)\n profileLinkContainer.appendChild(solidProjectLink)\n profileLinkContainer.appendChild(solidProjectLinkPost)\n\n return profileLinkContainer\n}\n"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const styleMap: {
2
+ footer: {
3
+ borderTop: string;
4
+ fontSize: string;
5
+ padding: string;
6
+ };
7
+ };
8
+ //# sourceMappingURL=styleMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styleMap.d.ts","sourceRoot":"","sources":["../../src/footer/styleMap.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;CAMpB,CAAA"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.styleMap = void 0;
7
+ var styleMap = {
8
+ footer: {
9
+ borderTop: 'solid 1px $divider-color',
10
+ fontSize: '0.9em',
11
+ padding: '0.5em 1.5em'
12
+ }
13
+ };
14
+ exports.styleMap = styleMap;
15
+ //# sourceMappingURL=styleMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styleMap.js","names":["styleMap","footer","borderTop","fontSize","padding","exports"],"sources":["../../src/footer/styleMap.ts"],"sourcesContent":["export const styleMap = {\n footer: {\n borderTop: 'solid 1px $divider-color',\n fontSize: '0.9em',\n padding: '0.5em 1.5em'\n }\n}\n"],"mappings":";;;;;;AAAO,IAAMA,QAAQ,GAAG;EACtBC,MAAM,EAAE;IACNC,SAAS,EAAE,0BAA0B;IACrCC,QAAQ,EAAE,OAAO;IACjBC,OAAO,EAAE;EACX;AACF,CAAC;AAAAC,OAAA,CAAAL,QAAA,GAAAA,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/header/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAgBlD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,cAAc,CAAA;AAMrD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAA;CAC3B,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,iBAU1G;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,uBAM5I;AACD;;GAEG;AACH,wBAAsB,YAAY,CAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA+B3K;AACD;;GAEG;AACH,wBAAgB,cAAc,CAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,8BA8CjF;AACD;;GAEG;AACH,wBAAgB,wBAAwB,mBAKvC;AACD;;GAEG;AACH,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,GAAG,WAAW,CAY7G;AACD;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAa7F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAqD7H;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAKnE;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,CAe3F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/header/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAelD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,cAAc,CAAA;AAMrD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAA;CAC3B,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,iBAU1G;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,uBAM5I;AACD;;GAEG;AACH,wBAAsB,YAAY,CAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA+B3K;AACD;;GAEG;AACH,wBAAgB,cAAc,CAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,8BA8CjF;AACD;;GAEG;AACH,wBAAgB,wBAAwB,mBAKvC;AACD;;GAEG;AACH,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,GAAG,WAAW,CAM7G;AACD;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAO7F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAqD7H;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAKnE;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,CAe3F"}
@@ -21,7 +21,6 @@ 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"));
25
24
  var _emptyProfile = require("./empty-profile");
26
25
  var _headerFooterHelpers = require("../utils/headerFooterHelpers");
27
26
  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); }
@@ -115,12 +114,12 @@ function _createBanner() {
115
114
  case 0:
116
115
  podLink = document.createElement('a');
117
116
  podLink.href = pod.uri;
118
- podLink.setAttribute('style', style.headerBannerLink);
117
+ (0, _headerFooterHelpers.addStyleClassToElement)(podLink, ['header-banner__link']);
119
118
  image = document.createElement('img');
120
119
  if (options) {
121
120
  image.src = options.logo ? options.logo : DEFAUL_SOLID_ICON_URL;
122
121
  }
123
- image.setAttribute('style', style.headerBannerIcon);
122
+ (0, _headerFooterHelpers.addStyleClassToElement)(image, ['header-banner__icon']);
124
123
  podLink.appendChild(image);
125
124
  if (!user) {
126
125
  _context3.next = 13;
@@ -137,10 +136,10 @@ function _createBanner() {
137
136
  case 14:
138
137
  userMenu = _context3.t0;
139
138
  banner = document.createElement('div');
140
- banner.setAttribute('style', style.headerBanner);
139
+ (0, _headerFooterHelpers.addStyleClassToElement)(banner, ['header-banner']);
141
140
  banner.appendChild(podLink);
142
141
  leftSideOfHeader = document.createElement('div');
143
- leftSideOfHeader.setAttribute('style', style.headerBannerRightMenu);
142
+ (0, _headerFooterHelpers.addStyleClassToElement)(leftSideOfHeader, ['header-banner__right-menu']);
144
143
  leftSideOfHeader.appendChild(userMenu);
145
144
  if (options && options.helpMenuList) {
146
145
  helpMenu = createHelpMenu(options, options.helpMenuList);
@@ -159,7 +158,7 @@ function _createBanner() {
159
158
  function createHelpMenu(options, helpMenuItems) {
160
159
  if (!helpMenuItems) return;
161
160
  var helpMenuList = document.createElement('ul');
162
- helpMenuList.setAttribute('style', style.headerUserMenuList);
161
+ (0, _headerFooterHelpers.addStyleClassToElement)(helpMenuList, ['header-user-menu__list']);
163
162
  helpMenuItems.forEach(function (menuItem) {
164
163
  var menuItemType = menuItem.url ? 'url' : 'onclick';
165
164
  if (menuItemType === 'url') {
@@ -169,19 +168,19 @@ function createHelpMenu(options, helpMenuItems) {
169
168
  }
170
169
  });
171
170
  var helpMenu = document.createElement('nav');
172
- helpMenu.setAttribute('style', style.headerUserMenuNavigationMenu);
171
+ (0, _headerFooterHelpers.addStyleClassToElement)(helpMenu, ['header-user-menu__navigation-menu']);
173
172
  helpMenu.setAttribute('aria-hidden', 'true');
174
173
  helpMenu.appendChild(helpMenuList);
175
174
  var helpMenuContainer = document.createElement('div');
176
- helpMenuContainer.setAttribute('style', style.headerBannerUserMenu);
177
- helpMenuContainer.setAttribute('style', style.headerUserMenu);
175
+ (0, _headerFooterHelpers.addStyleClassToElement)(helpMenuContainer, ['header-banner__user-menu']);
176
+ (0, _headerFooterHelpers.addStyleClassToElement)(helpMenuContainer, ['header-user-menu']);
178
177
  helpMenuContainer.appendChild(helpMenu);
179
178
  var helpMenuTrigger = document.createElement('button');
180
- helpMenuTrigger.setAttribute('style', style.headerUserMenuTrigger);
179
+ (0, _headerFooterHelpers.addStyleClassToElement)(helpMenuTrigger, ['header-user-menu__trigger']);
181
180
  helpMenuTrigger.type = 'button';
182
181
  var helpMenuIcon = document.createElement('img');
183
182
  helpMenuIcon.src = options && options.helpIcon ? options.helpIcon : _index.icons.iconBase + DEFAULT_HELP_MENU_ICON;
184
- helpMenuIcon.setAttribute('style', style.headerUserMenuTriggerImg);
183
+ (0, _headerFooterHelpers.addStyleClassToElement)(helpMenuIcon, ['header-banner__help-icon']);
185
184
  helpMenuContainer.appendChild(helpMenuTrigger);
186
185
  helpMenuTrigger.appendChild(helpMenuIcon);
187
186
  var throttledMenuToggle = (0, _headerFooterHelpers.throttle)(function (event) {
@@ -207,7 +206,7 @@ function createHelpMenu(options, helpMenuItems) {
207
206
  */
208
207
  function createLoginSignUpButtons() {
209
208
  var profileLoginButtonPre = document.createElement('div');
210
- profileLoginButtonPre.setAttribute('style', style.headerBannerLogin);
209
+ (0, _headerFooterHelpers.addStyleClassToElement)(profileLoginButtonPre, ['header-banner__login']);
211
210
  profileLoginButtonPre.appendChild((0, _login.loginStatusBox)(document, null, {}));
212
211
  return profileLoginButtonPre;
213
212
  }
@@ -216,13 +215,7 @@ function createLoginSignUpButtons() {
216
215
  */
217
216
  function createUserMenuButton(label, onClick) {
218
217
  var button = document.createElement('button');
219
- button.setAttribute('style', style.headerUserMenuButton);
220
- button.onmouseover = function () {
221
- button.setAttribute('style', style.headerUserMenuButtonHover);
222
- };
223
- button.onmouseout = function () {
224
- button.setAttribute('style', style.headerUserMenuButton);
225
- };
218
+ (0, _headerFooterHelpers.addStyleClassToElement)(button, ['header-user-menu__button']);
226
219
  button.addEventListener('click', onClick);
227
220
  button.innerText = label;
228
221
  return button;
@@ -232,13 +225,7 @@ function createUserMenuButton(label, onClick) {
232
225
  */
233
226
  function createUserMenuLink(label, href, target) {
234
227
  var link = document.createElement('a');
235
- link.setAttribute('style', style.headerUserMenuLink);
236
- link.onmouseover = function () {
237
- link.setAttribute('style', style.headerUserMenuLinkHover);
238
- };
239
- link.onmouseout = function () {
240
- link.setAttribute('style', style.headerUserMenuLink);
241
- };
228
+ (0, _headerFooterHelpers.addStyleClassToElement)(link, ['header-user-menu__link']);
242
229
  link.href = href;
243
230
  link.innerText = label;
244
231
  if (target) link.target = target;
@@ -269,7 +256,7 @@ function _createUserMenu() {
269
256
  return fetcher.load(user);
270
257
  case 4:
271
258
  loggedInMenuList = document.createElement('ul');
272
- loggedInMenuList.setAttribute('style', style.headerUserMenuList);
259
+ (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuList, ['header-user-menu__list']);
273
260
  if (userMenuList) {
274
261
  userMenuList.forEach(function (menuItem) {
275
262
  var menuItemType = menuItem.url ? 'url' : 'onclick';
@@ -281,11 +268,11 @@ function _createUserMenu() {
281
268
  });
282
269
  }
283
270
  loggedInMenu = document.createElement('nav');
284
- loggedInMenu.setAttribute('style', style.headerUserMenuNavigationMenu);
271
+ (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenu, ['header-user-menu__navigation-menu']);
285
272
  loggedInMenu.setAttribute('aria-hidden', 'true');
286
273
  loggedInMenu.appendChild(loggedInMenuList);
287
274
  loggedInMenuTrigger = document.createElement('button');
288
- loggedInMenuTrigger.setAttribute('style', style.headerUserMenuTrigger);
275
+ (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuTrigger, ['header-user-menu__trigger']);
289
276
  loggedInMenuTrigger.type = 'button';
290
277
  profileImg = getProfileImg(store, user);
291
278
  if (typeof profileImg === 'string') {
@@ -294,8 +281,8 @@ function _createUserMenu() {
294
281
  loggedInMenuTrigger.appendChild(profileImg);
295
282
  }
296
283
  loggedInMenuContainer = document.createElement('div');
297
- loggedInMenuContainer.setAttribute('style', style.headerBannerUserMenu);
298
- loggedInMenuContainer.setAttribute('style', style.headerUserMenu);
284
+ (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuContainer, ['header-banner__user-menu']);
285
+ (0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuContainer, ['header-user-menu']);
299
286
  loggedInMenuContainer.appendChild(loggedInMenuTrigger);
300
287
  loggedInMenuContainer.appendChild(loggedInMenu);
301
288
  throttledMenuToggle = (0, _headerFooterHelpers.throttle)(function (event) {
@@ -325,7 +312,7 @@ function _createUserMenu() {
325
312
  }
326
313
  function createUserMenuItem(child) {
327
314
  var menuProfileItem = document.createElement('li');
328
- menuProfileItem.setAttribute('style', style.headerUserMenuListItem);
315
+ (0, _headerFooterHelpers.addStyleClassToElement)(menuProfileItem, ['header-user-menu__list-item']);
329
316
  menuProfileItem.appendChild(child);
330
317
  return menuProfileItem;
331
318
  }
@@ -343,7 +330,7 @@ function getProfileImg(store, user) {
343
330
  return _emptyProfile.emptyProfile;
344
331
  }
345
332
  var profileImage = document.createElement('div');
346
- profileImage.setAttribute('style', style.headerUserMenuPhoto);
333
+ (0, _headerFooterHelpers.addStyleClassToElement)(profileImage, ['header-user-menu__photo']);
347
334
  profileImage.style.backgroundImage = "url(".concat(profileUrl, ")");
348
335
  return profileImage;
349
336
  }
@@ -1 +1 @@
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","headerUserMenuNavigationMenu","helpMenuContainer","headerBannerUserMenu","headerUserMenu","helpMenuTrigger","headerUserMenuTrigger","type","helpMenuIcon","helpIcon","headerUserMenuTriggerImg","throttledMenuToggle","throttle","event","toggleMenu","addEventListener","timer","setTimeout","clearTimeout","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","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.headerUserMenuNavigationMenu)\n helpMenu.setAttribute('aria-hidden', 'true')\n helpMenu.appendChild(helpMenuList)\n\n const helpMenuContainer = document.createElement('div')\n helpMenuContainer.setAttribute('style', style.headerBannerUserMenu)\n helpMenuContainer.setAttribute('style', style.headerUserMenu)\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 })\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 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.headerUserMenuNavigationMenu)\n loggedInMenu.setAttribute('aria-hidden', 'true')\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.headerBannerUserMenu)\n loggedInMenuContainer.setAttribute('style', style.headerUserMenu)\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 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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"}
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":"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"}