jupiter-dynamic-forms 1.20.1 → 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.
Files changed (33) hide show
  1. package/dist/core/concept-tree.d.ts.map +1 -1
  2. package/dist/core/dynamic-form.d.ts +42 -0
  3. package/dist/core/dynamic-form.d.ts.map +1 -1
  4. package/dist/core/form-field.d.ts.map +1 -1
  5. package/dist/core/form-section.d.ts +50 -1
  6. package/dist/core/form-section.d.ts.map +1 -1
  7. package/dist/core/formula-validation-dialog.d.ts +30 -0
  8. package/dist/core/formula-validation-dialog.d.ts.map +1 -0
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +351 -75
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.mjs +1784 -306
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/schema/types.d.ts +26 -0
  16. package/dist/schema/types.d.ts.map +1 -1
  17. package/dist/schema/xbrl-types.d.ts +67 -0
  18. package/dist/schema/xbrl-types.d.ts.map +1 -1
  19. package/dist/utils/formula-constants.d.ts +7 -0
  20. package/dist/utils/formula-constants.d.ts.map +1 -0
  21. package/dist/utils/formula-expression-evaluator.d.ts +64 -0
  22. package/dist/utils/formula-expression-evaluator.d.ts.map +1 -0
  23. package/dist/utils/formula-precondition-evaluator.d.ts +33 -0
  24. package/dist/utils/formula-precondition-evaluator.d.ts.map +1 -0
  25. package/dist/utils/formula-resolution-context.d.ts +45 -0
  26. package/dist/utils/formula-resolution-context.d.ts.map +1 -0
  27. package/dist/utils/formula-variable-resolver.d.ts +30 -0
  28. package/dist/utils/formula-variable-resolver.d.ts.map +1 -0
  29. package/dist/utils/total-group-resolver.d.ts +68 -0
  30. package/dist/utils/total-group-resolver.d.ts.map +1 -0
  31. package/dist/utils/total-label.d.ts +9 -0
  32. package/dist/utils/total-label.d.ts.map +1 -0
  33. package/package.json +1 -1
@@ -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":"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"}
@@ -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.1",
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",