@sky.ui/core 0.0.25 → 0.0.26

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.
@@ -4,429 +4,483 @@
4
4
  "modules": [
5
5
  {
6
6
  "kind": "javascript-module",
7
- "path": "src/sky-avatar/sky-avatar.ts",
7
+ "path": "src/sky-alert/sky-alert.ts",
8
8
  "declarations": [
9
9
  {
10
10
  "kind": "class",
11
11
  "description": "",
12
- "name": "SkyAvatar",
12
+ "name": "SkyAlert",
13
13
  "cssParts": [
14
14
  {
15
- "description": "The avatar container element.",
16
- "name": "avatar"
15
+ "description": "The outer alert container.",
16
+ "name": "alert"
17
17
  },
18
18
  {
19
- "description": "The loading overlay container (shown when `loading` is true).",
19
+ "description": "The optional leading icon.",
20
+ "name": "icon"
21
+ },
22
+ {
23
+ "description": "The content container (title + message/slot).",
24
+ "name": "content"
25
+ },
26
+ {
27
+ "description": "The title text element.",
28
+ "name": "title"
29
+ },
30
+ {
31
+ "description": "The message text element (when `message` is provided).",
32
+ "name": "message"
33
+ },
34
+ {
35
+ "description": "The trailing actions container.",
36
+ "name": "actions"
37
+ },
38
+ {
39
+ "description": "The dismiss button (when `removable`).",
40
+ "name": "close-button"
41
+ },
42
+ {
43
+ "description": "Overlay shown when `loading` is true.",
20
44
  "name": "loading-overlay"
21
45
  },
22
46
  {
23
- "description": "The spinner element shown when loading.",
24
- "name": "spinner"
47
+ "description": "Spinner element shown inside the loading overlay.",
48
+ "name": "loading-spinner"
25
49
  }
26
50
  ],
27
51
  "slots": [
28
52
  {
29
- "description": "Fallback content (e.g., initials or an icon) rendered when `image` is empty.",
53
+ "description": "Custom message content (used when `message` is empty).",
30
54
  "name": ""
55
+ },
56
+ {
57
+ "description": "Action buttons or links displayed on the trailing side.",
58
+ "name": "actions"
31
59
  }
32
60
  ],
33
61
  "members": [
34
62
  {
35
63
  "kind": "field",
36
- "name": "size",
64
+ "name": "dependencies",
37
65
  "type": {
38
- "text": "string"
66
+ "text": "Record<string, CustomElementConstructor>"
39
67
  },
40
- "default": "\"50px\"",
41
- "description": "Avatar size: preset `sm` | `md` | `lg` or CSS length (for example `50px`).",
42
- "attribute": "size"
68
+ "static": true,
69
+ "default": "{ \"sky-icon\": SkyIcon, }"
43
70
  },
44
71
  {
45
72
  "kind": "field",
46
- "name": "image",
73
+ "name": "title",
47
74
  "type": {
48
75
  "text": "string"
49
76
  },
50
77
  "default": "\"\"",
51
- "description": "Image URL; fallback slot is shown on load error.",
52
- "attribute": "image"
78
+ "description": "Title text shown above the message.",
79
+ "attribute": "title"
53
80
  },
54
81
  {
55
82
  "kind": "field",
56
- "name": "fit",
83
+ "name": "message",
57
84
  "type": {
58
- "text": "SkyAvatarFit"
85
+ "text": "string"
59
86
  },
60
- "default": "\"cover\"",
61
- "description": "Image fill mode: `cover` (default) or `contain`.",
62
- "attribute": "fit",
63
- "reflects": true
87
+ "default": "\"\"",
88
+ "description": "Message text rendered inside the alert.",
89
+ "attribute": "message"
64
90
  },
65
91
  {
66
92
  "kind": "field",
67
- "name": "radius",
93
+ "name": "removable",
68
94
  "type": {
69
- "text": "string"
95
+ "text": "boolean"
70
96
  },
71
- "default": "\"md\"",
72
- "description": "Border radius token or CSS value.",
73
- "attribute": "radius"
97
+ "default": "false",
98
+ "description": "Shows a dismiss button when enabled.",
99
+ "attribute": "removable"
74
100
  },
75
101
  {
76
102
  "kind": "field",
77
- "name": "alt",
103
+ "name": "color",
78
104
  "type": {
79
105
  "text": "string"
80
106
  },
81
- "default": "\"\"",
82
- "description": "Accessible name when image content conveys meaning.",
83
- "attribute": "alt"
107
+ "default": "\"primary\"",
108
+ "description": "Base color token or CSS color used by the alert.",
109
+ "attribute": "color"
84
110
  },
85
111
  {
86
112
  "kind": "field",
87
- "name": "color",
113
+ "name": "size",
88
114
  "type": {
89
115
  "text": "string"
90
116
  },
91
- "default": "\"dark\"",
92
- "description": "Token or CSS color applied to fallback slot content.",
93
- "attribute": "color"
117
+ "default": "\"md\"",
118
+ "description": "Preset size token (`xs | sm | md | lg | xl`) or CSS length.",
119
+ "attribute": "size"
94
120
  },
95
121
  {
96
122
  "kind": "field",
97
- "name": "outline",
123
+ "name": "radius",
98
124
  "type": {
99
125
  "text": "string"
100
126
  },
101
- "default": "\"\"",
102
- "description": "CSS `outline` value.",
103
- "attribute": "outline"
127
+ "default": "\"md\"",
128
+ "description": "Radius token or CSS length.",
129
+ "attribute": "radius"
104
130
  },
105
131
  {
106
132
  "kind": "field",
107
- "name": "outlineOffset",
133
+ "name": "icon",
108
134
  "type": {
109
- "text": "string"
135
+ "text": "string | null"
110
136
  },
111
- "default": "\"2px\"",
112
- "description": "CSS `outline-offset` value.",
113
- "attribute": "outlineOffset"
137
+ "default": "null",
138
+ "description": "Optional leading icon name for `<sky-icon>`.",
139
+ "attribute": "icon"
114
140
  },
115
141
  {
116
142
  "kind": "field",
117
- "name": "loading",
143
+ "name": "strip",
118
144
  "type": {
119
- "text": "boolean"
145
+ "text": "SkyAlertStrip"
120
146
  },
121
- "default": "false",
122
- "description": "Shows loading overlay when true.",
123
- "attribute": "loading",
147
+ "default": "\"none\"",
148
+ "description": "Strip accent placement.",
149
+ "attribute": "strip",
124
150
  "reflects": true
125
151
  },
126
152
  {
127
153
  "kind": "field",
128
- "name": "disabled",
154
+ "name": "stripColor",
129
155
  "type": {
130
- "text": "boolean"
156
+ "text": "string"
131
157
  },
132
- "default": "false",
133
- "description": "Dims and disables pointer interactions.",
134
- "attribute": "disabled",
158
+ "default": "\"currentColor\"",
159
+ "description": "Strip accent color token or CSS color.",
160
+ "attribute": "stripColor"
161
+ },
162
+ {
163
+ "kind": "field",
164
+ "name": "variant",
165
+ "type": {
166
+ "text": "SkyAlertVariant"
167
+ },
168
+ "default": "\"solid\"",
169
+ "description": "Visual style variant.",
170
+ "attribute": "variant",
135
171
  "reflects": true
136
172
  },
137
173
  {
138
174
  "kind": "field",
139
- "name": "interactive",
175
+ "name": "loading",
140
176
  "type": {
141
177
  "text": "boolean"
142
178
  },
143
179
  "default": "false",
144
- "description": "Enables interactive behavior with keyboard/click activation.",
145
- "attribute": "interactive"
180
+ "description": "Shows a loading overlay.",
181
+ "attribute": "loading"
146
182
  },
147
183
  {
148
184
  "kind": "field",
149
- "name": "shadow",
185
+ "name": "roleType",
150
186
  "type": {
151
- "text": "boolean"
187
+ "text": "SkyAlertRoleType"
152
188
  },
153
- "default": "false",
154
- "description": "When true, applies solid surface, border ring, and elevation; no backdrop blur.",
155
- "attribute": "shadow",
189
+ "default": "\"alert\"",
190
+ "description": "ARIA role for the alert container.",
191
+ "attribute": "roleType",
156
192
  "reflects": true
157
193
  },
158
194
  {
159
195
  "kind": "field",
160
- "name": "_imageError",
196
+ "name": "_styleVars",
161
197
  "type": {
162
- "text": "boolean"
198
+ "text": "Record<string, string>"
163
199
  },
164
200
  "privacy": "private",
165
- "default": "false",
166
- "description": "True when image failed to load; show slot instead."
201
+ "default": "{}",
202
+ "description": "Internal style variables"
167
203
  },
168
204
  {
169
205
  "kind": "field",
170
- "name": "_onImageLoad",
206
+ "name": "_sizeCache",
207
+ "type": {
208
+ "text": "{ size: string; result: SkyAlertResolvedSize } | null"
209
+ },
171
210
  "privacy": "private",
172
- "description": "Marks image load success and keeps image rendering active."
211
+ "default": "null",
212
+ "description": "Cached result of _resolveSize for the last `size` value (avoids recomputing when only color/variant change)."
173
213
  },
174
214
  {
175
215
  "kind": "field",
176
- "name": "_onImageError",
216
+ "name": "_hasActionsSlotContent",
217
+ "type": {
218
+ "text": "boolean"
219
+ },
177
220
  "privacy": "private",
178
- "description": "Marks image load failure and enables fallback slot rendering."
221
+ "default": "false",
222
+ "description": "True when the actions slot has assigned content (used to show separator only when needed)."
179
223
  },
180
224
  {
181
225
  "kind": "method",
182
- "name": "_handleInteractiveClick",
226
+ "name": "_resolveSize",
183
227
  "privacy": "private",
184
228
  "return": {
185
229
  "type": {
186
- "text": "void"
230
+ "text": "SkyAlertResolvedSize"
187
231
  }
188
232
  },
189
233
  "parameters": [
190
234
  {
191
- "name": "e",
235
+ "name": "input",
192
236
  "type": {
193
- "text": "Event"
237
+ "text": "string"
194
238
  }
195
239
  }
196
240
  ],
197
- "description": "Re-dispatches click in interactive mode for host-level consumers."
241
+ "description": "Resolves size to get padding, font sizes, and other metrics.\r\nResult is memoized by `size` to avoid recomputing when only color/variant/radius change."
198
242
  },
199
243
  {
200
244
  "kind": "method",
201
- "name": "_handleInteractiveKeydown",
245
+ "name": "_updateStyleVars",
202
246
  "privacy": "private",
203
247
  "return": {
204
248
  "type": {
205
249
  "text": "void"
206
250
  }
207
251
  },
208
- "parameters": [
209
- {
210
- "name": "e",
211
- "type": {
212
- "text": "KeyboardEvent"
213
- }
252
+ "description": "Computes CSS custom properties from current variant, size, and color inputs."
253
+ },
254
+ {
255
+ "kind": "method",
256
+ "name": "close",
257
+ "privacy": "public",
258
+ "return": {
259
+ "type": {
260
+ "text": "void"
214
261
  }
215
- ],
216
- "description": "Handles keyboard activation in interactive mode."
262
+ },
263
+ "description": "Dispatches `alert-closed` and removes the alert from the DOM."
217
264
  },
218
265
  {
219
266
  "kind": "method",
220
- "name": "adjustSpinnerSize",
267
+ "name": "getAriaRole",
268
+ "privacy": "private",
269
+ "return": {
270
+ "type": {
271
+ "text": "SkyAlertRoleType"
272
+ }
273
+ },
274
+ "description": "Returns the ARIA role applied to the alert container."
275
+ },
276
+ {
277
+ "kind": "method",
278
+ "name": "_checkActionsSlot",
221
279
  "privacy": "private",
222
280
  "return": {
223
281
  "type": {
224
282
  "text": "void"
225
283
  }
226
284
  },
227
- "description": "Derives spinner dimensions from current avatar size."
285
+ "description": "Checks whether the actions slot currently has meaningful assigned content."
286
+ },
287
+ {
288
+ "kind": "method",
289
+ "name": "_onActionsSlotChange",
290
+ "privacy": "private",
291
+ "return": {
292
+ "type": {
293
+ "text": "void"
294
+ }
295
+ },
296
+ "parameters": [
297
+ {
298
+ "name": "e",
299
+ "type": {
300
+ "text": "Event"
301
+ }
302
+ }
303
+ ],
304
+ "description": "Updates action-slot state when the slot assignment changes."
228
305
  }
229
306
  ],
230
307
  "events": [
231
308
  {
232
- "name": "click",
233
309
  "type": {
234
- "text": "Event"
235
- }
310
+ "text": "CustomEvent<SkyAlertClosedEventDetail>"
311
+ },
312
+ "description": "Fired when the alert is dismissed via the close button; bubbles and is composed.",
313
+ "name": "alert-closed"
236
314
  }
237
315
  ],
238
316
  "attributes": [
239
317
  {
240
- "name": "size",
318
+ "name": "title",
241
319
  "type": {
242
320
  "text": "string"
243
321
  },
244
- "default": "\"50px\"",
245
- "description": "Avatar size: preset `sm` | `md` | `lg` or CSS length (for example `50px`).",
246
- "fieldName": "size"
322
+ "default": "\"\"",
323
+ "description": "Title text shown above the message.",
324
+ "fieldName": "title"
247
325
  },
248
326
  {
249
- "name": "image",
327
+ "name": "message",
250
328
  "type": {
251
329
  "text": "string"
252
330
  },
253
331
  "default": "\"\"",
254
- "description": "Image URL; fallback slot is shown on load error.",
255
- "fieldName": "image"
332
+ "description": "Message text rendered inside the alert.",
333
+ "fieldName": "message"
256
334
  },
257
335
  {
258
- "name": "fit",
336
+ "name": "removable",
259
337
  "type": {
260
- "text": "SkyAvatarFit"
338
+ "text": "boolean"
261
339
  },
262
- "default": "\"cover\"",
263
- "description": "Image fill mode: `cover` (default) or `contain`.",
264
- "fieldName": "fit"
340
+ "default": "false",
341
+ "description": "Shows a dismiss button when enabled.",
342
+ "fieldName": "removable"
265
343
  },
266
344
  {
267
- "name": "radius",
345
+ "name": "color",
268
346
  "type": {
269
347
  "text": "string"
270
348
  },
271
- "default": "\"md\"",
272
- "description": "Border radius token or CSS value.",
273
- "fieldName": "radius"
349
+ "default": "\"primary\"",
350
+ "description": "Base color token or CSS color used by the alert.",
351
+ "fieldName": "color"
274
352
  },
275
353
  {
276
- "name": "alt",
354
+ "name": "size",
277
355
  "type": {
278
356
  "text": "string"
279
357
  },
280
- "default": "\"\"",
281
- "description": "Accessible name when image content conveys meaning.",
282
- "fieldName": "alt"
358
+ "default": "\"md\"",
359
+ "description": "Preset size token (`xs | sm | md | lg | xl`) or CSS length.",
360
+ "fieldName": "size"
283
361
  },
284
362
  {
285
- "name": "color",
363
+ "name": "radius",
286
364
  "type": {
287
365
  "text": "string"
288
366
  },
289
- "default": "\"dark\"",
290
- "description": "Token or CSS color applied to fallback slot content.",
291
- "fieldName": "color"
367
+ "default": "\"md\"",
368
+ "description": "Radius token or CSS length.",
369
+ "fieldName": "radius"
292
370
  },
293
371
  {
294
- "name": "outline",
372
+ "name": "icon",
295
373
  "type": {
296
- "text": "string"
374
+ "text": "string | null"
297
375
  },
298
- "default": "\"\"",
299
- "description": "CSS `outline` value.",
300
- "fieldName": "outline"
376
+ "default": "null",
377
+ "description": "Optional leading icon name for `<sky-icon>`.",
378
+ "fieldName": "icon"
301
379
  },
302
380
  {
303
- "name": "outlineOffset",
381
+ "name": "strip",
304
382
  "type": {
305
- "text": "string"
383
+ "text": "SkyAlertStrip"
306
384
  },
307
- "default": "\"2px\"",
308
- "description": "CSS `outline-offset` value.",
309
- "fieldName": "outlineOffset"
385
+ "default": "\"none\"",
386
+ "description": "Strip accent placement.",
387
+ "fieldName": "strip"
310
388
  },
311
389
  {
312
- "name": "loading",
390
+ "name": "stripColor",
313
391
  "type": {
314
- "text": "boolean"
392
+ "text": "string"
315
393
  },
316
- "default": "false",
317
- "description": "Shows loading overlay when true.",
318
- "fieldName": "loading"
394
+ "default": "\"currentColor\"",
395
+ "description": "Strip accent color token or CSS color.",
396
+ "fieldName": "stripColor"
319
397
  },
320
398
  {
321
- "name": "disabled",
399
+ "name": "variant",
322
400
  "type": {
323
- "text": "boolean"
401
+ "text": "SkyAlertVariant"
324
402
  },
325
- "default": "false",
326
- "description": "Dims and disables pointer interactions.",
327
- "fieldName": "disabled"
403
+ "default": "\"solid\"",
404
+ "description": "Visual style variant.",
405
+ "fieldName": "variant"
328
406
  },
329
407
  {
330
- "name": "interactive",
408
+ "name": "loading",
331
409
  "type": {
332
410
  "text": "boolean"
333
411
  },
334
412
  "default": "false",
335
- "description": "Enables interactive behavior with keyboard/click activation.",
336
- "fieldName": "interactive"
413
+ "description": "Shows a loading overlay.",
414
+ "fieldName": "loading"
337
415
  },
338
416
  {
339
- "name": "shadow",
417
+ "name": "roleType",
340
418
  "type": {
341
- "text": "boolean"
419
+ "text": "SkyAlertRoleType"
342
420
  },
343
- "default": "false",
344
- "description": "When true, applies solid surface, border ring, and elevation; no backdrop blur.",
345
- "fieldName": "shadow"
421
+ "default": "\"alert\"",
422
+ "description": "ARIA role for the alert container.",
423
+ "fieldName": "roleType"
346
424
  }
347
425
  ],
348
426
  "superclass": {
349
427
  "name": "LitElement",
350
428
  "package": "lit"
351
429
  },
352
- "tagName": "sky-avatar",
430
+ "tagName": "sky-alert",
353
431
  "customElement": true,
354
- "summary": "Avatar that renders image content or fallback slot content with configurable size, radius, outline, and loading state."
432
+ "summary": "Status alert banner with variants, optional icon, strip accents, actions, dismiss behavior, and loading state."
355
433
  }
356
434
  ],
357
435
  "exports": [
358
436
  {
359
437
  "kind": "js",
360
- "name": "SkyAvatar",
438
+ "name": "SkyAlert",
361
439
  "declaration": {
362
- "name": "SkyAvatar",
363
- "module": "src/sky-avatar/sky-avatar.ts"
440
+ "name": "SkyAlert",
441
+ "module": "src/sky-alert/sky-alert.ts"
364
442
  }
365
443
  },
366
444
  {
367
445
  "kind": "custom-element-definition",
368
- "name": "sky-avatar",
446
+ "name": "sky-alert",
369
447
  "declaration": {
370
- "name": "SkyAvatar",
371
- "module": "src/sky-avatar/sky-avatar.ts"
448
+ "name": "SkyAlert",
449
+ "module": "src/sky-alert/sky-alert.ts"
372
450
  }
373
451
  }
374
452
  ]
375
453
  },
376
454
  {
377
455
  "kind": "javascript-module",
378
- "path": "src/sky-alert/sky-alert.ts",
456
+ "path": "src/sky-badge/sky-badge.ts",
379
457
  "declarations": [
380
458
  {
381
459
  "kind": "class",
382
460
  "description": "",
383
- "name": "SkyAlert",
461
+ "name": "SkyBadge",
384
462
  "cssParts": [
385
463
  {
386
- "description": "The outer alert container.",
387
- "name": "alert"
388
- },
389
- {
390
- "description": "The optional leading icon.",
391
- "name": "icon"
392
- },
393
- {
394
- "description": "The content container (title + message/slot).",
395
- "name": "content"
396
- },
397
- {
398
- "description": "The title text element.",
399
- "name": "title"
400
- },
401
- {
402
- "description": "The message text element (when `message` is provided).",
403
- "name": "message"
404
- },
405
- {
406
- "description": "The trailing actions container.",
407
- "name": "actions"
408
- },
409
- {
410
- "description": "The dismiss button (when `removable`).",
411
- "name": "close-button"
464
+ "description": "Wrapper around the slotted content and the badge.",
465
+ "name": "container"
412
466
  },
413
467
  {
414
- "description": "Overlay shown when `loading` is true.",
415
- "name": "loading-overlay"
468
+ "description": "The badge element. Use `badgeRef` for positioning (e.g. tooltip anchor).",
469
+ "name": "badge"
416
470
  },
417
471
  {
418
- "description": "Spinner element shown inside the loading overlay.",
419
- "name": "loading-spinner"
472
+ "description": "The icon element when `isIcon` is true.",
473
+ "name": "icon"
420
474
  }
421
475
  ],
422
476
  "slots": [
423
477
  {
424
- "description": "Custom message content (used when `message` is empty).",
478
+ "description": "The content the badge attaches to.",
425
479
  "name": ""
426
480
  },
427
481
  {
428
- "description": "Action buttons or links displayed on the trailing side.",
429
- "name": "actions"
482
+ "description": "Optional slot to override the badge content entirely.",
483
+ "name": "badge"
430
484
  }
431
485
  ],
432
486
  "members": [
@@ -441,649 +495,960 @@
441
495
  },
442
496
  {
443
497
  "kind": "field",
444
- "name": "title",
498
+ "name": "statusColor",
445
499
  "type": {
446
500
  "text": "string"
447
501
  },
448
- "default": "\"\"",
449
- "description": "Title text shown above the message.",
450
- "attribute": "title"
502
+ "default": "\"success\"",
503
+ "description": "Badge background token or CSS color.",
504
+ "attribute": "statusColor",
505
+ "reflects": true
451
506
  },
452
507
  {
453
508
  "kind": "field",
454
- "name": "message",
509
+ "name": "textColor",
455
510
  "type": {
456
511
  "text": "string"
457
512
  },
458
- "default": "\"\"",
459
- "description": "Message text rendered inside the alert.",
460
- "attribute": "message"
513
+ "default": "\"default\"",
514
+ "description": "Text color token or CSS color.",
515
+ "attribute": "textColor",
516
+ "reflects": true
461
517
  },
462
518
  {
463
519
  "kind": "field",
464
- "name": "removable",
520
+ "name": "iconColor",
465
521
  "type": {
466
- "text": "boolean"
522
+ "text": "string"
467
523
  },
468
- "default": "false",
469
- "description": "Shows a dismiss button when enabled.",
470
- "attribute": "removable"
524
+ "default": "\"\"",
525
+ "description": "Icon color token or CSS color; falls back to `textColor` when empty.",
526
+ "attribute": "iconColor",
527
+ "reflects": true
471
528
  },
472
529
  {
473
530
  "kind": "field",
474
- "name": "color",
531
+ "name": "position",
475
532
  "type": {
476
- "text": "string"
533
+ "text": "SkyBadgePosition"
477
534
  },
478
- "default": "\"primary\"",
479
- "description": "Base color token or CSS color used by the alert.",
480
- "attribute": "color"
535
+ "default": "\"default\"",
536
+ "description": "Layout mode: `default | floating | inline`.",
537
+ "attribute": "position",
538
+ "reflects": true
481
539
  },
482
540
  {
483
541
  "kind": "field",
484
- "name": "size",
542
+ "name": "value",
485
543
  "type": {
486
544
  "text": "string"
487
545
  },
488
- "default": "\"md\"",
489
- "description": "Preset size token (`xs | sm | md | lg | xl`) or CSS length.",
490
- "attribute": "size"
546
+ "default": "\"\"",
547
+ "description": "Badge text/count or icon name in icon mode.",
548
+ "attribute": "value"
491
549
  },
492
550
  {
493
551
  "kind": "field",
494
- "name": "radius",
552
+ "name": "isIcon",
495
553
  "type": {
496
- "text": "string"
554
+ "text": "boolean"
497
555
  },
498
- "default": "\"md\"",
499
- "description": "Radius token or CSS length.",
500
- "attribute": "radius"
556
+ "default": "false",
557
+ "description": "Renders icon mode when true.",
558
+ "attribute": "isIcon",
559
+ "reflects": true
501
560
  },
502
561
  {
503
562
  "kind": "field",
504
- "name": "icon",
563
+ "name": "size",
505
564
  "type": {
506
- "text": "string | null"
565
+ "text": "string"
507
566
  },
508
- "default": "null",
509
- "description": "Optional leading icon name for `<sky-icon>`.",
510
- "attribute": "icon"
567
+ "default": "\"\"",
568
+ "description": "Badge and icon size CSS length.",
569
+ "attribute": "size",
570
+ "reflects": true
511
571
  },
512
572
  {
513
573
  "kind": "field",
514
- "name": "strip",
574
+ "name": "shape",
515
575
  "type": {
516
- "text": "SkyAlertStrip"
576
+ "text": "SkyBadgeShape"
517
577
  },
518
- "default": "\"none\"",
519
- "description": "Strip accent placement.",
520
- "attribute": "strip",
578
+ "default": "\"custom\"",
579
+ "description": "Badge shape: `circle | pill | custom`.",
580
+ "attribute": "shape",
521
581
  "reflects": true
522
582
  },
523
583
  {
524
584
  "kind": "field",
525
- "name": "stripColor",
585
+ "name": "max",
526
586
  "type": {
527
- "text": "string"
587
+ "text": "number"
528
588
  },
529
- "default": "\"currentColor\"",
530
- "description": "Strip accent color token or CSS color.",
531
- "attribute": "stripColor"
589
+ "default": "99",
590
+ "description": "Maximum numeric count before rendering overflow label.",
591
+ "attribute": "max"
532
592
  },
533
593
  {
534
594
  "kind": "field",
535
- "name": "variant",
595
+ "name": "hideWhenZero",
536
596
  "type": {
537
- "text": "SkyAlertVariant"
597
+ "text": "boolean"
538
598
  },
539
- "default": "\"solid\"",
540
- "description": "Visual style variant.",
541
- "attribute": "variant",
599
+ "default": "false",
600
+ "description": "Hides badge when value resolves to numeric zero.",
601
+ "attribute": "hideWhenZero"
602
+ },
603
+ {
604
+ "kind": "field",
605
+ "name": "show",
606
+ "type": {
607
+ "text": "boolean"
608
+ },
609
+ "default": "true",
610
+ "description": "Forces badge visibility independent of value.",
611
+ "attribute": "show",
542
612
  "reflects": true
543
613
  },
544
614
  {
545
615
  "kind": "field",
546
- "name": "loading",
616
+ "name": "offsetX",
617
+ "type": {
618
+ "text": "string"
619
+ },
620
+ "default": "\"0px\"",
621
+ "description": "Horizontal offset CSS length.",
622
+ "attribute": "offsetX"
623
+ },
624
+ {
625
+ "kind": "field",
626
+ "name": "offsetY",
627
+ "type": {
628
+ "text": "string"
629
+ },
630
+ "default": "\"0px\"",
631
+ "description": "Vertical offset CSS length.",
632
+ "attribute": "offsetY"
633
+ },
634
+ {
635
+ "kind": "field",
636
+ "name": "ring",
547
637
  "type": {
548
638
  "text": "boolean"
549
639
  },
550
640
  "default": "false",
551
- "description": "Shows a loading overlay.",
552
- "attribute": "loading"
641
+ "description": "Enables visual ring around the badge.",
642
+ "attribute": "ring"
553
643
  },
554
644
  {
555
645
  "kind": "field",
556
- "name": "roleType",
646
+ "name": "ringColor",
557
647
  "type": {
558
- "text": "SkyAlertRoleType"
648
+ "text": "string"
559
649
  },
560
- "default": "\"alert\"",
561
- "description": "ARIA role for the alert container.",
562
- "attribute": "roleType",
563
- "reflects": true
650
+ "default": "\"primary\"",
651
+ "description": "Ring color token or CSS color.",
652
+ "attribute": "ringColor"
564
653
  },
565
654
  {
566
655
  "kind": "field",
567
- "name": "_styleVars",
656
+ "name": "ringOffset",
568
657
  "type": {
569
- "text": "Record<string, string>"
658
+ "text": "string"
570
659
  },
571
- "privacy": "private",
572
- "default": "{}",
573
- "description": "Internal style variables"
660
+ "default": "\"1px\"",
661
+ "description": "Ring offset CSS length.",
662
+ "attribute": "ringOffset"
574
663
  },
575
664
  {
576
665
  "kind": "field",
577
- "name": "_sizeCache",
666
+ "name": "badgeLabel",
578
667
  "type": {
579
- "text": "{ size: string; result: SkyAlertResolvedSize } | null"
668
+ "text": "string | null"
580
669
  },
581
- "privacy": "private",
582
670
  "default": "null",
583
- "description": "Cached result of _resolveSize for the last `size` value (avoids recomputing when only color/variant change)."
671
+ "description": "ARIA label override.",
672
+ "attribute": "badgeLabel"
584
673
  },
585
674
  {
586
675
  "kind": "field",
587
- "name": "_hasActionsSlotContent",
676
+ "name": "badgeAriaHidden",
588
677
  "type": {
589
678
  "text": "boolean"
590
679
  },
591
- "privacy": "private",
592
680
  "default": "false",
593
- "description": "True when the actions slot has assigned content (used to show separator only when needed)."
681
+ "description": "Hides badge from assistive technology when true.",
682
+ "attribute": "badgeAriaHidden"
594
683
  },
595
684
  {
596
- "kind": "method",
597
- "name": "_resolveSize",
598
- "privacy": "private",
599
- "return": {
600
- "type": {
601
- "text": "SkyAlertResolvedSize"
602
- }
685
+ "kind": "field",
686
+ "name": "interactive",
687
+ "type": {
688
+ "text": "boolean"
603
689
  },
604
- "parameters": [
605
- {
606
- "name": "input",
607
- "type": {
608
- "text": "string"
609
- }
610
- }
611
- ],
612
- "description": "Resolves size to get padding, font sizes, and other metrics.\r\nResult is memoized by `size` to avoid recomputing when only color/variant/radius change."
690
+ "default": "false",
691
+ "description": "Enables focus/activation and `badge-click` emission.",
692
+ "attribute": "interactive"
693
+ },
694
+ {
695
+ "kind": "field",
696
+ "name": "placement",
697
+ "type": {
698
+ "text": "SkyBadgePlacement"
699
+ },
700
+ "default": "\"custom\"",
701
+ "description": "Anchor placement preset for badge positioning.",
702
+ "attribute": "placement",
703
+ "reflects": true
704
+ },
705
+ {
706
+ "kind": "field",
707
+ "name": "_badgeEl",
708
+ "type": {
709
+ "text": "HTMLSpanElement"
710
+ },
711
+ "privacy": "private"
712
+ },
713
+ {
714
+ "kind": "field",
715
+ "name": "badgeRef",
716
+ "privacy": "public",
717
+ "description": "Ref for the badge element (e.g. for tooltip anchor or positioning)."
718
+ },
719
+ {
720
+ "kind": "field",
721
+ "name": "shadowRootOptions",
722
+ "type": {
723
+ "text": "ShadowRootInit"
724
+ },
725
+ "static": true,
726
+ "default": "{ mode: \"open\", delegatesFocus: true, }"
613
727
  },
614
728
  {
615
729
  "kind": "method",
616
- "name": "_updateStyleVars",
617
- "privacy": "private",
730
+ "name": "showBadge",
731
+ "privacy": "public",
618
732
  "return": {
619
733
  "type": {
620
734
  "text": "void"
621
735
  }
622
736
  },
623
- "description": "Computes CSS custom properties from current variant, size, and color inputs."
737
+ "description": "Forces badge visibility on."
624
738
  },
625
739
  {
626
740
  "kind": "method",
627
- "name": "close",
741
+ "name": "hideBadge",
628
742
  "privacy": "public",
629
743
  "return": {
630
744
  "type": {
631
745
  "text": "void"
632
746
  }
633
747
  },
634
- "description": "Dispatches `alert-closed` and removes the alert from the DOM."
748
+ "description": "Forces badge visibility off."
635
749
  },
636
750
  {
637
751
  "kind": "method",
638
- "name": "getAriaRole",
639
- "privacy": "private",
752
+ "name": "setValue",
753
+ "privacy": "public",
640
754
  "return": {
641
755
  "type": {
642
- "text": "SkyAlertRoleType"
756
+ "text": "void"
643
757
  }
644
758
  },
645
- "description": "Returns the ARIA role applied to the alert container."
759
+ "parameters": [
760
+ {
761
+ "name": "value",
762
+ "type": {
763
+ "text": "string"
764
+ },
765
+ "description": "Badge value or icon name."
766
+ }
767
+ ],
768
+ "description": "Updates badge value for text/count or icon modes."
769
+ },
770
+ {
771
+ "kind": "field",
772
+ "name": "_onActivate",
773
+ "privacy": "private",
774
+ "description": "Emits `badge-click` for interactive activation."
775
+ },
776
+ {
777
+ "kind": "field",
778
+ "name": "_onKeydown",
779
+ "privacy": "private",
780
+ "description": "Handles keyboard activation with Enter and Space."
646
781
  },
647
782
  {
648
783
  "kind": "method",
649
- "name": "_checkActionsSlot",
784
+ "name": "_computeAriaLabel",
650
785
  "privacy": "private",
651
786
  "return": {
652
787
  "type": {
653
- "text": "void"
788
+ "text": "string | null"
654
789
  }
655
790
  },
656
- "description": "Checks whether the actions slot currently has meaningful assigned content."
791
+ "parameters": [
792
+ {
793
+ "name": "displayValue",
794
+ "type": {
795
+ "text": "string | null"
796
+ }
797
+ }
798
+ ],
799
+ "description": "Computes accessible badge label from current render state."
657
800
  },
658
801
  {
659
802
  "kind": "method",
660
- "name": "_onActionsSlotChange",
803
+ "name": "_computeAnchors",
661
804
  "privacy": "private",
662
805
  "return": {
663
806
  "type": {
664
- "text": "void"
807
+ "text": "{\r\n top: string;\r\n right: string;\r\n bottom: string;\r\n left: string;\r\n }"
665
808
  }
666
809
  },
667
810
  "parameters": [
668
811
  {
669
- "name": "e",
812
+ "name": "placement",
670
813
  "type": {
671
- "text": "Event"
814
+ "text": "SkyBadgePlacement"
672
815
  }
673
816
  }
674
817
  ],
675
- "description": "Updates action-slot state when the slot assignment changes."
818
+ "description": "Resolves anchor edges from placement preset."
819
+ },
820
+ {
821
+ "kind": "method",
822
+ "name": "_resolveBadgeSurface",
823
+ "privacy": "private",
824
+ "return": {
825
+ "type": {
826
+ "text": "{\r\n bg: string;\r\n color: string;\r\n border: string;\r\n }"
827
+ }
828
+ },
829
+ "description": "Maps semantic status tokens to soft badge surface colors."
676
830
  }
677
831
  ],
678
832
  "events": [
679
833
  {
680
834
  "type": {
681
- "text": "CustomEvent<SkyAlertClosedEventDetail>"
835
+ "text": "CustomEvent<SkyBadgeClickEventDetail>"
682
836
  },
683
- "description": "Fired when the alert is dismissed via the close button; bubbles and is composed.",
684
- "name": "alert-closed"
837
+ "description": "Emitted when badge activation occurs via click, Enter, or Space while `interactive` is true.",
838
+ "name": "badge-click"
685
839
  }
686
840
  ],
687
841
  "attributes": [
688
842
  {
689
- "name": "title",
843
+ "name": "statusColor",
690
844
  "type": {
691
845
  "text": "string"
692
846
  },
693
- "default": "\"\"",
694
- "description": "Title text shown above the message.",
695
- "fieldName": "title"
847
+ "default": "\"success\"",
848
+ "description": "Badge background token or CSS color.",
849
+ "fieldName": "statusColor"
696
850
  },
697
851
  {
698
- "name": "message",
852
+ "name": "textColor",
699
853
  "type": {
700
854
  "text": "string"
701
855
  },
702
- "default": "\"\"",
703
- "description": "Message text rendered inside the alert.",
704
- "fieldName": "message"
856
+ "default": "\"default\"",
857
+ "description": "Text color token or CSS color.",
858
+ "fieldName": "textColor"
705
859
  },
706
860
  {
707
- "name": "removable",
861
+ "name": "iconColor",
708
862
  "type": {
709
- "text": "boolean"
863
+ "text": "string"
710
864
  },
711
- "default": "false",
712
- "description": "Shows a dismiss button when enabled.",
713
- "fieldName": "removable"
865
+ "default": "\"\"",
866
+ "description": "Icon color token or CSS color; falls back to `textColor` when empty.",
867
+ "fieldName": "iconColor"
714
868
  },
715
869
  {
716
- "name": "color",
870
+ "name": "position",
717
871
  "type": {
718
- "text": "string"
872
+ "text": "SkyBadgePosition"
719
873
  },
720
- "default": "\"primary\"",
721
- "description": "Base color token or CSS color used by the alert.",
722
- "fieldName": "color"
874
+ "default": "\"default\"",
875
+ "description": "Layout mode: `default | floating | inline`.",
876
+ "fieldName": "position"
723
877
  },
724
878
  {
725
- "name": "size",
879
+ "name": "value",
726
880
  "type": {
727
881
  "text": "string"
728
882
  },
729
- "default": "\"md\"",
730
- "description": "Preset size token (`xs | sm | md | lg | xl`) or CSS length.",
883
+ "default": "\"\"",
884
+ "description": "Badge text/count or icon name in icon mode.",
885
+ "fieldName": "value"
886
+ },
887
+ {
888
+ "name": "isIcon",
889
+ "type": {
890
+ "text": "boolean"
891
+ },
892
+ "default": "false",
893
+ "description": "Renders icon mode when true.",
894
+ "fieldName": "isIcon"
895
+ },
896
+ {
897
+ "name": "size",
898
+ "type": {
899
+ "text": "string"
900
+ },
901
+ "default": "\"\"",
902
+ "description": "Badge and icon size CSS length.",
731
903
  "fieldName": "size"
732
904
  },
733
905
  {
734
- "name": "radius",
906
+ "name": "shape",
907
+ "type": {
908
+ "text": "SkyBadgeShape"
909
+ },
910
+ "default": "\"custom\"",
911
+ "description": "Badge shape: `circle | pill | custom`.",
912
+ "fieldName": "shape"
913
+ },
914
+ {
915
+ "name": "max",
916
+ "type": {
917
+ "text": "number"
918
+ },
919
+ "default": "99",
920
+ "description": "Maximum numeric count before rendering overflow label.",
921
+ "fieldName": "max"
922
+ },
923
+ {
924
+ "name": "hideWhenZero",
925
+ "type": {
926
+ "text": "boolean"
927
+ },
928
+ "default": "false",
929
+ "description": "Hides badge when value resolves to numeric zero.",
930
+ "fieldName": "hideWhenZero"
931
+ },
932
+ {
933
+ "name": "show",
934
+ "type": {
935
+ "text": "boolean"
936
+ },
937
+ "default": "true",
938
+ "description": "Forces badge visibility independent of value.",
939
+ "fieldName": "show"
940
+ },
941
+ {
942
+ "name": "offsetX",
735
943
  "type": {
736
944
  "text": "string"
737
945
  },
738
- "default": "\"md\"",
739
- "description": "Radius token or CSS length.",
740
- "fieldName": "radius"
946
+ "default": "\"0px\"",
947
+ "description": "Horizontal offset CSS length.",
948
+ "fieldName": "offsetX"
741
949
  },
742
950
  {
743
- "name": "icon",
951
+ "name": "offsetY",
744
952
  "type": {
745
- "text": "string | null"
953
+ "text": "string"
746
954
  },
747
- "default": "null",
748
- "description": "Optional leading icon name for `<sky-icon>`.",
749
- "fieldName": "icon"
955
+ "default": "\"0px\"",
956
+ "description": "Vertical offset CSS length.",
957
+ "fieldName": "offsetY"
750
958
  },
751
959
  {
752
- "name": "strip",
960
+ "name": "ring",
753
961
  "type": {
754
- "text": "SkyAlertStrip"
962
+ "text": "boolean"
755
963
  },
756
- "default": "\"none\"",
757
- "description": "Strip accent placement.",
758
- "fieldName": "strip"
964
+ "default": "false",
965
+ "description": "Enables visual ring around the badge.",
966
+ "fieldName": "ring"
759
967
  },
760
968
  {
761
- "name": "stripColor",
969
+ "name": "ringColor",
762
970
  "type": {
763
971
  "text": "string"
764
972
  },
765
- "default": "\"currentColor\"",
766
- "description": "Strip accent color token or CSS color.",
767
- "fieldName": "stripColor"
973
+ "default": "\"primary\"",
974
+ "description": "Ring color token or CSS color.",
975
+ "fieldName": "ringColor"
768
976
  },
769
977
  {
770
- "name": "variant",
978
+ "name": "ringOffset",
771
979
  "type": {
772
- "text": "SkyAlertVariant"
980
+ "text": "string"
773
981
  },
774
- "default": "\"solid\"",
775
- "description": "Visual style variant.",
776
- "fieldName": "variant"
982
+ "default": "\"1px\"",
983
+ "description": "Ring offset CSS length.",
984
+ "fieldName": "ringOffset"
777
985
  },
778
986
  {
779
- "name": "loading",
987
+ "name": "badgeLabel",
988
+ "type": {
989
+ "text": "string | null"
990
+ },
991
+ "default": "null",
992
+ "description": "ARIA label override.",
993
+ "fieldName": "badgeLabel"
994
+ },
995
+ {
996
+ "name": "badgeAriaHidden",
780
997
  "type": {
781
998
  "text": "boolean"
782
999
  },
783
1000
  "default": "false",
784
- "description": "Shows a loading overlay.",
785
- "fieldName": "loading"
1001
+ "description": "Hides badge from assistive technology when true.",
1002
+ "fieldName": "badgeAriaHidden"
786
1003
  },
787
1004
  {
788
- "name": "roleType",
1005
+ "name": "interactive",
789
1006
  "type": {
790
- "text": "SkyAlertRoleType"
1007
+ "text": "boolean"
791
1008
  },
792
- "default": "\"alert\"",
793
- "description": "ARIA role for the alert container.",
794
- "fieldName": "roleType"
1009
+ "default": "false",
1010
+ "description": "Enables focus/activation and `badge-click` emission.",
1011
+ "fieldName": "interactive"
1012
+ },
1013
+ {
1014
+ "name": "placement",
1015
+ "type": {
1016
+ "text": "SkyBadgePlacement"
1017
+ },
1018
+ "default": "\"custom\"",
1019
+ "description": "Anchor placement preset for badge positioning.",
1020
+ "fieldName": "placement"
795
1021
  }
796
1022
  ],
797
1023
  "superclass": {
798
1024
  "name": "LitElement",
799
1025
  "package": "lit"
800
1026
  },
801
- "tagName": "sky-alert",
1027
+ "tagName": "sky-badge",
802
1028
  "customElement": true,
803
- "summary": "Status alert banner with variants, optional icon, strip accents, actions, dismiss behavior, and loading state."
1029
+ "summary": "Badge for status dots, counts, or icons anchored to slotted content."
804
1030
  }
805
1031
  ],
806
1032
  "exports": [
807
1033
  {
808
1034
  "kind": "js",
809
- "name": "SkyAlert",
1035
+ "name": "SkyBadge",
810
1036
  "declaration": {
811
- "name": "SkyAlert",
812
- "module": "src/sky-alert/sky-alert.ts"
1037
+ "name": "SkyBadge",
1038
+ "module": "src/sky-badge/sky-badge.ts"
813
1039
  }
814
1040
  },
815
1041
  {
816
1042
  "kind": "custom-element-definition",
817
- "name": "sky-alert",
1043
+ "name": "sky-badge",
818
1044
  "declaration": {
819
- "name": "SkyAlert",
820
- "module": "src/sky-alert/sky-alert.ts"
1045
+ "name": "SkyBadge",
1046
+ "module": "src/sky-badge/sky-badge.ts"
821
1047
  }
822
1048
  }
823
1049
  ]
824
1050
  },
825
1051
  {
826
1052
  "kind": "javascript-module",
827
- "path": "src/sky-appbar/sky-appbar.ts",
1053
+ "path": "src/sky-avatar/sky-avatar.ts",
828
1054
  "declarations": [
829
1055
  {
830
1056
  "kind": "class",
831
1057
  "description": "",
832
- "name": "SkyAppbar",
1058
+ "name": "SkyAvatar",
833
1059
  "cssParts": [
834
1060
  {
835
- "description": "Wrapper that contains the leading slot, title, and actions.",
836
- "name": "content"
837
- },
838
- {
839
- "description": "Container for the leading slot (e.g. menu button).",
840
- "name": "leading"
1061
+ "description": "The avatar container element.",
1062
+ "name": "avatar"
841
1063
  },
842
1064
  {
843
- "description": "The title area (contains .title-text with the title string).",
844
- "name": "title"
1065
+ "description": "The loading overlay container (shown when `loading` is true).",
1066
+ "name": "loading-overlay"
845
1067
  },
846
1068
  {
847
- "description": "The trailing actions container.",
848
- "name": "actions"
1069
+ "description": "The spinner element shown when loading.",
1070
+ "name": "spinner"
849
1071
  }
850
1072
  ],
851
1073
  "slots": [
852
1074
  {
853
- "description": "Leading area (e.g., menu/back button). Defaults to a hamburger icon.",
854
- "name": "button"
855
- },
856
- {
857
- "description": "Trailing actions (icons/buttons). This is the default slot.",
1075
+ "description": "Fallback content (e.g., initials or an icon) rendered when `image` is empty.",
858
1076
  "name": ""
859
1077
  }
860
1078
  ],
861
1079
  "members": [
862
1080
  {
863
1081
  "kind": "field",
864
- "name": "dependencies",
1082
+ "name": "size",
865
1083
  "type": {
866
- "text": "Record<string, CustomElementConstructor>"
1084
+ "text": "string"
867
1085
  },
868
- "static": true,
869
- "default": "{ \"sky-icon\": SkyIcon, }"
1086
+ "default": "\"50px\"",
1087
+ "description": "Avatar size: preset `sm` | `md` | `lg` or CSS length (for example `50px`).",
1088
+ "attribute": "size"
870
1089
  },
871
1090
  {
872
1091
  "kind": "field",
873
- "name": "title",
1092
+ "name": "image",
874
1093
  "type": {
875
1094
  "text": "string"
876
1095
  },
877
- "default": "\"App Bar\"",
878
- "description": "Title text displayed in the app bar.",
879
- "attribute": "title"
1096
+ "default": "\"\"",
1097
+ "description": "Image URL; fallback slot is shown on load error.",
1098
+ "attribute": "image"
880
1099
  },
881
1100
  {
882
1101
  "kind": "field",
883
- "name": "color",
1102
+ "name": "fit",
884
1103
  "type": {
885
- "text": "string"
1104
+ "text": "SkyAvatarFit"
886
1105
  },
887
- "default": "\"default\"",
888
- "description": "Semantic token or CSS color for bar background; foreground color is derived for contrast.",
889
- "attribute": "color"
1106
+ "default": "\"cover\"",
1107
+ "description": "Image fill mode: `cover` (default) or `contain`.",
1108
+ "attribute": "fit",
1109
+ "reflects": true
890
1110
  },
891
1111
  {
892
1112
  "kind": "field",
893
- "name": "url",
1113
+ "name": "radius",
894
1114
  "type": {
895
1115
  "text": "string"
896
1116
  },
897
- "default": "\"\"",
898
- "description": "Background image URL.",
899
- "attribute": "url"
1117
+ "default": "\"md\"",
1118
+ "description": "Border radius token or CSS value.",
1119
+ "attribute": "radius"
900
1120
  },
901
1121
  {
902
1122
  "kind": "field",
903
- "name": "banner",
1123
+ "name": "alt",
904
1124
  "type": {
905
- "text": "boolean"
1125
+ "text": "string"
906
1126
  },
907
- "default": "true",
908
- "description": "Uses `role=\"banner\"` when true, otherwise `role=\"group\"`.",
909
- "attribute": "banner"
1127
+ "default": "\"\"",
1128
+ "description": "Accessible name when image content conveys meaning.",
1129
+ "attribute": "alt"
910
1130
  },
911
1131
  {
912
1132
  "kind": "field",
913
- "name": "dense",
1133
+ "name": "color",
914
1134
  "type": {
915
- "text": "boolean"
1135
+ "text": "string"
916
1136
  },
917
- "default": "false",
918
- "description": "Enables compact vertical spacing.",
919
- "attribute": "dense"
1137
+ "default": "\"dark\"",
1138
+ "description": "Token or CSS color applied to fallback slot content.",
1139
+ "attribute": "color"
920
1140
  },
921
1141
  {
922
1142
  "kind": "field",
923
- "name": "elevated",
1143
+ "name": "outline",
924
1144
  "type": {
925
- "text": "boolean"
1145
+ "text": "string"
926
1146
  },
927
- "default": "false",
928
- "description": "Applies elevated shadow styling.",
929
- "attribute": "elevated"
1147
+ "default": "\"\"",
1148
+ "description": "CSS `outline` value.",
1149
+ "attribute": "outline"
930
1150
  },
931
1151
  {
932
1152
  "kind": "field",
933
- "name": "leadingLabel",
1153
+ "name": "outlineOffset",
934
1154
  "type": {
935
1155
  "text": "string"
936
1156
  },
937
- "default": "\"Open menu\"",
938
- "description": "Accessible label for default leading button fallback.",
939
- "attribute": "leadingLabel"
1157
+ "default": "\"2px\"",
1158
+ "description": "CSS `outline-offset` value.",
1159
+ "attribute": "outlineOffset"
940
1160
  },
941
1161
  {
942
- "kind": "method",
943
- "name": "_applyColorSurface",
1162
+ "kind": "field",
1163
+ "name": "loading",
1164
+ "type": {
1165
+ "text": "boolean"
1166
+ },
1167
+ "default": "false",
1168
+ "description": "Shows loading overlay when true.",
1169
+ "attribute": "loading",
1170
+ "reflects": true
1171
+ },
1172
+ {
1173
+ "kind": "field",
1174
+ "name": "disabled",
1175
+ "type": {
1176
+ "text": "boolean"
1177
+ },
1178
+ "default": "false",
1179
+ "description": "Dims and disables pointer interactions.",
1180
+ "attribute": "disabled",
1181
+ "reflects": true
1182
+ },
1183
+ {
1184
+ "kind": "field",
1185
+ "name": "interactive",
1186
+ "type": {
1187
+ "text": "boolean"
1188
+ },
1189
+ "default": "false",
1190
+ "description": "Enables interactive behavior with keyboard/click activation.",
1191
+ "attribute": "interactive"
1192
+ },
1193
+ {
1194
+ "kind": "field",
1195
+ "name": "shadow",
1196
+ "type": {
1197
+ "text": "boolean"
1198
+ },
1199
+ "default": "false",
1200
+ "description": "When true, applies solid surface, border ring, and elevation; no backdrop blur.",
1201
+ "attribute": "shadow",
1202
+ "reflects": true
1203
+ },
1204
+ {
1205
+ "kind": "field",
1206
+ "name": "_imageError",
1207
+ "type": {
1208
+ "text": "boolean"
1209
+ },
1210
+ "privacy": "private",
1211
+ "default": "false",
1212
+ "description": "True when image failed to load; show slot instead."
1213
+ },
1214
+ {
1215
+ "kind": "field",
1216
+ "name": "_onImageLoad",
1217
+ "privacy": "private",
1218
+ "description": "Marks image load success and keeps image rendering active."
1219
+ },
1220
+ {
1221
+ "kind": "field",
1222
+ "name": "_onImageError",
1223
+ "privacy": "private",
1224
+ "description": "Marks image load failure and enables fallback slot rendering."
1225
+ },
1226
+ {
1227
+ "kind": "method",
1228
+ "name": "_handleInteractiveClick",
944
1229
  "privacy": "private",
945
1230
  "return": {
946
1231
  "type": {
947
1232
  "text": "void"
948
1233
  }
949
1234
  },
950
- "description": "Applies glass vs solid surface tokens from `color`."
1235
+ "parameters": [
1236
+ {
1237
+ "name": "e",
1238
+ "type": {
1239
+ "text": "Event"
1240
+ }
1241
+ }
1242
+ ],
1243
+ "description": "Re-dispatches click in interactive mode for host-level consumers."
951
1244
  },
952
1245
  {
953
1246
  "kind": "method",
954
- "name": "_applyBackgroundImage",
1247
+ "name": "_handleInteractiveKeydown",
955
1248
  "privacy": "private",
956
1249
  "return": {
957
1250
  "type": {
958
1251
  "text": "void"
959
1252
  }
960
1253
  },
961
- "description": "Sets background image CSS variable from `url`."
1254
+ "parameters": [
1255
+ {
1256
+ "name": "e",
1257
+ "type": {
1258
+ "text": "KeyboardEvent"
1259
+ }
1260
+ }
1261
+ ],
1262
+ "description": "Handles keyboard activation in interactive mode."
1263
+ },
1264
+ {
1265
+ "kind": "method",
1266
+ "name": "adjustSpinnerSize",
1267
+ "privacy": "private",
1268
+ "return": {
1269
+ "type": {
1270
+ "text": "void"
1271
+ }
1272
+ },
1273
+ "description": "Derives spinner dimensions from current avatar size."
1274
+ }
1275
+ ],
1276
+ "events": [
1277
+ {
1278
+ "name": "click",
1279
+ "type": {
1280
+ "text": "Event"
1281
+ }
962
1282
  }
963
1283
  ],
964
1284
  "attributes": [
965
1285
  {
966
- "name": "title",
1286
+ "name": "size",
967
1287
  "type": {
968
1288
  "text": "string"
969
1289
  },
970
- "default": "\"App Bar\"",
971
- "description": "Title text displayed in the app bar.",
972
- "fieldName": "title"
1290
+ "default": "\"50px\"",
1291
+ "description": "Avatar size: preset `sm` | `md` | `lg` or CSS length (for example `50px`).",
1292
+ "fieldName": "size"
1293
+ },
1294
+ {
1295
+ "name": "image",
1296
+ "type": {
1297
+ "text": "string"
1298
+ },
1299
+ "default": "\"\"",
1300
+ "description": "Image URL; fallback slot is shown on load error.",
1301
+ "fieldName": "image"
1302
+ },
1303
+ {
1304
+ "name": "fit",
1305
+ "type": {
1306
+ "text": "SkyAvatarFit"
1307
+ },
1308
+ "default": "\"cover\"",
1309
+ "description": "Image fill mode: `cover` (default) or `contain`.",
1310
+ "fieldName": "fit"
1311
+ },
1312
+ {
1313
+ "name": "radius",
1314
+ "type": {
1315
+ "text": "string"
1316
+ },
1317
+ "default": "\"md\"",
1318
+ "description": "Border radius token or CSS value.",
1319
+ "fieldName": "radius"
1320
+ },
1321
+ {
1322
+ "name": "alt",
1323
+ "type": {
1324
+ "text": "string"
1325
+ },
1326
+ "default": "\"\"",
1327
+ "description": "Accessible name when image content conveys meaning.",
1328
+ "fieldName": "alt"
973
1329
  },
974
1330
  {
975
1331
  "name": "color",
976
1332
  "type": {
977
1333
  "text": "string"
978
1334
  },
979
- "default": "\"default\"",
980
- "description": "Semantic token or CSS color for bar background; foreground color is derived for contrast.",
1335
+ "default": "\"dark\"",
1336
+ "description": "Token or CSS color applied to fallback slot content.",
981
1337
  "fieldName": "color"
982
1338
  },
983
1339
  {
984
- "name": "url",
1340
+ "name": "outline",
985
1341
  "type": {
986
1342
  "text": "string"
987
1343
  },
988
1344
  "default": "\"\"",
989
- "description": "Background image URL.",
990
- "fieldName": "url"
1345
+ "description": "CSS `outline` value.",
1346
+ "fieldName": "outline"
991
1347
  },
992
1348
  {
993
- "name": "banner",
1349
+ "name": "outlineOffset",
1350
+ "type": {
1351
+ "text": "string"
1352
+ },
1353
+ "default": "\"2px\"",
1354
+ "description": "CSS `outline-offset` value.",
1355
+ "fieldName": "outlineOffset"
1356
+ },
1357
+ {
1358
+ "name": "loading",
994
1359
  "type": {
995
1360
  "text": "boolean"
996
1361
  },
997
- "default": "true",
998
- "description": "Uses `role=\"banner\"` when true, otherwise `role=\"group\"`.",
999
- "fieldName": "banner"
1362
+ "default": "false",
1363
+ "description": "Shows loading overlay when true.",
1364
+ "fieldName": "loading"
1000
1365
  },
1001
1366
  {
1002
- "name": "dense",
1367
+ "name": "disabled",
1003
1368
  "type": {
1004
1369
  "text": "boolean"
1005
1370
  },
1006
1371
  "default": "false",
1007
- "description": "Enables compact vertical spacing.",
1008
- "fieldName": "dense"
1372
+ "description": "Dims and disables pointer interactions.",
1373
+ "fieldName": "disabled"
1009
1374
  },
1010
1375
  {
1011
- "name": "elevated",
1376
+ "name": "interactive",
1012
1377
  "type": {
1013
1378
  "text": "boolean"
1014
1379
  },
1015
1380
  "default": "false",
1016
- "description": "Applies elevated shadow styling.",
1017
- "fieldName": "elevated"
1381
+ "description": "Enables interactive behavior with keyboard/click activation.",
1382
+ "fieldName": "interactive"
1018
1383
  },
1019
1384
  {
1020
- "name": "leadingLabel",
1385
+ "name": "shadow",
1021
1386
  "type": {
1022
- "text": "string"
1387
+ "text": "boolean"
1023
1388
  },
1024
- "default": "\"Open menu\"",
1025
- "description": "Accessible label for default leading button fallback.",
1026
- "fieldName": "leadingLabel"
1389
+ "default": "false",
1390
+ "description": "When true, applies solid surface, border ring, and elevation; no backdrop blur.",
1391
+ "fieldName": "shadow"
1027
1392
  }
1028
1393
  ],
1029
1394
  "superclass": {
1030
1395
  "name": "LitElement",
1031
1396
  "package": "lit"
1032
1397
  },
1033
- "tagName": "sky-appbar",
1398
+ "tagName": "sky-avatar",
1034
1399
  "customElement": true,
1035
- "summary": "Application top bar with title, optional leading control, trailing actions, and optional color/image background."
1400
+ "summary": "Avatar that renders image content or fallback slot content with configurable size, radius, outline, and loading state."
1036
1401
  }
1037
1402
  ],
1038
1403
  "exports": [
1039
1404
  {
1040
1405
  "kind": "js",
1041
- "name": "SkyAppbar",
1406
+ "name": "SkyAvatar",
1042
1407
  "declaration": {
1043
- "name": "SkyAppbar",
1044
- "module": "src/sky-appbar/sky-appbar.ts"
1408
+ "name": "SkyAvatar",
1409
+ "module": "src/sky-avatar/sky-avatar.ts"
1045
1410
  }
1046
1411
  },
1047
1412
  {
1048
1413
  "kind": "custom-element-definition",
1049
- "name": "sky-appbar",
1414
+ "name": "sky-avatar",
1050
1415
  "declaration": {
1051
- "name": "SkyAppbar",
1052
- "module": "src/sky-appbar/sky-appbar.ts"
1416
+ "name": "SkyAvatar",
1417
+ "module": "src/sky-avatar/sky-avatar.ts"
1053
1418
  }
1054
1419
  }
1055
1420
  ]
1056
1421
  },
1057
1422
  {
1058
1423
  "kind": "javascript-module",
1059
- "path": "src/sky-badge/sky-badge.ts",
1424
+ "path": "src/sky-button/sky-button.ts",
1060
1425
  "declarations": [
1061
1426
  {
1062
1427
  "kind": "class",
1063
1428
  "description": "",
1064
- "name": "SkyBadge",
1429
+ "name": "SkyButton",
1065
1430
  "cssParts": [
1066
1431
  {
1067
- "description": "Wrapper around the slotted content and the badge.",
1068
- "name": "container"
1432
+ "description": "The native `<button>` element.",
1433
+ "name": "button"
1069
1434
  },
1070
1435
  {
1071
- "description": "The badge element. Use `badgeRef` for positioning (e.g. tooltip anchor).",
1072
- "name": "badge"
1436
+ "description": "The optional left/right icons.",
1437
+ "name": "icon"
1073
1438
  },
1074
1439
  {
1075
- "description": "The icon element when `isIcon` is true.",
1076
- "name": "icon"
1440
+ "description": "Overlay displayed when loading.",
1441
+ "name": "loading-overlay"
1442
+ },
1443
+ {
1444
+ "description": "Spinner displayed when loading.",
1445
+ "name": "spinner"
1077
1446
  }
1078
1447
  ],
1079
1448
  "slots": [
1080
1449
  {
1081
- "description": "The content the badge attaches to.",
1450
+ "description": "Default slot for the button label (replaces `label` property if used).",
1082
1451
  "name": ""
1083
- },
1084
- {
1085
- "description": "Optional slot to override the badge content entirely.",
1086
- "name": "badge"
1087
1452
  }
1088
1453
  ],
1089
1454
  "members": [
@@ -1098,68 +1463,61 @@
1098
1463
  },
1099
1464
  {
1100
1465
  "kind": "field",
1101
- "name": "statusColor",
1466
+ "name": "formAssociated",
1102
1467
  "type": {
1103
- "text": "string"
1468
+ "text": "boolean"
1104
1469
  },
1105
- "default": "\"success\"",
1106
- "description": "Badge background token or CSS color.",
1107
- "attribute": "statusColor",
1108
- "reflects": true
1470
+ "static": true,
1471
+ "default": "true"
1109
1472
  },
1110
1473
  {
1111
1474
  "kind": "field",
1112
- "name": "textColor",
1475
+ "name": "internals",
1113
1476
  "type": {
1114
- "text": "string"
1477
+ "text": "ElementInternals"
1115
1478
  },
1116
- "default": "\"default\"",
1117
- "description": "Text color token or CSS color.",
1118
- "attribute": "textColor",
1119
- "reflects": true
1479
+ "privacy": "private"
1120
1480
  },
1121
1481
  {
1122
1482
  "kind": "field",
1123
- "name": "iconColor",
1483
+ "name": "variant",
1124
1484
  "type": {
1125
- "text": "string"
1485
+ "text": "SkyButtonVariant"
1126
1486
  },
1127
- "default": "\"\"",
1128
- "description": "Icon color token or CSS color; falls back to `textColor` when empty.",
1129
- "attribute": "iconColor",
1487
+ "default": "\"solid\"",
1488
+ "description": "Visual variant of the button. Use `\"link\"` for text-only control with underline on hover. Default: `\"solid\"`.",
1489
+ "attribute": "variant",
1130
1490
  "reflects": true
1131
1491
  },
1132
1492
  {
1133
1493
  "kind": "field",
1134
- "name": "position",
1494
+ "name": "color",
1135
1495
  "type": {
1136
- "text": "SkyBadgePosition"
1496
+ "text": "string"
1137
1497
  },
1138
- "default": "\"default\"",
1139
- "description": "Layout mode: `default | floating | inline`.",
1140
- "attribute": "position",
1141
- "reflects": true
1498
+ "default": "\"primary\"",
1499
+ "description": "Base color token or custom CSS color. Default: `\"primary\"`.",
1500
+ "attribute": "color"
1142
1501
  },
1143
1502
  {
1144
1503
  "kind": "field",
1145
- "name": "value",
1504
+ "name": "type",
1146
1505
  "type": {
1147
- "text": "string"
1506
+ "text": "SkyButtonType"
1148
1507
  },
1149
- "default": "\"\"",
1150
- "description": "Badge text/count or icon name in icon mode.",
1151
- "attribute": "value"
1508
+ "default": "\"button\"",
1509
+ "description": "Button type attribute. Default: `\"button\"`.",
1510
+ "attribute": "type"
1152
1511
  },
1153
1512
  {
1154
1513
  "kind": "field",
1155
- "name": "isIcon",
1514
+ "name": "form",
1156
1515
  "type": {
1157
- "text": "boolean"
1516
+ "text": "string"
1158
1517
  },
1159
- "default": "false",
1160
- "description": "Renders icon mode when true.",
1161
- "attribute": "isIcon",
1162
- "reflects": true
1518
+ "default": "\"\"",
1519
+ "description": "Associated form ID for custom submit handling.",
1520
+ "attribute": "form"
1163
1521
  },
1164
1522
  {
1165
1523
  "kind": "field",
@@ -1167,486 +1525,467 @@
1167
1525
  "type": {
1168
1526
  "text": "string"
1169
1527
  },
1170
- "default": "\"\"",
1171
- "description": "Badge and icon size CSS length.",
1172
- "attribute": "size",
1173
- "reflects": true
1528
+ "default": "\"md\"",
1529
+ "description": "Preset size token (`xs…xl`) or CSS size (e.g., `\"15px\"`, `\"1rem\"`). Default: `\"md\"`.",
1530
+ "attribute": "size"
1174
1531
  },
1175
1532
  {
1176
1533
  "kind": "field",
1177
- "name": "shape",
1534
+ "name": "radius",
1178
1535
  "type": {
1179
- "text": "SkyBadgeShape"
1536
+ "text": "string"
1180
1537
  },
1181
- "default": "\"custom\"",
1182
- "description": "Badge shape: `circle | pill | custom`.",
1183
- "attribute": "shape",
1184
- "reflects": true
1538
+ "default": "\"md\"",
1539
+ "description": "Preset radius token (`none…full`) or CSS radius (e.g., `\"12px\"`). Default: `\"md\"`.",
1540
+ "attribute": "radius"
1185
1541
  },
1186
1542
  {
1187
1543
  "kind": "field",
1188
- "name": "max",
1544
+ "name": "label",
1189
1545
  "type": {
1190
- "text": "number"
1546
+ "text": "string"
1191
1547
  },
1192
- "default": "99",
1193
- "description": "Maximum numeric count before rendering overflow label.",
1194
- "attribute": "max"
1548
+ "default": "\"Button\"",
1549
+ "description": "Text label for the button. Ignored if default slot is used. Default: `\"Button\"`.",
1550
+ "attribute": "label"
1195
1551
  },
1196
1552
  {
1197
1553
  "kind": "field",
1198
- "name": "hideWhenZero",
1554
+ "name": "disabled",
1199
1555
  "type": {
1200
1556
  "text": "boolean"
1201
1557
  },
1202
1558
  "default": "false",
1203
- "description": "Hides badge when value resolves to numeric zero.",
1204
- "attribute": "hideWhenZero"
1559
+ "description": "Whether the button is disabled. Default: `false`.",
1560
+ "attribute": "disabled",
1561
+ "reflects": true
1205
1562
  },
1206
1563
  {
1207
1564
  "kind": "field",
1208
- "name": "show",
1565
+ "name": "loading",
1209
1566
  "type": {
1210
1567
  "text": "boolean"
1211
1568
  },
1212
- "default": "true",
1213
- "description": "Forces badge visibility independent of value.",
1214
- "attribute": "show",
1569
+ "default": "false",
1570
+ "description": "Shows a loading overlay when true. Default: `false`.",
1571
+ "attribute": "loading",
1215
1572
  "reflects": true
1216
1573
  },
1217
1574
  {
1218
1575
  "kind": "field",
1219
- "name": "offsetX",
1576
+ "name": "iconL",
1220
1577
  "type": {
1221
1578
  "text": "string"
1222
1579
  },
1223
- "default": "\"0px\"",
1224
- "description": "Horizontal offset CSS length.",
1225
- "attribute": "offsetX"
1580
+ "default": "\"\"",
1581
+ "description": "Optional left-side icon (Iconify name). Default: `\"\"`.",
1582
+ "attribute": "iconL"
1226
1583
  },
1227
1584
  {
1228
1585
  "kind": "field",
1229
- "name": "offsetY",
1586
+ "name": "iconR",
1230
1587
  "type": {
1231
1588
  "text": "string"
1232
1589
  },
1233
- "default": "\"0px\"",
1234
- "description": "Vertical offset CSS length.",
1235
- "attribute": "offsetY"
1590
+ "default": "\"\"",
1591
+ "description": "Optional right-side icon (Iconify name). Default: `\"\"`.",
1592
+ "attribute": "iconR"
1236
1593
  },
1237
1594
  {
1238
1595
  "kind": "field",
1239
- "name": "ring",
1596
+ "name": "iconOnly",
1240
1597
  "type": {
1241
1598
  "text": "boolean"
1242
1599
  },
1243
1600
  "default": "false",
1244
- "description": "Enables visual ring around the badge.",
1245
- "attribute": "ring"
1246
- },
1247
- {
1248
- "kind": "field",
1249
- "name": "ringColor",
1250
- "type": {
1251
- "text": "string"
1252
- },
1253
- "default": "\"primary\"",
1254
- "description": "Ring color token or CSS color.",
1255
- "attribute": "ringColor"
1601
+ "description": "Square padding for icon-only buttons; hides label text. Default: `false`.",
1602
+ "attribute": "iconOnly",
1603
+ "reflects": true
1256
1604
  },
1257
1605
  {
1258
1606
  "kind": "field",
1259
- "name": "ringOffset",
1607
+ "name": "colors",
1260
1608
  "type": {
1261
1609
  "text": "string"
1262
1610
  },
1263
- "default": "\"1px\"",
1264
- "description": "Ring offset CSS length.",
1265
- "attribute": "ringOffset"
1611
+ "default": "\"\"",
1612
+ "description": "Comma-separated color stops for gradient variant. Default: `\"\"`.",
1613
+ "attribute": "colors"
1266
1614
  },
1267
1615
  {
1268
1616
  "kind": "field",
1269
- "name": "badgeLabel",
1617
+ "name": "animation",
1270
1618
  "type": {
1271
- "text": "string | null"
1619
+ "text": "SkyButtonAnimation"
1272
1620
  },
1273
- "default": "null",
1274
- "description": "ARIA label override.",
1275
- "attribute": "badgeLabel"
1621
+ "default": "\"auto\"",
1622
+ "description": "Transform animation style. Default: `\"auto\"`.",
1623
+ "attribute": "animation",
1624
+ "reflects": true
1276
1625
  },
1277
1626
  {
1278
1627
  "kind": "field",
1279
- "name": "badgeAriaHidden",
1628
+ "name": "_hasMeaningfulSlot",
1280
1629
  "type": {
1281
1630
  "text": "boolean"
1282
1631
  },
1283
- "default": "false",
1284
- "description": "Hides badge from assistive technology when true.",
1285
- "attribute": "badgeAriaHidden"
1632
+ "privacy": "private",
1633
+ "default": "false"
1286
1634
  },
1287
1635
  {
1288
1636
  "kind": "field",
1289
- "name": "interactive",
1637
+ "name": "_styleVars",
1290
1638
  "type": {
1291
- "text": "boolean"
1639
+ "text": "Record<string, string>"
1292
1640
  },
1293
- "default": "false",
1294
- "description": "Enables focus/activation and `badge-click` emission.",
1295
- "attribute": "interactive"
1641
+ "privacy": "private",
1642
+ "default": "{}",
1643
+ "description": "Inline CSS variable cache."
1296
1644
  },
1297
1645
  {
1298
- "kind": "field",
1299
- "name": "placement",
1300
- "type": {
1301
- "text": "SkyBadgePlacement"
1646
+ "kind": "method",
1647
+ "name": "_slotHasMeaningfulContent",
1648
+ "privacy": "private",
1649
+ "return": {
1650
+ "type": {
1651
+ "text": "boolean"
1652
+ }
1302
1653
  },
1303
- "default": "\"custom\"",
1304
- "description": "Anchor placement preset for badge positioning.",
1305
- "attribute": "placement",
1306
- "reflects": true
1654
+ "parameters": [
1655
+ {
1656
+ "name": "slotEl",
1657
+ "type": {
1658
+ "text": "HTMLSlotElement"
1659
+ }
1660
+ }
1661
+ ]
1307
1662
  },
1308
1663
  {
1309
1664
  "kind": "field",
1310
- "name": "_badgeEl",
1311
- "type": {
1312
- "text": "HTMLSpanElement"
1313
- },
1665
+ "name": "_onSlotChange",
1314
1666
  "privacy": "private"
1315
1667
  },
1316
- {
1317
- "kind": "field",
1318
- "name": "badgeRef",
1319
- "privacy": "public",
1320
- "description": "Ref for the badge element (e.g. for tooltip anchor or positioning)."
1321
- },
1322
- {
1323
- "kind": "field",
1324
- "name": "shadowRootOptions",
1325
- "type": {
1326
- "text": "ShadowRootInit"
1327
- },
1328
- "static": true,
1329
- "default": "{ mode: \"open\", delegatesFocus: true, }"
1330
- },
1331
1668
  {
1332
1669
  "kind": "method",
1333
- "name": "showBadge",
1334
- "privacy": "public",
1670
+ "name": "_toSquarePadding",
1671
+ "privacy": "private",
1335
1672
  "return": {
1336
1673
  "type": {
1337
- "text": "void"
1674
+ "text": "string"
1338
1675
  }
1339
1676
  },
1340
- "description": "Forces badge visibility on."
1677
+ "parameters": [
1678
+ {
1679
+ "name": "padding",
1680
+ "type": {
1681
+ "text": "string"
1682
+ }
1683
+ }
1684
+ ],
1685
+ "description": "Uses vertical padding for equal sides (icon-only square control)."
1341
1686
  },
1342
1687
  {
1343
1688
  "kind": "method",
1344
- "name": "hideBadge",
1345
- "privacy": "public",
1689
+ "name": "_resolveSize",
1690
+ "privacy": "private",
1346
1691
  "return": {
1347
1692
  "type": {
1348
- "text": "void"
1693
+ "text": "{\r\n padding: string;\r\n fontSize: string;\r\n gap: string;\r\n icon: string;\r\n spinner: string;\r\n }"
1349
1694
  }
1350
1695
  },
1351
- "description": "Forces badge visibility off."
1696
+ "parameters": [
1697
+ {
1698
+ "name": "input",
1699
+ "type": {
1700
+ "text": "string"
1701
+ }
1702
+ }
1703
+ ]
1352
1704
  },
1353
1705
  {
1354
1706
  "kind": "method",
1355
- "name": "setValue",
1356
- "privacy": "public",
1707
+ "name": "_isThemeBorderShorthand",
1708
+ "privacy": "private",
1357
1709
  "return": {
1358
1710
  "type": {
1359
- "text": "void"
1711
+ "text": "boolean"
1360
1712
  }
1361
1713
  },
1362
1714
  "parameters": [
1363
1715
  {
1364
- "name": "value",
1716
+ "name": "border",
1365
1717
  "type": {
1366
- "text": "string"
1367
- },
1368
- "description": "Badge value or icon name."
1718
+ "text": "string | undefined"
1719
+ }
1369
1720
  }
1370
1721
  ],
1371
- "description": "Updates badge value for text/count or icon modes."
1722
+ "description": "Theme tokens like `var(--sky-border-primary)` are full border shorthands, not colors."
1372
1723
  },
1373
1724
  {
1374
- "kind": "field",
1375
- "name": "_onActivate",
1725
+ "kind": "method",
1726
+ "name": "_borderColorFromShorthand",
1376
1727
  "privacy": "private",
1377
- "description": "Emits `badge-click` for interactive activation."
1378
- },
1379
- {
1380
- "kind": "field",
1381
- "name": "_onKeydown",
1382
- "privacy": "private",
1383
- "description": "Handles keyboard activation with Enter and Space."
1728
+ "return": {
1729
+ "type": {
1730
+ "text": "string"
1731
+ }
1732
+ },
1733
+ "parameters": [
1734
+ {
1735
+ "name": "border",
1736
+ "type": {
1737
+ "text": "string | undefined"
1738
+ }
1739
+ }
1740
+ ],
1741
+ "description": "Extracts the color token from a `Npx solid …` border shorthand."
1384
1742
  },
1385
1743
  {
1386
1744
  "kind": "method",
1387
- "name": "_computeAriaLabel",
1745
+ "name": "focusButton",
1746
+ "privacy": "public",
1747
+ "return": {
1748
+ "type": {
1749
+ "text": "void"
1750
+ }
1751
+ },
1752
+ "description": "Focuses the internal native button."
1753
+ },
1754
+ {
1755
+ "kind": "method",
1756
+ "name": "clickButton",
1757
+ "privacy": "public",
1758
+ "return": {
1759
+ "type": {
1760
+ "text": "void"
1761
+ }
1762
+ },
1763
+ "description": "Triggers a click on the internal native button when enabled."
1764
+ },
1765
+ {
1766
+ "kind": "method",
1767
+ "name": "_createRipple",
1388
1768
  "privacy": "private",
1389
1769
  "return": {
1390
1770
  "type": {
1391
- "text": "string | null"
1771
+ "text": "void"
1392
1772
  }
1393
1773
  },
1394
1774
  "parameters": [
1395
1775
  {
1396
- "name": "displayValue",
1776
+ "name": "event",
1397
1777
  "type": {
1398
- "text": "string | null"
1778
+ "text": "MouseEvent"
1399
1779
  }
1400
1780
  }
1401
- ],
1402
- "description": "Computes accessible badge label from current render state."
1781
+ ]
1403
1782
  },
1404
1783
  {
1405
1784
  "kind": "method",
1406
- "name": "_computeAnchors",
1407
- "privacy": "private",
1785
+ "name": "formDisabledCallback",
1408
1786
  "return": {
1409
1787
  "type": {
1410
- "text": "{\r\n top: string;\r\n right: string;\r\n bottom: string;\r\n left: string;\r\n }"
1788
+ "text": "void"
1411
1789
  }
1412
1790
  },
1413
1791
  "parameters": [
1414
1792
  {
1415
- "name": "placement",
1793
+ "name": "disabled",
1416
1794
  "type": {
1417
- "text": "SkyBadgePlacement"
1795
+ "text": "boolean"
1418
1796
  }
1419
1797
  }
1420
- ],
1421
- "description": "Resolves anchor edges from placement preset."
1798
+ ]
1799
+ },
1800
+ {
1801
+ "kind": "field",
1802
+ "name": "formOwner",
1803
+ "type": {
1804
+ "text": "HTMLFormElement | null"
1805
+ },
1806
+ "readonly": true
1422
1807
  },
1423
1808
  {
1424
1809
  "kind": "method",
1425
- "name": "_resolveBadgeSurface",
1810
+ "name": "_handleClick",
1426
1811
  "privacy": "private",
1427
1812
  "return": {
1428
1813
  "type": {
1429
- "text": "{\r\n bg: string;\r\n color: string;\r\n border: string;\r\n }"
1814
+ "text": "void"
1430
1815
  }
1431
1816
  },
1432
- "description": "Maps semantic status tokens to soft badge surface colors."
1433
- }
1434
- ],
1435
- "events": [
1817
+ "parameters": [
1818
+ {
1819
+ "name": "event",
1820
+ "type": {
1821
+ "text": "MouseEvent"
1822
+ }
1823
+ }
1824
+ ]
1825
+ },
1436
1826
  {
1437
- "type": {
1438
- "text": "CustomEvent<SkyBadgeClickEventDetail>"
1439
- },
1440
- "description": "Emitted when badge activation occurs via click, Enter, or Space while `interactive` is true.",
1441
- "name": "badge-click"
1827
+ "kind": "method",
1828
+ "name": "_iconOnlyName",
1829
+ "privacy": "private",
1830
+ "return": {
1831
+ "type": {
1832
+ "text": "string"
1833
+ }
1834
+ }
1442
1835
  }
1443
1836
  ],
