@hotosm/ui 0.3.4-b2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +1 -1
  2. package/dist/chunks/{chunk.LF3EJYUJ.js → chunk.3DAASGWT.js} +1 -1
  3. package/dist/chunks/chunk.5AWU5BEU.js +1 -0
  4. package/dist/chunks/{chunk.3M4SJCXS.js → chunk.6TJUNYFL.js} +49 -35
  5. package/dist/chunks/{chunk.OCJJFWT7.js → chunk.BB52VMVE.js} +55 -50
  6. package/dist/chunks/chunk.EAG35WPB.js +122 -0
  7. package/dist/chunks/chunk.EOTM323U.js +71 -0
  8. package/dist/chunks/chunk.EYNFK5TH.js +187 -0
  9. package/dist/chunks/chunk.FBYBLQYY.js +25 -0
  10. package/dist/chunks/{chunk.LET777HR.js → chunk.G3Z3BOX2.js} +2 -2
  11. package/dist/chunks/chunk.JFO3Z4VS.js +1 -0
  12. package/dist/chunks/chunk.KNTMZWRV.js +28 -0
  13. package/dist/chunks/chunk.L3MJ3UC7.js +1 -0
  14. package/dist/chunks/chunk.LR75BDGN.js +20 -0
  15. package/dist/chunks/chunk.OFDFUT7C.js +1 -0
  16. package/dist/chunks/{chunk.LFXZGORR.js → chunk.VA2JNCZO.js} +1 -1
  17. package/dist/chunks/chunk.VNFZXHID.js +1 -0
  18. package/dist/chunks/chunk.XNPNEHIJ.js +1 -0
  19. package/dist/chunks/{chunk.OKOD2JGL.js → chunk.YH5QYI7V.js} +1 -1
  20. package/dist/chunks/chunk.ZU62FSGZ.js +105 -0
  21. package/dist/components/consent/consent.component.js +1 -1
  22. package/dist/components/consent/consent.js +1 -1
  23. package/dist/components/consent/consent.styles.js +1 -1
  24. package/dist/components/file-input-dropzone/file-input-dropzone.component.d.ts +39 -0
  25. package/dist/components/file-input-dropzone/file-input-dropzone.component.js +1 -0
  26. package/dist/components/file-input-dropzone/file-input-dropzone.d.ts +8 -0
  27. package/dist/components/file-input-dropzone/file-input-dropzone.js +1 -0
  28. package/dist/components/file-input-dropzone/file-input-dropzone.styles.d.ts +2 -0
  29. package/dist/components/file-input-dropzone/file-input-dropzone.styles.js +1 -0
  30. package/dist/components/header/header.component.d.ts +0 -2
  31. package/dist/components/header/header.component.js +1 -1
  32. package/dist/components/header/header.js +1 -1
  33. package/dist/components/header/header.styles.js +1 -1
  34. package/dist/components/list-card/list-card.component.d.ts +16 -0
  35. package/dist/components/list-card/list-card.component.js +1 -0
  36. package/dist/components/list-card/list-card.d.ts +7 -0
  37. package/dist/components/list-card/list-card.js +1 -0
  38. package/dist/components/list-card/list-card.styles.d.ts +2 -0
  39. package/dist/components/list-card/list-card.styles.js +1 -0
  40. package/dist/components/logo/logo.component.js +1 -1
  41. package/dist/components/logo/logo.js +1 -1
  42. package/dist/components/logo/logo.styles.js +1 -1
  43. package/dist/components/tracking/tracking.component.js +1 -1
  44. package/dist/components/tracking/tracking.js +1 -1
  45. package/dist/hotosm-ui.d.ts +4 -2
  46. package/dist/hotosm-ui.js +1 -1
  47. package/dist/style.css +4 -3
  48. package/dist/themes/{hot-wa-override.css → hot-wa.css} +122 -323
  49. package/dist/themes/hot.css +15 -15
  50. package/dist/utils/shadow-dom-css.d.ts +3 -17
  51. package/package.json +16 -3
  52. package/dist/chunks/chunk.2NK5PHJW.js +0 -1531
  53. package/dist/chunks/chunk.6EX2DAUF.js +0 -1
  54. package/dist/chunks/chunk.6HOFUZAE.js +0 -69
  55. package/dist/chunks/chunk.C6I42VVF.js +0 -28
  56. package/dist/chunks/chunk.N7VH3RWY.js +0 -688
  57. package/dist/chunks/chunk.NXHCSWIR.js +0 -1
  58. package/dist/chunks/chunk.OHYOXYF2.js +0 -25
  59. package/dist/chunks/chunk.PSMDEZL4.js +0 -1
  60. package/dist/chunks/chunk.U4WXIJS7.js +0 -1
  61. package/dist/themes/hot-button-override.css +0 -246
