@urnetwork/elements 0.0.0-beta.1

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 (77) hide show
  1. package/README.md +30 -0
  2. package/dist/assets/styles.css +1 -0
  3. package/dist/components/back-button/back-button.d.ts +14 -0
  4. package/dist/components/back-button/back-button.styles.d.ts +1 -0
  5. package/dist/components/back-button/index.d.ts +1 -0
  6. package/dist/components/button/button.d.ts +23 -0
  7. package/dist/components/button/button.styles.d.ts +1 -0
  8. package/dist/components/button/index.d.ts +1 -0
  9. package/dist/components/icons/icon-back.d.ts +11 -0
  10. package/dist/components/icons/icon-back.styles.d.ts +1 -0
  11. package/dist/components/icons/icon-base.styles.d.ts +1 -0
  12. package/dist/components/icons/icon-connect-globe.d.ts +11 -0
  13. package/dist/components/icons/icon-connect-globe.styles.d.ts +1 -0
  14. package/dist/components/icons/icon-hamburger.d.ts +11 -0
  15. package/dist/components/icons/icon-hamburger.styles.d.ts +1 -0
  16. package/dist/components/icons/icon-network-instability.d.ts +12 -0
  17. package/dist/components/icons/icon-network-instability.styles.d.ts +1 -0
  18. package/dist/components/icons/icon-privacy.d.ts +12 -0
  19. package/dist/components/icons/icon-privacy.styles.d.ts +1 -0
  20. package/dist/components/icons/icon-spinner.d.ts +12 -0
  21. package/dist/components/icons/icon-spinner.styles.d.ts +1 -0
  22. package/dist/components/icons/icon-warning.d.ts +11 -0
  23. package/dist/components/icons/icon-warning.styles.d.ts +1 -0
  24. package/dist/components/icons/index.d.ts +6 -0
  25. package/dist/components/index.d.ts +9 -0
  26. package/dist/components/input/index.d.ts +1 -0
  27. package/dist/components/input/input.d.ts +29 -0
  28. package/dist/components/input/input.styles.d.ts +1 -0
  29. package/dist/components/location-list-item/index.d.ts +1 -0
  30. package/dist/components/location-list-item/location-list-item.d.ts +18 -0
  31. package/dist/components/location-list-item/location-list-item.styles.d.ts +1 -0
  32. package/dist/components/menu/index.d.ts +3 -0
  33. package/dist/components/menu/menu-button.d.ts +11 -0
  34. package/dist/components/menu/menu-button.styles.d.ts +1 -0
  35. package/dist/components/menu/menu-item.d.ts +13 -0
  36. package/dist/components/menu/menu-item.styles.d.ts +1 -0
  37. package/dist/components/menu/menu.d.ts +21 -0
  38. package/dist/components/menu/menu.styles.d.ts +1 -0
  39. package/dist/components/selected-location/index.d.ts +1 -0
  40. package/dist/components/selected-location/selected-location.d.ts +18 -0
  41. package/dist/components/selected-location/selected-location.styles.d.ts +1 -0
  42. package/dist/components/spinner/index.d.ts +1 -0
  43. package/dist/components/spinner/spinner.d.ts +14 -0
  44. package/dist/components/text/index.d.ts +1 -0
  45. package/dist/components/text/text.d.ts +19 -0
  46. package/dist/components/text/text.styles.d.ts +1 -0
  47. package/dist/components.js +23 -0
  48. package/dist/my-element.d.ts +26 -0
  49. package/dist/react/back-button/back-button.d.ts +15 -0
  50. package/dist/react/back-button/index.d.ts +2 -0
  51. package/dist/react/button/button.d.ts +19 -0
  52. package/dist/react/button/index.d.ts +2 -0
  53. package/dist/react/icons/icon-hamburger/icon-hamburger.d.ts +10 -0
  54. package/dist/react/icons/icon-hamburger/index.d.ts +2 -0
  55. package/dist/react/icons/icon-spinner/icon-spinner.d.ts +11 -0
  56. package/dist/react/icons/icon-spinner/index.d.ts +2 -0
  57. package/dist/react/icons/index.d.ts +4 -0
  58. package/dist/react/index.d.ts +18 -0
  59. package/dist/react/input/index.d.ts +2 -0
  60. package/dist/react/input/input.d.ts +31 -0
  61. package/dist/react/location-list-item/index.d.ts +2 -0
  62. package/dist/react/location-list-item/location-list-item.d.ts +18 -0
  63. package/dist/react/menu/index.d.ts +6 -0
  64. package/dist/react/menu/menu-button.d.ts +11 -0
  65. package/dist/react/menu/menu-item.d.ts +15 -0
  66. package/dist/react/menu/menu.d.ts +15 -0
  67. package/dist/react/selected-location/index.d.ts +2 -0
  68. package/dist/react/selected-location/selected-location.d.ts +18 -0
  69. package/dist/react/text/index.d.ts +2 -0
  70. package/dist/react/text/text.d.ts +16 -0
  71. package/dist/react.js +152 -0
  72. package/dist/selected-location-CzeT_ZqM.js +2489 -0
  73. package/dist/styles.d.ts +1 -0
  74. package/dist/styles.js +1 -0
  75. package/dist/utils/color-utils.d.ts +7 -0
  76. package/dist/vite.svg +1 -0
  77. package/package.json +59 -0