1444
1837
  "attributes": [
1445
1838
  {
1446
- "name": "statusColor",
1447
- "type": {
1448
- "text": "string"
1449
- },
1450
- "default": "\"success\"",
1451
- "description": "Badge background token or CSS color.",
1452
- "fieldName": "statusColor"
1453
- },
1454
- {
1455
- "name": "textColor",
1839
+ "name": "variant",
1456
1840
  "type": {
1457
- "text": "string"
1841
+ "text": "SkyButtonVariant"
1458
1842
  },
1459
- "default": "\"default\"",
1460
- "description": "Text color token or CSS color.",
1461
- "fieldName": "textColor"
1843
+ "default": "\"solid\"",
1844
+ "description": "Visual variant of the button. Use `\"link\"` for text-only control with underline on hover. Default: `\"solid\"`.",
1845
+ "fieldName": "variant"
1462
1846
  },
1463
1847
  {
1464
- "name": "iconColor",
1848
+ "name": "color",
1465
1849
  "type": {
1466
1850
  "text": "string"
1467
1851
  },
1468
- "default": "\"\"",
1469
- "description": "Icon color token or CSS color; falls back to `textColor` when empty.",
1470
- "fieldName": "iconColor"
1852
+ "default": "\"primary\"",
1853
+ "description": "Base color token or custom CSS color. Default: `\"primary\"`.",
1854
+ "fieldName": "color"
1471
1855
  },
1472
1856
  {
1473
- "name": "position",
1857
+ "name": "type",
1474
1858
  "type": {
1475
- "text": "SkyBadgePosition"
1859
+ "text": "SkyButtonType"
1476
1860
  },
1477
- "default": "\"default\"",
1478
- "description": "Layout mode: `default | floating | inline`.",
1479
- "fieldName": "position"
1861
+ "default": "\"button\"",
1862
+ "description": "Button type attribute. Default: `\"button\"`.",
1863
+ "fieldName": "type"
1480
1864
  },
1481
1865
  {
1482
- "name": "value",
1866
+ "name": "form",
1483
1867
  "type": {
1484
1868
  "text": "string"
1485
1869
  },
1486
1870
  "default": "\"\"",
1487
- "description": "Badge text/count or icon name in icon mode.",
1488
- "fieldName": "value"
1489
- },
1490
- {
1491
- "name": "isIcon",
1492
- "type": {
1493
- "text": "boolean"
1494
- },
1495
- "default": "false",
1496
- "description": "Renders icon mode when true.",
1497
- "fieldName": "isIcon"
1871
+ "description": "Associated form ID for custom submit handling.",
1872
+ "fieldName": "form"
1498
1873
  },
1499
1874
  {
1500
1875
  "name": "size",
1501
1876
  "type": {
1502
1877
  "text": "string"
1503
1878
  },
1504
- "default": "\"\"",
1505
- "description": "Badge and icon size CSS length.",
1879
+ "default": "\"md\"",
1880
+ "description": "Preset size token (`xs…xl`) or CSS size (e.g., `\"15px\"`, `\"1rem\"`). Default: `\"md\"`.",
1506
1881
  "fieldName": "size"
1507
1882
  },
1508
1883
  {
1509
- "name": "shape",
1884
+ "name": "radius",
1510
1885
  "type": {
1511
- "text": "SkyBadgeShape"
1886
+ "text": "string"
1512
1887
  },
1513
- "default": "\"custom\"",
1514
- "description": "Badge shape: `circle | pill | custom`.",
1515
- "fieldName": "shape"
1888
+ "default": "\"md\"",
1889
+ "description": "Preset radius token (`none…full`) or CSS radius (e.g., `\"12px\"`). Default: `\"md\"`.",
1890
+ "fieldName": "radius"
1516
1891
  },
1517
1892
  {
1518
- "name": "max",
1893
+ "name": "label",
1519
1894
  "type": {
1520
- "text": "number"
1895
+ "text": "string"
1521
1896
  },
1522
- "default": "99",
1523
- "description": "Maximum numeric count before rendering overflow label.",
1524
- "fieldName": "max"
1897
+ "default": "\"Button\"",
1898
+ "description": "Text label for the button. Ignored if default slot is used. Default: `\"Button\"`.",
1899
+ "fieldName": "label"
1525
1900
  },
1526
1901
  {
1527
- "name": "hideWhenZero",
1902
+ "name": "disabled",
1528
1903
  "type": {
1529
1904
  "text": "boolean"
1530
1905
  },
1531
1906
  "default": "false",
1532
- "description": "Hides badge when value resolves to numeric zero.",
1533
- "fieldName": "hideWhenZero"
1907
+ "description": "Whether the button is disabled. Default: `false`.",
1908
+ "fieldName": "disabled"
1534
1909
  },
1535
1910
  {
1536
- "name": "show",
1911
+ "name": "loading",
1537
1912
  "type": {
1538
1913
  "text": "boolean"
1539
1914
  },
1540
- "default": "true",
1541
- "description": "Forces badge visibility independent of value.",
1542
- "fieldName": "show"
1915
+ "default": "false",
1916
+ "description": "Shows a loading overlay when true. Default: `false`.",
1917
+ "fieldName": "loading"
1543
1918
  },
1544
1919
  {
1545
- "name": "offsetX",
1920
+ "name": "iconL",
1546
1921
  "type": {
1547
1922
  "text": "string"
1548
1923
  },
1549
- "default": "\"0px\"",
1550
- "description": "Horizontal offset CSS length.",
1551
- "fieldName": "offsetX"
1924
+ "default": "\"\"",
1925
+ "description": "Optional left-side icon (Iconify name). Default: `\"\"`.",
1926
+ "fieldName": "iconL"
1552
1927
  },
1553
1928
  {
1554
- "name": "offsetY",
1929
+ "name": "iconR",
1555
1930
  "type": {
1556
1931
  "text": "string"
1557
1932
  },
1558
- "default": "\"0px\"",
1559
- "description": "Vertical offset CSS length.",
1560
- "fieldName": "offsetY"
1933
+ "default": "\"\"",
1934
+ "description": "Optional right-side icon (Iconify name). Default: `\"\"`.",
1935
+ "fieldName": "iconR"
1561
1936
  },
1562
1937
  {
1563
- "name": "ring",
1938
+ "name": "iconOnly",
1564
1939
  "type": {
1565
1940
  "text": "boolean"
1566
1941
  },
1567
1942
  "default": "false",
1568
- "description": "Enables visual ring around the badge.",
1569
- "fieldName": "ring"
1570
- },
1571
- {
1572
- "name": "ringColor",
1573
- "type": {
1574
- "text": "string"
1575
- },
1576
- "default": "\"primary\"",
1577
- "description": "Ring color token or CSS color.",
1578
- "fieldName": "ringColor"
1943
+ "description": "Square padding for icon-only buttons; hides label text. Default: `false`.",
1944
+ "fieldName": "iconOnly"
1579
1945
  },
1580
1946
  {
1581
- "name": "ringOffset",
1947
+ "name": "colors",
1582
1948
  "type": {
1583
1949
  "text": "string"
1584
1950
  },
1585
- "default": "\"1px\"",
1586
- "description": "Ring offset CSS length.",
1587
- "fieldName": "ringOffset"
1588
- },
1589
- {
1590
- "name": "badgeLabel",
1591
- "type": {
1592
- "text": "string | null"
1593
- },
1594
- "default": "null",
1595
- "description": "ARIA label override.",
1596
- "fieldName": "badgeLabel"
1597
- },
1598
- {
1599
- "name": "badgeAriaHidden",
1600
- "type": {
1601
- "text": "boolean"
1602
- },
1603
- "default": "false",
1604
- "description": "Hides badge from assistive technology when true.",
1605
- "fieldName": "badgeAriaHidden"
1951
+ "default": "\"\"",
1952
+ "description": "Comma-separated color stops for gradient variant. Default: `\"\"`.",
1953
+ "fieldName": "colors"
1606
1954
  },
1607
1955
  {
1608
- "name": "interactive",
1956
+ "name": "animation",
1609
1957
  "type": {
1610
- "text": "boolean"
1958
+ "text": "SkyButtonAnimation"
1611
1959
  },
1612
- "default": "false",
1613
- "description": "Enables focus/activation and `badge-click` emission.",
1614
- "fieldName": "interactive"
1615
- },
1616
- {
1617
- "name": "placement",
1618
- "type": {
1619
- "text": "SkyBadgePlacement"
1620
- },
1621
- "default": "\"custom\"",
1622
- "description": "Anchor placement preset for badge positioning.",
1623
- "fieldName": "placement"
1960
+ "default": "\"auto\"",
1961
+ "description": "Transform animation style. Default: `\"auto\"`.",
1962
+ "fieldName": "animation"
1624
1963
  }
1625
1964
  ],
