@oti-adjei/ui 0.1.0-beta.5 → 0.1.0-beta.6
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/custom-elements.json +6768 -0
- package/dist/angular.d.ts +406 -0
- package/dist/components/alert/alert.d.ts +18 -7
- package/dist/components/alert/alert.d.ts.map +1 -1
- package/dist/components/avatar/avatar.d.ts +36 -9
- package/dist/components/avatar/avatar.d.ts.map +1 -1
- package/dist/components/badge/badge.d.ts +19 -6
- package/dist/components/badge/badge.d.ts.map +1 -1
- package/dist/components/banner/banner.d.ts +18 -11
- package/dist/components/banner/banner.d.ts.map +1 -1
- package/dist/components/button/button.d.ts +30 -8
- package/dist/components/button/button.d.ts.map +1 -1
- package/dist/components/card/card.d.ts +8 -1
- package/dist/components/card/card.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox.d.ts +12 -6
- package/dist/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/dropdown/dropdown.d.ts +19 -9
- package/dist/components/dropdown/dropdown.d.ts.map +1 -1
- package/dist/components/event-card/event-card.d.ts +13 -8
- package/dist/components/event-card/event-card.d.ts.map +1 -1
- package/dist/components/footer/footer-group.d.ts +1 -1
- package/dist/components/footer/footer-group.d.ts.map +1 -1
- package/dist/components/footer/footer.d.ts +2 -2
- package/dist/components/footer/footer.d.ts.map +1 -1
- package/dist/components/game-card/game-card.d.ts +4 -4
- package/dist/components/game-card/game-card.d.ts.map +1 -1
- package/dist/components/icon-box/icon-box.d.ts +13 -2
- package/dist/components/icon-box/icon-box.d.ts.map +1 -1
- package/dist/components/input/input.d.ts +26 -13
- package/dist/components/input/input.d.ts.map +1 -1
- package/dist/components/league-card/league-card.d.ts +4 -4
- package/dist/components/league-card/league-card.d.ts.map +1 -1
- package/dist/components/logo/logo.d.ts +14 -5
- package/dist/components/logo/logo.d.ts.map +1 -1
- package/dist/components/modal/modal.d.ts +15 -7
- package/dist/components/modal/modal.d.ts.map +1 -1
- package/dist/components/navigation/navigation.d.ts +7 -4
- package/dist/components/navigation/navigation.d.ts.map +1 -1
- package/dist/components/navigation/tab-nav.d.ts +6 -3
- package/dist/components/navigation/tab-nav.d.ts.map +1 -1
- package/dist/components/pagination/pagination.d.ts +12 -6
- package/dist/components/pagination/pagination.d.ts.map +1 -1
- package/dist/components/profile/profile.d.ts +8 -5
- package/dist/components/profile/profile.d.ts.map +1 -1
- package/dist/components/progress/progress.d.ts +23 -7
- package/dist/components/progress/progress.d.ts.map +1 -1
- package/dist/components/scroll/scroll.d.ts +15 -3
- package/dist/components/scroll/scroll.d.ts.map +1 -1
- package/dist/components/search/search.d.ts +15 -6
- package/dist/components/search/search.d.ts.map +1 -1
- package/dist/components/stat/stat.d.ts +4 -1
- package/dist/components/stat/stat.d.ts.map +1 -1
- package/dist/components/switch/switch.d.ts +8 -5
- package/dist/components/switch/switch.d.ts.map +1 -1
- package/dist/components/table/table.d.ts +12 -9
- package/dist/components/table/table.d.ts.map +1 -1
- package/dist/components/tournament-card/tournament-card.d.ts +15 -8
- package/dist/components/tournament-card/tournament-card.d.ts.map +1 -1
- package/dist/components/user-card/user-card.d.ts +3 -3
- package/dist/components/user-card/user-card.d.ts.map +1 -1
- package/dist/react.d.ts +1160 -0
- package/dist/svelte.d.ts +518 -0
- package/dist/vue.d.ts +585 -0
- package/package.json +18 -2
|
@@ -0,0 +1,406 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Angular type declarations for @oti-adjei/ui web components.
|
|
3
|
+
*
|
|
4
|
+
* Provides typed interfaces for each custom element so that Angular
|
|
5
|
+
* `@ViewChild` / `ElementRef` usages are fully type-safe.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* import type { MhButtonElement } from '@oti-adjei/ui/angular';
|
|
9
|
+
*
|
|
10
|
+
* @ViewChild('myBtn') btn!: ElementRef<MhButtonElement>;
|
|
11
|
+
* this.btn.nativeElement.variant = 'primary'; // ✅ typed
|
|
12
|
+
*
|
|
13
|
+
* Angular setup:
|
|
14
|
+
* // Standalone component
|
|
15
|
+
* @Component({ ..., schemas: [CUSTOM_ELEMENTS_SCHEMA] })
|
|
16
|
+
*
|
|
17
|
+
* // NgModule
|
|
18
|
+
* @NgModule({ ..., schemas: [CUSTOM_ELEMENTS_SCHEMA] })
|
|
19
|
+
*
|
|
20
|
+
* // main.ts — register elements
|
|
21
|
+
* import '@oti-adjei/ui';
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
// ─── Button ───────────────────────────────────────────────────────────────────
|
|
25
|
+
|
|
26
|
+
export interface MhButtonElement extends HTMLElement {
|
|
27
|
+
/**
|
|
28
|
+
* Visual variant.
|
|
29
|
+
* @default 'primary'
|
|
30
|
+
*/
|
|
31
|
+
variant: 'primary' | 'secondary' | 'ghost' | 'danger' | 'dark' | 'social';
|
|
32
|
+
/** @default 'md' */
|
|
33
|
+
size: 'sm' | 'md' | 'lg' | 'xl';
|
|
34
|
+
/** @default 'uppercase' */
|
|
35
|
+
textCase: 'uppercase' | 'lowercase' | 'capitalize' | 'none';
|
|
36
|
+
disabled: boolean;
|
|
37
|
+
loading: boolean;
|
|
38
|
+
/** @default 'button' */
|
|
39
|
+
type: 'button' | 'submit' | 'reset';
|
|
40
|
+
href: string | undefined;
|
|
41
|
+
fullWidth: boolean;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// ─── Input ────────────────────────────────────────────────────────────────────
|
|
45
|
+
|
|
46
|
+
export interface MhInputElement extends HTMLElement {
|
|
47
|
+
/** @default 'text' */
|
|
48
|
+
type: 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url' | 'date';
|
|
49
|
+
/** @default 'md' */
|
|
50
|
+
size: 'sm' | 'md' | 'lg';
|
|
51
|
+
value: string;
|
|
52
|
+
placeholder: string;
|
|
53
|
+
label: string;
|
|
54
|
+
helpText: string;
|
|
55
|
+
disabled: boolean;
|
|
56
|
+
readonly: boolean;
|
|
57
|
+
required: boolean;
|
|
58
|
+
/** @default 'default' */
|
|
59
|
+
state: 'default' | 'error' | 'success' | 'warning';
|
|
60
|
+
errorMessage: string;
|
|
61
|
+
clearable: boolean;
|
|
62
|
+
passwordToggle: boolean;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// ─── Modal ────────────────────────────────────────────────────────────────────
|
|
66
|
+
|
|
67
|
+
export interface MhModalElement extends HTMLElement {
|
|
68
|
+
open: boolean;
|
|
69
|
+
label: string;
|
|
70
|
+
/** @default 'md' */
|
|
71
|
+
size: 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
72
|
+
noHeader: boolean;
|
|
73
|
+
noClose: boolean;
|
|
74
|
+
noOverlayDismiss: boolean;
|
|
75
|
+
noEscDismiss: boolean;
|
|
76
|
+
/** Opens the modal. */
|
|
77
|
+
show(): void;
|
|
78
|
+
/** Closes the modal. */
|
|
79
|
+
hide(): void;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// ─── Alert ────────────────────────────────────────────────────────────────────
|
|
83
|
+
|
|
84
|
+
export interface MhAlertElement extends HTMLElement {
|
|
85
|
+
/** @default 'info' */
|
|
86
|
+
variant: 'info' | 'success' | 'warning' | 'error' | 'solid-info' | 'solid-success' | 'solid-warning' | 'solid-error';
|
|
87
|
+
/** @default 'md' */
|
|
88
|
+
size: 'sm' | 'md' | 'lg';
|
|
89
|
+
closable: boolean;
|
|
90
|
+
open: boolean;
|
|
91
|
+
icon: string;
|
|
92
|
+
title: string;
|
|
93
|
+
description: string;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// ─── Avatar ───────────────────────────────────────────────────────────────────
|
|
97
|
+
|
|
98
|
+
export interface MhAvatarElement extends HTMLElement {
|
|
99
|
+
src: string;
|
|
100
|
+
alt: string;
|
|
101
|
+
initials: string;
|
|
102
|
+
/** @default 'md' */
|
|
103
|
+
size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
104
|
+
/** @default 'circle' */
|
|
105
|
+
shape: 'circle' | 'rounded' | 'square';
|
|
106
|
+
/** @default 'none' */
|
|
107
|
+
status: 'online' | 'offline' | 'away' | 'busy' | 'none';
|
|
108
|
+
/** @default 'none' */
|
|
109
|
+
border: 'none' | 'subtle' | 'primary';
|
|
110
|
+
/** @default 'none' */
|
|
111
|
+
tone: 'cyan' | 'pink' | 'orange' | 'green' | 'yellow' | 'purple' | 'primary' | 'dark' | 'none';
|
|
112
|
+
clickable: boolean;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// ─── Badge ────────────────────────────────────────────────────────────────────
|
|
116
|
+
|
|
117
|
+
export interface MhBadgeElement extends HTMLElement {
|
|
118
|
+
/** @default 'default' */
|
|
119
|
+
variant: 'default' | 'primary' | 'success' | 'error' | 'warning' | 'info' | 'solid-primary' | 'solid-success' | 'solid-error' | 'solid-warning';
|
|
120
|
+
/** @default 'md' */
|
|
121
|
+
size: 'sm' | 'md' | 'lg';
|
|
122
|
+
dot: boolean;
|
|
123
|
+
pulse: boolean;
|
|
124
|
+
removable: boolean;
|
|
125
|
+
clickable: boolean;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// ─── Card ─────────────────────────────────────────────────────────────────────
|
|
129
|
+
|
|
130
|
+
export interface MhCardElement extends HTMLElement {
|
|
131
|
+
/** @default 'default' */
|
|
132
|
+
variant: 'default' | 'featured' | 'compact' | 'interactive';
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// ─── Checkbox ─────────────────────────────────────────────────────────────────
|
|
136
|
+
|
|
137
|
+
export interface MhCheckboxElement extends HTMLElement {
|
|
138
|
+
checked: boolean;
|
|
139
|
+
indeterminate: boolean;
|
|
140
|
+
disabled: boolean;
|
|
141
|
+
/** @default 'md' */
|
|
142
|
+
size: 'sm' | 'md' | 'lg';
|
|
143
|
+
label: string;
|
|
144
|
+
description: string;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// ─── Switch ───────────────────────────────────────────────────────────────────
|
|
148
|
+
|
|
149
|
+
export interface MhSwitchElement extends HTMLElement {
|
|
150
|
+
checked: boolean;
|
|
151
|
+
/** @default 'md' */
|
|
152
|
+
size: 'sm' | 'md' | 'lg';
|
|
153
|
+
disabled: boolean;
|
|
154
|
+
label: string;
|
|
155
|
+
description: string;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// ─── Dropdown ─────────────────────────────────────────────────────────────────
|
|
159
|
+
|
|
160
|
+
export interface MhDropdownElement extends HTMLElement {
|
|
161
|
+
/** @default 'default' */
|
|
162
|
+
variant: 'default' | 'black' | 'blue';
|
|
163
|
+
open: boolean;
|
|
164
|
+
disabled: boolean;
|
|
165
|
+
right: boolean;
|
|
166
|
+
up: boolean;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export interface MhDropdownItemElement extends HTMLElement {
|
|
170
|
+
value: string;
|
|
171
|
+
disabled: boolean;
|
|
172
|
+
selected: boolean;
|
|
173
|
+
/** @default true */
|
|
174
|
+
closeOnSelect: boolean;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// ─── Search ───────────────────────────────────────────────────────────────────
|
|
178
|
+
|
|
179
|
+
export interface MhSearchElement extends HTMLElement {
|
|
180
|
+
value: string;
|
|
181
|
+
placeholder: string;
|
|
182
|
+
open: boolean;
|
|
183
|
+
clearable: boolean;
|
|
184
|
+
/** @default 'left' */
|
|
185
|
+
iconPosition: 'left' | 'right' | 'none';
|
|
186
|
+
/** @default 'md' */
|
|
187
|
+
size: 'sm' | 'md' | 'lg';
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// ─── Progress ─────────────────────────────────────────────────────────────────
|
|
191
|
+
|
|
192
|
+
export interface MhProgressElement extends HTMLElement {
|
|
193
|
+
value: number;
|
|
194
|
+
/** @default 100 */
|
|
195
|
+
max: number;
|
|
196
|
+
/** @default 'md' */
|
|
197
|
+
size: 'sm' | 'md' | 'lg' | 'xl';
|
|
198
|
+
/** @default 'primary' */
|
|
199
|
+
variant: 'primary' | 'success' | 'warning' | 'error' | 'gradient' | 'striped' | 'ring';
|
|
200
|
+
indeterminate: boolean;
|
|
201
|
+
showLabel: boolean;
|
|
202
|
+
label: string;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// ─── Pagination ───────────────────────────────────────────────────────────────
|
|
206
|
+
|
|
207
|
+
export interface MhPaginationElement extends HTMLElement {
|
|
208
|
+
page: number;
|
|
209
|
+
total: number;
|
|
210
|
+
/** @default 10 */
|
|
211
|
+
pageSize: number;
|
|
212
|
+
/** @default 'md' */
|
|
213
|
+
size: 'sm' | 'md' | 'lg';
|
|
214
|
+
simple: boolean;
|
|
215
|
+
disabled: boolean;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// ─── Navigation ───────────────────────────────────────────────────────────────
|
|
219
|
+
|
|
220
|
+
export interface MhNavElement extends HTMLElement {
|
|
221
|
+
open: boolean;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export interface MhNavItemElement extends HTMLElement {
|
|
225
|
+
href: string;
|
|
226
|
+
active: boolean;
|
|
227
|
+
dropdown: boolean;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// ─── Footer ───────────────────────────────────────────────────────────────────
|
|
231
|
+
|
|
232
|
+
export interface MhFooterElement extends HTMLElement {
|
|
233
|
+
tagline: string;
|
|
234
|
+
copyright: string;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
export interface MhFooterGroupElement extends HTMLElement {
|
|
238
|
+
heading: string;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// ─── Table ────────────────────────────────────────────────────────────────────
|
|
242
|
+
|
|
243
|
+
export interface MhTableElement extends HTMLElement {
|
|
244
|
+
striped: boolean;
|
|
245
|
+
compact: boolean;
|
|
246
|
+
bordered: boolean;
|
|
247
|
+
fixedHeader: boolean;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
export interface MhTableRowElement extends HTMLElement {
|
|
251
|
+
header: boolean;
|
|
252
|
+
highlight: boolean;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
export interface MhTableCellElement extends HTMLElement {
|
|
256
|
+
header: boolean;
|
|
257
|
+
/** @default 'left' */
|
|
258
|
+
align: 'left' | 'center' | 'right';
|
|
259
|
+
sortable: boolean;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
// ─── Scroll ───────────────────────────────────────────────────────────────────
|
|
263
|
+
|
|
264
|
+
export interface MhScrollElement extends HTMLElement {
|
|
265
|
+
/** @default 'default' */
|
|
266
|
+
variant: 'default' | 'thin' | 'minimal' | 'primary' | 'hidden' | 'global';
|
|
267
|
+
/** @default 'vertical' */
|
|
268
|
+
axis: 'both' | 'horizontal' | 'vertical';
|
|
269
|
+
smooth: boolean;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
// ─── Logo ─────────────────────────────────────────────────────────────────────
|
|
273
|
+
|
|
274
|
+
export interface MhLogoElement extends HTMLElement {
|
|
275
|
+
src: string;
|
|
276
|
+
alt: string;
|
|
277
|
+
href: string;
|
|
278
|
+
/** @default 'lockup' */
|
|
279
|
+
variant: 'lockup' | 'icon' | 'wordmark';
|
|
280
|
+
/** @default 'md' */
|
|
281
|
+
size: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
// ─── Tab Nav ──────────────────────────────────────────────────────────────────
|
|
285
|
+
|
|
286
|
+
export interface MhTabNavElement extends HTMLElement {}
|
|
287
|
+
|
|
288
|
+
export interface MhTabItemElement extends HTMLElement {
|
|
289
|
+
href: string;
|
|
290
|
+
active: boolean;
|
|
291
|
+
value: string;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
// ─── Profile ──────────────────────────────────────────────────────────────────
|
|
295
|
+
|
|
296
|
+
export interface MhProfileElement extends HTMLElement {
|
|
297
|
+
src: string;
|
|
298
|
+
alt: string;
|
|
299
|
+
initials: string;
|
|
300
|
+
name: string;
|
|
301
|
+
/** @default 'md' */
|
|
302
|
+
size: 'sm' | 'md' | 'lg';
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// ─── User Card ────────────────────────────────────────────────────────────────
|
|
306
|
+
|
|
307
|
+
export interface MhUserCardElement extends HTMLElement {
|
|
308
|
+
avatar: string;
|
|
309
|
+
tag: string;
|
|
310
|
+
username: string;
|
|
311
|
+
badge: string;
|
|
312
|
+
handle: string;
|
|
313
|
+
verified: boolean;
|
|
314
|
+
stat: string;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
// ─── Tournament Card ──────────────────────────────────────────────────────────
|
|
318
|
+
|
|
319
|
+
export interface MhTournamentCardElement extends HTMLElement {
|
|
320
|
+
image: string;
|
|
321
|
+
/** @default 'not-started' */
|
|
322
|
+
status: 'not-started' | 'live' | 'upcoming' | 'completed';
|
|
323
|
+
statusLabel: string;
|
|
324
|
+
date: string;
|
|
325
|
+
heading: string;
|
|
326
|
+
description: string;
|
|
327
|
+
prizePool: string;
|
|
328
|
+
participants: string;
|
|
329
|
+
organizerName: string;
|
|
330
|
+
organizerImage: string;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
// ─── Game Card ────────────────────────────────────────────────────────────────
|
|
334
|
+
|
|
335
|
+
export interface MhGameCardElement extends HTMLElement {
|
|
336
|
+
image: string;
|
|
337
|
+
heading: string;
|
|
338
|
+
description: string;
|
|
339
|
+
likes: string;
|
|
340
|
+
players: string;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// ─── League Card ──────────────────────────────────────────────────────────────
|
|
344
|
+
|
|
345
|
+
export interface MhLeagueCardElement extends HTMLElement {
|
|
346
|
+
heading: string;
|
|
347
|
+
description: string;
|
|
348
|
+
badge: string;
|
|
349
|
+
prizePool: string;
|
|
350
|
+
participants: string;
|
|
351
|
+
progress: number;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
// ─── Event Card ───────────────────────────────────────────────────────────────
|
|
355
|
+
|
|
356
|
+
export interface MhEventCardElement extends HTMLElement {
|
|
357
|
+
/** @default 'vertical' */
|
|
358
|
+
variant: 'vertical' | 'horizontal';
|
|
359
|
+
image: string;
|
|
360
|
+
status: string;
|
|
361
|
+
date: string;
|
|
362
|
+
heading: string;
|
|
363
|
+
description: string;
|
|
364
|
+
location: string;
|
|
365
|
+
organizerName: string;
|
|
366
|
+
organizerImage: string;
|
|
367
|
+
participants: string;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
// ─── Banner ───────────────────────────────────────────────────────────────────
|
|
371
|
+
|
|
372
|
+
export interface MhBannerElement extends HTMLElement {
|
|
373
|
+
/** @default 'default' */
|
|
374
|
+
variant: 'default' | 'search' | 'detail' | 'feature';
|
|
375
|
+
image: string;
|
|
376
|
+
heading: string;
|
|
377
|
+
description: string;
|
|
378
|
+
badge: string;
|
|
379
|
+
searchPlaceholder: string;
|
|
380
|
+
gameImage: string;
|
|
381
|
+
organizerName: string;
|
|
382
|
+
stat1: string;
|
|
383
|
+
stat1Label: string;
|
|
384
|
+
stat2: string;
|
|
385
|
+
stat2Label: string;
|
|
386
|
+
/** @default 3 */
|
|
387
|
+
dotCount: number;
|
|
388
|
+
/** @default 0 */
|
|
389
|
+
activeDot: number;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
// ─── Stat ─────────────────────────────────────────────────────────────────────
|
|
393
|
+
|
|
394
|
+
export interface MhStatElement extends HTMLElement {
|
|
395
|
+
/** @default 'md' */
|
|
396
|
+
size: 'sm' | 'md' | 'lg';
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
// ─── Icon Box ─────────────────────────────────────────────────────────────────
|
|
400
|
+
|
|
401
|
+
export interface MhIconBoxElement extends HTMLElement {
|
|
402
|
+
/** @default 'primary' */
|
|
403
|
+
variant: 'primary' | 'success' | 'error' | 'warning' | 'dark';
|
|
404
|
+
/** @default 'md' */
|
|
405
|
+
size: 'sm' | 'md' | 'lg';
|
|
406
|
+
}
|
|
@@ -10,19 +10,30 @@ import { MhElement } from '../../mh-element.js';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare class MhAlert extends MhElement {
|
|
12
12
|
static styles: import("lit").CSSResult;
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Semantic colour variant.
|
|
15
|
+
* - `info` — Blue tint (informational, default).
|
|
16
|
+
* - `success` — Green tint (operation succeeded).
|
|
17
|
+
* - `warning` — Yellow tint (proceed with caution).
|
|
18
|
+
* - `error` — Red tint (operation failed / destructive).
|
|
19
|
+
* - `solid-*` — High-contrast filled versions of the above.
|
|
20
|
+
* @default 'info'
|
|
21
|
+
*/
|
|
14
22
|
variant: 'info' | 'success' | 'warning' | 'error' | 'solid-info' | 'solid-success' | 'solid-warning' | 'solid-error';
|
|
15
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Alert size preset (affects padding and font size).
|
|
25
|
+
* @default 'md'
|
|
26
|
+
*/
|
|
16
27
|
size: 'sm' | 'md' | 'lg';
|
|
17
|
-
/**
|
|
28
|
+
/** When `true`, shows a ✕ dismiss button in the top-right corner. */
|
|
18
29
|
closable: boolean;
|
|
19
|
-
/**
|
|
30
|
+
/** Controls visibility. Set to `false` to hide the alert without removing it from the DOM. */
|
|
20
31
|
open: boolean;
|
|
21
|
-
/**
|
|
32
|
+
/** Custom icon content (SVG string or text) that overrides the default semantic icon. */
|
|
22
33
|
icon?: string;
|
|
23
|
-
/**
|
|
34
|
+
/** Bold heading text rendered above the description. */
|
|
24
35
|
heading: string;
|
|
25
|
-
/**
|
|
36
|
+
/** Secondary body text rendered below the heading. */
|
|
26
37
|
description?: string;
|
|
27
38
|
private isDismissing;
|
|
28
39
|
private handleClose;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../src/components/alert/alert.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;;;;;;GAQG;AACH,qBACa,OAAQ,SAAQ,SAAS;IACpC,MAAM,CAAC,MAAM,0BAAe;IAE5B
|
|
1
|
+
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../src/components/alert/alert.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;;;;;;GAQG;AACH,qBACa,OAAQ,SAAQ,SAAS;IACpC,MAAM,CAAC,MAAM,0BAAe;IAE5B;;;;;;;;OAQG;IAEH,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,eAAe,GAAG,eAAe,GAAG,aAAa,CAC3G;IAET;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC,qEAAqE;IAErE,QAAQ,UAAS;IAEjB,8FAA8F;IAE9F,IAAI,UAAQ;IAEZ,yFAAyF;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IAE1B,wDAAwD;IACtB,OAAO,SAAM;IAE/C,sDAAsD;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,YAAY,CAAS;IAEtC,OAAO,CAAC,WAAW;IAYnB,MAAM;CA2CP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
|
|
@@ -6,23 +6,50 @@ import { MhElement } from '../../mh-element.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class MhAvatar extends MhElement {
|
|
8
8
|
static styles: import("lit").CSSResult;
|
|
9
|
-
/**
|
|
9
|
+
/** Profile image URL. Shows initials fallback if absent or fails to load. */
|
|
10
10
|
src?: string;
|
|
11
|
-
/**
|
|
11
|
+
/** Alt text for the avatar image (used by screen readers). */
|
|
12
12
|
alt?: string;
|
|
13
|
-
/** Initials
|
|
13
|
+
/** Initials (up to 2 characters) shown inside the avatar when no image is available. */
|
|
14
14
|
initials?: string;
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Avatar size preset.
|
|
17
|
+
* @default 'md'
|
|
18
|
+
*/
|
|
16
19
|
size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
17
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Shape of the avatar container.
|
|
22
|
+
* - `circle` — Fully rounded (default).
|
|
23
|
+
* - `rounded` — Rounded corners (8px radius).
|
|
24
|
+
* - `square` — No border radius.
|
|
25
|
+
* @default 'circle'
|
|
26
|
+
*/
|
|
18
27
|
shape: 'circle' | 'rounded' | 'square';
|
|
19
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* Presence status indicator dot rendered at the bottom-right corner.
|
|
30
|
+
* - `online` — Green dot.
|
|
31
|
+
* - `offline` — Gray dot.
|
|
32
|
+
* - `away` — Yellow dot.
|
|
33
|
+
* - `busy` — Red dot.
|
|
34
|
+
* - `none` — No dot (default).
|
|
35
|
+
* @default 'none'
|
|
36
|
+
*/
|
|
20
37
|
status: 'online' | 'offline' | 'away' | 'busy' | 'none';
|
|
21
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* Border ring style rendered around the avatar.
|
|
40
|
+
* - `none` — No border (default).
|
|
41
|
+
* - `subtle` — Faint gray ring.
|
|
42
|
+
* - `primary` — Solid blue ring matching brand colour.
|
|
43
|
+
* @default 'none'
|
|
44
|
+
*/
|
|
22
45
|
border: 'none' | 'subtle' | 'primary';
|
|
23
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Background colour tone for the initials fallback circle.
|
|
48
|
+
* Each tone applies a matching accent colour. Use `none` for the default dark background.
|
|
49
|
+
* @default 'none'
|
|
50
|
+
*/
|
|
24
51
|
tone: 'cyan' | 'pink' | 'orange' | 'green' | 'yellow' | 'purple' | 'primary' | 'dark' | 'none';
|
|
25
|
-
/**
|
|
52
|
+
/** When `true`, applies a pointer cursor to signal the avatar is interactive. */
|
|
26
53
|
clickable: boolean;
|
|
27
54
|
render(): import("lit-html").TemplateResult<1>;
|
|
28
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/avatar.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;;GAIG;AACH,qBACa,QAAS,SAAQ,SAAS;IACrC,MAAM,CAAC,MAAM,0BAAgB;IAE7B,
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/avatar.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;;GAIG;AACH,qBACa,QAAS,SAAQ,SAAS;IACrC,MAAM,CAAC,MAAM,0BAAgB;IAE7B,6EAA6E;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;IAEzB,8DAA8D;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEzB,wFAAwF;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAQ;IAEtD;;;;;;OAMG;IAEH,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAY;IAElD;;;;;;;;OAQG;IAEH,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAU;IAEjE;;;;;;OAMG;IAEH,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAU;IAE/C;;;;OAIG;IAEH,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAU;IAExG,iFAAiF;IAEjF,SAAS,UAAS;IAElB,MAAM;CAyBP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
|
|
@@ -7,17 +7,30 @@ import { MhElement } from '../../mh-element.js';
|
|
|
7
7
|
*/
|
|
8
8
|
export declare class MhBadge extends MhElement {
|
|
9
9
|
static styles: import("lit").CSSResult;
|
|
10
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* Colour variant of the badge.
|
|
12
|
+
* - `default` — Subtle gray (neutral, unclassified).
|
|
13
|
+
* - `primary` — Blue.
|
|
14
|
+
* - `success` — Green.
|
|
15
|
+
* - `error` — Red.
|
|
16
|
+
* - `warning` — Yellow.
|
|
17
|
+
* - `info` — Blue tint (informational).
|
|
18
|
+
* - `solid-primary` / `solid-success` / `solid-error` / `solid-warning` — High-contrast filled variants.
|
|
19
|
+
* @default 'default'
|
|
20
|
+
*/
|
|
11
21
|
variant: 'default' | 'primary' | 'success' | 'error' | 'warning' | 'info' | 'solid-primary' | 'solid-success' | 'solid-error' | 'solid-warning';
|
|
12
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Badge size preset.
|
|
24
|
+
* @default 'md'
|
|
25
|
+
*/
|
|
13
26
|
size: 'sm' | 'md' | 'lg';
|
|
14
|
-
/**
|
|
27
|
+
/** When `true`, shows only a small coloured circle — no text is displayed. */
|
|
15
28
|
dot: boolean;
|
|
16
|
-
/**
|
|
29
|
+
/** When `true` (and `dot` is also `true`), animates the dot with a pulsing ring. */
|
|
17
30
|
pulse: boolean;
|
|
18
|
-
/**
|
|
31
|
+
/** When `true`, displays a ✕ remove button inside the badge. */
|
|
19
32
|
removable: boolean;
|
|
20
|
-
/**
|
|
33
|
+
/** When `true`, applies a pointer cursor to indicate the badge is interactive. */
|
|
21
34
|
clickable: boolean;
|
|
22
35
|
private handleRemove;
|
|
23
36
|
render(): import("lit-html").TemplateResult<1>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/badge.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;;;GAKG;AACH,qBACa,OAAQ,SAAQ,SAAS;IACpC,MAAM,CAAC,MAAM,0BAAe;IAE5B
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/badge.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;;;GAKG;AACH,qBACa,OAAQ,SAAQ,SAAS;IACpC,MAAM,CAAC,MAAM,0BAAe;IAE5B;;;;;;;;;;OAUG;IAEH,OAAO,EACH,SAAS,GACT,SAAS,GACT,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,GACN,eAAe,GACf,eAAe,GACf,aAAa,GACb,eAAe,CAAa;IAEhC;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC,8EAA8E;IAE9E,GAAG,UAAS;IAEZ,oFAAoF;IAEpF,KAAK,UAAS;IAEd,gEAAgE;IAEhE,SAAS,UAAS;IAElB,kFAAkF;IAElF,SAAS,UAAS;IAElB,OAAO,CAAC,YAAY;IAKpB,MAAM;CAkCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
|
|
@@ -32,9 +32,16 @@ import { MhElement } from '../../mh-element.js';
|
|
|
32
32
|
*/
|
|
33
33
|
export declare class MhBanner extends MhElement {
|
|
34
34
|
static styles: import("lit").CSSResult;
|
|
35
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* Layout variant controlling the banner's content structure.
|
|
37
|
+
* - `default` — Background image + dark overlay + default slot for custom content.
|
|
38
|
+
* - `search` — Centered heading + built-in search bar.
|
|
39
|
+
* - `detail` — Game artwork panel, info grid, stats, and search bar (game detail pages).
|
|
40
|
+
* - `feature` — Full-width promo with badge, organizer row, heading, and carousel dots.
|
|
41
|
+
* @default 'default'
|
|
42
|
+
*/
|
|
36
43
|
variant: 'default' | 'search' | 'detail' | 'feature';
|
|
37
|
-
/** Background image URL */
|
|
44
|
+
/** Background image URL for the banner. A dark fallback is shown when absent. */
|
|
38
45
|
image: string;
|
|
39
46
|
/** Main heading text */
|
|
40
47
|
heading: string;
|
|
@@ -42,23 +49,23 @@ export declare class MhBanner extends MhElement {
|
|
|
42
49
|
description: string;
|
|
43
50
|
/** Badge label (e.g., "CIRCUIT", "POPULAR") */
|
|
44
51
|
badge: string;
|
|
45
|
-
/**
|
|
52
|
+
/** Placeholder text for the built-in search bar (search and detail variants). */
|
|
46
53
|
searchPlaceholder: string;
|
|
47
|
-
/** Game artwork image URL
|
|
54
|
+
/** Game artwork image URL displayed in the left panel of the detail variant. */
|
|
48
55
|
gameImage: string;
|
|
49
|
-
/** Organizer display name
|
|
56
|
+
/** Organizer display name rendered in the organizer row of the feature variant. */
|
|
50
57
|
organizerName: string;
|
|
51
|
-
/**
|
|
58
|
+
/** Primary stat value shown in the stats row of the detail variant (e.g., "1st Place"). */
|
|
52
59
|
stat1: string;
|
|
53
|
-
/**
|
|
60
|
+
/** Label beneath the primary stat value (e.g., "Prize"). */
|
|
54
61
|
stat1Label: string;
|
|
55
|
-
/**
|
|
62
|
+
/** Secondary stat value shown in the stats row of the detail variant (e.g., "32"). */
|
|
56
63
|
stat2: string;
|
|
57
|
-
/**
|
|
64
|
+
/** Label beneath the secondary stat value (e.g., "Players"). */
|
|
58
65
|
stat2Label: string;
|
|
59
|
-
/** Number of carousel dots (feature variant) */
|
|
66
|
+
/** Number of carousel navigation dots to render (feature variant). */
|
|
60
67
|
dotCount: number;
|
|
61
|
-
/**
|
|
68
|
+
/** Zero-based index of the currently active (filled) carousel dot. */
|
|
62
69
|
activeDot: number;
|
|
63
70
|
private _renderBg;
|
|
64
71
|
private _renderSearch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/components/banner/banner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBACa,QAAS,SAAQ,SAAS;IACrC,MAAM,CAAC,MAAM,0BAAgB;IAE7B
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/components/banner/banner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBACa,QAAS,SAAQ,SAAS;IACrC,MAAM,CAAC,MAAM,0BAAgB;IAE7B;;;;;;;OAOG;IAEH,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAa;IAEjE,iFAAiF;IAEjF,KAAK,SAAM;IAEX,wBAAwB;IAExB,OAAO,SAAM;IAEb,uBAAuB;IAEvB,WAAW,SAAM;IAEjB,+CAA+C;IAE/C,KAAK,SAAM;IAEX,iFAAiF;IAEjF,iBAAiB,SAAmD;IAEpE,gFAAgF;IAEhF,SAAS,SAAM;IAEf,mFAAmF;IAEnF,aAAa,SAAM;IAEnB,2FAA2F;IAE3F,KAAK,SAAM;IAEX,4DAA4D;IAE5D,UAAU,SAAM;IAEhB,sFAAsF;IAEtF,KAAK,SAAM;IAEX,gEAAgE;IAEhE,UAAU,SAAM;IAEhB,sEAAsE;IAEtE,QAAQ,SAAK;IAEb,sEAAsE;IAEtE,SAAS,SAAK;IAEd,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,aAAa;IA6FrB,OAAO,CAAC,cAAc;IAgDtB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,WAAW;IAKnB,MAAM;CAwBP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
|