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
@@ -0,0 +1,719 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_logic_bb75353e__ from "solid-logic";
2
+ /******/ var __webpack_modules__ = ({
3
+
4
+ /***/ 1209
5
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6
+
7
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8
+ /* harmony export */ M: () => (/* binding */ LoginButton)
9
+ /* harmony export */ });
10
+ /* harmony import */ var lit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6161);
11
+ /* harmony import */ var solid_logic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3138);
12
+ /* harmony import */ var _downArrow__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1353);
13
+
14
+
15
+
16
+ class LoginButton extends lit__WEBPACK_IMPORTED_MODULE_0__/* .LitElement */ .WF {
17
+ static properties = {
18
+ label: {
19
+ type: String,
20
+ reflect: true
21
+ },
22
+ theme: {
23
+ type: String,
24
+ reflect: true
25
+ },
26
+ issuerUrl: {
27
+ type: String,
28
+ attribute: 'issuer-url',
29
+ reflect: true
30
+ },
31
+ icon: {
32
+ type: String,
33
+ reflect: true
34
+ },
35
+ layout: {
36
+ type: String,
37
+ reflect: true
38
+ },
39
+ _popupOpen: {
40
+ state: true
41
+ },
42
+ _issuerInputValue: {
43
+ state: true
44
+ },
45
+ _dropdownOpen: {
46
+ state: true
47
+ }
48
+ };
49
+ static styles = (0,lit__WEBPACK_IMPORTED_MODULE_0__/* .css */ .AH)`
50
+ :host { // default theme
51
+ display: inline-block;
52
+ position: relative;
53
+ z-index: 400;
54
+ --login-button-background: var(--lavender-900, #7c4cff);
55
+ --login-button-text: var(--color-header-text, #ffffff);
56
+ --popup-background: var(--color-background, #F8F9FB);
57
+ --popup-text: var(--color-text, #1A1A1A);
58
+ --popup-border: var(--color-border, #E5E7EB);
59
+ --popup-shadow: var(--box-shadow-sm, 0 1px 4px rgba(124,77,255,0.12));
60
+ --popup-overlay-background: rgba(0, 0, 0, 0.6);
61
+ --issuer-input-background: var(--color-background, #F8F9FB);
62
+ --issuer-input-text: var(--color-text, #1A1A1A);
63
+ --issuer-input-border: var(--color-text, #1A1A1A);
64
+ --issuer-button-background: var(--color-background, #F8F9FB);
65
+ --issuer-button-text: var(--color-text, #1A1A1A);
66
+ --issuer-button-border: var(--color-border, #E5E7EB);
67
+ --issuer-button-hover-background: var(--lavender-900, #7c4cff);
68
+ --issuer-label-color: var(--grey-purple-700, #1A1A1A);
69
+ --issuer-placeholder-color: var(--grey-purple-700, #5e546d);;
70
+ --error-text-color: var(--color-error, #B00020);
71
+ }
72
+
73
+ :host([theme='dark']) {
74
+ display: inline-block;
75
+ position: relative;
76
+ z-index: 900;
77
+ --login-button-background: var(--lavender-900, #7c4cff);
78
+ --login-button-text: var(--color-header-text, #ffffff);
79
+ --popup-background: var(--color-background, #F8F9FB);
80
+ --popup-text: var(--color-text, #1A1A1A);
81
+ --popup-border: var(--color-border, #E5E7EB);
82
+ --popup-shadow: var(--box-shadow-sm, 0 1px 4px rgba(124,77,255,0.12));
83
+ --popup-overlay-background: rgba(0, 0, 0, 0.6);
84
+ --issuer-input-background: var(--color-background, #F8F9FB);
85
+ --issuer-input-text: var(--color-text, #1A1A1A);
86
+ --issuer-input-border: var(--color-text, #1A1A1A);
87
+ --issuer-button-background: var(--color-background, #F8F9FB);
88
+ --issuer-button-text: var(--color-text, #1A1A1A);
89
+ --issuer-button-border: var(--color-text, #1A1A1A);
90
+ --issuer-button-hover-background: var(--lavender-900, #7c4cff);
91
+ --issuer-label-color: var(--grey-purple-700, #1A1A1A);
92
+ --issuer-placeholder-color: var(--grey-purple-700, #5e546d);;
93
+ --error-text-color: var(--color-error, #B00020);
94
+ }
95
+
96
+ .login-button {
97
+ display: flex;
98
+ height: 35px;
99
+ padding: var(--spacing-xxs, 0.3125rem) var(--spacing-xs, 0.75rem);
100
+ align-items: center;
101
+ gap: var(--spacing-xxs, 0.3125rem);
102
+ border-radius: var(--border-radius-base, 0.3125rem);
103
+ background: var(--login-button-background);
104
+ border: none;
105
+ color: var(--login-button-text);
106
+ cursor: pointer;
107
+ font: inherit;
108
+ line-height: 1;
109
+ white-space: nowrap;
110
+ text-decoration: none;
111
+ box-sizing: border-box;
112
+ transition: transform 0.2s ease;
113
+ }
114
+
115
+ .login-button-icon {
116
+ width: 16px;
117
+ height: 16px;
118
+ display: inline-block;
119
+ object-fit: contain;
120
+ }
121
+
122
+ .login-button:active {
123
+ transform: translateY(1px);
124
+ }
125
+
126
+ .popup-dialog {
127
+ border: none;
128
+ padding: 0;
129
+ background: transparent;
130
+ outline: none;
131
+ overflow: visible;
132
+ max-height: none;
133
+ max-width: none;
134
+ }
135
+
136
+ .popup-dialog::backdrop {
137
+ background: var(--popup-overlay-background, rgba(0, 0, 0, 0.6));
138
+ }
139
+
140
+ .popup-box {
141
+ background: var(--popup-background);
142
+ color: var(--popup-text);
143
+ box-shadow: var(--popup-shadow);
144
+ border: 1px solid var(--popup-border);
145
+ border-radius: var(--border-radius-md, 0.5rem);
146
+ min-width: 480px;
147
+ z-index: 1001;
148
+ }
149
+
150
+ .popup-top-menu {
151
+ border-bottom: 1px solid #DDD;
152
+ display: flex;
153
+ flex-direction: row;
154
+ align-items: center;
155
+ justify-content: space-between;
156
+ padding-bottom: 8px;
157
+ margin-bottom: 8px;
158
+ padding: 1rem;
159
+ background: var(--gray-200, #E5E7EB);
160
+ }
161
+
162
+ .popup-title {
163
+ font-weight: 800;
164
+ }
165
+
166
+ .popup-close {
167
+ background: transparent;
168
+ border: none;
169
+ cursor: pointer;
170
+ font-size: 1.25rem;
171
+ line-height: 1;
172
+ padding: 0 0.25rem;
173
+ }
174
+
175
+ .issuer-text-section {
176
+ display: flex;
177
+ flex-direction: column;
178
+ padding: 1rem 1rem 1.75rem;
179
+ }
180
+
181
+ .issuer-text-label {
182
+ color: var(--issuer-label-color);
183
+ margin-bottom: 6px;
184
+ }
185
+
186
+ .issuer-text-row {
187
+ display: flex;
188
+ flex-direction: row;
189
+ gap: 6px;
190
+ align-items: flex-start;
191
+ }
192
+
193
+ .issuer-input-wrapper {
194
+ flex: 1;
195
+ display: flex;
196
+ flex-direction: column;
197
+ min-width: 0;
198
+ position: relative;
199
+ }
200
+
201
+ .issuer-input-field-row {
202
+ display: flex;
203
+ flex-direction: row;
204
+ position: relative;
205
+ }
206
+
207
+ .issuer-text-input {
208
+ flex: 1;
209
+ padding: 0.375rem 2.75rem 0.375rem 0.5rem;
210
+ border: 1px solid var(--issuer-input-border);
211
+ border-radius: var(--border-radius-base, 0.3125rem);
212
+ background: var(--issuer-input-background);
213
+ color: var(--issuer-input-text);
214
+ font: inherit;
215
+ min-width: 0;
216
+ }
217
+
218
+ .issuer-text-input::placeholder {
219
+ color: var(--issuer-placeholder-color);
220
+ }
221
+
222
+ .issuer-dropdown-toggle {
223
+ position: absolute;
224
+ right: 6px;
225
+ top: 50%;
226
+ transform: translateY(-50%);
227
+ width: 26px;
228
+ height: 26px;
229
+ padding: 0;
230
+ border: none;
231
+ background: transparent;
232
+ cursor: pointer;
233
+ display: flex;
234
+ align-items: center;
235
+ justify-content: center;
236
+ flex-shrink: 0;
237
+ border-radius: var(--border-radius-base, 0.3125rem);
238
+ }
239
+
240
+ .issuer-dropdown-toggle:hover {
241
+ background: var(--color-header-menu-item-hover, #e6dcff);
242
+ }
243
+
244
+ .issuer-dropdown-toggle svg {
245
+ width: 14px;
246
+ height: 14px;
247
+ display: block;
248
+ }
249
+
250
+ .issuer-dropdown-list {
251
+ position: absolute;
252
+ top: calc(100% + 6px);
253
+ left: 0;
254
+ right: 0;
255
+ border: 1px solid var(--color-border, #E5E7EB);
256
+ border-top: none;
257
+ border-radius: 0 0 var(--border-radius-base, 0.3125rem) var(--border-radius-base, 0.3125rem);
258
+ background: var(--issuer-input-background);
259
+ overflow: visible;
260
+ z-index: 10;
261
+ box-shadow: 0 4px 12px rgba(124, 77, 255, 0.12);
262
+ }
263
+
264
+ .issuer-dropdown-item {
265
+ display: block;
266
+ width: 100%;
267
+ padding: 0.625rem 0.75rem;
268
+ border: none;
269
+ border-bottom: 1px solid var(--color-border, #E5E7EB);
270
+ background: transparent;
271
+ color: var(--issuer-button-text);
272
+ cursor: pointer;
273
+ font: inherit;
274
+ text-align: left;
275
+ box-sizing: border-box;
276
+ }
277
+
278
+ .issuer-dropdown-item:last-child {
279
+ border-bottom: none;
280
+ }
281
+
282
+ .issuer-dropdown-item:hover {
283
+ background: var(--color-header-menu-item-hover, #e6dcff);
284
+ border-radius: var(--border-radius-base-md, 0.5rem);
285
+ }
286
+
287
+ .popup-footer {
288
+ display: flex;
289
+ flex-direction: row;
290
+ justify-content: center;
291
+ gap: 8px;
292
+ padding: 0.75rem 1rem 1rem;
293
+ }
294
+
295
+ .popup-footer-hr {
296
+ margin: 0;
297
+ border: none;
298
+ border-top: 1px solid var(--popup-border, #E5E7EB);
299
+ }
300
+
301
+ .popup-cancel-button {
302
+ padding: 0.5rem 1.25rem;
303
+ border: 1px solid #C0BFC7;
304
+ border-radius: var(--border-radius-base, 0.3125rem);
305
+ background: var(--popup-background);
306
+ color: #314158;
307
+ cursor: pointer;
308
+ font: inherit;
309
+ }
310
+
311
+ .popup-cancel-button:hover {
312
+ background: #D1D5DB;
313
+ }
314
+
315
+ .popup-login-button {
316
+ padding: 0.5rem 1.25rem;
317
+ border: none;
318
+ border-radius: var(--border-radius-base, 0.3125rem);
319
+ background: var(--lavender-900, #7c4cff);
320
+ color: #ffffff;
321
+ cursor: pointer;
322
+ font: inherit;
323
+ }
324
+
325
+ .popup-login-button:hover {
326
+ background: #6a3de8;
327
+ }
328
+
329
+ .popup-login-button:disabled {
330
+ opacity: 0.5;
331
+ cursor: not-allowed;
332
+ }
333
+
334
+ .error-msg {
335
+ color: var(--error-text-color);
336
+ font-size: 0.875rem;
337
+ margin-top: 8px;
338
+ }
339
+ `;
340
+ _issuerInputId = `issuer-url-input-${Math.random().toString(36).slice(2, 10)}`;
341
+ _errorMsg = '';
342
+ constructor() {
343
+ super();
344
+ this.label = 'Log In';
345
+ this.theme = 'light';
346
+ this.issuerUrl = '';
347
+ this.icon = '';
348
+ this.layout = 'desktop';
349
+ this._popupOpen = false;
350
+ this._issuerInputValue = '';
351
+ this._dropdownOpen = false;
352
+ }
353
+ connectedCallback() {
354
+ super.connectedCallback();
355
+ }
356
+ disconnectedCallback() {
357
+ super.disconnectedCallback();
358
+ }
359
+ _openPopup() {
360
+ const offline = (0,solid_logic__WEBPACK_IMPORTED_MODULE_1__.offlineTestID)();
361
+ if (offline) {
362
+ this._loginComplete(offline.uri);
363
+ return;
364
+ }
365
+ this._issuerInputValue = typeof localStorage !== 'undefined' && localStorage.getItem('loginIssuer') || this.issuerUrl || '';
366
+ this._errorMsg = '';
367
+ this._popupOpen = true;
368
+ }
369
+ _closePopup() {
370
+ this._popupOpen = false;
371
+ }
372
+ updated() {
373
+ const dialog = this.shadowRoot?.querySelector('dialog');
374
+ if (!dialog) return;
375
+ if (this._popupOpen && !dialog.open) {
376
+ dialog.showModal();
377
+ } else if (!this._popupOpen && dialog.open) {
378
+ dialog.close();
379
+ }
380
+ }
381
+ async _loginToIssuer(issuerUri) {
382
+ if (!issuerUri) return;
383
+ try {
384
+ // clear authorization metadata from store
385
+ ;
386
+ solid_logic__WEBPACK_IMPORTED_MODULE_1__.solidLogicSingleton.store.updater.flagAuthorizationMetadata();
387
+ const preLoginRedirectHash = new URL(window.location.href).hash;
388
+ if (preLoginRedirectHash) {
389
+ window.localStorage.setItem('preLoginRedirectHash', preLoginRedirectHash);
390
+ }
391
+ window.localStorage.setItem('loginIssuer', issuerUri);
392
+ const locationUrl = new URL(window.location.href);
393
+ locationUrl.hash = '';
394
+ await solid_logic__WEBPACK_IMPORTED_MODULE_1__.authSession.login({
395
+ redirectUrl: locationUrl.href,
396
+ oidcIssuer: issuerUri
397
+ });
398
+ } catch (err) {
399
+ this._errorMsg = err.message || String(err);
400
+ this.requestUpdate();
401
+ }
402
+ }
403
+ _loginComplete(webIdUri) {
404
+ solid_logic__WEBPACK_IMPORTED_MODULE_1__.authn.saveUser(webIdUri);
405
+ this.dispatchEvent(new CustomEvent('login-success', {
406
+ detail: {
407
+ webId: webIdUri
408
+ },
409
+ bubbles: true,
410
+ composed: true
411
+ }));
412
+ }
413
+ _handleGoClick() {
414
+ this._dropdownOpen = false;
415
+ this._loginToIssuer(this._issuerInputValue);
416
+ }
417
+ _toggleDropdown() {
418
+ this._dropdownOpen = !this._dropdownOpen;
419
+ }
420
+ _selectIssuerFromDropdown(uri) {
421
+ this._issuerInputValue = uri;
422
+ this._dropdownOpen = false;
423
+ }
424
+ _handleInputChange(e) {
425
+ this._issuerInputValue = e.target.value;
426
+ }
427
+ _handleInputKeydown(e) {
428
+ if (e.key === 'Enter') {
429
+ this._loginToIssuer(this._issuerInputValue);
430
+ }
431
+ if (e.key === 'Escape') {
432
+ this._closePopup();
433
+ }
434
+ }
435
+ _renderPopup() {
436
+ const suggestedIssuers = (0,solid_logic__WEBPACK_IMPORTED_MODULE_1__.getSuggestedIssuers)();
437
+ return (0,lit__WEBPACK_IMPORTED_MODULE_0__/* .html */ .qy)`
438
+ <div class="popup-box">
439
+ <div class="popup-top-menu">
440
+ <span class="popup-title">Select an identity provider</span>
441
+ <button class="popup-close" type="button" aria-label="Close" @click="${() => this._closePopup()}">&#x2715;</button>
442
+ </div>
443
+
444
+ <div class="issuer-text-section">
445
+ <label class="issuer-text-label" for="${this._issuerInputId}">Solid Identity Provider</label>
446
+ <div class="issuer-text-row">
447
+ <div class="issuer-input-wrapper">
448
+ <div class="issuer-input-field-row">
449
+ <input
450
+ id="${this._issuerInputId}"
451
+ class="issuer-text-input"
452
+ type="text"
453
+ placeholder="https://example.com"
454
+ .value="${this._issuerInputValue}"
455
+ @input="${this._handleInputChange}"
456
+ @keydown="${this._handleInputKeydown}"
457
+ autocomplete="url"
458
+ />
459
+ ${suggestedIssuers.length ? (0,lit__WEBPACK_IMPORTED_MODULE_0__/* .html */ .qy)`
460
+ <button
461
+ class="issuer-dropdown-toggle"
462
+ type="button"
463
+ aria-label="Show identity provider suggestions"
464
+ aria-expanded="${this._dropdownOpen}"
465
+ @click="${() => this._toggleDropdown()}"
466
+ >${_downArrow__WEBPACK_IMPORTED_MODULE_2__/* .phoneIcon */ .S}</button>
467
+ ` : ''}
468
+ </div>
469
+ ${this._dropdownOpen && suggestedIssuers.length ? (0,lit__WEBPACK_IMPORTED_MODULE_0__/* .html */ .qy)`
470
+ <div class="issuer-dropdown-list" role="listbox">
471
+ ${suggestedIssuers.map(issuerInfo => (0,lit__WEBPACK_IMPORTED_MODULE_0__/* .html */ .qy)`
472
+ <button
473
+ class="issuer-dropdown-item"
474
+ type="button"
475
+ role="option"
476
+ @click="${() => this._selectIssuerFromDropdown(issuerInfo.uri)}"
477
+ >${issuerInfo.name}</button>
478
+ `)}
479
+ </div>
480
+ ` : ''}
481
+ </div>
482
+ </div>
483
+ ${this._errorMsg ? (0,lit__WEBPACK_IMPORTED_MODULE_0__/* .html */ .qy)`<div class="error-msg">${this._errorMsg}</div>` : ''}
484
+ </div>
485
+ <hr class="popup-footer-hr" />
486
+ <div class="popup-footer">
487
+ <button class="popup-cancel-button" type="button" @click="${() => this._closePopup()}">Cancel</button>
488
+ <button
489
+ class="popup-login-button"
490
+ type="button"
491
+ ?disabled="${!this._issuerInputValue}"
492
+ @click="${() => this._handleGoClick()}"
493
+ >Log In</button>
494
+ </div>
495
+ </div>
496
+ `;
497
+ }
498
+ render() {
499
+ return (0,lit__WEBPACK_IMPORTED_MODULE_0__/* .html */ .qy)`
500
+ <button
501
+ class="login-button"
502
+ type="button"
503
+ part="login-button"
504
+ @click="${() => this._openPopup()}"
505
+ >
506
+ ${this.icon ? (0,lit__WEBPACK_IMPORTED_MODULE_0__/* .html */ .qy)`<img class="login-button-icon" src="${this.icon}" alt="" aria-hidden="true" part="login-button-icon" />` : ''}
507
+ <slot>${this.label}</slot>
508
+ </button>
509
+
510
+ <dialog
511
+ class="popup-dialog"
512
+ role="dialog"
513
+ aria-modal="true"
514
+ aria-label="Select an identity provider"
515
+ @cancel="${e => {
516
+ e.preventDefault();
517
+ this._closePopup();
518
+ }}"
519
+ @click="${e => {
520
+ if (e.target === e.currentTarget) this._closePopup();
521
+ }}"
522
+ >
523
+ ${this._popupOpen ? this._renderPopup() : ''}
524
+ </dialog>
525
+ `;
526
+ }
527
+ }
528
+
529
+ /***/ },
530
+
531
+ /***/ 1353
532
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
533
+
534
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
535
+ /* harmony export */ S: () => (/* binding */ phoneIcon)
536
+ /* harmony export */ });
537
+ /* harmony import */ var lit_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6752);
538
+
539
+ const phoneIcon = (0,lit_html__WEBPACK_IMPORTED_MODULE_0__/* .html */ .qy)`
540
+ <svg xmlns="http://www.w3.org/2000/svg"
541
+ viewBox="0 0 12 7"
542
+ fill="none"
543
+ >
544
+ <path d="M0.679688 0.678955L5.50729 5.50656L10.3349 0.678955" stroke="#6A7282" stroke-width="1.35776" stroke-linecap="round" stroke-linejoin="round"/>
545
+ </svg>
546
+ `;
547
+
548
+ /***/ },
549
+
550
+ /***/ 3138
551
+ (module, __unused_webpack_exports, __webpack_require__) {
552
+
553
+ var x = (y) => {
554
+ var x = {}; __webpack_require__.d(x, y); return x
555
+ }
556
+ var y = (x) => (() => (x))
557
+ module.exports = x({ ["authSession"]: () => (__WEBPACK_EXTERNAL_MODULE_solid_logic_bb75353e__.authSession), ["authn"]: () => (__WEBPACK_EXTERNAL_MODULE_solid_logic_bb75353e__.authn), ["getSuggestedIssuers"]: () => (__WEBPACK_EXTERNAL_MODULE_solid_logic_bb75353e__.getSuggestedIssuers), ["offlineTestID"]: () => (__WEBPACK_EXTERNAL_MODULE_solid_logic_bb75353e__.offlineTestID), ["solidLogicSingleton"]: () => (__WEBPACK_EXTERNAL_MODULE_solid_logic_bb75353e__.solidLogicSingleton) });
558
+
559
+ /***/ },
560
+
561
+ /***/ 3826
562
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
563
+
564
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
565
+ /* harmony export */ AH: () => (/* binding */ i),
566
+ /* harmony export */ Rf: () => (/* binding */ S),
567
+ /* harmony export */ sk: () => (/* binding */ c)
568
+ /* harmony export */ });
569
+ /* unused harmony exports CSSResult, supportsAdoptingStyleSheets, unsafeCSS */
570
+ /**
571
+ * @license
572
+ * Copyright 2019 Google LLC
573
+ * SPDX-License-Identifier: BSD-3-Clause
574
+ */
575
+ const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n("string"==typeof t?t:t+"",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1],t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement("style"),n=t.litNonce;void 0!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;
576
+ //# sourceMappingURL=css-tag.js.map
577
+
578
+
579
+ /***/ },
580
+
581
+ /***/ 8760
582
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
583
+
584
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
585
+ /* harmony export */ AH: () => (/* reexport safe */ _css_tag_js__WEBPACK_IMPORTED_MODULE_0__.AH),
586
+ /* harmony export */ mN: () => (/* binding */ y)
587
+ /* harmony export */ });
588
+ /* unused harmony exports defaultConverter, notEqual */
589
+ /* harmony import */ var _css_tag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3826);
590
+
591
+ /**
592
+ * @license
593
+ * Copyright 2017 Google LLC
594
+ * SPDX-License-Identifier: BSD-3-Clause
595
+ */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:"",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol("metadata"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d("elementProperties")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d("properties"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift((0,_css_tag_js__WEBPACK_IMPORTED_MODULE_0__/* .getCompatibleStyle */ .sk)(s))}else void 0!==s&&i.push((0,_css_tag_js__WEBPACK_IMPORTED_MODULE_0__/* .getCompatibleStyle */ .sk)(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return (0,_css_tag_js__WEBPACK_IMPORTED_MODULE_0__/* .adoptStyles */ .Rf)(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:"open"},y[d("elementProperties")]=new Map,y[d("finalized")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push("2.1.2");
596
+ //# sourceMappingURL=reactive-element.js.map
597
+
598
+
599
+ /***/ },
600
+
601
+ /***/ 5228
602
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
603
+
604
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
605
+ /* harmony export */ AH: () => (/* reexport safe */ _lit_reactive_element__WEBPACK_IMPORTED_MODULE_0__.AH),
606
+ /* harmony export */ WF: () => (/* binding */ i),
607
+ /* harmony export */ qy: () => (/* reexport safe */ lit_html__WEBPACK_IMPORTED_MODULE_1__.qy)
608
+ /* harmony export */ });
609
+ /* unused harmony export _$LE */
610
+ /* harmony import */ var _lit_reactive_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8760);
611
+ /* harmony import */ var lit_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6752);
612
+
613
+ /**
614
+ * @license
615
+ * Copyright 2017 Google LLC
616
+ * SPDX-License-Identifier: BSD-3-Clause
617
+ */const s=globalThis;class i extends _lit_reactive_element__WEBPACK_IMPORTED_MODULE_0__/* .ReactiveElement */ .mN{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,lit_html__WEBPACK_IMPORTED_MODULE_1__/* .render */ .XX)(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return lit_html__WEBPACK_IMPORTED_MODULE_1__/* .noChange */ .c0}}i._$litElement$=!0,i["finalized"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push("4.2.2");
618
+ //# sourceMappingURL=lit-element.js.map
619
+
620
+
621
+ /***/ },
622
+
623
+ /***/ 6752
624
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
625
+
626
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
627
+ /* harmony export */ XX: () => (/* binding */ D),
628
+ /* harmony export */ c0: () => (/* binding */ E),
629
+ /* harmony export */ qy: () => (/* binding */ b)
630
+ /* harmony export */ });
631
+ /* unused harmony exports _$LH, mathml, nothing, svg */
632
+ /**
633
+ * @license
634
+ * Copyright 2017 Google LLC
635
+ * SPDX-License-Identifier: BSD-3-Clause
636
+ */
637
+ const t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy("lit-html",{createHTML:t=>t}):void 0,h="$lit$",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n="?"+o,r=`<${n}>`,l=document,c=()=>l.createComment(""),a=t=>null===t||"object"!=typeof t&&"function"!=typeof t,u=Array.isArray,d=t=>u(t)||"function"==typeof t?.[Symbol.iterator],f="[ \t\n\f\r]",v=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\s"'>=/]+)(${f}*=${f}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),g=/'/g,$=/"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for("lit-noChange"),A=Symbol.for("lit-nothing"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?"<svg>":3===i?"<math>":"",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?"!--"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp("</"+u[2],"g")),c=p):void 0!==u[3]&&(c=p):c===p?">"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith("/>")?" ":"";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:"."===e[1]?I:"?"===e[1]?L:"@"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:"";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement("template");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||""===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??"")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push("3.3.2");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};
638
+ //# sourceMappingURL=lit-html.js.map
639
+
640
+
641
+ /***/ },
642
+
643
+ /***/ 6161
644
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
645
+
646
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
647
+ /* harmony export */ AH: () => (/* reexport safe */ lit_element_lit_element_js__WEBPACK_IMPORTED_MODULE_2__.AH),
648
+ /* harmony export */ WF: () => (/* reexport safe */ lit_element_lit_element_js__WEBPACK_IMPORTED_MODULE_2__.WF),
649
+ /* harmony export */ qy: () => (/* reexport safe */ lit_element_lit_element_js__WEBPACK_IMPORTED_MODULE_2__.qy)
650
+ /* harmony export */ });
651
+ /* harmony import */ var _lit_reactive_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8760);
652
+ /* harmony import */ var lit_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6752);
653
+ /* harmony import */ var lit_element_lit_element_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5228);
654
+
655
+ //# sourceMappingURL=index.js.map
656
+
657
+
658
+ /***/ }
659
+
660
+ /******/ });
661
+ /************************************************************************/
662
+ /******/ // The module cache
663
+ /******/ var __webpack_module_cache__ = {};
664
+ /******/
665
+ /******/ // The require function
666
+ /******/ function __webpack_require__(moduleId) {
667
+ /******/ // Check if module is in cache
668
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
669
+ /******/ if (cachedModule !== undefined) {
670
+ /******/ return cachedModule.exports;
671
+ /******/ }
672
+ /******/ // Create a new module (and put it into the cache)
673
+ /******/ var module = __webpack_module_cache__[moduleId] = {
674
+ /******/ // no module.id needed
675
+ /******/ // no module.loaded needed
676
+ /******/ exports: {}
677
+ /******/ };
678
+ /******/
679
+ /******/ // Execute the module function
680
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
681
+ /******/
682
+ /******/ // Return the exports of the module
683
+ /******/ return module.exports;
684
+ /******/ }
685
+ /******/
686
+ /************************************************************************/
687
+ /******/ /* webpack/runtime/define property getters */
688
+ /******/ (() => {
689
+ /******/ // define getter functions for harmony exports
690
+ /******/ __webpack_require__.d = (exports, definition) => {
691
+ /******/ for(var key in definition) {
692
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
693
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
694
+ /******/ }
695
+ /******/ }
696
+ /******/ };
697
+ /******/ })();
698
+ /******/
699
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
700
+ /******/ (() => {
701
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
702
+ /******/ })();
703
+ /******/
704
+ /************************************************************************/
705
+ var __webpack_exports__ = {};
706
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
707
+ /* harmony export */ M: () => (/* reexport safe */ _LoginButton__WEBPACK_IMPORTED_MODULE_0__.M)
708
+ /* harmony export */ });
709
+ /* harmony import */ var _LoginButton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1209);
710
+
711
+
712
+ const LOGIN_BUTTON_TAG_NAME = 'solid-ui-login-button';
713
+ if (!customElements.get(LOGIN_BUTTON_TAG_NAME)) {
714
+ customElements.define(LOGIN_BUTTON_TAG_NAME, _LoginButton__WEBPACK_IMPORTED_MODULE_0__/* .LoginButton */ .M);
715
+ }
716
+ const __webpack_exports__LoginButton = __webpack_exports__.M;
717
+ export { __webpack_exports__LoginButton as LoginButton };
718
+
719
+ //# sourceMappingURL=index.esm.js.map