1626
1965
  "superclass": {
1627
1966
  "name": "LitElement",
1628
1967
  "package": "lit"
1629
1968
  },
1630
- "tagName": "sky-badge",
1969
+ "tagName": "sky-button",
1631
1970
  "customElement": true,
1632
- "summary": "Badge for status dots, counts, or icons anchored to slotted content."
1971
+ "summary": "Styled button supporting variants, icons, loading state, ripple feedback, and form-associated behavior."
1633
1972
  }
1634
1973
  ],
1635
1974
  "exports": [
1636
1975
  {
1637
1976
  "kind": "js",
1638
- "name": "SkyBadge",
1977
+ "name": "SkyButton",
1639
1978
  "declaration": {
1640
- "name": "SkyBadge",
1641
- "module": "src/sky-badge/sky-badge.ts"
1979
+ "name": "SkyButton",
1980
+ "module": "src/sky-button/sky-button.ts"
1642
1981
  }
1643
1982
  },
1644
1983
  {
1645
1984
  "kind": "custom-element-definition",
1646
- "name": "sky-badge",
1985
+ "name": "sky-button",
1647
1986
  "declaration": {
1648
- "name": "SkyBadge",
1649
- "module": "src/sky-badge/sky-badge.ts"
1987
+ "name": "SkyButton",
1988
+ "module": "src/sky-button/sky-button.ts"
1650
1989
  }
1651
1990
  }
1652
1991
  ]
