@nonoun/native-app 0.2.0

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