solid-ui 3.0.6 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/README.md +128 -2
  2. package/dist/acl/access-groups.js +1 -1
  3. package/dist/components/footer/index.d.ts +1 -0
  4. package/dist/components/footer/index.esm.js +24364 -0
  5. package/dist/components/footer/index.esm.js.map +1 -0
  6. package/dist/components/footer/index.esm.min.js +137 -0
  7. package/dist/components/footer/index.esm.min.js.map +1 -0
  8. package/dist/components/footer/index.js +23252 -0
  9. package/dist/components/footer/index.js.map +1 -0
  10. package/dist/components/footer/index.min.js +125 -0
  11. package/dist/components/footer/index.min.js.map +1 -0
  12. package/dist/components/header/index.d.ts +1 -0
  13. package/dist/components/header/index.esm.js +1894 -0
  14. package/dist/components/header/index.esm.js.map +1 -0
  15. package/dist/components/header/index.esm.min.js +1083 -0
  16. package/dist/components/header/index.esm.min.js.map +1 -0
  17. package/dist/components/header/index.js +1855 -0
  18. package/dist/components/header/index.js.map +1 -0
  19. package/dist/components/header/index.min.js +1084 -0
  20. package/dist/components/header/index.min.js.map +1 -0
  21. package/dist/components/loginButton/index.d.ts +1 -0
  22. package/dist/components/loginButton/index.esm.js +719 -0
  23. package/dist/components/loginButton/index.esm.js.map +1 -0
  24. package/dist/components/loginButton/index.esm.min.js +402 -0
  25. package/dist/components/loginButton/index.esm.min.js.map +1 -0
  26. package/dist/components/loginButton/index.js +701 -0
  27. package/dist/components/loginButton/index.js.map +1 -0
  28. package/dist/components/loginButton/index.min.js +402 -0
  29. package/dist/components/loginButton/index.min.js.map +1 -0
  30. package/dist/components/signupButton/index.d.ts +1 -0
  31. package/dist/components/signupButton/index.esm.js +270 -0
  32. package/dist/components/signupButton/index.esm.js.map +1 -0
  33. package/dist/components/signupButton/index.esm.min.js +82 -0
  34. package/dist/components/signupButton/index.esm.min.js.map +1 -0
  35. package/dist/components/signupButton/index.js +264 -0
  36. package/dist/components/signupButton/index.js.map +1 -0
  37. package/dist/components/signupButton/index.min.js +82 -0
  38. package/dist/components/signupButton/index.min.js.map +1 -0
  39. package/dist/footer/index.d.ts.map +1 -1
  40. package/dist/footer/index.js +8 -4
  41. package/dist/footer/index.js.map +1 -1
  42. package/dist/icons/v2/icons-svg/contactIcons.d.ts +3 -0
  43. package/dist/icons/v2/icons-svg/contactIcons.d.ts.map +1 -0
  44. package/dist/icons/v2/icons-svg/contactIcons.js +27 -0
  45. package/dist/icons/v2/icons-svg/contactIcons.js.map +1 -0
  46. package/dist/icons/v2/icons-svg/headerIcons.d.ts +18 -0
  47. package/dist/icons/v2/icons-svg/headerIcons.d.ts.map +1 -0
  48. package/dist/icons/v2/icons-svg/headerIcons.js +245 -0
  49. package/dist/icons/v2/icons-svg/headerIcons.js.map +1 -0
  50. package/dist/icons/v2/icons-svg/pngIcons.d.ts +3 -0
  51. package/dist/icons/v2/icons-svg/pngIcons.d.ts.map +1 -0
  52. package/dist/icons/v2/icons-svg/pngIcons.js +4 -0
  53. package/dist/icons/v2/icons-svg/pngIcons.js.map +1 -0
  54. package/dist/icons/v2/icons-svg/profileIcons.d.ts +23 -0
  55. package/dist/icons/v2/icons-svg/profileIcons.d.ts.map +1 -0
  56. package/dist/icons/v2/icons-svg/profileIcons.js +317 -0
  57. package/dist/icons/v2/icons-svg/profileIcons.js.map +1 -0
  58. package/dist/pad.d.ts.map +1 -1
  59. package/dist/pad.js +13 -13
  60. package/dist/pad.js.map +1 -1
  61. package/dist/solid-ui.esm.js +9560 -12181
  62. package/dist/solid-ui.esm.js.map +1 -1
  63. package/dist/solid-ui.esm.min.js +15 -14
  64. package/dist/solid-ui.esm.min.js.map +1 -1
  65. package/dist/solid-ui.js +12531 -14794
  66. package/dist/solid-ui.js.map +1 -1
  67. package/dist/solid-ui.min.js +23 -22
  68. package/dist/solid-ui.min.js.map +1 -1
  69. package/dist/utils/headerFooterHelpers.d.ts.map +1 -1
  70. package/dist/utils/headerFooterHelpers.js +11 -2
  71. package/dist/utils/headerFooterHelpers.js.map +1 -1
  72. package/dist/v2/components/footer/Footer.d.ts +60 -0
  73. package/dist/v2/components/footer/Footer.d.ts.map +1 -0
  74. package/dist/v2/components/footer/Footer.js +148 -0
  75. package/dist/v2/components/footer/Footer.js.map +1 -0
  76. package/dist/v2/components/footer/Footer.test.d.ts +2 -0
  77. package/dist/v2/components/footer/Footer.test.d.ts.map +1 -0
  78. package/dist/v2/components/footer/Footer.test.js +53 -0
  79. package/dist/v2/components/footer/Footer.test.js.map +1 -0
  80. package/dist/v2/components/footer/index.d.ts +3 -0
  81. package/dist/v2/components/footer/index.d.ts.map +1 -0
  82. package/dist/v2/components/footer/index.js +7 -0
  83. package/dist/v2/components/footer/index.js.map +1 -0
  84. package/dist/v2/components/header/Header.d.ts +155 -0
  85. package/dist/v2/components/header/Header.d.ts.map +1 -0
  86. package/dist/v2/components/header/Header.js +845 -0
  87. package/dist/v2/components/header/Header.js.map +1 -0
  88. package/dist/v2/components/header/header.test.d.ts +2 -0
  89. package/dist/v2/components/header/header.test.d.ts.map +1 -0
  90. package/dist/v2/components/header/header.test.js +242 -0
  91. package/dist/v2/components/header/header.test.js.map +1 -0
  92. package/dist/v2/components/header/index.d.ts +4 -0
  93. package/dist/v2/components/header/index.d.ts.map +1 -0
  94. package/dist/v2/components/header/index.js +7 -0
  95. package/dist/v2/components/header/index.js.map +1 -0
  96. package/dist/v2/components/loginButton/LoginButton.d.ts +62 -0
  97. package/dist/v2/components/loginButton/LoginButton.d.ts.map +1 -0
  98. package/dist/v2/components/loginButton/LoginButton.js +497 -0
  99. package/dist/v2/components/loginButton/LoginButton.js.map +1 -0
  100. package/dist/v2/components/loginButton/LoginButton.test.d.ts +2 -0
  101. package/dist/v2/components/loginButton/LoginButton.test.d.ts.map +1 -0
  102. package/dist/v2/components/loginButton/LoginButton.test.js +53 -0
  103. package/dist/v2/components/loginButton/LoginButton.test.js.map +1 -0
  104. package/dist/v2/components/loginButton/downArrow.d.ts +2 -0
  105. package/dist/v2/components/loginButton/downArrow.d.ts.map +1 -0
  106. package/dist/v2/components/loginButton/downArrow.js +10 -0
  107. package/dist/v2/components/loginButton/downArrow.js.map +1 -0
  108. package/dist/v2/components/loginButton/index.d.ts +3 -0
  109. package/dist/v2/components/loginButton/index.d.ts.map +1 -0
  110. package/dist/v2/components/loginButton/index.js +7 -0
  111. package/dist/v2/components/loginButton/index.js.map +1 -0
  112. package/dist/v2/components/signupButton/SignupButton.d.ts +36 -0
  113. package/dist/v2/components/signupButton/SignupButton.d.ts.map +1 -0
  114. package/dist/v2/components/signupButton/SignupButton.js +84 -0
  115. package/dist/v2/components/signupButton/SignupButton.js.map +1 -0
  116. package/dist/v2/components/signupButton/SignupButton.test.d.ts +2 -0
  117. package/dist/v2/components/signupButton/SignupButton.test.d.ts.map +1 -0
  118. package/dist/v2/components/signupButton/SignupButton.test.js +49 -0
  119. package/dist/v2/components/signupButton/SignupButton.test.js.map +1 -0
  120. package/dist/v2/components/signupButton/index.d.ts +3 -0
  121. package/dist/v2/components/signupButton/index.d.ts.map +1 -0
  122. package/dist/v2/components/signupButton/index.js +7 -0
  123. package/dist/v2/components/signupButton/index.js.map +1 -0
  124. package/dist/versionInfo.js +7 -7
  125. package/dist/widgets/buttons.d.ts +9 -3
  126. package/dist/widgets/buttons.d.ts.map +1 -1
  127. package/dist/widgets/buttons.js +68 -7
  128. package/dist/widgets/buttons.js.map +1 -1
  129. package/package.json +34 -7