@@ -2479,650 +2818,79 @@
2479
2818
  "text": "string"
2480
2819
  },
2481
2820
  "default": "\"md\"",
2482
- "description": "Border radius for the footer. Default: `\"md\"`.",
2483
- "fieldName": "footerRadius"
2484
- },
2485
- {
2486
- "name": "footerSeparatorColor",
2487
- "type": {
2488
- "text": "string"
2489
- },
2490
- "default": "\"border-light\"",
2491
- "description": "Color for the footer separator. Default: `\"border-light\"`.",
2492
- "fieldName": "footerSeparatorColor"
2493
- },
2494
- {
2495
- "name": "padRatio",
2496
- "type": {
2497
- "text": "number"
2498
- },
2499
- "default": "1",
2500
- "description": "Ratio to adjust padding. Default: `1`.",
2501
- "fieldName": "padRatio"
2502
- },
2503
- {
2504
- "name": "separators",
2505
- "type": {
2506
- "text": "SkyCardSectionTarget"
2507
- },
2508
- "default": "\"none\"",
2509
- "description": "Determines where separators should appear. Default: `\"none\"`.",
2510
- "fieldName": "separators"
2511
- },
2512
- {
2513
- "name": "overlays",
2514
- "type": {
2515
- "text": "SkyCardSectionTarget"
2516
- },
2517
- "default": "\"none\"",
2518
- "description": "Determines where overlays should appear. Default: `\"none\"`.",
2519
- "fieldName": "overlays"
2520
- },
2521
- {
2522
- "name": "insets",
2523
- "type": {
2524
- "text": "SkyCardSectionTarget"
2525
- },
2526
- "default": "\"none\"",
2527
- "description": "Determines where insets should appear. Default: `\"none\"`.",
2528
- "fieldName": "insets"
2529
- }
2530
- ],
2531
- "superclass": {
2532
- "name": "LitElement",
2533
- "package": "lit"
2534
- },
2535
- "tagName": "sky-card",
2536
- "customElement": true,
2537
- "summary": "Customizable card with configurable header/footer sections, blur/background styles, elevation, insets, overlays, and separators."
2538
- }
2539
- ],
2540
- "exports": [
2541
- {
2542
- "kind": "js",
2543
- "name": "SkyCard",
2544
- "declaration": {
2545
- "name": "SkyCard",
2546
- "module": "src/sky-card/sky-card.ts"
2547
- }
2548
- },
2549
- {
2550
- "kind": "custom-element-definition",
2551
- "name": "sky-card",
2552
- "declaration": {
2553
- "name": "SkyCard",
2554
- "module": "src/sky-card/sky-card.ts"
2555
- }
2556
- }
2557
- ]
2558
- },
2559
- {
2560
- "kind": "javascript-module",
2561
- "path": "src/sky-button/sky-button.ts",
2562
- "declarations": [
2563
- {
2564
- "kind": "class",
2565
- "description": "",
2566
- "name": "SkyButton",
2567
- "cssParts": [
2568
- {
2569
- "description": "The native `<button>` element.",
2570
- "name": "button"
2571
- },
2572
- {
2573
- "description": "The optional left/right icons.",
2574
- "name": "icon"
2575
- },
2576
- {
2577
- "description": "Overlay displayed when loading.",
2578
- "name": "loading-overlay"
2579
- },
2580
- {
2581
- "description": "Spinner displayed when loading.",
2582
- "name": "spinner"
2583
- }
2584
- ],
2585
- "slots": [
2586
- {
2587
- "description": "Default slot for the button label (replaces `label` property if used).",
2588
- "name": ""
2589
- }
2590
- ],
2591
- "members": [
2592
- {
2593
- "kind": "field",
2594
- "name": "dependencies",
2595
- "type": {
2596
- "text": "Record<string, CustomElementConstructor>"
2597
- },
2598
- "static": true,
2599
- "default": "{ \"sky-icon\": SkyIcon, }"
2600
- },
2601
- {
2602
- "kind": "field",
2603
- "name": "formAssociated",
2604
- "type": {
2605
- "text": "boolean"
2606
- },
2607
- "static": true,
2608
- "default": "true"
2609
- },
2610
- {
2611
- "kind": "field",
2612
- "name": "internals",
2613
- "type": {
2614
- "text": "ElementInternals"
2615
- },
2616
- "privacy": "private"
2617
- },
2618
- {
2619
- "kind": "field",
2620
- "name": "variant",
2621
- "type": {
2622
- "text": "SkyButtonVariant"
2623
- },
2624
- "default": "\"solid\"",
2625
- "description": "Visual variant of the button. Use `\"link\"` for text-only control with underline on hover. Default: `\"solid\"`.",
2626
- "attribute": "variant",
2627
- "reflects": true
2628
- },
2629
- {
2630
- "kind": "field",
2631
- "name": "color",
2632
- "type": {
2633
- "text": "string"
2634
- },
2635
- "default": "\"primary\"",
2636
- "description": "Base color token or custom CSS color. Default: `\"primary\"`.",
2637
- "attribute": "color"
2638
- },
2639
- {
2640
- "kind": "field",
2641
- "name": "type",
2642
- "type": {
2643
- "text": "SkyButtonType"
2644
- },
2645
- "default": "\"button\"",
2646
- "description": "Button type attribute. Default: `\"button\"`.",
2647
- "attribute": "type"
2648
- },
2649
- {
2650
- "kind": "field",
2651
- "name": "form",
2652
- "type": {
2653
- "text": "string"
2654
- },
2655
- "default": "\"\"",
2656
- "description": "Associated form ID for custom submit handling.",
2657
- "attribute": "form"
2658
- },
2659
- {
2660
- "kind": "field",
2661
- "name": "size",
2662
- "type": {
2663
- "text": "string"
2664
- },
2665
- "default": "\"md\"",
2666
- "description": "Preset size token (`xs…xl`) or CSS size (e.g., `\"15px\"`, `\"1rem\"`). Default: `\"md\"`.",
2667
- "attribute": "size"
2668
- },
2669
- {
2670
- "kind": "field",
2671
- "name": "radius",
2672
- "type": {
2673
- "text": "string"
2674
- },
2675
- "default": "\"md\"",
2676
- "description": "Preset radius token (`none…full`) or CSS radius (e.g., `\"12px\"`). Default: `\"md\"`.",
2677
- "attribute": "radius"
2678
- },
2679
- {
2680
- "kind": "field",
2681
- "name": "label",
2682
- "type": {
2683
- "text": "string"
2684
- },
2685
- "default": "\"Button\"",
2686
- "description": "Text label for the button. Ignored if default slot is used. Default: `\"Button\"`.",
2687
- "attribute": "label"
2688
- },
2689
- {
2690
- "kind": "field",
2691
- "name": "disabled",
2692
- "type": {
2693
- "text": "boolean"
2694
- },
2695
- "default": "false",
2696
- "description": "Whether the button is disabled. Default: `false`.",
2697
- "attribute": "disabled",
2698
- "reflects": true
2699
- },
2700
- {
2701
- "kind": "field",
2702
- "name": "loading",
2703
- "type": {
2704
- "text": "boolean"
2705
- },
2706
- "default": "false",
2707
- "description": "Shows a loading overlay when true. Default: `false`.",
2708
- "attribute": "loading",
2709
- "reflects": true
2710
- },
2711
- {
2712
- "kind": "field",
2713
- "name": "iconL",
2714
- "type": {
2715
- "text": "string"
2716
- },
2717
- "default": "\"\"",
2718
- "description": "Optional left-side icon (Iconify name). Default: `\"\"`.",
2719
- "attribute": "iconL"
2720
- },
2721
- {
2722
- "kind": "field",
2723
- "name": "iconR",
2724
- "type": {
2725
- "text": "string"
2726
- },
2727
- "default": "\"\"",
2728
- "description": "Optional right-side icon (Iconify name). Default: `\"\"`.",
2729
- "attribute": "iconR"
2730
- },
2731
- {
2732
- "kind": "field",
2733
- "name": "iconOnly",
2734
- "type": {
2735
- "text": "boolean"
2736
- },
2737
- "default": "false",
2738
- "description": "Square padding for icon-only buttons; hides label text. Default: `false`.",
2739
- "attribute": "iconOnly",
2740
- "reflects": true
2741
- },
2742
- {
2743
- "kind": "field",
2744
- "name": "colors",
2745
- "type": {
2746
- "text": "string"
2747
- },
2748
- "default": "\"\"",
2749
- "description": "Comma-separated color stops for gradient variant. Default: `\"\"`.",
2750
- "attribute": "colors"
2751
- },
2752
- {
2753
- "kind": "field",
2754
- "name": "animation",
2755
- "type": {
2756
- "text": "SkyButtonAnimation"
2757
- },
2758
- "default": "\"auto\"",
2759
- "description": "Transform animation style. Default: `\"auto\"`.",
2760
- "attribute": "animation",
2761
- "reflects": true
2762
- },
2763
- {
2764
- "kind": "field",
2765
- "name": "_hasMeaningfulSlot",
2766
- "type": {
2767
- "text": "boolean"
2768
- },
2769
- "privacy": "private",
2770
- "default": "false"
2771
- },
2772
- {
2773
- "kind": "field",
2774
- "name": "_styleVars",
2775
- "type": {
2776
- "text": "Record<string, string>"
2777
- },
2778
- "privacy": "private",
2779
- "default": "{}",
2780
- "description": "Inline CSS variable cache."
2781
- },
2782
- {
2783
- "kind": "method",
2784
- "name": "_slotHasMeaningfulContent",
2785
- "privacy": "private",
2786
- "return": {
2787
- "type": {
2788
- "text": "boolean"
2789
- }
2790
- },
2791
- "parameters": [
2792
- {
2793
- "name": "slotEl",
2794
- "type": {
2795
- "text": "HTMLSlotElement"
2796
- }
2797
- }
2798
- ]
2799
- },
2800
- {
2801
- "kind": "field",
2802
- "name": "_onSlotChange",
2803
- "privacy": "private"
2804
- },
2805
- {
2806
- "kind": "method",
2807
- "name": "_toSquarePadding",
2808
- "privacy": "private",
2809
- "return": {
2810
- "type": {
2811
- "text": "string"
2812
- }
2813
- },
2814
- "parameters": [
2815
- {
2816
- "name": "padding",
2817
- "type": {
2818
- "text": "string"
2819
- }
2820
- }
2821
- ],
2822
- "description": "Uses vertical padding for equal sides (icon-only square control)."
2823
- },
2824
- {
2825
- "kind": "method",
2826
- "name": "_resolveSize",
2827
- "privacy": "private",
2828
- "return": {
2829
- "type": {
2830
- "text": "{\r\n padding: string;\r\n fontSize: string;\r\n gap: string;\r\n icon: string;\r\n spinner: string;\r\n }"
2831
- }
2832
- },
2833
- "parameters": [
2834
- {
2835
- "name": "input",
2836
- "type": {
2837
- "text": "string"
2838
- }
2839
- }
2840
- ]
2841
- },
2842
- {
2843
- "kind": "method",
2844
- "name": "_isThemeBorderShorthand",
2845
- "privacy": "private",
2846
- "return": {
2847
- "type": {
2848
- "text": "boolean"
2849
- }
2850
- },
2851
- "parameters": [
2852
- {
2853
- "name": "border",
2854
- "type": {
2855
- "text": "string | undefined"
2856
- }
2857
- }
2858
- ],
2859
- "description": "Theme tokens like `var(--sky-border-primary)` are full border shorthands, not colors."
2860
- },
2861
- {
2862
- "kind": "method",
2863
- "name": "_borderColorFromShorthand",
2864
- "privacy": "private",
2865
- "return": {
2866
- "type": {
2867
- "text": "string"
2868
- }
2869
- },
2870
- "parameters": [
2871
- {
2872
- "name": "border",
2873
- "type": {
2874
- "text": "string | undefined"
2875
- }
2876
- }
2877
- ],
2878
- "description": "Extracts the color token from a `Npx solid …` border shorthand."
2879
- },
2880
- {
2881
- "kind": "method",
2882
- "name": "focusButton",
2883
- "privacy": "public",
2884
- "return": {
2885
- "type": {
2886
- "text": "void"
2887
- }
2888
- },
2889
- "description": "Focuses the internal native button."
2890
- },
2891
- {
2892
- "kind": "method",
2893
- "name": "clickButton",
2894
- "privacy": "public",
2895
- "return": {
2896
- "type": {
2897
- "text": "void"
2898
- }
2899
- },
2900
- "description": "Triggers a click on the internal native button when enabled."
2901
- },
2902
- {
2903
- "kind": "method",
2904
- "name": "_createRipple",
2905
- "privacy": "private",
2906
- "return": {
2907
- "type": {
2908
- "text": "void"
2909
- }
2910
- },
2911
- "parameters": [
2912
- {
2913
- "name": "event",
2914
- "type": {
2915
- "text": "MouseEvent"
2916
- }
2917
- }
2918
- ]
2919
- },
2920
- {
2921
- "kind": "method",
2922
- "name": "formDisabledCallback",
2923
- "return": {
2924
- "type": {
2925
- "text": "void"
2926
- }
2927
- },
2928
- "parameters": [
2929
- {
2930
- "name": "disabled",
2931
- "type": {
2932
- "text": "boolean"
2933
- }
2934
- }
2935
- ]
2936
- },
2937
- {
2938
- "kind": "field",
2939
- "name": "formOwner",
2940
- "type": {
2941
- "text": "HTMLFormElement | null"
2942
- },
2943
- "readonly": true
2944
- },
2945
- {
2946
- "kind": "method",
2947
- "name": "_handleClick",
2948
- "privacy": "private",
2949
- "return": {
2950
- "type": {
2951
- "text": "void"
2952
- }
2953
- },
2954
- "parameters": [
2955
- {
2956
- "name": "event",
2957
- "type": {
2958
- "text": "MouseEvent"
2959
- }
2960
- }
2961
- ]
2962
- },
2963
- {
2964
- "kind": "method",
2965
- "name": "_iconOnlyName",
2966
- "privacy": "private",
2967
- "return": {
2968
- "type": {
2969
- "text": "string"
2970
- }
2971
- }
2972
- }
2973
- ],
2974
- "attributes": [
2975
- {
2976
- "name": "variant",
2977
- "type": {
2978
- "text": "SkyButtonVariant"
2979
- },
2980
- "default": "\"solid\"",
2981
- "description": "Visual variant of the button. Use `\"link\"` for text-only control with underline on hover. Default: `\"solid\"`.",
2982
- "fieldName": "variant"
2983
- },
2984
- {
2985
- "name": "color",
2986
- "type": {
2987
- "text": "string"
2988
- },
2989
- "default": "\"primary\"",
2990
- "description": "Base color token or custom CSS color. Default: `\"primary\"`.",
2991
- "fieldName": "color"
2992
- },
2993
- {
2994
- "name": "type",
2995
- "type": {
2996
- "text": "SkyButtonType"
2997
- },
2998
- "default": "\"button\"",
2999
- "description": "Button type attribute. Default: `\"button\"`.",
3000
- "fieldName": "type"
3001
- },
3002
- {
3003
- "name": "form",
3004
- "type": {
3005
- "text": "string"
3006
- },
3007
- "default": "\"\"",
3008
- "description": "Associated form ID for custom submit handling.",
3009
- "fieldName": "form"
3010
- },
3011
- {
3012
- "name": "size",
3013
- "type": {
3014
- "text": "string"
3015
- },
3016
- "default": "\"md\"",
3017
- "description": "Preset size token (`xs…xl`) or CSS size (e.g., `\"15px\"`, `\"1rem\"`). Default: `\"md\"`.",
3018
- "fieldName": "size"
3019
- },
3020
- {
3021
- "name": "radius",
3022
- "type": {
3023
- "text": "string"
3024
- },
3025
- "default": "\"md\"",
3026
- "description": "Preset radius token (`none…full`) or CSS radius (e.g., `\"12px\"`). Default: `\"md\"`.",
3027
- "fieldName": "radius"
3028
- },
3029
- {
3030
- "name": "label",
3031
- "type": {
3032
- "text": "string"
3033
- },
3034
- "default": "\"Button\"",
3035
- "description": "Text label for the button. Ignored if default slot is used. Default: `\"Button\"`.",
3036
- "fieldName": "label"
3037
- },
3038
- {
3039
- "name": "disabled",
3040
- "type": {
3041
- "text": "boolean"
3042
- },
3043
- "default": "false",
3044
- "description": "Whether the button is disabled. Default: `false`.",
3045
- "fieldName": "disabled"
3046
- },
3047
- {
3048
- "name": "loading",
3049
- "type": {
3050
- "text": "boolean"
3051
- },
3052
- "default": "false",
3053
- "description": "Shows a loading overlay when true. Default: `false`.",
3054
- "fieldName": "loading"
2821
+ "description": "Border radius for the footer. Default: `\"md\"`.",
2822
+ "fieldName": "footerRadius"
3055
2823
  },
3056
2824
  {
3057
- "name": "iconL",
2825
+ "name": "footerSeparatorColor",
3058
2826
  "type": {
3059
2827
  "text": "string"
3060
2828
  },
3061
- "default": "\"\"",
3062
- "description": "Optional left-side icon (Iconify name). Default: `\"\"`.",
3063
- "fieldName": "iconL"
2829
+ "default": "\"border-light\"",
2830
+ "description": "Color for the footer separator. Default: `\"border-light\"`.",
2831
+ "fieldName": "footerSeparatorColor"
3064
2832
  },
3065
2833
  {
3066
- "name": "iconR",
2834
+ "name": "padRatio",
3067
2835
  "type": {
3068
- "text": "string"
2836
+ "text": "number"
3069
2837
  },
3070
- "default": "\"\"",
3071
- "description": "Optional right-side icon (Iconify name). Default: `\"\"`.",
3072
- "fieldName": "iconR"
2838
+ "default": "1",
2839
+ "description": "Ratio to adjust padding. Default: `1`.",
2840
+ "fieldName": "padRatio"
3073
2841
  },
3074
2842
  {
3075
- "name": "iconOnly",
2843
+ "name": "separators",
3076
2844
  "type": {
3077
- "text": "boolean"
2845
+ "text": "SkyCardSectionTarget"
3078
2846
  },
3079
- "default": "false",
3080
- "description": "Square padding for icon-only buttons; hides label text. Default: `false`.",
3081
- "fieldName": "iconOnly"
2847
+ "default": "\"none\"",
2848
+ "description": "Determines where separators should appear. Default: `\"none\"`.",
2849
+ "fieldName": "separators"
3082
2850
  },
3083
2851
  {
3084
- "name": "colors",
2852
+ "name": "overlays",
3085
2853
  "type": {
3086
- "text": "string"
2854
+ "text": "SkyCardSectionTarget"
3087
2855
  },
3088
- "default": "\"\"",
3089
- "description": "Comma-separated color stops for gradient variant. Default: `\"\"`.",
3090
- "fieldName": "colors"
2856
+ "default": "\"none\"",
2857
+ "description": "Determines where overlays should appear. Default: `\"none\"`.",
2858
+ "fieldName": "overlays"
3091
2859
  },
3092
2860
  {
3093
- "name": "animation",
2861
+ "name": "insets",
3094
2862
  "type": {
3095
- "text": "SkyButtonAnimation"
2863
+ "text": "SkyCardSectionTarget"
3096
2864
  },
3097
- "default": "\"auto\"",
3098
- "description": "Transform animation style. Default: `\"auto\"`.",
3099
- "fieldName": "animation"
2865
+ "default": "\"none\"",
2866
+ "description": "Determines where insets should appear. Default: `\"none\"`.",
2867
+ "fieldName": "insets"
3100
2868
  }
3101
2869
  ],
3102
2870
  "superclass": {
3103
2871
  "name": "LitElement",
3104
2872
  "package": "lit"
3105
2873
  },
3106
- "tagName": "sky-button",
2874
+ "tagName": "sky-card",
3107
2875
  "customElement": true,
3108
- "summary": "Styled button supporting variants, icons, loading state, ripple feedback, and form-associated behavior."
2876
+ "summary": "Customizable card with configurable header/footer sections, blur/background styles, elevation, insets, overlays, and separators."
3109
2877
  }
3110
2878
  ],
3111
2879
  "exports": [
3112
2880
  {
3113
2881
  "kind": "js",
3114
- "name": "SkyButton",
2882
+ "name": "SkyCard",
3115
2883
  "declaration": {
3116
- "name": "SkyButton",
3117
- "module": "src/sky-button/sky-button.ts"
2884
+ "name": "SkyCard",
2885
+ "module": "src/sky-card/sky-card.ts"
3118
2886
  }
3119
2887
  },
3120
2888
  {
3121
2889
  "kind": "custom-element-definition",
3122
- "name": "sky-button",
2890
+ "name": "sky-card",
3123
2891
  "declaration": {
3124
- "name": "SkyButton",
3125
- "module": "src/sky-button/sky-button.ts"
2892
+ "name": "SkyCard",
2893
+ "module": "src/sky-card/sky-card.ts"
3126
2894
  }
3127
2895
  }
3128
2896
  ]
@@ -3587,160 +3355,392 @@
3587
3355
  "description": "Fired when validation errors are updated."
3588
3356
  },
