solid-ui 3.1.3-7 → 3.1.3-8

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 (178) hide show
  1. package/dist/_virtual/~icons/app/solid-emblem.cjs.js +3 -0
  2. package/dist/_virtual/~icons/app/solid-emblem.cjs.js.map +1 -0
  3. package/dist/_virtual/~icons/app/solid-emblem.esm.js +11 -0
  4. package/dist/_virtual/~icons/app/solid-emblem.esm.js.map +1 -0
  5. package/dist/breakpoints.css +1 -0
  6. package/dist/breakpoints.css.d.ts +1 -0
  7. package/dist/chunks/{account-BZ2rYQhV.js → account-jSZP2tZ5.js} +72 -56
  8. package/dist/chunks/account-jSZP2tZ5.js.map +1 -0
  9. package/dist/chunks/{auth-RHyQ2iIl.js → auth-CZOEEeJ8.js} +15 -15
  10. package/dist/chunks/{auth-RHyQ2iIl.js.map → auth-CZOEEeJ8.js.map} +1 -1
  11. package/dist/chunks/{avatar-Jx8xm2Op.js → avatar-BugsRJZg.js} +2 -2
  12. package/dist/chunks/{avatar-Jx8xm2Op.js.map → avatar-BugsRJZg.js.map} +1 -1
  13. package/dist/chunks/{footer-D64T6XLO.js → footer-kVa_uMeQ.js} +3 -3
  14. package/dist/chunks/{footer-D64T6XLO.js.map → footer-kVa_uMeQ.js.map} +1 -1
  15. package/dist/chunks/{guard-CjUBGVDk.js → guard-Cml6dHTv.js} +2 -2
  16. package/dist/chunks/{guard-CjUBGVDk.js.map → guard-Cml6dHTv.js.map} +1 -1
  17. package/dist/chunks/{headerFooterHelpers-7O_ln1QD.js → headerFooterHelpers-BiZ6X10e.js} +15 -15
  18. package/dist/chunks/{headerFooterHelpers-7O_ln1QD.js.map → headerFooterHelpers-BiZ6X10e.js.map} +1 -1
  19. package/dist/chunks/{jsonld-DRZuoyoU.js → jsonld-Cd-ZhJmZ.js} +2 -2
  20. package/dist/chunks/{jsonld-DRZuoyoU.js.map → jsonld-Cd-ZhJmZ.js.map} +1 -1
  21. package/dist/chunks/{login-button-DPeMi00d.js → login-button-pe1-DVNZ.js} +2 -2
  22. package/dist/chunks/{login-button-DPeMi00d.js.map → login-button-pe1-DVNZ.js.map} +1 -1
  23. package/dist/chunks/{logout-button-CbiLE7jO.js → logout-button-C5dtQiBB.js} +2 -2
  24. package/dist/chunks/{logout-button-CbiLE7jO.js.map → logout-button-C5dtQiBB.js.map} +1 -1
  25. package/dist/chunks/{menu-item-Ck0l-uEI.js → menu-item-CWg-eS4V.js} +7 -5
  26. package/dist/chunks/menu-item-CWg-eS4V.js.map +1 -0
  27. package/dist/chunks/{provider-C4eSzopG.js → provider-DRxSExO6.js} +2 -2
  28. package/dist/chunks/{provider-C4eSzopG.js.map → provider-DRxSExO6.js.map} +1 -1
  29. package/dist/chunks/{signup-button-BfIxbpwa.js → signup-button-QvYELqb6.js} +2 -2
  30. package/dist/chunks/{signup-button-BfIxbpwa.js.map → signup-button-QvYELqb6.js.map} +1 -1
  31. package/dist/chunks/solid-emblem-BDzhMTjL.js +185 -0
  32. package/dist/chunks/solid-emblem-BDzhMTjL.js.map +1 -0
  33. package/dist/chunks/{solid-logic.esm-T70qfHAr.js → solid-logic.esm-BhVcNu8u.js} +7 -28
  34. package/dist/chunks/{solid-logic.esm-T70qfHAr.js.map → solid-logic.esm-BhVcNu8u.js.map} +1 -1
  35. package/dist/chunks/{src-Bx4GAnWq.js → src-DYvSns7X.js} +2375 -2351
  36. package/dist/chunks/src-DYvSns7X.js.map +1 -0
  37. package/dist/components/account/Account.cjs.js +7 -2
  38. package/dist/components/account/Account.cjs.js.map +1 -1
  39. package/dist/components/account/Account.d.ts +8 -1
  40. package/dist/components/account/Account.d.ts.map +1 -1
  41. package/dist/components/account/Account.esm.js +64 -48
  42. package/dist/components/account/Account.esm.js.map +1 -1
  43. package/dist/components/account/Account.stories.d.ts +3 -8
  44. package/dist/components/account/Account.stories.d.ts.map +1 -1
  45. package/dist/components/account/index.cjs.js.map +1 -1
  46. package/dist/components/account/index.d.ts +2 -2
  47. package/dist/components/account/index.d.ts.map +1 -1
  48. package/dist/components/account/index.esm.js.map +1 -1
  49. package/dist/components/account.js +1 -1
  50. package/dist/components/avatar.js +1 -1
  51. package/dist/components/footer.js +1 -1
  52. package/dist/components/guard.js +1 -1
  53. package/dist/components/index.cjs.js +1 -1
  54. package/dist/components/index.esm.js +2 -2
  55. package/dist/components/login-button.js +1 -1
  56. package/dist/components/login-modal.js +1 -1
  57. package/dist/components/logout-button.js +1 -1
  58. package/dist/components/menu-item/MenuItem.cjs.js +5 -3
  59. package/dist/components/menu-item/MenuItem.cjs.js.map +1 -1
  60. package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
  61. package/dist/components/menu-item/MenuItem.esm.js +5 -3
  62. package/dist/components/menu-item/MenuItem.esm.js.map +1 -1
  63. package/dist/components/menu-item/MenuItem.styles.cjs.js +1 -1
  64. package/dist/components/menu-item/MenuItem.styles.cjs.js.map +1 -1
  65. package/dist/components/menu-item/MenuItem.styles.esm.js +1 -1
  66. package/dist/components/menu-item/MenuItem.styles.esm.js.map +1 -1
  67. package/dist/components/menu-item.js +1 -1
  68. package/dist/components/provider.js +1 -1
  69. package/dist/components/signup-button.js +1 -1
  70. package/dist/components/solid-emblem/SolidEmblem.cjs.js +2 -0
  71. package/dist/components/solid-emblem/SolidEmblem.cjs.js.map +1 -0
  72. package/dist/components/solid-emblem/SolidEmblem.d.ts +6 -0
  73. package/dist/components/solid-emblem/SolidEmblem.d.ts.map +1 -0
  74. package/dist/components/solid-emblem/SolidEmblem.esm.js +178 -0
  75. package/dist/components/solid-emblem/SolidEmblem.esm.js.map +1 -0
  76. package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js +2 -0
  77. package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js.map +1 -0
  78. package/dist/components/solid-emblem/SolidEmblem.styles.esm.js +7 -0
  79. package/dist/components/solid-emblem/SolidEmblem.styles.esm.js.map +1 -0
  80. package/dist/components/solid-emblem/index.cjs.js +2 -0
  81. package/dist/components/solid-emblem/index.cjs.js.map +1 -0
  82. package/dist/components/solid-emblem/index.d.ts +4 -0
  83. package/dist/components/solid-emblem/index.d.ts.map +1 -0
  84. package/dist/components/solid-emblem/index.esm.js +7 -0
  85. package/dist/components/solid-emblem/index.esm.js.map +1 -0
  86. package/dist/components/solid-emblem.js +2 -0
  87. package/dist/components.js +11 -11
  88. package/dist/index.js +4 -5
  89. package/dist/lib/forms/rdfHelper.d.ts +4 -0
  90. package/dist/lib/forms/rdfHelper.d.ts.map +1 -0
  91. package/dist/loader.js +4 -5
  92. package/dist/solid-ui.js +78 -1169
  93. package/dist/solid-ui.min.js +78 -1169
  94. package/dist/solid-ui.min.js.map +1 -1
  95. package/dist/theme.css +1 -1
  96. package/package.json +7 -2
  97. package/dist/chunks/account-BZ2rYQhV.js.map +0 -1
  98. package/dist/chunks/header-COBaJDdB.js +0 -1486
  99. package/dist/chunks/header-COBaJDdB.js.map +0 -1
  100. package/dist/chunks/iconBase-DJ0zbNSL.js +0 -31
  101. package/dist/chunks/iconBase-DJ0zbNSL.js.map +0 -1
  102. package/dist/chunks/menu-item-Ck0l-uEI.js.map +0 -1
  103. package/dist/chunks/src-Bx4GAnWq.js.map +0 -1
  104. package/dist/components/header/index.cjs.js +0 -1
  105. package/dist/components/header/index.d.ts +0 -2
  106. package/dist/components/header/index.d.ts.map +0 -1
  107. package/dist/components/header/index.esm.js +0 -3
  108. package/dist/components/header.js +0 -2
  109. package/dist/lib/features.cjs.js +0 -2
  110. package/dist/lib/features.cjs.js.map +0 -1
  111. package/dist/lib/features.d.ts +0 -8
  112. package/dist/lib/features.d.ts.map +0 -1
  113. package/dist/lib/features.esm.js +0 -6
  114. package/dist/lib/features.esm.js.map +0 -1
  115. package/dist/v2/components/actions/button/Button.d.ts +0 -97
  116. package/dist/v2/components/actions/button/Button.d.ts.map +0 -1
  117. package/dist/v2/components/actions/button/Button.test.d.ts +0 -1
  118. package/dist/v2/components/actions/button/Button.test.d.ts.map +0 -1
  119. package/dist/v2/components/actions/button/index.d.ts +0 -8
  120. package/dist/v2/components/actions/button/index.d.ts.map +0 -1
  121. package/dist/v2/components/auth/loginButton/LoginButton.cjs.js +0 -414
  122. package/dist/v2/components/auth/loginButton/LoginButton.cjs.js.map +0 -1
  123. package/dist/v2/components/auth/loginButton/LoginButton.esm.js +0 -519
  124. package/dist/v2/components/auth/loginButton/LoginButton.esm.js.map +0 -1
  125. package/dist/v2/components/auth/loginButton/downArrow.cjs.js +0 -9
  126. package/dist/v2/components/auth/loginButton/downArrow.cjs.js.map +0 -1
  127. package/dist/v2/components/auth/loginButton/downArrow.esm.js +0 -14
  128. package/dist/v2/components/auth/loginButton/downArrow.esm.js.map +0 -1
  129. package/dist/v2/components/auth/loginButton/index.cjs.js +0 -2
  130. package/dist/v2/components/auth/loginButton/index.cjs.js.map +0 -1
  131. package/dist/v2/components/auth/loginButton/index.esm.js +0 -8
  132. package/dist/v2/components/auth/loginButton/index.esm.js.map +0 -1
  133. package/dist/v2/components/auth/signupButton/SignupButton.cjs.js +0 -59
  134. package/dist/v2/components/auth/signupButton/SignupButton.cjs.js.map +0 -1
  135. package/dist/v2/components/auth/signupButton/SignupButton.esm.js +0 -98
  136. package/dist/v2/components/auth/signupButton/SignupButton.esm.js.map +0 -1
  137. package/dist/v2/components/auth/signupButton/index.cjs.js +0 -2
  138. package/dist/v2/components/auth/signupButton/index.cjs.js.map +0 -1
  139. package/dist/v2/components/auth/signupButton/index.esm.js +0 -8
  140. package/dist/v2/components/auth/signupButton/index.esm.js.map +0 -1
  141. package/dist/v2/components/forms/combobox/Combobox.d.ts +0 -82
  142. package/dist/v2/components/forms/combobox/Combobox.d.ts.map +0 -1
  143. package/dist/v2/components/forms/combobox/Combobox.test.d.ts +0 -1
  144. package/dist/v2/components/forms/combobox/Combobox.test.d.ts.map +0 -1
  145. package/dist/v2/components/forms/combobox/comboboxTypes.d.ts +0 -6
  146. package/dist/v2/components/forms/combobox/comboboxTypes.d.ts.map +0 -1
  147. package/dist/v2/components/forms/combobox/index.d.ts +0 -3
  148. package/dist/v2/components/forms/combobox/index.d.ts.map +0 -1
  149. package/dist/v2/components/forms/select/Select.d.ts +0 -68
  150. package/dist/v2/components/forms/select/Select.d.ts.map +0 -1
  151. package/dist/v2/components/forms/select/Select.test.d.ts +0 -1
  152. package/dist/v2/components/forms/select/Select.test.d.ts.map +0 -1
  153. package/dist/v2/components/forms/select/index.d.ts +0 -3
  154. package/dist/v2/components/forms/select/index.d.ts.map +0 -1
  155. package/dist/v2/components/forms/shared/downArrow.d.ts +0 -2
  156. package/dist/v2/components/forms/shared/downArrow.d.ts.map +0 -1
  157. package/dist/v2/components/forms/shared/keyboard.d.ts +0 -7
  158. package/dist/v2/components/forms/shared/keyboard.d.ts.map +0 -1
  159. package/dist/v2/components/forms/shared/listboxStyles.d.ts +0 -2
  160. package/dist/v2/components/forms/shared/listboxStyles.d.ts.map +0 -1
  161. package/dist/v2/components/forms/shared/listboxTemplate.d.ts +0 -11
  162. package/dist/v2/components/forms/shared/listboxTemplate.d.ts.map +0 -1
  163. package/dist/v2/components/forms/shared/optionTypes.d.ts +0 -6
  164. package/dist/v2/components/forms/shared/optionTypes.d.ts.map +0 -1
  165. package/dist/v2/components/layout/header/Header.cjs.js +0 -625
  166. package/dist/v2/components/layout/header/Header.cjs.js.map +0 -1
  167. package/dist/v2/components/layout/header/Header.d.ts +0 -160
  168. package/dist/v2/components/layout/header/Header.d.ts.map +0 -1
  169. package/dist/v2/components/layout/header/Header.esm.js +0 -873
  170. package/dist/v2/components/layout/header/Header.esm.js.map +0 -1
  171. package/dist/v2/components/layout/header/header.test.d.ts +0 -1
  172. package/dist/v2/components/layout/header/header.test.d.ts.map +0 -1
  173. package/dist/v2/components/layout/header/index.cjs.js +0 -2
  174. package/dist/v2/components/layout/header/index.cjs.js.map +0 -1
  175. package/dist/v2/components/layout/header/index.d.ts +0 -4
  176. package/dist/v2/components/layout/header/index.d.ts.map +0 -1
  177. package/dist/v2/components/layout/header/index.esm.js +0 -8
  178. package/dist/v2/components/layout/header/index.esm.js.map +0 -1
