@nonoun/native-dashboard 0.4.11 → 0.4.13

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,752 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "readme": "",
4
+ "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "src/sidebar/sidebar-element.ts",
8
+ "declarations": [
9
+ {
10
+ "kind": "class",
11
+ "description": "Full-page layout with a resizable sidebar aside and content column.\nCoordinates nav-group flyout popovers when the sidebar is collapsed.",
12
+ "name": "NSidebar",
13
+ "members": [
14
+ {
15
+ "kind": "field",
16
+ "name": "#sidebarResize",
17
+ "privacy": "private",
18
+ "type": {
19
+ "text": "ResizeController | null"
20
+ },
21
+ "default": "null"
22
+ },
23
+ {
24
+ "kind": "field",
25
+ "name": "#resizeObserver",
26
+ "privacy": "private",
27
+ "type": {
28
+ "text": "ResizeObserver | null"
29
+ },
30
+ "default": "null"
31
+ },
32
+ {
33
+ "kind": "field",
34
+ "name": "#activeGroup",
35
+ "privacy": "private",
36
+ "type": {
37
+ "text": "NSidebarGroup | null"
38
+ },
39
+ "default": "null"
40
+ },
41
+ {
42
+ "kind": "field",
43
+ "name": "#summaryListeners",
44
+ "privacy": "private",
45
+ "type": {
46
+ "text": "Array<{ summary: HTMLElement; handler: (e: Event) => void }>"
47
+ },
48
+ "default": "[]"
49
+ },
50
+ {
51
+ "kind": "method",
52
+ "name": "setup",
53
+ "return": {
54
+ "type": {
55
+ "text": "void"
56
+ }
57
+ }
58
+ },
59
+ {
60
+ "kind": "method",
61
+ "name": "teardown",
62
+ "return": {
63
+ "type": {
64
+ "text": "void"
65
+ }
66
+ }
67
+ },
68
+ {
69
+ "kind": "method",
70
+ "name": "#syncFlyoutMode",
71
+ "privacy": "private",
72
+ "return": {
73
+ "type": {
74
+ "text": "void"
75
+ }
76
+ },
77
+ "description": "Attach or detach summary click interception based on collapsed state."
78
+ },
79
+ {
80
+ "kind": "method",
81
+ "name": "#teardownFlyoutListeners",
82
+ "privacy": "private",
83
+ "return": {
84
+ "type": {
85
+ "text": "void"
86
+ }
87
+ },
88
+ "description": "Remove all summary click listeners."
89
+ },
90
+ {
91
+ "kind": "field",
92
+ "name": "#onGroupDismiss",
93
+ "privacy": "private",
94
+ "description": "When a group closes its flyout internally (dismiss, option select),\nclear our active reference so we stay in sync."
95
+ },
96
+ {
97
+ "kind": "method",
98
+ "name": "#observeOverlays",
99
+ "privacy": "private",
100
+ "return": {
101
+ "type": {
102
+ "text": "void"
103
+ }
104
+ },
105
+ "parameters": [
106
+ {
107
+ "name": "aside",
108
+ "type": {
109
+ "text": "HTMLElement"
110
+ }
111
+ }
112
+ ],
113
+ "description": "Watch header/footer size changes and sync CSS custom properties + data\nattributes so content gets correct padding offsets and fade masks."
114
+ }
115
+ ],
116
+ "attributes": [
117
+ {
118
+ "name": "collapsed"
119
+ }
120
+ ],
121
+ "superclass": {
122
+ "name": "NativeElement",
123
+ "package": "@nonoun/native-ui"
124
+ },
125
+ "customElement": true,
126
+ "tagName": "native-dashboard"
127
+ }
128
+ ],
129
+ "exports": [
130
+ {
131
+ "kind": "js",
132
+ "name": "NSidebar",
133
+ "declaration": {
134
+ "name": "NSidebar",
135
+ "module": "src/sidebar/sidebar-element.ts"
136
+ }
137
+ },
138
+ {
139
+ "kind": "custom-element-definition",
140
+ "name": "native-dashboard",
141
+ "declaration": {
142
+ "name": "NSidebar",
143
+ "module": "src/sidebar/sidebar-element.ts"
144
+ }
145
+ }
146
+ ]
147
+ },
148
+ {
149
+ "kind": "javascript-module",
150
+ "path": "src/sidebar/sidebar-group-element.ts",
151
+ "declarations": [
152
+ {
153
+ "kind": "class",
154
+ "description": "Collapsible group of navigation items using native details/summary.\nExposes `openFlyout()` / `closeFlyout()` for collapsed-sidebar mode —\nthe sidebar layout coordinator decides *when* to call them.",
155
+ "name": "NSidebarGroup",
156
+ "members": [
157
+ {
158
+ "kind": "field",
159
+ "name": "#open",
160
+ "privacy": "private"
161
+ },
162
+ {
163
+ "kind": "field",
164
+ "name": "#details",
165
+ "privacy": "private",
166
+ "type": {
167
+ "text": "HTMLDetailsElement | null"
168
+ },
169
+ "default": "null"
170
+ },
171
+ {
172
+ "kind": "field",
173
+ "name": "#internals",
174
+ "privacy": "private",
175
+ "type": {
176
+ "text": "ElementInternals"
177
+ }
178
+ },
179
+ {
180
+ "kind": "field",
181
+ "name": "#observer",
182
+ "privacy": "private",
183
+ "type": {
184
+ "text": "MutationObserver | null"
185
+ },
186
+ "default": "null"
187
+ },
188
+ {
189
+ "kind": "field",
190
+ "name": "#flyout",
191
+ "privacy": "private",
192
+ "type": {
193
+ "text": "HTMLElement | null"
194
+ },
195
+ "default": "null"
196
+ },
197
+ {
198
+ "kind": "field",
199
+ "name": "#popover",
200
+ "privacy": "private",
201
+ "type": {
202
+ "text": "PopoverController | null"
203
+ },
204
+ "default": "null"
205
+ },
206
+ {
207
+ "kind": "field",
208
+ "name": "#flyoutOpen",
209
+ "privacy": "private",
210
+ "type": {
211
+ "text": "boolean"
212
+ },
213
+ "default": "false"
214
+ },
215
+ {
216
+ "kind": "field",
217
+ "name": "flyoutOpen",
218
+ "type": {
219
+ "text": "boolean"
220
+ },
221
+ "description": "Whether the flyout popover is currently open.",
222
+ "readonly": true
223
+ },
224
+ {
225
+ "kind": "field",
226
+ "name": "open",
227
+ "type": {
228
+ "text": "boolean"
229
+ }
230
+ },
231
+ {
232
+ "kind": "method",
233
+ "name": "setup",
234
+ "return": {
235
+ "type": {
236
+ "text": "void"
237
+ }
238
+ }
239
+ },
240
+ {
241
+ "kind": "method",
242
+ "name": "teardown",
243
+ "return": {
244
+ "type": {
245
+ "text": "void"
246
+ }
247
+ }
248
+ },
249
+ {
250
+ "kind": "method",
251
+ "name": "#syncIndicator",
252
+ "privacy": "private",
253
+ "return": {
254
+ "type": {
255
+ "text": "void"
256
+ }
257
+ }
258
+ },
259
+ {
260
+ "kind": "field",
261
+ "name": "#onToggle",
262
+ "privacy": "private"
263
+ },
264
+ {
265
+ "kind": "method",
266
+ "name": "openFlyout",
267
+ "return": {
268
+ "type": {
269
+ "text": "void"
270
+ }
271
+ },
272
+ "description": "Stamp n-option elements from child nav-items, open the flyout popover."
273
+ },
274
+ {
275
+ "kind": "method",
276
+ "name": "closeFlyout",
277
+ "return": {
278
+ "type": {
279
+ "text": "void"
280
+ }
281
+ },
282
+ "description": "Clear the flyout and close the popover. Returns focus to the summary."
283
+ },
284
+ {
285
+ "kind": "field",
286
+ "name": "#onFlyoutDismiss",
287
+ "privacy": "private"
288
+ },
289
+ {
290
+ "kind": "field",
291
+ "name": "#onFlyoutSelect",
292
+ "privacy": "private"
293
+ },
294
+ {
295
+ "kind": "field",
296
+ "name": "#onFlyoutChange",
297
+ "privacy": "private"
298
+ },
299
+ {
300
+ "kind": "field",
301
+ "name": "role",
302
+ "type": {
303
+ "text": "string"
304
+ },
305
+ "default": "'group'"
306
+ }
307
+ ],
308
+ "attributes": [
309
+ {
310
+ "name": "open",
311
+ "type": {
312
+ "text": "boolean"
313
+ },
314
+ "description": "Whether the group is expanded"
315
+ }
316
+ ],
317
+ "superclass": {
318
+ "name": "NativeElement",
319
+ "package": "@nonoun/native-ui"
320
+ },
321
+ "customElement": true,
322
+ "tagName": "n-sidebar-group"
323
+ }
324
+ ],
325
+ "exports": [
326
+ {
327
+ "kind": "js",
328
+ "name": "NSidebarGroup",
329
+ "declaration": {
330
+ "name": "NSidebarGroup",
331
+ "module": "src/sidebar/sidebar-group-element.ts"
332
+ }
333
+ },
334
+ {
335
+ "kind": "custom-element-definition",
336
+ "name": "n-sidebar-group",
337
+ "declaration": {
338
+ "name": "NSidebarGroup",
339
+ "module": "src/sidebar/sidebar-group-element.ts"
340
+ }
341
+ }
342
+ ]
343
+ },
344
+ {
345
+ "kind": "javascript-module",
346
+ "path": "src/sidebar/sidebar-group-header-element.ts",
347
+ "declarations": [
348
+ {
349
+ "kind": "class",
350
+ "description": "Non-interactive heading label for a navigation group.",
351
+ "name": "NSidebarGroupHeader",
352
+ "members": [
353
+ {
354
+ "kind": "method",
355
+ "name": "setup",
356
+ "return": {
357
+ "type": {
358
+ "text": "void"
359
+ }
360
+ }
361
+ },
362
+ {
363
+ "kind": "field",
364
+ "name": "role",
365
+ "type": {
366
+ "text": "string"
367
+ },
368
+ "default": "'presentation'"
369
+ }
370
+ ],
371
+ "superclass": {
372
+ "name": "NativeElement",
373
+ "package": "@nonoun/native-ui"
374
+ },
375
+ "customElement": true,
376
+ "tagName": "n-sidebar-group-header"
377
+ }
378
+ ],
379
+ "exports": [
380
+ {
381
+ "kind": "js",
382
+ "name": "NSidebarGroupHeader",
383
+ "declaration": {
384
+ "name": "NSidebarGroupHeader",
385
+ "module": "src/sidebar/sidebar-group-header-element.ts"
386
+ }
387
+ },
388
+ {
389
+ "kind": "custom-element-definition",
390
+ "name": "n-sidebar-group-header",
391
+ "declaration": {
392
+ "name": "NSidebarGroupHeader",
393
+ "module": "src/sidebar/sidebar-group-header-element.ts"
394
+ }
395
+ }
396
+ ]
397
+ },
398
+ {
399
+ "kind": "javascript-module",
400
+ "path": "src/sidebar/sidebar-item-element.ts",
401
+ "declarations": [
402
+ {
403
+ "kind": "class",
404
+ "description": "Generic sidebar row wrapper. Passive by default — provides inline padding for\narbitrary content (buttons, links, custom elements). When a child\n`n-listbox[popover]` is present, wires PopoverController for click-to-toggle.",
405
+ "name": "NSidebarItem",
406
+ "members": [
407
+ {
408
+ "kind": "field",
409
+ "name": "#popover",
410
+ "privacy": "private",
411
+ "type": {
412
+ "text": "PopoverController | null"
413
+ },
414
+ "default": "null"
415
+ },
416
+ {
417
+ "kind": "field",
418
+ "name": "#open",
419
+ "privacy": "private",
420
+ "type": {
421
+ "text": "boolean"
422
+ },
423
+ "default": "false"
424
+ },
425
+ {
426
+ "kind": "method",
427
+ "name": "setup",
428
+ "return": {
429
+ "type": {
430
+ "text": "void"
431
+ }
432
+ }
433
+ },
434
+ {
435
+ "kind": "method",
436
+ "name": "teardown",
437
+ "return": {
438
+ "type": {
439
+ "text": "void"
440
+ }
441
+ }
442
+ },
443
+ {
444
+ "kind": "field",
445
+ "name": "#onClick",
446
+ "privacy": "private"
447
+ },
448
+ {
449
+ "kind": "field",
450
+ "name": "#onDismiss",
451
+ "privacy": "private"
452
+ }
453
+ ],
454
+ "superclass": {
455
+ "name": "NativeElement",
456
+ "package": "@nonoun/native-ui"
457
+ },
458
+ "customElement": true,
459
+ "tagName": "n-sidebar-item"
460
+ }
461
+ ],
462
+ "exports": [
463
+ {
464
+ "kind": "js",
465
+ "name": "NSidebarItem",
466
+ "declaration": {
467
+ "name": "NSidebarItem",
468
+ "module": "src/sidebar/sidebar-item-element.ts"
469
+ }
470
+ },
471
+ {
472
+ "kind": "custom-element-definition",
473
+ "name": "n-sidebar-item",
474
+ "declaration": {
475
+ "name": "NSidebarItem",
476
+ "module": "src/sidebar/sidebar-item-element.ts"
477
+ }
478
+ }
479
+ ]
480
+ },
481
+ {
482
+ "kind": "javascript-module",
483
+ "path": "src/sidebar/sidebar-nav-element.ts",
484
+ "declarations": [
485
+ {
486
+ "kind": "class",
487
+ "description": "Sidebar navigation with roving focus and selection indicator.",
488
+ "name": "NSidebarNav",
489
+ "members": [
490
+ {
491
+ "kind": "field",
492
+ "name": "#internals",
493
+ "privacy": "private",
494
+ "type": {
495
+ "text": "ElementInternals"
496
+ }
497
+ },
498
+ {
499
+ "kind": "field",
500
+ "name": "#disabled",
501
+ "privacy": "private",
502
+ "type": {
503
+ "text": "ReactiveProp<boolean>"
504
+ }
505
+ },
506
+ {
507
+ "kind": "field",
508
+ "name": "#nav",
509
+ "privacy": "private",
510
+ "type": {
511
+ "text": "ListNavigateController"
512
+ }
513
+ },
514
+ {
515
+ "kind": "field",
516
+ "name": "value",
517
+ "type": {
518
+ "text": "string | null"
519
+ }
520
+ },
521
+ {
522
+ "kind": "field",
523
+ "name": "disabled",
524
+ "type": {
525
+ "text": "boolean"
526
+ }
527
+ },
528
+ {
529
+ "kind": "method",
530
+ "name": "setup",
531
+ "return": {
532
+ "type": {
533
+ "text": "void"
534
+ }
535
+ }
536
+ },
537
+ {
538
+ "kind": "method",
539
+ "name": "teardown",
540
+ "return": {
541
+ "type": {
542
+ "text": "void"
543
+ }
544
+ }
545
+ },
546
+ {
547
+ "kind": "field",
548
+ "name": "role",
549
+ "type": {
550
+ "text": "string"
551
+ },
552
+ "default": "'navigation'"
553
+ }
554
+ ],
555
+ "events": [
556
+ {
557
+ "name": "native:change",
558
+ "type": {
559
+ "text": "CustomEvent"
560
+ },
561
+ "description": "Fired when selection changes with `{ value, label }` detail"
562
+ }
563
+ ],
564
+ "attributes": [
565
+ {
566
+ "name": "value",
567
+ "type": {
568
+ "text": "string"
569
+ },
570
+ "description": "Currently selected nav item value"
571
+ },
572
+ {
573
+ "name": "disabled",
574
+ "type": {
575
+ "text": "boolean"
576
+ },
577
+ "description": "Disables all nav items"
578
+ }
579
+ ],
580
+ "superclass": {
581
+ "name": "NativeElement",
582
+ "package": "@nonoun/native-ui"
583
+ },
584
+ "customElement": true,
585
+ "tagName": "n-sidebar-nav"
586
+ }
587
+ ],
588
+ "exports": [
589
+ {
590
+ "kind": "js",
591
+ "name": "NSidebarNav",
592
+ "declaration": {
593
+ "name": "NSidebarNav",
594
+ "module": "src/sidebar/sidebar-nav-element.ts"
595
+ }
596
+ },
597
+ {
598
+ "kind": "custom-element-definition",
599
+ "name": "n-sidebar-nav",
600
+ "declaration": {
601
+ "name": "NSidebarNav",
602
+ "module": "src/sidebar/sidebar-nav-element.ts"
603
+ }
604
+ }
605
+ ]
606
+ },
607
+ {
608
+ "kind": "javascript-module",
609
+ "path": "src/sidebar/sidebar-nav-item-element.ts",
610
+ "declarations": [
611
+ {
612
+ "kind": "class",
613
+ "description": "Selectable navigation item within a nav component.",
614
+ "name": "NSidebarNavItem",
615
+ "members": [
616
+ {
617
+ "kind": "field",
618
+ "name": "#internals",
619
+ "privacy": "private",
620
+ "type": {
621
+ "text": "ElementInternals"
622
+ }
623
+ },
624
+ {
625
+ "kind": "field",
626
+ "name": "#value",
627
+ "privacy": "private"
628
+ },
629
+ {
630
+ "kind": "field",
631
+ "name": "#disabled",
632
+ "privacy": "private",
633
+ "type": {
634
+ "text": "ReactiveProp<boolean>"
635
+ }
636
+ },
637
+ {
638
+ "kind": "field",
639
+ "name": "#label",
640
+ "privacy": "private"
641
+ },
642
+ {
643
+ "kind": "field",
644
+ "name": "value",
645
+ "type": {
646
+ "text": "string"
647
+ }
648
+ },
649
+ {
650
+ "kind": "field",
651
+ "name": "disabled",
652
+ "type": {
653
+ "text": "boolean"
654
+ }
655
+ },
656
+ {
657
+ "kind": "field",
658
+ "name": "label",
659
+ "type": {
660
+ "text": "string"
661
+ }
662
+ },
663
+ {
664
+ "kind": "method",
665
+ "name": "setup",
666
+ "return": {
667
+ "type": {
668
+ "text": "void"
669
+ }
670
+ }
671
+ },
672
+ {
673
+ "kind": "method",
674
+ "name": "teardown",
675
+ "return": {
676
+ "type": {
677
+ "text": "void"
678
+ }
679
+ }
680
+ },
681
+ {
682
+ "kind": "field",
683
+ "name": "#onClick",
684
+ "privacy": "private"
685
+ },
686
+ {
687
+ "kind": "field",
688
+ "name": "role",
689
+ "type": {
690
+ "text": "string"
691
+ },
692
+ "default": "'link'"
693
+ }
694
+ ],
695
+ "events": [
696
+ {
697
+ "description": "Fired on click with `{ value, label }` detail",
698
+ "name": "native:select"
699
+ }
700
+ ],
701
+ "attributes": [
702
+ {
703
+ "name": "value",
704
+ "type": {
705
+ "text": "string"
706
+ },
707
+ "description": "Item value emitted on selection"
708
+ },
709
+ {
710
+ "name": "disabled",
711
+ "type": {
712
+ "text": "boolean"
713
+ },
714
+ "description": "Disables this item"
715
+ },
716
+ {
717
+ "name": "label",
718
+ "type": {
719
+ "text": "string"
720
+ },
721
+ "description": "Display label (falls back to text content)"
722
+ }
723
+ ],
724
+ "superclass": {
725
+ "name": "NativeElement",
726
+ "package": "@nonoun/native-ui"
727
+ },
728
+ "customElement": true,
729
+ "tagName": "n-sidebar-nav-item"
730
+ }
731
+ ],
732
+ "exports": [
733
+ {
734
+ "kind": "js",
735
+ "name": "NSidebarNavItem",
736
+ "declaration": {
737
+ "name": "NSidebarNavItem",
738
+ "module": "src/sidebar/sidebar-nav-item-element.ts"
739
+ }
740
+ },
741
+ {
742
+ "kind": "custom-element-definition",
743
+ "name": "n-sidebar-nav-item",
744
+ "declaration": {
745
+ "name": "NSidebarNavItem",
746
+ "module": "src/sidebar/sidebar-nav-item-element.ts"
747
+ }
748
+ }
749
+ ]
750
+ }
751
+ ]
752
+ }
@@ -129,7 +129,7 @@
129
129
  min-height: var(--n-sidebar-item-height);