package/README.md CHANGED
@@ -192,7 +192,7 @@ are bound to slightly differently:
192
192
  For **styling**, check `/theme`:
193
193
 
194
194
  - `hot.css` has a HOT theme, used across HOT components.
195
- - `hot-wa-override.css` has a WebAwesome theme, re-defining style variables.
195
+ - `hot-wa.css` has a WebAwesome theme, re-defining style variables.
196
196
 
197
197
  ### License
198
198
 
@@ -1,4 +1,4 @@
1
- import{b as e}from"./chunk.C6I42VVF.js";var t=e`
1
+ import{a as e}from"./chunk.KNTMZWRV.js";var t=e`
2
2
  .logo {
3
3
  line-height: 0;
4
4
  height: var(--hot-spacing-3x-large)
@@ -0,0 +1 @@
1
+ import{b as o}from"./chunk.YH5QYI7V.js";var t=o;customElements.define("hot-logo",o);export{t as a};
@@ -1,10 +1,11 @@
1
- import{b as f}from"./chunk.C6I42VVF.js";import{a as h,c as u}from"./chunk.N2W26RCT.js";function p(t){var r,e,a="";if(typeof t=="string"||typeof t=="number")a+=t;else if(typeof t=="object")if(Array.isArray(t)){var n=t.length;for(r=0;r<n;r++)t[r]&&(e=p(t[r]))&&(a&&(a+=" "),a+=e)}else for(e in t)t[e]&&(a&&(a+=" "),a+=e);return a}function b(){for(var t,r,e=0,a="",n=arguments.length;e<n;e++)(t=arguments[e])&&(r=p(t))&&(a&&(a+=" "),a+=r);return a}var x=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,y=b,w=(t,r)=>e=>{var a;if((r==null?void 0:r.variants)==null)return y(t,e==null?void 0:e.class,e==null?void 0:e.className);let{variants:n,defaultVariants:s}=r,z=Object.keys(n).map(o=>{let i=e==null?void 0:e[o],d=s==null?void 0:s[o];if(i===null)return null;let l=x(i)||x(d);return n[o][l]}),m=e&&Object.entries(e).reduce((o,i)=>{let[d,l]=i;return l===void 0||(o[d]=l),o},{}),j=r==null||(a=r.compoundVariants)===null||a===void 0?void 0:a.reduce((o,i)=>{let v=i,{class:d,className:l}=v,k=u(v,["class","className"]);return Object.entries(k).every(V=>{let[g,c]=V;return Array.isArray(c)?c.includes(h(h({},s),m)[g]):h(h({},s),m)[g]===c})?[...o,d,l]:o},[]);return y(t,z,j,e==null?void 0:e.class,e==null?void 0:e.className)};var S=w(`
1
+ import{a as f}from"./chunk.KNTMZWRV.js";import{a as h,c as v}from"./chunk.N2W26RCT.js";function p(t){var r,e,a="";if(typeof t=="string"||typeof t=="number")a+=t;else if(typeof t=="object")if(Array.isArray(t)){var n=t.length;for(r=0;r<n;r++)t[r]&&(e=p(t[r]))&&(a&&(a+=" "),a+=e)}else for(e in t)t[e]&&(a&&(a+=" "),a+=e);return a}function b(){for(var t,r,e=0,a="",n=arguments.length;e<n;e++)(t=arguments[e])&&(r=p(t))&&(a&&(a+=" "),a+=r);return a}var x=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,y=b,w=(t,r)=>e=>{var a;if((r==null?void 0:r.variants)==null)return y(t,e==null?void 0:e.class,e==null?void 0:e.className);let{variants:n,defaultVariants:s}=r,z=Object.keys(n).map(o=>{let i=e==null?void 0:e[o],d=s==null?void 0:s[o];if(i===null)return null;let l=x(i)||x(d);return n[o][l]}),m=e&&Object.entries(e).reduce((o,i)=>{let[d,l]=i;return l===void 0||(o[d]=l),o},{}),j=r==null||(a=r.compoundVariants)===null||a===void 0?void 0:a.reduce((o,i)=>{let g=i,{class:d,className:l}=g,k=v(g,["class","className"]);return Object.entries(k).every(V=>{let[u,c]=V;return Array.isArray(c)?c.includes(h(h({},s),m)[u]):h(h({},s),m)[u]===c})?[...o,d,l]:o},[]);return y(t,z,j,e==null?void 0:e.class,e==null?void 0:e.className)};var S=w(`
2
2
  header
3
3
  `,{variants:{size:{small:"header--size-small",medium:"header--size-medium",large:"header--size-large"},borderBottom:{true:"border-bottom"}}}),_=f`
4
4
  .header {
5
5
  display: flex;
6
- align-items: center;
6
+ align-items: stretch;
7
7
  justify-content: space-between;
8
+ height: auto;
8
9
  padding: 0 var(--hot-spacing-small);
9
10
  }
10
11
 
@@ -28,14 +29,15 @@ import{b as f}from"./chunk.C6I42VVF.js";import{a as h,c as u}from"./chunk.N2W26R
28
29
  text-decoration: none;
29
30
  display: flex;
30
31
  align-items: center;
31
- justify-content: space-between;
32
- gap: var(--hot-spacing-small);
32
+ justify-content: flex-start;
33
+ padding-right: var(--hot-spacing-2x-small);
34
+ gap: var(--hot-spacing-x-small);
33
35
  }
34
36
 
35
37
  .header--title {
36
38
  color: var(--hot-color-neutral-950);
37
39
  font-family: var(--hot-font-sans);
38
- font-size: var(--hot-font-size-x-large);
40
+ font-size: var(--hot-font-size-large);
39
41
  }
40
42
 
41
43
  .header--tab::part(base) {
@@ -72,13 +74,13 @@ import{b as f}from"./chunk.C6I42VVF.js";import{a as h,c as u}from"./chunk.N2W26R
72
74
  }
73
75
 
74
76
  .header--nav {
75
- justify-content: space-between;
76
- justify-items: center;
77
- gap: var(--hot-spacing-medium);
78
- font-weight: var(--hot-font-weight-semibold);
77
+ display: none;
79
78
  }
80
79
 
81
80
  .header--nav-mobile {
81
+ display: block;
82
+ width: 100%;
83
+ margin-top: var(--hot-spacing-small);
82
84
  }
83
85
 
84
86
  .header--person-circle {
@@ -86,21 +88,27 @@ import{b as f}from"./chunk.C6I42VVF.js";import{a as h,c as u}from"./chunk.N2W26R
86
88
  }
87
89
 
88
90
  .header--drawer {
89
- font-size: var(--hot-font-size-x-large)
91
+ font-size: var(--hot-font-size-x-large);
90
92
  }
91
93
 
92
94
  .header--right-section {
93
95
  display: flex;
94
96
  align-items: center;
95
- gap: var(--hot-spacing-small);
97
+ justify-content: flex-end;
98
+ gap: var(--hot-spacing-x-small);
96
99
  }
97
100
 
98
-
99
-
100
101
  .header--logo-img {
102
+ max-height: 2.5rem;
103
+ width: auto;
101
104
  }
102
105
 
103
-
106
+ wa-button[appearance="outlined"] {
107
+ /* Make drawer button larger for touch */
108
+ min-width: 2.5rem;
109
+ min-height: 2.5rem;
110
+ padding: 0.5rem;
111
+ }
104
112
 
105
113
  /* Login Modal Styles */
106
114
  .login-modal {
@@ -109,44 +117,50 @@ import{b as f}from"./chunk.C6I42VVF.js";import{a as h,c as u}from"./chunk.N2W26R
109
117
  --background-color: white;
110
118
  }
111
119
 
112
- /* --- Responsive styles for mobile --- */
113
- @media (max-width: 768px) {
120
+ /* --- Responsive styles for tablet and desktop --- */
121
+ @media (min-width: 769px) {
114
122
  .header {
115
- flex-direction: column;
116
- align-items: stretch;
117
- padding: var(--hot-spacing-small);
123
+ align-items: center;
118
124
  height: auto;
119
125
  }
126
+
120
127
  .header--link {
121
- justify-content: flex-start;
122
- gap: var(--hot-spacing-x-small);
128
+ justify-content: space-between;
129
+ padding-right: 0;
130
+ gap: var(--hot-spacing-small);
123
131
  }
132
+
124
133
  .header--title {
125
- font-size: var(--hot-font-size-large);
134
+ font-size: var(--hot-font-size-x-large);
126
135
  }
136
+
127
137
  .header--nav {
128
- display: none;
138
+ display: flex;
139
+ justify-content: space-between;
140
+ justify-items: center;
141
+ gap: var(--hot-spacing-medium);
142
+ font-weight: var(--hot-font-weight-semibold);
129
143
  }
144
+
130
145
  .header--nav-mobile {
131
- display: block;
132
- width: 100%;
133
- margin-top: var(--hot-spacing-small);
146
+ display: none;
134
147
  }
148
+
135
149
  .header--right-section {
136
- justify-content: flex-end;
137
- width: 100%;
138
- margin-top: var(--hot-spacing-small);
139
- gap: var(--hot-spacing-x-small);
150
+ justify-content: center;
151
+ margin-top: 0;
152
+ gap: var(--hot-spacing-small);
140
153
  }
154
+
141
155
  .header--logo-img {
142
- max-height: 2.5rem;
156
+ max-height: none;
143
157
  width: auto;
144
158
  }
159
+
145
160
  wa-button[appearance="outlined"] {
146
- /* Make drawer button larger for touch */
147
- min-width: 2.5rem;
148
- min-height: 2.5rem;
149
- padding: 0.5rem;
161
+ min-width: auto;
162
+ min-height: auto;
163
+ padding: initial;
150
164
  }
151
165
  }
152
166
  `;export{S as a,_ as b};
@@ -1,4 +1,4 @@
1
- import{b as o}from"./chunk.C6I42VVF.js";var t=o`
1
+ import{a as o}from"./chunk.KNTMZWRV.js";var t=o`
2
2
  :host {
3
3
  display: block;
4
4
  }
@@ -15,7 +15,7 @@ import{b as o}from"./chunk.C6I42VVF.js";var t=o`
15
15
  display: flex;
16
16
  align-items: center;
17
17
  justify-content: center;
18
- padding: 1rem;
18
+ padding: 0.25rem;
19
19
  animation: fadeIn 0.3s ease-out;
20
20
  }
21
21
 
@@ -30,7 +30,7 @@ import{b as o}from"./chunk.C6I42VVF.js";var t=o`
30
30
 
31
31
  .consent-container {
32
32
  width: 100%;
33
- max-width: 600px;
33
+ max-width: 100%;
34
34
  animation: slideUp 0.4s ease-out;
35
35
  }
36
36
 
@@ -73,12 +73,12 @@ import{b as o}from"./chunk.C6I42VVF.js";var t=o`
73
73
  }
