jupiter-dynamic-forms 1.20.2 → 1.20.3
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/core/concept-tree.d.ts.map +1 -1
- package/dist/core/dynamic-form.d.ts +41 -0
- package/dist/core/dynamic-form.d.ts.map +1 -1
- package/dist/core/form-field.d.ts.map +1 -1
- package/dist/core/form-section.d.ts +4 -0
- package/dist/core/form-section.d.ts.map +1 -1
- package/dist/core/formula-validation-dialog.d.ts +30 -0
- package/dist/core/formula-validation-dialog.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +349 -75
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1666 -293
- package/dist/index.mjs.map +1 -1
- package/dist/schema/types.d.ts +26 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/xbrl-types.d.ts +67 -0
- package/dist/schema/xbrl-types.d.ts.map +1 -1
- package/dist/utils/formula-constants.d.ts +7 -0
- package/dist/utils/formula-constants.d.ts.map +1 -0
- package/dist/utils/formula-expression-evaluator.d.ts +64 -0
- package/dist/utils/formula-expression-evaluator.d.ts.map +1 -0
- package/dist/utils/formula-precondition-evaluator.d.ts +33 -0
- package/dist/utils/formula-precondition-evaluator.d.ts.map +1 -0
- package/dist/utils/formula-resolution-context.d.ts +45 -0
- package/dist/utils/formula-resolution-context.d.ts.map +1 -0
- package/dist/utils/formula-variable-resolver.d.ts +30 -0
- package/dist/utils/formula-variable-resolver.d.ts.map +1 -0
- package/dist/utils/total-group-resolver.d.ts +68 -0
- package/dist/utils/total-group-resolver.d.ts.map +1 -0
- package/dist/utils/total-label.d.ts +9 -0
- package/dist/utils/total-label.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/schema/types.d.ts
CHANGED
|
@@ -208,6 +208,27 @@ export interface CalculationMismatchDetail {
|
|
|
208
208
|
children: CalculationMismatchChild[];
|
|
209
209
|
message: string;
|
|
210
210
|
}
|
|
211
|
+
export interface FormulaAssertionResult {
|
|
212
|
+
assertionId: string;
|
|
213
|
+
roleURI: string;
|
|
214
|
+
roleLabel: string;
|
|
215
|
+
type: 'EXISTENCE_ASSERTION' | 'VALUE_ASSERTION';
|
|
216
|
+
severity: 'WARNING' | 'ERROR';
|
|
217
|
+
satisfied: boolean;
|
|
218
|
+
skipped: boolean;
|
|
219
|
+
skipReason?: 'precondition' | 'unresolvable';
|
|
220
|
+
message?: string;
|
|
221
|
+
matchedFactCount?: number;
|
|
222
|
+
}
|
|
223
|
+
export interface FormulaValidationSummary {
|
|
224
|
+
totalAssertions: number;
|
|
225
|
+
evaluated: number;
|
|
226
|
+
skipped: number;
|
|
227
|
+
passed: number;
|
|
228
|
+
failed: number;
|
|
229
|
+
failedWarnings: number;
|
|
230
|
+
failedErrors: number;
|
|
231
|
+
}
|
|
211
232
|
export interface FormState {
|
|
212
233
|
data: FormData;
|
|
213
234
|
errors: ValidationError[];
|
|
@@ -223,6 +244,7 @@ export interface FormEvents {
|
|
|
223
244
|
columnId: string;
|
|
224
245
|
value: any;
|
|
225
246
|
oldValue: any;
|
|
247
|
+
source?: 'user' | 'auto-calculated';
|
|
226
248
|
}>;
|
|
227
249
|
'field-focus': CustomEvent<{
|
|
228
250
|
fieldId: string;
|
|
@@ -272,6 +294,10 @@ export interface FormEvents {
|
|
|
272
294
|
'validation-error': CustomEvent<{
|
|
273
295
|
errors: ValidationError[];
|
|
274
296
|
}>;
|
|
297
|
+
'formula-validation-complete': CustomEvent<{
|
|
298
|
+
results: FormulaAssertionResult[];
|
|
299
|
+
summary: FormulaValidationSummary;
|
|
300
|
+
}>;
|
|
275
301
|
}
|
|
276
302
|
export interface ComponentConfig {
|
|
277
303
|
theme?: 'light' | 'dark' | 'auto';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,SAAS,GAAG,UAAU,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,mBAAmB,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,GAAG,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,KAAK,CAAC;YACjB,aAAa,EAAE,UAAU,GAAG,OAAO,CAAC;YACpC,SAAS,EAAE,MAAM,CAAC;YAClB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,CAAC;CAC7D;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,qBAAqB,CAAC,EAAE,KAAK,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IAEH,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,MAAM,GACN,UAAU,GACV,SAAS,GACT,QAAQ,GACR,aAAa,GACb,UAAU,GACV,UAAU,GACV,YAAY,GACZ,OAAO,GACP,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;CACzC;AAED,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,KAAK,GACL,KAAK,GACL,WAAW,GACX,WAAW,GACX,SAAS,GACT,OAAO,GACP,KAAK,GACL,QAAQ,CAAC;AAEb,MAAM,WAAW,QAAQ;IACvB,CAAC,SAAS,EAAE,MAAM,GAAG;QACnB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE;QACN,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE;QACb,CAAC,MAAM,EAAE,MAAM,GAAG;YAChB,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,EAAE,MAAM,CAAC;SACpB,CAAA;KACF,CAAC;CACH;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,EAAE,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,wBAAwB,EAAE,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,CAAC;IAChD,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,WAAW,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,GAAG,CAAC;QACX,QAAQ,EAAE,GAAG,CAAC;QAId,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;KACrC,CAAC,CAAC;IACH,aAAa,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;KAAE,CAAC,CAAC;IACtF,YAAY,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;KAAE,CAAC,CAAC;IACrF,gBAAgB,EAAE,WAAW,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;KAAE,CAAC,CAAC;IACzE,gBAAgB,EAAE,WAAW,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;KAAE,CAAC,CAAC;IACzE,YAAY,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;KAAE,CAAC,CAAC;IACnD,eAAe,EAAE,WAAW,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;KAAE,CAAC,CAAC;IACpD,aAAa,EAAE,WAAW,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;KAAE,CAAC,CAAC;IACrE,aAAa,EAAE,WAAW,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;KAAE,CAAC,CAAC;IACrE,aAAa,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,eAAe,EAAE,CAAC;KAAE,CAAC,CAAC;IAC3H,iBAAiB,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,eAAe,EAAE,CAAC;KAAE,CAAC,CAAC;IAC1H,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,kBAAkB,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,eAAe,EAAE,CAAC;KAAE,CAAC,CAAC;IAIhE,6BAA6B,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;QAAC,OAAO,EAAE,wBAAwB,CAAC;KAAE,CAAC,CAAC;CACvH;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -9,6 +9,7 @@ export interface XBRLFormInput {
|
|
|
9
9
|
hypercubes?: XBRLHypercubeData[];
|
|
10
10
|
datatypes?: XBRLDataTypeData | XBRLDatatype[];
|
|
11
11
|
schemas?: XBRLSchemaData;
|
|
12
|
+
formula?: XBRLFormulaData[];
|
|
12
13
|
initialData?: Record<string, any>;
|
|
13
14
|
}
|
|
14
15
|
export interface XBRLPresentationData {
|
|
@@ -80,6 +81,71 @@ export interface XBRLCalculationChild {
|
|
|
80
81
|
weight: number;
|
|
81
82
|
order?: number;
|
|
82
83
|
}
|
|
84
|
+
export interface XBRLFormulaData {
|
|
85
|
+
entrypoint: string;
|
|
86
|
+
roles: XBRLFormulaRole[];
|
|
87
|
+
}
|
|
88
|
+
export interface XBRLFormulaRole {
|
|
89
|
+
roleURI: string;
|
|
90
|
+
role: string;
|
|
91
|
+
assertions: XBRLFormulaAssertion[];
|
|
92
|
+
}
|
|
93
|
+
export interface XBRLFormulaVariable {
|
|
94
|
+
xlinkLabel: string;
|
|
95
|
+
id: string;
|
|
96
|
+
type: 'FACT_VARIABLE';
|
|
97
|
+
name: string;
|
|
98
|
+
bindAsSequence: boolean;
|
|
99
|
+
fallbackValue?: string;
|
|
100
|
+
matches: boolean;
|
|
101
|
+
nils: boolean;
|
|
102
|
+
filters: XBRLFormulaFilter[];
|
|
103
|
+
}
|
|
104
|
+
export interface XBRLFormulaFilter {
|
|
105
|
+
xlinkLabel: string;
|
|
106
|
+
type: 'CONCEPT_NAME' | 'CONCEPT_BALANCE' | 'CONCEPT_RELATION' | 'EXPLICIT_DIMENSION' | 'TYPED_DIMENSION' | 'PERIOD_INSTANT' | 'PERIOD_END' | 'OR_FILTER';
|
|
107
|
+
complement: boolean;
|
|
108
|
+
cover: boolean;
|
|
109
|
+
attributes: Record<string, string>;
|
|
110
|
+
children: XBRLFormulaFilter[];
|
|
111
|
+
}
|
|
112
|
+
export interface XBRLFormulaPrecondition {
|
|
113
|
+
xlinkLabel: string;
|
|
114
|
+
id: string;
|
|
115
|
+
test: string;
|
|
116
|
+
}
|
|
117
|
+
export interface XBRLFormulaMessage {
|
|
118
|
+
xmlLang: string;
|
|
119
|
+
text: string;
|
|
120
|
+
arcrole: string;
|
|
121
|
+
}
|
|
122
|
+
export interface XBRLFormulaLabel {
|
|
123
|
+
lang: string;
|
|
124
|
+
label: string;
|
|
125
|
+
role: string;
|
|
126
|
+
preferredLabel: boolean;
|
|
127
|
+
customLabel: boolean;
|
|
128
|
+
}
|
|
129
|
+
interface XBRLFormulaAssertionBase {
|
|
130
|
+
id: string;
|
|
131
|
+
xlinkLabel: string;
|
|
132
|
+
test: string;
|
|
133
|
+
aspectModel: 'dimensional';
|
|
134
|
+
implicitFiltering: boolean;
|
|
135
|
+
roleURI: string;
|
|
136
|
+
severity: 'WARNING' | 'ERROR';
|
|
137
|
+
variables: XBRLFormulaVariable[];
|
|
138
|
+
preconditions: XBRLFormulaPrecondition[];
|
|
139
|
+
messages: XBRLFormulaMessage[];
|
|
140
|
+
labels: XBRLFormulaLabel[];
|
|
141
|
+
}
|
|
142
|
+
export interface XBRLExistenceAssertion extends XBRLFormulaAssertionBase {
|
|
143
|
+
type: 'EXISTENCE_ASSERTION';
|
|
144
|
+
}
|
|
145
|
+
export interface XBRLValueAssertion extends XBRLFormulaAssertionBase {
|
|
146
|
+
type: 'VALUE_ASSERTION';
|
|
147
|
+
}
|
|
148
|
+
export type XBRLFormulaAssertion = XBRLExistenceAssertion | XBRLValueAssertion;
|
|
83
149
|
export interface XBRLHypercubeData {
|
|
84
150
|
entrypoint: string;
|
|
85
151
|
roles: XBRLHypercubeRole[];
|
|
@@ -174,4 +240,5 @@ export interface XBRLFieldTypeMapping {
|
|
|
174
240
|
format?: string;
|
|
175
241
|
};
|
|
176
242
|
}
|
|
243
|
+
export {};
|
|
177
244
|
//# sourceMappingURL=xbrl-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xbrl-types.d.ts","sourceRoot":"","sources":["../../src/schema/xbrl-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xbrl-types.d.ts","sourceRoot":"","sources":["../../src/schema/xbrl-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared tolerance for float-vs-float monetary comparisons across the calculation-warning
|
|
3
|
+
* (form-section.ts) and formula-assertion (formula-expression-evaluator.ts) features, so the
|
|
4
|
+
* two "are these two totals equal" checks never silently drift apart.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CALCULATION_TOLERANCE = 0.01;
|
|
7
|
+
//# sourceMappingURL=formula-constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-constants.d.ts","sourceRoot":"","sources":["../../src/utils/formula-constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JDF-044: purpose-scoped evaluator for the XPath-like `test` strings found in
|
|
3
|
+
* VALUE_ASSERTION / precondition entries of the *_formula.json linkbase export.
|
|
4
|
+
*
|
|
5
|
+
* This is intentionally NOT a general XPath 2.0 engine. It supports exactly the
|
|
6
|
+
* operators/functions observed across the real fixture's arithmetic/boolean test shapes:
|
|
7
|
+
* variable refs ($varArc_...), numeric literals, `sum()`, `not()`, `empty()`, `or`, `and`,
|
|
8
|
+
* `=` / `eq` comparison, `+` / `-` (including a leading unary sign), and (JDF-055)
|
|
9
|
+
* `xff:has-fallback-value(xs:QName('varArc_...'))`.
|
|
10
|
+
*
|
|
11
|
+
* A minority of real test strings use XBRL Formula function-library calls outside this
|
|
12
|
+
* scope (`xfi:period*`, `if()`, string-literal `eq` comparisons, etc.). Those throw
|
|
13
|
+
* FormulaExpressionError so JDF-047's orchestrator can skip + warn rather than silently
|
|
14
|
+
* misreport a pass/fail. See the ticket doc for the full function-usage survey.
|
|
15
|
+
*
|
|
16
|
+
* Supported grammar:
|
|
17
|
+
* BoolExpr := OrExpr
|
|
18
|
+
* OrExpr := AndExpr ( 'or' AndExpr )*
|
|
19
|
+
* AndExpr := BoolTerm ( 'and' BoolTerm )*
|
|
20
|
+
* BoolTerm := 'not' '(' BoolExpr ')'
|
|
21
|
+
* | 'empty' '(' Variable ')'
|
|
22
|
+
* | 'xff:has-fallback-value' '(' 'xs:QName' '(' String ')' ')'
|
|
23
|
+
* | Comparison
|
|
24
|
+
* Comparison := ValueExpr ( ('=' | 'eq') ValueExpr )
|
|
25
|
+
* ValueExpr := AdditiveExpr
|
|
26
|
+
* AdditiveExpr := ['+' | '-'] ValueTerm ( ('+' | '-') ValueTerm )*
|
|
27
|
+
* ValueTerm := 'sum' '(' Variable ')' | Variable | Number | '(' ValueExpr ')'
|
|
28
|
+
* Variable := '$' identifier
|
|
29
|
+
* String := "'" ... "'"
|
|
30
|
+
*/
|
|
31
|
+
export type FormulaBindingValue = number | number[] | undefined;
|
|
32
|
+
export type FormulaVariableBindings = Map<string, FormulaBindingValue>;
|
|
33
|
+
/**
|
|
34
|
+
* JDF-055: per-variable-name "did this FACT_VARIABLE resolve to zero real facts and fall back
|
|
35
|
+
* to its declared fallbackValue?" flag, keyed by the variable's bare name (no leading `$`),
|
|
36
|
+
* consumed by `xff:has-fallback-value(xs:QName('name'))`. A missing key (not `false`) means
|
|
37
|
+
* "unknown/not tracked for this name" — treated as cannot-evaluate, not a silent `false`.
|
|
38
|
+
*/
|
|
39
|
+
export type FormulaFallbackUsage = Map<string, boolean>;
|
|
40
|
+
export declare class FormulaExpressionError extends Error {
|
|
41
|
+
readonly test: string;
|
|
42
|
+
readonly reason: 'unsupported-syntax' | 'unbound-variable' | 'parse-error';
|
|
43
|
+
constructor(message: string, test: string, reason?: 'unsupported-syntax' | 'unbound-variable' | 'parse-error');
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Evaluates a VALUE_ASSERTION.test or preconditions[].test string against resolved
|
|
47
|
+
* variable bindings. Throws FormulaExpressionError for anything outside the supported
|
|
48
|
+
* grammar (unsupported syntax) or when a scalar variable is referenced directly, outside
|
|
49
|
+
* sum()/empty(), while unbound (cannot evaluate) — callers (JDF-047) must catch this and
|
|
50
|
+
* treat it as "assertion skipped", not "assertion failed".
|
|
51
|
+
*
|
|
52
|
+
* `fallbackUsage` (JDF-055) is optional and defaults to empty — omitting it is only safe when
|
|
53
|
+
* the test string is known not to use `xff:has-fallback-value()`; if it does and no usage was
|
|
54
|
+
* tracked for the referenced name, evaluation throws FormulaExpressionError rather than
|
|
55
|
+
* silently treating it as `false`.
|
|
56
|
+
*/
|
|
57
|
+
export declare function evaluateFormulaTest(test: string, bindings: FormulaVariableBindings, fallbackUsage?: FormulaFallbackUsage): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Evaluates an EXISTENCE_ASSERTION.test string (e.g. ".eq 0", ".le 1", ".eq 0 or .eq 1")
|
|
60
|
+
* against the number of facts matched by the assertion's variable(s). Per the XBRL Formula
|
|
61
|
+
* 1.0 spec, an omitted/empty test defaults to ".gt 0" (at least one matching fact).
|
|
62
|
+
*/
|
|
63
|
+
export declare function evaluateExistenceTest(test: string | undefined, matchedFactCount: number): boolean;
|
|
64
|
+
//# sourceMappingURL=formula-expression-evaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-expression-evaluator.d.ts","sourceRoot":"","sources":["../../src/utils/formula-expression-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAChE,MAAM,MAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AACvE;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExD,qBAAa,sBAAuB,SAAQ,KAAK;aAG7B,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,aAAa;gBAFjF,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,oBAAoB,GAAG,kBAAkB,GAAG,aAAoC;CAK3G;AAoTD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,uBAAuB,EACjC,aAAa,GAAE,oBAAgC,GAC9C,OAAO,CAIT;AA2BD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAejG"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { XBRLFormulaAssertion, XBRLFormulaPrecondition } from '../schema/xbrl-types';
|
|
2
|
+
import { FormulaFallbackUsage, FormulaVariableBindings } from './formula-expression-evaluator';
|
|
3
|
+
import { FormulaResolutionContext } from './formula-resolution-context';
|
|
4
|
+
|
|
5
|
+
export interface PreconditionEvaluation {
|
|
6
|
+
satisfied: boolean;
|
|
7
|
+
/** Present only when satisfied is false: why the assertion should be skipped. */
|
|
8
|
+
skipReason?: 'precondition' | 'unresolvable';
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Resolves every variable an assertion declares into a single bindings map, once — shared by
|
|
12
|
+
* both precondition evaluation and the assertion's own main `test` (JDF-047), so a variable is
|
|
13
|
+
* never resolved twice for the same assertion run.
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildAssertionBindings(assertion: XBRLFormulaAssertion, ctx: FormulaResolutionContext): FormulaVariableBindings;
|
|
16
|
+
/**
|
|
17
|
+
* JDF-055: builds the `xff:has-fallback-value()` lookup map for an assertion's variables.
|
|
18
|
+
* Fast-path: if neither the main test nor any precondition references `has-fallback-value` at
|
|
19
|
+
* all (a plain substring check), returns an empty map without resolving anything — most
|
|
20
|
+
* assertions (616/784) never use this function, so this avoids doubling resolver work for them.
|
|
21
|
+
* A variable that resolved to zero facts with no `fallbackValue` declared is deliberately
|
|
22
|
+
* omitted from the map (not set to `false`) — see `resolveFormulaVariableUsedFallback`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildAssertionFallbackUsage(assertion: XBRLFormulaAssertion, ctx: FormulaResolutionContext): FormulaFallbackUsage;
|
|
25
|
+
/**
|
|
26
|
+
* Evaluates an assertion's preconditions against its already-resolved variable bindings.
|
|
27
|
+
* Empty `preconditions` always satisfies (no gating). A precondition whose test cannot be
|
|
28
|
+
* evaluated (JDF-044's FormulaExpressionError — e.g. it references a variable that failed to
|
|
29
|
+
* resolve) causes the assertion to be skipped with reason 'unresolvable', not a crash and not
|
|
30
|
+
* a silent true/false.
|
|
31
|
+
*/
|
|
32
|
+
export declare function evaluateAssertionPreconditions(preconditions: XBRLFormulaPrecondition[], bindings: FormulaVariableBindings, fallbackUsage?: FormulaFallbackUsage): PreconditionEvaluation;
|
|
33
|
+
//# sourceMappingURL=formula-precondition-evaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-precondition-evaluator.d.ts","sourceRoot":"","sources":["../../src/utils/formula-precondition-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAGL,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,UAAU,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,EAAE,wBAAwB,GAAG,uBAAuB,CAM9H;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,EAAE,wBAAwB,GAAG,oBAAoB,CAYhI;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,uBAAuB,EAAE,EACxC,QAAQ,EAAE,uBAAuB,EACjC,aAAa,GAAE,oBAAgC,GAC9C,sBAAsB,CAmBxB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { FormData, FormColumn } from '../schema/types';
|
|
2
|
+
import { XBRLPresentationRole, XBRLHypercubeRole } from '../schema/xbrl-types';
|
|
3
|
+
|
|
4
|
+
export interface FormulaConceptInfo {
|
|
5
|
+
conceptId: string;
|
|
6
|
+
qname: string;
|
|
7
|
+
balance?: 'debit' | 'credit';
|
|
8
|
+
}
|
|
9
|
+
export interface FormulaFactCandidate {
|
|
10
|
+
conceptId: string;
|
|
11
|
+
columnId: string;
|
|
12
|
+
}
|
|
13
|
+
export interface FormulaResolutionContext {
|
|
14
|
+
formData: FormData;
|
|
15
|
+
columns: FormColumn[];
|
|
16
|
+
periodStartDate: string;
|
|
17
|
+
periodEndDate: string;
|
|
18
|
+
conceptByQName: Map<string, FormulaConceptInfo>;
|
|
19
|
+
conceptById: Map<string, FormulaConceptInfo>;
|
|
20
|
+
/** roleURI (linkrole) -> conceptId -> direct child conceptIds, for CONCEPT_RELATION. */
|
|
21
|
+
childrenByRole: Map<string, Map<string, string[]>>;
|
|
22
|
+
/**
|
|
23
|
+
* JDF-056: roleURI -> totalConceptId -> resolved member conceptIds, for totals whose members
|
|
24
|
+
* are trailing presentation siblings rather than nested children (~6% of real CONCEPT_RELATION
|
|
25
|
+
* filters — see total-group-resolver.ts). Only consult this when `childrenByRole` came back
|
|
26
|
+
* empty for a given concept; nested-children resolution remains authoritative when present.
|
|
27
|
+
*/
|
|
28
|
+
totalGroupChildrenByRole: Map<string, Map<string, string[]>>;
|
|
29
|
+
dimensionQNameToId: Map<string, string>;
|
|
30
|
+
memberQNameToId: Map<string, string>;
|
|
31
|
+
/**
|
|
32
|
+
* JDF-052: every (conceptId, columnId) pair in `formData` with a non-empty raw value —
|
|
33
|
+
* a "fact" exists once any value is entered, text/boolean/enum concepts included, not just
|
|
34
|
+
* numeric ones. Computed once here rather than by the resolver per FACT_VARIABLE: profiling
|
|
35
|
+
* against the full real fixture (549 roles, 784 assertions) showed this rebuild — previously
|
|
36
|
+
* done on every one of the ~2000 variable resolutions in a single evaluate() run — was the
|
|
37
|
+
* dominant cost (a 500-fact universe measured ~500ms; the full ~11000-fact universe measured
|
|
38
|
+
* ~2200ms, a far smaller-than-linear increase, meaning most of the original cost was the
|
|
39
|
+
* repeated Object.keys() rescans themselves, not proportional per-fact work).
|
|
40
|
+
*/
|
|
41
|
+
allCandidates: FormulaFactCandidate[];
|
|
42
|
+
}
|
|
43
|
+
export declare function buildFormulaResolutionContext(formData: FormData, columns: FormColumn[], presentationRoles: XBRLPresentationRole[], hypercubeRoles: XBRLHypercubeRole[] | undefined, periodStartDate: string, periodEndDate: string): FormulaResolutionContext;
|
|
44
|
+
export declare function collectDescendantConceptIds(childrenIndex: Map<string, string[]>, rootConceptId: string): string[];
|
|
45
|
+
//# sourceMappingURL=formula-resolution-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-resolution-context.d.ts","sourceRoot":"","sources":["../../src/utils/formula-resolution-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,oBAAoB,EAEpB,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,wFAAwF;IACxF,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD;;;;;OAKG;IACH,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7D,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;;;;;;;;OASG;IACH,aAAa,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAyDD,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,UAAU,EAAE,EACrB,iBAAiB,EAAE,oBAAoB,EAAE,EACzC,cAAc,EAAE,iBAAiB,EAAE,GAAG,SAAS,EAC/C,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,GACpB,wBAAwB,CAwC1B;AAED,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAYjH"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { XBRLFormulaVariable } from '../schema/xbrl-types';
|
|
2
|
+
import { FormulaBindingValue } from './formula-expression-evaluator';
|
|
3
|
+
import { FormulaResolutionContext } from './formula-resolution-context';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Resolves a FACT_VARIABLE's filters against the current form state, returning the value(s)
|
|
7
|
+
* it binds to. Returns `undefined` for a scalar (bindAsSequence: false) variable with zero
|
|
8
|
+
* matches and no fallbackValue — JDF-044's evaluator treats that as "cannot evaluate" when
|
|
9
|
+
* the variable is referenced directly (outside sum()/empty()), per XBRL Formula semantics.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveFormulaVariable(variable: XBRLFormulaVariable, ctx: FormulaResolutionContext): FormulaBindingValue;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the raw count of facts a variable's filters match, regardless of whether the value
|
|
14
|
+
* parses as a number — used to feed JDF-044's `evaluateExistenceTest` for EXISTENCE_ASSERTION,
|
|
15
|
+
* which cares about presence (has this concept been reported at all under these conditions?),
|
|
16
|
+
* not numeric parseability.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveFormulaVariableMatchCount(variable: XBRLFormulaVariable, ctx: FormulaResolutionContext): number;
|
|
19
|
+
/**
|
|
20
|
+
* JDF-055: whether this variable "used its fallback" — resolved to zero real matched facts AND
|
|
21
|
+
* had a `fallbackValue` declared — for `xff:has-fallback-value()` support. Per the XBRL Formula
|
|
22
|
+
* semantics this function name implies (confirmed against real fixture usage patterns, not
|
|
23
|
+
* assumed): a variable with a real matched fact never used its fallback (false); a variable with
|
|
24
|
+
* zero matches and a declared fallbackValue did (true); a variable with zero matches and NO
|
|
25
|
+
* fallbackValue declared is a separate "cannot evaluate" case, not silently false — callers
|
|
26
|
+
* should omit such a variable from the FormulaFallbackUsage map entirely rather than mapping it
|
|
27
|
+
* to `false`, so the evaluator's "missing key" cannot-evaluate path applies.
|
|
28
|
+
*/
|
|
29
|
+
export declare function resolveFormulaVariableUsedFallback(variable: XBRLFormulaVariable, ctx: FormulaResolutionContext): boolean | undefined;
|
|
30
|
+
//# sourceMappingURL=formula-variable-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-variable-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/formula-variable-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAqB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAqD,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAoL3H;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,EAAE,wBAAwB,GAAG,mBAAmB,CAqBxH;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,EAAE,wBAAwB,GAAG,MAAM,CAErH;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,EAAE,wBAAwB,GAAG,OAAO,GAAG,SAAS,CAKpI"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JDF-056: generalized port of `form-section.ts`'s proven sibling/`totalLabel`-fallback
|
|
3
|
+
* algorithm (`_traverseTotalGroups`/`_registerTotalGroup`/`_resolveTotalGroupMembers`, built and
|
|
4
|
+
* hardened across JDF-026/030/038/041 for the calculation-warning feature), for use by the
|
|
5
|
+
* formula-validation feature's `CONCEPT_RELATION` resolution (JDF-045/056).
|
|
6
|
+
*
|
|
7
|
+
* Some NL-taxonomy (SBR) presentation roles model a total as a trailing **sibling** of its
|
|
8
|
+
* constituent line items under a shared abstract "Title" concept, rather than as their parent:
|
|
9
|
+
*
|
|
10
|
+
* kvk-abstr:AssetsNoncurrentTitle (abstract)
|
|
11
|
+
* ├─ jenv-bw2-i:IntangibleAssets
|
|
12
|
+
* ├─ jenv-bw2-i:PropertyPlantEquipment
|
|
13
|
+
* └─ jenv-bw2-i:AssetsNoncurrent ← the total, a SIBLING of its own constituents
|
|
14
|
+
*
|
|
15
|
+
* `form-section.ts` solved this by scanning `preferredLabel` for the `totalLabel`/
|
|
16
|
+
* `negatedTotalLabel` family and walking backward through presentation siblings when a total row
|
|
17
|
+
* has no nested children of its own. This module is that same algorithm, generalized via an
|
|
18
|
+
* accessor interface so it works against either domain's node shape (`ConceptTree` in
|
|
19
|
+
* `form-section.ts`, `XBRLPresentationConcept` in the formula-validation pipeline) without a
|
|
20
|
+
* second hand-maintained copy of taxonomy-quirk-specific logic.
|
|
21
|
+
*
|
|
22
|
+
* **Decision recorded (JDF-056, 2026-08-13):** this utility is used by the formula-validation
|
|
23
|
+
* feature now. `form-section.ts` is NOT refactored to use it in this pass — that component's
|
|
24
|
+
* calculation-warning feature is live and already tested against its own `ConceptTree`-shaped
|
|
25
|
+
* state, and migrating it carries real regression risk for an unrelated, working feature under
|
|
26
|
+
* time pressure. Migrating `form-section.ts` to this shared utility is a reasonable, low-risk
|
|
27
|
+
* follow-up whenever that code is next touched, not a requirement of this ticket.
|
|
28
|
+
*/
|
|
29
|
+
export interface TotalGroupAccessors<TNode> {
|
|
30
|
+
getId(node: TNode): string;
|
|
31
|
+
getPreferredLabel(node: TNode): string | undefined;
|
|
32
|
+
isAbstract(node: TNode): boolean;
|
|
33
|
+
getChildren(node: TNode): TNode[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* XBRL uses more than one preferredLabel role to mark a "total" row — the plain
|
|
37
|
+
* `.../role/totalLabel` and the sign-flipped `.../role/negatedTotalLabel` (used for subtotals of
|
|
38
|
+
* negated/expense items). Case-insensitive matching, mirroring `form-section.ts`'s
|
|
39
|
+
* `_isTotalLabel` exactly (a case-sensitive check previously missed `negatedTotalLabel`, whose
|
|
40
|
+
* capital `T` reads differently than the plain form).
|
|
41
|
+
*/
|
|
42
|
+
export declare function isTotalLabel(preferredLabel: string | undefined): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Distinguishes a self-contained "deduction block" subtotal (negatedTotalLabel, e.g. "Total of
|
|
45
|
+
* sum of expenses") from a plain cascading/running total. Mirrors `form-section.ts`'s
|
|
46
|
+
* `_isNegatedTotalLabel` exactly.
|
|
47
|
+
*/
|
|
48
|
+
export declare function isNegatedTotalLabel(preferredLabel: string | undefined): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* A member of a total's sibling/child group can itself be a presentation-only abstract wrapper
|
|
51
|
+
* (e.g. "Group equity" wrapping Equity + Third party share + a nested "Total of group equity")
|
|
52
|
+
* rather than a value-bearing node. Abstract nodes never carry a fact, so resolve them to the
|
|
53
|
+
* nested totalLabel node that actually carries their aggregate value — otherwise the outer
|
|
54
|
+
* total's member set silently drops that whole subgroup. Mirrors `form-section.ts`'s
|
|
55
|
+
* `_resolveValueConcept` exactly, including its depth cutoff against malformed/cyclic data.
|
|
56
|
+
*/
|
|
57
|
+
export declare function resolveValueNode<TNode>(node: TNode, accessors: TotalGroupAccessors<TNode>, depth?: number): TNode | null;
|
|
58
|
+
/**
|
|
59
|
+
* Walks a presentation tree and returns a map from each total-row node's id to the resolved
|
|
60
|
+
* member node ids that make up its total, for every total whose members are trailing
|
|
61
|
+
* presentation siblings rather than nested children. Totals that DO have real nested children
|
|
62
|
+
* are intentionally NOT included here — nested-children resolution (JDF-045's primary path)
|
|
63
|
+
* remains authoritative for those; this index exists purely as the JDF-056 fallback for the
|
|
64
|
+
* no-nested-children case, so callers should only consult it when their own nested-children
|
|
65
|
+
* lookup came back empty (never merge the two, to avoid double-counting).
|
|
66
|
+
*/
|
|
67
|
+
export declare function buildTotalGroupChildrenIndex<TNode>(roots: TNode[], accessors: TotalGroupAccessors<TNode>): Map<string, string[]>;
|
|
68
|
+
//# sourceMappingURL=total-group-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"total-group-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/total-group-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,mBAAmB,CAAC,KAAK;IACxC,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IACnD,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAExE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE/E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EACpC,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,EACrC,KAAK,SAAI,GACR,KAAK,GAAG,IAAI,CAOd;AAsCD;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAChD,KAAK,EAAE,KAAK,EAAE,EACd,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,GACpC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA0CvB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single source of truth for "is this XBRL concept row a total/subtotal", based on its
|
|
3
|
+
* preferredLabel role. Case-insensitive because negatedTotalLabel contains "TotalLabel"
|
|
4
|
+
* with a capital T (JDF-038). Shared between the calculation-warning feature
|
|
5
|
+
* (form-section.ts) and the total-row styling feature (concept-tree.ts, JDF-057) so the
|
|
6
|
+
* two never drift apart on what counts as a total.
|
|
7
|
+
*/
|
|
8
|
+
export declare function isTotalLabel(preferredLabel?: string): boolean;
|
|
9
|
+
//# sourceMappingURL=total-label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"total-label.d.ts","sourceRoot":"","sources":["../../src/utils/total-label.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jupiter-dynamic-forms",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.3",
|
|
4
4
|
"description": "Framework-agnostic dynamic form builder for XBRL entrypoints using Web Components. Supports Angular 14+, React, Vue, and vanilla HTML.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|