@hotosm/ui 0.3.1-b4 → 0.3.1-b6

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 (43) hide show
  1. package/README.md +87 -72
  2. package/dist/chunks/chunk.2MK55PUE.js +700 -0
  3. package/dist/chunks/{callout.USQGOL5A.js → chunk.3NBBS2A2.js} +2 -2
  4. package/dist/chunks/chunk.456NATDG.js +1 -0
  5. package/dist/chunks/{chunk.4YLAIDAG.js → chunk.7RJ72M75.js} +3 -3
  6. package/dist/chunks/chunk.AIZM63SF.js +669 -0
  7. package/dist/chunks/chunk.BM3GXGCS.js +1 -0
  8. package/dist/chunks/{chunk.OVCI43FD.js → chunk.MIYFUINI.js} +2 -2
  9. package/dist/chunks/{chunk.NQHNA5TA.js → chunk.PDLGEB7T.js} +3 -3
  10. package/dist/chunks/chunk.SZ46YTWY.js +1 -0
  11. package/dist/chunks/chunk.YYEOK7MA.js +1 -0
  12. package/dist/components/consent/consent.component.d.ts +3 -0
  13. package/dist/components/consent/consent.component.js +1 -1
  14. package/dist/components/consent/consent.d.ts +0 -1
  15. package/dist/components/consent/consent.js +1 -1
  16. package/dist/components/header/header.component.d.ts +4 -0
  17. package/dist/components/header/header.component.js +1 -1
  18. package/dist/components/header/header.d.ts +0 -1
  19. package/dist/components/header/header.js +1 -1
  20. package/dist/components/logo/logo.component.js +1 -1
  21. package/dist/components/logo/logo.d.ts +0 -1
  22. package/dist/components/logo/logo.js +1 -1
  23. package/dist/components/tracking/tracking.component.d.ts +3 -0
  24. package/dist/components/tracking/tracking.component.js +1 -1
  25. package/dist/components/tracking/tracking.d.ts +0 -1
  26. package/dist/components/tracking/tracking.js +1 -1
  27. package/dist/hotosm-ui.d.ts +4 -12
  28. package/dist/hotosm-ui.js +1 -1
  29. package/dist/style.css +7 -1
  30. package/dist/themes/hot-wa-override.css +222 -0
  31. package/dist/themes/hot.css +165 -213
  32. package/package.json +1 -1
  33. package/dist/chunks/button.QMPBLQB7.js +0 -1
  34. package/dist/chunks/chunk.7VBX4GII.js +0 -1
  35. package/dist/chunks/chunk.FIQQYKEP.js +0 -14
  36. package/dist/chunks/chunk.I26W4NHZ.js +0 -460
  37. package/dist/chunks/chunk.OHRBDQCO.js +0 -45
  38. package/dist/chunks/chunk.TFICHQZE.js +0 -186
  39. package/dist/chunks/chunk.XAMKQWQ3.js +0 -92
  40. package/dist/chunks/dialog.ZJLYCG4P.js +0 -217
  41. package/dist/chunks/icon.ZB6BUFKB.js +0 -1
  42. package/dist/chunks/tab-group.M6XGU33J.js +0 -360
  43. package/dist/themes/hot-wa.css +0 -179
@@ -1,186 +0,0 @@
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};
@@ -1,92 +0,0 @@
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};
@@ -1,217 +0,0 @@
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};
@@ -1 +0,0 @@
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};