@@ -0,0 +1,2489 @@
1
+ import { css as c, LitElement as p, html as h } from "lit";
2
+ import { unsafeStatic as ct, html as pt } from "lit/static-html.js";
3
+ /**
4
+ * @license
5
+ * Copyright 2017 Google LLC
6
+ * SPDX-License-Identifier: BSD-3-Clause
7
+ */
8
+ const d = (i) => (t, e) => {
9
+ e !== void 0 ? e.addInitializer(() => {
10
+ customElements.define(i, t);
11
+ }) : customElements.define(i, t);
12
+ };
13
+ /**
14
+ * @license
15
+ * Copyright 2019 Google LLC
16
+ * SPDX-License-Identifier: BSD-3-Clause
17
+ */
18
+ const D = globalThis, V = D.ShadowRoot && (D.ShadyCSS === void 0 || D.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, rt = Symbol(), J = /* @__PURE__ */ new WeakMap();
19
+ let dt = class {
20
+ constructor(t, e, o) {
21
+ if (this._$cssResult$ = !0, o !== rt) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
22
+ this.cssText = t, this.t = e;
23
+ }
24
+ get styleSheet() {
25
+ let t = this.o;
26
+ const e = this.t;
27
+ if (V && t === void 0) {
28
+ const o = e !== void 0 && e.length === 1;
29
+ o && (t = J.get(e)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), o && J.set(e, t));
30
+ }
31
+ return t;
32
+ }
33
+ toString() {
34
+ return this.cssText;
35
+ }
36
+ };
37
+ const ut = (i) => new dt(typeof i == "string" ? i : i + "", void 0, rt), ft = (i, t) => {
38
+ if (V) i.adoptedStyleSheets = t.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet);
39
+ else for (const e of t) {
40
+ const o = document.createElement("style"), r = D.litNonce;
41
+ r !== void 0 && o.setAttribute("nonce", r), o.textContent = e.cssText, i.appendChild(o);
42
+ }
43
+ }, X = V ? (i) => i : (i) => i instanceof CSSStyleSheet ? ((t) => {
44
+ let e = "";
45
+ for (const o of t.cssRules) e += o.cssText;
46
+ return ut(e);
47
+ })(i) : i;
48
+ /**
49
+ * @license
50
+ * Copyright 2017 Google LLC
51
+ * SPDX-License-Identifier: BSD-3-Clause
52
+ */
53
+ const { is: vt, defineProperty: mt, getOwnPropertyDescriptor: gt, getOwnPropertyNames: bt, getOwnPropertySymbols: yt, getPrototypeOf: wt } = Object, y = globalThis, Y = y.trustedTypes, Ct = Y ? Y.emptyScript : "", T = y.reactiveElementPolyfillSupport, E = (i, t) => i, H = { toAttribute(i, t) {
54
+ switch (t) {
55
+ case Boolean:
56
+ i = i ? Ct : null;
57
+ break;
58
+ case Object:
59
+ case Array:
60
+ i = i == null ? i : JSON.stringify(i);
61
+ }
62
+ return i;
63
+ }, fromAttribute(i, t) {
64
+ let e = i;
65
+ switch (t) {
66
+ case Boolean:
67
+ e = i !== null;
68
+ break;
69
+ case Number:
70
+ e = i === null ? null : Number(i);
71
+ break;
72
+ case Object:
73
+ case Array:
74
+ try {
75
+ e = JSON.parse(i);
76
+ } catch {
77
+ e = null;
78
+ }
79
+ }
80
+ return e;
81
+ } }, K = (i, t) => !vt(i, t), Q = { attribute: !0, type: String, converter: H, reflect: !1, useDefault: !1, hasChanged: K };
82
+ Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), y.litPropertyMetadata ?? (y.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
83
+ class M extends HTMLElement {
84
+ static addInitializer(t) {
85
+ this._$Ei(), (this.l ?? (this.l = [])).push(t);
86
+ }
87
+ static get observedAttributes() {
88
+ return this.finalize(), this._$Eh && [...this._$Eh.keys()];
89
+ }
90
+ static createProperty(t, e = Q) {
91
+ if (e.state && (e.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(t) && ((e = Object.create(e)).wrapped = !0), this.elementProperties.set(t, e), !e.noAccessor) {
92
+ const o = Symbol(), r = this.getPropertyDescriptor(t, o, e);
93
+ r !== void 0 && mt(this.prototype, t, r);
94
+ }
95
+ }
96
+ static getPropertyDescriptor(t, e, o) {
97
+ const { get: r, set: s } = gt(this.prototype, t) ?? { get() {
98
+ return this[e];
99
+ }, set(l) {
100
+ this[e] = l;
101
+ } };
102
+ return { get: r, set(l) {
103
+ const a = r == null ? void 0 : r.call(this);
104
+ s == null || s.call(this, l), this.requestUpdate(t, a, o);
105
+ }, configurable: !0, enumerable: !0 };
106
+ }
107
+ static getPropertyOptions(t) {
108
+ return this.elementProperties.get(t) ?? Q;
109
+ }
110
+ static _$Ei() {
111
+ if (this.hasOwnProperty(E("elementProperties"))) return;
112
+ const t = wt(this);
113
+ t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
114
+ }
115
+ static finalize() {
116
+ if (this.hasOwnProperty(E("finalized"))) return;
117
+ if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(E("properties"))) {
118
+ const e = this.properties, o = [...bt(e), ...yt(e)];
119
+ for (const r of o) this.createProperty(r, e[r]);
120
+ }
121
+ const t = this[Symbol.metadata];
122
+ if (t !== null) {
123
+ const e = litPropertyMetadata.get(t);
124
+ if (e !== void 0) for (const [o, r] of e) this.elementProperties.set(o, r);
125
+ }
126
+ this._$Eh = /* @__PURE__ */ new Map();
127
+ for (const [e, o] of this.elementProperties) {
128
+ const r = this._$Eu(e, o);
129
+ r !== void 0 && this._$Eh.set(r, e);
130
+ }
131
+ this.elementStyles = this.finalizeStyles(this.styles);
132
+ }
133
+ static finalizeStyles(t) {
134
+ const e = [];
135
+ if (Array.isArray(t)) {
136
+ const o = new Set(t.flat(1 / 0).reverse());
137
+ for (const r of o) e.unshift(X(r));
138
+ } else t !== void 0 && e.push(X(t));
139
+ return e;
140
+ }
141
+ static _$Eu(t, e) {
142
+ const o = e.attribute;
143
+ return o === !1 ? void 0 : typeof o == "string" ? o : typeof t == "string" ? t.toLowerCase() : void 0;
144
+ }
145
+ constructor() {
146
+ super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();
147
+ }
148
+ _$Ev() {
149
+ var t;
150
+ this._$ES = new Promise((e) => this.enableUpdating = e), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), (t = this.constructor.l) == null || t.forEach((e) => e(this));
151
+ }
152
+ addController(t) {
153
+ var e;
154
+ (this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(t), this.renderRoot !== void 0 && this.isConnected && ((e = t.hostConnected) == null || e.call(t));
155
+ }
156
+ removeController(t) {
157
+ var e;
158
+ (e = this._$EO) == null || e.delete(t);
159
+ }
160
+ _$E_() {
161
+ const t = /* @__PURE__ */ new Map(), e = this.constructor.elementProperties;
162
+ for (const o of e.keys()) this.hasOwnProperty(o) && (t.set(o, this[o]), delete this[o]);
163
+ t.size > 0 && (this._$Ep = t);
164
+ }
165
+ createRenderRoot() {
166
+ const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
167
+ return ft(t, this.constructor.elementStyles), t;
168
+ }
169
+ connectedCallback() {
170
+ var t;
171
+ this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (t = this._$EO) == null || t.forEach((e) => {
172
+ var o;
173
+ return (o = e.hostConnected) == null ? void 0 : o.call(e);
174
+ });
175
+ }
176
+ enableUpdating(t) {
177
+ }
178
+ disconnectedCallback() {
179
+ var t;
180
+ (t = this._$EO) == null || t.forEach((e) => {
181
+ var o;
182
+ return (o = e.hostDisconnected) == null ? void 0 : o.call(e);
183
+ });
184
+ }
185
+ attributeChangedCallback(t, e, o) {
186
+ this._$AK(t, o);
187
+ }
188
+ _$ET(t, e) {
189
+ var s;
190
+ const o = this.constructor.elementProperties.get(t), r = this.constructor._$Eu(t, o);
191
+ if (r !== void 0 && o.reflect === !0) {
192
+ const l = (((s = o.converter) == null ? void 0 : s.toAttribute) !== void 0 ? o.converter : H).toAttribute(e, o.type);
193
+ this._$Em = t, l == null ? this.removeAttribute(r) : this.setAttribute(r, l), this._$Em = null;
194
+ }
195
+ }
196
+ _$AK(t, e) {
197
+ var s, l;
198
+ const o = this.constructor, r = o._$Eh.get(t);
199
+ if (r !== void 0 && this._$Em !== r) {
200
+ const a = o.getPropertyOptions(r), v = typeof a.converter == "function" ? { fromAttribute: a.converter } : ((s = a.converter) == null ? void 0 : s.fromAttribute) !== void 0 ? a.converter : H;
201
+ this._$Em = r;
202
+ const B = v.fromAttribute(e, a.type);
203
+ this[r] = B ?? ((l = this._$Ej) == null ? void 0 : l.get(r)) ?? B, this._$Em = null;
204
+ }
205
+ }
206
+ requestUpdate(t, e, o, r = !1, s) {
207
+ var l;
208
+ if (t !== void 0) {
209
+ const a = this.constructor;
210
+ if (r === !1 && (s = this[t]), o ?? (o = a.getPropertyOptions(t)), !((o.hasChanged ?? K)(s, e) || o.useDefault && o.reflect && s === ((l = this._$Ej) == null ? void 0 : l.get(t)) && !this.hasAttribute(a._$Eu(t, o)))) return;
211
+ this.C(t, e, o);
212
+ }
213
+ this.isUpdatePending === !1 && (this._$ES = this._$EP());
214
+ }
215
+ C(t, e, { useDefault: o, reflect: r, wrapped: s }, l) {
216
+ o && !(this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Map())).has(t) && (this._$Ej.set(t, l ?? e ?? this[t]), s !== !0 || l !== void 0) || (this._$AL.has(t) || (this.hasUpdated || o || (e = void 0), this._$AL.set(t, e)), r === !0 && this._$Em !== t && (this._$Eq ?? (this._$Eq = /* @__PURE__ */ new Set())).add(t));
217
+ }
218
+ async _$EP() {
219
+ this.isUpdatePending = !0;
220
+ try {
221
+ await this._$ES;
222
+ } catch (e) {
223
+ Promise.reject(e);
224
+ }
225
+ const t = this.scheduleUpdate();
226
+ return t != null && await t, !this.isUpdatePending;
227
+ }
228
+ scheduleUpdate() {
229
+ return this.performUpdate();
230
+ }
231
+ performUpdate() {
232
+ var o;
233
+ if (!this.isUpdatePending) return;
234
+ if (!this.hasUpdated) {
235
+ if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {
236
+ for (const [s, l] of this._$Ep) this[s] = l;
237
+ this._$Ep = void 0;
238
+ }
239
+ const r = this.constructor.elementProperties;
240
+ if (r.size > 0) for (const [s, l] of r) {
241
+ const { wrapped: a } = l, v = this[s];
242
+ a !== !0 || this._$AL.has(s) || v === void 0 || this.C(s, void 0, l, v);
243
+ }
244
+ }
245
+ let t = !1;
246
+ const e = this._$AL;
247
+ try {
248
+ t = this.shouldUpdate(e), t ? (this.willUpdate(e), (o = this._$EO) == null || o.forEach((r) => {
249
+ var s;
250
+ return (s = r.hostUpdate) == null ? void 0 : s.call(r);
251
+ }), this.update(e)) : this._$EM();
252
+ } catch (r) {
253
+ throw t = !1, this._$EM(), r;
254
+ }
255
+ t && this._$AE(e);
256
+ }
257
+ willUpdate(t) {
258
+ }
259
+ _$AE(t) {
260
+ var e;
261
+ (e = this._$EO) == null || e.forEach((o) => {
262
+ var r;
263
+ return (r = o.hostUpdated) == null ? void 0 : r.call(o);
264
+ }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);
265
+ }
266
+ _$EM() {
267
+ this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
268
+ }
269
+ get updateComplete() {
270
+ return this.getUpdateComplete();
271
+ }
272
+ getUpdateComplete() {
273
+ return this._$ES;
274
+ }
275
+ shouldUpdate(t) {
276
+ return !0;
277
+ }
278
+ update(t) {
279
+ this._$Eq && (this._$Eq = this._$Eq.forEach((e) => this._$ET(e, this[e]))), this._$EM();
280
+ }
281
+ updated(t) {
282
+ }
283
+ firstUpdated(t) {
284
+ }
285
+ }
286
+ M.elementStyles = [], M.shadowRootOptions = { mode: "open" }, M[E("elementProperties")] = /* @__PURE__ */ new Map(), M[E("finalized")] = /* @__PURE__ */ new Map(), T == null || T({ ReactiveElement: M }), (y.reactiveElementVersions ?? (y.reactiveElementVersions = [])).push("2.1.2");
287
+ /**
288
+ * @license
289
+ * Copyright 2017 Google LLC
290
+ * SPDX-License-Identifier: BSD-3-Clause
291
+ */
292
+ const kt = { attribute: !0, type: String, converter: H, reflect: !1, hasChanged: K }, _t = (i = kt, t, e) => {
293
+ const { kind: o, metadata: r } = e;
294
+ let s = globalThis.litPropertyMetadata.get(r);
295
+ if (s === void 0 && globalThis.litPropertyMetadata.set(r, s = /* @__PURE__ */ new Map()), o === "setter" && ((i = Object.create(i)).wrapped = !0), s.set(e.name, i), o === "accessor") {
296
+ const { name: l } = e;
297
+ return { set(a) {
298
+ const v = t.get.call(this);
299
+ t.set.call(this, a), this.requestUpdate(l, v, i, !0, a);
300
+ }, init(a) {
301
+ return a !== void 0 && this.C(l, void 0, i, a), a;
302
+ } };
303
+ }
304
+ if (o === "setter") {
305
+ const { name: l } = e;
306
+ return function(a) {
307
+ const v = this[l];
308
+ t.call(this, a), this.requestUpdate(l, v, i, !0, a);
309
+ };
310
+ }
311
+ throw Error("Unsupported decorator location: " + o);
312
+ };
313
+ function n(i) {
314
+ return (t, e) => typeof e == "object" ? _t(i, t, e) : ((o, r, s) => {
315
+ const l = r.hasOwnProperty(s);
316
+ return r.constructor.createProperty(s, o), l ? Object.getOwnPropertyDescriptor(r, s) : void 0;
317
+ })(i, t, e);
318
+ }
319
+ /**
320
+ * @license
321
+ * Copyright 2017 Google LLC
322
+ * SPDX-License-Identifier: BSD-3-Clause
323
+ */
324
+ const $t = (i, t, e) => (e.configurable = !0, e.enumerable = !0, Reflect.decorate && typeof t != "object" && Object.defineProperty(i, t, e), e);
325
+ /**
326
+ * @license
327
+ * Copyright 2017 Google LLC
328
+ * SPDX-License-Identifier: BSD-3-Clause
329
+ */
330
+ function ot(i, t) {
331
+ return (e, o, r) => {
332
+ const s = (l) => {
333
+ var a;
334
+ return ((a = l.renderRoot) == null ? void 0 : a.querySelector(i)) ?? null;
335
+ };
336
+ return $t(e, o, { get() {
337
+ return s(this);
338
+ } });
339
+ };
340
+ }
341
+ var xt = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, W = (i, t, e, o) => {
342
+ for (var r = o > 1 ? void 0 : o ? Mt(t, e) : t, s = i.length - 1, l; s >= 0; s--)
343
+ (l = i[s]) && (r = (o ? l(t, e, r) : l(r)) || r);
344
+ return o && r && xt(t, e, r), r;
345
+ };
346
+ let P = class extends p {
347
+ constructor() {
348
+ super(...arguments), this.size = 40, this.color = "gray-dark";
349
+ }
350
+ get borderColor() {
351
+ return this.color === "white" ? "var(--ur-color-white, #f8f8f8)" : "var(--ur-color-gray-dark, #909090)";
352
+ }
353
+ render() {
354
+ return h`<div
355
+ class="spinner"
356
+ style="
357
+ width: ${this.size}px;
358
+ height: ${this.size}px;
359
+ border-color: ${this.borderColor};
360
+ border-top-color: transparent;
361
+ "
362
+ ></div>`;
363
+ }
364
+ };
365
+ P.styles = c`
366
+ .spinner {
367
+ border: 3px solid var(--ur-color-white);
368
+ border-top: 3px solid transparent;
369
+ border-radius: 50%;
370
+ animation: spin 1s linear infinite;
371
+ }
372
+
373
+ @keyframes spin {
374
+ 0% {
375
+ transform: rotate(0deg);
376
+ }
377
+ 100% {
378
+ transform: rotate(360deg);
379
+ }
380
+ }
381
+ `;
382
+ W([
383
+ n({ type: Number })
384
+ ], P.prototype, "size", 2);
385
+ W([
386
+ n({ type: String })
387
+ ], P.prototype, "color", 2);
388
+ P = W([
389
+ d("ur-spinner")
390
+ ], P);
391
+ const St = c`
392
+ button {
393
+ font-family: "PpNeueBitBold", system-ui, sans-serif;
394
+ font-size: 1.4rem;
395
+ padding: 0.8rem 1.6rem;
396
+ border-radius: 0.8rem;
397
+ border: none;
398
+ cursor: pointer;
399
+ position: relative;
400
+ display: inline-flex;
401
+ align-items: center;
402
+ justify-content: center;
403
+ transition:
404
+ background 0.1s ease,
405
+ border-color 0.1s ease;
406
+ }
407
+ :host([variant="primary"]) button {
408
+ background: var(--ur-color-blue-electric);
409
+ color: var(--ur-color-white);
410
+ border: 1px solid var(--ur-color-blue-electric);
411
+ }
412
+ :host([variant="primary"]) button:disabled {
413
+ background: color-mix(
414
+ in srgb,
415
+ var(--ur-color-blue-electric) 70%,
416
+ white 30%
417
+ );
418
+ color: var(--ur-color-white);
419
+ border: 1px solid
420
+ color-mix(in srgb, var(--ur-color-blue-electric) 70%, white 30%);
421
+ cursor: not-allowed;
422
+ }
423
+ :host([variant="primary"]) button:hover:not(:disabled) {
424
+ background: color-mix(
425
+ in srgb,
426
+ var(--ur-color-blue-electric) 85%,
427
+ white 15%
428
+ );
429
+ border: 1px solid
430
+ color-mix(in srgb, var(--ur-color-blue-electric) 85%, white 15%);
431
+ }
432
+ :host([variant="secondary"]) button {
433
+ background: transparent;
434
+ color: var(--ur-color-gray-dark);
435
+ border: 1px solid var(--ur-color-gray-dark);
436
+ }
437
+ :host([variant="secondary"]) button:hover:not(:disabled) {
438
+ background: color-mix(in srgb, var(--ur-color-black, #101010), #fff 2%);
439
+ border-color: color-mix(in srgb, var(--ur-color-gray-dark) 80%, black 20%);
440
+ color: color-mix(in srgb, var(--ur-color-gray-dark) 80%, black 20%);
441
+ }
442
+ :host([fullwidth]) {
443
+ display: block;
444
+ width: 100%;
445
+ }
446
+ :host([fullwidth]) button {
447
+ width: 100%;
448
+ display: block;
449
+ }
450
+ .button-content {
451
+ /* Hide when loading, but preserve space */
452
+ visibility: visible;
453
+ }
454
+ .button-spinner {
455
+ display: none;
456
+ position: absolute;
457
+ left: 50%;
458
+ transform: translateX(-50%);
459
+ }
460
+ :host([loading]) .button-content {
461
+ visibility: hidden;
462
+ }
463
+ :host([loading]) .button-spinner {
464
+ display: block;
465
+ }
466
+ `;
467
+ var Et = Object.defineProperty, Pt = Object.getOwnPropertyDescriptor, C = (i, t, e, o) => {
468
+ for (var r = o > 1 ? void 0 : o ? Pt(t, e) : t, s = i.length - 1, l; s >= 0; s--)
469
+ (l = i[s]) && (r = (o ? l(t, e, r) : l(r)) || r);
470
+ return o && r && Et(t, e, r), r;
471
+ };
472
+ const Se = ["primary", "secondary"], Ee = ["button", "submit", "reset"];
473
+ let m = class extends p {
474
+ constructor() {
475
+ super(...arguments), this.variant = "primary", this.disabled = !1, this.fullWidth = !1, this.loading = !1, this.buttonType = "button";
476
+ }
477
+ _handleClick(i) {
478
+ this.onClick && this.onClick(i);
479
+ }
480
+ render() {
481
+ return h`
482
+ <button
483
+ type=${this.buttonType}
484
+ @click=${this._handleClick}
485
+ ?disabled=${this.disabled || this.loading}
486
+ >
487
+ <span class="button-content"><slot></slot></span>
488
+ <span class="button-spinner"
489
+ ><ur-spinner size=${8} color="white"></ur-spinner
490
+ ></span>
491
+ </button>
492
+ `;
493
+ }
494
+ };
495
+ m.formAssociated = !0;
496
+ m.styles = St;
497
+ C([
498
+ n({ type: Function })
499
+ ], m.prototype, "onClick", 2);
500
+ C([
501
+ n({ type: String, reflect: !0 })
502
+ ], m.prototype, "variant", 2);
503
+ C([
504
+ n({ type: Boolean })
505
+ ], m.prototype, "disabled", 2);
506
+ C([
507
+ n({ type: Boolean, reflect: !0 })
508
+ ], m.prototype, "fullWidth", 2);
509
+ C([
510
+ n({ type: Boolean })
511
+ ], m.prototype, "loading", 2);
512
+ C([
513
+ n({ type: String })
514
+ ], m.prototype, "buttonType", 2);
515
+ m = C([
516
+ d("ur-button")
517
+ ], m);
518
+ const Zt = c`
519
+ :host {
520
+ display: block;
521
+ font-family: var(--font-family-base, system-ui, sans-serif);
522
+ width: 100%;
523
+ }
524
+
525
+ .input-wrapper {
526
+ display: flex;
527
+ flex-direction: column;
528
+ gap: var(--ur-space-sm, 0.5rem);
529
+ align-items: flex-start;
530
+ width: 100%;
531
+ }
532
+
533
+ .input-container {
534
+ position: relative;
535
+ display: flex;
536
+ align-items: center;
537
+ width: 100%;
538
+ }
539
+
540
+ .input-label {
541
+ font-size: 0.875rem;
542
+ font-weight: 500;
543
+ color: var(--ur-color-gray-dark);
544
+ }
545
+
546
+ .input-label.error {
547
+ color: var(--ur-color-coral, #ff6c58);
548
+ }
549
+
550
+ .required {
551
+ color: var(--ur-color-coral);
552
+ margin-left: 0.25rem;
553
+ }
554
+
555
+ .input-field {
556
+ width: 100%;
557
+ padding: 0.75rem 1rem;
558
+ font-size: 1rem;
559
+ color: var(--ur-color-black, #000);
560
+ background: color-mix(in srgb, var(--ur-color-black, #101010), #fff 5%);
561
+ border: 1px solid var(--ur-color-border);
562
+ border-radius: 0.5rem;
563
+ transition:
564
+ border-color 0.1s ease,
565
+ box-shadow 0.1s ease;
566
+ outline: none;
567
+ box-sizing: border-box;
568
+ color: var(--ur-color-white);
569
+ }
570
+
571
+ /* Hover state */
572
+ .input-field:hover:not([disabled]):not([readonly]) {
573
+ background: color-mix(in srgb, var(--ur-color-black, #101010), #fff 7%);
574
+ border-color: color-mix(in srgb, var(--ur-color-border, #101010), #fff 2%);
575
+ }
576
+
577
+ .input-field:focus {
578
+ background: color-mix(in srgb, var(--ur-color-black, #101010), #fff 10%);
579
+
580
+ border: 1px solid
581
+ color-mix(in srgb, var(--ur-color-black, #101010), #fff 15%);
582
+ }
583
+
584
+ .input-field[disabled] {
585
+ background: color-mix(in srgb, var(--ur-color-black, #101010), #fff 2%);
586
+ color: color-mix(in srgb, var(--ur-color-gray, #b7b7b7), transparent 60%);
587
+ border-color: color-mix(in srgb, var(--ur-color-black, #101010), #fff 15%);
588
+ cursor: not-allowed;
589
+ opacity: 0.6;
590
+ }
591
+
592
+ .input-field[readonly] {
593
+ background: color-mix(in srgb, var(--ur-color-black, #101010), #fff 2%);
594
+ color: var(--color-white, #f8f8f8);
595
+ border-color: color-mix(in srgb, var(--ur-color-black, #101010), #fff 15%);
596
+ cursor: default;
597
+ opacity: 0.6;
598
+ }
599
+
600
+ .input-field.error {
601
+ border-color: var(--ur-color-coral, #ff6c58);
602
+ }
603
+
604
+ .input-field.error:focus {
605
+ border-color: color-mix(in srgb, var(--ur-color-coral, #ff6c58), #fff 15%);
606
+ }
607
+
608
+ .hint {
609
+ font-size: 0.875rem;
610
+ color: var(--ur-color-gray-dark);
611
+ text-align: left;
612
+ }
613
+
614
+ .hint.error {
615
+ color: var(--ur-color-coral, #ff6c58);
616
+ }
617
+
618
+ :host([loading]) .input-field {
619
+ padding-right: 2.75rem;
620
+ }
621
+
622
+ /* Error icon state */
623
+ :host([invalid]) .input-field {
624
+ padding-right: 2.75rem;
625
+ }
626
+
627
+ .input-spinner,
628
+ .input-error-icon {
629
+ position: absolute;
630
+ right: 0.75rem;
631
+ pointer-events: none;
632
+ }
633
+ `, Ot = c`
634
+ :host {
635
+ display: block;
636
+ width: 16px;
637
+ height: 16px;
638
+ }
639
+
640
+ svg {
641
+ width: 100%;
642
+ height: 100%;
643
+ display: block;
644
+ }
645
+ `;
646
+ var Bt = Object.getOwnPropertyDescriptor, Dt = (i, t, e, o) => {
647
+ for (var r = o > 1 ? void 0 : o ? Bt(t, e) : t, s = i.length - 1, l; s >= 0; s--)
648
+ (l = i[s]) && (r = l(r) || r);
649
+ return r;
650
+ };
651
+ let U = class extends p {
652
+ render() {
653
+ return h`
654
+ <svg
655
+ xmlns="http://www.w3.org/2000/svg"
656
+ viewBox="0 0 32 32"
657
+ id="Interface-Essential-Alert-Triangle-1--Streamline-Pixel"
658
+ >
659
+ <desc>
660
+ Interface Essential Alert Triangle 1 Streamline Icon:
661
+ https://streamlinehq.com
662
+ </desc>
663
+ <title>interface-essential-alert-triangle-1</title>
664
+ <g>
665
+ <path
666
+ d="M30.48 27.43H32v3.05h-1.52Z"
667
+ fill="currentColor"
668
+ stroke-width="1"
669
+ ></path>
670
+ <path
671
+ d="M28.95 24.38h1.53v3.05h-1.53Z"
672
+ fill="currentColor"
673
+ stroke-width="1"
674
+ ></path>
675
+ <path
676
+ d="M1.52 30.48h28.96V32H1.52Z"
677
+ fill="currentColor"
678
+ stroke-width="1"
679
+ ></path>
680
+ <path
681
+ d="M27.43 21.33h1.52v3.05h-1.52Z"
682
+ fill="currentColor"
683
+ stroke-width="1"
684
+ ></path>
685
+ <path
686
+ d="M25.9 18.29h1.53v3.04H25.9Z"
687
+ fill="currentColor"
688
+ stroke-width="1"
689
+ ></path>
690
+ <path
691
+ d="M24.38 15.24h1.52v3.05h-1.52Z"
692
+ fill="currentColor"
693
+ stroke-width="1"
694
+ ></path>
695
+ <path
696
+ d="M22.86 12.19h1.52v3.05h-1.52Z"
697
+ fill="currentColor"
698
+ stroke-width="1"
699
+ ></path>
700
+ <path
701
+ d="M21.33 9.14h1.53v3.05h-1.53Z"
702
+ fill="currentColor"
703
+ stroke-width="1"
704
+ ></path>
705
+ <path
706
+ d="M19.81 6.09h1.52v3.05h-1.52Z"
707
+ fill="currentColor"
708
+ stroke-width="1"
709
+ ></path>
710
+ <path
711
+ d="M18.29 3.05h1.52v3.04h-1.52Z"
712
+ fill="currentColor"
713
+ stroke-width="1"
714
+ ></path>
715
+ <path
716
+ d="m18.29 21.33 -4.58 0 0 1.53 -1.52 0 0 4.57 1.52 0 0 1.52 4.58 0 0 -1.52 1.52 0 0 -4.57 -1.52 0 0 -1.53z"
717
+ fill="currentColor"
718
+ stroke-width="1"
719
+ ></path>
720
+ <path
721
+ d="M18.29 9.14h-4.58v1.53h-1.52v6.09h1.52v3.05h4.58v-3.05h1.52v-6.09h-1.52Zm0 6.1h-1.53v-3.05h-1.52v-1.52h1.52v1.52h1.53Z"
722
+ fill="currentColor"
723
+ stroke-width="1"
724
+ ></path>
725
+ <path
726
+ d="M16.76 1.52h1.53v1.53h-1.53Z"
727
+ fill="currentColor"
728
+ stroke-width="1"
729
+ ></path>
730
+ <path
731
+ d="M15.24 0h1.52v1.52h-1.52Z"
732
+ fill="currentColor"
733
+ stroke-width="1"
734
+ ></path>
735
+ <path
736
+ d="M13.71 1.52h1.53v1.53h-1.53Z"
737
+ fill="currentColor"
738
+ stroke-width="1"
739
+ ></path>
740
+ <path
741
+ d="M12.19 3.05h1.52v3.04h-1.52Z"
742
+ fill="currentColor"
743
+ stroke-width="1"
744
+ ></path>
745
+ <path
746
+ d="M10.67 6.09h1.52v3.05h-1.52Z"
747
+ fill="currentColor"
748
+ stroke-width="1"
749
+ ></path>
750
+ <path
751
+ d="M9.14 9.14h1.53v3.05H9.14Z"
752
+ fill="currentColor"
753
+ stroke-width="1"
754
+ ></path>
755
+ <path
756
+ d="M7.62 12.19h1.52v3.05H7.62Z"
757
+ fill="currentColor"
758
+ stroke-width="1"
759
+ ></path>
760
+ <path
761
+ d="M6.09 15.24h1.53v3.05H6.09Z"
762
+ fill="currentColor"
763
+ stroke-width="1"
764
+ ></path>
765
+ <path
766
+ d="M4.57 18.29h1.52v3.04H4.57Z"
767
+ fill="currentColor"
768
+ stroke-width="1"
769
+ ></path>
770
+ <path
771
+ d="M3.05 21.33h1.52v3.05H3.05Z"
772
+ fill="currentColor"
773
+ stroke-width="1"
774
+ ></path>
775
+ <path
776
+ d="M1.52 24.38h1.53v3.05H1.52Z"
777
+ fill="currentColor"
778
+ stroke-width="1"
779
+ ></path>
780
+ <path
781
+ d="M0 27.43h1.52v3.05H0Z"
782
+ fill="currentColor"
783
+ stroke-width="1"
784
+ ></path>
785
+ </g>
786
+ </svg>
787
+ `;
788
+ }
789
+ };
790
+ U.styles = Ot;
791
+ U = Dt([
792
+ d("ur-icon-warning")
793
+ ], U);
794
+ var Ht = Object.defineProperty, At = Object.getOwnPropertyDescriptor, f = (i, t, e, o) => {
795
+ for (var r = o > 1 ? void 0 : o ? At(t, e) : t, s = i.length - 1, l; s >= 0; s--)
796
+ (l = i[s]) && (r = (o ? l(t, e, r) : l(r)) || r);
797
+ return o && r && Ht(t, e, r), r;
798
+ };
799
+ const Pe = [
800
+ "text",
801
+ "email",
802
+ "password",
803
+ "search",
804
+ "tel",
805
+ "url",
806
+ "number"
807
+ ];
808
+ let u = class extends p {
809
+ constructor() {
810
+ super(...arguments), this.value = "", this.placeholder = "", this.type = "text", this.disabled = !1, this.readonly = !1, this.loading = !1, this.name = "", this.label = "", this.hint = "", this.invalid = !1, this.required = !1;
811
+ }
812
+ // Event handler for input changes
813
+ handleInput(i) {
814
+ const t = i.target;
815
+ this.value = t.value, this.dispatchEvent(
816
+ new CustomEvent("ur-input", {
817
+ detail: { value: t.value },
818
+ bubbles: !0,
819
+ composed: !0
820
+ })
821
+ );
822
+ }
823
+ // Event handler for native change event
824
+ handleChange(i) {
825
+ const t = i.target;
826
+ this.dispatchEvent(
827
+ new CustomEvent("ur-change", {
828
+ detail: { value: t.value },
829
+ bubbles: !0,
830
+ composed: !0
831
+ })
832
+ );
833
+ }
834
+ handleKeyDown(i) {
835
+ if (i.key === "Enter") {
836
+ const t = this.closest("form");
837
+ t && (i.preventDefault(), setTimeout(() => {
838
+ t.requestSubmit();
839
+ }, 10));
840
+ }
841
+ }
842
+ render() {
843
+ return h`
844
+ <div class="input-wrapper">
845
+ ${this.label ? h`<label class="input-label ${this.invalid ? "error" : ""}">
846
+ ${this.label}
847
+ ${this.required ? h`<span class="required">*</span>` : ""}
848
+ </label>` : ""}
849
+
850
+ <div class="input-container">
851
+ <input
852
+ type=${this.type}
853
+ .value=${this.value}
854
+ placeholder=${this.placeholder}
855
+ ?disabled=${this.disabled || this.loading}
856
+ ?readonly=${this.readonly}
857
+ ?required=${this.required}
858
+ minlength=${this.minLength ?? ""}
859
+ maxlength=${this.maxLength ?? ""}
860
+ name=${this.name}
861
+ class="input-field ${this.invalid ? "error" : ""}"
862
+ @input=${this.handleInput}
863
+ @change=${this.handleChange}
864
+ @keydown=${this.handleKeyDown}
865
+ />
866
+
867
+ ${this.loading ? h`<ur-spinner class="input-spinner" size="8"></ur-spinner>` : ""}
868
+ ${this.invalid && !this.loading ? h`<ur-icon-warning
869
+ class="input-error-icon"
870
+ style="color: var(--ur-color-coral)"
871
+ ></ur-icon-warning>` : ""}
872
+ </div>
873
+
874
+ ${this.hint ? h`<span class="hint ${this.invalid ? "error" : ""}"
875
+ >${this.hint}</span
876
+ >` : ""}
877
+ </div>
878
+ `;
879
+ }
880
+ };
881
+ u.styles = Zt;
882
+ f([
883
+ n({ type: String })
884
+ ], u.prototype, "value", 2);
885
+ f([
886
+ n({ type: String })
887
+ ], u.prototype, "placeholder", 2);
888
+ f([
889
+ n({ type: String })
890
+ ], u.prototype, "type", 2);
891
+ f([
892
+ n({ type: Boolean, reflect: !0 })
893
+ ], u.prototype, "disabled", 2);
894
+ f([
895
+ n({ type: Boolean, reflect: !0 })
896
+ ], u.prototype, "readonly", 2);
897
+ f([
898
+ n({ type: Boolean, reflect: !0 })
899
+ ], u.prototype, "loading", 2);
900
+ f([
901
+ n({ type: String })
902
+ ], u.prototype, "name", 2);
903
+ f([
904
+ n({ type: String })
905
+ ], u.prototype, "label", 2);
906
+ f([
907
+ n({ type: String })
908
+ ], u.prototype, "hint", 2);
909
+ f([
910
+ n({ type: Boolean, reflect: !0 })
911
+ ], u.prototype, "invalid", 2);
912
+ f([
913
+ n({ type: Boolean, reflect: !0 })
914
+ ], u.prototype, "required", 2);
915
+ f([
916
+ n({ type: Number })
917
+ ], u.prototype, "minLength", 2);
918
+ f([
919
+ n({ type: Number })
920
+ ], u.prototype, "maxLength", 2);
921
+ u = f([
922
+ d("ur-input")
923
+ ], u);
924
+ const zt = c`
925
+ /* Base styles that apply to all variants */
926
+ :host {
927
+ display: inline-block;
928
+ color: var(--ur-color-white);
929
+ }
930
+
931
+ /* Block-level display for headers */
932
+ :host([variant="header"]),
933
+ :host([variant="subheader"]) {
934
+ display: block;
935
+ }
936
+
937
+ /* Header variant - maps to h1 */
938
+ :host([variant="header"]) .text {
939
+ font-family: "AbcGravityExtended", system-ui, sans-serif;
940
+ font-size: 2.2rem;
941
+ line-height: 2.4rem;
942
+ font-weight: normal;
943
+ margin: 0;
944
+ }
945
+
946
+ /* Subheader variant - maps to h2 */
947
+ :host([variant="subheader"]) .text {
948
+ font-family: "AbcGravityExtraCondensed", system-ui, sans-serif;
949
+ font-size: 2rem; /* 32px */
950
+ /*line-height: 1.3;*/
951
+ font-weight: normal;
952
+ margin: 0;
953
+ }
954
+
955
+ /* Body variant (default) - maps to p */
956
+ :host([variant="body"]) .text,
957
+ :host(:not([variant])) .text {
958
+ font-family: var(--ur-font-family-base);
959
+ font-size: 1rem; /* 16px */
960
+ /*line-height: 1.5;*/
961
+ font-weight: normal;
962
+ margin: 0;
963
+ }
964
+
965
+ /* Small variant - maps to small */
966
+ :host([variant="small"]) .text {
967
+ font-family: var(--ur-font-family-base);
968
+ font-size: 0.875rem; /* 14px */
969
+ /*line-height: 1.4;*/
970
+ font-weight: normal;
971
+ margin: 0;
972
+ }
973
+
974
+ /* Optional: Support for custom color override */
975
+ :host([color]) .text {
976
+ color: inherit;
977
+ }
978
+
979
+ /* Optional: Support for bold text */
980
+ :host([bold]) .text {
981
+ font-weight: bold;
982
+ }
983
+
984
+ /* Optional: Support for italic text */
985
+ :host([italic]) .text {
986
+ font-style: italic;
987
+ }
988
+
989
+ /* Optional: Support for text alignment */
990
+ :host([align="left"]) .text {
991
+ text-align: left;
992
+ }
993
+ :host([align="center"]) .text {
994
+ text-align: center;
995
+ }
996
+ :host([align="right"]) .text {
997
+ text-align: right;
998
+ }
999
+ `;
1000
+ var jt = Object.defineProperty, Ft = Object.getOwnPropertyDescriptor, x = (i, t, e, o) => {
1001
+ for (var r = o > 1 ? void 0 : o ? Ft(t, e) : t, s = i.length - 1, l; s >= 0; s--)
1002
+ (l = i[s]) && (r = (o ? l(t, e, r) : l(r)) || r);
1003
+ return o && r && jt(t, e, r), r;
1004
+ };
1005
+ const Ze = ["header", "subheader", "body", "small"];
1006
+ let w = class extends p {
1007
+ constructor() {
1008
+ super(...arguments), this.variant = "body", this.bold = !1, this.italic = !1;
1009
+ }
1010
+ // Map variants to semantic HTML tags
1011
+ getElementTag() {
1012
+ switch (this.variant) {
1013
+ case "header":
1014
+ return "h1";
1015
+ case "subheader":
1016
+ return "h2";
1017
+ case "small":
1018
+ return "small";
1019
+ case "body":
1020
+ default:
1021
+ return "p";
1022
+ }
1023
+ }
1024
+ render() {
1025
+ const i = ct(this.getElementTag()), t = this.color ? `color: ${this.color};` : "";
1026
+ return pt`<${i} class="text" style="${t}"><slot></slot></${i}>`;
1027
+ }
1028
+ };
1029
+ w.styles = zt;
1030
+ x([
1031
+ n({ type: String, reflect: !0 })
1032
+ ], w.prototype, "variant", 2);
1033
+ x([
1034
+ n({ type: String })
1035
+ ], w.prototype, "color", 2);
1036
+ x([
1037
+ n({ type: Boolean, reflect: !0 })
1038
+ ], w.prototype, "bold", 2);
1039
+ x([
1040
+ n({ type: Boolean, reflect: !0 })
1041
+ ], w.prototype, "italic", 2);
1042
+ x([
1043
+ n({ type: String, reflect: !0 })
1044
+ ], w.prototype, "align", 2);
1045
+ w = x([
1046
+ d("ur-text")
1047
+ ], w);
1048
+ const It = c`
1049
+ :host {
1050
+ font-family: "PpNeueBitBold", system-ui, sans-serif;
1051
+ font-size: 1.4rem;
1052
+ }
1053
+
1054
+ button {
1055
+ all: unset;
1056
+ box-sizing: border-box;
1057
+ display: inline-flex;
1058
+ align-items: center;
1059
+ justify-content: center;
1060
+ gap: 8px;
1061
+ padding: 8px 12px;
1062
+ cursor: pointer;
1063
+ color: var(--ur-color-gray);
1064
+ }
1065
+
1066
+ button:hover {
1067
+ color: var(--ur-color-green);
1068
+ }
1069
+ `, Tt = c`
1070
+ :host {
1071
+ display: inline-block;
1072
+ width: 1em;
1073
+ height: 1em;
1074
+ }
1075
+
1076
+ svg {
1077
+ width: 100%;
1078
+ height: 100%;
1079
+ display: block;
1080
+ }
1081
+ `;
1082
+ var Ut = Object.getOwnPropertyDescriptor, Lt = (i, t, e, o) => {
1083
+ for (var r = o > 1 ? void 0 : o ? Ut(t, e) : t, s = i.length - 1, l; s >= 0; s--)
1084
+ (l = i[s]) && (r = l(r) || r);
1085
+ return r;
1086
+ };
1087
+ let L = class extends p {
1088
+ render() {
1089
+ return h`
1090
+ <svg
1091
+ xmlns="http://www.w3.org/2000/svg"
1092
+ viewBox="0 0 32 32"
1093
+ id="Interface-Essential-Navigation-Left-Circle-2--Streamline-Pixel"
1094
+ >
1095
+ <desc>
1096
+ Interface Essential Navigation Left Circle 2 Streamline Icon:
1097
+ https://streamlinehq.com
1098
+ </desc>
1099
+ <title>interface-essential-navigation-left-circle-2</title>
1100
+ <g>
1101
+ <path
1102
+ d="M30.48 12.19H32v7.62h-1.52Z"
1103
+ fill="currentColor"
1104
+ stroke-width="1"
1105
+ ></path>
1106
+ <path
1107
+ d="M28.95 19.81h1.53v3.05h-1.53Z"
1108
+ fill="currentColor"
1109
+ stroke-width="1"
1110
+ ></path>
1111
+ <path
1112
+ d="M28.95 9.14h1.53v3.05h-1.53Z"
1113
+ fill="currentColor"
1114
+ stroke-width="1"
1115
+ ></path>
1116
+ <path
1117
+ d="M27.43 22.86h1.52v3.04h-1.52Z"
1118
+ fill="currentColor"
1119
+ stroke-width="1"
1120
+ ></path>
1121
+ <path
1122
+ d="M27.43 6.09h1.52v3.05h-1.52Z"
1123
+ fill="currentColor"
1124
+ stroke-width="1"
1125
+ ></path>
1126
+ <path
1127
+ d="M25.9 25.9h1.53v1.53H25.9Z"
1128
+ fill="currentColor"
1129
+ stroke-width="1"
1130
+ ></path>
1131
+ <path
1132
+ d="M25.9 4.57h1.53v1.52H25.9Z"
1133
+ fill="currentColor"
1134
+ stroke-width="1"
1135
+ ></path>
1136
+ <path
1137
+ d="M22.86 27.43h3.04v1.52h-3.04Z"
1138
+ fill="currentColor"
1139
+ stroke-width="1"
1140
+ ></path>
1141
+ <path
1142
+ d="m24.38 12.19 -1.52 0 0 -1.52 -9.15 0 0 -3.05 -1.52 0 0 1.52 -1.52 0 0 1.53 -1.53 0 0 1.52 -1.52 0 0 1.52 -1.53 0 0 1.53 1.53 0 0 1.52 1.52 0 0 1.53 1.53 0 0 1.52 1.52 0 0 1.52 1.52 0 0 -3.04 6.1 0 0 1.52 1.52 0 0 1.52 -1.52 0 0 1.53 -1.52 0 0 1.52 3.04 0 0 -1.52 3.05 0 0 -1.53 1.52 0 0 -7.62 -1.52 0 0 -1.52z"
1143
+ fill="currentColor"
1144
+ stroke-width="1"
1145
+ ></path>
1146
+ <path
1147
+ d="M22.86 3.05h3.04v1.52h-3.04Z"
1148
+ fill="currentColor"
1149
+ stroke-width="1"
1150
+ ></path>
1151
+ <path
1152
+ d="M19.81 28.95h3.05v1.53h-3.05Z"
1153
+ fill="currentColor"
1154
+ stroke-width="1"
1155
+ ></path>
1156
+ <path
1157
+ d="M19.81 1.52h3.05v1.53h-3.05Z"
1158
+ fill="currentColor"
1159
+ stroke-width="1"
1160
+ ></path>
1161
+ <path
1162
+ d="M12.19 30.48h7.62V32h-7.62Z"
1163
+ fill="currentColor"
1164
+ stroke-width="1"
1165
+ ></path>
1166
+ <path
1167
+ d="M12.19 0h7.62v1.52h-7.62Z"
1168
+ fill="currentColor"
1169
+ stroke-width="1"
1170
+ ></path>
1171
+ <path
1172
+ d="M9.14 28.95h3.05v1.53H9.14Z"
1173
+ fill="currentColor"
1174
+ stroke-width="1"
1175
+ ></path>
1176
+ <path
1177
+ d="M9.14 1.52h3.05v1.53H9.14Z"
1178
+ fill="currentColor"
1179
+ stroke-width="1"
1180
+ ></path>
1181
+ <path
1182
+ d="M6.09 27.43h3.05v1.52H6.09Z"
1183
+ fill="currentColor"
1184
+ stroke-width="1"
1185
+ ></path>
1186
+ <path
1187
+ d="M6.09 3.05h3.05v1.52H6.09Z"
1188
+ fill="currentColor"
1189
+ stroke-width="1"
1190
+ ></path>
1191
+ <path
1192
+ d="M4.57 25.9h1.52v1.53H4.57Z"
1193
+ fill="currentColor"
1194
+ stroke-width="1"
1195
+ ></path>
1196
+ <path
1197
+ d="M4.57 4.57h1.52v1.52H4.57Z"
1198
+ fill="currentColor"
1199
+ stroke-width="1"
1200
+ ></path>
1201
+ <path
1202
+ d="M3.05 22.86h1.52v3.04H3.05Z"
1203
+ fill="currentColor"
1204
+ stroke-width="1"
1205
+ ></path>
1206
+ <path
1207
+ d="M3.05 6.09h1.52v3.05H3.05Z"
1208
+ fill="currentColor"
1209
+ stroke-width="1"
1210
+ ></path>
1211
+ <path
1212
+ d="M1.52 19.81h1.53v3.05H1.52Z"
1213
+ fill="currentColor"
1214
+ stroke-width="1"
1215
+ ></path>
1216
+ <path
1217
+ d="M1.52 9.14h1.53v3.05H1.52Z"
1218
+ fill="currentColor"
1219
+ stroke-width="1"
1220
+ ></path>
1221
+ <path
1222
+ d="M0 12.19h1.52v7.62H0Z"
1223
+ fill="currentColor"
1224
+ stroke-width="1"
1225
+ ></path>
1226
+ </g>
1227
+ </svg>
1228
+ `;
1229
+ }
1230
+ };
1231
+ L.styles = Tt;
1232
+ L = Lt([
1233
+ d("ur-icon-back")
1234
+ ], L);
1235
+ var Nt = Object.defineProperty, Rt = Object.getOwnPropertyDescriptor, G = (i, t, e, o) => {
1236
+ for (var r = o > 1 ? void 0 : o ? Rt(t, e) : t, s = i.length - 1, l; s >= 0; s--)
1237
+ (l = i[s]) && (r = (o ? l(t, e, r) : l(r)) || r);
1238
+ return o && r && Nt(t, e, r), r;
1239
+ };
1240
+ let Z = class extends p {
1241
+ constructor() {
1242
+ super(...arguments), this.label = "Back";
1243
+ }
1244
+ _handleClick(i) {
1245
+ this.onClick && this.onClick(i);
1246
+ }
1247
+ render() {
1248
+ return h`
1249
+ <button @click=${this._handleClick}>
1250
+ <ur-icon-back></ur-icon-back>
1251
+ <span style="padding-top: 0.125rem"> ${this.label} </span>
1252
+ </button>
1253
+ `;
1254
+ }
1255
+ };
1256
+ Z.styles = It;
1257
+ G([
1258
+ n({ type: Function })
1259
+ ], Z.prototype, "onClick", 2);
1260
+ G([
1261
+ n({ type: String })
1262
+ ], Z.prototype, "label", 2);
1263
+ Z = G([
1264
+ d("ur-back-button")
1265
+ ], Z);
1266
+ const qt = c`
1267
+ :host {
1268
+ display: list-item;
1269
+ width: 100%;
1270
+ box-sizing: border-box;
1271
+ }
1272
+
1273
+ .location-list-item {
1274
+ display: flex;
1275
+ align-items: center;
1276
+ justify-content: space-between;
1277
+ width: 100%;
1278
+ box-sizing: border-box;
1279
+ padding: var(--ur-space-sm) var(--ur-space-md);
1280
+ cursor: pointer;
1281
+ transition: background-color 0.15s;
1282
+ }
1283
+
1284
+ :host(:not(:first-child)) .location-list-item {
1285
+ border-top: 1px solid var(--ur-color-border);
1286
+ }
1287
+
1288
+ .location-list-item:hover {
1289
+ background-color: color-mix(
1290
+ in srgb,
1291
+ var(--ur-color-black, #101010),
1292
+ #fff 2%
1293
+ );
1294
+ }
1295
+
1296
+ .leading-list-item-content {
1297
+ display: flex;
1298
+ align-items: center;
1299
+ /*flex-flow: column;*/
1300
+ }
1301
+
1302
+ .location-text-content {
1303
+ display: flex;
1304
+ flex-flow: column;
1305
+ align-items: start;
1306
+ }
1307
+
1308
+ .color-circle {
1309
+ width: 1.6rem;
1310
+ height: 1.6rem;
1311
+ border-radius: 50%;
1312
+ margin-right: var(--ur-space-sm);
1313
+ }
1314
+ `, O = c`
1315
+ :host {
1316
+ display: inline-block;
1317
+ }
1318
+
1319
+ svg {
1320
+ width: 100%;
1321
+ height: 100%;
1322
+ display: block;
1323
+ }
1324
+ `, Vt = c`
1325
+ :host {
1326
+ width: 1.2em;
1327
+ height: 1.2em;
1328
+ }
1329
+
1330
+ svg {
1331
+ color: var(--ur-color-yellow-light);
1332
+ }
1333
+ `;
1334
+ var Kt = Object.defineProperty, Wt = Object.getOwnPropertyDescriptor, it = (i, t, e, o) => {
1335
+ for (var r = o > 1 ? void 0 : o ? Wt(t, e) : t, s = i.length - 1, l; s >= 0; s--)
1336
+ (l = i[s]) && (r = (o ? l(t, e, r) : l(r)) || r);
1337
+ return o && r && Kt(t, e, r), r;
1338
+ };
1339
+ let A = class extends p {
1340
+ render() {
1341
+ return h`
1342
+ <svg
1343
+ xmlns="http://www.w3.org/2000/svg"
1344
+ viewBox="0 0 32 32"
1345
+ id="Internet-Network-Cloud-Error--Streamline-Pixel"
1346
+ aria-hidden=${this.title ? "false" : "true"}
1347
+ role=${this.title ? "img" : "presentation"}
1348
+ >
1349
+ ${this.title ? h`<title>${this.title}</title>` : ""}
1350
+ <desc>
1351
+ Internet Network Cloud Error Streamline Icon: https://streamlinehq.com
1352
+ </desc>
1353
+ <title>internet-network-cloud-error</title>
1354
+ <g>
1355
+ <path
1356
+ d="M30.47 16.005H32v6.09h-1.53Z"
1357
+ fill="currentColor"
1358
+ stroke-width="1"
1359
+ ></path>
1360
+ <path
1361
+ d="M28.95 22.095h1.52v1.53h-1.52Z"
1362
+ fill="currentColor"
1363
+ stroke-width="1"
1364
+ ></path>
1365
+ <path
1366
+ d="M28.95 14.475h1.52v1.53h-1.52Z"
1367
+ fill="currentColor"
1368
+ stroke-width="1"
1369
+ ></path>
1370
+ <path
1371
+ d="M27.43 23.625h1.52v1.52h-1.52Z"
1372
+ fill="currentColor"
1373
+ stroke-width="1"
1374
+ ></path>
1375
+ <path
1376
+ d="M27.43 12.955h1.52v1.52h-1.52Z"
1377
+ fill="currentColor"
1378
+ stroke-width="1"
1379
+ ></path>
1380
+ <path
1381
+ d="M3.05 25.145h24.38v1.52H3.05Z"
1382
+ fill="currentColor"
1383
+ stroke-width="1"
1384
+ ></path>
1385
+ <path
1386
+ d="M24.38 11.435h3.05v1.52h-3.05Z"
1387
+ fill="currentColor"
1388
+ stroke-width="1"
1389
+ ></path>
1390
+ <path
1391
+ d="M22.85 9.905h1.53v1.53h-1.53Z"
1392
+ fill="currentColor"
1393
+ stroke-width="1"
1394
+ ></path>
1395
+ <path
1396
+ d="M21.33 17.525h1.52v1.52h-1.52Z"
1397
+ fill="currentColor"
1398
+ stroke-width="1"
1399
+ ></path>
1400
+ <path
1401
+ d="M21.33 14.475h1.52v1.53h-1.52Z"
1402
+ fill="currentColor"
1403
+ stroke-width="1"
1404
+ ></path>
1405
+ <path
1406
+ d="M21.33 8.385h1.52v1.52h-1.52Z"
1407
+ fill="currentColor"
1408
+ stroke-width="1"
1409
+ ></path>
1410
+ <path
1411
+ d="M19.81 16.005h1.52v1.52h-1.52Z"
1412
+ fill="currentColor"
1413
+ stroke-width="1"
1414
+ ></path>
1415
+ <path
1416
+ d="M18.28 17.525h1.53v1.52h-1.53Z"
1417
+ fill="currentColor"
1418
+ stroke-width="1"
1419
+ ></path>
1420
+ <path
1421
+ d="M18.28 14.475h1.53v1.53h-1.53Z"
1422
+ fill="currentColor"
1423
+ stroke-width="1"
1424
+ ></path>
1425
+ <path
1426
+ d="M18.28 6.855h3.05v1.53h-3.05Z"
1427
+ fill="currentColor"
1428
+ stroke-width="1"
1429
+ ></path>
1430
+ <path
1431
+ d="m13.71 22.095 3.05 0 0 1.53 3.05 0 0 -3.05 -6.1 0 0 1.52z"
1432
+ fill="currentColor"
1433
+ stroke-width="1"
1434
+ ></path>
1435
+ <path
1436
+ d="M13.71 5.335h4.57v1.52h-4.57Z"
1437
+ fill="currentColor"
1438
+ stroke-width="1"
1439
+ ></path>
1440
+ <path
1441
+ d="M12.19 17.525h1.52v1.52h-1.52Z"
1442
+ fill="currentColor"
1443
+ stroke-width="1"
1444
+ ></path>
1445
+ <path
1446
+ d="M12.19 14.475h1.52v1.53h-1.52Z"
1447
+ fill="currentColor"
1448
+ stroke-width="1"
1449
+ ></path>
1450
+ <path
1451
+ d="M10.66 6.855h3.05v1.53h-3.05Z"
1452
+ fill="currentColor"
1453
+ stroke-width="1"
1454
+ ></path>
1455
+ <path
1456
+ d="M10.66 16.005h1.53v1.52h-1.53Z"
1457
+ fill="currentColor"
1458
+ stroke-width="1"
1459
+ ></path>
1460
+ <path
1461
+ d="M9.14 17.525h1.52v1.52H9.14Z"
1462
+ fill="currentColor"
1463
+ stroke-width="1"
1464
+ ></path>
1465
+ <path
1466
+ d="M9.14 14.475h1.52v1.53H9.14Z"
1467
+ fill="currentColor"
1468
+ stroke-width="1"
1469
+ ></path>
1470
+ <path
1471
+ d="M9.14 8.385h1.52v1.52H9.14Z"
1472
+ fill="currentColor"
1473
+ stroke-width="1"
1474
+ ></path>
1475
+ <path
1476
+ d="M7.62 9.905h1.52v3.05H7.62Z"
1477
+ fill="currentColor"
1478
+ stroke-width="1"
1479
+ ></path>
1480
+ <path
1481
+ d="M3.05 12.955h4.57v1.52H3.05Z"
1482
+ fill="currentColor"
1483
+ stroke-width="1"
1484
+ ></path>
1485
+ <path
1486
+ d="M1.52 23.625h1.53v1.52H1.52Z"
1487
+ fill="currentColor"
1488
+ stroke-width="1"
1489
+ ></path>
1490
+ <path
1491
+ d="M1.52 14.475h1.53v1.53H1.52Z"
1492
+ fill="currentColor"
1493
+ stroke-width="1"
1494
+ ></path>
1495
+ <path
1496
+ d="M0 16.005h1.52v7.62H0Z"
1497
+ fill="currentColor"
1498
+ stroke-width="1"
1499
+ ></path>
1500
+ </g>
1501
+ </svg>
1502
+ `;
1503
+ }
1504
+ };
1505
+ A.styles = [O, Vt];
1506
+ it([
1507
+ n({ type: String })
1508
+ ], A.prototype, "iconTitle", 2);
1509
+ A = it([
1510
+ d("ur-icon-network-instability")
1511
+ ], A);
1512
+ const Gt = c`
1513
+ :host {
1514
+ width: 1.2em;
1515
+ height: 1.2em;
1516
+ }
1517
+
1518
+ svg {
1519
+ color: var(--ur-color-green);
1520
+ }
1521
+ `;
1522
+ var Jt = Object.defineProperty, Xt = Object.getOwnPropertyDescriptor, st = (i, t, e, o) => {
1523
+ for (var r = o > 1 ? void 0 : o ? Xt(t, e) : t, s = i.length - 1, l; s >= 0; s--)
1524
+ (l = i[s]) && (r = (o ? l(t, e, r) : l(r)) || r);
1525
+ return o && r && Jt(t, e, r), r;
1526
+ };
1527
+ let z = class extends p {
1528
+ render() {
1529
+ return h`
1530
+ <svg
1531
+ xmlns="http://www.w3.org/2000/svg"
1532
+ viewBox="0 0 32 32"
1533
+ id="Interface-Essential-Lock-Shield--Streamline-Pixel"
1534
+ aria-hidden=${this.title ? "false" : "true"}
1535
+ role=${this.title ? "img" : "presentation"}
1536
+ >
1537
+ ${this.title ? h`<title>${this.title}</title>` : ""}
1538
+ <desc>
1539
+ Interface Essential Lock Shield Streamline Icon:
1540
+ https://streamlinehq.com
1541
+ </desc>
1542
+ <title>interface-essential-lock-shield</title>
1543
+ <g>
1544
+ <path
1545
+ d="M27.425 4.57h1.53v16.76h-1.53Z"
1546
+ fill="currentColor"
1547
+ stroke-width="1"
1548
+ ></path>
1549
+ <path
1550
+ d="M25.905 21.33h1.52v3.05h-1.52Z"
1551
+ fill="currentColor"
1552
+ stroke-width="1"
1553
+ ></path>
1554
+ <path
1555
+ d="M24.385 24.38h1.52v1.53h-1.52Z"
1556
+ fill="currentColor"
1557
+ stroke-width="1"
1558
+ ></path>
1559
+ <path
1560
+ d="M24.385 3.05h3.04v1.52h-3.04Z"
1561
+ fill="currentColor"
1562
+ stroke-width="1"
1563
+ ></path>
1564
+ <path
1565
+ d="M22.855 25.91h1.53v1.52h-1.53Z"
1566
+ fill="currentColor"
1567
+ stroke-width="1"
1568
+ ></path>
1569
+ <path
1570
+ d="M22.855 13.71h1.53v9.15h-1.53Z"
1571
+ fill="currentColor"
1572
+ stroke-width="1"
1573
+ ></path>
1574
+ <path
1575
+ d="M21.335 27.43h1.52v1.52h-1.52Z"
1576
+ fill="currentColor"
1577
+ stroke-width="1"
1578
+ ></path>
1579
+ <path
1580
+ d="M21.335 22.86h1.52v1.52h-1.52Z"
1581
+ fill="currentColor"
1582
+ stroke-width="1"
1583
+ ></path>
1584
+ <path
1585
+ d="M21.335 1.52h3.05v1.53h-3.05Z"
1586
+ fill="currentColor"
1587
+ stroke-width="1"
1588
+ ></path>
1589
+ <path
1590
+ d="M18.285 28.95h3.05v1.53h-3.05Z"
1591
+ fill="currentColor"
1592
+ stroke-width="1"
1593
+ ></path>
1594
+ <path
1595
+ d="M10.665 24.38h10.67v1.53h-10.67Z"
1596
+ fill="currentColor"
1597
+ stroke-width="1"
1598
+ ></path>
1599
+ <path
1600
+ d="m18.285 18.29 -1.52 0 0 -1.53 -1.53 0 0 -1.52 -1.52 0 0 1.52 -1.52 0 0 3.05 1.52 0 0 1.52 1.52 0 0 1.53 1.53 0 0 -1.53 1.52 0 0 -1.52 1.53 0 0 -3.05 -1.53 0 0 1.53z"
1601
+ fill="currentColor"
1602
+ stroke-width="1"
1603
+ ></path>
1604
+ <path
1605
+ d="M18.285 4.57h1.53V6.1h-1.53Z"
1606
+ fill="currentColor"
1607
+ stroke-width="1"
1608
+ ></path>
1609
+ <path
1610
+ d="M16.765 15.24h1.52v1.52h-1.52Z"
1611
+ fill="currentColor"
1612
+ stroke-width="1"
1613
+ ></path>
1614
+ <path
1615
+ d="M13.715 30.48h4.57V32h-4.57Z"
1616
+ fill="currentColor"
1617
+ stroke-width="1"
1618
+ ></path>
1619
+ <path
1620
+ d="M13.715 3.05h4.57v1.52h-4.57Z"
1621
+ fill="currentColor"
1622
+ stroke-width="1"
1623
+ ></path>
1624
+ <path
1625
+ d="M10.665 28.95h3.05v1.53h-3.05Z"
1626
+ fill="currentColor"
1627
+ stroke-width="1"
1628
+ ></path>
1629
+ <path
1630
+ d="M12.195 4.57h1.52V6.1h-1.52Z"
1631
+ fill="currentColor"
1632
+ stroke-width="1"
1633
+ ></path>
1634
+ <path
1635
+ d="M10.665 0h10.67v1.52h-10.67Z"
1636
+ fill="currentColor"
1637
+ stroke-width="1"
1638
+ ></path>
1639
+ <path
1640
+ d="m22.855 13.71 0 -1.52 -1.52 0 0 -6.09 -1.52 0 0 6.09 -7.62 0 0 -6.09 -1.53 0 0 6.09 -1.52 0 0 1.52 13.71 0z"
1641
+ fill="currentColor"
1642
+ stroke-width="1"
1643
+ ></path>
1644
+ <path
1645
+ d="M9.145 27.43h1.52v1.52h-1.52Z"
1646
+ fill="currentColor"
1647
+ stroke-width="1"
1648
+ ></path>
1649
+ <path
1650
+ d="M9.145 22.86h1.52v1.52h-1.52Z"
1651
+ fill="currentColor"
1652
+ stroke-width="1"
1653
+ ></path>
1654
+ <path
1655
+ d="M7.625 1.52h3.04v1.53h-3.04Z"
1656
+ fill="currentColor"
1657
+ stroke-width="1"
1658
+ ></path>
1659
+ <path
1660
+ d="M7.625 25.91h1.52v1.52h-1.52Z"
1661
+ fill="currentColor"
1662
+ stroke-width="1"
1663
+ ></path>
1664
+ <path
1665
+ d="M7.625 13.71h1.52v9.15h-1.52Z"
1666
+ fill="currentColor"
1667
+ stroke-width="1"
1668
+ ></path>
1669
+ <path
1670
+ d="M6.095 24.38h1.53v1.53h-1.53Z"
1671
+ fill="currentColor"
1672
+ stroke-width="1"
1673
+ ></path>
1674
+ <path
1675
+ d="M4.575 3.05h3.05v1.52h-3.05Z"
1676
+ fill="currentColor"
1677
+ stroke-width="1"
1678
+ ></path>
1679
+ <path
1680
+ d="M4.575 21.33h1.52v3.05h-1.52Z"
1681
+ fill="currentColor"
1682
+ stroke-width="1"
1683
+ ></path>
1684
+ <path
1685
+ d="M3.045 4.57h1.53v16.76h-1.53Z"
1686
+ fill="currentColor"
1687
+ stroke-width="1"
1688
+ ></path>
1689
+ </g>
1690
+ </svg>
1691
+ `;
1692
+ }
1693
+ };
1694
+ z.styles = [O, Gt];
1695
+ st([
1696
+ n({ type: String })
1697
+ ], z.prototype, "iconTitle", 2);
1698
+ z = st([
1699
+ d("ur-icon-privacy")
1700
+ ], z);
1701
+ const S = {
1702
+ is: "639A88",
1703
+ ee: "78C0E0",
1704
+ ca: "449DD1",
1705
+ de: "663F46",
1706
+ au: "F29E4C",
1707
+ us: "BAC5B3",
1708
+ gb: "F1789B",
1709
+ jp: "CC3363",
1710
+ ie: "7EE081",
1711
+ fi: "F56E48",
1712
+ nl: "F56E48",
1713
+ se: "A4C4F4",
1714
+ fr: "A864DC",
1715
+ it: "F9F871",
1716
+ dk: "D6E6F4",
1717
+ no: "BCE5DC",
1718
+ be: "9B4A91",
1719
+ at: "FFCB68",
1720
+ ch: "FFABA0",
1721
+ nz: "008A64",
1722
+ pt: "248C89",
1723
+ es: "B41F43",
1724
+ lv: "EEE8A9",
1725
+ lt: "8179E0",
1726
+ cz: "99E8CE",
1727
+ si: "FF6C58",
1728
+ sk: "87FB67",
1729
+ pl: "D38B5D",
1730
+ hu: "FF8484",
1731
+ hr: "99B2DD",
1732
+ ro: "C6362F",
1733
+ bg: "A1CDF4",
1734
+ gr: "C874D9",
1735
+ cy: "E1BBC9",
1736
+ mt: "FFC43D",
1737
+ il: "A9E4EF",
1738
+ za: "F2B79F",
1739
+ ar: "8E8DBE",
1740
+ br: "DCD6F7",
1741
+ cl: "FA824C",
1742
+ cr: "E07A5F",
1743
+ uy: "7FDEFF",
1744
+ jm: "7B886F",
1745
+ tt: "0072BB",
1746
+ gh: "1098F7",
1747
+ ke: "F2EDEB",
1748
+ ng: "64113F",
1749
+ tn: "6B4D57",
1750
+ sn: "596869",
1751
+ na: "813405",
1752
+ bw: "D45113",
1753
+ mu: "60E1E0",
1754
+ mg: "F25D72",
1755
+ in: "F2E2D2",
1756
+ kr: "C320D9",
1757
+ tw: "E6EA23",
1758
+ my: "3A1772",
1759
+ ph: "B4CEB3",
1760
+ id: "586189",
1761
+ mn: "A6A57A",
1762
+ ge: "679436",
1763
+ am: "F2B5D4",
1764
+ ua: "00F28D",
1765
+ md: "7F675B",
1766
+ me: "E5FFDE",
1767
+ rs: "FF495C",
1768
+ al: "E4B363"
1769
+ };
1770
+ function tt(i) {
1771
+ const t = i.replace("#", ""), e = parseInt(t, 16);
1772
+ return [e >> 16 & 255, e >> 8 & 255, e & 255];
1773
+ }
1774
+ function Yt(i, t, e) {
1775
+ return "#" + [i, t, e].map((o) => {
1776
+ const r = o.toString(16);
1777
+ return r.length === 1 ? "0" + r : r;
1778
+ }).join("");
1779
+ }
1780
+ function Qt(i) {
1781
+ let t = 0;
1782
+ for (let e = 0; e < i.length; e++) {
1783
+ const o = i.charCodeAt(e);
1784
+ t = (t << 5) - t + o, t = t & t;
1785
+ }
1786
+ return Math.abs(t);
1787
+ }
1788
+ function et(i, t) {
1789
+ return t === 0 ? 0 : (Qt(i) & 255) % t;
1790
+ }
1791
+ function te(i, t) {
1792
+ const [e, o, r] = tt(i), [s, l, a] = tt(t), v = Math.round((e + s) / 2), B = Math.round((o + l) / 2), ht = Math.round((r + a) / 2);
1793
+ return Yt(v, B, ht);
1794
+ }
1795
+ function lt(i) {
1796
+ const t = i.toLowerCase();
1797
+ if (S[t])
1798
+ return "#" + S[t];
1799
+ const e = Object.keys(S).sort(), o = et(t, e.length), r = et(t + "salt", e.length), s = S[e[o]], l = S[e[r]];
1800
+ return te(s, l);
1801
+ }
1802
+ var ee = Object.defineProperty, re = Object.getOwnPropertyDescriptor, k = (i, t, e, o) => {
1803
+ for (var r = o > 1 ? void 0 : o ? re(t, e) : t, s = i.length - 1, l; s >= 0; s--)
1804
+ (l = i[s]) && (r = (o ? l(t, e, r) : l(r)) || r);
1805
+ return o && r && ee(t, e, r), r;
1806
+ };
1807
+ let g = class extends p {
1808
+ constructor() {
1809
+ super(...arguments), this.name = "", this.providerCount = 0, this.unstable = !1, this.strongPrivacy = !1;
1810
+ }
1811
+ formatNumber(i) {
1812
+ return i.toLocaleString("en-US");
1813
+ }
1814
+ render() {
1815
+ const i = this.locationKey ? lt(this.locationKey) : "#000000";
1816
+ return h`
1817
+ <div class="location-list-item" @click=${this.onClick}>
1818
+ <div class="leading-list-item-content">
1819
+ <!-- color circle -->
1820
+ <div class="color-circle" style="background-color: ${i}"></div>
1821
+
1822
+ <div class="location-text-content">
1823
+ <ur-text variant="body">${this.name}</ur-text>
1824
+ <ur-text variant="small" color="var(--ur-color-gray)">
1825
+ ${this.formatNumber(this.providerCount)}
1826
+ provider${this.providerCount === 1 ? "" : "s"}
1827
+ </ur-text>
1828
+ </div>
1829
+ </div>
1830
+
1831
+ <div class="trailing-list-item-content">
1832
+ ${this.unstable ? h`
1833
+ <ur-icon-network-instability
1834
+ title="This location has network instability"
1835
+ ></ur-icon-network-instability>
1836
+ ` : null}
1837
+ ${this.strongPrivacy ? h`
1838
+ <ur-icon-privacy
1839
+ style="margin-left: 0.5rem;"
1840
+ title="This location offers strong privacy features"
1841
+ ></ur-icon-privacy>
1842
+ ` : null}
1843
+ </div>
1844
+ </div>
1845
+ `;
1846
+ }
1847
+ };
1848
+ g.styles = qt;
1849
+ k([
1850
+ n({ type: String })
1851
+ ], g.prototype, "locationKey", 2);
1852
+ k([
1853
+ n({ type: String })
1854
+ ], g.prototype, "name", 2);
1855
+ k([
1856
+ n({ type: Number })
1857
+ ], g.prototype, "providerCount", 2);
1858
+ k([
1859
+ n({ type: Boolean })
1860
+ ], g.prototype, "unstable", 2);
1861
+ k([
1862
+ n({ type: Boolean })
1863
+ ], g.prototype, "strongPrivacy", 2);
1864
+ k([
1865
+ n({ type: Function })
1866
+ ], g.prototype, "onClick", 2);
1867
+ g = k([
1868
+ d("ur-location-list-item")
1869
+ ], g);
1870
+ const oe = c`
1871
+ :host {
1872
+ width: 1.6em;
1873
+ height: 1.6em;
1874
+ }
1875
+
1876
+ svg {
1877
+ color: var(--ur-color-gray-dark);
1878
+ transform-origin: center;
1879
+ animation: loading-step 1s steps(8, end) infinite;
1880
+ }
1881
+
1882
+ @keyframes loading-step {
1883
+ from {
1884
+ transform: rotate(0deg);
1885
+ }
1886
+ to {
1887
+ transform: rotate(360deg);
1888
+ }
1889
+ }
1890
+ `;
1891
+ var ie = Object.defineProperty, se = Object.getOwnPropertyDescriptor, nt = (i, t, e, o) => {
1892
+ for (var r = o > 1 ? void 0 : o ? se(t, e) : t, s = i.length - 1, l; s >= 0; s--)
1893
+ (l = i[s]) && (r = (o ? l(t, e, r) : l(r)) || r);
1894
+ return o && r && ie(t, e, r), r;
1895
+ };
1896
+ let j = class extends p {
1897
+ render() {
1898
+ return h`
1899
+ <svg
1900
+ xmlns="http://www.w3.org/2000/svg"
1901
+ viewBox="0 0 32 32"
1902
+ id="Interface-Essential-Loading-Circle-2--Streamline-Pixel"
1903
+ >
1904
+ <desc>
1905
+ Interface Essential Loading Circle 2 Streamline Icon:
1906
+ https://streamlinehq.com
1907
+ </desc>
1908
+ <title>interface-essential-loading-circle-2</title>
1909
+ <g>
1910
+ <path
1911
+ d="m30.47 16.76 -3.05 0 0 -3.05 3.05 0 0 -1.52 -4.57 0 0 1.52 -1.52 0 0 4.58 1.52 0 0 1.52 4.57 0 0 -1.52 1.53 0 0 -4.58 -1.53 0 0 3.05z"
1912
+ fill="currentColor"
1913
+ stroke-width="1"
1914
+ ></path>
1915
+ <path
1916
+ d="M27.42 22.86h1.53v4.57h-1.53Z"
1917
+ fill="currentColor"
1918
+ stroke-width="1"
1919
+ ></path>
1920
+ <path
1921
+ d="m22.85 21.33 0 1.53 -1.52 0 0 4.57 1.52 0 0 1.52 4.57 0 0 -1.52 -3.04 0 0 -4.57 3.04 0 0 -1.53 -4.57 0z"
1922
+ fill="currentColor"
1923
+ stroke-width="1"
1924
+ ></path>
1925
+ <path
1926
+ d="m27.42 10.67 0 -1.53 1.53 0 0 -4.57 -1.53 0 0 3.05 -1.52 0 0 -1.53 -1.52 0 0 -1.52 3.04 0 0 -1.52 -4.57 0 0 1.52 -1.52 0 0 4.57 1.52 0 0 1.53 4.57 0z"
1927
+ fill="currentColor"
1928
+ stroke-width="1"
1929
+ ></path>
1930
+ <path
1931
+ d="M18.28 25.9h1.52v4.58h-1.52Z"
1932
+ fill="currentColor"
1933
+ stroke-width="1"
1934
+ ></path>
1935
+ <path
1936
+ d="m19.8 1.52 -1.52 0 0 -1.52 -4.57 0 0 1.52 -1.52 0 0 4.57 1.52 0 0 1.53 4.57 0 0 -1.53 1.52 0 0 -4.57z"
1937
+ fill="currentColor"
1938
+ stroke-width="1"
1939
+ ></path>
1940
+ <path
1941
+ d="M13.71 30.48h4.57V32h-4.57Z"
1942
+ fill="currentColor"
1943
+ stroke-width="1"
1944
+ ></path>
1945
+ <path
1946
+ d="M13.71 24.38h4.57v1.52h-4.57Z"
1947
+ fill="currentColor"
1948
+ stroke-width="1"
1949
+ ></path>
1950
+ <path
1951
+ d="M12.19 25.9h1.52v4.58h-1.52Z"
1952
+ fill="currentColor"
1953
+ stroke-width="1"
1954
+ ></path>
1955
+ <path
1956
+ d="m9.14 28.95 0 -1.52 1.52 0 0 -4.57 -1.52 0 0 -1.53 -4.57 0 0 1.53 3.04 0 0 4.57 -3.04 0 0 1.52 4.57 0z"
1957
+ fill="currentColor"
1958
+ stroke-width="1"
1959
+ ></path>
1960
+ <path
1961
+ d="m10.66 4.57 -1.52 0 0 -1.52 -4.57 0 0 1.52 3.04 0 0 1.52 -1.52 0 0 1.53 -1.52 0 0 -3.05 -1.53 0 0 4.57 1.53 0 0 1.53 4.57 0 0 -1.53 1.52 0 0 -4.57z"
1962
+ fill="currentColor"
1963
+ stroke-width="1"
1964
+ ></path>
1965
+ <path
1966
+ d="M3.04 22.86h1.53v4.57H3.04Z"
1967
+ fill="currentColor"
1968
+ stroke-width="1"
1969
+ ></path>
1970
+ <path
1971
+ d="m1.52 19.81 4.57 0 0 -1.52 1.52 0 0 -4.58 -1.52 0 0 -1.52 -4.57 0 0 1.52 3.05 0 0 3.05 -3.05 0 0 -3.05 -1.52 0 0 4.58 1.52 0 0 1.52z"
1972
+ fill="currentColor"
1973
+ stroke-width="1"
1974
+ ></path>
1975
+ </g>
1976
+ </svg>
1977
+ `;
1978
+ }
1979
+ };
1980
+ j.styles = [O, oe];
1981
+ nt([
1982
+ n({ type: String })
1983
+ ], j.prototype, "iconTitle", 2);
1984
+ j = nt([
1985
+ d("ur-icon-spinner")
1986
+ ], j);
1987
+ const le = c`
1988
+ :host {
1989
+ width: 1.2em;
1990
+ height: 1.2em;
1991
+ }
1992
+
1993
+ svg {
1994
+ color: var(--ur-color-gray-dark);
1995
+ }
1996
+
1997
+ svg:hover {
1998
+ color: var(--ur-color-green);
1999
+ }
2000
+ `;
2001
+ var ne = Object.getOwnPropertyDescriptor, ae = (i, t, e, o) => {
2002
+ for (var r = o > 1 ? void 0 : o ? ne(t, e) : t, s = i.length - 1, l; s >= 0; s--)
2003
+ (l = i[s]) && (r = l(r) || r);
2004
+ return r;
2005
+ };
2006
+ let N = class extends p {
2007
+ render() {
2008
+ return h`
2009
+ <svg
2010
+ xmlns="http://www.w3.org/2000/svg"
2011
+ viewBox="0 0 32 32"
2012
+ id="Interface-Essential-Navigation-Menu-3--Streamline-Pixel"
2013
+ >
2014
+ <desc>
2015
+ Interface Essential Navigation Menu 3 Streamline Icon:
2016
+ https://streamlinehq.com
2017
+ </desc>
2018
+ <title>interface-essential-navigation-menu-3</title>
2019
+ <g>
2020
+ <path
2021
+ d="M29.71 3.81h1.53v24.38h-1.53Z"
2022
+ fill="currentColor"
2023
+ stroke-width="1"
2024
+ ></path>
2025
+ <path
2026
+ d="M28.19 28.19h1.52v1.52h-1.52Z"
2027
+ fill="currentColor"
2028
+ stroke-width="1"
2029
+ ></path>
2030
+ <path
2031
+ d="M28.19 2.28h1.52v1.53h-1.52Z"
2032
+ fill="currentColor"
2033
+ stroke-width="1"
2034
+ ></path>
2035
+ <path
2036
+ d="M3.81 29.71h24.38v1.53H3.81Z"
2037
+ fill="currentColor"
2038
+ stroke-width="1"
2039
+ ></path>
2040
+ <path
2041
+ d="m25.14 20.57 -18.28 0 0 1.52 -1.53 0 0 3.05 1.53 0 0 -1.52 18.28 0 0 1.52 1.53 0 0 -3.05 -1.53 0 0 -1.52z"
2042
+ fill="currentColor"
2043
+ stroke-width="1"
2044
+ ></path>
2045
+ <path
2046
+ d="m25.14 12.95 -18.28 0 0 1.52 -1.53 0 0 3.05 1.53 0 0 -1.52 18.28 0 0 1.52 1.53 0 0 -3.05 -1.53 0 0 -1.52z"
2047
+ fill="currentColor"
2048
+ stroke-width="1"
2049
+ ></path>
2050
+ <path
2051
+ d="m25.14 5.33 -18.28 0 0 1.52 -1.53 0 0 3.05 1.53 0 0 -1.52 18.28 0 0 1.52 1.53 0 0 -3.05 -1.53 0 0 -1.52z"
2052
+ fill="currentColor"
2053
+ stroke-width="1"
2054
+ ></path>
2055
+ <path
2056
+ d="M6.86 25.14h18.28v1.52H6.86Z"
2057
+ fill="currentColor"
2058
+ stroke-width="1"
2059
+ ></path>
2060
+ <path
2061
+ d="M6.86 17.52h18.28v1.52H6.86Z"
2062
+ fill="currentColor"
2063
+ stroke-width="1"
2064
+ ></path>
2065
+ <path
2066
+ d="M6.86 9.9h18.28v1.53H6.86Z"
2067
+ fill="currentColor"
2068
+ stroke-width="1"
2069
+ ></path>
2070
+ <path
2071
+ d="M3.81 0.76h24.38v1.52H3.81Z"
2072
+ fill="currentColor"
2073
+ stroke-width="1"
2074
+ ></path>
2075
+ <path
2076
+ d="M2.29 28.19h1.52v1.52H2.29Z"
2077
+ fill="currentColor"
2078
+ stroke-width="1"
2079
+ ></path>
2080
+ <path
2081
+ d="M2.29 2.28h1.52v1.53H2.29Z"
2082
+ fill="currentColor"
2083
+ stroke-width="1"
2084
+ ></path>
2085
+ <path
2086
+ d="M0.76 3.81h1.53v24.38H0.76Z"
2087
+ fill="currentColor"
2088
+ stroke-width="1"
2089
+ ></path>
2090
+ </g>
2091
+ </svg>
2092
+ `;
2093
+ }
2094
+ };
2095
+ N.styles = [O, le];
2096
+ N = ae([
2097
+ d("ur-icon-hamburger")
2098
+ ], N);
2099
+ const he = c`
2100
+ :host {
2101
+ width: 1.8em;
2102
+ height: 1.8em;
2103
+ }
2104
+
2105
+ /*svg {
2106
+ color: var(--ur-color-gray-dark);
2107
+ }
2108
+
2109
+ svg:hover {
2110
+ color: var(--ur-color-green);
2111
+ }*/
2112
+ `;
2113
+ var ce = Object.getOwnPropertyDescriptor, pe = (i, t, e, o) => {
2114
+ for (var r = o > 1 ? void 0 : o ? ce(t, e) : t, s = i.length - 1, l; s >= 0; s--)
2115
+ (l = i[s]) && (r = l(r) || r);
2116
+ return r;
2117
+ };
2118
+ let R = class extends p {
2119
+ render() {
2120
+ return h`
2121
+ <svg
2122
+ width="32"
2123
+ height="32"
2124
+ viewBox="0 0 32 32"
2125
+ fill="none"
2126
+ xmlns="http://www.w3.org/2000/svg"
2127
+ >
2128
+ <g id="Globe / Regular">
2129
+ <path
2130
+ id="Vector"
2131
+ d="M24.75 7.875C24.75 9.32472 25.9253 10.5 27.375 10.5C27.7201 10.5 28 10.7799 28 11.125V20.875C28 21.2201 27.7201 21.5 27.375 21.5C25.9253 21.5 24.75 22.6753 24.75 24.125C24.75 24.4701 24.4701 24.75 24.125 24.75C22.6753 24.75 21.5 25.9253 21.5 27.375C21.5 27.7201 21.2201 28 20.875 28H11.125C10.7799 28 10.5 27.7201 10.5 27.375C10.5 25.9253 9.32472 24.75 7.875 24.75C7.52985 24.75 7.25 24.4701 7.25 24.125C7.25 22.6753 6.07472 21.5 4.625 21.5C4.27985 21.5 4 21.2201 4 20.875V11.125C4 10.7799 4.27985 10.5 4.625 10.5C6.07472 10.5 7.25 9.32472 7.25 7.875C7.25 7.52985 7.52985 7.25 7.875 7.25C9.32472 7.25 10.5 6.07472 10.5 4.625C10.5 4.27985 10.7799 4 11.125 4H20.875C21.2201 4 21.5 4.27985 21.5 4.625C21.5 6.07472 22.6753 7.25 24.125 7.25C24.4701 7.25 24.75 7.52985 24.75 7.875Z"
2132
+ stroke="currentColor"
2133
+ stroke-width="2"
2134
+ />
2135
+ <ellipse
2136
+ id="Ellipse 1"
2137
+ cx="16"
2138
+ cy="16"
2139
+ rx="4"
2140
+ ry="12"
2141
+ stroke="currentColor"
2142
+ stroke-width="2"
2143
+ />
2144
+ <path
2145
+ id="Vector 1"
2146
+ d="M4 16H28"
2147
+ stroke="currentColor"
2148
+ stroke-width="2"
2149
+ />
2150
+ </g>
2151
+ </svg>
2152
+ `;
2153
+ }
2154
+ };
2155
+ R.styles = [O, he];
2156
+ R = pe([
2157
+ d("ur-icon-connect-globe")
2158
+ ], R);
2159
+ const de = c`
2160
+ :host {
2161
+ display: inline-block;
2162
+ position: relative;
2163
+ }
2164
+
2165
+ .menu-container {
2166
+ position: relative;
2167
+ }
2168
+
2169
+ .menu-button {
2170
+ display: inline-block;
2171
+ }
2172
+
2173
+ .menu-items {
2174
+ display: none;
2175
+ position: fixed;
2176
+ z-index: 1000;
2177
+ min-width: 200px;
2178
+ background: color-mix(in srgb, var(--ur-color-black, #101010), #fff 7%);
2179
+ border: 1px solid var(--ur-color-border, #000000);
2180
+ box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.1);
2181
+ color: var(--ur-color-white, #ffffff);
2182
+ border-radius: 0.5rem;
2183
+ padding: 0.5rem 0;
2184
+ overflow: hidden;
2185
+ }
2186
+
2187
+ :host([open]) .menu-items {
2188
+ display: flex;
2189
+ flex-flow: column;
2190
+ }
2191
+ `;
2192
+ var ue = Object.defineProperty, fe = Object.getOwnPropertyDescriptor, I = (i, t, e, o) => {
2193
+ for (var r = o > 1 ? void 0 : o ? fe(t, e) : t, s = i.length - 1, l; s >= 0; s--)
2194
+ (l = i[s]) && (r = (o ? l(t, e, r) : l(r)) || r);
2195
+ return o && r && ue(t, e, r), r;
2196
+ };
2197
+ let $ = class extends p {
2198
+ constructor() {
2199
+ super(...arguments), this.open = !1, this._handleButtonClick = (i) => {
2200
+ i.stopPropagation(), this.open = !this.open, this.open && this._updatePosition();
2201
+ }, this._handleMenuClick = (i) => {
2202
+ i.stopPropagation();
2203
+ }, this._handleDocumentClick = () => {
2204
+ this.open && (this.open = !1);
2205
+ }, this._handleMenuItemClick = (i) => {
2206
+ this.open = !1;
2207
+ };
2208
+ }
2209
+ connectedCallback() {
2210
+ super.connectedCallback(), document.addEventListener("click", this._handleDocumentClick);
2211
+ }
2212
+ disconnectedCallback() {
2213
+ super.disconnectedCallback(), document.removeEventListener("click", this._handleDocumentClick);
2214
+ }
2215
+ _updatePosition() {
2216
+ requestAnimationFrame(() => {
2217
+ if (!this._buttonSlot || !this._menuItems) return;
2218
+ const i = this._buttonSlot.assignedElements();
2219
+ if (i.length === 0) return;
2220
+ const e = i[0].getBoundingClientRect(), o = this._menuItems.getBoundingClientRect();
2221
+ let r = e.bottom + 8, s = e.left;
2222
+ const l = window.innerWidth, a = window.innerHeight;
2223
+ s + o.width > l - 8 && (s = e.right - o.width), s < 8 && (s = 8), r + o.height > a - 8 && (r = e.top - o.height - 8), this._menuItems.style.top = `${r}px`, this._menuItems.style.left = `${s}px`;
2224
+ });
2225
+ }
2226
+ render() {
2227
+ return h`
2228
+ <div class="menu-container">
2229
+ <div class="menu-button" @click=${this._handleButtonClick}>
2230
+ <slot name="button" class="menu-button-slot"></slot>
2231
+ </div>
2232
+ <div
2233
+ class="menu-items"
2234
+ @click=${this._handleMenuClick}
2235
+ @ur-menu-item-click=${this._handleMenuItemClick}
2236
+ >
2237
+ <slot></slot>
2238
+ </div>
2239
+ </div>
2240
+ `;
2241
+ }
2242
+ };
2243
+ $.styles = de;
2244
+ I([
2245
+ n({ type: Boolean, reflect: !0 })
2246
+ ], $.prototype, "open", 2);
2247
+ I([
2248
+ ot(".menu-button-slot")
2249
+ ], $.prototype, "_buttonSlot", 2);
2250
+ I([
2251
+ ot(".menu-items")
2252
+ ], $.prototype, "_menuItems", 2);
2253
+ $ = I([
2254
+ d("ur-menu")
2255
+ ], $);
2256
+ const ve = c`
2257
+ :host {
2258
+ display: inline-block;
2259
+ }
2260
+
2261
+ .button {
2262
+ display: flex;
2263
+ align-items: center;
2264
+ justify-content: center;
2265
+ gap: 0.5rem;
2266
+ padding: 0.5rem;
2267
+ border: none;
2268
+ background: transparent;
2269
+ cursor: pointer;
2270
+ font-family: inherit;
2271
+ font-size: inherit;
2272
+ color: inherit;
2273
+ }
2274
+
2275
+ .button:hover {
2276
+ background-color: var(--ur-color-hover, rgba(0, 0, 0, 0.05));
2277
+ }
2278
+
2279
+ .button:focus-visible {
2280
+ outline: 2px solid var(--ur-color-focus, #000000);
2281
+ outline-offset: 2px;
2282
+ }
2283
+ `;
2284
+ var me = Object.getOwnPropertyDescriptor, ge = (i, t, e, o) => {
2285
+ for (var r = o > 1 ? void 0 : o ? me(t, e) : t, s = i.length - 1, l; s >= 0; s--)
2286
+ (l = i[s]) && (r = l(r) || r);
2287
+ return r;
2288
+ };
2289
+ let q = class extends p {
2290
+ render() {
2291
+ return h`
2292
+ <button class="button" part="button">
2293
+ <slot></slot>
2294
+ </button>
2295
+ `;
2296
+ }
2297
+ };
2298
+ q.styles = ve;
2299
+ q = ge([
2300
+ d("ur-menu-button")
2301
+ ], q);
2302
+ const be = c`
2303
+ :host {
2304
+ width: 100%;
2305
+ box-sizing: border-box;
2306
+ display: block;
2307
+ }
2308
+
2309
+ .menu-item-content {
2310
+ width: 100%;
2311
+ padding: var(--ur-space-sm) var(--ur-space-md);
2312
+ cursor: pointer;
2313
+ display: block;
2314
+ }
2315
+
2316
+ :host(:hover) .menu-item-content {
2317
+ background-color: color-mix(
2318
+ in srgb,
2319
+ var(--ur-color-black, #101010),
2320
+ #fff 9%
2321
+ );
2322
+ }
2323
+
2324
+ :host(:not(:last-child)) {
2325
+ border-bottom: 1px solid var(--ur-color-border, rgba(255, 255, 255, 0.1));
2326
+ }
2327
+ `;
2328
+ var ye = Object.defineProperty, we = Object.getOwnPropertyDescriptor, at = (i, t, e, o) => {
2329
+ for (var r = o > 1 ? void 0 : o ? we(t, e) : t, s = i.length - 1, l; s >= 0; s--)
2330
+ (l = i[s]) && (r = (o ? l(t, e, r) : l(r)) || r);
2331
+ return o && r && ye(t, e, r), r;
2332
+ };
2333
+ let F = class extends p {
2334
+ constructor() {
2335
+ super(...arguments), this.disabled = !1, this._handleClick = (i) => {
2336
+ if (this.disabled) {
2337
+ i.preventDefault(), i.stopPropagation();
2338
+ return;
2339
+ }
2340
+ this.dispatchEvent(
2341
+ new CustomEvent("ur-menu-item-click", {
2342
+ bubbles: !0,
2343
+ composed: !0,
2344
+ detail: { target: this }
2345
+ })
2346
+ );
2347
+ };
2348
+ }
2349
+ render() {
2350
+ return h`
2351
+ <div class="menu-item-content" @click=${this._handleClick}>
2352
+ <slot></slot>
2353
+ </div>
2354
+ `;
2355
+ }
2356
+ };
2357
+ F.styles = be;
2358
+ at([
2359
+ n({ type: Boolean })
2360
+ ], F.prototype, "disabled", 2);
2361
+ F = at([
2362
+ d("ur-menu-item")
2363
+ ], F);
2364
+ const Ce = c`
2365
+ :host {
2366
+ width: 100%;
2367
+ box-sizing: border-box;
2368
+ }
2369
+
2370
+ .location-list-item {
2371
+ display: flex;
2372
+ align-items: center;
2373
+ justify-content: space-between;
2374
+ width: 100%;
2375
+ box-sizing: border-box;
2376
+ padding: var(--ur-space-sm) 0;
2377
+ }
2378
+
2379
+ .leading-list-item-content {
2380
+ display: flex;
2381
+ align-items: center;
2382
+ }
2383
+
2384
+ .location-text-content {
2385
+ display: flex;
2386
+ flex-flow: column;
2387
+ align-items: start;
2388
+ }
2389
+
2390
+ .selected-icon {
2391
+ width: 1.6rem;
2392
+ height: 1.6rem;
2393
+ margin-right: 0.3rem;
2394
+ }
2395
+ `;
2396
+ var ke = Object.defineProperty, _e = Object.getOwnPropertyDescriptor, _ = (i, t, e, o) => {
2397
+ for (var r = o > 1 ? void 0 : o ? _e(t, e) : t, s = i.length - 1, l; s >= 0; s--)
2398
+ (l = i[s]) && (r = (o ? l(t, e, r) : l(r)) || r);
2399
+ return o && r && ke(t, e, r), r;
2400
+ };
2401
+ let b = class extends p {
2402
+ constructor() {
2403
+ super(...arguments), this.name = "Best available provider", this.providerCount = 0, this.unstable = !1, this.strongPrivacy = !1;
2404
+ }
2405
+ formatNumber(i) {
2406
+ return i.toLocaleString("en-US");
2407
+ }
2408
+ render() {
2409
+ const i = this.locationKey ? lt(this.locationKey) : "#000000";
2410
+ return h`
2411
+ <div class="location-list-item" @click=${this.onClick}>
2412
+ <div class="leading-list-item-content">
2413
+ <ur-icon-connect-globe
2414
+ class="selected-icon"
2415
+ style="color: ${i};"
2416
+ ></ur-icon-connect-globe>
2417
+
2418
+ <div class="location-text-content">
2419
+ <ur-text variant="body">${this.name}</ur-text>
2420
+ ${this.providerCount > 0 ? h`
2421
+ <ur-text variant="small" color="var(--ur-color-gray)">
2422
+ ${this.formatNumber(this.providerCount)}
2423
+ provider${this.providerCount === 1 ? "" : "s"}
2424
+ </ur-text>
2425
+ ` : null}
2426
+ </div>
2427
+ </div>
2428
+
2429
+ <div class="trailing-list-item-content">
2430
+ ${this.unstable ? h`
2431
+ <ur-icon-network-instability
2432
+ title="This location has network instability"
2433
+ ></ur-icon-network-instability>
2434
+ ` : null}
2435
+ ${this.strongPrivacy ? h`
2436
+ <ur-icon-privacy
2437
+ style="margin-left: 0.5rem;"
2438
+ title="This location offers strong privacy features"
2439
+ ></ur-icon-privacy>
2440
+ ` : null}
2441
+ </div>
2442
+ </div>
2443
+ `;
2444
+ }
2445
+ };
2446
+ b.styles = Ce;
2447
+ _([
2448
+ n({ type: String })
2449
+ ], b.prototype, "locationKey", 2);
2450
+ _([
2451
+ n({ type: String })
2452
+ ], b.prototype, "name", 2);
2453
+ _([
2454
+ n({ type: Number })
2455
+ ], b.prototype, "providerCount", 2);
2456
+ _([
2457
+ n({ type: Boolean })
2458
+ ], b.prototype, "unstable", 2);
2459
+ _([
2460
+ n({ type: Boolean })
2461
+ ], b.prototype, "strongPrivacy", 2);
2462
+ _([
2463
+ n({ type: Function })
2464
+ ], b.prototype, "onClick", 2);
2465
+ b = _([
2466
+ d("ur-selected-location")
2467
+ ], b);
2468
+ export {
2469
+ Ee as B,
2470
+ Pe as I,
2471
+ g as L,
2472
+ $ as M,
2473
+ b as S,
2474
+ Ze as T,
2475
+ Se as a,
2476
+ Z as b,
2477
+ m as c,
2478
+ R as d,
2479
+ N as e,
2480
+ A as f,
2481
+ z as g,
2482
+ j as h,
2483
+ U as i,
2484
+ u as j,
2485
+ q as k,
2486
+ F as l,
2487
+ P as m,
2488
+ w as n
2489
+ };