@hotosm/ui 0.3.2-b7 → 0.3.2-b8

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.
@@ -1,179 +0,0 @@
1
- import{b as p}from"./chunk.TNLBUOUK.js";import{a as h,c as g}from"./chunk.NI7UJOOZ.js";function b(r){var e,o,t="";if(typeof r=="string"||typeof r=="number")t+=r;else if(typeof r=="object")if(Array.isArray(r)){var i=r.length;for(e=0;e<i;e++)r[e]&&(o=b(r[e]))&&(t&&(t+=" "),t+=o)}else for(o in r)r[o]&&(t&&(t+=" "),t+=o);return t}function f(){for(var r,e,o=0,t="",i=arguments.length;o<i;o++)(r=arguments[o])&&(e=b(r))&&(t&&(t+=" "),t+=e);return t}var y=r=>typeof r=="boolean"?`${r}`:r===0?"0":r,x=f,w=(r,e)=>o=>{var t;if((e==null?void 0:e.variants)==null)return x(r,o==null?void 0:o.class,o==null?void 0:o.className);let{variants:i,defaultVariants:s}=e,z=Object.keys(i).map(a=>{let l=o==null?void 0:o[a],d=s==null?void 0:s[a];if(l===null)return null;let n=y(l)||y(d);return i[a][n]}),m=o&&Object.entries(o).reduce((a,l)=>{let[d,n]=l;return n===void 0||(a[d]=n),a},{}),A=e==null||(t=e.compoundVariants)===null||t===void 0?void 0:t.reduce((a,l)=>{let u=l,{class:d,className:n}=u,O=g(u,["class","className"]);return Object.entries(O).every(C=>{let[v,c]=C;return Array.isArray(c)?c.includes(h(h({},s),m)[v]):h(h({},s),m)[v]===c})?[...a,d,n]:a},[]);return x(r,z,A,o==null?void 0:o.class,o==null?void 0:o.className)};var V=w(`
2
- header
3
- `,{variants:{size:{small:"header--size-small",medium:"header--size-medium",large:"header--size-large"},borderBottom:{true:"border-bottom"}}}),F=p`
4
- .header {
5
- display: flex;
6
- align-items: center;
7
- justify-content: space-between;
8
- padding: 0 var(--hot-spacing-small);
9
- }
10
-
11
- .header.border-bottom {
12
- border-bottom: var(--hot-spacing-3x-small) solid var(--hot-color-neutral-50);
13
- }
14
-
15
- .header--size-small {
16
- height: var(--hot-spacing-4x-large);
17
- }
18
-
19
- .header--size-medium {
20
- height: calc(var(--hot-spacing-4x-large) * 2);
21
- }
22
-
23
- .header--size-large {
24
- height: calc(var(--hot-spacing-4x-large) * 4);
25
- }
26
-
27
- .header--link {
28
- text-decoration: none;
29
- display: flex;
30
- align-items: center;
31
- justify-content: space-between;
32
- gap: var(--hot-spacing-small);
33
- }
34
-
35
- .header--title {
36
- color: var(--hot-color-neutral-950);
37
- font-family: var(--hot-font-sans);
38
- font-size: var(--hot-font-size-x-large);
39
- }
40
-
41
- .header--tab::part(base) {
42
- font-size: var(--hot-font-size-medium);
43
- font-weight: var(--hot-font-weight-normal);
44
- color: var(--hot-color-neutral-950);
45
- padding: var(--hot-spacing-small) var(--hot-spacing-small);
46
- }
47
-
48
- .header--tab-group::part(base) {
49
- --track-color: transparent;
50
- --indicator-color: none;
51
- }
52
-
53
- .header--nav {
54
- justify-content: space-between;
55
- justify-items: center;
56
- gap: var(--hot-spacing-medium);
57
- font-weight: var(--hot-font-weight-semibold);
58
- }
59
-
60
- .header--nav-mobile {
61
- }
62
-
63
- .header--person-circle {
64
- font-size: var(--hot-font-size-x-large);
65
- }
66
-
67
- .header--drawer {
68
- font-size: var(--hot-font-size-x-large)
69
- }
70
-
71
- .header--right-section {
72
- display: flex;
73
- align-items: center;
74
- gap: var(--hot-spacing-small);
75
- }
76
-
77
- .header--logo-img {
78
- }
79
-
80
- .header--tab {
81
- border-bottom: 2px solid;
82
- border-color: transparent;
83
- }
84
- .header--tab-active {
85
- border-color: var(--hot-color-neutral-1000);
86
- }
87
-
88
- /* Login Modal Styles */
89
- .login-modal {
90
- --width: 35rem;
91
- --border-radius: 8px;
92
- --background-color: white;
93
- }
94
-
95
- /* Global wa-button styling when shadow DOM is disabled */
96
- wa-button {
97
- /* HOT Color primitives */
98
- --hot-color-red-950: #A52A28;
99
- --hot-color-red-900: #B9302D;
100
- --hot-color-red-800: #B83032;
101
- --hot-color-red-700: #C53639;
102
- --hot-color-red-600: #D73F3F;
103
- --hot-color-red-500: #F34D47;
104
- --hot-color-red-400: #ED5C5E;
105
- --hot-color-red-300: #E27A7D;
106
- --hot-color-red-200: #EC9EA1;
107
- --hot-color-red-100: #FDD0D6;
108
- --hot-color-red-50: #FEECEF;
109
-
110
- /* HOT Semantic colors */
111
- --hot-color-primary-950: var(--hot-color-red-950);
112
- --hot-color-primary-900: var(--hot-color-red-900);
113
- --hot-color-primary-800: var(--hot-color-red-800);
114
- --hot-color-primary-700: var(--hot-color-red-700);
115
- --hot-color-primary-600: var(--hot-color-red-600);
116
- --hot-color-primary-500: var(--hot-color-red-500);
117
- --hot-color-primary-400: var(--hot-color-red-400);
118
- --hot-color-primary-300: var(--hot-color-red-300);
119
- --hot-color-primary-200: var(--hot-color-red-200);
120
- --hot-color-primary-100: var(--hot-color-red-100);
121
- --hot-color-primary-50: var(--hot-color-red-50);
122
-
123
- /* HOT Typography */
124
- --hot-font-sans: Archivo, -apple-system, Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
125
- --hot-font-weight-semibold: 500;
126
- --hot-font-weight-bold: 700;
127
-
128
- /* HOT Spacing */
129
- --hot-spacing-x-small: 0.5rem;
130
- --hot-spacing-small: 0.75rem;
131
- --hot-spacing-medium: 1rem;
132
- --hot-spacing-large: 1.25rem;
133
-
134
- /* HOT Border radius */
135
- --hot-border-radius-medium: 0.25rem;
136
- --hot-border-radius-circle: 50%;
137
-
138
- /* HOT Font sizes */
139
- --hot-font-size-small: 0.875rem;
140
- --hot-font-size-medium: 1rem;
141
- --hot-font-size-large: 1.25rem;
142
- }
143
-
144
- /* Apply HOT styling to button parts */
145
- wa-button::part(base) {
146
- font-family: var(--hot-font-sans);
147
- font-weight: var(--hot-font-weight-semibold);
148
- border-radius: var(--hot-border-radius-medium);
149
- transition: all 0.2s ease-in-out;
150
- }
151
-
152
- wa-button::part(base):hover {
153
- transform: translateY(-1px);
154
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
155
- }
156
-
157
- wa-button::part(base):active {
158
- transform: translateY(0);
159
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
160
- }
161
-
162
- wa-button::part(label) {
163
- font-family: var(--hot-font-sans);
164
- font-weight: var(--hot-font-weight-semibold);
165
- }
166
-
167
- /* Login button specific styling */
168
- wa-button.login-button::part(base) {
169
- background: linear-gradient(135deg, var(--hot-color-primary-500), var(--hot-color-primary-600));
170
- border: none;
171
- color: white;
172
- padding: var(--hot-spacing-small) var(--hot-spacing-medium);
173
- font-size: var(--hot-font-size-medium);
174
- }
175
-
176
- wa-button.login-button::part(base):hover {
177
- background: linear-gradient(135deg, var(--hot-color-primary-600), var(--hot-color-primary-700));
178
- }
179
- `;export{V as a,F as b};
@@ -1 +0,0 @@
1
- function e(){}var n=e;export{n as a};
@@ -1 +0,0 @@
1
- import{b as t}from"./chunk.NQSLFHXC.js";var o=t;customElements.define("hot-button",t);export{o as a};
@@ -1 +0,0 @@
1
- import{b as e}from"./chunk.6YNKD56X.js";var r=e;customElements.define("hot-header",e);export{r as a};
@@ -1 +0,0 @@
1
- import{b as e}from"./chunk.OSUPNFJP.js";var n=e;customElements.define("hot-consent",e);export{n as a};
@@ -1,58 +0,0 @@
1
- /**
2
- * Configuration for shadow DOM handling in HOT UI components
3
- */
4
- export interface ShadowDOMConfig {
5
- /** Whether to disable shadow DOM for Lit components */
6
- disableShadowDOM: boolean;
7
- /** Whether to inject CSS into shadow DOM when not disabled */
8
- injectCSS: boolean;
9
- /** Whether to use mutation observers for dynamic content */
10
- useMutationObserver: boolean;
11
- }
12
- /**
13
- * Default configuration
14
- * - disableShadowDOM: false (keep shadow DOM for encapsulation)
15
- * - injectCSS: true (inject HOT theme CSS into shadow DOM)
16
- * - useMutationObserver: true (automatically handle dynamic content)
17
- */
18
- export declare const defaultShadowDOMConfig: ShadowDOMConfig;
19
- /**
20
- * Configuration that disables shadow DOM entirely
21
- * Use this when you want global CSS to penetrate all components
22
- */
23
- export declare const noShadowDOMConfig: ShadowDOMConfig;
24
- /**
25
- * Configuration that keeps shadow DOM but injects CSS
26
- * Use this for maximum encapsulation with HOT theming
27
- */
28
- export declare const injectCSSConfig: ShadowDOMConfig;
29
- /**
30
- * Global configuration instance
31
- * Can be modified at runtime to change behavior
32
- */
33
- export declare let globalShadowDOMConfig: ShadowDOMConfig;
34
- /**
35
- * Set the global shadow DOM configuration
36
- * @param config The configuration to use
37
- */
38
- export declare function setShadowDOMConfig(config: ShadowDOMConfig): void;
39
- /**
40
- * Get the current global shadow DOM configuration
41
- * @returns The current configuration
42
- */
43
- export declare function getShadowDOMConfig(): ShadowDOMConfig;
44
- /**
45
- * Helper function to determine if shadow DOM should be disabled for a component
46
- * @returns True if shadow DOM should be disabled
47
- */
48
- export declare function shouldDisableShadowDOM(): boolean;
49
- /**
50
- * Helper function to determine if CSS should be injected into shadow DOM
51
- * @returns True if CSS should be injected
52
- */
53
- export declare function shouldInjectCSS(): boolean;
54
- /**
55
- * Helper function to determine if mutation observers should be used
56
- * @returns True if mutation observers should be used
57
- */
58
- export declare function shouldUseMutationObserver(): boolean;