74
74
 
75
75
  .consent-content {
76
- padding: 1.5rem;
76
+ padding: 0.75rem;
77
77
  }
78
78
 
79
79
  .consent-header {
80
80
  font-weight: 600;
81
- font-size: 1.5rem;
81
+ font-size: 1.125rem;
82
82
  line-height: 1.3;
83
83
  margin: 0 0 1rem 0;
84
84
  color: #1f2937;
@@ -92,7 +92,7 @@ import{b as o}from"./chunk.C6I42VVF.js";var t=o`
92
92
 
93
93
  .consent-message p {
94
94
  margin: 0 0 1rem 0;
95
- font-size: 1rem;
95
+ font-size: 0.875rem;
96
96
  line-height: 1.6;
97
97
  color: #4b5563;
98
98
  }
@@ -103,13 +103,15 @@ import{b as o}from"./chunk.C6I42VVF.js";var t=o`
103
103
 
104
104
  .consent-actions {
105
105
  display: flex;
106
- gap: 1rem;
106
+ flex-direction: column;
107
+ gap: 0.75rem;
107
108
  justify-content: center;
108
109
  flex-wrap: wrap;
109
110
  }
110
111
 
111
112
  .consent-button {
112
- min-width: 120px;
113
+ width: 100%;
114
+ min-width: auto;
113
115
  font-weight: 500;
114
116
  transition: all 0.2s ease;
115
117
  border-radius: 8px;
@@ -142,14 +144,37 @@ import{b as o}from"./chunk.C6I42VVF.js";var t=o`
142
144
  border-color: var(--hot-color-red-700);
143
145
  }
144
146
 
145
- /* Responsive design */
146
- @media (max-width: 768px) {
147
- .consent-overlay {
148
- padding: 0.5rem;
147
+ /* Focus styles for accessibility */
148
+ .consent-button:focus {
149
+ outline: 2px solid var(--hot-color-red-500);
150
+ outline-offset: 2px;
151
+ }
152
+
153
+ /* High contrast mode support */
154
+ @media (prefers-contrast: high) {
155
+ .consent-callout {
156
+ border: 2px solid #000;
149
157
  }
150
158
 
151
- .consent-container {
152
- max-width: 100%;
159
+ .consent-button {
160
+ border-width: 2px;
161
+ }
162
+ }
163
+
164
+ /* Reduced motion support */
165
+ @media (prefers-reduced-motion: reduce) {
166
+ .consent-overlay,
167
+ .consent-container,
168
+ .consent-button {
169
+ animation: none;
170
+ transition: none;
171
+ }
172
+ }
173
+
174
+ /* Responsive design for larger screens */
175
+ @media (min-width: 481px) {
176
+ .consent-overlay {
177
+ padding: 0.5rem;
153
178
  }
154
179
 
155
180
  .consent-content {
@@ -160,59 +185,39 @@ import{b as o}from"./chunk.C6I42VVF.js";var t=o`
160
185
  font-size: 1.25rem;
161
186
  }
162
187
 
163
- .consent-actions {
164
- flex-direction: column;
165
- gap: 0.75rem;
188
+ .consent-message p {
189
+ font-size: 1rem;
166
190
  }
167
191
 
168
- .consent-button {
169
- width: 100%;
170
- min-width: auto;
192
+ .consent-actions {
193
+ gap: 1rem;
171
194
  }
172
195
  }
173
196
 
174
- @media (max-width: 480px) {
197
+ @media (min-width: 769px) {
175
198
  .consent-overlay {
176
- padding: 0.25rem;
177
- }
178
-
179
- .consent-content {
180
- padding: 0.75rem;
199
+ padding: 1rem;
181
200
  }
182
201
 
183
- .consent-header {
184
- font-size: 1.125rem;
202
+ .consent-container {
203
+ max-width: 600px;
185
204
  }
186
205
 
187
- .consent-message p {
188
- font-size: 0.875rem;
206
+ .consent-content {
207
+ padding: 1.5rem;
189
208
  }
190
- }
191
-
192
- /* Focus styles for accessibility */
193
- .consent-button:focus {
194
- outline: 2px solid var(--hot-color-red-500);
195
- outline-offset: 2px;
196
- }
197
209
 
198
- /* High contrast mode support */
199
- @media (prefers-contrast: high) {
200
- .consent-callout {
201
- border: 2px solid #000;
210
+ .consent-header {
211
+ font-size: 1.5rem;
202
212
  }
203
213
 
204
- .consent-button {
205
- border-width: 2px;
214
+ .consent-actions {
215
+ flex-direction: row;
206
216
  }
207
- }
208
217
 
209
- /* Reduced motion support */
210
- @media (prefers-reduced-motion: reduce) {
211
- .consent-overlay,
212
- .consent-container,
213
218
  .consent-button {
214
- animation: none;
215
- transition: none;
219
+ width: auto;
220
+ min-width: 120px;
216
221
  }
217
222
  }
218
223
  `;export{t as a};