ng-form-foundry 0.6.0 → 0.7.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/fesm2022/ng-form-foundry.mjs +103 -15
- package/fesm2022/ng-form-foundry.mjs.map +1 -1
- package/index.d.ts +54 -2
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { FormControl, FormArray, FormGroup, ControlValueAccessor, Validator, Abs
|
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
3
|
import { OnInit, OnDestroy, AfterViewInit, ElementRef, EventEmitter, OnChanges, QueryList, ChangeDetectorRef, SimpleChanges } from '@angular/core';
|
|
4
4
|
import { MatDialog } from '@angular/material/dialog';
|
|
5
|
+
import * as i1 from '@angular/material/tooltip';
|
|
5
6
|
|
|
6
7
|
type LeafRuntimeType<T> = T extends 'string' ? string : T extends 'number' ? number : T extends 'boolean' ? boolean : T extends 'enum' ? string | number : never;
|
|
7
8
|
type LeafBase = {
|
|
@@ -744,6 +745,16 @@ declare class ConfigEditorComponent implements OnDestroy {
|
|
|
744
745
|
* always expanded — the selected row itself must stay visible.
|
|
745
746
|
*/
|
|
746
747
|
readonly expandOnClick: _angular_core.InputSignal<boolean>;
|
|
748
|
+
/**
|
|
749
|
+
* Whether the tree starts **fully expanded** when it (re)binds to a
|
|
750
|
+
* schema/form pair — every node with children unfolded, as if the user had
|
|
751
|
+
* hit expand-all. Off by default (only the root row is open). Read at bind
|
|
752
|
+
* time, so it sets the *initial* state: the user's later collapses/expands
|
|
753
|
+
* and the root row's expand-all toggle take over from there, and a
|
|
754
|
+
* structural rebuild preserves whatever is currently expanded rather than
|
|
755
|
+
* re-expanding.
|
|
756
|
+
*/
|
|
757
|
+
readonly initiallyExpanded: _angular_core.InputSignal<boolean>;
|
|
747
758
|
/**
|
|
748
759
|
* Whether the detail pane shows its top breadcrumb (the selected node's
|
|
749
760
|
* path, with the member remove control beside it). Hosts whose tree
|
|
@@ -918,6 +929,12 @@ declare class ConfigEditorComponent implements OnDestroy {
|
|
|
918
929
|
* collapse keeps the root open — a tree reduced to one row reads as empty.
|
|
919
930
|
*/
|
|
920
931
|
protected toggleExpandAll(): void;
|
|
932
|
+
/**
|
|
933
|
+
* Mark every expandable node in the current tree as expanded (the root
|
|
934
|
+
* included). Shared by the expand-all toggle and the `initiallyExpanded`
|
|
935
|
+
* bind-time seed.
|
|
936
|
+
*/
|
|
937
|
+
private expandAll;
|
|
921
938
|
/** The selected member's container (list / map), for the breadcrumb's remove control. */
|
|
922
939
|
protected selectedMemberParent(): TreeNode | null;
|
|
923
940
|
/** The section node's container (list / map), for member controls in its heading. */
|
|
@@ -959,7 +976,7 @@ declare class ConfigEditorComponent implements OnDestroy {
|
|
|
959
976
|
*/
|
|
960
977
|
private escapeSeg;
|
|
961
978
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfigEditorComponent, never>;
|
|
962
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConfigEditorComponent, "nff-config-editor", never, { "schema": { "alias": "schema"; "required": true; "isSignal": true; }; "formGroup": { "alias": "formGroup"; "required": true; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "rootTitle": { "alias": "rootTitle"; "required": false; "isSignal": true; }; "expandOnClick": { "alias": "expandOnClick"; "required": false; "isSignal": true; }; "showBreadcrumb": { "alias": "showBreadcrumb"; "required": false; "isSignal": true; }; }, { "editable": "editableChange"; }, never, never, true, never>;
|
|
979
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConfigEditorComponent, "nff-config-editor", never, { "schema": { "alias": "schema"; "required": true; "isSignal": true; }; "formGroup": { "alias": "formGroup"; "required": true; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "rootTitle": { "alias": "rootTitle"; "required": false; "isSignal": true; }; "expandOnClick": { "alias": "expandOnClick"; "required": false; "isSignal": true; }; "initiallyExpanded": { "alias": "initiallyExpanded"; "required": false; "isSignal": true; }; "showBreadcrumb": { "alias": "showBreadcrumb"; "required": false; "isSignal": true; }; }, { "editable": "editableChange"; }, never, never, true, never>;
|
|
963
980
|
}
|
|
964
981
|
|
|
965
982
|
declare class LeafRendererComponent implements AfterViewInit {
|
|
@@ -1106,6 +1123,41 @@ declare class RadixInputDirective implements ControlValueAccessor, Validator, On
|
|
|
1106
1123
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RadixInputDirective, "input[nffRadixInput]", never, { "radix": { "alias": "nffRadixInput"; "required": true; }; "valueType": { "alias": "nffRadixValueType"; "required": false; }; }, {}, never, never, true, never>;
|
|
1107
1124
|
}
|
|
1108
1125
|
|
|
1126
|
+
/**
|
|
1127
|
+
* Reveals the full text in a Material tooltip only while the labelled element
|
|
1128
|
+
* is actually clipped by its ellipsis — a truncated "Add <field>" button reads
|
|
1129
|
+
* in full on hover or keyboard focus, while a label that fits stays quiet.
|
|
1130
|
+
* Pair with CSS that clips the measured element (`overflow: hidden;
|
|
1131
|
+
* text-overflow: ellipsis; white-space: nowrap`).
|
|
1132
|
+
*
|
|
1133
|
+
* Hosts {@link MatTooltip} and drives its `message` / `disabled` itself. The
|
|
1134
|
+
* clip state is tracked with a `ResizeObserver` and kept current as the
|
|
1135
|
+
* element's box changes, so it is already correct when the pointer arrives —
|
|
1136
|
+
* there is no show-time race with the tooltip's own pointer listeners.
|
|
1137
|
+
*/
|
|
1138
|
+
declare class OverflowTooltipDirective implements AfterViewInit, OnDestroy {
|
|
1139
|
+
/** The full text to reveal when the measured element is clipped. */
|
|
1140
|
+
readonly text: _angular_core.InputSignal<string>;
|
|
1141
|
+
/**
|
|
1142
|
+
* Selector of the clipped element to measure, queried within the host; the
|
|
1143
|
+
* host element itself when unset. For a Material button point it at
|
|
1144
|
+
* `.mdc-button__label`, the wrapper that holds the text.
|
|
1145
|
+
*/
|
|
1146
|
+
readonly forSelector: _angular_core.InputSignal<string | null>;
|
|
1147
|
+
private readonly tooltip;
|
|
1148
|
+
private readonly host;
|
|
1149
|
+
private observer?;
|
|
1150
|
+
constructor();
|
|
1151
|
+
ngAfterViewInit(): void;
|
|
1152
|
+
ngOnDestroy(): void;
|
|
1153
|
+
/** The element whose overflow decides the tooltip: the `forSelector` match, or the host. */
|
|
1154
|
+
private measured;
|
|
1155
|
+
/** Enable the tooltip only while the measured element's content overflows its box. */
|
|
1156
|
+
private sync;
|
|
1157
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverflowTooltipDirective, never>;
|
|
1158
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverflowTooltipDirective, "[nffOverflowTooltip]", never, { "text": { "alias": "nffOverflowTooltip"; "required": true; "isSignal": true; }; "forSelector": { "alias": "nffOverflowTooltipFor"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.MatTooltip; inputs: {}; outputs: {}; }]>;
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1109
1161
|
declare class NodeGroupListRendererComponent implements OnInit, AfterViewInit {
|
|
1110
1162
|
nodeGroupList: NodeGroupList;
|
|
1111
1163
|
initialValue: number[] | string[] | boolean[];
|
|
@@ -1192,5 +1244,5 @@ declare class NodeMapRendererComponent implements OnChanges {
|
|
|
1192
1244
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NodeMapRendererComponent, "nff-node-map-renderer", never, { "nodeMap": { "alias": "nodeMap"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; "showAbsentOptionals": { "alias": "showAbsentOptionals"; "required": false; }; "inheritedAppearance": { "alias": "inheritedAppearance"; "required": false; }; }, {}, never, never, true, never>;
|
|
1193
1245
|
}
|
|
1194
1246
|
|
|
1195
|
-
export { CASE_KEY, ConfigEditorComponent, DynamicRecursiveFormComponent, LeafEnumRendererComponent, LeafListRendererComponent, LeafRendererComponent, NodeGroupListRendererComponent, NodeMapRendererComponent, RadixInputDirective, addMapEntry, buildControl, buildFormFromSchema, caseDisplayLabels, caseFields, defineSchema, formatRadix, removeMapEntry, renameMapEntry, resolveChoiceCase, serializeForm, setNodePresence, switchChoiceCase, toWireValue };
|
|
1247
|
+
export { CASE_KEY, ConfigEditorComponent, DynamicRecursiveFormComponent, LeafEnumRendererComponent, LeafListRendererComponent, LeafRendererComponent, NodeGroupListRendererComponent, NodeMapRendererComponent, OverflowTooltipDirective, RadixInputDirective, addMapEntry, buildControl, buildFormFromSchema, caseDisplayLabels, caseFields, defineSchema, formatRadix, removeMapEntry, renameMapEntry, resolveChoiceCase, serializeForm, setNodePresence, switchChoiceCase, toWireValue };
|
|
1196
1248
|
export type { AnonLeaf, Appearance, ChoiceCase, DFormControl, DFormGroup, FormGroupType, Leaf, LeafBase, LeafBoolean, LeafEnum, LeafList, LeafNumber, LeafRuntimeType, LeafString, NodeChoice, NodeGroup, NodeGroupList, NodeMap, NodeType, Radix };
|
package/package.json
CHANGED