@@ -1 +1 @@
1
- {"version":3,"file":"headerFooterHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/headerFooterHelpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,QAAQ,CAAA;AAIzE,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAA;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAK,SAAS,CAGnC;AACD;GACG;AACH,wBAAsB,WAAW,CAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAiD9F;AACD;;GAEG;AACH,wBAAgB,OAAO,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAIvE;AACD;;GAEG;AACH,wBAAgB,QAAQ,CAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAgC9G"}
1
+ {"version":3,"file":"headerFooterHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/headerFooterHelpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,QAAQ,CAAA;AAIzE,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAA;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAK,SAAS,CAanC;AACD;GACG;AACH,wBAAsB,WAAW,CAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAiD9F;AACD;;GAEG;AACH,wBAAgB,OAAO,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAIvE;AACD;;GAEG;AACH,wBAAgB,QAAQ,CAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAgC9G"}
@@ -7,8 +7,17 @@ import { ns } from '..';
7
7
  * @ignore exporting this only for the unit test
8
8
  */
9
9
  export function getPod() {
10
- // @@ TODO: This is given that mashlib runs on NSS - might need to change when we want it to run on other Pod servers
11
- return sym(document.location.origin).site();
10
+ var _a, _b;
11
+ const { origin, pathname } = document.location;
12
+ const isDatabrowserShell = ((_b = (_a = document.body) === null || _a === void 0 ? void 0 : _a.dataset) === null || _b === void 0 ? void 0 : _b.appShell) === 'databrowser';
13
+ const segments = pathname.split('/').filter(Boolean);
14
+ const lastSegment = segments[segments.length - 1] || '';
15
+ const looksLikeFile = /\.[^/]+$/.test(lastSegment);
16
+ if (isDatabrowserShell && segments.length > 0 && !looksLikeFile) {
17
+ return sym(`${origin}/${segments[0]}/`);
18
+ }
19
+ // Root-hosted pods and static databrowser pages still use the site root.
20
+ return sym(origin).site();
12
21
  }
