@qoretechnologies/ts-toolkit 0.5.82-pr.121.gd9bc004 → 0.5.82
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/dist/types/forms.d.ts +143 -2
- package/dist/types/forms.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/types/forms.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IReqoreCollectionItemProps } from '@qoretechnologies/reqore/dist/components/Collection/item';
|
|
2
|
-
import { IReqorePanelProps } from '@qoretechnologies/reqore/dist/components/Panel';
|
|
2
|
+
import { IReqorePanelAction, IReqorePanelProps } from '@qoretechnologies/reqore/dist/components/Panel';
|
|
3
3
|
import { TReqoreIntent } from '@qoretechnologies/reqore/dist/constants/theme';
|
|
4
4
|
import { IReqoreAutoFocusRules } from '@qoretechnologies/reqore/dist/hooks/useAutoFocus';
|
|
5
5
|
import { IReqoreIconName } from '@qoretechnologies/reqore/dist/types/icons';
|
|
@@ -17,11 +17,96 @@ export type TQorusForm = {
|
|
|
17
17
|
[optionName: string]: IQorusFormField | undefined;
|
|
18
18
|
} | undefined;
|
|
19
19
|
export type TQorusFlatForm = Record<string, any>;
|
|
20
|
+
/**
|
|
21
|
+
* The `depends_on` grammar, reused wherever something has to be said only in
|
|
22
|
+
* certain states of the SAME form.
|
|
23
|
+
*
|
|
24
|
+
* A bare `name` means the sibling has a value; `!name` means it has none;
|
|
25
|
+
* `name=value` and `name!=value` compare the answer. Top-level entries are an
|
|
26
|
+
* AND, and a nested array is an OR of its own entries.
|
|
27
|
+
*
|
|
28
|
+
* Both halves of a condition are evaluated against the values of one form. A
|
|
29
|
+
* predicate cannot reach into a nested `arg_schema` sub-form or out to its
|
|
30
|
+
* parent: those are separate value scopes, and a condition that silently never
|
|
31
|
+
* fires would be worse than no condition at all.
|
|
32
|
+
*/
|
|
33
|
+
export type TQorusDependencyList = (string | string[])[];
|
|
20
34
|
export interface IQorusFormFieldMessage {
|
|
21
35
|
title?: string;
|
|
22
36
|
content: string;
|
|
23
37
|
intent?: TReqoreIntent;
|
|
38
|
+
/**
|
|
39
|
+
* Show the message only while EVERY entry holds — {@link
|
|
40
|
+
* TQorusDependencyList}.
|
|
41
|
+
*
|
|
42
|
+
* A message declared on a descriptor is otherwise static: it is served with
|
|
43
|
+
* the schema and says the same thing whatever the user has typed. That is
|
|
44
|
+
* right for a note and wrong for a warning about a COMBINATION, because an
|
|
45
|
+
* always-on warning sitting over a valid configuration is one people learn to
|
|
46
|
+
* scroll past — so it is not there when it finally means something.
|
|
47
|
+
*
|
|
48
|
+
* Sent by the Qorus server as `FieldUiMessageInfo::when`.
|
|
49
|
+
*/
|
|
50
|
+
when?: TQorusDependencyList;
|
|
51
|
+
/** Hide the message while every entry holds — the negative form of `when`. */
|
|
52
|
+
unless?: TQorusDependencyList;
|
|
24
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* One affordance offered beside a value, as a DESCRIPTOR rather than a node.
|
|
56
|
+
*
|
|
57
|
+
* Allowed values routinely travel through a `JSON.stringify(items)` memo key in
|
|
58
|
+
* the form engines, and a rendered React element is circular through its fibre
|
|
59
|
+
* — putting one on a value throws and takes the whole form down with it. So a
|
|
60
|
+
* descriptor NAMES the component and hands it props; `as` is a function or a
|
|
61
|
+
* memo object, which `JSON.stringify` simply omits.
|
|
62
|
+
*/
|
|
63
|
+
export interface IQorusUiComponentDescriptor {
|
|
64
|
+
/**
|
|
65
|
+
* The component to render. The renderer decides the default.
|
|
66
|
+
*
|
|
67
|
+
* Typed through the component library rather than through `react` directly:
|
|
68
|
+
* `react` is not a dependency of this package, and a published declaration
|
|
69
|
+
* may only import what a consumer installs with it.
|
|
70
|
+
*/
|
|
71
|
+
as?: IReqorePanelAction['as'];
|
|
72
|
+
/** Props handed to it. Keep them JSON-serialisable. */
|
|
73
|
+
props?: Record<string, unknown>;
|
|
74
|
+
}
|
|
75
|
+
/** Where a popover opens, as the placements every renderer accepts. */
|
|
76
|
+
export type TQorusUiPlacement = 'auto' | 'auto-start' | 'auto-end' | 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end';
|
|
77
|
+
/**
|
|
78
|
+
* A tooltip opened from a value's own row: a bare string, or options whose
|
|
79
|
+
* content is a {@link IQorusUiComponentDescriptor} under the same
|
|
80
|
+
* no-React-elements rule.
|
|
81
|
+
*
|
|
82
|
+
* Only the options every renderer honours are named. It is deliberately NOT
|
|
83
|
+
* typed as the component library's own tooltip interface: this package is a
|
|
84
|
+
* dependency of the renderers, and importing their types here made every
|
|
85
|
+
* consumer install a second, older copy of them.
|
|
86
|
+
*/
|
|
87
|
+
export type TQorusUiTooltip = string | {
|
|
88
|
+
content?: string | IQorusUiComponentDescriptor;
|
|
89
|
+
/**
|
|
90
|
+
* What opens it. A hover popover is read-only; a click one is
|
|
91
|
+
* interactive. `focus` opens it from the keyboard, which is the only
|
|
92
|
+
* handler a reader who never uses a pointer can reach.
|
|
93
|
+
*
|
|
94
|
+
* All four the renderers honour, so all four are named here: a value's
|
|
95
|
+
* tooltip is widened by reqraft to its component library's own tooltip
|
|
96
|
+
* options, and a union narrower than that one cannot be re-declared on a
|
|
97
|
+
* type extending this one.
|
|
98
|
+
*/
|
|
99
|
+
handler?: 'hover' | 'click' | 'focus' | 'hoverStay';
|
|
100
|
+
/** Milliseconds a hover must rest before it opens. */
|
|
101
|
+
delay?: number;
|
|
102
|
+
placement?: TQorusUiPlacement;
|
|
103
|
+
title?: string;
|
|
104
|
+
maxWidth?: string;
|
|
105
|
+
maxHeight?: string;
|
|
106
|
+
noArrow?: boolean;
|
|
107
|
+
intent?: TReqoreIntent;
|
|
108
|
+
icon?: IReqoreIconName;
|
|
109
|
+
};
|
|
25
110
|
export interface IQorusAllowedValue<IMetadata extends Record<string, any> = Record<string, any>> {
|
|
26
111
|
display_name: string;
|
|
27
112
|
short_desc?: string;
|
|
@@ -34,11 +119,58 @@ export interface IQorusAllowedValue<IMetadata extends Record<string, any> = Reco
|
|
|
34
119
|
};
|
|
35
120
|
ui_type?: TQorusType;
|
|
36
121
|
type?: TQorusType;
|
|
122
|
+
/**
|
|
123
|
+
* The value is offered but cannot be picked, and the reason is in
|
|
124
|
+
* {@link messages}.
|
|
125
|
+
*
|
|
126
|
+
* Set by whoever already KNOWS — the server, for a sandbox or permission
|
|
127
|
+
* context, a capability of the selected kind, or a requirement in another
|
|
128
|
+
* scope that {@link depends_on} deliberately cannot reach. A renderer must
|
|
129
|
+
* disable and say why rather than hide the value: a value that vanishes takes
|
|
130
|
+
* its own explanation with it, and the reader is left looking for something
|
|
131
|
+
* they were told exists.
|
|
132
|
+
*/
|
|
37
133
|
disabled?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* The value is offered only while EVERY entry holds — {@link
|
|
136
|
+
* TQorusDependencyList}, the same grammar and the same evaluator a FIELD's
|
|
137
|
+
* `depends_on` uses, one level down.
|
|
138
|
+
*
|
|
139
|
+
* For what the form itself can decide. Where the answer depends on something
|
|
140
|
+
* only the server knows, it sends {@link disabled} with a message instead;
|
|
141
|
+
* the two render identically, so a reader never has to know which decided.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```ts
|
|
145
|
+
* // A scheme's cookie-only mode, offered once a cookie name is set:
|
|
146
|
+
* { display_name: 'Cookie', value: { type: 'string', value: 'cookie' },
|
|
147
|
+
* depends_on: ['cookie_name'] }
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
depends_on?: TQorusDependencyList;
|
|
38
151
|
intent?: TReqoreIntent;
|
|
39
152
|
badge?: IReqorePanelProps['badge'];
|
|
40
153
|
messages?: IQorusFormFieldMessage[];
|
|
154
|
+
/**
|
|
155
|
+
* Affordances rendered in the value's BODY, under its description — each one
|
|
156
|
+
* costs a line of its own.
|
|
157
|
+
*/
|
|
41
158
|
actions?: IReqorePanelProps['actions'];
|
|
159
|
+
/**
|
|
160
|
+
* Affordances rendered in the value's TITLE BAR, inline with its name, where
|
|
161
|
+
* a row already reserves the height.
|
|
162
|
+
*
|
|
163
|
+
* Separate from {@link actions} rather than a relocation of it: body actions
|
|
164
|
+
* have been rendered under the description for as long as there have been
|
|
165
|
+
* pickers, and callers size and lay them out on that basis.
|
|
166
|
+
*/
|
|
167
|
+
title_actions?: IQorusUiComponentDescriptor[];
|
|
168
|
+
/**
|
|
169
|
+
* A tooltip on the whole ROW, not on one control inside it. Content that is
|
|
170
|
+
* more than a sentence belongs here rather than in a description, which every
|
|
171
|
+
* row pays for in height whether it is read or not.
|
|
172
|
+
*/
|
|
173
|
+
tooltip?: TQorusUiTooltip;
|
|
42
174
|
icon?: IReqoreIconName;
|
|
43
175
|
image?: string;
|
|
44
176
|
metadata?: IMetadata;
|
|
@@ -112,7 +244,16 @@ export interface IQorusFormFieldSchemaBase {
|
|
|
112
244
|
server_expression_handling?: boolean;
|
|
113
245
|
app?: string;
|
|
114
246
|
action?: string;
|
|
115
|
-
|
|
247
|
+
/**
|
|
248
|
+
* The field is offered only while EVERY entry holds — {@link
|
|
249
|
+
* TQorusDependencyList}.
|
|
250
|
+
*
|
|
251
|
+
* The two halves of the list mix freely (`[['kind=workflow', 'kind=service'],
|
|
252
|
+
* 'name']` — one of the versioned kinds, AND a name to attach a version to),
|
|
253
|
+
* which is what the server sends and what the form engines evaluate. It used
|
|
254
|
+
* to be typed as `string[] | string[][]`, which cannot say that.
|
|
255
|
+
*/
|
|
256
|
+
depends_on?: TQorusDependencyList;
|
|
116
257
|
has_dependents?: boolean;
|
|
117
258
|
on_change?: TQorusFormFieldOnChangeEvents[];
|
|
118
259
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/types/forms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/types/forms.ts"],"names":[],"mappings":"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"}
|