@zeyos/zx 5.0.0 → 5.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.
- package/CHANGELOG.md +164 -0
- package/README.md +2 -1
- package/dist/types/components/account-menu/account-menu.d.ts +8 -0
- package/dist/types/components/activity-list/activity-list.d.ts +9 -1
- package/dist/types/components/app-icon/app-icon.d.ts +14 -2
- package/dist/types/components/app-sidebar/app-sidebar.d.ts +288 -14
- package/dist/types/components/calendar/calendar.d.ts +67 -5
- package/dist/types/components/card-view/card-view.d.ts +7 -4
- package/dist/types/components/card-view/record-card.d.ts +11 -0
- package/dist/types/components/context-menu/context-menu.d.ts +6 -2
- package/dist/types/components/data-filter/data-filter.d.ts +4 -4
- package/dist/types/components/dropdown/dropdown.d.ts +22 -7
- package/dist/types/components/field/field.d.ts +30 -0
- package/dist/types/components/fieldset/external-adapter.d.ts +83 -0
- package/dist/types/components/fieldset/fieldset.d.ts +7 -0
- package/dist/types/components/file-list/file-list.d.ts +35 -3
- package/dist/types/components/filter/filter.d.ts +127 -3
- package/dist/types/components/filter-panel/filter-panel.d.ts +36 -7
- package/dist/types/components/launcher/launcher.d.ts +8 -0
- package/dist/types/components/list-toolbar/list-toolbar.d.ts +15 -6
- package/dist/types/components/menu-button/menu-button.d.ts +6 -0
- package/dist/types/components/message/message.d.ts +14 -1
- package/dist/types/components/modal/modal.d.ts +30 -0
- package/dist/types/components/module-bar/module-bar.d.ts +395 -0
- package/dist/types/components/pagination/pagination.d.ts +17 -3
- package/dist/types/components/select/select.d.ts +6 -0
- package/dist/types/components/sheet/sheet.d.ts +15 -0
- package/dist/types/components/table/table.d.ts +265 -17
- package/dist/types/components/view/record-view.d.ts +59 -2
- package/dist/types/components/view-settings/view-settings.d.ts +879 -0
- package/dist/types/components/workspace-switcher/workspace-switcher.d.ts +327 -0
- package/dist/types/core/component.d.ts +12 -2
- package/dist/types/core/i18n.d.ts +27 -3
- package/dist/types/core/keyboard.d.ts +98 -1
- package/dist/types/core/messages.d.ts +382 -0
- package/dist/types/core/overlay-host.d.ts +28 -1
- package/dist/types/core/overlay-stack.d.ts +260 -0
- package/dist/types/index.d.ts +5 -2
- package/dist/types/internal/app-rail.d.ts +38 -0
- package/dist/types/internal/menu-items.d.ts +71 -3
- package/dist/types/zeyos/index.d.ts +1 -0
- package/dist/types/zeyos/launcher.d.ts +9 -0
- package/dist/types/zeyos/module-bar.d.ts +176 -0
- package/dist/types/zeyos/query.d.ts +31 -5
- package/dist/types/zeyos/table.d.ts +245 -8
- package/dist/types/zeyos/view.d.ts +16 -2
- package/dist/zx-zeyos.esm.js +4422 -430
- package/dist/zx-zeyos.esm.min.js +5 -5
- package/dist/zx.css +1417 -134
- package/dist/zx.esm.js +6986 -830
- package/dist/zx.esm.min.js +8 -8
- package/dist/zx.global.js +6986 -830
- package/dist/zx.global.min.js +8 -8
- package/dist/zx.min.css +1 -1
- package/docs/api.json +794 -17
- package/docs/llms.md +503 -63
- package/docs/llms.txt +6 -2
- package/package.json +1 -1
- package/src/components/account-menu/account-menu.js +12 -0
- package/src/components/activity-list/activity-list.js +27 -1
- package/src/components/app-icon/app-icon.css +13 -2
- package/src/components/app-icon/app-icon.js +11 -1
- package/src/components/app-rail/app-rail.css +19 -0
- package/src/components/app-sidebar/app-sidebar.css +204 -3
- package/src/components/app-sidebar/app-sidebar.js +646 -40
- package/src/components/breadcrumb/breadcrumb.css +1 -1
- package/src/components/calendar/calendar.css +1 -1
- package/src/components/calendar/calendar.js +26 -52
- package/src/components/card/card.css +2 -2
- package/src/components/card-view/card-view.css +5 -5
- package/src/components/card-view/card-view.js +13 -9
- package/src/components/card-view/record-card.js +14 -3
- package/src/components/code-editor/code-editor.css +1 -1
- package/src/components/code-editor/field-adapter.js +9 -2
- package/src/components/context-menu/context-menu.js +8 -2
- package/src/components/copy/copy-input.css +1 -1
- package/src/components/data-filter/data-filter.js +2 -2
- package/src/components/date-picker/time-picker.css +2 -2
- package/src/components/dock/dock.css +5 -4
- package/src/components/dropdown/dropdown.js +157 -72
- package/src/components/field/field.js +33 -3
- package/src/components/fieldset/external-adapter.js +363 -0
- package/src/components/fieldset/fieldset.js +10 -59
- package/src/components/file-list/file-list.js +144 -21
- package/src/components/filter/filter.css +86 -2
- package/src/components/filter/filter.js +300 -8
- package/src/components/filter-panel/filter-panel.js +149 -32
- package/src/components/finder/finder.css +1 -1
- package/src/components/kanban-view/kanban-view.css +3 -3
- package/src/components/kanban-view/kanban-view.js +5 -2
- package/src/components/launcher/launcher.css +1 -1
- package/src/components/launcher/launcher.js +29 -3
- package/src/components/list-toolbar/list-toolbar.js +39 -13
- package/src/components/master-panel/master-panel.js +0 -1
- package/src/components/menu-button/menu-button.css +63 -0
- package/src/components/menu-button/menu-button.js +97 -11
- package/src/components/message/message.js +60 -20
- package/src/components/modal/modal.css +1 -1
- package/src/components/modal/modal.js +66 -13
- package/src/components/module-bar/module-bar.css +486 -0
- package/src/components/module-bar/module-bar.js +1074 -0
- package/src/components/multi-value-editor/multi-value-editor.css +1 -1
- package/src/components/number-field/field-adapter.js +2 -1
- package/src/components/pagination/pagination.css +5 -5
- package/src/components/pagination/pagination.js +20 -4
- package/src/components/panel/panel.css +3 -2
- package/src/components/questionnaire/questionnaire.css +4 -4
- package/src/components/rating/field-adapter.js +2 -1
- package/src/components/rating/rating.css +1 -1
- package/src/components/search/search.css +4 -1
- package/src/components/select/select.js +9 -0
- package/src/components/sheet/sheet.css +1 -1
- package/src/components/sheet/sheet.js +74 -32
- package/src/components/slider/field-adapter.js +6 -1
- package/src/components/slider/slider.css +2 -2
- package/src/components/split-view/split-view.css +1 -1
- package/src/components/stat-tile/stat-tile.css +1 -1
- package/src/components/stepper/stepper.css +1 -1
- package/src/components/tabbox/tabbox.css +9 -5
- package/src/components/table/table.css +86 -11
- package/src/components/table/table.js +628 -57
- package/src/components/tag-picker/field-adapter.js +2 -1
- package/src/components/tooltip/tooltip.js +35 -17
- package/src/components/tree/tree.css +1 -1
- package/src/components/view/record-view.css +1 -1
- package/src/components/view/record-view.js +178 -18
- package/src/components/view-settings/view-settings.css +285 -0
- package/src/components/view-settings/view-settings.js +1830 -0
- package/src/components/workspace-switcher/workspace-switcher.css +188 -0
- package/src/components/workspace-switcher/workspace-switcher.js +463 -0
- package/src/core/component.js +88 -17
- package/src/core/fontawesome.js +5 -1
- package/src/core/i18n.js +47 -4
- package/src/core/icons.js +12 -2
- package/src/core/keyboard.js +206 -11
- package/src/core/messages.js +427 -0
- package/src/core/overlay-host.js +64 -9
- package/src/core/overlay-stack.js +487 -0
- package/src/core/position.js +22 -3
- package/src/index.js +5 -2
- package/src/internal/app-rail.js +134 -53
- package/src/internal/menu-items.js +61 -3
- package/src/zeyos/form.js +5 -3
- package/src/zeyos/index.js +3 -0
- package/src/zeyos/launcher.js +8 -3
- package/src/zeyos/module-bar.js +181 -0
- package/src/zeyos/query.js +44 -13
- package/src/zeyos/table.js +220 -80
- package/src/zeyos/view.js +43 -93
- package/styles/base.css +16 -1
- package/styles/print.css +1 -1
- package/styles/tokens/dark.css +4 -0
- package/styles/tokens/semantic.css +56 -28
- package/styles/zx.css +3 -0
package/docs/api.json
CHANGED
|
@@ -80,6 +80,12 @@
|
|
|
80
80
|
"returns": "this",
|
|
81
81
|
"description": "Replaces account presentation without touching session state."
|
|
82
82
|
},
|
|
83
|
+
{
|
|
84
|
+
"name": "setCompact",
|
|
85
|
+
"signature": "setCompact(compact)",
|
|
86
|
+
"returns": "this",
|
|
87
|
+
"description": "Shows the avatar alone or the avatar with the name and secondary line — for a navigation column that narrows to icons and widens again. The trigger keeps its full accessible name either way."
|
|
88
|
+
},
|
|
83
89
|
{
|
|
84
90
|
"name": "setItems",
|
|
85
91
|
"signature": "setItems(items)",
|
|
@@ -390,7 +396,13 @@
|
|
|
390
396
|
"name": "color",
|
|
391
397
|
"type": "string|null",
|
|
392
398
|
"default": "null",
|
|
393
|
-
"description": "Identity colour
|
|
399
|
+
"description": "Identity colour, any CSS colour; takes precedence over `tone`."
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"name": "tone",
|
|
403
|
+
"type": "AppIconTone|null",
|
|
404
|
+
"default": "null",
|
|
405
|
+
"description": "Categorical identity colour from the theme's tone palette, drawn with its `--zx-color-tone-<tone>-solid` fill. Without `color` or `tone` the icon takes the accent."
|
|
394
406
|
},
|
|
395
407
|
{
|
|
396
408
|
"name": "size",
|
|
@@ -461,9 +473,9 @@
|
|
|
461
473
|
"options": [
|
|
462
474
|
{
|
|
463
475
|
"name": "items",
|
|
464
|
-
"type": "AppNavItem[]",
|
|
476
|
+
"type": "AppNavItem[]|AppSidebarModule[]",
|
|
465
477
|
"default": "[]",
|
|
466
|
-
"description": "Application navigation tree."
|
|
478
|
+
"description": "Application navigation tree; in the modules layout its top level is the modules."
|
|
467
479
|
},
|
|
468
480
|
{
|
|
469
481
|
"name": "active",
|
|
@@ -501,6 +513,42 @@
|
|
|
501
513
|
"default": "'left'",
|
|
502
514
|
"description": "Workspace edge occupied by navigation."
|
|
503
515
|
},
|
|
516
|
+
{
|
|
517
|
+
"name": "layout",
|
|
518
|
+
"type": "'tree'|'modules'",
|
|
519
|
+
"default": "'tree'",
|
|
520
|
+
"description": "`'modules'` draws the top level as a module strip beside a panel showing one module's menu; minimized, the strip remains and menus open as flyouts."
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"name": "module",
|
|
524
|
+
"type": "string|number|null",
|
|
525
|
+
"default": "null",
|
|
526
|
+
"description": "Modules layout: the module the panel shows first. Defaults to the module containing `active`, else the first module with a panel."
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"name": "moduleBar",
|
|
530
|
+
"type": "AppSidebarModuleBarOptions",
|
|
531
|
+
"default": "{}",
|
|
532
|
+
"description": "Modules layout: strip presentation."
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"name": "presentation",
|
|
536
|
+
"type": "'expanded'|'compact'|'collapsed'|null",
|
|
537
|
+
"default": "null",
|
|
538
|
+
"description": "Modules layout: how much of the navigation shows — both menus expanded (module names beside the side menu), the module menu collapsed to icons beside the side menu, or both collapsed to the icon strip. Defaults to `collapsed` ? `'collapsed'` : `'expanded'`."
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"name": "presentations",
|
|
542
|
+
"type": "Array<'expanded'|'compact'|'collapsed'>",
|
|
543
|
+
"default": "['expanded','compact','collapsed']",
|
|
544
|
+
"description": "Modules layout: the presentations offered, widest first."
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"name": "presentationSwitch",
|
|
548
|
+
"type": "boolean",
|
|
549
|
+
"default": "true",
|
|
550
|
+
"description": "Modules layout: whether the strip's foot carries the switch between presentations. Turn it off when the choice lives elsewhere — an account menu, through `presentationChoice()`."
|
|
551
|
+
},
|
|
504
552
|
{
|
|
505
553
|
"name": "label",
|
|
506
554
|
"type": "string",
|
|
@@ -511,7 +559,7 @@
|
|
|
511
559
|
"name": "header",
|
|
512
560
|
"type": "Node|string|number|{toElement: () => Node|null}|null",
|
|
513
561
|
"default": "null",
|
|
514
|
-
"description": "Expanded header content."
|
|
562
|
+
"description": "Expanded header content; in the modules layout, content above every module's menu."
|
|
515
563
|
},
|
|
516
564
|
{
|
|
517
565
|
"name": "footer",
|
|
@@ -523,13 +571,13 @@
|
|
|
523
571
|
"name": "railHeader",
|
|
524
572
|
"type": "Node|string|number|{toElement: () => Node|null}|null",
|
|
525
573
|
"default": "null",
|
|
526
|
-
"description": "Minimized leading content."
|
|
574
|
+
"description": "Minimized leading content; in the modules layout, the strip's leading content in both states."
|
|
527
575
|
},
|
|
528
576
|
{
|
|
529
577
|
"name": "railFooter",
|
|
530
578
|
"type": "Node|string|number|{toElement: () => Node|null}|null",
|
|
531
579
|
"default": "null",
|
|
532
|
-
"description": "Minimized trailing content."
|
|
580
|
+
"description": "Minimized trailing content; in the modules layout, the strip's trailing content in both states."
|
|
533
581
|
},
|
|
534
582
|
{
|
|
535
583
|
"name": "openDelay",
|
|
@@ -570,6 +618,16 @@
|
|
|
570
618
|
"name": "flyoutchange",
|
|
571
619
|
"payload": "{item: AppNavItem, id: string|number, open: boolean}",
|
|
572
620
|
"description": "Minimized flyout-state listener."
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
"name": "modulechange",
|
|
624
|
+
"payload": "{item: AppNavItem, id: string|number, previous: string|number|null}",
|
|
625
|
+
"description": "Preventable module-switch listener."
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
"name": "presentationchange",
|
|
629
|
+
"payload": "{presentation: 'expanded'|'compact'|'collapsed', previous: 'expanded'|'compact'|'collapsed'}",
|
|
630
|
+
"description": "Presentation listener."
|
|
573
631
|
}
|
|
574
632
|
],
|
|
575
633
|
"methods": [
|
|
@@ -589,7 +647,49 @@
|
|
|
589
647
|
"name": "setActive",
|
|
590
648
|
"signature": "setActive(id)",
|
|
591
649
|
"returns": "this",
|
|
592
|
-
"description": "Sets the active id without routing."
|
|
650
|
+
"description": "Sets the active id without routing. In the modules layout the panel follows the active route into its module."
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"name": "setBadge",
|
|
654
|
+
"signature": "setBadge(id, badge)",
|
|
655
|
+
"returns": "this",
|
|
656
|
+
"description": "Updates one badge — a module's, or any destination's — without rebuilding the navigation."
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"name": "setModule",
|
|
660
|
+
"signature": "setModule(id, [options])",
|
|
661
|
+
"returns": "this",
|
|
662
|
+
"description": "Modules layout: shows a module's menu in the panel. Fires a preventable `modulechange` unless silent."
|
|
663
|
+
},
|
|
664
|
+
{
|
|
665
|
+
"name": "getModule",
|
|
666
|
+
"signature": "getModule()",
|
|
667
|
+
"returns": "string|number|null",
|
|
668
|
+
"description": "Modules layout: the module whose menu the panel shows."
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"name": "setModuleLabels",
|
|
672
|
+
"signature": "setModuleLabels(labels)",
|
|
673
|
+
"returns": "this",
|
|
674
|
+
"description": "Modules layout: whether the strip prints module names — `'auto'` (beside the tiles while expanded, none while collapsed), `'beside'`, `'below'`, or `'hidden'`. A narrow drawer that has no room for a labelled strip beside the panel sets `'hidden'`."
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
"name": "getPresentation",
|
|
678
|
+
"signature": "getPresentation()",
|
|
679
|
+
"returns": "'expanded'|'compact'|'collapsed'",
|
|
680
|
+
"description": "How much of the navigation shows: `'expanded'` (in the modules layout, both menus), `'compact'` (the module menu collapsed to icons beside the side menu), or `'collapsed'`."
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"name": "setPresentation",
|
|
684
|
+
"signature": "setPresentation(presentation, [options])",
|
|
685
|
+
"returns": "this",
|
|
686
|
+
"description": "Shows the navigation as `'expanded'`, `'compact'` (modules layout), or `'collapsed'`."
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
"name": "togglePresentation",
|
|
690
|
+
"signature": "togglePresentation()",
|
|
691
|
+
"returns": "this",
|
|
692
|
+
"description": "Moves to the next presentation the strip's switch offers, wrapping (Mod+B in an application)."
|
|
593
693
|
},
|
|
594
694
|
{
|
|
595
695
|
"name": "setExpanded",
|
|
@@ -667,16 +767,52 @@
|
|
|
667
767
|
"name": "focus",
|
|
668
768
|
"signature": "focus()",
|
|
669
769
|
"returns": "this",
|
|
670
|
-
"description": "Focuses the first navigation action."
|
|
770
|
+
"description": "Focuses the first navigation action: the module strip's Tab stop in the modules layout."
|
|
671
771
|
},
|
|
672
772
|
{
|
|
673
773
|
"name": "destroy",
|
|
674
774
|
"signature": "destroy()",
|
|
675
775
|
"returns": "void",
|
|
676
776
|
"description": "Destroys flyouts and restores/removes the host."
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"name": "presentationChoice",
|
|
780
|
+
"signature": "presentationChoice([options])",
|
|
781
|
+
"returns": "import('../../internal/menu-items.js').MenuChoice",
|
|
782
|
+
"description": "The choice between presentations as a menu entry, for an account or settings menu that holds it instead of the strip: `account.setItems([sidebar.presentationChoice(), …])`. It reads the current presentation when called, so rebuild it after `presentationchange`."
|
|
677
783
|
}
|
|
678
784
|
]
|
|
679
785
|
},
|
|
786
|
+
"AppSidebarModuleBar": {
|
|
787
|
+
"options": [
|
|
788
|
+
{
|
|
789
|
+
"name": "appearance",
|
|
790
|
+
"type": "'tint'|'solid'|'plain'",
|
|
791
|
+
"default": "'tint'",
|
|
792
|
+
"description": "Tile treatment."
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"name": "labels",
|
|
796
|
+
"type": "'auto'|'beside'|'below'|'hidden'",
|
|
797
|
+
"default": "'auto'",
|
|
798
|
+
"description": "Module names on the strip: `'auto'` prints them beside the tiles while expanded and leaves the icons alone while collapsed; `'hidden'` keeps the icon strip beside the panel; `'below'` prints them under the tiles."
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
"name": "allModules",
|
|
802
|
+
"type": "'auto'|'always'|'never'",
|
|
803
|
+
"default": "'auto'",
|
|
804
|
+
"description": "The \"All modules\" button."
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
"name": "label",
|
|
808
|
+
"type": "string|null",
|
|
809
|
+
"default": "null",
|
|
810
|
+
"description": "Strip accessible label; omitted resolves `moduleBar.label`."
|
|
811
|
+
}
|
|
812
|
+
],
|
|
813
|
+
"events": [],
|
|
814
|
+
"methods": []
|
|
815
|
+
},
|
|
680
816
|
"Aspect": {
|
|
681
817
|
"options": [
|
|
682
818
|
{
|
|
@@ -1298,7 +1434,7 @@
|
|
|
1298
1434
|
"name": "msg",
|
|
1299
1435
|
"type": "Record<string, string>",
|
|
1300
1436
|
"default": null,
|
|
1301
|
-
"description": "
|
|
1437
|
+
"description": "Per-instance messages, keyed `calendar.*` (`calendar.today`, `calendar.next`, …). The bare keys of earlier versions (`today`, `next`) are still read, after the namespaced key, until the next major version."
|
|
1302
1438
|
},
|
|
1303
1439
|
{
|
|
1304
1440
|
"name": "renderEvent",
|
|
@@ -1775,9 +1911,9 @@
|
|
|
1775
1911
|
},
|
|
1776
1912
|
{
|
|
1777
1913
|
"name": "label",
|
|
1778
|
-
"type": "string",
|
|
1779
|
-
"default": "
|
|
1780
|
-
"description": "Accessible collection label."
|
|
1914
|
+
"type": "string|null",
|
|
1915
|
+
"default": "null",
|
|
1916
|
+
"description": "Accessible collection label; null resolves message `cardView.label`, \"Card view\"."
|
|
1781
1917
|
}
|
|
1782
1918
|
],
|
|
1783
1919
|
"events": [
|
|
@@ -2551,7 +2687,7 @@
|
|
|
2551
2687
|
"name": "clearLabel",
|
|
2552
2688
|
"type": "string|null",
|
|
2553
2689
|
"default": "null",
|
|
2554
|
-
"description": "Clear button label; null resolves `dataFilter.clear
|
|
2690
|
+
"description": "Clear button label; null resolves message `dataFilter.clear`, \"Clear\"."
|
|
2555
2691
|
}
|
|
2556
2692
|
],
|
|
2557
2693
|
"events": [
|
|
@@ -3805,6 +3941,12 @@
|
|
|
3805
3941
|
"default": "false",
|
|
3806
3942
|
"description": "Whether the control is disabled."
|
|
3807
3943
|
},
|
|
3944
|
+
{
|
|
3945
|
+
"name": "readonly",
|
|
3946
|
+
"type": "boolean",
|
|
3947
|
+
"default": "false",
|
|
3948
|
+
"description": "Whether the value is read-only: shown and focusable, not editable. Types whose control has no read-only state (`checkbox`, `select`, `optionlist`, `zxselect`, `date`, `time`, …) ignore it."
|
|
3949
|
+
},
|
|
3808
3950
|
{
|
|
3809
3951
|
"name": "options",
|
|
3810
3952
|
"type": "string[]|Record<string, string>|null",
|
|
@@ -3885,6 +4027,12 @@
|
|
|
3885
4027
|
"returns": "this",
|
|
3886
4028
|
"description": "Enables or disables the adapter control."
|
|
3887
4029
|
},
|
|
4030
|
+
{
|
|
4031
|
+
"name": "setReadonly",
|
|
4032
|
+
"signature": "setReadonly(readonly)",
|
|
4033
|
+
"returns": "this",
|
|
4034
|
+
"description": "Makes the value read-only or editable again, where the control has a read-only state (see the `readonly` option); reflected as `data-readonly` on the root either way."
|
|
4035
|
+
},
|
|
3888
4036
|
{
|
|
3889
4037
|
"name": "setHighlight",
|
|
3890
4038
|
"signature": "setHighlight(message, [kind])",
|
|
@@ -4061,7 +4209,7 @@
|
|
|
4061
4209
|
"name": "addField",
|
|
4062
4210
|
"signature": "addField(id, field)",
|
|
4063
4211
|
"returns": "Field",
|
|
4064
|
-
"description": "Adds a field from options, an existing field, an element, or a component. The key becomes the field's `name` and its `data-field-id`; the control's DOM id is `<idPrefix>-<key>`, unless the field options give an `id` of their own that differs from the key."
|
|
4212
|
+
"description": "Adds a field from options, an existing field, an element, or a component. The key becomes the field's `name` and its `data-field-id`; the control's DOM id is `<idPrefix>-<key>`, unless the field options give an `id` of their own that differs from the key. An element or a component that is not a registered field type is wrapped in a `custom` field that reads and writes it through its own API — `getValue`/`setValue`, `get`/`set`, `getValues`/`setValues`, `isChecked`/`setChecked`, or a `value` property — disables it through `setDisabled(bool)` or `enable()`/`disable()`, and makes it read-only through `setReadonly(bool)`, falling back to the element's native properties only when the component has none of these. The component's own `change` becomes the field's `change`, once per edit."
|
|
4065
4213
|
},
|
|
4066
4214
|
{
|
|
4067
4215
|
"name": "getField",
|
|
@@ -4448,13 +4596,13 @@
|
|
|
4448
4596
|
"name": "searchable",
|
|
4449
4597
|
"type": "boolean",
|
|
4450
4598
|
"default": "false",
|
|
4451
|
-
"description": "Searchable field, operator and single-choice controls
|
|
4599
|
+
"description": "Searchable field, operator and single-choice controls; a many-valued operator on a field with static choices gets a `TagPicker`."
|
|
4452
4600
|
},
|
|
4453
4601
|
{
|
|
4454
4602
|
"name": "layout",
|
|
4455
4603
|
"type": "'standard'|'compact'",
|
|
4456
4604
|
"default": "'standard'",
|
|
4457
|
-
"description": "Condition layout; compact rows adapt to container width."
|
|
4605
|
+
"description": "Condition layout; compact rows adapt to container width and show the group's \"and\"/\"or\" between them, a click on it switching the group's logic."
|
|
4458
4606
|
},
|
|
4459
4607
|
{
|
|
4460
4608
|
"name": "rootLogic",
|
|
@@ -4638,6 +4786,12 @@
|
|
|
4638
4786
|
"default": "'seconds'",
|
|
4639
4787
|
"description": "How a date leaves the component. A range's lower bound takes the start of its day and its upper bound the end, so a one-day range matches."
|
|
4640
4788
|
},
|
|
4789
|
+
{
|
|
4790
|
+
"name": "timeZone",
|
|
4791
|
+
"type": "string|null",
|
|
4792
|
+
"default": "null",
|
|
4793
|
+
"description": "IANA zone the calendar days are counted in, such as the ZeyOS instance's `Europe/Vienna`. A day serializes as the first (or last) instant of that day in this zone, and an incoming instant shows as the day it falls on there — the same rule `zeyosForm()` and `zeyosTable()` apply to date-only fields. Null uses the runtime's own zone. An unknown zone throws a `RangeError`."
|
|
4794
|
+
},
|
|
4641
4795
|
{
|
|
4642
4796
|
"name": "emptyText",
|
|
4643
4797
|
"type": "string|null",
|
|
@@ -6128,7 +6282,7 @@
|
|
|
6128
6282
|
"name": "bind",
|
|
6129
6283
|
"signature": "bind(view)",
|
|
6130
6284
|
"returns": "this",
|
|
6131
|
-
"description": "Optional sugar for a `TableView` or `
|
|
6285
|
+
"description": "Optional sugar for a `TableView`, `CardView`, or `KanbanView`: it wires the shape switch to the view and mounts the view's field chooser into this bar — through the view's public `mountFieldControls()` when it has one, which every `RecordView` does. A `TableView` with the default `fieldControls: true` contributes its Table's column chooser. Nothing is imported and nothing is required — every capability is feature-detected, so a view that offers none of them still works and still gets `viewchange`, and the host swaps the view itself. See `recordViewCapabilities()` for what is looked for."
|
|
6132
6286
|
},
|
|
6133
6287
|
{
|
|
6134
6288
|
"name": "unbind",
|
|
@@ -6274,6 +6428,12 @@
|
|
|
6274
6428
|
"returns": "this",
|
|
6275
6429
|
"description": "Closes the menu."
|
|
6276
6430
|
},
|
|
6431
|
+
{
|
|
6432
|
+
"name": "toggle",
|
|
6433
|
+
"signature": "toggle()",
|
|
6434
|
+
"returns": "this",
|
|
6435
|
+
"description": "Opens the menu when it is closed, and closes it when it is open. Opening this way moves no focus; `focusFirst()` opens with focus on the first item."
|
|
6436
|
+
},
|
|
6277
6437
|
{
|
|
6278
6438
|
"name": "isOpen",
|
|
6279
6439
|
"signature": "isOpen()",
|
|
@@ -6522,6 +6682,226 @@
|
|
|
6522
6682
|
}
|
|
6523
6683
|
]
|
|
6524
6684
|
},
|
|
6685
|
+
"ModuleBar": {
|
|
6686
|
+
"options": [
|
|
6687
|
+
{
|
|
6688
|
+
"name": "items",
|
|
6689
|
+
"type": "ModuleItem[]",
|
|
6690
|
+
"default": "[]",
|
|
6691
|
+
"description": "Modules, in bar order."
|
|
6692
|
+
},
|
|
6693
|
+
{
|
|
6694
|
+
"name": "active",
|
|
6695
|
+
"type": "string|number|null",
|
|
6696
|
+
"default": "null",
|
|
6697
|
+
"description": "Active destination id: a module, or any item in a module's menu."
|
|
6698
|
+
},
|
|
6699
|
+
{
|
|
6700
|
+
"name": "orientation",
|
|
6701
|
+
"type": "'vertical'|'horizontal'",
|
|
6702
|
+
"default": "'vertical'",
|
|
6703
|
+
"description": "Bar flow."
|
|
6704
|
+
},
|
|
6705
|
+
{
|
|
6706
|
+
"name": "side",
|
|
6707
|
+
"type": "'left'|'right'|'top'|'bottom'",
|
|
6708
|
+
"default": "'left'",
|
|
6709
|
+
"description": "Workspace edge the bar occupies."
|
|
6710
|
+
},
|
|
6711
|
+
{
|
|
6712
|
+
"name": "appearance",
|
|
6713
|
+
"type": "'tint'|'solid'|'plain'",
|
|
6714
|
+
"default": "'tint'",
|
|
6715
|
+
"description": "Tile treatment: the glyph in the module colour on a tint of it, the solid identity tile, or monochrome glyphs."
|
|
6716
|
+
},
|
|
6717
|
+
{
|
|
6718
|
+
"name": "labels",
|
|
6719
|
+
"type": "'hidden'|'below'|'beside'",
|
|
6720
|
+
"default": "'hidden'",
|
|
6721
|
+
"description": "Whether a vertical bar prints each module's name: under its tile (a narrow strip), beside it (a full navigation column, with the count at the end of the row), or not at all — the name then stays the accessible name and the tooltip. Horizontal bars never print names."
|
|
6722
|
+
},
|
|
6723
|
+
{
|
|
6724
|
+
"name": "menus",
|
|
6725
|
+
"type": "'flyout'|'none'",
|
|
6726
|
+
"default": "'flyout'",
|
|
6727
|
+
"description": "How a module's children are presented: in a flyout, or by an adjacent panel the application owns, in which case activating the module emits `select`."
|
|
6728
|
+
},
|
|
6729
|
+
{
|
|
6730
|
+
"name": "expanded",
|
|
6731
|
+
"type": "string|number|null",
|
|
6732
|
+
"default": "null",
|
|
6733
|
+
"description": "With `menus: 'none'`, the module whose menu the adjacent panel shows."
|
|
6734
|
+
},
|
|
6735
|
+
{
|
|
6736
|
+
"name": "controls",
|
|
6737
|
+
"type": "string|null",
|
|
6738
|
+
"default": "null",
|
|
6739
|
+
"description": "With `menus: 'none'`, the id of that panel."
|
|
6740
|
+
},
|
|
6741
|
+
{
|
|
6742
|
+
"name": "allModules",
|
|
6743
|
+
"type": "'auto'|'always'|'never'",
|
|
6744
|
+
"default": "'auto'",
|
|
6745
|
+
"description": "The \"All modules\" button: shown when a module does not fit or is unpinned, always, or never (the bar then scrolls)."
|
|
6746
|
+
},
|
|
6747
|
+
{
|
|
6748
|
+
"name": "header",
|
|
6749
|
+
"type": "Node|string|number|{toElement: () => Node|null}|null",
|
|
6750
|
+
"default": "null",
|
|
6751
|
+
"description": "Leading content, such as a product mark."
|
|
6752
|
+
},
|
|
6753
|
+
{
|
|
6754
|
+
"name": "footer",
|
|
6755
|
+
"type": "Node|string|number|{toElement: () => Node|null}|null",
|
|
6756
|
+
"default": "null",
|
|
6757
|
+
"description": "Trailing content, such as an account menu."
|
|
6758
|
+
},
|
|
6759
|
+
{
|
|
6760
|
+
"name": "label",
|
|
6761
|
+
"type": "string|null",
|
|
6762
|
+
"default": "null",
|
|
6763
|
+
"description": "Navigation accessible label. Omitted resolves `moduleBar.label`, English `Modules`."
|
|
6764
|
+
},
|
|
6765
|
+
{
|
|
6766
|
+
"name": "openDelay",
|
|
6767
|
+
"type": "number",
|
|
6768
|
+
"default": "80",
|
|
6769
|
+
"description": "Flyout hover-open delay in milliseconds."
|
|
6770
|
+
},
|
|
6771
|
+
{
|
|
6772
|
+
"name": "closeDelay",
|
|
6773
|
+
"type": "number",
|
|
6774
|
+
"default": "160",
|
|
6775
|
+
"description": "Flyout pointer and focus crossing grace in milliseconds."
|
|
6776
|
+
},
|
|
6777
|
+
{
|
|
6778
|
+
"name": "renderIcon",
|
|
6779
|
+
"type": "(item: AppNavItem, context: Record<string, any>) => Node|null",
|
|
6780
|
+
"default": null,
|
|
6781
|
+
"description": "Optional host icon renderer."
|
|
6782
|
+
}
|
|
6783
|
+
],
|
|
6784
|
+
"events": [
|
|
6785
|
+
{
|
|
6786
|
+
"name": "select",
|
|
6787
|
+
"payload": "AppNavSelectDetail",
|
|
6788
|
+
"description": "Preventable activation listener."
|
|
6789
|
+
},
|
|
6790
|
+
{
|
|
6791
|
+
"name": "flyoutchange",
|
|
6792
|
+
"payload": "{item: AppNavItem, id: string|number, open: boolean}",
|
|
6793
|
+
"description": "Flyout-state listener."
|
|
6794
|
+
},
|
|
6795
|
+
{
|
|
6796
|
+
"name": "overflowchange",
|
|
6797
|
+
"payload": "{visible: Array<string|number>, overflow: Array<string|number>}",
|
|
6798
|
+
"description": "Overflow listener."
|
|
6799
|
+
},
|
|
6800
|
+
{
|
|
6801
|
+
"name": "allmodules",
|
|
6802
|
+
"payload": "{open: boolean}",
|
|
6803
|
+
"description": "\"All modules\" catalogue open-state listener."
|
|
6804
|
+
}
|
|
6805
|
+
],
|
|
6806
|
+
"methods": [
|
|
6807
|
+
{
|
|
6808
|
+
"name": "setItems",
|
|
6809
|
+
"signature": "setItems(items)",
|
|
6810
|
+
"returns": "this",
|
|
6811
|
+
"description": "Replaces the modules and rebuilds the bar."
|
|
6812
|
+
},
|
|
6813
|
+
{
|
|
6814
|
+
"name": "getItems",
|
|
6815
|
+
"signature": "getItems()",
|
|
6816
|
+
"returns": "ModuleItem[]",
|
|
6817
|
+
"description": "Returns a copy of the normalized modules."
|
|
6818
|
+
},
|
|
6819
|
+
{
|
|
6820
|
+
"name": "setActive",
|
|
6821
|
+
"signature": "setActive(id)",
|
|
6822
|
+
"returns": "this",
|
|
6823
|
+
"description": "Marks the active destination — a module, or anything in a module's menu — without routing. The module holding it becomes current and stays on the bar."
|
|
6824
|
+
},
|
|
6825
|
+
{
|
|
6826
|
+
"name": "openFlyout",
|
|
6827
|
+
"signature": "openFlyout(id, [options])",
|
|
6828
|
+
"returns": "this",
|
|
6829
|
+
"description": "Opens a module's menu flyout."
|
|
6830
|
+
},
|
|
6831
|
+
{
|
|
6832
|
+
"name": "closeFlyout",
|
|
6833
|
+
"signature": "closeFlyout(id)",
|
|
6834
|
+
"returns": "this",
|
|
6835
|
+
"description": "Closes a module's menu flyout."
|
|
6836
|
+
},
|
|
6837
|
+
{
|
|
6838
|
+
"name": "closeAllFlyouts",
|
|
6839
|
+
"signature": "closeAllFlyouts()",
|
|
6840
|
+
"returns": "this",
|
|
6841
|
+
"description": "Closes every menu flyout."
|
|
6842
|
+
},
|
|
6843
|
+
{
|
|
6844
|
+
"name": "isFlyoutOpen",
|
|
6845
|
+
"signature": "isFlyoutOpen(id)",
|
|
6846
|
+
"returns": "boolean",
|
|
6847
|
+
"description": "Reports whether a module's menu flyout is open."
|
|
6848
|
+
},
|
|
6849
|
+
{
|
|
6850
|
+
"name": "setExpanded",
|
|
6851
|
+
"signature": "setExpanded(id)",
|
|
6852
|
+
"returns": "this",
|
|
6853
|
+
"description": "With `menus: 'none'`, names the module whose menu the adjacent panel now shows."
|
|
6854
|
+
},
|
|
6855
|
+
{
|
|
6856
|
+
"name": "setBadge",
|
|
6857
|
+
"signature": "setBadge(id, badge)",
|
|
6858
|
+
"returns": "this",
|
|
6859
|
+
"description": "Updates one badge in place — on the tile, in a flyout, and in the catalogue — without rebuilding the bar. `null` removes it."
|
|
6860
|
+
},
|
|
6861
|
+
{
|
|
6862
|
+
"name": "setLayout",
|
|
6863
|
+
"signature": "setLayout(layout)",
|
|
6864
|
+
"returns": "this",
|
|
6865
|
+
"description": "Changes flow or edge, keeping items, the active destination, and the expanded module."
|
|
6866
|
+
},
|
|
6867
|
+
{
|
|
6868
|
+
"name": "setLabels",
|
|
6869
|
+
"signature": "setLabels(labels)",
|
|
6870
|
+
"returns": "this",
|
|
6871
|
+
"description": "Changes whether module names are printed — the expanded and collapsed states of a vertical navigation column — keeping items, the active destination, and the expanded module."
|
|
6872
|
+
},
|
|
6873
|
+
{
|
|
6874
|
+
"name": "openAllModules",
|
|
6875
|
+
"signature": "openAllModules()",
|
|
6876
|
+
"returns": "this",
|
|
6877
|
+
"description": "Opens the \"All modules\" catalogue and focuses its filter or first entry."
|
|
6878
|
+
},
|
|
6879
|
+
{
|
|
6880
|
+
"name": "closeAllModules",
|
|
6881
|
+
"signature": "closeAllModules()",
|
|
6882
|
+
"returns": "this",
|
|
6883
|
+
"description": "Closes the \"All modules\" catalogue."
|
|
6884
|
+
},
|
|
6885
|
+
{
|
|
6886
|
+
"name": "isAllModulesOpen",
|
|
6887
|
+
"signature": "isAllModulesOpen()",
|
|
6888
|
+
"returns": "boolean",
|
|
6889
|
+
"description": "Reports whether the \"All modules\" catalogue is open."
|
|
6890
|
+
},
|
|
6891
|
+
{
|
|
6892
|
+
"name": "focus",
|
|
6893
|
+
"signature": "focus()",
|
|
6894
|
+
"returns": "this",
|
|
6895
|
+
"description": "Focuses the bar's Tab stop: the current module, else the first tile."
|
|
6896
|
+
},
|
|
6897
|
+
{
|
|
6898
|
+
"name": "destroy",
|
|
6899
|
+
"signature": "destroy()",
|
|
6900
|
+
"returns": "void",
|
|
6901
|
+
"description": "Destroys flyouts, tooltips, and the catalogue, and restores or removes the root."
|
|
6902
|
+
}
|
|
6903
|
+
]
|
|
6904
|
+
},
|
|
6525
6905
|
"MonthPicker": {
|
|
6526
6906
|
"options": [
|
|
6527
6907
|
{
|
|
@@ -7789,6 +8169,12 @@
|
|
|
7789
8169
|
"type": "Node[]",
|
|
7790
8170
|
"default": "[]",
|
|
7791
8171
|
"description": "Listener-free, owner-created controls such as a move handle."
|
|
8172
|
+
},
|
|
8173
|
+
{
|
|
8174
|
+
"name": "message",
|
|
8175
|
+
"type": "(key: string, ...args: unknown[]) => string",
|
|
8176
|
+
"default": null,
|
|
8177
|
+
"description": "Resolves the card's built-in strings (`recordCard.select`, `recordCard.actions`, `recordCard.untitled`, `recordCard.selected`, `recordCard.notSelected`). An owning component passes its own `msg()`; omitted, the host translator and then the default English catalogue answer."
|
|
7792
8178
|
}
|
|
7793
8179
|
],
|
|
7794
8180
|
"events": [],
|
|
@@ -7978,6 +8364,18 @@
|
|
|
7978
8364
|
"returns": "string[]",
|
|
7979
8365
|
"description": "Returns the complete field id order."
|
|
7980
8366
|
},
|
|
8367
|
+
{
|
|
8368
|
+
"name": "getFieldControls",
|
|
8369
|
+
"signature": "getFieldControls()",
|
|
8370
|
+
"returns": "HTMLElement|null",
|
|
8371
|
+
"description": "Returns the element that lets a reader show, hide, and reorder this view's fields: the shared field chooser, or — for a `TableView` with `fieldControls: true` — the column chooser of its composed `Table`. Null when the view renders none (`fieldControls: false`). The element stays owned by the view: move it with {@link RecordView#mountFieldControls} rather than appending it elsewhere yourself, so `destroy()` can still find and remove it."
|
|
8372
|
+
},
|
|
8373
|
+
{
|
|
8374
|
+
"name": "mountFieldControls",
|
|
8375
|
+
"signature": "mountFieldControls(target)",
|
|
8376
|
+
"returns": "HTMLElement|null",
|
|
8377
|
+
"description": "Moves the view's field chooser into a host element — a list toolbar, a pane header — or, with `null`, back to where the view first rendered it. It keeps driving this view wherever it sits, and `destroy()` removes it from the host. `ListToolbar.bind()` calls this for every record view, which is how its field chooser ends up in the bar."
|
|
8378
|
+
},
|
|
7981
8379
|
{
|
|
7982
8380
|
"name": "setFieldVisible",
|
|
7983
8381
|
"signature": "setFieldVisible(id, [visible], [options])",
|
|
@@ -8309,6 +8707,12 @@
|
|
|
8309
8707
|
}
|
|
8310
8708
|
],
|
|
8311
8709
|
"methods": [
|
|
8710
|
+
{
|
|
8711
|
+
"name": "get",
|
|
8712
|
+
"signature": "get()",
|
|
8713
|
+
"returns": "unknown",
|
|
8714
|
+
"description": "Returns the selected item ID, or null: the same as reading `value`, under the `get()`/`set()` pair the other value components share."
|
|
8715
|
+
},
|
|
8312
8716
|
{
|
|
8313
8717
|
"name": "set",
|
|
8314
8718
|
"signature": "set(idOrItem, [options])",
|
|
@@ -9822,6 +10226,24 @@
|
|
|
9822
10226
|
"type": "false|TableHierarchyOptions",
|
|
9823
10227
|
"default": "false",
|
|
9824
10228
|
"description": "Flat parent references projected as an expandable treegrid. Row data and mutation APIs remain flat."
|
|
10229
|
+
},
|
|
10230
|
+
{
|
|
10231
|
+
"name": "interactive",
|
|
10232
|
+
"type": "boolean",
|
|
10233
|
+
"default": "false",
|
|
10234
|
+
"description": "Makes the table an APG grid — row focus, Enter firing `rowclick` — even without selection, editing, or hierarchy, which already imply it. Attaching a `rowclick` or `rowdblclick` listener through `on()` or an `on…` option sets it too; pass it when the host listens for the bubbling `zx-rowclick` DOM event instead."
|
|
10235
|
+
},
|
|
10236
|
+
{
|
|
10237
|
+
"name": "label",
|
|
10238
|
+
"type": "string|null",
|
|
10239
|
+
"default": "null",
|
|
10240
|
+
"description": "Accessible name of the table. A grid must have one; null resolves the `table.label` message (English \"Table\") for a grid and leaves a plain table unnamed, so name it after what it lists."
|
|
10241
|
+
},
|
|
10242
|
+
{
|
|
10243
|
+
"name": "labelledBy",
|
|
10244
|
+
"type": "string|null",
|
|
10245
|
+
"default": "null",
|
|
10246
|
+
"description": "Id of an element that names the grid — the heading above it, say. Wins over `label`."
|
|
9825
10247
|
}
|
|
9826
10248
|
],
|
|
9827
10249
|
"events": [
|
|
@@ -10130,6 +10552,12 @@
|
|
|
10130
10552
|
"returns": "number",
|
|
10131
10553
|
"description": "How many rows are currently rendered."
|
|
10132
10554
|
},
|
|
10555
|
+
{
|
|
10556
|
+
"name": "addEventListener",
|
|
10557
|
+
"signature": "addEventListener(type, listener, [options])",
|
|
10558
|
+
"returns": "void",
|
|
10559
|
+
"description": "Registers a listener, and turns the table into a grid when the listener is for a row click: a host that reacts to the row needs the row reachable by keyboard."
|
|
10560
|
+
},
|
|
10133
10561
|
{
|
|
10134
10562
|
"name": "isStacked",
|
|
10135
10563
|
"signature": "isStacked()",
|
|
@@ -11420,5 +11848,354 @@
|
|
|
11420
11848
|
"description": "Disables editing, removal, and reordering."
|
|
11421
11849
|
}
|
|
11422
11850
|
]
|
|
11851
|
+
},
|
|
11852
|
+
"ViewSettings": {
|
|
11853
|
+
"options": [
|
|
11854
|
+
{
|
|
11855
|
+
"name": "fields",
|
|
11856
|
+
"type": "ViewSettingsField[]",
|
|
11857
|
+
"default": "[]",
|
|
11858
|
+
"description": "Field descriptors, in their default order. Bound to a view, a non-empty list is also the allow-list: the view's other fields are neither listed nor touched. An empty list takes every field the view has."
|
|
11859
|
+
},
|
|
11860
|
+
{
|
|
11861
|
+
"name": "fieldOrder",
|
|
11862
|
+
"type": "string[]",
|
|
11863
|
+
"default": "[]",
|
|
11864
|
+
"description": "Preferred field order; missing fields append."
|
|
11865
|
+
},
|
|
11866
|
+
{
|
|
11867
|
+
"name": "hiddenFields",
|
|
11868
|
+
"type": "string[]",
|
|
11869
|
+
"default": "[]",
|
|
11870
|
+
"description": "Hidden field ids. A field with `visible: false` starts hidden too; a locked field never does."
|
|
11871
|
+
},
|
|
11872
|
+
{
|
|
11873
|
+
"name": "groupBy",
|
|
11874
|
+
"type": "string|null",
|
|
11875
|
+
"default": "null",
|
|
11876
|
+
"description": "Initial grouping field."
|
|
11877
|
+
},
|
|
11878
|
+
{
|
|
11879
|
+
"name": "grouping",
|
|
11880
|
+
"type": "boolean|ViewSettingsGrouping",
|
|
11881
|
+
"default": "true",
|
|
11882
|
+
"description": "The Group section. `false` omits it; an object restricts the fields it offers."
|
|
11883
|
+
},
|
|
11884
|
+
{
|
|
11885
|
+
"name": "board",
|
|
11886
|
+
"type": "ViewSettingsBoardOptions|false",
|
|
11887
|
+
"default": "false",
|
|
11888
|
+
"description": "The Board section (column field, swim-lane field, show empty columns) with its initial values and, in `fields`, the fields it offers; `false` omits it."
|
|
11889
|
+
},
|
|
11890
|
+
{
|
|
11891
|
+
"name": "sections",
|
|
11892
|
+
"type": "ViewSettingsSection[]",
|
|
11893
|
+
"default": null,
|
|
11894
|
+
"description": "Order and presence of the sections. Defaults to `['fields', 'grouping', 'board']`; a section whose option is `false` is always left out."
|
|
11895
|
+
},
|
|
11896
|
+
{
|
|
11897
|
+
"name": "types",
|
|
11898
|
+
"type": "Record<string, {icon?: string, label?: string}>",
|
|
11899
|
+
"default": "{}",
|
|
11900
|
+
"description": "Extends or overrides the built-in type map, keyed by type name."
|
|
11901
|
+
},
|
|
11902
|
+
{
|
|
11903
|
+
"name": "searchThreshold",
|
|
11904
|
+
"type": "number",
|
|
11905
|
+
"default": "8",
|
|
11906
|
+
"description": "Field count above which the field search is shown."
|
|
11907
|
+
},
|
|
11908
|
+
{
|
|
11909
|
+
"name": "headingLevel",
|
|
11910
|
+
"type": "2|3|4|5|6",
|
|
11911
|
+
"default": "3",
|
|
11912
|
+
"description": "Heading level of the section headings."
|
|
11913
|
+
},
|
|
11914
|
+
{
|
|
11915
|
+
"name": "label",
|
|
11916
|
+
"type": "string|null",
|
|
11917
|
+
"default": "null",
|
|
11918
|
+
"description": "Accessible name of the region; omitted uses the `viewSettings.label` message (\"View settings\")."
|
|
11919
|
+
},
|
|
11920
|
+
{
|
|
11921
|
+
"name": "msg",
|
|
11922
|
+
"type": "Record<string, string>|Record<string, Record<string, string>>",
|
|
11923
|
+
"default": null,
|
|
11924
|
+
"description": "Localized messages."
|
|
11925
|
+
}
|
|
11926
|
+
],
|
|
11927
|
+
"events": [
|
|
11928
|
+
{
|
|
11929
|
+
"name": "change",
|
|
11930
|
+
"payload": "{state: ViewSettingsState, reason: ViewSettingsChangeReason}",
|
|
11931
|
+
"description": "Any change the reader made."
|
|
11932
|
+
},
|
|
11933
|
+
{
|
|
11934
|
+
"name": "fieldorderchange",
|
|
11935
|
+
"payload": "{order: string[]}",
|
|
11936
|
+
"description": "Field order changed."
|
|
11937
|
+
},
|
|
11938
|
+
{
|
|
11939
|
+
"name": "fieldvisibilitychange",
|
|
11940
|
+
"payload": "{visible: string[], hidden: string[]}",
|
|
11941
|
+
"description": "A field was added or hidden."
|
|
11942
|
+
},
|
|
11943
|
+
{
|
|
11944
|
+
"name": "groupchange",
|
|
11945
|
+
"payload": "{field: string|null}",
|
|
11946
|
+
"description": "Grouping field changed."
|
|
11947
|
+
},
|
|
11948
|
+
{
|
|
11949
|
+
"name": "boardchange",
|
|
11950
|
+
"payload": "{board: ViewSettingsBoard}",
|
|
11951
|
+
"description": "Board settings changed."
|
|
11952
|
+
}
|
|
11953
|
+
],
|
|
11954
|
+
"methods": [
|
|
11955
|
+
{
|
|
11956
|
+
"name": "getState",
|
|
11957
|
+
"signature": "getState()",
|
|
11958
|
+
"returns": "ViewSettingsState",
|
|
11959
|
+
"description": "Returns the current settings as a JSON-safe snapshot."
|
|
11960
|
+
},
|
|
11961
|
+
{
|
|
11962
|
+
"name": "setState",
|
|
11963
|
+
"signature": "setState(partial, [options])",
|
|
11964
|
+
"returns": "this",
|
|
11965
|
+
"description": "Applies part of a state. Unknown field ids are ignored, missing ones append, and a locked field stays shown. Each part that actually changes emits its own event unless `silent`. A keyboard pick-up or pointer drag in progress is canceled first."
|
|
11966
|
+
},
|
|
11967
|
+
{
|
|
11968
|
+
"name": "setFields",
|
|
11969
|
+
"signature": "setFields(fields)",
|
|
11970
|
+
"returns": "this",
|
|
11971
|
+
"description": "Replaces the field descriptors, keeping order, visibility, grouping, and board settings for every id that still exists. While a view is bound, the view owns the field list: change it with the view's own `setFields()` and the panel follows through `statechange`. A `setFields()` here is not pushed to the view and lasts only until the view's next change."
|
|
11972
|
+
},
|
|
11973
|
+
{
|
|
11974
|
+
"name": "getFields",
|
|
11975
|
+
"signature": "getFields()",
|
|
11976
|
+
"returns": "ViewSettingsField[]",
|
|
11977
|
+
"description": "Returns the field descriptors in their current order."
|
|
11978
|
+
},
|
|
11979
|
+
{
|
|
11980
|
+
"name": "showField",
|
|
11981
|
+
"signature": "showField(id)",
|
|
11982
|
+
"returns": "this",
|
|
11983
|
+
"description": "Shows a hidden field at the end of the shown list."
|
|
11984
|
+
},
|
|
11985
|
+
{
|
|
11986
|
+
"name": "hideField",
|
|
11987
|
+
"signature": "hideField(id)",
|
|
11988
|
+
"returns": "this",
|
|
11989
|
+
"description": "Hides a shown field. A locked field and the last shown field cannot be hidden."
|
|
11990
|
+
},
|
|
11991
|
+
{
|
|
11992
|
+
"name": "moveField",
|
|
11993
|
+
"signature": "moveField(id, index)",
|
|
11994
|
+
"returns": "this",
|
|
11995
|
+
"description": "Moves a shown field to a position among the movable shown fields (locked ones keep theirs)."
|
|
11996
|
+
},
|
|
11997
|
+
{
|
|
11998
|
+
"name": "bind",
|
|
11999
|
+
"signature": "bind(view, [options])",
|
|
12000
|
+
"returns": "this",
|
|
12001
|
+
"description": "Connects a record view (`TableView`, `CardView`, `KanbanView`, or anything exposing the `RecordView` state surface). The view's fields and state are read now; order and visibility changes made here are pushed through `setFieldOrder()` and `setFieldVisible()`; and the view's own `statechange` is followed, so a column hidden from a table header disappears here too. The view's labels and types win over the panel's own descriptors, which supply only what the view lacks (`locked`, `groupable`, a type the view leaves at its `'text'` default). While bound, the view owns the field list; see `setFields()`. Grouping and board settings are never applied to the view — they are emitted, and the host decides (a `CardView` is re-created or given a new `groupBy`, a `KanbanView` its axes). A view's own `groupBy`, `columnBy`, and `swimlaneBy` options are adopted when they name fields."
|
|
12002
|
+
},
|
|
12003
|
+
{
|
|
12004
|
+
"name": "unbind",
|
|
12005
|
+
"signature": "unbind()",
|
|
12006
|
+
"returns": "this",
|
|
12007
|
+
"description": "Releases a bound view. The settings keep their current state."
|
|
12008
|
+
},
|
|
12009
|
+
{
|
|
12010
|
+
"name": "focus",
|
|
12011
|
+
"signature": "focus()",
|
|
12012
|
+
"returns": "this",
|
|
12013
|
+
"description": "Focuses the field search, or the first control of the shown list when there is no search."
|
|
12014
|
+
},
|
|
12015
|
+
{
|
|
12016
|
+
"name": "destroy",
|
|
12017
|
+
"signature": "destroy()",
|
|
12018
|
+
"returns": "void",
|
|
12019
|
+
"description": "Destroys the nested controls, releases a bound view, and restores an enhanced target."
|
|
12020
|
+
}
|
|
12021
|
+
]
|
|
12022
|
+
},
|
|
12023
|
+
"ViewSettingsBoard": {
|
|
12024
|
+
"options": [
|
|
12025
|
+
{
|
|
12026
|
+
"name": "columnBy",
|
|
12027
|
+
"type": "string|null",
|
|
12028
|
+
"default": "null",
|
|
12029
|
+
"description": "Initial column field."
|
|
12030
|
+
},
|
|
12031
|
+
{
|
|
12032
|
+
"name": "swimlaneBy",
|
|
12033
|
+
"type": "string|null",
|
|
12034
|
+
"default": "null",
|
|
12035
|
+
"description": "Initial swim-lane field, or null for none."
|
|
12036
|
+
},
|
|
12037
|
+
{
|
|
12038
|
+
"name": "showEmptyColumns",
|
|
12039
|
+
"type": "boolean",
|
|
12040
|
+
"default": "true",
|
|
12041
|
+
"description": "Whether columns without cards stay visible."
|
|
12042
|
+
},
|
|
12043
|
+
{
|
|
12044
|
+
"name": "fields",
|
|
12045
|
+
"type": "string[]",
|
|
12046
|
+
"default": null,
|
|
12047
|
+
"description": "The field ids offered for columns and swim lanes, in this order. Omitted offers the same fields as the Group section."
|
|
12048
|
+
}
|
|
12049
|
+
],
|
|
12050
|
+
"events": [],
|
|
12051
|
+
"methods": []
|
|
12052
|
+
},
|
|
12053
|
+
"WorkspaceSwitcher": {
|
|
12054
|
+
"options": [
|
|
12055
|
+
{
|
|
12056
|
+
"name": "workspaces",
|
|
12057
|
+
"type": "WorkspaceItem[]",
|
|
12058
|
+
"default": "[]",
|
|
12059
|
+
"description": "Workspaces in menu order. Entries without an id are skipped, and a repeated id keeps its first entry."
|
|
12060
|
+
},
|
|
12061
|
+
{
|
|
12062
|
+
"name": "active",
|
|
12063
|
+
"type": "string|number|null",
|
|
12064
|
+
"default": "null",
|
|
12065
|
+
"description": "Active workspace id. Defaults to the first enabled workspace, which also stands in for an id that is not listed or is disabled."
|
|
12066
|
+
},
|
|
12067
|
+
{
|
|
12068
|
+
"name": "items",
|
|
12069
|
+
"type": "MenuButtonItem[]",
|
|
12070
|
+
"default": "[]",
|
|
12071
|
+
"description": "Extra actions listed after the workspaces — \"Create workspace\", \"Workspace settings\", `'-'` separators, \"Sign out\". A separator is inserted between the workspaces and the actions automatically."
|
|
12072
|
+
},
|
|
12073
|
+
{
|
|
12074
|
+
"name": "compact",
|
|
12075
|
+
"type": "boolean",
|
|
12076
|
+
"default": "false",
|
|
12077
|
+
"description": "Whether the trigger shows the tile alone."
|
|
12078
|
+
},
|
|
12079
|
+
{
|
|
12080
|
+
"name": "heading",
|
|
12081
|
+
"type": "string|null",
|
|
12082
|
+
"default": "null",
|
|
12083
|
+
"description": "Group label above the workspaces; null resolves message `workspaceSwitcher.heading` (\"Workspaces\"), and an empty string leaves the label out."
|
|
12084
|
+
},
|
|
12085
|
+
{
|
|
12086
|
+
"name": "label",
|
|
12087
|
+
"type": "string|null",
|
|
12088
|
+
"default": "null",
|
|
12089
|
+
"description": "Trigger accessible name, in which `%1` is the active workspace's name and is filled in again after every switch. Null resolves message `workspaceSwitcher.label` (\"Switch workspace: %1\"), or `workspaceSwitcher.labelEmpty` (\"Switch workspace\") while no workspace is active."
|
|
12090
|
+
},
|
|
12091
|
+
{
|
|
12092
|
+
"name": "placement",
|
|
12093
|
+
"type": "'bottom-start'|'bottom-end'|'top-start'|'top-end'|'bottom'|'top'|'right-start'|'right-end'|'left-start'|'left-end'|'right'|'left'",
|
|
12094
|
+
"default": "'bottom-start'",
|
|
12095
|
+
"description": "Popup placement."
|
|
12096
|
+
},
|
|
12097
|
+
{
|
|
12098
|
+
"name": "msg",
|
|
12099
|
+
"type": "Record<string, unknown>",
|
|
12100
|
+
"default": null,
|
|
12101
|
+
"description": "Component-local message overrides, by key: `workspaceSwitcher.heading` (\"Workspaces\"), `workspaceSwitcher.label` (\"Switch workspace: %1\", `%1` the active workspace's name), and `workspaceSwitcher.labelEmpty` (\"Switch workspace\", the trigger's name while no workspace is active)."
|
|
12102
|
+
}
|
|
12103
|
+
],
|
|
12104
|
+
"events": [
|
|
12105
|
+
{
|
|
12106
|
+
"name": "select",
|
|
12107
|
+
"payload": "{workspace, id, previous}",
|
|
12108
|
+
"description": "Preventable workspace switch; `preventDefault()` keeps the previous workspace active and the menu open."
|
|
12109
|
+
},
|
|
12110
|
+
{
|
|
12111
|
+
"name": "action",
|
|
12112
|
+
"payload": "{value: unknown, item: object}",
|
|
12113
|
+
"description": "Preventable extra action; `preventDefault()` skips the item's own callback and keeps the menu open."
|
|
12114
|
+
},
|
|
12115
|
+
{
|
|
12116
|
+
"name": "open",
|
|
12117
|
+
"payload": "Record<string, never>",
|
|
12118
|
+
"description": "Open listener."
|
|
12119
|
+
},
|
|
12120
|
+
{
|
|
12121
|
+
"name": "close",
|
|
12122
|
+
"payload": "Record<string, never>",
|
|
12123
|
+
"description": "Close listener."
|
|
12124
|
+
}
|
|
12125
|
+
],
|
|
12126
|
+
"methods": [
|
|
12127
|
+
{
|
|
12128
|
+
"name": "getActive",
|
|
12129
|
+
"signature": "getActive()",
|
|
12130
|
+
"returns": "WorkspaceItem|null",
|
|
12131
|
+
"description": "Returns the active workspace, or null when no workspace is enabled."
|
|
12132
|
+
},
|
|
12133
|
+
{
|
|
12134
|
+
"name": "setActive",
|
|
12135
|
+
"signature": "setActive(id, [options])",
|
|
12136
|
+
"returns": "this",
|
|
12137
|
+
"description": "Makes another workspace active. An unknown or disabled id changes nothing."
|
|
12138
|
+
},
|
|
12139
|
+
{
|
|
12140
|
+
"name": "setWorkspaces",
|
|
12141
|
+
"signature": "setWorkspaces(workspaces)",
|
|
12142
|
+
"returns": "this",
|
|
12143
|
+
"description": "Replaces the workspaces. The active workspace stays active while it is still listed and enabled; otherwise the first enabled workspace becomes active, silently."
|
|
12144
|
+
},
|
|
12145
|
+
{
|
|
12146
|
+
"name": "setItems",
|
|
12147
|
+
"signature": "setItems(items)",
|
|
12148
|
+
"returns": "this",
|
|
12149
|
+
"description": "Replaces the extra actions after the workspaces."
|
|
12150
|
+
},
|
|
12151
|
+
{
|
|
12152
|
+
"name": "setCompact",
|
|
12153
|
+
"signature": "setCompact(compact)",
|
|
12154
|
+
"returns": "this",
|
|
12155
|
+
"description": "Shows the tile alone, or the tile with the name, secondary line, and chevron — for a navigation column that narrows to icons and widens again. The trigger keeps its full accessible name and gains the workspace name as a tooltip while compact."
|
|
12156
|
+
},
|
|
12157
|
+
{
|
|
12158
|
+
"name": "open",
|
|
12159
|
+
"signature": "open()",
|
|
12160
|
+
"returns": "this",
|
|
12161
|
+
"description": "Opens the menu."
|
|
12162
|
+
},
|
|
12163
|
+
{
|
|
12164
|
+
"name": "close",
|
|
12165
|
+
"signature": "close()",
|
|
12166
|
+
"returns": "this",
|
|
12167
|
+
"description": "Closes the menu."
|
|
12168
|
+
},
|
|
12169
|
+
{
|
|
12170
|
+
"name": "toggle",
|
|
12171
|
+
"signature": "toggle()",
|
|
12172
|
+
"returns": "this",
|
|
12173
|
+
"description": "Toggles the menu."
|
|
12174
|
+
},
|
|
12175
|
+
{
|
|
12176
|
+
"name": "isOpen",
|
|
12177
|
+
"signature": "isOpen()",
|
|
12178
|
+
"returns": "boolean",
|
|
12179
|
+
"description": "Reports whether the menu is open."
|
|
12180
|
+
},
|
|
12181
|
+
{
|
|
12182
|
+
"name": "focus",
|
|
12183
|
+
"signature": "focus()",
|
|
12184
|
+
"returns": "this",
|
|
12185
|
+
"description": "Focuses the trigger."
|
|
12186
|
+
},
|
|
12187
|
+
{
|
|
12188
|
+
"name": "getPanel",
|
|
12189
|
+
"signature": "getPanel()",
|
|
12190
|
+
"returns": "HTMLElement",
|
|
12191
|
+
"description": "Returns the menu panel for shell hover and focus coordination."
|
|
12192
|
+
},
|
|
12193
|
+
{
|
|
12194
|
+
"name": "destroy",
|
|
12195
|
+
"signature": "destroy()",
|
|
12196
|
+
"returns": "void",
|
|
12197
|
+
"description": "Destroys the menu and restores or removes the host."
|
|
12198
|
+
}
|
|
12199
|
+
]
|
|
11423
12200
|
}
|
|
11424
12201
|
}
|