13
22
  /**
14
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"headerFooterHelpers.js","sourceRoot":"","sources":["../../src/utils/headerFooterHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headerFooterHelpers.js","sourceRoot":"","sources":["../../src/utils/headerFooterHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { LitElement } from 'lit';
2
+ import type { LiveStore, NamedNode } from 'rdflib';
3
+ export declare class Footer extends LitElement {
4
+ static properties: {
5
+ theme: {
6
+ type: StringConstructor;
7
+ reflect: boolean;
8
+ };
9
+ layout: {
10
+ type: StringConstructor;
11
+ reflect: boolean;
12
+ };
13
+ position: {
14
+ type: StringConstructor;
15
+ reflect: boolean;
16
+ };
17
+ top: {
18
+ type: StringConstructor;
19
+ reflect: boolean;
20
+ };
21
+ right: {
22
+ type: StringConstructor;
23
+ reflect: boolean;
24
+ };
25
+ bottom: {
26
+ type: StringConstructor;
27
+ reflect: boolean;
28
+ };
29
+ left: {
30
+ type: StringConstructor;
31
+ reflect: boolean;
32
+ };
33
+ store: {
34
+ type: ObjectConstructor;
35
+ attribute: boolean;
36
+ };
37
+ _user: {
38
+ state: boolean;
39
+ };
40
+ };
41
+ static styles: import("lit").CSSResult;
42
+ theme: 'light' | 'dark';
43
+ layout: 'desktop' | 'mobile';
44
+ position: 'static' | 'absolute' | 'relative' | 'fixed' | 'sticky';
45
+ top: string;
46
+ right: string;
47
+ bottom: string;
48
+ left: string;
49
+ store: LiveStore | null;
50
+ _user: NamedNode | null;
51
+ constructor();
52
+ connectedCallback(): void;
53
+ disconnectedCallback(): void;
54
+ updated(changedProperties: Map<string, unknown>): void;
55
+ private _updatePositionStyles;
56
+ private _updateFooter;
57
+ render(): import("lit-html").TemplateResult<1>;
58
+ private _renderFooterContent;
59
+ }
60
+ //# sourceMappingURL=Footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/footer/Footer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAIlD,qBAAa,MAAO,SAAQ,UAAU;IACpC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAUhB;IAED,MAAM,CAAC,MAAM,0BAsDZ;IAEO,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC5B,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;IACjE,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IACvB,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;;IAgB/B,iBAAiB;IAOjB,oBAAoB;IAWpB,OAAO,CAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAYhD,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,aAAa;IAIrB,MAAM;IAQN,OAAO,CAAC,oBAAoB;CAsB7B"}
@@ -0,0 +1,148 @@
1
+ import { LitElement, html, css } from 'lit';
2
+ import { authSession, authn } from 'solid-logic';
3
+ import { getName } from '../../../utils/headerFooterHelpers';
4
+ export class Footer extends LitElement {
5
+ constructor() {
6
+ super();
7
+ this.theme = 'light';
8
+ this.layout = 'desktop';
9
+ this.position = 'static';
10
+ this.top = 'auto';
11
+ this.right = 'auto';
12
+ this.bottom = 'auto';
13
+ this.left = 'auto';
14
+ this.store = null;
15
+ this._user = null;
16
+ this._updateFooter = this._updateFooter.bind(this);
17
+ }
18
+ connectedCallback() {
19
+ super.connectedCallback();
20
+ authSession.events.on('login', this._updateFooter);
21
+ authSession.events.on('logout', this._updateFooter);
22
+ this._updateFooter();
23
+ }
24
+ disconnectedCallback() {
25
+ if (typeof authSession.events.off === 'function') {
26
+ authSession.events.off('login', this._updateFooter);
27
+ authSession.events.off('logout', this._updateFooter);
28
+ }
29
+ else if (typeof authSession.events.removeListener === 'function') {
30
+ authSession.events.removeListener('login', this._updateFooter);
31
+ authSession.events.removeListener('logout', this._updateFooter);
32
+ }
33
+ super.disconnectedCallback();
34
+ }
35
+ updated(changedProperties) {
36
+ if (changedProperties.has('position') ||
37
+ changedProperties.has('top') ||
38
+ changedProperties.has('right') ||
39
+ changedProperties.has('bottom') ||
40
+ changedProperties.has('left')) {
41
+ this._updatePositionStyles();
42
+ }
43
+ }
44
+ _updatePositionStyles() {
45
+ this.style.setProperty('--footer-position', this.position);
46
+ this.style.setProperty('--footer-top', this.top);
47
+ this.style.setProperty('--footer-right', this.right);
48
+ this.style.setProperty('--footer-bottom', this.bottom);
49
+ this.style.setProperty('--footer-left', this.left);
50
+ }
51
+ _updateFooter() {
52
+ this._user = authn.currentUser();
53
+ }
54
+ render() {
55
+ return html `
56
+ <footer class="footer">
57
+ ${this._renderFooterContent()}
58
+ </footer>
59
+ `;
60
+ }
61
+ _renderFooterContent() {
62
+ if (!this._user) {
63
+ return html `
64
+ <div>
65
+ <strong>Public View</strong>
66
+ <div>You are viewing this profile as a guest.</div>
67
+ </div>
68
+ `;
69
+ }
70
+ const userName = this.store ? getName(this.store, this._user) : this._user.uri;
71
+ return html `
72
+ <div>
73
+ <strong>Logged in View</strong>
74
+ <div>
75
+ You are logged in as
76
+ <a href=${this._user.uri} target="_blank" rel="noopener noreferrer">${userName}</a>.
77
+ </div>
78
+ </div>
79
+ `;
80
+ }
81
+ }
82
+ Footer.properties = {
83
+ theme: { type: String, reflect: true },
84
+ layout: { type: String, reflect: true },
85
+ position: { type: String, reflect: true },
86
+ top: { type: String, reflect: true },
87
+ right: { type: String, reflect: true },
88
+ bottom: { type: String, reflect: true },
89
+ left: { type: String, reflect: true },
90
+ store: { type: Object, attribute: false },
91
+ _user: { state: true }
92
+ };
93
+ Footer.styles = css `
94
+ :host {
95
+ display: block;
96
+ position: var(--footer-position, static);
97
+ top: var(--footer-top, auto);
98
+ right: var(--footer-right, auto);
99
+ bottom: var(--footer-bottom, auto);
100
+ left: var(--footer-left, auto);
101
+ width: auto;
102
+ max-width: var(--footer-max-width, none);
103
+ margin: var(--footer-margin, 0);
104
+ box-sizing: border-box;
105
+ color: var(--footer-text, #4f4f4f);
106
+ background: transparent;
107
+ border: 1px solid var(--footer-border, rgba(0, 0, 0, 0.12));
108
+ border-radius: var(--footer-border-radius, 1rem);
109
+ box-shadow: var(--footer-box-shadow, 0 1px 6px rgba(0, 0, 0, 0.08));
110
+ font-family: var(--font-family-base, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif);
111
+ }
112
+
113
+ .footer {
114
+ display: flex;
115
+ justify-content: flex-start;
116
+ align-items: flex-start;
117
+ gap: 0.25rem;
118
+ font-size: 0.75rem;
119
+ line-height: 1.5;
120
+ text-align: left;
121
+ }
122
+
123
+ .footer a {
124
+ color: var(--footer-link, #4b32a8);
125
+ text-decoration: none;
126
+ font-weight: 600;
127
+ }
128
+
129
+ .footer a:hover {
130
+ text-decoration: underline;
131
+ }
132
+
133
+ .footer span {
134
+ color: inherit;
135
+ }
136
+
137
+ .footer div > strong {
138
+ display: block;
139
+ margin-bottom: 0.5rem;
140
+ }
141
+
142
+ :host([layout='mobile']) {
143
+ border: none;
144
+ box-shadow: none;
145
+ border-radius: 0;
146
+ }
147
+ `;
148
+ //# sourceMappingURL=Footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../../src/v2/components/footer/Footer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import './index';
2
+ //# sourceMappingURL=Footer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.test.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/footer/Footer.test.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,CAAA"}
@@ -0,0 +1,53 @@
1
+ import { Footer } from './Footer';
2
+ import './index';
3
+ import { authn } from 'solid-logic';
4
+ describe('SolidUIFooterElement', () => {
5
+ it('is defined as a custom element', () => {
6
+ const defined = customElements.get('solid-ui-footer');
7
+ expect(defined).toBe(Footer);
8
+ });
9
+ it('renders a public view when not logged in', async () => {
10
+ const footer = new Footer();
11
+ document.body.appendChild(footer);
12
+ await footer.updateComplete;
13
+ const shadow = footer.shadowRoot;
14
+ expect(shadow).not.toBeNull();
15
+ expect(shadow === null || shadow === void 0 ? void 0 : shadow.textContent).toContain('Public View');
16
+ expect(shadow === null || shadow === void 0 ? void 0 : shadow.textContent).toContain('You are viewing this profile as a guest.');
17
+ });
18
+ it('renders a logged in view when the user is authenticated', async () => {
19
+ const currentUser = { uri: 'https://alice.example/profile/card#me', equals: jest.fn(() => true) };
20
+ const currentUserSpy = jest.spyOn(authn, 'currentUser').mockReturnValue(currentUser);
21
+ const footer = new Footer();
22
+ document.body.appendChild(footer);
23
+ await footer.updateComplete;
24
+ const shadow = footer.shadowRoot;
25
+ expect(shadow).not.toBeNull();
26
+ expect(shadow === null || shadow === void 0 ? void 0 : shadow.textContent).toContain('Logged in View');
27
+ expect(shadow === null || shadow === void 0 ? void 0 : shadow.textContent).toContain('You are logged in as');
28
+ const link = shadow === null || shadow === void 0 ? void 0 : shadow.querySelector('a');
29
+ expect(link === null || link === void 0 ? void 0 : link.getAttribute('href')).toBe('https://alice.example/profile/card#me');
30
+ expect(link === null || link === void 0 ? void 0 : link.textContent).toBe('https://alice.example/profile/card#me');
31
+ currentUserSpy.mockRestore();
32
+ });
33
+ it('defaults layout to desktop', async () => {
34
+ const footer = new Footer();
35
+ document.body.appendChild(footer);
36
+ await footer.updateComplete;
37
+ expect(footer.layout).toBe('desktop');
38
+ expect(footer.getAttribute('layout')).toBe('desktop');
39
+ });
40
+ it('applies mobile layout styles by removing border, box-shadow and border-radius', async () => {
41
+ var _a, _b;
42
+ const footer = new Footer();
43
+ footer.layout = 'mobile';
44
+ document.body.appendChild(footer);
45
+ await footer.updateComplete;
46
+ const style = (_b = (_a = footer.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('style')) === null || _b === void 0 ? void 0 : _b.textContent;
47
+ expect(style).toContain(':host([layout=\'mobile\'])');
48
+ expect(style).toContain('border: none;');
49
+ expect(style).toContain('box-shadow: none;');
50
+ expect(footer.getAttribute('layout')).toBe('mobile');
51
+ });
52
+ });
53
+ //# sourceMappingURL=Footer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.test.js","sourceRoot":"","sources":["../../../../src/v2/components/footer/Footer.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Footer } from './Footer';
2
+ export { Footer };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/footer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { Footer } from './Footer';
2
+ export { Footer };
3
+ const FOOTER_TAG_NAME = 'solid-ui-footer';
4
+ if (!customElements.get(FOOTER_TAG_NAME)) {
5
+ customElements.define(FOOTER_TAG_NAME, Footer);
6
+ }
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v2/components/footer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,OAAO,EAAE,MAAM,EAAE,CAAA;AAEjB,MAAM,eAAe,GAAG,iBAAiB,CAAA;AAEzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;IACzC,cAAc,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;AAChD,CAAC"}
@@ -0,0 +1,155 @@
1
+ import { LitElement } from 'lit';
2
+ import '../loginButton/index';
3
+ import '../signupButton/index';
4
+ export type HeaderAuthState = 'logged-out' | 'logged-in';
5
+ export type HeaderMenuItem = {
6
+ label: string;
7
+ url?: string;
8
+ target?: string;
9
+ action?: string;
10
+ icon?: string;
11
+ };
12
+ export type HeaderAccountMenuItem = HeaderMenuItem & {
13
+ avatar?: string;
14
+ webid?: string;
15
+ };
16
+ export declare class Header extends LitElement {
17
+ static properties: {
18
+ logo: {
19
+ type: StringConstructor;
20
+ reflect: boolean;
21
+ };
22
+ helpIcon: {
23
+ type: StringConstructor;
24
+ attribute: string;
25
+ reflect: boolean;
26
+ };
27
+ layout: {
28
+ type: StringConstructor;
29
+ reflect: boolean;
30
+ };
31
+ theme: {
32
+ type: StringConstructor;
33
+ reflect: boolean;
34
+ };
35
+ brandLink: {
36
+ type: StringConstructor;
37
+ attribute: string;
38
+ reflect: boolean;
39
+ };
40
+ authState: {
41
+ type: StringConstructor;
42
+ attribute: string;
43
+ reflect: boolean;
44
+ };
45
+ loginAction: {
46
+ type: ObjectConstructor;
47
+ attribute: boolean;
48
+ };
49
+ signUpAction: {
50
+ type: ObjectConstructor;
51
+ attribute: boolean;
52
+ };
53
+ accountMenu: {
54
+ type: ArrayConstructor;
55
+ attribute: boolean;
56
+ };
57
+ logoutLabel: {
58
+ type: StringConstructor;
59
+ attribute: string;
60
+ reflect: boolean;
61
+ };
62
+ logoutIcon: {
63
+ type: StringConstructor;
64
+ attribute: string;
65
+ reflect: boolean;
66
+ };
67
+ accountIcon: {
68
+ type: StringConstructor;
69
+ attribute: string;
70
+ reflect: boolean;
71
+ };
72
+ accountAvatar: {
73
+ type: StringConstructor;
74
+ attribute: string;
75
+ reflect: boolean;
76
+ };
77
+ accountAvatarFallback: {
78
+ type: StringConstructor;
79
+ attribute: string;
80
+ reflect: boolean;
81
+ };
82
+ loginIcon: {
83
+ type: StringConstructor;
84
+ attribute: string;
85
+ reflect: boolean;
86
+ };
87
+ signUpIcon: {
88
+ type: StringConstructor;
89
+ attribute: string;
90
+ reflect: boolean;
91
+ };
92
+ helpMenuList: {
93
+ type: ArrayConstructor;
94
+ };
95
+ accountMenuOpen: {
96
+ state: boolean;
97
+ };
98
+ helpMenuOpen: {
99
+ state: boolean;
100
+ };
101
+ hasSlottedAccountMenu: {
102
+ state: boolean;
103
+ };
104
+ hasSlottedHelpMenu: {
105
+ state: boolean;
106
+ };
107
+ };
108
+ static styles: import("lit").CSSResult;
109
+ logo: string;
110
+ helpIcon: string;
111
+ layout: 'desktop' | 'mobile';
112
+ theme: 'light' | 'dark';
113
+ brandLink: string;
114
+ authState: HeaderAuthState;
115
+ loginAction: HeaderMenuItem;
116
+ signUpAction: HeaderMenuItem;
117
+ accountMenu: HeaderAccountMenuItem[];
118
+ logoutLabel: string | null;
119
+ logoutIcon: string;
120
+ accountIcon: string;
121
+ accountAvatar: string;
122
+ accountAvatarFallback: string;
123
+ loginIcon: string;
124
+ signUpIcon: string;
125
+ helpMenuList: HeaderMenuItem[];
126
+ accountMenuOpen: boolean;
127
+ helpMenuOpen: boolean;
128
+ hasSlottedAccountMenu: boolean;
129
+ hasSlottedHelpMenu: boolean;
130
+ constructor();
131
+ connectedCallback(): void;
132
+ disconnectedCallback(): void;
133
+ private handleHelpMenuClick;
134
+ private handleAccountMenuClick;
135
+ private readonly handleDocumentClick;
136
+ private readonly handleWindowKeydown;
137
+ private handleAccountSlotChange;
138
+ private handleHelpSlotChange;
139
+ private toggleAccountMenu;
140
+ private toggleHelpMenu;
141
+ private hasAccountMenuItems;
142
+ private hasHelpMenuItems;
143
+ private shouldRenderHelpMenu;
144
+ private renderLoggedInAvatar;
145
+ private renderLoggedOutActions;
146
+ private handleLoginSuccess;
147
+ private handleLogout;
148
+ private renderAccountMenuItem;
149
+ private renderLoggedInActions;
150
+ private renderUserArea;
151
+ protected firstUpdated(): void;
152
+ protected updated(changedProperties: Map<string, unknown>): void;
153
+ render(): import("lit-html").TemplateResult<1>;
154
+ }
155
+ //# sourceMappingURL=Header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/header/Header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAA;AAG3C,OAAO,sBAAsB,CAAA;AAC7B,OAAO,uBAAuB,CAAA;AAQ9B,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,WAAW,CAAA;AAExD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,qBAAa,MAAO,SAAQ,UAAU;IACpC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsBhB;IAED,MAAM,CAAC,MAAM,0BAqbZ;IAEO,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC5B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,eAAe,CAAA;IAC1B,WAAW,EAAE,cAAc,CAAA;IAC3B,YAAY,EAAE,cAAc,CAAA;IAC5B,WAAW,EAAE,qBAAqB,EAAE,CAAA;IACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,cAAc,EAAE,CAAA;IAC9B,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,OAAO,CAAA;IACrB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,kBAAkB,EAAE,OAAO,CAAA;;IA2BnC,iBAAiB;IAMjB,oBAAoB;IAMpB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAKnC;IAED,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAKnC;IAED,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,kBAAkB;YASZ,YAAY;IAe1B,OAAO,CAAC,qBAAqB;IAoC7B,OAAO,CAAC,qBAAqB;IAgE7B,OAAO,CAAC,cAAc;IAQtB,SAAS,CAAC,YAAY;IAOtB,SAAS,CAAC,OAAO,CAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAS1D,MAAM;CA0FP"}