3589
3357
  {
3590
- "name": "value-cleared",
3591
- "type": {
3592
- "text": "CustomEvent<SkyCheckboxValueClearedDetail>"
3593
- },
3594
- "description": "Fired when checkbox is reset programmatically."
3358
+ "name": "value-cleared",
3359
+ "type": {
3360
+ "text": "CustomEvent<SkyCheckboxValueClearedDetail>"
3361
+ },
3362
+ "description": "Fired when checkbox is reset programmatically."
3363
+ }
3364
+ ],
3365
+ "attributes": [
3366
+ {
3367
+ "name": "label",
3368
+ "type": {
3369
+ "text": "string"
3370
+ },
3371
+ "default": "\"\"",
3372
+ "description": "The label for the checkbox. Default: `\"\"`.",
3373
+ "fieldName": "label"
3374
+ },
3375
+ {
3376
+ "name": "id",
3377
+ "type": {
3378
+ "text": "string"
3379
+ },
3380
+ "default": "\"\"",
3381
+ "fieldName": "id"
3382
+ },
3383
+ {
3384
+ "name": "value",
3385
+ "type": {
3386
+ "text": "string"
3387
+ },
3388
+ "default": "\"\"",
3389
+ "description": "The value of the checkbox, which gets submitted with the form. Default: `\"\"`.",
3390
+ "fieldName": "value"
3391
+ },
3392
+ {
3393
+ "name": "color",
3394
+ "type": {
3395
+ "text": "string"
3396
+ },
3397
+ "default": "\"primary\"",
3398
+ "description": "The color used for the checkbox and its checkmark. Default: `\"primary\"`.",
3399
+ "fieldName": "color"
3400
+ },
3401
+ {
3402
+ "name": "defaultChecked",
3403
+ "type": {
3404
+ "text": "boolean"
3405
+ },
3406
+ "default": "false",
3407
+ "description": "Default checked state for reset operations. Default: `false`.",
3408
+ "fieldName": "defaultChecked"
3409
+ },
3410
+ {
3411
+ "name": "showErrors",
3412
+ "type": {
3413
+ "text": "boolean"
3414
+ },
3415
+ "default": "false",
3416
+ "description": "Whether to display validation error messages. Default: `false`.",
3417
+ "fieldName": "showErrors"
3418
+ },
3419
+ {
3420
+ "name": "prefix",
3421
+ "type": {
3422
+ "text": "string"
3423
+ },
3424
+ "default": "\"\"",
3425
+ "description": "Optional prefix text or content before the label. Default: `\"\"`.",
3426
+ "fieldName": "prefix"
3427
+ },
3428
+ {
3429
+ "name": "suffix",
3430
+ "type": {
3431
+ "text": "string"
3432
+ },
3433
+ "default": "\"\"",
3434
+ "description": "Optional suffix text or content after the label. Default: `\"\"`.",
3435
+ "fieldName": "suffix"
3436
+ },
3437
+ {
3438
+ "name": "prefixColor",
3439
+ "type": {
3440
+ "text": "string"
3441
+ },
3442
+ "default": "\"\"",
3443
+ "description": "The color for the prefix text. Default: `\"\"`.",
3444
+ "fieldName": "prefixColor"
3445
+ },
3446
+ {
3447
+ "name": "suffixColor",
3448
+ "type": {
3449
+ "text": "string"
3450
+ },
3451
+ "default": "\"\"",
3452
+ "description": "The color for the suffix text. Default: `\"\"`.",
3453
+ "fieldName": "suffixColor"
3454
+ },
3455
+ {
3456
+ "name": "validationActive",
3457
+ "type": {
3458
+ "text": "boolean"
3459
+ },
3460
+ "default": "false",
3461
+ "fieldName": "validationActive"
3462
+ },
3463
+ {
3464
+ "name": "invalid",
3465
+ "type": {
3466
+ "text": "boolean"
3467
+ },
3468
+ "default": "false",
3469
+ "fieldName": "invalid"
3470
+ },
3471
+ {
3472
+ "name": "checked",
3473
+ "type": {
3474
+ "text": "boolean"
3475
+ },
3476
+ "description": "Whether the checkbox is checked. Default: `false`.",
3477
+ "fieldName": "checked"
3478
+ },
3479
+ {
3480
+ "name": "indeterminate",
3481
+ "type": {
3482
+ "text": "boolean"
3483
+ },
3484
+ "description": "Whether the checkbox is in the indeterminate state. Default: `false`.",
3485
+ "fieldName": "indeterminate"
3486
+ }
3487
+ ],
3488
+ "superclass": {
3489
+ "name": "FormControlBase",
3490
+ "module": "/src/helper/internals/form-control-base"
3491
+ },
3492
+ "tagName": "sky-checkbox",
3493
+ "customElement": true,
3494
+ "summary": "Form-associated checkbox with validation, indeterminate state, and customizable label/prefix/suffix rendering."
3495
+ }
3496
+ ],
3497
+ "exports": [
3498
+ {
3499
+ "kind": "js",
3500
+ "name": "SkyCheckbox",
3501
+ "declaration": {
3502
+ "name": "SkyCheckbox",
3503
+ "module": "src/sky-checkbox/sky-checkbox.ts"
3504
+ }
3505
+ },
3506
+ {
3507
+ "kind": "custom-element-definition",
3508
+ "name": "sky-checkbox",
3509
+ "declaration": {
3510
+ "name": "SkyCheckbox",
3511
+ "module": "src/sky-checkbox/sky-checkbox.ts"
3512
+ }
3513
+ }
3514
+ ]
3515
+ },
3516
+ {
3517
+ "kind": "javascript-module",
3518
+ "path": "src/sky-appbar/sky-appbar.ts",
3519
+ "declarations": [
3520
+ {
3521
+ "kind": "class",
3522
+ "description": "",
3523
+ "name": "SkyAppbar",
3524
+ "cssParts": [
3525
+ {
3526
+ "description": "Wrapper that contains the leading slot, title, and actions.",
3527
+ "name": "content"
3528
+ },
3529
+ {
3530
+ "description": "Container for the leading slot (e.g. menu button).",
3531
+ "name": "leading"
3532
+ },
3533
+ {
3534
+ "description": "The title area (contains .title-text with the title string).",
3535
+ "name": "title"
3536
+ },
3537
+ {
3538
+ "description": "The trailing actions container.",
3539
+ "name": "actions"
3540
+ }
3541
+ ],
3542
+ "slots": [
3543
+ {
3544
+ "description": "Leading area (e.g., menu/back button). Defaults to a hamburger icon.",
3545
+ "name": "button"
3546
+ },
3547
+ {
3548
+ "description": "Trailing actions (icons/buttons). This is the default slot.",
3549
+ "name": ""
3595
3550
  }
3596
3551
  ],
3597
- "attributes": [
3552
+ "members": [
3598
3553
  {
3599
- "name": "label",
3554
+ "kind": "field",
3555
+ "name": "dependencies",
3556
+ "type": {
3557
+ "text": "Record<string, CustomElementConstructor>"
3558
+ },
3559
+ "static": true,
3560
+ "default": "{ \"sky-icon\": SkyIcon, }"
3561
+ },
3562
+ {
3563
+ "kind": "field",
3564
+ "name": "title",
3600
3565
  "type": {
3601
3566
  "text": "string"
3602
3567
  },
3603
- "default": "\"\"",
3604
- "description": "The label for the checkbox. Default: `\"\"`.",
3605
- "fieldName": "label"
3568
+ "default": "\"App Bar\"",
3569
+ "description": "Title text displayed in the app bar.",
3570
+ "attribute": "title"
3606
3571
  },
3607
3572
  {
3608
- "name": "id",
3573
+ "kind": "field",
3574
+ "name": "color",
3609
3575
  "type": {
3610
3576
  "text": "string"
3611
3577
  },
3612
- "default": "\"\"",
3613
- "fieldName": "id"
3578
+ "default": "\"default\"",
3579
+ "description": "Semantic token or CSS color for bar background; foreground color is derived for contrast.",
3580
+ "attribute": "color"
3614
3581
  },
3615
3582
  {
3616
- "name": "value",
3583
+ "kind": "field",
3584
+ "name": "url",
3617
3585
  "type": {
3618
3586
  "text": "string"
3619
3587
  },
3620
3588
  "default": "\"\"",
3621
- "description": "The value of the checkbox, which gets submitted with the form. Default: `\"\"`.",
3622
- "fieldName": "value"
3589
+ "description": "Background image URL.",
3590
+ "attribute": "url"
3623
3591
  },
3624
3592
  {
3625
- "name": "color",
3593
+ "kind": "field",
3594
+ "name": "banner",
3626
3595
  "type": {
3627
- "text": "string"
3596
+ "text": "boolean"
3628
3597
  },
3629
- "default": "\"primary\"",
3630
- "description": "The color used for the checkbox and its checkmark. Default: `\"primary\"`.",
3631
- "fieldName": "color"
3598
+ "default": "true",
3599
+ "description": "Uses `role=\"banner\"` when true, otherwise `role=\"group\"`.",
3600
+ "attribute": "banner"
3632
3601
  },
3633
3602
  {
3634
- "name": "defaultChecked",
3603
+ "kind": "field",
3604
+ "name": "dense",
3635
3605
  "type": {
3636
3606
  "text": "boolean"
3637
3607
  },
3638
3608
  "default": "false",
3639
- "description": "Default checked state for reset operations. Default: `false`.",
3640
- "fieldName": "defaultChecked"
3609
+ "description": "Enables compact vertical spacing.",
3610
+ "attribute": "dense"
3641
3611
  },
3642
3612
  {
3643
- "name": "showErrors",
3613
+ "kind": "field",
3614
+ "name": "elevated",
3644
3615
  "type": {
3645
3616
  "text": "boolean"
3646
3617
  },
3647
3618
  "default": "false",
3648
- "description": "Whether to display validation error messages. Default: `false`.",
3649
- "fieldName": "showErrors"
3619
+ "description": "Applies elevated shadow styling.",
3620
+ "attribute": "elevated"
3650
3621
  },
3651
3622
  {
3652
- "name": "prefix",
3623
+ "kind": "field",
3624
+ "name": "leadingLabel",
3653
3625
  "type": {
3654
3626
  "text": "string"
3655
3627
  },
3656
- "default": "\"\"",
3657
- "description": "Optional prefix text or content before the label. Default: `\"\"`.",
3658
- "fieldName": "prefix"
3628
+ "default": "\"Open menu\"",
3629
+ "description": "Accessible label for default leading button fallback.",
3630
+ "attribute": "leadingLabel"
3659
3631
  },
3660
3632
  {
3661
- "name": "suffix",
3633
+ "kind": "method",
3634
+ "name": "_applyColorSurface",
3635
+ "privacy": "private",
3636
+ "return": {
3637
+ "type": {
3638
+ "text": "void"
3639
+ }
3640
+ },
3641
+ "description": "Applies glass vs solid surface tokens from `color`."
3642
+ },
3643
+ {
3644
+ "kind": "method",
3645
+ "name": "_applyBackgroundImage",
3646
+ "privacy": "private",
3647
+ "return": {
3648
+ "type": {
3649
+ "text": "void"
3650
+ }
3651
+ },
3652
+ "description": "Sets background image CSS variable from `url`."
3653
+ }
3654
+ ],
3655
+ "attributes": [
3656
+ {
3657
+ "name": "title",
3662
3658
  "type": {
3663
3659
  "text": "string"
3664
3660
  },
3665
- "default": "\"\"",
3666
- "description": "Optional suffix text or content after the label. Default: `\"\"`.",
3667
- "fieldName": "suffix"
3661
+ "default": "\"App Bar\"",
3662
+ "description": "Title text displayed in the app bar.",
3663
+ "fieldName": "title"
3668
3664
  },
3669
3665
  {
3670
- "name": "prefixColor",
3666
+ "name": "color",
3671
3667
  "type": {
3672
3668
  "text": "string"
3673
3669
  },
3674
- "default": "\"\"",
3675
- "description": "The color for the prefix text. Default: `\"\"`.",
3676
- "fieldName": "prefixColor"
3670
+ "default": "\"default\"",
3671
+ "description": "Semantic token or CSS color for bar background; foreground color is derived for contrast.",
3672
+ "fieldName": "color"
3677
3673
  },
3678
3674
  {
3679
- "name": "suffixColor",
3675
+ "name": "url",
3680
3676
  "type": {
3681
3677
  "text": "string"
3682
3678
  },
3683
3679
  "default": "\"\"",
3684
- "description": "The color for the suffix text. Default: `\"\"`.",
3685
- "fieldName": "suffixColor"
3680
+ "description": "Background image URL.",
3681
+ "fieldName": "url"
3686
3682
  },
3687
3683
  {
3688
- "name": "validationActive",
3684
+ "name": "banner",
3689
3685
  "type": {
3690
3686
  "text": "boolean"
3691
3687
  },
3692
- "default": "false",
3693
- "fieldName": "validationActive"
3688
+ "default": "true",
3689
+ "description": "Uses `role=\"banner\"` when true, otherwise `role=\"group\"`.",
3690
+ "fieldName": "banner"
3694
3691
  },
3695
3692
  {
3696
- "name": "invalid",
3693
+ "name": "dense",
3697
3694
  "type": {
3698
3695
  "text": "boolean"
3699
3696
  },
3700
3697
  "default": "false",
3701
- "fieldName": "invalid"
3698
+ "description": "Enables compact vertical spacing.",
3699
+ "fieldName": "dense"
3702
3700
  },
3703
3701
  {
3704
- "name": "checked",
3702
+ "name": "elevated",
3705
3703
  "type": {
3706
3704
  "text": "boolean"
3707
3705
  },
3708
- "description": "Whether the checkbox is checked. Default: `false`.",
3709
- "fieldName": "checked"
3706
+ "default": "false",
3707
+ "description": "Applies elevated shadow styling.",
3708
+ "fieldName": "elevated"
3710
3709
  },
3711
3710
  {
3712
- "name": "indeterminate",
3711
+ "name": "leadingLabel",
3713
3712
  "type": {
3714
- "text": "boolean"
3713
+ "text": "string"
3715
3714
  },
3716
- "description": "Whether the checkbox is in the indeterminate state. Default: `false`.",
3717
- "fieldName": "indeterminate"
3715
+ "default": "\"Open menu\"",
3716
+ "description": "Accessible label for default leading button fallback.",
3717
+ "fieldName": "leadingLabel"
3718
3718
  }
3719
3719
  ],
3720
3720
  "superclass": {
3721
- "name": "FormControlBase",
3722
- "module": "/src/helper/internals/form-control-base"
3721
+ "name": "LitElement",
3722
+ "package": "lit"
3723
3723
  },
3724
- "tagName": "sky-checkbox",
3724
+ "tagName": "sky-appbar",
3725
3725
  "customElement": true,
3726
- "summary": "Form-associated checkbox with validation, indeterminate state, and customizable label/prefix/suffix rendering."
3726
+ "summary": "Application top bar with title, optional leading control, trailing actions, and optional color/image background."
3727
3727
  }
3728
3728
  ],
3729
3729
  "exports": [
3730
3730
  {
3731
3731
  "kind": "js",
3732
- "name": "SkyCheckbox",
3732
+ "name": "SkyAppbar",
3733
3733
  "declaration": {
3734
- "name": "SkyCheckbox",
3735
- "module": "src/sky-checkbox/sky-checkbox.ts"
3734
+ "name": "SkyAppbar",
3735
+ "module": "src/sky-appbar/sky-appbar.ts"
3736
3736
  }
3737
3737
  },
3738
3738
  {
3739
3739
  "kind": "custom-element-definition",
3740
- "name": "sky-checkbox",
3740
+ "name": "sky-appbar",
3741
3741
  "declaration": {
3742
- "name": "SkyCheckbox",
3743
- "module": "src/sky-checkbox/sky-checkbox.ts"
3742
+ "name": "SkyAppbar",
3743
+ "module": "src/sky-appbar/sky-appbar.ts"
3744
3744
  }
3745
3745
  }
3746
3746
  ]
@@ -12122,49 +12122,6 @@
12122
12122
  }
12123
12123
  ]