130
130
  gap: calc(var(--n-space) * 2);
131
131
  padding-block: var(--n-space);
132
- padding-inline: calc(var(--n-space-k) * var(--n-space));
132
+ padding-inline: var(--n-space) calc(var(--n-space-k) * var(--n-space));
133
133
  flex-shrink: 0;
134
134
  min-width: 0;
135
135
  }
@@ -175,7 +175,8 @@
175
175
  flex: 1;
176
176
  min-height: 0;
177
177
  gap: calc(var(--n-space-k) * var(--n-space));
178
- padding: 0 calc(var(--n-space-k) * var(--n-space)) calc(var(--n-space-k) * var(--n-space));
178
+ padding-block-end: calc(var(--n-space-k) * var(--n-space));
179
+ padding-inline-end: calc(var(--n-space-k) * var(--n-space));
179
180
  }
180
181
 
181
182
  /* Main content panel */
@@ -928,7 +929,7 @@
928
929
  min-height: var(--n-sidebar-item-height);
929
930
  gap: calc(var(--n-space) * 2);
930
931
  padding-block: var(--n-space);
931
- padding-inline: calc(var(--n-space-k) * var(--n-space));
932
+ padding-inline: var(--n-space) calc(var(--n-space-k) * var(--n-space));
932
933
  flex-shrink: 0;
933
934
  min-width: 0;
934
935
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nonoun/native-dashboard",
3
- "version": "0.4.11",
3
+ "version": "0.4.13",
4
4
  "description": "Dashboard layout and navigation components for @nonoun/native-ui",
5
5
  "license": "MIT",
6
6
  "type": "module",