@lit-material/navigation 0.0.1 → 0.0.2

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.
@@ -0,0 +1,1403 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "readme": "",
4
+ "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "src/index.ts",
8
+ "declarations": [],
9
+ "exports": [
10
+ {
11
+ "kind": "js",
12
+ "name": "LitMaterialNavigationDrawer",
13
+ "declaration": {
14
+ "name": "LitMaterialNavigationDrawer",
15
+ "module": "./navigation-drawer.js"
16
+ }
17
+ },
18
+ {
19
+ "kind": "js",
20
+ "name": "NavigationDrawerVariant",
21
+ "declaration": {
22
+ "name": "NavigationDrawerVariant",
23
+ "module": "./navigation-drawer.js"
24
+ }
25
+ },
26
+ {
27
+ "kind": "js",
28
+ "name": "NavigationDrawerPosition",
29
+ "declaration": {
30
+ "name": "NavigationDrawerPosition",
31
+ "module": "./navigation-drawer.js"
32
+ }
33
+ },
34
+ {
35
+ "kind": "js",
36
+ "name": "LitMaterialNavigationDrawerItem",
37
+ "declaration": {
38
+ "name": "LitMaterialNavigationDrawerItem",
39
+ "module": "./navigation-drawer-item.js"
40
+ }
41
+ },
42
+ {
43
+ "kind": "js",
44
+ "name": "LitMaterialNavigationRail",
45
+ "declaration": {
46
+ "name": "LitMaterialNavigationRail",
47
+ "module": "./navigation-rail.js"
48
+ }
49
+ },
50
+ {
51
+ "kind": "js",
52
+ "name": "NavigationRailAlignment",
53
+ "declaration": {
54
+ "name": "NavigationRailAlignment",
55
+ "module": "./navigation-rail.js"
56
+ }
57
+ },
58
+ {
59
+ "kind": "js",
60
+ "name": "LitMaterialNavigationRailItem",
61
+ "declaration": {
62
+ "name": "LitMaterialNavigationRailItem",
63
+ "module": "./navigation-rail-item.js"
64
+ }
65
+ },
66
+ {
67
+ "kind": "js",
68
+ "name": "LitMaterialNavigationBar",
69
+ "declaration": {
70
+ "name": "LitMaterialNavigationBar",
71
+ "module": "./navigation-bar.js"
72
+ }
73
+ },
74
+ {
75
+ "kind": "js",
76
+ "name": "LitMaterialNavigationBarItem",
77
+ "declaration": {
78
+ "name": "LitMaterialNavigationBarItem",
79
+ "module": "./navigation-bar-item.js"
80
+ }
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "kind": "javascript-module",
86
+ "path": "src/navigation-bar-item-styles.ts",
87
+ "declarations": [
88
+ {
89
+ "kind": "variable",
90
+ "name": "styles",
91
+ "default": "css` :host { display: block; flex: 1; height: 100%; outline: none; -webkit-tap-highlight-color: transparent; } :host([disabled]) { pointer-events: none; } .item { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; box-sizing: border-box; width: 100%; height: 100%; padding-block: 12px 16px; border: none; margin: 0; background-color: transparent; color: var(--md-sys-color-on-surface-variant, #49454f); cursor: pointer; text-decoration: none; font-family: var(--md-sys-typescale-label-medium-font, Roboto, system-ui, sans-serif); font-size: var(--md-sys-typescale-label-medium-size, 0.75rem); font-weight: var(--md-sys-typescale-label-medium-weight, 500); -webkit-appearance: none; appearance: none; } .item:disabled, .item[aria-disabled=\"true\"] { cursor: default; } :host([selected]) .item { color: var(--md-sys-color-on-surface, #1c1b1f); } .icon-container { position: relative; display: flex; align-items: center; justify-content: center; width: 64px; height: 32px; border-radius: var(--md-sys-shape-corner-full, 16px); transition: background-color 150ms var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)); } :host([selected]) .icon-container { background-color: var(--md-sys-color-secondary-container, #e8def8); } slot.icon::slotted(*) { display: block; width: 24px; height: 24px; } slot.badge::slotted(*) { position: absolute; top: -4px; inset-inline-end: 8px; } .label { max-width: 100%; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; } .state-layer { position: absolute; inset: 0; border-radius: inherit; background-color: currentColor; opacity: 0; pointer-events: none; transition: opacity 100ms linear; } .item:hover .state-layer { opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08); } .state-layer[data-pressed] { opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.1); } .focus-ring { position: absolute; inset: -2px; border-radius: inherit; outline: 3px solid var(--md-sys-color-secondary, #625b71); outline-offset: 2px; pointer-events: none; } .focus-ring[hidden] { display: none; } :host([disabled]) .item { color: color-mix(in srgb, var(--md-sys-color-on-surface, #1c1b1f) 38%, transparent); } @media (prefers-reduced-motion: reduce) { .icon-container, .state-layer { transition: none; } } `"
92
+ }
93
+ ],
94
+ "exports": [
95
+ {
96
+ "kind": "js",
97
+ "name": "styles",
98
+ "declaration": {
99
+ "name": "styles",
100
+ "module": "src/navigation-bar-item-styles.ts"
101
+ }
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ "kind": "javascript-module",
107
+ "path": "src/navigation-bar-item.ts",
108
+ "declarations": [
109
+ {
110
+ "kind": "class",
111
+ "description": "A single destination inside a `lit-material-navigation-bar` — an icon in a\npill-shaped active indicator, with a small label below it, following the\nMD3 navigation bar item spec. Visually and structurally almost identical\nto `lit-material-navigation-rail-item` (same icon-pill + label-below\nlayout, badge slot, ripple/focus-ring scoped to the indicator) — the\ndifference is this item shares the bar's width equally with its siblings\n(`flex: 1`) instead of filling a narrow vertical rail's width, and its\nindicator is 64px wide (the MD3 bar spec) rather than the rail's 56px.\n\nRenders as a real `<button>` by default, or an `<a>` when `href` is set.\n`selected` is normally managed by the parent bar (see its docs), not set\ndirectly.",
112
+ "name": "LitMaterialNavigationBarItem",
113
+ "cssParts": [
114
+ {
115
+ "description": "The `<button>` or `<a>` (layout only, no background of its own).",
116
+ "name": "item"
117
+ },
118
+ {
119
+ "description": "The pill-shaped active indicator behind the icon.",
120
+ "name": "icon-container"
121
+ },
122
+ {
123
+ "description": "The state-layer element the hover/press feedback is drawn on.",
124
+ "name": "ripple"
125
+ },
126
+ {
127
+ "description": "The focus indicator element.",
128
+ "name": "focus-ring"
129
+ }
130
+ ],
131
+ "slots": [
132
+ {
133
+ "description": "The label text.",
134
+ "name": ""
135
+ },
136
+ {
137
+ "description": "The icon.",
138
+ "name": "icon"
139
+ },
140
+ {
141
+ "description": "Optional badge content (a count or dot), positioned over the icon's top-end corner (top-right in LTR, top-left in RTL).",
142
+ "name": "badge"
143
+ }
144
+ ],
145
+ "members": [
146
+ {
147
+ "kind": "field",
148
+ "name": "shadowRootOptions",
149
+ "type": {
150
+ "text": "ShadowRootInit"
151
+ },
152
+ "static": true,
153
+ "default": "{ ...LitElement.shadowRootOptions, delegatesFocus: true, }"
154
+ },
155
+ {
156
+ "kind": "field",
157
+ "name": "selected",
158
+ "type": {
159
+ "text": "boolean"
160
+ },
161
+ "default": "false",
162
+ "attribute": "selected",
163
+ "reflects": true
164
+ },
165
+ {
166
+ "kind": "field",
167
+ "name": "disabled",
168
+ "type": {
169
+ "text": "boolean"
170
+ },
171
+ "default": "false",
172
+ "attribute": "disabled",
173
+ "reflects": true
174
+ },
175
+ {
176
+ "kind": "field",
177
+ "name": "href",
178
+ "type": {
179
+ "text": "string"
180
+ },
181
+ "default": "\"\"",
182
+ "description": "If set, renders the item as a link (`<a>`) instead of a `<button>`.",
183
+ "attribute": "href"
184
+ },
185
+ {
186
+ "kind": "field",
187
+ "name": "target",
188
+ "type": {
189
+ "text": "string"
190
+ },
191
+ "default": "\"\"",
192
+ "attribute": "target"
193
+ },
194
+ {
195
+ "kind": "field",
196
+ "name": "stateLayerElement",
197
+ "type": {
198
+ "text": "HTMLElement | undefined"
199
+ },
200
+ "privacy": "private",
201
+ "readonly": true
202
+ },
203
+ {
204
+ "kind": "field",
205
+ "name": "ripple",
206
+ "privacy": "private",
207
+ "readonly": true,
208
+ "default": "new RippleController(this)"
209
+ },
210
+ {
211
+ "kind": "field",
212
+ "name": "focusRing",
213
+ "privacy": "private",
214
+ "readonly": true,
215
+ "default": "new FocusRingController(this)"
216
+ },
217
+ {
218
+ "kind": "field",
219
+ "name": "content",
220
+ "privacy": "private",
221
+ "readonly": true
222
+ },
223
+ {
224
+ "kind": "method",
225
+ "name": "handleClick",
226
+ "privacy": "private",
227
+ "return": {
228
+ "type": {
229
+ "text": "void"
230
+ }
231
+ },
232
+ "parameters": [
233
+ {
234
+ "name": "event",
235
+ "type": {
236
+ "text": "MouseEvent"
237
+ }
238
+ }
239
+ ]
240
+ },
241
+ {
242
+ "kind": "method",
243
+ "name": "handleLinkClick",
244
+ "privacy": "private",
245
+ "return": {
246
+ "type": {
247
+ "text": "void"
248
+ }
249
+ },
250
+ "parameters": [
251
+ {
252
+ "name": "event",
253
+ "type": {
254
+ "text": "MouseEvent"
255
+ }
256
+ }
257
+ ]
258
+ }
259
+ ],
260
+ "attributes": [
261
+ {
262
+ "name": "selected",
263
+ "type": {
264
+ "text": "boolean"
265
+ },
266
+ "default": "false",
267
+ "fieldName": "selected"
268
+ },
269
+ {
270
+ "name": "disabled",
271
+ "type": {
272
+ "text": "boolean"
273
+ },
274
+ "default": "false",
275
+ "fieldName": "disabled"
276
+ },
277
+ {
278
+ "name": "href",
279
+ "type": {
280
+ "text": "string"
281
+ },
282
+ "default": "\"\"",
283
+ "description": "If set, renders the item as a link (`<a>`) instead of a `<button>`.",
284
+ "fieldName": "href"
285
+ },
286
+ {
287
+ "name": "target",
288
+ "type": {
289
+ "text": "string"
290
+ },
291
+ "default": "\"\"",
292
+ "fieldName": "target"
293
+ }
294
+ ],
295
+ "superclass": {
296
+ "name": "LitElement",
297
+ "package": "lit"
298
+ },
299
+ "tagName": "lit-material-navigation-bar-item",
300
+ "customElement": true
301
+ }
302
+ ],
303
+ "exports": [
304
+ {
305
+ "kind": "js",
306
+ "name": "LitMaterialNavigationBarItem",
307
+ "declaration": {
308
+ "name": "LitMaterialNavigationBarItem",
309
+ "module": "src/navigation-bar-item.ts"
310
+ }
311
+ },
312
+ {
313
+ "kind": "custom-element-definition",
314
+ "name": "lit-material-navigation-bar-item",
315
+ "declaration": {
316
+ "name": "LitMaterialNavigationBarItem",
317
+ "module": "src/navigation-bar-item.ts"
318
+ }
319
+ }
320
+ ]
321
+ },
322
+ {
323
+ "kind": "javascript-module",
324
+ "path": "src/navigation-bar-styles.ts",
325
+ "declarations": [
326
+ {
327
+ "kind": "variable",
328
+ "name": "styles",
329
+ "default": "css` :host { display: block; box-sizing: border-box; } .bar { display: flex; flex-direction: row; align-items: stretch; box-sizing: border-box; width: 100%; height: 80px; background-color: var(--md-sys-color-surface-container, #f3edf7); color: var(--md-sys-color-on-surface, #1c1b1f); } ::slotted(lit-material-navigation-bar-item) { flex: 1; } `"
330
+ }
331
+ ],
332
+ "exports": [
333
+ {
334
+ "kind": "js",
335
+ "name": "styles",
336
+ "declaration": {
337
+ "name": "styles",
338
+ "module": "src/navigation-bar-styles.ts"
339
+ }
340
+ }
341
+ ]
342
+ },
343
+ {
344
+ "kind": "javascript-module",
345
+ "path": "src/navigation-bar.ts",
346
+ "declarations": [
347
+ {
348
+ "kind": "class",
349
+ "description": "Material Design 3 navigation bar — a row of primary destinations\n(`lit-material-navigation-bar-item` elements) sharing a bar's width\nequally, typically docked to the bottom of the screen for compact window\nsizes.\n\nSelection is index-based and managed here (like `lit-material-tabs` and\n`lit-material-navigation-rail`): set `selected` to reflect your current\nroute/section, and each item's own `selected` is kept in sync\nautomatically. Clicking an item updates `selected` and fires `change` —\nitems themselves don't manage selection.\n\nUnlike `lit-material-navigation-rail`, there's no `alignment` property or\n`fab` slot — a bottom bar is a single row of equally-shared destinations,\nnot a strip with room to position things along its length.",
350
+ "name": "LitMaterialNavigationBar",
351
+ "cssParts": [
352
+ {
353
+ "description": "The bar (background, height, padding).",
354
+ "name": "bar"
355
+ }
356
+ ],
357
+ "slots": [
358
+ {
359
+ "description": "`lit-material-navigation-bar-item` elements.",
360
+ "name": ""
361
+ }
362
+ ],
363
+ "members": [
364
+ {
365
+ "kind": "field",
366
+ "name": "selected",
367
+ "type": {
368
+ "text": "number"
369
+ },
370
+ "default": "-1",
371
+ "description": "Index of the selected item. `-1` means no selection.",
372
+ "attribute": "selected"
373
+ },
374
+ {
375
+ "kind": "field",
376
+ "name": "items",
377
+ "type": {
378
+ "text": "LitMaterialNavigationBarItem[]"
379
+ },
380
+ "privacy": "private",
381
+ "readonly": true
382
+ },
383
+ {
384
+ "kind": "method",
385
+ "name": "syncSelected",
386
+ "privacy": "private",
387
+ "return": {
388
+ "type": {
389
+ "text": "void"
390
+ }
391
+ }
392
+ },
393
+ {
394
+ "kind": "field",
395
+ "name": "handleSlotChange",
396
+ "privacy": "private",
397
+ "readonly": true
398
+ },
399
+ {
400
+ "kind": "field",
401
+ "name": "handleClick",
402
+ "privacy": "private",
403
+ "readonly": true
404
+ }
405
+ ],
406
+ "events": [
407
+ {
408
+ "description": "Fires when `selected` changes via an item click.",
409
+ "name": "change"
410
+ }
411
+ ],
412
+ "attributes": [
413
+ {
414
+ "name": "selected",
415
+ "type": {
416
+ "text": "number"
417
+ },
418
+ "default": "-1",
419
+ "description": "Index of the selected item. `-1` means no selection.",
420
+ "fieldName": "selected"
421
+ }
422
+ ],
423
+ "superclass": {
424
+ "name": "LitElement",
425
+ "package": "lit"
426
+ },
427
+ "tagName": "lit-material-navigation-bar",
428
+ "customElement": true
429
+ }
430
+ ],
431
+ "exports": [
432
+ {
433
+ "kind": "js",
434
+ "name": "LitMaterialNavigationBar",
435
+ "declaration": {
436
+ "name": "LitMaterialNavigationBar",
437
+ "module": "src/navigation-bar.ts"
438
+ }
439
+ },
440
+ {
441
+ "kind": "custom-element-definition",
442
+ "name": "lit-material-navigation-bar",
443
+ "declaration": {
444
+ "name": "LitMaterialNavigationBar",
445
+ "module": "src/navigation-bar.ts"
446
+ }
447
+ }
448
+ ]
449
+ },
450
+ {
451
+ "kind": "javascript-module",
452
+ "path": "src/navigation-drawer-item-styles.ts",
453
+ "declarations": [
454
+ {
455
+ "kind": "variable",
456
+ "name": "styles",
457
+ "default": "css` :host { display: block; outline: none; -webkit-tap-highlight-color: transparent; } :host([disabled]) { pointer-events: none; } .item { position: relative; display: flex; align-items: center; gap: 12px; box-sizing: border-box; width: 100%; min-height: 56px; padding-inline: 16px; border: none; border-radius: var(--md-sys-shape-corner-full, 28px); margin: 0; background-color: transparent; color: var(--md-sys-color-on-surface-variant, #49454f); cursor: pointer; text-align: start; text-decoration: none; font-family: var(--md-sys-typescale-label-large-font, Roboto, system-ui, sans-serif); font-size: var(--md-sys-typescale-label-large-size, 0.875rem); font-weight: var(--md-sys-typescale-label-large-weight, 500); -webkit-appearance: none; appearance: none; transition: background-color 150ms var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)); } .item:disabled, .item[aria-disabled=\"true\"] { cursor: default; } :host([selected]) .item { background-color: var(--md-sys-color-secondary-container, #e8def8); color: var(--md-sys-color-on-secondary-container, #1d192b); } slot.icon::slotted(*) { display: block; width: 24px; height: 24px; } .label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } slot.badge::slotted(*) { display: block; } .state-layer { position: absolute; inset: 0; border-radius: inherit; background-color: currentColor; opacity: 0; pointer-events: none; transition: opacity 100ms linear; } .item:hover .state-layer { opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08); } .state-layer[data-pressed] { opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.1); } .focus-ring { position: absolute; inset: -2px; border-radius: inherit; outline: 3px solid var(--md-sys-color-secondary, #625b71); outline-offset: 2px; pointer-events: none; } .focus-ring[hidden] { display: none; } :host([disabled]) .item { color: color-mix(in srgb, var(--md-sys-color-on-surface, #1c1b1f) 38%, transparent); } @media (prefers-reduced-motion: reduce) { .item, .state-layer { transition: none; } } `"
458
+ }
459
+ ],
460
+ "exports": [
461
+ {
462
+ "kind": "js",
463
+ "name": "styles",
464
+ "declaration": {
465
+ "name": "styles",
466
+ "module": "src/navigation-drawer-item-styles.ts"
467
+ }
468
+ }
469
+ ]
470
+ },
471
+ {
472
+ "kind": "javascript-module",
473
+ "path": "src/navigation-drawer-item.ts",
474
+ "declarations": [
475
+ {
476
+ "kind": "class",
477
+ "description": "A single destination inside a `lit-material-navigation-drawer` — a\npill-shaped row with a leading icon and a label, following the MD3\nnavigation drawer item spec.\n\nRenders as a real `<button>` by default, or an `<a>` when `href` is set —\nboth get the same ripple/focus-ring treatment as `lit-material-list-item`.\n`selected` is normally managed by the parent drawer (see its docs), not\nset directly.",
478
+ "name": "LitMaterialNavigationDrawerItem",
479
+ "cssParts": [
480
+ {
481
+ "description": "The `<button>` or `<a>` row (background/shape).",
482
+ "name": "item"
483
+ },
484
+ {
485
+ "description": "The state-layer element the hover/press feedback is drawn on.",
486
+ "name": "ripple"
487
+ },
488
+ {
489
+ "description": "The focus indicator element.",
490
+ "name": "focus-ring"
491
+ }
492
+ ],
493
+ "slots": [
494
+ {
495
+ "description": "The label text.",
496
+ "name": ""
497
+ },
498
+ {
499
+ "description": "The leading icon.",
500
+ "name": "icon"
501
+ },
502
+ {
503
+ "description": "Optional trailing content (a count or dot).",
504
+ "name": "badge"
505
+ }
506
+ ],
507
+ "members": [
508
+ {
509
+ "kind": "field",
510
+ "name": "shadowRootOptions",
511
+ "type": {
512
+ "text": "ShadowRootInit"
513
+ },
514
+ "static": true,
515
+ "default": "{ ...LitElement.shadowRootOptions, delegatesFocus: true, }"
516
+ },
517
+ {
518
+ "kind": "field",
519
+ "name": "selected",
520
+ "type": {
521
+ "text": "boolean"
522
+ },
523
+ "default": "false",
524
+ "attribute": "selected",
525
+ "reflects": true
526
+ },
527
+ {
528
+ "kind": "field",
529
+ "name": "disabled",
530
+ "type": {
531
+ "text": "boolean"
532
+ },
533
+ "default": "false",
534
+ "attribute": "disabled",
535
+ "reflects": true
536
+ },
537
+ {
538
+ "kind": "field",
539
+ "name": "href",
540
+ "type": {
541
+ "text": "string"
542
+ },
543
+ "default": "\"\"",
544
+ "description": "If set, renders the item as a link (`<a>`) instead of a `<button>`.",
545
+ "attribute": "href"
546
+ },
547
+ {
548
+ "kind": "field",
549
+ "name": "target",
550
+ "type": {
551
+ "text": "string"
552
+ },
553
+ "default": "\"\"",
554
+ "attribute": "target"
555
+ },
556
+ {
557
+ "kind": "field",
558
+ "name": "stateLayerElement",
559
+ "type": {
560
+ "text": "HTMLElement | undefined"
561
+ },
562
+ "privacy": "private",
563
+ "readonly": true
564
+ },
565
+ {
566
+ "kind": "field",
567
+ "name": "ripple",
568
+ "privacy": "private",
569
+ "readonly": true,
570
+ "default": "new RippleController(this)"
571
+ },
572
+ {
573
+ "kind": "field",
574
+ "name": "focusRing",
575
+ "privacy": "private",
576
+ "readonly": true,
577
+ "default": "new FocusRingController(this)"
578
+ },
579
+ {
580
+ "kind": "field",
581
+ "name": "content",
582
+ "privacy": "private",
583
+ "readonly": true
584
+ },
585
+ {
586
+ "kind": "method",
587
+ "name": "handleClick",
588
+ "privacy": "private",
589
+ "return": {
590
+ "type": {
591
+ "text": "void"
592
+ }
593
+ },
594
+ "parameters": [
595
+ {
596
+ "name": "event",
597
+ "type": {
598
+ "text": "MouseEvent"
599
+ }
600
+ }
601
+ ]
602
+ },
603
+ {
604
+ "kind": "method",
605
+ "name": "handleLinkClick",
606
+ "privacy": "private",
607
+ "return": {
608
+ "type": {
609
+ "text": "void"
610
+ }
611
+ },
612
+ "parameters": [
613
+ {
614
+ "name": "event",
615
+ "type": {
616
+ "text": "MouseEvent"
617
+ }
618
+ }
619
+ ]
620
+ }
621
+ ],
622
+ "attributes": [
623
+ {
624
+ "name": "selected",
625
+ "type": {
626
+ "text": "boolean"
627
+ },
628
+ "default": "false",
629
+ "fieldName": "selected"
630
+ },
631
+ {
632
+ "name": "disabled",
633
+ "type": {
634
+ "text": "boolean"
635
+ },
636
+ "default": "false",
637
+ "fieldName": "disabled"
638
+ },
639
+ {
640
+ "name": "href",
641
+ "type": {
642
+ "text": "string"
643
+ },
644
+ "default": "\"\"",
645
+ "description": "If set, renders the item as a link (`<a>`) instead of a `<button>`.",
646
+ "fieldName": "href"
647
+ },
648
+ {
649
+ "name": "target",
650
+ "type": {
651
+ "text": "string"
652
+ },
653
+ "default": "\"\"",
654
+ "fieldName": "target"
655
+ }
656
+ ],
657
+ "superclass": {
658
+ "name": "LitElement",
659
+ "package": "lit"
660
+ },
661
+ "tagName": "lit-material-navigation-drawer-item",
662
+ "customElement": true
663
+ }
664
+ ],
665
+ "exports": [
666
+ {
667
+ "kind": "js",
668
+ "name": "LitMaterialNavigationDrawerItem",
669
+ "declaration": {
670
+ "name": "LitMaterialNavigationDrawerItem",
671
+ "module": "src/navigation-drawer-item.ts"
672
+ }
673
+ },
674
+ {
675
+ "kind": "custom-element-definition",
676
+ "name": "lit-material-navigation-drawer-item",
677
+ "declaration": {
678
+ "name": "LitMaterialNavigationDrawerItem",
679
+ "module": "src/navigation-drawer-item.ts"
680
+ }
681
+ }
682
+ ]
683
+ },
684
+ {
685
+ "kind": "javascript-module",
686
+ "path": "src/navigation-drawer-styles.ts",
687
+ "declarations": [
688
+ {
689
+ "kind": "variable",
690
+ "name": "styles",
691
+ "default": "css` :host { display: contents; } .drawer { display: flex; flex-direction: column; box-sizing: border-box; gap: 4px; width: 360px; max-width: 100%; height: 100%; padding: 12px; background-color: var(--md-sys-color-surface, #fffbfe); color: var(--md-sys-color-on-surface, #1c1b1f); /* Not part of the tab order for \"modal\" (see the component for why it's the default showModal() focus target) — no visible focus indicator of its own. */ outline: none; } .header { padding: 16px 16px 8px; } .header:empty { display: none; } .content { display: flex; flex-direction: column; gap: 4px; min-height: 0; overflow-y: auto; } /* Modal variant: same .drawer content, wrapped in a native <dialog> so the scrim, Escape-to-close, and focus trap all come from the browser. */ .dialog { margin: 0; padding: 0; border: none; inset: 0; width: 100%; height: 100%; max-width: 100%; max-height: 100%; background: transparent; color: inherit; } .dialog[open] { display: flex; justify-content: flex-start; } :host([position=\"end\"]) .dialog[open] { justify-content: flex-end; } .dialog::backdrop { background-color: rgba(0, 0, 0, 0.32); } .dialog .drawer { box-shadow: var( --md-sys-elevation-level1, 0 1px 2px rgba(0, 0, 0, 0.3) ); } `"
692
+ }
693
+ ],
694
+ "exports": [
695
+ {
696
+ "kind": "js",
697
+ "name": "styles",
698
+ "declaration": {
699
+ "name": "styles",
700
+ "module": "src/navigation-drawer-styles.ts"
701
+ }
702
+ }
703
+ ]
704
+ },
705
+ {
706
+ "kind": "javascript-module",
707
+ "path": "src/navigation-drawer.ts",
708
+ "declarations": [
709
+ {
710
+ "kind": "class",
711
+ "description": "Material Design 3 navigation drawer — a vertical panel of primary\ndestinations (`lit-material-navigation-drawer-item` elements).\n\n`standard` renders as a plain, always-in-flow `<nav>` (a persistent side\npanel you place in your own layout). `modal` wraps the same content in a\nnative `<dialog>`, the same foundation `lit-material-dialog` uses — so the\nscrim, Escape-to-close, and focus trap all come from the browser. `position`\npicks which edge a `modal` drawer slides in from.\n\nSelection is index-based and managed here (like `lit-material-tabs`): set\n`selected` to reflect your current route/section, and each item's own\n`selected` is kept in sync automatically. Clicking an item updates\n`selected` and fires `change` — items themselves don't manage selection.",
712
+ "name": "LitMaterialNavigationDrawer",
713
+ "cssParts": [
714
+ {
715
+ "description": "The native `<dialog>` element. Only rendered for `modal`.",
716
+ "name": "dialog"
717
+ },
718
+ {
719
+ "description": "The visible panel (background, width, padding).",
720
+ "name": "drawer"
721
+ },
722
+ {
723
+ "description": "The header slot's container.",
724
+ "name": "header"
725
+ },
726
+ {
727
+ "description": "The items slot's container.",
728
+ "name": "content"
729
+ }
730
+ ],
731
+ "slots": [
732
+ {
733
+ "description": "`lit-material-navigation-drawer-item` elements.",
734
+ "name": ""
735
+ },
736
+ {
737
+ "description": "Optional header content (a title, a close button…).",
738
+ "name": "header"
739
+ }
740
+ ],
741
+ "members": [
742
+ {
743
+ "kind": "field",
744
+ "name": "variant",
745
+ "type": {
746
+ "text": "NavigationDrawerVariant"
747
+ },
748
+ "default": "\"standard\"",
749
+ "attribute": "variant"
750
+ },
751
+ {
752
+ "kind": "field",
753
+ "name": "position",
754
+ "type": {
755
+ "text": "NavigationDrawerPosition"
756
+ },
757
+ "default": "\"start\"",
758
+ "attribute": "position",
759
+ "reflects": true
760
+ },
761
+ {
762
+ "kind": "field",
763
+ "name": "selected",
764
+ "type": {
765
+ "text": "number"
766
+ },
767
+ "default": "-1",
768
+ "description": "Index of the selected item. `-1` means no selection.",
769
+ "attribute": "selected"
770
+ },
771
+ {
772
+ "kind": "field",
773
+ "name": "open",
774
+ "type": {
775
+ "text": "boolean"
776
+ },
777
+ "default": "false",
778
+ "description": "Whether a `modal` drawer is open. Ignored for `standard`.",
779
+ "attribute": "open",
780
+ "reflects": true
781
+ },
782
+ {
783
+ "kind": "field",
784
+ "name": "disableBackdropClose",
785
+ "type": {
786
+ "text": "boolean"
787
+ },
788
+ "default": "false",
789
+ "description": "If set, clicking the backdrop does not close a `modal` drawer.",
790
+ "attribute": "disable-backdrop-close"
791
+ },
792
+ {
793
+ "kind": "field",
794
+ "name": "dialogElement",
795
+ "type": {
796
+ "text": "HTMLDialogElement | undefined"
797
+ },
798
+ "privacy": "private",
799
+ "readonly": true
800
+ },
801
+ {
802
+ "kind": "field",
803
+ "name": "reopenOnClose",
804
+ "type": {
805
+ "text": "boolean"
806
+ },
807
+ "privacy": "private",
808
+ "default": "false"
809
+ },
810
+ {
811
+ "kind": "method",
812
+ "name": "show",
813
+ "return": {
814
+ "type": {
815
+ "text": "void"
816
+ }
817
+ },
818
+ "description": "Opens a `modal` drawer. Equivalent to setting `.open = true`."
819
+ },
820
+ {
821
+ "kind": "method",
822
+ "name": "close",
823
+ "return": {
824
+ "type": {
825
+ "text": "void"
826
+ }
827
+ },
828
+ "description": "Closes a `modal` drawer. Equivalent to setting `.open = false`."
829
+ },
830
+ {
831
+ "kind": "field",
832
+ "name": "items",
833
+ "type": {
834
+ "text": "LitMaterialNavigationDrawerItem[]"
835
+ },
836
+ "privacy": "private",
837
+ "readonly": true
838
+ },
839
+ {
840
+ "kind": "method",
841
+ "name": "syncSelected",
842
+ "privacy": "private",
843
+ "return": {
844
+ "type": {
845
+ "text": "void"
846
+ }
847
+ }
848
+ },
849
+ {
850
+ "kind": "field",
851
+ "name": "handleSlotChange",
852
+ "privacy": "private",
853
+ "readonly": true
854
+ },
855
+ {
856
+ "kind": "field",
857
+ "name": "handleClick",
858
+ "privacy": "private",
859
+ "readonly": true
860
+ },
861
+ {
862
+ "kind": "method",
863
+ "name": "renderNav",
864
+ "privacy": "private"
865
+ },
866
+ {
867
+ "kind": "method",
868
+ "name": "handleClose",
869
+ "privacy": "private",
870
+ "return": {
871
+ "type": {
872
+ "text": "void"
873
+ }
874
+ }
875
+ },
876
+ {
877
+ "kind": "method",
878
+ "name": "handleCancel",
879
+ "privacy": "private",
880
+ "return": {
881
+ "type": {
882
+ "text": "void"
883
+ }
884
+ },
885
+ "parameters": [
886
+ {
887
+ "name": "event",
888
+ "type": {
889
+ "text": "Event"
890
+ }
891
+ }
892
+ ]
893
+ },
894
+ {
895
+ "kind": "method",
896
+ "name": "handleBackdropClick",
897
+ "privacy": "private",
898
+ "return": {
899
+ "type": {
900
+ "text": "void"
901
+ }
902
+ },
903
+ "parameters": [
904
+ {
905
+ "name": "event",
906
+ "type": {
907
+ "text": "MouseEvent"
908
+ }
909
+ }
910
+ ]
911
+ }
912
+ ],
913
+ "events": [
914
+ {
915
+ "name": "close",
916
+ "type": {
917
+ "text": "Event"
918
+ },
919
+ "description": "`modal` only: re-dispatched from the native `close` event."
920
+ },
921
+ {
922
+ "name": "cancel",
923
+ "type": {
924
+ "text": "Event"
925
+ },
926
+ "description": "`modal` only: re-dispatched from the native `cancel` event. Cancelable: calling `preventDefault()` stops the drawer from closing."
927
+ },
928
+ {
929
+ "description": "Fires when `selected` changes via an item click.",
930
+ "name": "change"
931
+ }
932
+ ],
933
+ "attributes": [
934
+ {
935
+ "name": "variant",
936
+ "type": {
937
+ "text": "NavigationDrawerVariant"
938
+ },
939
+ "default": "\"standard\"",
940
+ "fieldName": "variant"
941
+ },
942
+ {
943
+ "name": "position",
944
+ "type": {
945
+ "text": "NavigationDrawerPosition"
946
+ },
947
+ "default": "\"start\"",
948
+ "fieldName": "position"
949
+ },
950
+ {
951
+ "name": "selected",
952
+ "type": {
953
+ "text": "number"
954
+ },
955
+ "default": "-1",
956
+ "description": "Index of the selected item. `-1` means no selection.",
957
+ "fieldName": "selected"
958
+ },
959
+ {
960
+ "name": "open",
961
+ "type": {
962
+ "text": "boolean"
963
+ },
964
+ "default": "false",
965
+ "description": "Whether a `modal` drawer is open. Ignored for `standard`.",
966
+ "fieldName": "open"
967
+ },
968
+ {
969
+ "name": "disable-backdrop-close",
970
+ "type": {
971
+ "text": "boolean"
972
+ },
973
+ "default": "false",
974
+ "description": "If set, clicking the backdrop does not close a `modal` drawer.",
975
+ "fieldName": "disableBackdropClose"
976
+ }
977
+ ],
978
+ "superclass": {
979
+ "name": "LitElement",
980
+ "package": "lit"
981
+ },
982
+ "tagName": "lit-material-navigation-drawer",
983
+ "customElement": true
984
+ }
985
+ ],
986
+ "exports": [
987
+ {
988
+ "kind": "js",
989
+ "name": "LitMaterialNavigationDrawer",
990
+ "declaration": {
991
+ "name": "LitMaterialNavigationDrawer",
992
+ "module": "src/navigation-drawer.ts"
993
+ }
994
+ },
995
+ {
996
+ "kind": "custom-element-definition",
997
+ "name": "lit-material-navigation-drawer",
998
+ "declaration": {
999
+ "name": "LitMaterialNavigationDrawer",
1000
+ "module": "src/navigation-drawer.ts"
1001
+ }
1002
+ }
1003
+ ]
1004
+ },
1005
+ {
1006
+ "kind": "javascript-module",
1007
+ "path": "src/navigation-rail-item-styles.ts",
1008
+ "declarations": [
1009
+ {
1010
+ "kind": "variable",
1011
+ "name": "styles",
1012
+ "default": "css` :host { display: block; outline: none; -webkit-tap-highlight-color: transparent; } :host([disabled]) { pointer-events: none; } .item { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; box-sizing: border-box; width: 100%; min-height: 56px; padding-block: 4px; border: none; margin: 0; background-color: transparent; color: var(--md-sys-color-on-surface-variant, #49454f); cursor: pointer; text-decoration: none; font-family: var(--md-sys-typescale-label-medium-font, Roboto, system-ui, sans-serif); font-size: var(--md-sys-typescale-label-medium-size, 0.75rem); font-weight: var(--md-sys-typescale-label-medium-weight, 500); -webkit-appearance: none; appearance: none; } .item:disabled, .item[aria-disabled=\"true\"] { cursor: default; } :host([selected]) .item { color: var(--md-sys-color-on-surface, #1c1b1f); } .icon-container { position: relative; display: flex; align-items: center; justify-content: center; width: 56px; height: 32px; border-radius: var(--md-sys-shape-corner-full, 16px); transition: background-color 150ms var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)); } :host([selected]) .icon-container { background-color: var(--md-sys-color-secondary-container, #e8def8); } slot.icon::slotted(*) { display: block; width: 24px; height: 24px; } slot.badge::slotted(*) { position: absolute; top: -4px; inset-inline-end: 8px; } .label { max-width: 100%; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; } .state-layer { position: absolute; inset: 0; border-radius: inherit; background-color: currentColor; opacity: 0; pointer-events: none; transition: opacity 100ms linear; } .item:hover .state-layer { opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08); } .state-layer[data-pressed] { opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.1); } .focus-ring { position: absolute; inset: -2px; border-radius: inherit; outline: 3px solid var(--md-sys-color-secondary, #625b71); outline-offset: 2px; pointer-events: none; } .focus-ring[hidden] { display: none; } :host([disabled]) .item { color: color-mix(in srgb, var(--md-sys-color-on-surface, #1c1b1f) 38%, transparent); } @media (prefers-reduced-motion: reduce) { .icon-container, .state-layer { transition: none; } } `"
1013
+ }
1014
+ ],
1015
+ "exports": [
1016
+ {
1017
+ "kind": "js",
1018
+ "name": "styles",
1019
+ "declaration": {
1020
+ "name": "styles",
1021
+ "module": "src/navigation-rail-item-styles.ts"
1022
+ }
1023
+ }
1024
+ ]
1025
+ },
1026
+ {
1027
+ "kind": "javascript-module",
1028
+ "path": "src/navigation-rail-item.ts",
1029
+ "declarations": [
1030
+ {
1031
+ "kind": "class",
1032
+ "description": "A single destination inside a `lit-material-navigation-rail` — an icon in\na pill-shaped active indicator, with a small label below it, following\nthe MD3 navigation rail item spec.\n\nRenders as a real `<button>` by default, or an `<a>` when `href` is set.\nThe ripple/focus-ring are scoped to the icon's indicator pill (not the\nwhole item), matching how the indicator itself is the only part that\nvisibly reacts to press/focus in the spec. `selected` is normally managed\nby the parent rail (see its docs), not set directly.",
1033
+ "name": "LitMaterialNavigationRailItem",
1034
+ "cssParts": [
1035
+ {
1036
+ "description": "The `<button>` or `<a>` (layout only, no background of its own).",
1037
+ "name": "item"
1038
+ },
1039
+ {
1040
+ "description": "The pill-shaped active indicator behind the icon.",
1041
+ "name": "icon-container"
1042
+ },
1043
+ {
1044
+ "description": "The state-layer element the hover/press feedback is drawn on.",
1045
+ "name": "ripple"
1046
+ },
1047
+ {
1048
+ "description": "The focus indicator element.",
1049
+ "name": "focus-ring"
1050
+ }
1051
+ ],
1052
+ "slots": [
1053
+ {
1054
+ "description": "The label text.",
1055
+ "name": ""
1056
+ },
1057
+ {
1058
+ "description": "The icon.",
1059
+ "name": "icon"
1060
+ },
1061
+ {
1062
+ "description": "Optional badge content (a count or dot), positioned over the icon's top-end corner (top-right in LTR, top-left in RTL).",
1063
+ "name": "badge"
1064
+ }
1065
+ ],
1066
+ "members": [
1067
+ {
1068
+ "kind": "field",
1069
+ "name": "shadowRootOptions",
1070
+ "type": {
1071
+ "text": "ShadowRootInit"
1072
+ },
1073
+ "static": true,
1074
+ "default": "{ ...LitElement.shadowRootOptions, delegatesFocus: true, }"
1075
+ },
1076
+ {
1077
+ "kind": "field",
1078
+ "name": "selected",
1079
+ "type": {
1080
+ "text": "boolean"
1081
+ },
1082
+ "default": "false",
1083
+ "attribute": "selected",
1084
+ "reflects": true
1085
+ },
1086
+ {
1087
+ "kind": "field",
1088
+ "name": "disabled",
1089
+ "type": {
1090
+ "text": "boolean"
1091
+ },
1092
+ "default": "false",
1093
+ "attribute": "disabled",
1094
+ "reflects": true
1095
+ },
1096
+ {
1097
+ "kind": "field",
1098
+ "name": "href",
1099
+ "type": {
1100
+ "text": "string"
1101
+ },
1102
+ "default": "\"\"",
1103
+ "description": "If set, renders the item as a link (`<a>`) instead of a `<button>`.",
1104
+ "attribute": "href"
1105
+ },
1106
+ {
1107
+ "kind": "field",
1108
+ "name": "target",
1109
+ "type": {
1110
+ "text": "string"
1111
+ },
1112
+ "default": "\"\"",
1113
+ "attribute": "target"
1114
+ },
1115
+ {
1116
+ "kind": "field",
1117
+ "name": "stateLayerElement",
1118
+ "type": {
1119
+ "text": "HTMLElement | undefined"
1120
+ },
1121
+ "privacy": "private",
1122
+ "readonly": true
1123
+ },
1124
+ {
1125
+ "kind": "field",
1126
+ "name": "ripple",
1127
+ "privacy": "private",
1128
+ "readonly": true,
1129
+ "default": "new RippleController(this)"
1130
+ },
1131
+ {
1132
+ "kind": "field",
1133
+ "name": "focusRing",
1134
+ "privacy": "private",
1135
+ "readonly": true,
1136
+ "default": "new FocusRingController(this)"
1137
+ },
1138
+ {
1139
+ "kind": "field",
1140
+ "name": "content",
1141
+ "privacy": "private",
1142
+ "readonly": true
1143
+ },
1144
+ {
1145
+ "kind": "method",
1146
+ "name": "handleClick",
1147
+ "privacy": "private",
1148
+ "return": {
1149
+ "type": {
1150
+ "text": "void"
1151
+ }
1152
+ },
1153
+ "parameters": [
1154
+ {
1155
+ "name": "event",
1156
+ "type": {
1157
+ "text": "MouseEvent"
1158
+ }
1159
+ }
1160
+ ]
1161
+ },
1162
+ {
1163
+ "kind": "method",
1164
+ "name": "handleLinkClick",
1165
+ "privacy": "private",
1166
+ "return": {
1167
+ "type": {
1168
+ "text": "void"
1169
+ }
1170
+ },
1171
+ "parameters": [
1172
+ {
1173
+ "name": "event",
1174
+ "type": {
1175
+ "text": "MouseEvent"
1176
+ }
1177
+ }
1178
+ ]
1179
+ }
1180
+ ],
1181
+ "attributes": [
1182
+ {
1183
+ "name": "selected",
1184
+ "type": {
1185
+ "text": "boolean"
1186
+ },
1187
+ "default": "false",
1188
+ "fieldName": "selected"
1189
+ },
1190
+ {
1191
+ "name": "disabled",
1192
+ "type": {
1193
+ "text": "boolean"
1194
+ },
1195
+ "default": "false",
1196
+ "fieldName": "disabled"
1197
+ },
1198
+ {
1199
+ "name": "href",
1200
+ "type": {
1201
+ "text": "string"
1202
+ },
1203
+ "default": "\"\"",
1204
+ "description": "If set, renders the item as a link (`<a>`) instead of a `<button>`.",
1205
+ "fieldName": "href"
1206
+ },
1207
+ {
1208
+ "name": "target",
1209
+ "type": {
1210
+ "text": "string"
1211
+ },
1212
+ "default": "\"\"",
1213
+ "fieldName": "target"
1214
+ }
1215
+ ],
1216
+ "superclass": {
1217
+ "name": "LitElement",
1218
+ "package": "lit"
1219
+ },
1220
+ "tagName": "lit-material-navigation-rail-item",
1221
+ "customElement": true
1222
+ }
1223
+ ],
1224
+ "exports": [
1225
+ {
1226
+ "kind": "js",
1227
+ "name": "LitMaterialNavigationRailItem",
1228
+ "declaration": {
1229
+ "name": "LitMaterialNavigationRailItem",
1230
+ "module": "src/navigation-rail-item.ts"
1231
+ }
1232
+ },
1233
+ {
1234
+ "kind": "custom-element-definition",
1235
+ "name": "lit-material-navigation-rail-item",
1236
+ "declaration": {
1237
+ "name": "LitMaterialNavigationRailItem",
1238
+ "module": "src/navigation-rail-item.ts"
1239
+ }
1240
+ }
1241
+ ]
1242
+ },
1243
+ {
1244
+ "kind": "javascript-module",
1245
+ "path": "src/navigation-rail-styles.ts",
1246
+ "declarations": [
1247
+ {
1248
+ "kind": "variable",
1249
+ "name": "styles",
1250
+ "default": "css` :host { display: block; box-sizing: border-box; } .rail { display: flex; flex-direction: column; align-items: center; box-sizing: border-box; width: 80px; height: 100%; padding-block: 12px; background-color: var(--md-sys-color-surface, #fffbfe); color: var(--md-sys-color-on-surface, #1c1b1f); } .fab { flex: none; margin-block-end: 12px; } .fab:empty { display: none; } .items { display: flex; flex: 1; flex-direction: column; gap: 4px; width: 100%; min-height: 0; overflow-y: auto; } .items.top { justify-content: flex-start; } .items.center { justify-content: center; } .items.bottom { justify-content: flex-end; } `"
1251
+ }
1252
+ ],
1253
+ "exports": [
1254
+ {
1255
+ "kind": "js",
1256
+ "name": "styles",
1257
+ "declaration": {
1258
+ "name": "styles",
1259
+ "module": "src/navigation-rail-styles.ts"
1260
+ }
1261
+ }
1262
+ ]
1263
+ },
1264
+ {
1265
+ "kind": "javascript-module",
1266
+ "path": "src/navigation-rail.ts",
1267
+ "declarations": [
1268
+ {
1269
+ "kind": "class",
1270
+ "description": "Material Design 3 navigation rail — a narrow, always-visible vertical bar\nof primary destinations (`lit-material-navigation-rail-item` elements),\ntypically docked to one edge for medium/large window sizes.\n\nSelection is index-based and managed here (like `lit-material-tabs`): set\n`selected` to reflect your current route/section, and each item's own\n`selected` is kept in sync automatically. Clicking an item updates\n`selected` and fires `change` — items themselves don't manage selection.",
1271
+ "name": "LitMaterialNavigationRail",
1272
+ "cssParts": [
1273
+ {
1274
+ "description": "The bar (background, width, padding).",
1275
+ "name": "rail"
1276
+ },
1277
+ {
1278
+ "description": "The fab slot's container.",
1279
+ "name": "fab"
1280
+ },
1281
+ {
1282
+ "description": "The items slot's container.",
1283
+ "name": "items"
1284
+ }
1285
+ ],
1286
+ "slots": [
1287
+ {
1288
+ "description": "`lit-material-navigation-rail-item` elements.",
1289
+ "name": ""
1290
+ },
1291
+ {
1292
+ "description": "An optional FAB shown above the items.",
1293
+ "name": "fab"
1294
+ }
1295
+ ],
1296
+ "members": [
1297
+ {
1298
+ "kind": "field",
1299
+ "name": "alignment",
1300
+ "type": {
1301
+ "text": "NavigationRailAlignment"
1302
+ },
1303
+ "default": "\"top\"",
1304
+ "description": "Where the item group sits within the rail's height.",
1305
+ "attribute": "alignment"
1306
+ },
1307
+ {
1308
+ "kind": "field",
1309
+ "name": "selected",
1310
+ "type": {
1311
+ "text": "number"
1312
+ },
1313
+ "default": "-1",
1314
+ "description": "Index of the selected item. `-1` means no selection.",
1315
+ "attribute": "selected"
1316
+ },
1317
+ {
1318
+ "kind": "field",
1319
+ "name": "items",
1320
+ "type": {
1321
+ "text": "LitMaterialNavigationRailItem[]"
1322
+ },
1323
+ "privacy": "private",
1324
+ "readonly": true
1325
+ },
1326
+ {
1327
+ "kind": "method",
1328
+ "name": "syncSelected",
1329
+ "privacy": "private",
1330
+ "return": {
1331
+ "type": {
1332
+ "text": "void"
1333
+ }
1334
+ }
1335
+ },
1336
+ {
1337
+ "kind": "field",
1338
+ "name": "handleSlotChange",
1339
+ "privacy": "private",
1340
+ "readonly": true
1341
+ },
1342
+ {
1343
+ "kind": "field",
1344
+ "name": "handleClick",
1345
+ "privacy": "private",
1346
+ "readonly": true
1347
+ }
1348
+ ],
1349
+ "events": [
1350
+ {
1351
+ "description": "Fires when `selected` changes via an item click.",
1352
+ "name": "change"
1353
+ }
1354
+ ],
1355
+ "attributes": [
1356
+ {
1357
+ "name": "alignment",
1358
+ "type": {
1359
+ "text": "NavigationRailAlignment"
1360
+ },
1361
+ "default": "\"top\"",
1362
+ "description": "Where the item group sits within the rail's height.",
1363
+ "fieldName": "alignment"
1364
+ },
1365
+ {
1366
+ "name": "selected",
1367
+ "type": {
1368
+ "text": "number"
1369
+ },
1370
+ "default": "-1",
1371
+ "description": "Index of the selected item. `-1` means no selection.",
1372
+ "fieldName": "selected"
1373
+ }
1374
+ ],
1375
+ "superclass": {
1376
+ "name": "LitElement",
1377
+ "package": "lit"
1378
+ },
1379
+ "tagName": "lit-material-navigation-rail",
1380
+ "customElement": true
1381
+ }
1382
+ ],
1383
+ "exports": [
1384
+ {
1385
+ "kind": "js",
1386
+ "name": "LitMaterialNavigationRail",
1387
+ "declaration": {
1388
+ "name": "LitMaterialNavigationRail",
1389
+ "module": "src/navigation-rail.ts"
1390
+ }
1391
+ },
1392
+ {
1393
+ "kind": "custom-element-definition",
1394
+ "name": "lit-material-navigation-rail",
1395
+ "declaration": {
1396
+ "name": "LitMaterialNavigationRail",
1397
+ "module": "src/navigation-rail.ts"
1398
+ }
1399
+ }
1400
+ ]
1401
+ }
1402
+ ]
1403
+ }