jupiter-dynamic-forms 1.13.0 → 1.14.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/dist/core/add-column-dialog.d.ts.map +1 -1
- package/dist/core/concept-tree.d.ts +5 -0
- package/dist/core/concept-tree.d.ts.map +1 -1
- package/dist/core/dynamic-form.d.ts +15 -0
- package/dist/core/dynamic-form.d.ts.map +1 -1
- package/dist/core/form-field.d.ts +17 -0
- 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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +288 -75
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1347 -178
- package/dist/index.mjs.map +1 -1
- package/dist/schema/types.d.ts +4 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/xbrl-types.d.ts +25 -1
- package/dist/schema/xbrl-types.d.ts.map +1 -1
- package/dist/utils/type-input-mapping.d.ts +79 -13
- package/dist/utils/type-input-mapping.d.ts.map +1 -1
- package/dist/utils/xbrl-form-builder.d.ts.map +1 -1
- package/dist/utils/xbrl-validation.d.ts +62 -0
- package/dist/utils/xbrl-validation.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/schema/types.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export interface FormSection {
|
|
|
24
24
|
showPreviousYear?: boolean;
|
|
25
25
|
instant?: boolean;
|
|
26
26
|
duration?: boolean;
|
|
27
|
+
datatypes?: any[];
|
|
27
28
|
}
|
|
28
29
|
export interface ConceptTree {
|
|
29
30
|
id: string;
|
|
@@ -53,6 +54,7 @@ export interface FormField {
|
|
|
53
54
|
defaultValue?: any;
|
|
54
55
|
options?: FieldOption[];
|
|
55
56
|
attributes?: Record<string, any>;
|
|
57
|
+
conceptType?: string;
|
|
56
58
|
periodType?: 'instant' | 'duration';
|
|
57
59
|
periodStartDate?: string;
|
|
58
60
|
periodEndDate?: string;
|
|
@@ -68,6 +70,7 @@ export interface FormColumn {
|
|
|
68
70
|
removable?: boolean;
|
|
69
71
|
periodStartDate?: string;
|
|
70
72
|
periodEndDate?: string;
|
|
73
|
+
periodType?: 'instant' | 'duration';
|
|
71
74
|
}
|
|
72
75
|
export interface DimensionData {
|
|
73
76
|
dimensionId: string;
|
|
@@ -122,6 +125,7 @@ export interface SubmissionEntry {
|
|
|
122
125
|
startDate?: string;
|
|
123
126
|
endDate?: string;
|
|
124
127
|
};
|
|
128
|
+
unit?: string;
|
|
125
129
|
dimension?: string;
|
|
126
130
|
typedMembers?: {
|
|
127
131
|
[axisId: string]: {
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export interface XBRLFormInput {
|
|
|
7
7
|
presentation: XBRLPresentationData[];
|
|
8
8
|
calculation?: XBRLCalculationData;
|
|
9
9
|
hypercubes?: XBRLHypercubeData[];
|
|
10
|
-
datatypes?: XBRLDataTypeData;
|
|
10
|
+
datatypes?: XBRLDataTypeData | XBRLDatatype[];
|
|
11
11
|
schemas?: XBRLSchemaData;
|
|
12
12
|
initialData?: Record<string, any>;
|
|
13
13
|
}
|
|
@@ -127,6 +127,30 @@ export interface XBRLConceptDataType {
|
|
|
127
127
|
substitutionGroup?: string;
|
|
128
128
|
typedDomainRef?: string;
|
|
129
129
|
}
|
|
130
|
+
export interface XBRLDatatype {
|
|
131
|
+
source: string;
|
|
132
|
+
type: string;
|
|
133
|
+
labels: XBRLLabel[];
|
|
134
|
+
basetype: string;
|
|
135
|
+
units: Array<{
|
|
136
|
+
id: string;
|
|
137
|
+
label: string;
|
|
138
|
+
definition?: string;
|
|
139
|
+
isDefault?: boolean;
|
|
140
|
+
}>;
|
|
141
|
+
enumerations?: Array<{
|
|
142
|
+
id?: string;
|
|
143
|
+
value: string;
|
|
144
|
+
labels?: XBRLLabel[];
|
|
145
|
+
}>;
|
|
146
|
+
validation?: {
|
|
147
|
+
pattern?: string;
|
|
148
|
+
minLength?: number;
|
|
149
|
+
maxLength?: number;
|
|
150
|
+
length?: number;
|
|
151
|
+
totalDigits?: number;
|
|
152
|
+
};
|
|
153
|
+
}
|
|
130
154
|
export interface XBRLSchemaData {
|
|
131
155
|
prefix: string;
|
|
132
156
|
uri: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xbrl-types.d.ts","sourceRoot":"","sources":["../../src/schema/xbrl-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"xbrl-types.d.ts","sourceRoot":"","sources":["../../src/schema/xbrl-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAAC;IAC9C,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACnC;AAGD,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE;QACpB,QAAQ,EAAE,uBAAuB,EAAE,CAAC;KACrC,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE;QACZ,QAAQ,EAAE,qBAAqB,EAAE,CAAC;KACnC,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACtB;AAGD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,uBAAuB,CAAC;CAC9C;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,oBAAoB,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,sBAAsB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,UAAU,GAAG,OAAO,CAAC;IACpC,kBAAkB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,SAAS,GAAG,UAAU,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;KACtB,CAAC,CAAC;IACH,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAGD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB;AAGD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAGD,MAAM,WAAW,oBAAoB;IACnC,CAAC,QAAQ,EAAE,MAAM,GAAG;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
|
|
@@ -1,14 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* This module defines the mapping between XBRL concept types and HTML input field types.
|
|
5
|
-
* The mapping determines which UI control should be rendered for each XBRL data type.
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* 1. Add new type mappings to the TYPE_INPUT_MAP constant
|
|
9
|
-
* 2. Use getInputTypeForConceptType() to get the appropriate field type
|
|
10
|
-
* 3. Mapping is extensible - add more types as needed
|
|
11
|
-
*/
|
|
1
|
+
import { XBRLDatatype } from '../schema/xbrl-types';
|
|
2
|
+
|
|
12
3
|
export type InputFieldType = 'text' | 'textarea' | 'number' | 'decimal' | 'integer' | 'currency' | 'percentage' | 'date' | 'datetime' | 'email' | 'url' | 'tel' | 'boolean' | 'select';
|
|
13
4
|
export interface TypeMapping {
|
|
14
5
|
/** The input field type to render */
|
|
@@ -25,6 +16,12 @@ export interface TypeMapping {
|
|
|
25
16
|
step?: string | number;
|
|
26
17
|
/** Placeholder text suggestion */
|
|
27
18
|
placeholder?: string;
|
|
19
|
+
/** Enumeration options for dropdown/select fields */
|
|
20
|
+
enumerations?: Array<{
|
|
21
|
+
id: string;
|
|
22
|
+
value: string;
|
|
23
|
+
label?: string;
|
|
24
|
+
}>;
|
|
28
25
|
}
|
|
29
26
|
/**
|
|
30
27
|
* Type-to-Input Field Mapping
|
|
@@ -34,12 +31,24 @@ export interface TypeMapping {
|
|
|
34
31
|
*/
|
|
35
32
|
export declare const TYPE_INPUT_MAP: Record<string, TypeMapping>;
|
|
36
33
|
/**
|
|
37
|
-
* Get input field configuration for a given XBRL concept type
|
|
34
|
+
* Get input field configuration for a given XBRL concept type.
|
|
35
|
+
*
|
|
36
|
+
* This method now supports two modes:
|
|
37
|
+
* 1. With datatypes: Uses baseType chain resolution for accurate type determination
|
|
38
|
+
* 2. Without datatypes: Falls back to pattern matching on the concept type name
|
|
38
39
|
*
|
|
39
40
|
* @param conceptType - The XBRL concept type (e.g., "nl-types:monetaryNoDecimals20ItemType")
|
|
41
|
+
* @param datatypes - Optional array of XBRL datatypes for baseType chain resolution
|
|
40
42
|
* @returns TypeMapping configuration or default text input
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* // With datatypes (preferred - accurate baseType chain resolution)
|
|
46
|
+
* const config = getInputTypeForConceptType('nl-types:monetaryNoDecimals20ItemType', datatypes);
|
|
47
|
+
*
|
|
48
|
+
* // Without datatypes (fallback - pattern matching)
|
|
49
|
+
* const config = getInputTypeForConceptType('nl-types:monetaryNoDecimals20ItemType');
|
|
41
50
|
*/
|
|
42
|
-
export declare function getInputTypeForConceptType(conceptType: string | undefined): TypeMapping;
|
|
51
|
+
export declare function getInputTypeForConceptType(conceptType: string | undefined, datatypes?: XBRLDatatype[]): TypeMapping;
|
|
43
52
|
/**
|
|
44
53
|
* Check if a field type should display as a textarea
|
|
45
54
|
*/
|
|
@@ -56,4 +65,61 @@ export declare function isNumericType(fieldType: InputFieldType): boolean;
|
|
|
56
65
|
* Check if a field type should display as a select dropdown
|
|
57
66
|
*/
|
|
58
67
|
export declare function isSelectType(fieldType: InputFieldType): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Recursively resolves all baseTypes in the hierarchy by traversing the datatypes chain.
|
|
70
|
+
* Continues to look up baseTypes until finding a datatype with no baseType.
|
|
71
|
+
*
|
|
72
|
+
* @param typeName The initial type name to resolve
|
|
73
|
+
* @param datatypes Array of all available datatypes from XBRL taxonomy
|
|
74
|
+
* @returns Array of all baseTypes in the hierarchy chain (including the original type)
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* // For type "nl-types:monetaryNoDecimals20ItemType"
|
|
78
|
+
* // Returns: ["nl-types:monetaryNoDecimals20ItemType", "dtr-types:noDecimalsMonetaryItemType", "xbrli:monetaryItemType", "xbrli:monetary", "decimal"]
|
|
79
|
+
*
|
|
80
|
+
* const baseTypeChain = resolveBaseTypeChain("nl-types:monetaryNoDecimals20ItemType", datatypes);
|
|
81
|
+
*/
|
|
82
|
+
export declare function resolveBaseTypeChain(typeName: string | undefined, datatypes: XBRLDatatype[] | undefined): string[];
|
|
83
|
+
/**
|
|
84
|
+
* Collects enumerations from any type in the baseType chain.
|
|
85
|
+
* Traverses the entire chain and returns the first set of enumerations found.
|
|
86
|
+
* This allows types to inherit enumerations from their base types.
|
|
87
|
+
*
|
|
88
|
+
* @param baseTypeChain Array of types from most specific to most general
|
|
89
|
+
* @param datatypes Array of all available datatypes from XBRL taxonomy
|
|
90
|
+
* @returns Array of enumeration options or undefined if no enumerations found
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* const chain = ["nl-codes:yesNoItemType", "xbrli:stringItemType", "string"];
|
|
94
|
+
* const enums = collectEnumerationsFromChain(chain, datatypes);
|
|
95
|
+
* // Returns: [{ id: "nl-codes_Yes", value: "Ja" }, { id: "nl-codes_No", value: "Nee" }]
|
|
96
|
+
*/
|
|
97
|
+
export declare function collectEnumerationsFromChain(baseTypeChain: string[], datatypes: XBRLDatatype[] | undefined): Array<{
|
|
98
|
+
id: string;
|
|
99
|
+
value: string;
|
|
100
|
+
label?: string;
|
|
101
|
+
}> | undefined;
|
|
102
|
+
/**
|
|
103
|
+
* Determines the appropriate input type configuration based on the baseType chain.
|
|
104
|
+
* This method centralizes the logic for mapping XBRL type hierarchies to HTML input types.
|
|
105
|
+
*
|
|
106
|
+
* Priority order (checked from most specific to most general):
|
|
107
|
+
* 0. Dropdown/Select for types with enumerations (HIGHEST PRIORITY)
|
|
108
|
+
* 1. Textarea for formatted explanations
|
|
109
|
+
* 2. Date picker for date types
|
|
110
|
+
* 3. Integer input for integer types (no decimals)
|
|
111
|
+
* 4. Decimal input for decimal/numeric types (with decimals)
|
|
112
|
+
* 5. Boolean/checkbox for boolean types
|
|
113
|
+
* 6. Textbox as default fallback
|
|
114
|
+
*
|
|
115
|
+
* @param baseTypeChain Array of types from most specific to most general (from resolveBaseTypeChain)
|
|
116
|
+
* @param datatypes Optional array of XBRL datatypes for enumeration collection
|
|
117
|
+
* @returns TypeMapping configuration for the appropriate input type
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* const chain = ["nl-codes:yesNoItemType", "xbrli:stringItemType", "string"];
|
|
121
|
+
* const config = determineInputTypeFromBaseChain(chain, datatypes);
|
|
122
|
+
* // Returns: { fieldType: 'select', enumerations: [{ id: "nl-codes_Yes", value: "Ja" }, ...] }
|
|
123
|
+
*/
|
|
124
|
+
export declare function determineInputTypeFromBaseChain(baseTypeChain: string[], datatypes?: XBRLDatatype[]): TypeMapping;
|
|
59
125
|
//# sourceMappingURL=type-input-mapping.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-input-mapping.d.ts","sourceRoot":"","sources":["../../src/utils/type-input-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,UAAU,GACV,QAAQ,GACR,SAAS,GACT,SAAS,GACT,UAAU,GACV,YAAY,GACZ,MAAM,GACN,UAAU,GACV,OAAO,GACP,KAAK,GACL,KAAK,GACL,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,SAAS,EAAE,cAAc,CAAC;IAC1B,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"type-input-mapping.d.ts","sourceRoot":"","sources":["../../src/utils/type-input-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,UAAU,GACV,QAAQ,GACR,SAAS,GACT,SAAS,GACT,UAAU,GACV,YAAY,GACZ,MAAM,GACN,UAAU,GACV,OAAO,GACP,KAAK,GACL,KAAK,GACL,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,SAAS,EAAE,cAAc,CAAC;IAC1B,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAmKtD,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,SAAS,CAAC,EAAE,YAAY,EAAE,GACzB,WAAW,CAmIb;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAE/D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,EAAE,YAAY,EAAE,GAAG,SAAS,GACpC,MAAM,EAAE,CA0CV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,MAAM,EAAE,EACvB,SAAS,EAAE,YAAY,EAAE,GAAG,SAAS,GACpC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,CAqBlE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,MAAM,EAAE,EACvB,SAAS,CAAC,EAAE,YAAY,EAAE,GACzB,WAAW,CAgIb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xbrl-form-builder.d.ts","sourceRoot":"","sources":["../../src/utils/xbrl-form-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EAGvB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EAGd,UAAU,EAGX,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAe;IAE1B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAiBlC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAqBpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAWhC;;;;;;;;OAQG;IACH,MAAM,CAAC,eAAe,CACpB,SAAS,EAAE,aAAa,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE,MAAM,EACtB,QAAQ,GAAE,MAAa,EACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC,GAC7G,cAAc;
|
|
1
|
+
{"version":3,"file":"xbrl-form-builder.d.ts","sourceRoot":"","sources":["../../src/utils/xbrl-form-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EAGvB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EAGd,UAAU,EAGX,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAe;IAE1B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAiBlC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAqBpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAWhC;;;;;;;;OAQG;IACH,MAAM,CAAC,eAAe,CACpB,SAAS,EAAE,aAAa,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE,MAAM,EACtB,QAAQ,GAAE,MAAa,EACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC,GAC7G,cAAc;IAkDjB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAqEnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAuE/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IA4CrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAgBrC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAyBhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAcnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;IAc7C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAUhC;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,oBAAoB,GAAG,uBAAuB,EAAE;IAYvF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAiBzC;;OAEG;IACH,MAAM,CAAC,6BAA6B,CAClC,IAAI,EAAE,oBAAoB,EAC1B,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,iBAAiB,EACjC,mBAAmB,CAAC,EAAE,uBAAuB,EAAE,EAC/C,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,iBAAiB,CAAC,EAAE;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,GAC7F,UAAU,EAAE;IAqGf;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAWlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAiD1C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gCAAgC;IA4B/C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,8BAA8B;IA+R7C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IA8J5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAkBrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAiD5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAanC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAWhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAM/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAK/B;;OAEG;IACH,MAAM,CAAC,0BAA0B,IAA4B,GAAG,EAAE;CASnE"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { XBRLDatatype } from '../schema/xbrl-types';
|
|
2
|
+
|
|
3
|
+
export interface XBRLValidationResult {
|
|
4
|
+
valid: boolean;
|
|
5
|
+
errors: XBRLValidationError[];
|
|
6
|
+
}
|
|
7
|
+
export interface XBRLValidationError {
|
|
8
|
+
type: 'pattern' | 'minLength' | 'maxLength' | 'length' | 'totalDigits';
|
|
9
|
+
message: string;
|
|
10
|
+
expectedValue?: string | number;
|
|
11
|
+
actualValue?: string | number;
|
|
12
|
+
}
|
|
13
|
+
export interface XBRLDatatypeValidation {
|
|
14
|
+
pattern?: string;
|
|
15
|
+
minLength?: number;
|
|
16
|
+
maxLength?: number;
|
|
17
|
+
length?: number;
|
|
18
|
+
totalDigits?: number;
|
|
19
|
+
}
|
|
20
|
+
export declare class XBRLValidator {
|
|
21
|
+
/**
|
|
22
|
+
* Validates a value against XBRL datatype validation rules
|
|
23
|
+
* Only validates when value is not blank
|
|
24
|
+
*
|
|
25
|
+
* @param conceptType - The XBRL concept type (e.g., "nl-types:houseNumberNLItemType")
|
|
26
|
+
* @param value - The input value to validate
|
|
27
|
+
* @param datatypes - Array of XBRL datatypes from taxonomy
|
|
28
|
+
* @returns Validation result with errors if any
|
|
29
|
+
*/
|
|
30
|
+
static validateConceptValue(conceptType: string | undefined, value: any, datatypes?: XBRLDatatype[]): XBRLValidationResult;
|
|
31
|
+
/**
|
|
32
|
+
* Finds the datatype definition for a given concept type
|
|
33
|
+
* Handles both exact matches and base type chain resolution
|
|
34
|
+
*/
|
|
35
|
+
private static findDatatype;
|
|
36
|
+
/**
|
|
37
|
+
* Validates that value matches the regex pattern
|
|
38
|
+
*/
|
|
39
|
+
private static validatePattern;
|
|
40
|
+
/**
|
|
41
|
+
* Validates that value has exact length
|
|
42
|
+
*/
|
|
43
|
+
private static validateExactLength;
|
|
44
|
+
/**
|
|
45
|
+
* Validates minimum length
|
|
46
|
+
*/
|
|
47
|
+
private static validateMinLength;
|
|
48
|
+
/**
|
|
49
|
+
* Validates maximum length
|
|
50
|
+
*/
|
|
51
|
+
private static validateMaxLength;
|
|
52
|
+
/**
|
|
53
|
+
* Validates total digits (for numeric values)
|
|
54
|
+
*/
|
|
55
|
+
private static validateTotalDigits;
|
|
56
|
+
/**
|
|
57
|
+
* Gets a human-readable summary of validation rules for a concept type
|
|
58
|
+
* Useful for displaying validation hints to users
|
|
59
|
+
*/
|
|
60
|
+
static getValidationRulesSummary(conceptType: string | undefined, datatypes?: XBRLDatatype[]): string[];
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=xbrl-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xbrl-validation.d.ts","sourceRoot":"","sources":["../../src/utils/xbrl-validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,aAAa;IACxB;;;;;;;;OAQG;IACH,MAAM,CAAC,oBAAoB,CACzB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,EAAE,GAAG,EACV,SAAS,CAAC,EAAE,YAAY,EAAE,GACzB,oBAAoB;IAqEvB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IA+B3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAuB9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAYlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAYhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAYhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAelC;;;OAGG;IACH,MAAM,CAAC,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE;CA+BxG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jupiter-dynamic-forms",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
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",
|