@hotosm/ui 0.3.1-b2 → 0.3.1-b4
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.
- package/dist/chunks/button.QMPBLQB7.js +1 -0
- package/dist/chunks/{chunk.PQUDDU4D.js → callout.USQGOL5A.js} +2 -2
- package/dist/chunks/chunk.7VBX4GII.js +1 -0
- package/dist/chunks/chunk.FIQQYKEP.js +14 -0
- package/dist/chunks/chunk.I26W4NHZ.js +460 -0
- package/dist/chunks/{chunk.WBE5WRYN.js → chunk.NQHNA5TA.js} +3 -3
- package/dist/chunks/chunk.OHRBDQCO.js +45 -0
- package/dist/chunks/{chunk.3Y46BCZT.js → chunk.OVCI43FD.js} +2 -2
- package/dist/chunks/chunk.TFICHQZE.js +186 -0
- package/dist/chunks/chunk.XAMKQWQ3.js +92 -0
- package/dist/chunks/dialog.ZJLYCG4P.js +217 -0
- package/dist/chunks/icon.ZB6BUFKB.js +1 -0
- package/dist/chunks/tab-group.M6XGU33J.js +360 -0
- package/dist/components/consent/consent.component.d.ts +0 -3
- package/dist/components/consent/consent.component.js +1 -1
- package/dist/components/consent/consent.js +1 -1
- package/dist/components/header/header.component.d.ts +0 -3
- package/dist/components/header/header.component.js +1 -1
- package/dist/components/header/header.js +1 -1
- package/dist/components/tracking/tracking.component.d.ts +0 -3
- package/dist/components/tracking/tracking.component.js +1 -1
- package/dist/components/tracking/tracking.js +1 -1
- package/dist/hotosm-ui.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/chunk.54RIFX2M.js +0 -669
- package/dist/chunks/chunk.PE4OKGWW.js +0 -700
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{b as o}from"./chunk.6ZDEZIWM.js";import{a as l}from"./chunk.KO4EOD3I.js";import{a as u}from"./chunk.T4GALJJA.js";import{e as c,k as r}from"./chunk.U4P7XQR4.js";import{d as s,e as a,f as n,g as i}from"./chunk.NI7UJOOZ.js";async function v(){customElements.get("wa-callout")||await import("./callout.USQGOL5A.js"),customElements.get("wa-icon")||await import("./icon.ZB6BUFKB.js"),customElements.get("wa-button")||await import("./button.QMPBLQB7.js")}(async()=>await v())();l();var d,g,m,p,b,h,f,e=class extends r{constructor(){super(...arguments);this.name="hot-consent";n(this,d,"");n(this,g,!1);n(this,m,!0);n(this,p,"About the information we collect");n(this,b,"We use cookies and similar technologies to recognize and analyze your visits, and measure traffic usage and activity.");n(this,h,"I Agree");n(this,f,"I Do Not Agree")}get consentId(){return a(this,d)}set consentId(t){i(this,d,t)}get force(){return a(this,g)}set force(t){i(this,g,t)}get isOpen(){return a(this,m)}set isOpen(t){i(this,m,t)}get title(){return a(this,p)}set title(t){i(this,p,t)}get message(){return a(this,b)}set message(t){i(this,b,t)}get agreeLabel(){return a(this,h)}set agreeLabel(t){i(this,h,t)}get notAgreeLabel(){return a(this,f)}set notAgreeLabel(t){i(this,f,t)}render(){return this.isOpen?c`
|
|
2
2
|
<div class="consent-overlay">
|
|
3
3
|
<div class="consent-container">
|
|
4
4
|
<wa-callout variant="brand" appearance="outlined filled" size="large" class="consent-callout">
|
|
@@ -33,4 +33,4 @@ import{a as d}from"./chunk.T4GALJJA.js";import{b as o}from"./chunk.6ZDEZIWM.js";
|
|
|
33
33
|
</wa-callout>
|
|
34
34
|
</div>
|
|
35
35
|
</div>
|
|
36
|
-
`:null}_setAgree(t){this.isOpen=!1,localStorage.setItem(`${this.consentId}-consent-agree`,"true"),this.dispatchEvent(new Event("agree",{bubbles:!0,composed:!0}))}_setDisagree(t){this.isOpen=!1,localStorage.setItem(`${this.consentId}-consent-agree`,"false"),this.dispatchEvent(new Event("disagree",{bubbles:!0,composed:!0}))}connectedCallback(){super.connectedCallback();let t=localStorage.getItem(`${this.consentId}-consent-agree`);if(t==="false"){this.isOpen=!1;return}t==="true"&&(this.isOpen=!1)}};
|
|
36
|
+
`:null}_setAgree(t){this.isOpen=!1,localStorage.setItem(`${this.consentId}-consent-agree`,"true"),this.dispatchEvent(new Event("agree",{bubbles:!0,composed:!0}))}_setDisagree(t){this.isOpen=!1,localStorage.setItem(`${this.consentId}-consent-agree`,"false"),this.dispatchEvent(new Event("disagree",{bubbles:!0,composed:!0}))}connectedCallback(){super.connectedCallback();let t=localStorage.getItem(`${this.consentId}-consent-agree`);if(t==="false"){this.isOpen=!1;return}t==="true"&&(this.isOpen=!1)}};d=new WeakMap,g=new WeakMap,m=new WeakMap,p=new WeakMap,b=new WeakMap,h=new WeakMap,f=new WeakMap,e.styles=[u],s([o({type:String,attribute:"consent-id"})],e.prototype,"consentId",1),s([o({type:Boolean})],e.prototype,"force",1),s([o({type:Boolean})],e.prototype,"isOpen",1),s([o({type:String})],e.prototype,"title",1),s([o({type:String})],e.prototype,"message",1),s([o({type:String,attribute:"agree-label"})],e.prototype,"agreeLabel",1),s([o({type:String,attribute:"not-agree-label"})],e.prototype,"notAgreeLabel",1);var A=e;customElements.define("hot-consent",e);export{e as a,A as b};
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
var o=`@layer wa-utilities {
|
|
2
|
+
:host([size='small']),
|
|
3
|
+
.wa-size-s {
|
|
4
|
+
font-size: var(--wa-font-size-s);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
:host([size='medium']),
|
|
8
|
+
.wa-size-m {
|
|
9
|
+
font-size: var(--wa-font-size-m);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
:host([size='large']),
|
|
13
|
+
.wa-size-l {
|
|
14
|
+
font-size: var(--wa-font-size-l);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
`;var a=`@layer wa-utilities {
|
|
18
|
+
/** Register color properties so that the space toggle hack can work. */
|
|
19
|
+
@property --wa-color-fill-loud {
|
|
20
|
+
syntax: '<color>';
|
|
21
|
+
inherits: true;
|
|
22
|
+
initial-value: transparent;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@property --wa-color-fill-normal {
|
|
26
|
+
syntax: '<color>';
|
|
27
|
+
inherits: true;
|
|
28
|
+
initial-value: transparent;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@property --wa-color-fill-quiet {
|
|
32
|
+
syntax: '<color>';
|
|
33
|
+
inherits: true;
|
|
34
|
+
initial-value: transparent;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@property --wa-color-border-loud {
|
|
38
|
+
syntax: '<color>';
|
|
39
|
+
inherits: true;
|
|
40
|
+
initial-value: transparent;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@property --wa-color-border-normal {
|
|
44
|
+
syntax: '<color>';
|
|
45
|
+
inherits: true;
|
|
46
|
+
initial-value: transparent;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@property --wa-color-border-quiet {
|
|
50
|
+
syntax: '<color>';
|
|
51
|
+
inherits: true;
|
|
52
|
+
initial-value: transparent;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@property --wa-color-on-loud {
|
|
56
|
+
syntax: '<color>';
|
|
57
|
+
inherits: true;
|
|
58
|
+
initial-value: transparent;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@property --wa-color-on-normal {
|
|
62
|
+
syntax: '<color>';
|
|
63
|
+
inherits: true;
|
|
64
|
+
initial-value: transparent;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@property --wa-color-on-quiet {
|
|
68
|
+
syntax: '<color>';
|
|
69
|
+
inherits: true;
|
|
70
|
+
initial-value: transparent;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Element defaults.
|
|
75
|
+
We want these to resolve to inherit when inside a variant, and only be applied when not inside an explicit variant.
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
:host(wa-button),
|
|
79
|
+
button,
|
|
80
|
+
input[type='button'],
|
|
81
|
+
input[type='submit'],
|
|
82
|
+
:host(wa-tag) {
|
|
83
|
+
--wa-color-fill-loud: var(--wa-no-variant, var(--wa-color-neutral-fill-loud));
|
|
84
|
+
--wa-color-fill-normal: var(--wa-no-variant, var(--wa-color-neutral-fill-normal));
|
|
85
|
+
--wa-color-fill-quiet: var(--wa-no-variant, var(--wa-color-neutral-fill-quiet));
|
|
86
|
+
--wa-color-border-loud: var(--wa-no-variant, var(--wa-color-neutral-border-loud));
|
|
87
|
+
--wa-color-border-normal: var(--wa-no-variant, var(--wa-color-neutral-border-normal));
|
|
88
|
+
--wa-color-border-quiet: var(--wa-no-variant, var(--wa-color-neutral-border-quiet));
|
|
89
|
+
--wa-color-on-loud: var(--wa-no-variant, var(--wa-color-neutral-on-loud));
|
|
90
|
+
--wa-color-on-normal: var(--wa-no-variant, var(--wa-color-neutral-on-normal));
|
|
91
|
+
--wa-color-on-quiet: var(--wa-no-variant, var(--wa-color-neutral-on-quiet));
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
:host(wa-callout),
|
|
95
|
+
:host(wa-badge) {
|
|
96
|
+
--wa-color-fill-loud: var(--wa-no-variant, var(--wa-color-brand-fill-loud));
|
|
97
|
+
--wa-color-fill-normal: var(--wa-no-variant, var(--wa-color-brand-fill-normal));
|
|
98
|
+
--wa-color-fill-quiet: var(--wa-no-variant, var(--wa-color-brand-fill-quiet));
|
|
99
|
+
--wa-color-border-loud: var(--wa-no-variant, var(--wa-color-brand-border-loud));
|
|
100
|
+
--wa-color-border-normal: var(--wa-no-variant, var(--wa-color-brand-border-normal));
|
|
101
|
+
--wa-color-border-quiet: var(--wa-no-variant, var(--wa-color-brand-border-quiet));
|
|
102
|
+
--wa-color-on-loud: var(--wa-no-variant, var(--wa-color-brand-on-loud));
|
|
103
|
+
--wa-color-on-normal: var(--wa-no-variant, var(--wa-color-brand-on-normal));
|
|
104
|
+
--wa-color-on-quiet: var(--wa-no-variant, var(--wa-color-brand-on-quiet));
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Variants
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
:root,
|
|
112
|
+
.wa-neutral,
|
|
113
|
+
:host([variant='neutral']) {
|
|
114
|
+
--wa-color-fill-loud: var(--wa-color-neutral-fill-loud);
|
|
115
|
+
--wa-color-fill-normal: var(--wa-color-neutral-fill-normal);
|
|
116
|
+
--wa-color-fill-quiet: var(--wa-color-neutral-fill-quiet);
|
|
117
|
+
--wa-color-border-loud: var(--wa-color-neutral-border-loud);
|
|
118
|
+
--wa-color-border-normal: var(--wa-color-neutral-border-normal);
|
|
119
|
+
--wa-color-border-quiet: var(--wa-color-neutral-border-quiet);
|
|
120
|
+
--wa-color-on-loud: var(--wa-color-neutral-on-loud);
|
|
121
|
+
--wa-color-on-normal: var(--wa-color-neutral-on-normal);
|
|
122
|
+
--wa-color-on-quiet: var(--wa-color-neutral-on-quiet);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.wa-brand,
|
|
126
|
+
:host([variant='brand']) {
|
|
127
|
+
--wa-color-fill-loud: var(--wa-color-brand-fill-loud);
|
|
128
|
+
--wa-color-fill-normal: var(--wa-color-brand-fill-normal);
|
|
129
|
+
--wa-color-fill-quiet: var(--wa-color-brand-fill-quiet);
|
|
130
|
+
--wa-color-border-loud: var(--wa-color-brand-border-loud);
|
|
131
|
+
--wa-color-border-normal: var(--wa-color-brand-border-normal);
|
|
132
|
+
--wa-color-border-quiet: var(--wa-color-brand-border-quiet);
|
|
133
|
+
--wa-color-on-loud: var(--wa-color-brand-on-loud);
|
|
134
|
+
--wa-color-on-normal: var(--wa-color-brand-on-normal);
|
|
135
|
+
--wa-color-on-quiet: var(--wa-color-brand-on-quiet);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.wa-success,
|
|
139
|
+
:host([variant='success']) {
|
|
140
|
+
--wa-color-fill-loud: var(--wa-color-success-fill-loud);
|
|
141
|
+
--wa-color-fill-normal: var(--wa-color-success-fill-normal);
|
|
142
|
+
--wa-color-fill-quiet: var(--wa-color-success-fill-quiet);
|
|
143
|
+
--wa-color-border-loud: var(--wa-color-success-border-loud);
|
|
144
|
+
--wa-color-border-normal: var(--wa-color-success-border-normal);
|
|
145
|
+
--wa-color-border-quiet: var(--wa-color-success-border-quiet);
|
|
146
|
+
--wa-color-on-loud: var(--wa-color-success-on-loud);
|
|
147
|
+
--wa-color-on-normal: var(--wa-color-success-on-normal);
|
|
148
|
+
--wa-color-on-quiet: var(--wa-color-success-on-quiet);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.wa-warning,
|
|
152
|
+
:host([variant='warning']) {
|
|
153
|
+
--wa-color-fill-loud: var(--wa-color-warning-fill-loud);
|
|
154
|
+
--wa-color-fill-normal: var(--wa-color-warning-fill-normal);
|
|
155
|
+
--wa-color-fill-quiet: var(--wa-color-warning-fill-quiet);
|
|
156
|
+
--wa-color-border-loud: var(--wa-color-warning-border-loud);
|
|
157
|
+
--wa-color-border-normal: var(--wa-color-warning-border-normal);
|
|
158
|
+
--wa-color-border-quiet: var(--wa-color-warning-border-quiet);
|
|
159
|
+
--wa-color-on-loud: var(--wa-color-warning-on-loud);
|
|
160
|
+
--wa-color-on-normal: var(--wa-color-warning-on-normal);
|
|
161
|
+
--wa-color-on-quiet: var(--wa-color-warning-on-quiet);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.wa-danger,
|
|
165
|
+
:host([variant='danger']) {
|
|
166
|
+
--wa-color-fill-loud: var(--wa-color-danger-fill-loud);
|
|
167
|
+
--wa-color-fill-normal: var(--wa-color-danger-fill-normal);
|
|
168
|
+
--wa-color-fill-quiet: var(--wa-color-danger-fill-quiet);
|
|
169
|
+
--wa-color-border-loud: var(--wa-color-danger-border-loud);
|
|
170
|
+
--wa-color-border-normal: var(--wa-color-danger-border-normal);
|
|
171
|
+
--wa-color-border-quiet: var(--wa-color-danger-border-quiet);
|
|
172
|
+
--wa-color-on-loud: var(--wa-color-danger-on-loud);
|
|
173
|
+
--wa-color-on-normal: var(--wa-color-danger-on-normal);
|
|
174
|
+
--wa-color-on-quiet: var(--wa-color-danger-on-quiet);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.wa-neutral,
|
|
178
|
+
.wa-brand,
|
|
179
|
+
.wa-success,
|
|
180
|
+
.wa-warning,
|
|
181
|
+
.wa-danger,
|
|
182
|
+
:host([variant]) {
|
|
183
|
+
--wa-no-variant: /* space toggle */;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
`;export{o as a,a as b};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import{a as u,b as p}from"./chunk.IG27I42A.js";import{b as r}from"./chunk.6ZDEZIWM.js";import{a as b}from"./chunk.KO4EOD3I.js";import{e as l,k as m}from"./chunk.U4P7XQR4.js";import{a as d,d as s,e as o,f as n,g as a}from"./chunk.NI7UJOOZ.js";var f="data:image/png;base64,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";async function E(){customElements.get("wa-tab-group")||await import("./tab-group.M6XGU33J.js"),customElements.get("wa-dialog")||await import("./dialog.ZJLYCG4P.js"),customElements.get("wa-button")||await import("./button.QMPBLQB7.js"),customElements.get("wa-icon")||await import("./icon.ZB6BUFKB.js")}(async()=>await E())();b();var v,w,O,y,L,$,P,I,B,U,S,_,q,M,e=class extends m{constructor(){super(...arguments);this.name="hot-header";n(this,v,"");n(this,w,"");n(this,O,!0);n(this,y,[]);n(this,L,"small");n(this,$,!0);n(this,P,0);n(this,I,!1);n(this,B,!1);n(this,U,{});n(this,S,"user");n(this,_,"https://www.openstreetmap.org/oauth2/authorize");n(this,q,"");n(this,M,"")}get title(){return o(this,v)}set title(i){a(this,v,i)}get logo(){return o(this,w)}set logo(i){a(this,w,i)}get drawer(){return o(this,O)}set drawer(i){a(this,O,i)}get tabs(){return o(this,y)}set tabs(i){a(this,y,i)}get size(){return o(this,L)}set size(i){a(this,L,i)}get borderBottom(){return o(this,$)}set borderBottom(i){a(this,$,i)}get selectedTab(){return o(this,P)}set selectedTab(i){a(this,P,i)}get showLogin(){return o(this,I)}set showLogin(i){a(this,I,i)}get loginModalOpen(){return o(this,B)}set loginModalOpen(i){a(this,B,i)}get loginProviders(){return o(this,U)}set loginProviders(i){a(this,U,i)}get defaultLoginIcon(){return o(this,S)}set defaultLoginIcon(i){a(this,S,i)}get osmOauthUrl(){return o(this,_)}set osmOauthUrl(i){a(this,_,i)}get OsmOauthClientId(){return o(this,q)}set OsmOauthClientId(i){a(this,q,i)}get OsmOauthRedirectUri(){return o(this,M)}set OsmOauthRedirectUri(i){a(this,M,i)}get loginOptions(){return Object.keys(this.loginProviders).length===0&&this.OsmOauthClientId&&this.OsmOauthRedirectUri?[{id:"osm",name:"Personal OSM Account",image:f}]:Object.entries(this.loginProviders).map(([i,t])=>({id:i,name:t.name||this.formatProviderName(i),icon:t.icon?void 0:this.defaultLoginIcon,image:t.icon}))}formatProviderName(i){return i.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}selectTab(i){console.log(i),this.tabs=[...this.tabs],this.selectedTab=i}performLogin(i){let t=this.loginProviders[i];if(!t){if(i==="osm"){this.legacyOsmLoginRedirect();return}console.error(`Login provider '${i}' not found`);return}if(!t.clientId){window.location.href=t.loginUrl;return}let c=window.location.pathname+window.location.search;sessionStorage.setItem("requestedPath",c);let h=new URLSearchParams(d({client_id:t.clientId,redirect_uri:t.redirectUrl,response_type:"code"},t.scope&&{scope:t.scope})),g=`${t.loginUrl}?${h.toString()}`;window.location.href=g}legacyOsmLoginRedirect(){if(!this.OsmOauthClientId||!this.OsmOauthRedirectUri){console.error("OSM OAuth client ID and redirect URI must be provided");return}let i=window.location.pathname+window.location.search;sessionStorage.setItem("requestedPath",i);let t=new URLSearchParams({client_id:this.OsmOauthClientId,redirect_uri:this.OsmOauthRedirectUri,response_type:"code",scope:"read_prefs"}),c=`${this.osmOauthUrl}?${t.toString()}`;window.location.href=c}handleSignIn(i){this.performLogin(i),this.loginModalOpen=!1}render(){let i=typeof this.logo=="string"||this.logo instanceof URL?typeof this.logo=="string"?this.logo:this.logo.href:"";return l`
|
|
2
|
+
<header class=${u({size:this.size,borderBottom:this.borderBottom})}>
|
|
3
|
+
<a href="/" class="header--link">
|
|
4
|
+
${i.length>0?l`
|
|
5
|
+
<img
|
|
6
|
+
id="logo"
|
|
7
|
+
src="${this.logo}"
|
|
8
|
+
alt="Logo"
|
|
9
|
+
class="header--logo-img"
|
|
10
|
+
/>
|
|
11
|
+
`:l`
|
|
12
|
+
<hot-logo
|
|
13
|
+
?iconOnly="${this.title.length>0}"
|
|
14
|
+
>
|
|
15
|
+
</hot-logo>
|
|
16
|
+
`}
|
|
17
|
+
${this.title.length>0?l`
|
|
18
|
+
<h1 class="header--title">
|
|
19
|
+
${this.title}
|
|
20
|
+
</h1>
|
|
21
|
+
`:null}
|
|
22
|
+
</a>
|
|
23
|
+
|
|
24
|
+
${""}
|
|
25
|
+
<nav
|
|
26
|
+
class="header--nav"
|
|
27
|
+
>
|
|
28
|
+
<wa-tab-group class="header--tab-group">
|
|
29
|
+
${this.tabs.map((t,c)=>{let g=this.selectedTab===c?"header--tab header--tab-active":"header--tab";return l`
|
|
30
|
+
<wa-tab
|
|
31
|
+
panel="${t.label}"
|
|
32
|
+
class="${g}"
|
|
33
|
+
slot="nav"
|
|
34
|
+
@click=${C=>this._tabClick(C,t.clickEvent,c)}
|
|
35
|
+
>
|
|
36
|
+
${t.label}
|
|
37
|
+
</wa-tab>
|
|
38
|
+
`})}
|
|
39
|
+
</wa-tab-group>
|
|
40
|
+
</nav>
|
|
41
|
+
|
|
42
|
+
${""}
|
|
43
|
+
${""}
|
|
44
|
+
<nav
|
|
45
|
+
class="header--nav-mobile"
|
|
46
|
+
></nav>
|
|
47
|
+
|
|
48
|
+
<div id="right-section" class="header--right-section">
|
|
49
|
+
${this.showLogin?l`
|
|
50
|
+
<wa-button
|
|
51
|
+
variant="brand"
|
|
52
|
+
class="header--login-button"
|
|
53
|
+
@click=${()=>this._handleLogin()}
|
|
54
|
+
>
|
|
55
|
+
Login
|
|
56
|
+
</wa-button>
|
|
57
|
+
`:null}
|
|
58
|
+
${this.drawer?l`
|
|
59
|
+
<wa-button>
|
|
60
|
+
<wa-icon library="hot-icons" name="list" label="drawer-open" class="header--drawer">
|
|
61
|
+
</wa-icon>
|
|
62
|
+
</wa-button>
|
|
63
|
+
`:null}
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
<!-- Login Modal -->
|
|
67
|
+
${this.showLogin?l`
|
|
68
|
+
<wa-dialog
|
|
69
|
+
class="login-modal"
|
|
70
|
+
?open=${this.loginModalOpen}
|
|
71
|
+
@wa-hide=${()=>this._handleModalClose()}
|
|
72
|
+
label="Sign In"
|
|
73
|
+
>
|
|
74
|
+
<div class="login-content">
|
|
75
|
+
<div class="login-options">
|
|
76
|
+
${this.loginOptions.map(t=>l`
|
|
77
|
+
<div
|
|
78
|
+
class="login-option"
|
|
79
|
+
@click=${()=>this.handleSignIn(t.id)}
|
|
80
|
+
>
|
|
81
|
+
<div class="login-option-icon">
|
|
82
|
+
${t.image?l`<img src="${t.image}" alt="${t.name}" />`:t.icon?l`<wa-icon name="${t.icon}"></wa-icon>`:null}
|
|
83
|
+
</div>
|
|
84
|
+
<div class="login-option-text">${t.name}</div>
|
|
85
|
+
</div>
|
|
86
|
+
`)}
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
</wa-dialog>
|
|
90
|
+
`:null}
|
|
91
|
+
</header>
|
|
92
|
+
`}_tabClick(i,t,c){this.selectTab(c),t()}_handleLogin(){this.loginModalOpen=!0,this.dispatchEvent(new Event("login"))}_handleModalClose(){this.loginModalOpen=!1}};v=new WeakMap,w=new WeakMap,O=new WeakMap,y=new WeakMap,L=new WeakMap,$=new WeakMap,P=new WeakMap,I=new WeakMap,B=new WeakMap,U=new WeakMap,S=new WeakMap,_=new WeakMap,q=new WeakMap,M=new WeakMap,e.styles=[p],s([r({type:String})],e.prototype,"title",1),s([r({type:String})],e.prototype,"logo",1),s([r({type:Boolean})],e.prototype,"drawer",1),s([r({type:Array})],e.prototype,"tabs",1),s([r({type:String})],e.prototype,"size",1),s([r({type:Boolean})],e.prototype,"borderBottom",1),s([r({type:Number})],e.prototype,"selectedTab",1),s([r({type:Boolean})],e.prototype,"showLogin",1),s([r({type:Boolean})],e.prototype,"loginModalOpen",1),s([r({type:Object,attribute:"login-providers"})],e.prototype,"loginProviders",1),s([r({type:String,attribute:"default-login-icon"})],e.prototype,"defaultLoginIcon",1),s([r({type:String,attribute:"osm-oauth-url"})],e.prototype,"osmOauthUrl",1),s([r({type:String,attribute:"osm-oauth-client-id"})],e.prototype,"OsmOauthClientId",1),s([r({type:String,attribute:"osm-oauth-redirect-uri"})],e.prototype,"OsmOauthRedirectUri",1);var Z=e;customElements.define("hot-header",e);export{e as a,Z as b};
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import{a as h,b as p}from"./chunk.7VBX4GII.js";import{a as f,b as v,c as b}from"./chunk.I26W4NHZ.js";import{a as g}from"./chunk.OHRBDQCO.js";import"./chunk.TFICHQZE.js";import{a as i,b as w}from"./chunk.FIQQYKEP.js";import{a as u,b as r,d as m}from"./chunk.6ZDEZIWM.js";import{e as d}from"./chunk.U4P7XQR4.js";import"./chunk.NI7UJOOZ.js";function y(e){return e.split(" ").map(t=>t.trim()).filter(t=>t!=="")}var x=class extends Event{constructor(){super("wa-after-hide",{bubbles:!0,cancelable:!1,composed:!0})}},k=class extends Event{constructor(){super("wa-after-show",{bubbles:!0,cancelable:!1,composed:!0})}},E=class extends Event{constructor(e){super("wa-hide",{bubbles:!0,cancelable:!0,composed:!0}),this.detail=e}},C=class extends Event{constructor(){super("wa-show",{bubbles:!0,cancelable:!0,composed:!0})}};function l(e,t){return new Promise(n=>{let a=new AbortController,{signal:c}=a;if(e.classList.contains(t))return;e.classList.remove(t),e.classList.add(t);let s=()=>{e.classList.remove(t),n(),a.abort()};e.addEventListener("animationend",s,{once:!0,signal:c}),e.addEventListener("animationcancel",s,{once:!0,signal:c})})}var S=`:host {
|
|
2
|
+
--width: 31rem;
|
|
3
|
+
--spacing: var(--wa-space-l);
|
|
4
|
+
--show-duration: 200ms;
|
|
5
|
+
--hide-duration: 200ms;
|
|
6
|
+
|
|
7
|
+
display: none;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
:host([open]) {
|
|
11
|
+
display: block;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.dialog {
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-direction: column;
|
|
17
|
+
top: 0;
|
|
18
|
+
right: 0;
|
|
19
|
+
bottom: 0;
|
|
20
|
+
left: 0;
|
|
21
|
+
width: var(--width);
|
|
22
|
+
max-width: calc(100% - var(--wa-space-2xl));
|
|
23
|
+
max-height: calc(100% - var(--wa-space-2xl));
|
|
24
|
+
background-color: var(--wa-color-surface-raised);
|
|
25
|
+
border-radius: var(--wa-panel-border-radius);
|
|
26
|
+
border: none;
|
|
27
|
+
box-shadow: var(--wa-shadow-l);
|
|
28
|
+
padding: 0;
|
|
29
|
+
margin: auto;
|
|
30
|
+
|
|
31
|
+
&.show {
|
|
32
|
+
animation: show-dialog var(--show-duration) ease;
|
|
33
|
+
|
|
34
|
+
&::backdrop {
|
|
35
|
+
animation: show-backdrop var(--show-duration, 200ms) ease;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&.hide {
|
|
40
|
+
animation: show-dialog var(--hide-duration) ease reverse;
|
|
41
|
+
|
|
42
|
+
&::backdrop {
|
|
43
|
+
animation: show-backdrop var(--hide-duration, 200ms) ease reverse;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&.pulse {
|
|
48
|
+
animation: pulse 250ms ease;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.dialog:focus {
|
|
53
|
+
outline: none;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* Ensure there's enough vertical padding for phones that don't update vh when chrome appears (e.g. iPhone) */
|
|
57
|
+
@media screen and (max-width: 420px) {
|
|
58
|
+
.dialog {
|
|
59
|
+
max-height: 80vh;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.open {
|
|
64
|
+
display: flex;
|
|
65
|
+
opacity: 1;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.header {
|
|
69
|
+
flex: 0 0 auto;
|
|
70
|
+
display: flex;
|
|
71
|
+
flex-wrap: nowrap;
|
|
72
|
+
|
|
73
|
+
padding-inline-start: var(--spacing);
|
|
74
|
+
padding-block-end: 0;
|
|
75
|
+
|
|
76
|
+
/* Subtract the close button's padding so that the X is visually aligned with the edges of the dialog content */
|
|
77
|
+
padding-inline-end: calc(var(--spacing) - var(--wa-form-control-padding-block));
|
|
78
|
+
padding-block-start: calc(var(--spacing) - var(--wa-form-control-padding-block));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.title {
|
|
82
|
+
align-self: center;
|
|
83
|
+
flex: 1 1 auto;
|
|
84
|
+
font-family: inherit;
|
|
85
|
+
font-size: var(--wa-font-size-l);
|
|
86
|
+
font-weight: var(--wa-font-weight-heading);
|
|
87
|
+
line-height: var(--wa-line-height-condensed);
|
|
88
|
+
margin: 0;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.header-actions {
|
|
92
|
+
align-self: start;
|
|
93
|
+
display: flex;
|
|
94
|
+
flex-shrink: 0;
|
|
95
|
+
flex-wrap: wrap;
|
|
96
|
+
justify-content: end;
|
|
97
|
+
gap: var(--wa-space-2xs);
|
|
98
|
+
padding-inline-start: var(--spacing);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.header-actions wa-button,
|
|
102
|
+
.header-actions ::slotted(wa-button) {
|
|
103
|
+
flex: 0 0 auto;
|
|
104
|
+
display: flex;
|
|
105
|
+
align-items: center;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.body {
|
|
109
|
+
flex: 1 1 auto;
|
|
110
|
+
display: block;
|
|
111
|
+
padding: var(--spacing);
|
|
112
|
+
overflow: auto;
|
|
113
|
+
-webkit-overflow-scrolling: touch;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.footer {
|
|
117
|
+
flex: 0 0 auto;
|
|
118
|
+
display: flex;
|
|
119
|
+
flex-wrap: wrap;
|
|
120
|
+
gap: var(--wa-space-xs);
|
|
121
|
+
justify-content: end;
|
|
122
|
+
padding: var(--spacing);
|
|
123
|
+
padding-block-start: 0;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.footer ::slotted(wa-button:not(:first-of-type)) {
|
|
127
|
+
margin-inline-start: var(--wa-spacing-xs);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.dialog::backdrop {
|
|
131
|
+
/*
|
|
132
|
+
NOTE: the ::backdrop element doesn't inherit properly in Safari yet, but it will in 17.4! At that time, we can
|
|
133
|
+
remove the fallback values here.
|
|
134
|
+
*/
|
|
135
|
+
background-color: var(--wa-color-overlay-modal, rgb(0 0 0 / 0.25));
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
@keyframes pulse {
|
|
139
|
+
0% {
|
|
140
|
+
scale: 1;
|
|
141
|
+
}
|
|
142
|
+
50% {
|
|
143
|
+
scale: 1.02;
|
|
144
|
+
}
|
|
145
|
+
100% {
|
|
146
|
+
scale: 1;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
@keyframes show-dialog {
|
|
151
|
+
from {
|
|
152
|
+
opacity: 0;
|
|
153
|
+
scale: 0.8;
|
|
154
|
+
}
|
|
155
|
+
to {
|
|
156
|
+
opacity: 1;
|
|
157
|
+
scale: 1;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
@keyframes show-backdrop {
|
|
162
|
+
from {
|
|
163
|
+
opacity: 0;
|
|
164
|
+
}
|
|
165
|
+
to {
|
|
166
|
+
opacity: 1;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
@media (forced-colors: active) {
|
|
171
|
+
.dialog {
|
|
172
|
+
border: solid 1px white;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
`,o=class extends w{constructor(){super(...arguments),this.localize=new f(this),this.hasSlotController=new b(this,"footer","header-actions","label"),this.open=!1,this.label="",this.withoutHeader=!1,this.lightDismiss=!1,this.handleDocumentKeyDown=e=>{e.key==="Escape"&&this.open&&(e.preventDefault(),e.stopPropagation(),this.requestClose(this.dialog))}}firstUpdated(){this.open&&(this.addOpenListeners(),this.dialog.showModal(),h(this))}disconnectedCallback(){super.disconnectedCallback(),p(this),this.removeOpenListeners()}async requestClose(e){let t=new E({source:e});if(this.dispatchEvent(t),t.defaultPrevented){this.open=!0,l(this.dialog,"pulse");return}this.removeOpenListeners(),await l(this.dialog,"hide"),this.open=!1,this.dialog.close(),p(this);let n=this.originalTrigger;typeof(n==null?void 0:n.focus)=="function"&&setTimeout(()=>n.focus()),this.dispatchEvent(new x)}addOpenListeners(){document.addEventListener("keydown",this.handleDocumentKeyDown)}removeOpenListeners(){document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleDialogCancel(e){e.preventDefault(),this.dialog.classList.contains("hide")||this.requestClose(this.dialog)}handleDialogClick(e){let n=e.target.closest('[data-dialog="close"]');n&&(e.stopPropagation(),this.requestClose(n))}async handleDialogPointerDown(e){e.target===this.dialog&&(this.lightDismiss?this.requestClose(this.dialog):await l(this.dialog,"pulse"))}handleOpenChange(){this.open&&!this.dialog.open?this.show():!this.open&&this.dialog.open&&(this.open=!0,this.requestClose(this.dialog))}async show(){let e=new C;if(this.dispatchEvent(e),e.defaultPrevented){this.open=!1;return}this.addOpenListeners(),this.originalTrigger=document.activeElement,this.open=!0,this.dialog.showModal(),h(this),requestAnimationFrame(()=>{let t=this.querySelector("[autofocus]");t&&typeof t.focus=="function"&&t.focus()}),await l(this.dialog,"show"),this.dispatchEvent(new k)}render(){let e=!this.withoutHeader&&(this.label.length>0||this.hasSlotController.test("label")||this.hasSlotController.test("header-actions")),t=this.hasSlotController.test("footer");return d`
|
|
176
|
+
<dialog
|
|
177
|
+
part="dialog"
|
|
178
|
+
class=${v({dialog:!0,open:this.open})}
|
|
179
|
+
@cancel=${this.handleDialogCancel}
|
|
180
|
+
@click=${this.handleDialogClick}
|
|
181
|
+
@pointerdown=${this.handleDialogPointerDown}
|
|
182
|
+
>
|
|
183
|
+
${e?d`
|
|
184
|
+
<header part="header" class="header">
|
|
185
|
+
<h2 part="title" class="title" id="title">
|
|
186
|
+
<!-- If there's no label, use an invisible character to prevent the header from collapsing -->
|
|
187
|
+
<slot name="label"> ${this.label.length>0?this.label:"\uFEFF"} </slot>
|
|
188
|
+
</h2>
|
|
189
|
+
<div part="header-actions" class="header-actions">
|
|
190
|
+
<slot name="header-actions"></slot>
|
|
191
|
+
<wa-button
|
|
192
|
+
part="close-button"
|
|
193
|
+
exportparts="base:close-button__base"
|
|
194
|
+
class="close"
|
|
195
|
+
appearance="plain"
|
|
196
|
+
@click="${n=>this.requestClose(n.target)}"
|
|
197
|
+
>
|
|
198
|
+
<wa-icon
|
|
199
|
+
name="xmark"
|
|
200
|
+
label=${this.localize.term("close")}
|
|
201
|
+
library="system"
|
|
202
|
+
variant="solid"
|
|
203
|
+
></wa-icon>
|
|
204
|
+
</wa-button>
|
|
205
|
+
</div>
|
|
206
|
+
</header>
|
|
207
|
+
`:""}
|
|
208
|
+
|
|
209
|
+
<div part="body" class="body"><slot></slot></div>
|
|
210
|
+
|
|
211
|
+
${t?d`
|
|
212
|
+
<footer part="footer" class="footer">
|
|
213
|
+
<slot name="footer"></slot>
|
|
214
|
+
</footer>
|
|
215
|
+
`:""}
|
|
216
|
+
</dialog>
|
|
217
|
+
`}};o.css=S;i([m(".dialog")],o.prototype,"dialog",2);i([r({type:Boolean,reflect:!0})],o.prototype,"open",2);i([r({reflect:!0})],o.prototype,"label",2);i([r({attribute:"without-header",type:Boolean,reflect:!0})],o.prototype,"withoutHeader",2);i([r({attribute:"light-dismiss",type:Boolean})],o.prototype,"lightDismiss",2);i([g("open",{waitUntilFirstUpdate:!0})],o.prototype,"handleOpenChange",1);o=i([u("wa-dialog")],o);document.addEventListener("click",e=>{let t=e.target.closest("[data-dialog]");if(t instanceof Element){let[n,a]=y(t.getAttribute("data-dialog")||"");if(n==="open"&&(a!=null&&a.length)){let s=t.getRootNode().getElementById(a);(s==null?void 0:s.localName)==="wa-dialog"?s.open=!0:console.warn(`A dialog with an ID of "${a}" could not be found in this document.`)}}});!1||document.addEventListener("pointerdown",()=>{});export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as o}from"./chunk.OHRBDQCO.js";import"./chunk.FIQQYKEP.js";import"./chunk.6ZDEZIWM.js";import"./chunk.U4P7XQR4.js";import"./chunk.NI7UJOOZ.js";export{o as default};
|