12124
12124
  },
12125
- {
12126
- "kind": "javascript-module",
12127
- "path": "src/sky-row/sky-row.ts",
12128
- "declarations": [
12129
- {
12130
- "kind": "class",
12131
- "description": "",
12132
- "name": "SkyRow",
12133
- "slots": [
12134
- {
12135
- "description": "Default slot for child content.",
12136
- "name": ""
12137
- }
12138
- ],
12139
- "members": [],
12140
- "superclass": {
12141
- "name": "LitElement",
12142
- "package": "lit"
12143
- },
12144
- "tagName": "sky-row",
12145
- "customElement": true,
12146
- "summary": "Lightweight semantic row wrapper for use inside `sky-grid`."
12147
- }
12148
- ],
12149
- "exports": [
12150
- {
12151
- "kind": "js",
12152
- "name": "SkyRow",
12153
- "declaration": {
12154
- "name": "SkyRow",
12155
- "module": "src/sky-row/sky-row.ts"
12156
- }
12157
- },
12158
- {
12159
- "kind": "custom-element-definition",
12160
- "name": "sky-row",
12161
- "declaration": {
12162
- "name": "SkyRow",
12163
- "module": "src/sky-row/sky-row.ts"
12164
- }
12165
- }
12166
- ]
12167
- },
12168
12125
  {
12169
12126
  "kind": "javascript-module",
12170
12127
  "path": "src/sky-sheet/sky-sheet.ts",
@@ -12347,6 +12304,49 @@
12347
12304
  }