@@ -1,519 +0,0 @@
1
- import { phoneIcon as e } from "./downArrow.esm.js";
2
- import { authSession as t, authn as n, getSuggestedIssuers as r, offlineTestID as i, solidLogicSingleton as a } from "solid-logic";
3
- import { LitElement as o, css as s, html as c } from "lit";
4
- //#region src/v2/components/auth/loginButton/LoginButton.ts
5
- var l = class extends o {
6
- static properties = {
7
- label: {
8
- type: String,
9
- reflect: !0
10
- },
11
- theme: {
12
- type: String,
13
- reflect: !0
14
- },
15
- issuerUrl: {
16
- type: String,
17
- attribute: "issuer-url",
18
- reflect: !0
19
- },
20
- icon: {
21
- type: String,
22
- reflect: !0
23
- },
24
- layout: {
25
- type: String,
26
- reflect: !0
27
- },
28
- _popupOpen: { state: !0 },
29
- _issuerInputValue: { state: !0 },
30
- _dropdownOpen: { state: !0 }
31
- };
32
- static styles = s`
33
- :host { /* default theme */
34
- display: inline-block;
35
- position: relative;
36
- z-index: 400;
37
- --login-button-background: var(--lavender-900, #7c4cff);
38
- --login-button-text: var(--color-header-text, #ffffff);
39
- --popup-background: var(--color-background, #F8F9FB);
40
- --popup-text: var(--color-text, #1A1A1A);
41
- --popup-border: var(--color-border, #E5E7EB);
42
- --popup-shadow: var(--box-shadow-sm, 0 1px 4px rgba(124,77,255,0.12));
43
- --popup-overlay-background: rgba(0, 0, 0, 0.6);
44
- --issuer-input-background: var(--color-background, #F8F9FB);
45
- --issuer-input-text: var(--color-text, #1A1A1A);
46
- --issuer-input-border: var(--color-text, #1A1A1A);
47
- --issuer-button-background: var(--color-background, #F8F9FB);
48
- --issuer-button-text: var(--color-text, #1A1A1A);
49
- --issuer-button-border: var(--color-border, #E5E7EB);
50
- --issuer-button-hover-background: var(--lavender-900, #7c4cff);
51
- --issuer-label-color: var(--grey-purple-700, #1A1A1A);
52
- --issuer-placeholder-color: var(--grey-purple-700, #5e546d);;
53
- --error-text-color: var(--color-error, #B00020);
54
- }
55
-
56
- :host([theme='dark']) {
57
- display: inline-block;
58
- position: relative;
59
- z-index: 900;
60
- --login-button-background: var(--lavender-900, #7c4cff);
61
- --login-button-text: var(--color-header-text, #ffffff);
62
- --popup-background: var(--color-background, #F8F9FB);
63
- --popup-text: var(--color-text, #1A1A1A);
64
- --popup-border: var(--color-border, #E5E7EB);
65
- --popup-shadow: var(--box-shadow-sm, 0 1px 4px rgba(124,77,255,0.12));
66
- --popup-overlay-background: rgba(0, 0, 0, 0.6);
67
- --issuer-input-background: var(--color-background, #F8F9FB);
68
- --issuer-input-text: var(--color-text, #1A1A1A);
69
- --issuer-input-border: var(--color-text, #1A1A1A);
70
- --issuer-button-background: var(--color-background, #F8F9FB);
71
- --issuer-button-text: var(--color-text, #1A1A1A);
72
- --issuer-button-border: var(--color-text, #1A1A1A);
73
- --issuer-button-hover-background: var(--lavender-900, #7c4cff);
74
- --issuer-label-color: var(--grey-purple-700, #1A1A1A);
75
- --issuer-placeholder-color: var(--grey-purple-700, #5e546d);;
76
- --error-text-color: var(--color-error, #B00020);
77
- }
78
-
79
- .login-button {
80
- display: flex;
81
- height: 35px;
82
- padding: var(--spacing-xxs, 0.3125rem) var(--spacing-xs, 0.75rem);
83
- align-items: center;
84
- gap: var(--spacing-xxs, 0.3125rem);
85
- border-radius: var(--border-radius-base, 0.3125rem);
86
- background: var(--login-button-background);
87
- border: none;
88
- color: var(--login-button-text);
89
- cursor: pointer;
90
- font: inherit;
91
- line-height: 1;
92
- white-space: nowrap;
93
- text-decoration: none;
94
- box-sizing: border-box;
95
- transition: transform 0.2s ease;
96
- }
97
-
98
- .login-button-icon {
99
- width: 16px;
100
- height: 16px;
101
- display: inline-block;
102
- object-fit: contain;
103
- }
104
-
105
- .login-button:active {
106
- transform: translateY(1px);
107
- }
108
-
109
- .popup-dialog {
110
- border: none;
111
- padding: 0;
112
- background: transparent;
113
- outline: none;
114
- overflow: visible;
115
- width: min(30rem, calc(100vw - 2rem));
116
- max-width: calc(100vw - 2rem);
117
- max-height: calc(100dvh - 2rem);
118
- }
119
-
120
- .popup-dialog::backdrop {
121
- background: var(--popup-overlay-background, rgba(0, 0, 0, 0.6));
122
- }
123
-
124
- .popup-box {
125
- background: var(--popup-background);
126
- color: var(--popup-text);
127
- box-shadow: var(--popup-shadow);
128
- border: 1px solid var(--popup-border);
129
- border-radius: var(--border-radius-md, 0.5rem);
130
- width: min(30rem, calc(100vw - 2rem));
131
- min-width: min(30rem, calc(100vw - 2rem));
132
- max-width: calc(100vw - 2rem);
133
- max-height: calc(100dvh - 2rem);
134
- overflow: auto;
135
- z-index: 1001;
136
- }
137
-
138
- .popup-top-menu {
139
- border-bottom: 1px solid #DDD;
140
- display: flex;
141
- flex-direction: row;
142
- align-items: center;
143
- justify-content: space-between;
144
- padding-bottom: 8px;
145
- margin-bottom: 8px;
146
- padding: 1rem;
147
- background: var(--gray-200, #E5E7EB);
148
- }
149
-
150
- .popup-title {
151
- font-weight: 800;
152
- }
153
-
154
- .popup-close {
155
- background: transparent;
156
- border: none;
157
- cursor: pointer;
158
- font-size: 1.25rem;
159
- line-height: 1;
160
- padding: 0 0.25rem;
161
- }
162
-
163
- .issuer-text-section {
164
- display: flex;
165
- flex-direction: column;
166
- padding: 1rem 1rem 1.75rem;
167
- }
168
-
169
- .issuer-text-label {
170
- color: var(--issuer-label-color);
171
- margin-bottom: 6px;
172
- }
173
-
174
- .issuer-text-row {
175
- display: flex;
176
- flex-direction: row;
177
- gap: 6px;
178
- align-items: flex-start;
179
- }
180
-
181
- .issuer-input-wrapper {
182
- flex: 1;
183
- display: flex;
184
- flex-direction: column;
185
- min-width: 0;
186
- position: relative;
187
- }
188
-
189
- .issuer-input-field-row {
190
- display: flex;
191
- flex-direction: row;
192
- position: relative;
193
- }
194
-
195
- .issuer-text-input {
196
- flex: 1;
197
- padding: 0.375rem 2.75rem 0.375rem 0.5rem;
198
- border: 1px solid var(--issuer-input-border);
199
- border-radius: var(--border-radius-base, 0.3125rem);
200
- background: var(--issuer-input-background);
201
- color: var(--issuer-input-text);
202
- font: inherit;
203
- min-width: 0;
204
- }
205
-
206
- .issuer-text-input::placeholder {
207
- color: var(--issuer-placeholder-color);
208
- }
209
-
210
- .issuer-dropdown-toggle {
211
- position: absolute;
212
- right: 6px;
213
- top: 50%;
214
- transform: translateY(-50%);
215
- width: 26px;
216
- height: 26px;
217
- padding: 0;
218
- border: none;
219
- background: transparent;
220
- cursor: pointer;
221
- display: flex;
222
- align-items: center;
223
- justify-content: center;
224
- flex-shrink: 0;
225
- border-radius: var(--border-radius-base, 0.3125rem);
226
- }
227
-
228
- .issuer-dropdown-toggle:hover {
229
- background: var(--color-header-menu-item-hover, #e6dcff);
230
- }
231
-
232
- .issuer-dropdown-toggle svg {
233
- width: 14px;
234
- height: 14px;
235
- display: block;
236
- }
237
-
238
- .issuer-dropdown-list {
239
- position: absolute;
240
- top: calc(100% + 6px);
241
- left: 0;
242
- right: 0;
243
- border: 1px solid var(--color-border, #E5E7EB);
244
- border-top: none;
245
- border-radius: 0 0 var(--border-radius-base, 0.3125rem) var(--border-radius-base, 0.3125rem);
246
- background: var(--issuer-input-background);
247
- overflow: visible;
248
- z-index: 10;
249
- box-shadow: 0 4px 12px rgba(124, 77, 255, 0.12);
250
- }
251
-
252
- .issuer-dropdown-item {
253
- display: block;
254
- width: 100%;
255
- padding: 0.625rem 0.75rem;
256
- border: none;
257
- border-bottom: 1px solid var(--color-border, #E5E7EB);
258
- background: transparent;
259
- color: var(--issuer-button-text);
260
- cursor: pointer;
261
- font: inherit;
262
- text-align: left;
263
- box-sizing: border-box;
264
- }
265
-
266
- .issuer-dropdown-item:last-child {
267
- border-bottom: none;
268
- }
269
-
270
- .issuer-dropdown-item:hover {
271
- background: var(--color-header-menu-item-hover, #e6dcff);
272
- border-radius: var(--border-radius-base-md, 0.5rem);
273
- }
274
-
275
- .popup-footer {
276
- display: flex;
277
- flex-direction: row;
278
- justify-content: center;
279
- gap: 8px;
280
- padding: 0.75rem 1rem 1rem;
281
- }
282
-
283
- .popup-footer-hr {
284
- margin: 0;
285
- border: none;
286
- border-top: 1px solid var(--popup-border, #E5E7EB);
287
- }
288
-
289
- .popup-cancel-button {
290
- padding: 0.5rem 1.25rem;
291
- border: 1px solid #C0BFC7;
292
- border-radius: var(--border-radius-base, 0.3125rem);
293
- background: var(--popup-background);
294
- color: #314158;
295
- cursor: pointer;
296
- font: inherit;
297
- }
298
-
299
- .popup-cancel-button:hover {
300
- background: #D1D5DB;
301
- }
302
-
303
- .popup-login-button {
304
- padding: 0.5rem 1.25rem;
305
- border: none;
306
- border-radius: var(--border-radius-base, 0.3125rem);
307
- background: var(--lavender-900, #7c4cff);
308
- color: #ffffff;
309
- cursor: pointer;
310
- font: inherit;
311
- }
312
-
313
- .popup-login-button:hover {
314
- background: #6a3de8;
315
- }
316
-
317
- .popup-login-button:disabled {
318
- opacity: 0.5;
319
- cursor: not-allowed;
320
- }
321
-
322
- .error-msg {
323
- color: var(--error-text-color);
324
- font-size: 0.875rem;
325
- margin-top: 8px;
326
- }
327
-
328
- @media (max-width: 40rem) {
329
- .popup-dialog {
330
- width: calc(100vw - 1rem);
331
- max-width: calc(100vw - 1rem);
332
- max-height: calc(100dvh - 1rem);
333
- }
334
-
335
- .popup-box {
336
- width: calc(100vw - 1rem);
337
- min-width: 0;
338
- max-width: calc(100vw - 1rem);
339
- max-height: calc(100dvh - 1rem);
340
- border-radius: var(--border-radius-base, 0.3125rem);
341
- }
342
-
343
- .popup-top-menu,
344
- .issuer-text-section,
345
- .popup-footer {
346
- padding-left: 0.75rem;
347
- padding-right: 0.75rem;
348
- }
349
-
350
- .popup-footer {
351
- flex-wrap: wrap;
352
- gap: 0.625rem;
353
- }
354
-
355
- .popup-footer > button {
356
- flex: 1 1 100%;
357
- }
358
-
359
- .issuer-text-row,
360
- .issuer-input-field-row {
361
- width: 100%;
362
- }
363
- }
364
- `;
365
- _issuerInputId = `issuer-url-input-${Math.random().toString(36).slice(2, 10)}`;
366
- _errorMsg = "";
367
- constructor() {
368
- super(), this.label = "Log In", this.theme = "light", this.issuerUrl = "", this.icon = "", this.layout = "desktop", this._popupOpen = !1, this._issuerInputValue = "", this._dropdownOpen = !1;
369
- }
370
- connectedCallback() {
371
- super.connectedCallback();
372
- }
373
- disconnectedCallback() {
374
- super.disconnectedCallback();
375
- }
376
- _openPopup() {
377
- let e = i();
378
- if (e) {
379
- this._loginComplete(e.uri);
380
- return;
381
- }
382
- this._issuerInputValue = typeof localStorage < "u" && localStorage.getItem("loginIssuer") || this.issuerUrl || "", this._errorMsg = "", this._popupOpen = !0;
383
- }
384
- _closePopup() {
385
- this._popupOpen = !1;
386
- }
387
- updated() {
388
- let e = this.shadowRoot?.querySelector("dialog");
389
- e && (this._popupOpen && !e.open ? e.showModal() : !this._popupOpen && e.open && e.close());
390
- }
391
- async _loginToIssuer(e) {
392
- if (e) try {
393
- a.store.updater.flagAuthorizationMetadata();
394
- let n = new URL(window.location.href).hash;
395
- n && window.localStorage.setItem("preLoginRedirectHash", n), window.localStorage.setItem("loginIssuer", e);
396
- let r = new URL(window.location.href);
397
- r.hash = "", await t.login(e, r.href);
398
- } catch (e) {
399
- this._errorMsg = e.message || String(e), this.requestUpdate();
400
- }
401
- }
402
- _loginComplete(e) {
403
- n.saveUser(e), this.dispatchEvent(new CustomEvent("login-success", {
404
- detail: { webId: e },
405
- bubbles: !0,
406
- composed: !0
407
- }));
408
- }
409
- _handleGoClick() {
410
- this._dropdownOpen = !1, this._loginToIssuer(this._issuerInputValue);
411
- }
412
- _toggleDropdown() {
413
- this._dropdownOpen = !this._dropdownOpen;
414
- }
415
- _selectIssuerFromDropdown(e) {
416
- this._issuerInputValue = e, this._dropdownOpen = !1;
417
- }
418
- _handleInputChange(e) {
419
- this._issuerInputValue = e.target.value;
420
- }
421
- _handleInputKeydown(e) {
422
- e.key === "Enter" && this._loginToIssuer(this._issuerInputValue), e.key === "Escape" && this._closePopup();
423
- }
424
- _renderPopup() {
425
- let t = r();
426
- return c`
427
- <div class="popup-box">
428
- <div class="popup-top-menu">
429
- <span class="popup-title">Select an identity provider</span>
430
- <button class="popup-close" type="button" aria-label="Close" @click="${() => this._closePopup()}">&#x2715;</button>
431
- </div>
432
-
433
- <div class="issuer-text-section">
434
- <label class="issuer-text-label" for="${this._issuerInputId}">Solid Identity Provider</label>
435
- <div class="issuer-text-row">
436
- <div class="issuer-input-wrapper">
437
- <div class="issuer-input-field-row">
438
- <input
439
- id="${this._issuerInputId}"
440
- class="issuer-text-input"
441
- type="text"
442
- placeholder="https://example.com"
443
- .value="${this._issuerInputValue}"
444
- @input="${this._handleInputChange}"
445
- @keydown="${this._handleInputKeydown}"
446
- autocomplete="url"
447
- />
448
- ${t.length ? c`
449
- <button
450
- class="issuer-dropdown-toggle"
451
- type="button"
452
- aria-label="Show identity provider suggestions"
453
- aria-expanded="${this._dropdownOpen}"
454
- @click="${() => this._toggleDropdown()}"
455
- >${e}</button>
456
- ` : ""}
457
- </div>
458
- ${this._dropdownOpen && t.length ? c`
459
- <div class="issuer-dropdown-list" role="listbox">
460
- ${t.map((e) => c`
461
- <button
462
- class="issuer-dropdown-item"
463
- type="button"
464
- role="option"
465
- @click="${() => this._selectIssuerFromDropdown(e.uri)}"
466
- >${e.name}</button>
467
- `)}
468
- </div>
469
- ` : ""}
470
- </div>
471
- </div>
472
- ${this._errorMsg ? c`<div class="error-msg">${this._errorMsg}</div>` : ""}
473
- </div>
474
- <hr class="popup-footer-hr" />
475
- <div class="popup-footer">
476
- <button class="popup-cancel-button" type="button" @click="${() => this._closePopup()}">Cancel</button>
477
- <button
478
- class="popup-login-button"
479
- type="button"
480
- ?disabled="${!this._issuerInputValue}"
481
- @click="${() => this._handleGoClick()}"
482
- >Log In</button>
483
- </div>
484
- </div>
485
- `;
486
- }
487
- render() {
488
- return c`
489
- <button
490
- class="login-button"
491
- type="button"
492
- part="login-button"
493
- @click="${() => this._openPopup()}"
494
- >
495
- ${this.icon ? c`<img class="login-button-icon" src="${this.icon}" alt="" aria-hidden="true" part="login-button-icon" />` : ""}
496
- <slot>${this.label}</slot>
497
- </button>
498
-
499
- <dialog
500
- class="popup-dialog"
501
- role="dialog"
502
- aria-modal="true"
503
- aria-label="Select an identity provider"
504
- @cancel="${(e) => {
505
- e.preventDefault(), this._closePopup();
506
- }}"
507
- @click="${(e) => {
508
- e.target === e.currentTarget && this._closePopup();
509
- }}"
510
- >
511
- ${this._popupOpen ? this._renderPopup() : ""}
512
- </dialog>
513
- `;
514
- }
515
- };
516
- //#endregion
517
- export { l as LoginButton };
518
-
519
- //# sourceMappingURL=LoginButton.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoginButton.esm.js","names":[],"sources":["../../../../../src/v2/components/auth/loginButton/LoginButton.ts"],"sourcesContent":["import { LitElement, html, css } from 'lit'\nimport { authSession, authn, getSuggestedIssuers, offlineTestID, solidLogicSingleton } from 'solid-logic'\nimport { phoneIcon as downArrowIcon } from './downArrow'\n\nexport class LoginButton extends LitElement {\n static properties = {\n label: { type: String, reflect: true },\n theme: { type: String, reflect: true },\n issuerUrl: { type: String, attribute: 'issuer-url', reflect: true },\n icon: { type: String, reflect: true },\n layout: { type: String, reflect: true },\n _popupOpen: { state: true },\n _issuerInputValue: { state: true },\n _dropdownOpen: { state: true }\n }\n\n static styles = css`\n :host { /* default theme */\n display: inline-block;\n position: relative;\n z-index: 400;\n --login-button-background: var(--lavender-900, #7c4cff);\n --login-button-text: var(--color-header-text, #ffffff);\n --popup-background: var(--color-background, #F8F9FB);\n --popup-text: var(--color-text, #1A1A1A);\n --popup-border: var(--color-border, #E5E7EB);\n --popup-shadow: var(--box-shadow-sm, 0 1px 4px rgba(124,77,255,0.12));\n --popup-overlay-background: rgba(0, 0, 0, 0.6);\n --issuer-input-background: var(--color-background, #F8F9FB);\n --issuer-input-text: var(--color-text, #1A1A1A);\n --issuer-input-border: var(--color-text, #1A1A1A);\n --issuer-button-background: var(--color-background, #F8F9FB);\n --issuer-button-text: var(--color-text, #1A1A1A);\n --issuer-button-border: var(--color-border, #E5E7EB);\n --issuer-button-hover-background: var(--lavender-900, #7c4cff);\n --issuer-label-color: var(--grey-purple-700, #1A1A1A);\n --issuer-placeholder-color: var(--grey-purple-700, #5e546d);;\n --error-text-color: var(--color-error, #B00020);\n }\n\n :host([theme='dark']) {\n display: inline-block;\n position: relative;\n z-index: 900;\n --login-button-background: var(--lavender-900, #7c4cff);\n --login-button-text: var(--color-header-text, #ffffff);\n --popup-background: var(--color-background, #F8F9FB);\n --popup-text: var(--color-text, #1A1A1A);\n --popup-border: var(--color-border, #E5E7EB);\n --popup-shadow: var(--box-shadow-sm, 0 1px 4px rgba(124,77,255,0.12));\n --popup-overlay-background: rgba(0, 0, 0, 0.6);\n --issuer-input-background: var(--color-background, #F8F9FB);\n --issuer-input-text: var(--color-text, #1A1A1A);\n --issuer-input-border: var(--color-text, #1A1A1A);\n --issuer-button-background: var(--color-background, #F8F9FB);\n --issuer-button-text: var(--color-text, #1A1A1A);\n --issuer-button-border: var(--color-text, #1A1A1A);\n --issuer-button-hover-background: var(--lavender-900, #7c4cff);\n --issuer-label-color: var(--grey-purple-700, #1A1A1A);\n --issuer-placeholder-color: var(--grey-purple-700, #5e546d);;\n --error-text-color: var(--color-error, #B00020);\n }\n\n .login-button {\n display: flex;\n height: 35px;\n padding: var(--spacing-xxs, 0.3125rem) var(--spacing-xs, 0.75rem);\n align-items: center;\n gap: var(--spacing-xxs, 0.3125rem);\n border-radius: var(--border-radius-base, 0.3125rem);\n background: var(--login-button-background);\n border: none;\n color: var(--login-button-text);\n cursor: pointer;\n font: inherit;\n line-height: 1;\n white-space: nowrap;\n text-decoration: none;\n box-sizing: border-box;\n transition: transform 0.2s ease;\n }\n\n .login-button-icon {\n width: 16px;\n height: 16px;\n display: inline-block;\n object-fit: contain;\n }\n\n .login-button:active {\n transform: translateY(1px);\n }\n\n .popup-dialog {\n border: none;\n padding: 0;\n background: transparent;\n outline: none;\n overflow: visible;\n width: min(30rem, calc(100vw - 2rem));\n max-width: calc(100vw - 2rem);\n max-height: calc(100dvh - 2rem);\n }\n\n .popup-dialog::backdrop {\n background: var(--popup-overlay-background, rgba(0, 0, 0, 0.6));\n }\n\n .popup-box {\n background: var(--popup-background);\n color: var(--popup-text);\n box-shadow: var(--popup-shadow);\n border: 1px solid var(--popup-border);\n border-radius: var(--border-radius-md, 0.5rem);\n width: min(30rem, calc(100vw - 2rem));\n min-width: min(30rem, calc(100vw - 2rem));\n max-width: calc(100vw - 2rem);\n max-height: calc(100dvh - 2rem);\n overflow: auto;\n z-index: 1001;\n }\n\n .popup-top-menu {\n border-bottom: 1px solid #DDD;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding-bottom: 8px;\n margin-bottom: 8px;\n padding: 1rem;\n background: var(--gray-200, #E5E7EB);\n }\n\n .popup-title {\n font-weight: 800;\n }\n\n .popup-close {\n background: transparent;\n border: none;\n cursor: pointer;\n font-size: 1.25rem;\n line-height: 1;\n padding: 0 0.25rem;\n }\n\n .issuer-text-section {\n display: flex;\n flex-direction: column;\n padding: 1rem 1rem 1.75rem;\n }\n\n .issuer-text-label {\n color: var(--issuer-label-color);\n margin-bottom: 6px;\n }\n\n .issuer-text-row {\n display: flex;\n flex-direction: row;\n gap: 6px;\n align-items: flex-start;\n }\n\n .issuer-input-wrapper {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-width: 0;\n position: relative;\n }\n\n .issuer-input-field-row {\n display: flex;\n flex-direction: row;\n position: relative;\n }\n\n .issuer-text-input {\n flex: 1;\n padding: 0.375rem 2.75rem 0.375rem 0.5rem;\n border: 1px solid var(--issuer-input-border);\n border-radius: var(--border-radius-base, 0.3125rem);\n background: var(--issuer-input-background);\n color: var(--issuer-input-text);\n font: inherit;\n min-width: 0;\n }\n\n .issuer-text-input::placeholder {\n color: var(--issuer-placeholder-color);\n }\n\n .issuer-dropdown-toggle {\n position: absolute;\n right: 6px;\n top: 50%;\n transform: translateY(-50%);\n width: 26px;\n height: 26px;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n border-radius: var(--border-radius-base, 0.3125rem);\n }\n\n .issuer-dropdown-toggle:hover {\n background: var(--color-header-menu-item-hover, #e6dcff);\n }\n\n .issuer-dropdown-toggle svg {\n width: 14px;\n height: 14px;\n display: block;\n }\n\n .issuer-dropdown-list {\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n right: 0;\n border: 1px solid var(--color-border, #E5E7EB);\n border-top: none;\n border-radius: 0 0 var(--border-radius-base, 0.3125rem) var(--border-radius-base, 0.3125rem);\n background: var(--issuer-input-background);\n overflow: visible;\n z-index: 10;\n box-shadow: 0 4px 12px rgba(124, 77, 255, 0.12);\n }\n\n .issuer-dropdown-item {\n display: block;\n width: 100%;\n padding: 0.625rem 0.75rem;\n border: none;\n border-bottom: 1px solid var(--color-border, #E5E7EB);\n background: transparent;\n color: var(--issuer-button-text);\n cursor: pointer;\n font: inherit;\n text-align: left;\n box-sizing: border-box;\n }\n\n .issuer-dropdown-item:last-child {\n border-bottom: none;\n }\n\n .issuer-dropdown-item:hover {\n background: var(--color-header-menu-item-hover, #e6dcff);\n border-radius: var(--border-radius-base-md, 0.5rem);\n }\n\n .popup-footer {\n display: flex;\n flex-direction: row;\n justify-content: center;\n gap: 8px;\n padding: 0.75rem 1rem 1rem;\n }\n\n .popup-footer-hr {\n margin: 0;\n border: none;\n border-top: 1px solid var(--popup-border, #E5E7EB);\n }\n\n .popup-cancel-button {\n padding: 0.5rem 1.25rem;\n border: 1px solid #C0BFC7;\n border-radius: var(--border-radius-base, 0.3125rem);\n background: var(--popup-background);\n color: #314158;\n cursor: pointer;\n font: inherit;\n }\n\n .popup-cancel-button:hover {\n background: #D1D5DB;\n }\n\n .popup-login-button {\n padding: 0.5rem 1.25rem;\n border: none;\n border-radius: var(--border-radius-base, 0.3125rem);\n background: var(--lavender-900, #7c4cff);\n color: #ffffff;\n cursor: pointer;\n font: inherit;\n }\n\n .popup-login-button:hover {\n background: #6a3de8;\n }\n\n .popup-login-button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .error-msg {\n color: var(--error-text-color);\n font-size: 0.875rem;\n margin-top: 8px;\n }\n\n @media (max-width: 40rem) {\n .popup-dialog {\n width: calc(100vw - 1rem);\n max-width: calc(100vw - 1rem);\n max-height: calc(100dvh - 1rem);\n }\n\n .popup-box {\n width: calc(100vw - 1rem);\n min-width: 0;\n max-width: calc(100vw - 1rem);\n max-height: calc(100dvh - 1rem);\n border-radius: var(--border-radius-base, 0.3125rem);\n }\n\n .popup-top-menu,\n .issuer-text-section,\n .popup-footer {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n\n .popup-footer {\n flex-wrap: wrap;\n gap: 0.625rem;\n }\n\n .popup-footer > button {\n flex: 1 1 100%;\n }\n\n .issuer-text-row,\n .issuer-input-field-row {\n width: 100%;\n }\n }\n `\n\n declare label: string\n declare theme: 'light' | 'dark'\n declare issuerUrl: string\n declare icon: string\n declare layout: 'desktop' | 'mobile'\n declare _popupOpen: boolean\n declare _issuerInputValue: string\n declare _dropdownOpen: boolean\n\n private _issuerInputId = `issuer-url-input-${Math.random().toString(36).slice(2, 10)}`\n private _errorMsg = ''\n\n constructor () {\n super()\n this.label = 'Log In'\n this.theme = 'light'\n this.issuerUrl = ''\n this.icon = ''\n this.layout = 'desktop'\n this._popupOpen = false\n this._issuerInputValue = ''\n this._dropdownOpen = false\n }\n\n connectedCallback () {\n super.connectedCallback()\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n }\n\n private _openPopup () {\n const offline = offlineTestID()\n if (offline) {\n this._loginComplete(offline.uri)\n return\n }\n this._issuerInputValue = (typeof localStorage !== 'undefined' && localStorage.getItem('loginIssuer')) || this.issuerUrl || ''\n this._errorMsg = ''\n this._popupOpen = true\n }\n\n private _closePopup () {\n this._popupOpen = false\n }\n\n updated () {\n const dialog = this.shadowRoot?.querySelector('dialog') as HTMLDialogElement | null\n if (!dialog) return\n if (this._popupOpen && !dialog.open) {\n dialog.showModal()\n } else if (!this._popupOpen && dialog.open) {\n dialog.close()\n }\n }\n\n private async _loginToIssuer (issuerUri: string) {\n if (!issuerUri) return\n try {\n // clear authorization metadata from store\n ;(solidLogicSingleton.store.updater as any).flagAuthorizationMetadata()\n\n const preLoginRedirectHash = new URL(window.location.href).hash\n if (preLoginRedirectHash) {\n window.localStorage.setItem('preLoginRedirectHash', preLoginRedirectHash)\n }\n window.localStorage.setItem('loginIssuer', issuerUri)\n\n const locationUrl = new URL(window.location.href)\n locationUrl.hash = ''\n await authSession.login(issuerUri, locationUrl.href)\n } catch (err: any) {\n this._errorMsg = err.message || String(err)\n this.requestUpdate()\n }\n }\n\n private _loginComplete (webIdUri: string) {\n authn.saveUser(webIdUri)\n this.dispatchEvent(new CustomEvent('login-success', {\n detail: { webId: webIdUri },\n bubbles: true,\n composed: true\n }))\n }\n\n private _handleGoClick () {\n this._dropdownOpen = false\n this._loginToIssuer(this._issuerInputValue)\n }\n\n private _toggleDropdown () {\n this._dropdownOpen = !this._dropdownOpen\n }\n\n private _selectIssuerFromDropdown (uri: string) {\n this._issuerInputValue = uri\n this._dropdownOpen = false\n }\n\n private _handleInputChange (e: Event) {\n this._issuerInputValue = (e.target as HTMLInputElement).value\n }\n\n private _handleInputKeydown (e: KeyboardEvent) {\n if (e.key === 'Enter') {\n this._loginToIssuer(this._issuerInputValue)\n }\n if (e.key === 'Escape') {\n this._closePopup()\n }\n }\n\n private _renderPopup () {\n const suggestedIssuers = getSuggestedIssuers()\n return html`\n <div class=\"popup-box\">\n <div class=\"popup-top-menu\">\n <span class=\"popup-title\">Select an identity provider</span>\n <button class=\"popup-close\" type=\"button\" aria-label=\"Close\" @click=\"${() => this._closePopup()}\">&#x2715;</button>\n </div>\n\n <div class=\"issuer-text-section\">\n <label class=\"issuer-text-label\" for=\"${this._issuerInputId}\">Solid Identity Provider</label>\n <div class=\"issuer-text-row\">\n <div class=\"issuer-input-wrapper\">\n <div class=\"issuer-input-field-row\">\n <input\n id=\"${this._issuerInputId}\"\n class=\"issuer-text-input\"\n type=\"text\"\n placeholder=\"https://example.com\"\n .value=\"${this._issuerInputValue}\"\n @input=\"${this._handleInputChange}\"\n @keydown=\"${this._handleInputKeydown}\"\n autocomplete=\"url\"\n />\n ${suggestedIssuers.length\n? html`\n <button\n class=\"issuer-dropdown-toggle\"\n type=\"button\"\n aria-label=\"Show identity provider suggestions\"\n aria-expanded=\"${this._dropdownOpen}\"\n @click=\"${() => this._toggleDropdown()}\"\n >${downArrowIcon}</button>\n `\n: ''}\n </div>\n ${this._dropdownOpen && suggestedIssuers.length\n? html`\n <div class=\"issuer-dropdown-list\" role=\"listbox\">\n ${suggestedIssuers.map(issuerInfo => html`\n <button\n class=\"issuer-dropdown-item\"\n type=\"button\"\n role=\"option\"\n @click=\"${() => this._selectIssuerFromDropdown(issuerInfo.uri)}\"\n >${issuerInfo.name}</button>\n `)}\n </div>\n `\n: ''}\n </div>\n </div>\n ${this._errorMsg ? html`<div class=\"error-msg\">${this._errorMsg}</div>` : ''}\n </div>\n <hr class=\"popup-footer-hr\" />\n <div class=\"popup-footer\">\n <button class=\"popup-cancel-button\" type=\"button\" @click=\"${() => this._closePopup()}\">Cancel</button>\n <button\n class=\"popup-login-button\"\n type=\"button\"\n ?disabled=\"${!this._issuerInputValue}\"\n @click=\"${() => this._handleGoClick()}\"\n >Log In</button>\n </div>\n </div>\n `\n }\n\n render () {\n return html`\n <button\n class=\"login-button\"\n type=\"button\"\n part=\"login-button\"\n @click=\"${() => this._openPopup()}\"\n >\n ${this.icon ? html`<img class=\"login-button-icon\" src=\"${this.icon}\" alt=\"\" aria-hidden=\"true\" part=\"login-button-icon\" />` : ''}\n <slot>${this.label}</slot>\n </button>\n\n <dialog\n class=\"popup-dialog\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Select an identity provider\"\n @cancel=\"${(e: Event) => { e.preventDefault(); this._closePopup() }}\"\n @click=\"${(e: MouseEvent) => { if (e.target === e.currentTarget) this._closePopup() }}\"\n >\n ${this._popupOpen ? this._renderPopup() : ''}\n </dialog>\n `\n }\n}\n"],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- var e=require("lit-html").html`
2
- <svg xmlns="http://www.w3.org/2000/svg"
3
- viewBox="0 0 12 7"
4
- fill="none"
5
- >
6
- <path d="M0.679688 0.678955L5.50729 5.50656L10.3349 0.678955" stroke="#6A7282" stroke-width="1.35776" stroke-linecap="round" stroke-linejoin="round"/>
7
- </svg>
8
- `;exports.phoneIcon=e;
9
- //# sourceMappingURL=downArrow.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"downArrow.cjs.js","names":[],"sources":["../../../../../src/v2/components/auth/loginButton/downArrow.ts"],"sourcesContent":["import { html } from 'lit-html'\n\nexport const phoneIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n viewBox=\"0 0 12 7\" \n fill=\"none\"\n >\n <path d=\"M0.679688 0.678955L5.50729 5.50656L10.3349 0.678955\" stroke=\"#6A7282\" stroke-width=\"1.35776\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\n"],"mappings":"AAEA,IAAa,EAAY,kBAAA,CAAA,CAAA,IAAI"}
@@ -1,14 +0,0 @@
1
- import { html as e } from "lit-html";
2
- //#region src/v2/components/auth/loginButton/downArrow.ts
3
- var t = e`
4
- <svg xmlns="http://www.w3.org/2000/svg"
5
- viewBox="0 0 12 7"
6
- fill="none"
7
- >
8
- <path d="M0.679688 0.678955L5.50729 5.50656L10.3349 0.678955" stroke="#6A7282" stroke-width="1.35776" stroke-linecap="round" stroke-linejoin="round"/>
9
- </svg>
10
- `;
11
- //#endregion
12
- export { t as phoneIcon };
13
-
14
- //# sourceMappingURL=downArrow.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"downArrow.esm.js","names":[],"sources":["../../../../../src/v2/components/auth/loginButton/downArrow.ts"],"sourcesContent":["import { html } from 'lit-html'\n\nexport const phoneIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n viewBox=\"0 0 12 7\" \n fill=\"none\"\n >\n <path d=\"M0.679688 0.678955L5.50729 5.50656L10.3349 0.678955\" stroke=\"#6A7282\" stroke-width=\"1.35776\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\n"],"mappings":";;AAEA,IAAa,IAAY,CAAI"}
@@ -1,2 +0,0 @@
1
- const e=require("./LoginButton.cjs.js");var t=`solid-ui-login-button`;customElements.get(t)||customElements.define(t,e.LoginButton),exports.LoginButton=e.LoginButton;
2
- //# sourceMappingURL=index.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs.js","names":[],"sources":["../../../../../src/v2/components/auth/loginButton/index.ts"],"sourcesContent":["import { LoginButton } from './LoginButton'\n\nexport { LoginButton }\n\nconst LOGIN_BUTTON_TAG_NAME = 'solid-ui-login-button'\n\nif (!customElements.get(LOGIN_BUTTON_TAG_NAME)) {\n customElements.define(LOGIN_BUTTON_TAG_NAME, LoginButton)\n}\n"],"mappings":"wCAIA,IAAM,EAAwB,wBAEzB,eAAe,IAAI,CAAqB,GAC3C,eAAe,OAAO,EAAuB,EAAA,WAAW"}
@@ -1,8 +0,0 @@
1
- import { LoginButton as e } from "./LoginButton.esm.js";
2
- //#region src/v2/components/auth/loginButton/index.ts
3
- var t = "solid-ui-login-button";
4
- customElements.get(t) || customElements.define(t, e);
5
- //#endregion
6
- export { e as LoginButton };
7
-
8
- //# sourceMappingURL=index.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","names":[],"sources":["../../../../../src/v2/components/auth/loginButton/index.ts"],"sourcesContent":["import { LoginButton } from './LoginButton'\n\nexport { LoginButton }\n\nconst LOGIN_BUTTON_TAG_NAME = 'solid-ui-login-button'\n\nif (!customElements.get(LOGIN_BUTTON_TAG_NAME)) {\n customElements.define(LOGIN_BUTTON_TAG_NAME, LoginButton)\n}\n"],"mappings":";;AAIA,IAAM,IAAwB;AAEzB,eAAe,IAAI,CAAqB,KAC3C,eAAe,OAAO,GAAuB,CAAW"}
@@ -1,59 +0,0 @@
1
- let e=require("lit");var t=`https://solidproject.org/get_a_pod`,n=class extends e.LitElement{static properties={label:{type:String,reflect:!0},theme:{type:String,reflect:!0},signupUrl:{type:String,attribute:`signup-url`,reflect:!0},icon:{type:String,reflect:!0},layout:{type:String,reflect:!0}};static styles=e.css`
2
- :host {
3
- display: inline-block;
4
- --signup-button-background: transparent;
5
- --signup-button-border: var(--color-border, #E5E7EB);
6
- --signup-button-text: var(--color-header-text, #ffffff);
7
- }
8
-
9
- :host([theme='dark']) {
10
- --signup-button-background: transparent;
11
- --signup-button-border: var(--color-border, #E5E7EB);
12
- --signup-button-text: var(--color-header-text, #ffffff);
13
- }
14
-
15
- .signup-button {
16
- display: flex;
17
- height: 35px;
18
- padding: var(--spacing-xxs, 0.3125rem) var(--spacing-xs, 0.75rem);
19
- align-items: center;
20
- gap: var(--spacing-xxs, 0.3125rem);
21
- border-radius: var(--border-radius-base, 0.3125rem);
22
- background: var(--signup-button-background);
23
- border: 1px solid var(--signup-button-border);
24
- color: var(--signup-button-text);
25
- cursor: pointer;
26
- font: inherit;
27
- line-height: 1;
28
- white-space: nowrap;
29
- text-decoration: none;
30
- box-sizing: border-box;
31
- transition: transform 0.2s ease;
32
- }
33
-
34
- :host([layout='mobile']) .signup-button {
35
- border: none;
36
- }
37
-
38
- .signup-button-icon {
39
- width: 16px;
40
- height: 16px;
41
- display: inline-block;
42
- object-fit: contain;
43
- }
44
-
45
- .signup-button:active {
46
- transform: translateY(1px);
47
- }
48
- `;constructor(){super(),this.label=`Sign Up`,this.signupUrl=t,this.theme=`light`,this.icon=``,this.layout=`desktop`}_handleClick(){window.open(this.signupUrl,`_blank`,`noopener,noreferrer`)}render(){return e.html`
49
- <button
50
- class="signup-button"
51
- type="button"
52
- part="signup-button"
53
- @click="${()=>this._handleClick()}"
54
- >
55
- ${this.icon?e.html`<img class="signup-button-icon" src="${this.icon}" alt="" aria-hidden="true" part="signup-button-icon" />`:``}
56
- <slot>${this.label}</slot>
57
- </button>
58
- `}};exports.SignupButton=n;
59
- //# sourceMappingURL=SignupButton.cjs.js.map