12348
12305
  ]
12349
12306
  },
12307
+ {
12308
+ "kind": "javascript-module",
12309
+ "path": "src/sky-row/sky-row.ts",
12310
+ "declarations": [
12311
+ {
12312
+ "kind": "class",
12313
+ "description": "",
12314
+ "name": "SkyRow",
12315
+ "slots": [
12316
+ {
12317
+ "description": "Default slot for child content.",
12318
+ "name": ""
12319
+ }
12320
+ ],
12321
+ "members": [],
12322
+ "superclass": {
12323
+ "name": "LitElement",
12324
+ "package": "lit"
12325
+ },
12326
+ "tagName": "sky-row",
12327
+ "customElement": true,
12328
+ "summary": "Lightweight semantic row wrapper for use inside `sky-grid`."
12329
+ }
12330
+ ],
12331
+ "exports": [
12332
+ {
12333
+ "kind": "js",
12334
+ "name": "SkyRow",
12335
+ "declaration": {
12336
+ "name": "SkyRow",
12337
+ "module": "src/sky-row/sky-row.ts"
12338
+ }
12339
+ },
12340
+ {
12341
+ "kind": "custom-element-definition",
12342
+ "name": "sky-row",
12343
+ "declaration": {
12344
+ "name": "SkyRow",
12345
+ "module": "src/sky-row/sky-row.ts"
12346
+ }
12347
+ }
12348
+ ]
12349
+ },
12350
12350
  {
12351
12351
  "kind": "javascript-module",
12352
12352
  "path": "src/sky-simple-table/sky-simple-table.ts",