@genesislcap/foundation-forms 14.488.1 → 14.488.2-FUI-2571.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 (37) hide show
  1. package/dist/custom-elements.json +1381 -721
  2. package/dist/dts/form.d.ts +77 -0
  3. package/dist/dts/form.d.ts.map +1 -1
  4. package/dist/dts/form.styles.d.ts.map +1 -1
  5. package/dist/dts/form.template.d.ts.map +1 -1
  6. package/dist/dts/index.d.ts +3 -0
  7. package/dist/dts/index.d.ts.map +1 -1
  8. package/dist/dts/jsonforms/renderers/CategorizationWrapperRenderer.d.ts.map +1 -1
  9. package/dist/dts/react.d.ts +10 -0
  10. package/dist/dts/review.d.ts +34 -0
  11. package/dist/dts/review.d.ts.map +1 -0
  12. package/dist/dts/review.styles.d.ts +3 -0
  13. package/dist/dts/review.styles.d.ts.map +1 -0
  14. package/dist/dts/review.template.d.ts +6 -0
  15. package/dist/dts/review.template.d.ts.map +1 -0
  16. package/dist/dts/utils/index.d.ts +1 -0
  17. package/dist/dts/utils/index.d.ts.map +1 -1
  18. package/dist/dts/utils/review-utils.d.ts +73 -0
  19. package/dist/dts/utils/review-utils.d.ts.map +1 -0
  20. package/dist/dts/utils/schema-utils.d.ts +12 -0
  21. package/dist/dts/utils/schema-utils.d.ts.map +1 -1
  22. package/dist/esm/form.js +120 -1
  23. package/dist/esm/form.styles.js +9 -2
  24. package/dist/esm/form.template.js +58 -24
  25. package/dist/esm/index.js +3 -0
  26. package/dist/esm/jsonforms/renderers/CategorizationWrapperRenderer.js +1 -45
  27. package/dist/esm/review.js +63 -0
  28. package/dist/esm/review.styles.js +93 -0
  29. package/dist/esm/review.template.js +38 -0
  30. package/dist/esm/utils/index.js +1 -0
  31. package/dist/esm/utils/review-utils.js +269 -0
  32. package/dist/esm/utils/schema-utils.js +48 -0
  33. package/dist/foundation-forms.api.json +1229 -114
  34. package/dist/foundation-forms.d.ts +200 -0
  35. package/dist/react.cjs +7 -0
  36. package/dist/react.mjs +6 -0
  37. package/package.json +15 -15
@@ -191,6 +191,36 @@
191
191
  "description": "When enabled, transforms the form into bulk insert mode where multiple records can be added.\nThe JSON schema will be wrapped as an array, and each item will be submitted separately.",
192
192
  "privacy": "public"
193
193
  },
194
+ {
195
+ "kind": "field",
196
+ "name": "submitButtonText",
197
+ "type": {
198
+ "text": "string"
199
+ },
200
+ "default": "'Submit'",
201
+ "description": "Text to appear on submit button",
202
+ "privacy": "public"
203
+ },
204
+ {
205
+ "kind": "field",
206
+ "name": "bulkSubmitButtonText",
207
+ "type": {
208
+ "text": "string"
209
+ },
210
+ "default": "'Submit All'",
211
+ "description": "Text to appear on submit button in bulk insert mode",
212
+ "privacy": "public"
213
+ },
214
+ {
215
+ "kind": "field",
216
+ "name": "resetButtonText",
217
+ "type": {
218
+ "text": "string"
219
+ },
220
+ "default": "'Reset'",
221
+ "description": "Text to appear on reset button",
222
+ "privacy": "public"
223
+ },
194
224
  {
195
225
  "kind": "field",
196
226
  "name": "bulkInsertMinItems",
@@ -210,6 +240,44 @@
210
240
  "description": "Maximum number of items allowed in bulk insert mode. If not set, no maximum is enforced.",
211
241
  "privacy": "public"
212
242
  },
243
+ {
244
+ "kind": "field",
245
+ "name": "showSubmitReview",
246
+ "type": {
247
+ "text": "boolean"
248
+ },
249
+ "description": "When enabled, clicking submit with no validation errors shows a read-only preview\nof the form data before the final submission.",
250
+ "privacy": "public"
251
+ },
252
+ {
253
+ "kind": "field",
254
+ "name": "reviewButtonText",
255
+ "type": {
256
+ "text": "string"
257
+ },
258
+ "default": "'Review'",
259
+ "description": "Text to appear on reset button",
260
+ "privacy": "public"
261
+ },
262
+ {
263
+ "kind": "field",
264
+ "name": "reviewHeading",
265
+ "type": {
266
+ "text": "string"
267
+ },
268
+ "default": "'Review'",
269
+ "description": "Heading shown at the top of the review panel.",
270
+ "privacy": "public"
271
+ },
272
+ {
273
+ "kind": "field",
274
+ "name": "reviewIdField",
275
+ "type": {
276
+ "text": "string"
277
+ },
278
+ "description": "Name of a top-level data field whose value is shown as an identifier next to the\nreview heading (e.g. a record's primary key). No identifier is shown when unset.",
279
+ "privacy": "public"
280
+ },
213
281
  {
214
282
  "kind": "field",
215
283
  "name": "rowSubmitStatuses",
@@ -607,6 +675,33 @@
607
675
  "description": "When enabled, transforms the form into bulk insert mode where multiple records can be added.\nThe JSON schema will be wrapped as an array, and each item will be submitted separately.",
608
676
  "fieldName": "bulkInsert"
609
677
  },
678
+ {
679
+ "name": "submit-button-text",
680
+ "type": {
681
+ "text": "string"
682
+ },
683
+ "default": "'Submit'",
684
+ "description": "Text to appear on submit button",
685
+ "fieldName": "submitButtonText"
686
+ },
687
+ {
688
+ "name": "bulk-submit-button-text",
689
+ "type": {
690
+ "text": "string"
691
+ },
692
+ "default": "'Submit All'",
693
+ "description": "Text to appear on submit button in bulk insert mode",
694
+ "fieldName": "bulkSubmitButtonText"
695
+ },
696
+ {
697
+ "name": "reset-button-text",
698
+ "type": {
699
+ "text": "string"
700
+ },
701
+ "default": "'Reset'",
702
+ "description": "Text to appear on reset button",
703
+ "fieldName": "resetButtonText"
704
+ },
610
705
  {
611
706
  "name": "bulk-insert-min-items",
612
707
  "type": {
@@ -623,6 +718,40 @@
623
718
  },
624
719
  "description": "Maximum number of items allowed in bulk insert mode. If not set, no maximum is enforced.",
625
720
  "fieldName": "bulkInsertMaxItems"
721
+ },
722
+ {
723
+ "name": "show-submit-review",
724
+ "type": {
725
+ "text": "boolean"
726
+ },
727
+ "description": "When enabled, clicking submit with no validation errors shows a read-only preview\nof the form data before the final submission.",
728
+ "fieldName": "showSubmitReview"
729
+ },
730
+ {
731
+ "name": "review-button-text",
732
+ "type": {
733
+ "text": "string"
734
+ },
735
+ "default": "'Review'",
736
+ "description": "Text to appear on reset button",
737
+ "fieldName": "reviewButtonText"
738
+ },
739
+ {
740
+ "name": "review-heading",
741
+ "type": {
742
+ "text": "string"
743
+ },
744
+ "default": "'Review'",
745
+ "description": "Heading shown at the top of the review panel.",
746
+ "fieldName": "reviewHeading"
747
+ },
748
+ {
749
+ "name": "review-id-field",
750
+ "type": {
751
+ "text": "string"
752
+ },
753
+ "description": "Name of a top-level data field whose value is shown as an identifier next to the\nreview heading (e.g. a record's primary key). No identifier is shown when unset.",
754
+ "fieldName": "reviewIdField"
626
755
  }
627
756
  ],
628
757
  "mixins": [
@@ -703,6 +832,30 @@
703
832
  "package": "./form.template"
704
833
  }
705
834
  },
835
+ {
836
+ "kind": "js",
837
+ "name": "*",
838
+ "declaration": {
839
+ "name": "*",
840
+ "package": "./review"
841
+ }
842
+ },
843
+ {
844
+ "kind": "js",
845
+ "name": "*",
846
+ "declaration": {
847
+ "name": "*",
848
+ "package": "./review.styles"
849
+ }
850
+ },
851
+ {
852
+ "kind": "js",
853
+ "name": "*",
854
+ "declaration": {
855
+ "name": "*",
856
+ "package": "./review.template"
857
+ }
858
+ },
706
859
  {
707
860
  "kind": "js",
708
861
  "name": "MulticolumnDropdownControlRendererEntry",
@@ -875,6 +1028,119 @@
875
1028
  }
876
1029
  ]
877
1030
  },
1031
+ {
1032
+ "kind": "javascript-module",
1033
+ "path": "src/review.styles.ts",
1034
+ "declarations": [],
1035
+ "exports": []
1036
+ },
1037
+ {
1038
+ "kind": "javascript-module",
1039
+ "path": "src/review.template.ts",
1040
+ "declarations": [],
1041
+ "exports": []
1042
+ },
1043
+ {
1044
+ "kind": "javascript-module",
1045
+ "path": "src/review.ts",
1046
+ "declarations": [
1047
+ {
1048
+ "kind": "class",
1049
+ "description": "Read-only preview panel shown by `<foundation-form>` when `show-submit-review` is enabled.\nRenders the reviewed data grouped into sections with a header and a filter field.",
1050
+ "name": "Review",
1051
+ "members": [
1052
+ {
1053
+ "kind": "field",
1054
+ "name": "prefix",
1055
+ "type": {
1056
+ "text": "string"
1057
+ },
1058
+ "default": "'rapid'"
1059
+ },
1060
+ {
1061
+ "kind": "field",
1062
+ "name": "heading",
1063
+ "type": {
1064
+ "text": "string"
1065
+ },
1066
+ "default": "'Review'",
1067
+ "description": "Title shown in the review header.",
1068
+ "privacy": "public"
1069
+ },
1070
+ {
1071
+ "kind": "field",
1072
+ "name": "recordId",
1073
+ "type": {
1074
+ "text": "string"
1075
+ },
1076
+ "description": "Optional identifier shown next to the heading, e.g. a record's primary key.",
1077
+ "privacy": "public"
1078
+ },
1079
+ {
1080
+ "kind": "field",
1081
+ "name": "sections",
1082
+ "type": {
1083
+ "text": "ReviewSection[]"
1084
+ },
1085
+ "default": "[]",
1086
+ "description": "Sections of label/value pairs to render, grouped by their nearest UI schema `Group`.",
1087
+ "privacy": "public"
1088
+ }
1089
+ ],
1090
+ "attributes": [
1091
+ {
1092
+ "name": "design-system-prefix",
1093
+ "type": {
1094
+ "text": "string"
1095
+ },
1096
+ "default": "'rapid'",
1097
+ "fieldName": "prefix"
1098
+ },
1099
+ {
1100
+ "name": "heading",
1101
+ "type": {
1102
+ "text": "string"
1103
+ },
1104
+ "default": "'Review'",
1105
+ "description": "Title shown in the review header.",
1106
+ "fieldName": "heading"
1107
+ },
1108
+ {
1109
+ "name": "record-id",
1110
+ "type": {
1111
+ "text": "string"
1112
+ },
1113
+ "description": "Optional identifier shown next to the heading, e.g. a record's primary key.",
1114
+ "fieldName": "recordId"
1115
+ }
1116
+ ],
1117
+ "superclass": {
1118
+ "name": "FASTElement",
1119
+ "package": "@microsoft/fast-element"
1120
+ },
1121
+ "tagName": "foundation-form-review",
1122
+ "customElement": true
1123
+ }
1124
+ ],
1125
+ "exports": [
1126
+ {
1127
+ "kind": "js",
1128
+ "name": "Review",
1129
+ "declaration": {
1130
+ "name": "Review",
1131
+ "module": "src/review.ts"
1132
+ }
1133
+ },
1134
+ {
1135
+ "kind": "custom-element-definition",
1136
+ "name": "foundation-form-review",
1137
+ "declaration": {
1138
+ "name": "Review",
1139
+ "module": "src/review.ts"
1140
+ }
1141
+ }
1142
+ ]
1143
+ },
878
1144
  {
879
1145
  "kind": "javascript-module",
880
1146
  "path": "src/types.ts",
@@ -1779,391 +2045,188 @@
1779
2045
  },
1780
2046
  {
1781
2047
  "kind": "javascript-module",
1782
- "path": "src/utils/confirmation-dialog-utils.ts",
1783
- "declarations": [],
1784
- "exports": []
1785
- },
1786
- {
1787
- "kind": "javascript-module",
1788
- "path": "src/utils/csv-parser.ts",
2048
+ "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
1789
2049
  "declarations": [
1790
2050
  {
1791
2051
  "kind": "function",
1792
- "name": "parseCsv",
1793
- "return": {
1794
- "type": {
1795
- "text": ""
1796
- }
1797
- },
2052
+ "name": "ArrayListWrapperRendererTemplate",
1798
2053
  "parameters": [
1799
2054
  {
1800
- "name": "content",
2055
+ "name": "prefix",
2056
+ "default": "'zero'",
1801
2057
  "type": {
1802
2058
  "text": "string"
1803
- },
1804
- "description": "The CSV content as a string"
2059
+ }
1805
2060
  }
1806
- ],
1807
- "description": "Parses a CSV string into headers and rows using PapaParse.\nHandles quoted fields, escaped quotes, empty values, and mixed line endings.",
1808
- "privacy": "public"
2061
+ ]
1809
2062
  },
1810
2063
  {
1811
- "kind": "function",
1812
- "name": "mapCsvToSchema",
1813
- "return": {
1814
- "type": {
1815
- "text": ""
1816
- }
1817
- },
1818
- "parameters": [
2064
+ "kind": "class",
2065
+ "description": "",
2066
+ "name": "ArrayListWrapper",
2067
+ "members": [
1819
2068
  {
1820
- "name": "csvRows",
1821
- "type": {
1822
- "text": "Record<string, string>[]"
1823
- },
1824
- "description": "The parsed CSV rows"
2069
+ "kind": "field",
2070
+ "name": "form"
1825
2071
  },
1826
2072
  {
1827
- "name": "schema",
1828
- "type": {
1829
- "text": "JSONSchema7 | undefined"
1830
- },
1831
- "description": "The JSON schema defining the fields"
2073
+ "kind": "field",
2074
+ "name": "control"
1832
2075
  },
1833
2076
  {
1834
- "name": "uiSchema",
1835
- "optional": true,
2077
+ "kind": "field",
2078
+ "name": "schema"
2079
+ },
2080
+ {
2081
+ "kind": "field",
2082
+ "name": "uiSchema"
2083
+ },
2084
+ {
2085
+ "kind": "field",
2086
+ "name": "isGridView",
1836
2087
  "type": {
1837
- "text": "UiSchema"
2088
+ "text": "boolean"
1838
2089
  },
1839
- "description": "Optional UI schema to map labels to field names on import"
1840
- }
1841
- ],
1842
- "description": "Maps CSV rows to schema fields with case-insensitive matching.\nWhen uiSchema is provided, CSV headers can also match UI schema labels.\nConverts values to appropriate types based on schema definition.",
1843
- "privacy": "public"
1844
- },
1845
- {
1846
- "kind": "function",
1847
- "name": "generateCsvTemplate",
1848
- "return": {
1849
- "type": {
1850
- "text": ""
1851
- }
1852
- },
1853
- "parameters": [
2090
+ "default": "false"
2091
+ },
1854
2092
  {
1855
- "name": "schema",
2093
+ "kind": "field",
2094
+ "name": "gridViewHeaderCells",
1856
2095
  "type": {
1857
- "text": "JSONSchema7 | undefined"
2096
+ "text": "GridHeaderCell[]"
1858
2097
  },
1859
- "description": "The JSON schema defining the fields"
2098
+ "default": "[]"
1860
2099
  },
1861
2100
  {
1862
- "name": "uiSchema",
1863
- "optional": true,
2101
+ "kind": "field",
2102
+ "name": "gridViewUiSchema",
1864
2103
  "type": {
1865
- "text": "UiSchema"
2104
+ "text": "any"
1866
2105
  },
1867
- "description": "Optional UI schema to determine field order and visibility"
2106
+ "default": "null"
1868
2107
  },
1869
2108
  {
1870
- "name": "includeOptionalFields",
1871
- "default": "true",
1872
- "type": {
1873
- "text": "boolean"
1874
- },
1875
- "description": "Whether to include optional fields when no UI schema (default: true)"
2109
+ "kind": "method",
2110
+ "name": "controlChanged"
1876
2111
  },
1877
2112
  {
1878
- "name": "includeBom",
1879
- "default": "true",
1880
- "type": {
1881
- "text": "boolean"
1882
- },
1883
- "description": "Whether to prepend UTF-8 BOM for Excel compatibility (default: true)"
1884
- }
1885
- ],
1886
- "description": "Generates a CSV template string with headers and sample data based on JSON schema.\nIf a UI schema is provided, it will be used to determine which fields to include\nand in what order. Hidden fields in the UI schema will be excluded.",
1887
- "privacy": "public"
1888
- },
1889
- {
1890
- "kind": "function",
1891
- "name": "downloadCsvTemplate",
1892
- "return": {
1893
- "type": {
1894
- "text": "void"
1895
- }
1896
- },
1897
- "parameters": [
2113
+ "kind": "method",
2114
+ "name": "addItem"
2115
+ },
1898
2116
  {
1899
- "name": "csvContent",
1900
- "type": {
1901
- "text": "string"
1902
- },
1903
- "description": "The CSV content to download"
2117
+ "kind": "method",
2118
+ "name": "deleteItem",
2119
+ "parameters": [
2120
+ {
2121
+ "name": "index",
2122
+ "type": {
2123
+ "text": "number"
2124
+ }
2125
+ }
2126
+ ]
1904
2127
  },
1905
2128
  {
1906
- "name": "fileName",
1907
- "default": "'template.csv'",
1908
- "type": {
1909
- "text": "string"
1910
- },
1911
- "description": "The name for the downloaded file (default: 'template.csv')"
2129
+ "kind": "method",
2130
+ "name": "submitRow",
2131
+ "parameters": [
2132
+ {
2133
+ "name": "index",
2134
+ "type": {
2135
+ "text": "number"
2136
+ },
2137
+ "description": "The row index to submit"
2138
+ }
2139
+ ],
2140
+ "description": "Submits a single row by emitting an event that bubbles up to the foundation-form."
1912
2141
  }
1913
2142
  ],
1914
- "description": "Triggers a download of the CSV template file in the browser.",
1915
- "privacy": "public"
2143
+ "superclass": {
2144
+ "name": "FASTElement",
2145
+ "package": "@microsoft/fast-element"
2146
+ },
2147
+ "tagName": "array-list-wrapper",
2148
+ "customElement": true
1916
2149
  }
1917
2150
  ],
1918
2151
  "exports": [
1919
2152
  {
1920
2153
  "kind": "js",
1921
- "name": "parseCsv",
1922
- "declaration": {
1923
- "name": "parseCsv",
1924
- "module": "src/utils/csv-parser.ts"
1925
- }
1926
- },
1927
- {
1928
- "kind": "js",
1929
- "name": "mapCsvToSchema",
2154
+ "name": "ArrayListWrapperRendererTemplate",
1930
2155
  "declaration": {
1931
- "name": "mapCsvToSchema",
1932
- "module": "src/utils/csv-parser.ts"
2156
+ "name": "ArrayListWrapperRendererTemplate",
2157
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1933
2158
  }
1934
2159
  },
1935
2160
  {
1936
2161
  "kind": "js",
1937
- "name": "generateCsvTemplate",
2162
+ "name": "ArrayListWrapper",
1938
2163
  "declaration": {
1939
- "name": "generateCsvTemplate",
1940
- "module": "src/utils/csv-parser.ts"
2164
+ "name": "ArrayListWrapper",
2165
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1941
2166
  }
1942
2167
  },
1943
2168
  {
1944
- "kind": "js",
1945
- "name": "downloadCsvTemplate",
2169
+ "kind": "custom-element-definition",
2170
+ "name": "array-list-wrapper",
1946
2171
  "declaration": {
1947
- "name": "downloadCsvTemplate",
1948
- "module": "src/utils/csv-parser.ts"
2172
+ "name": "ArrayListWrapper",
2173
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1949
2174
  }
1950
2175
  }
1951
2176
  ]
1952
2177
  },
1953
2178
  {
1954
2179
  "kind": "javascript-module",
1955
- "path": "src/utils/filters.ts",
1956
- "declarations": [],
1957
- "exports": []
1958
- },
1959
- {
1960
- "kind": "javascript-module",
1961
- "path": "src/utils/form-utils.ts",
2180
+ "path": "src/jsonforms/renderers/BooleanControlRenderer.ts",
1962
2181
  "declarations": [
1963
2182
  {
1964
2183
  "kind": "function",
1965
- "name": "removeDataPropertiesNotInSchema",
1966
- "return": {
1967
- "type": {
1968
- "text": ""
1969
- }
1970
- },
2184
+ "name": "BooleanControlRendererTemplate",
1971
2185
  "parameters": [
1972
2186
  {
1973
- "name": "data",
1974
- "type": {
1975
- "text": "any"
1976
- },
1977
- "description": "The data object to clean"
1978
- },
1979
- {
1980
- "name": "jsonSchema",
2187
+ "name": "prefix",
2188
+ "default": "'zero'",
1981
2189
  "type": {
1982
- "text": "JSONSchema7"
1983
- },
1984
- "description": "The JSON schema to validate against"
2190
+ "text": "string"
2191
+ }
1985
2192
  }
1986
- ],
1987
- "description": "Removes data properties that aren't part of the schema"
1988
- }
1989
- ],
1990
- "exports": [
2193
+ ]
2194
+ },
1991
2195
  {
1992
- "kind": "js",
1993
- "name": "removeDataPropertiesNotInSchema",
1994
- "declaration": {
1995
- "name": "removeDataPropertiesNotInSchema",
1996
- "module": "src/utils/form-utils.ts"
1997
- }
2196
+ "kind": "variable",
2197
+ "name": "BooleanControlEntry",
2198
+ "type": {
2199
+ "text": "RendererEntry"
2200
+ },
2201
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => BooleanControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(BOOLEAN_CONTROL_RANK, isOneOfBoolean),\n mapper: mapStateToControlProps,\n}"
1998
2202
  }
1999
- ]
2000
- },
2001
- {
2002
- "kind": "javascript-module",
2003
- "path": "src/utils/index.ts",
2004
- "declarations": [],
2203
+ ],
2005
2204
  "exports": [
2006
2205
  {
2007
2206
  "kind": "js",
2008
- "name": "*",
2009
- "declaration": {
2010
- "name": "*",
2011
- "package": "./csv-parser"
2012
- }
2013
- },
2014
- {
2015
- "kind": "js",
2016
- "name": "*",
2017
- "declaration": {
2018
- "name": "*",
2019
- "package": "./filters"
2020
- }
2021
- },
2022
- {
2023
- "kind": "js",
2024
- "name": "*",
2025
- "declaration": {
2026
- "name": "*",
2027
- "package": "./logger"
2028
- }
2029
- },
2030
- {
2031
- "kind": "js",
2032
- "name": "*",
2033
- "declaration": {
2034
- "name": "*",
2035
- "package": "./translation"
2036
- }
2037
- },
2038
- {
2039
- "kind": "js",
2040
- "name": "*",
2041
- "declaration": {
2042
- "name": "*",
2043
- "package": "./validation"
2044
- }
2045
- },
2046
- {
2047
- "kind": "js",
2048
- "name": "*",
2207
+ "name": "BooleanControlRendererTemplate",
2049
2208
  "declaration": {
2050
- "name": "*",
2051
- "package": "./server-errors"
2209
+ "name": "BooleanControlRendererTemplate",
2210
+ "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2052
2211
  }
2053
2212
  },
2054
2213
  {
2055
2214
  "kind": "js",
2056
- "name": "*",
2215
+ "name": "BooleanControlEntry",
2057
2216
  "declaration": {
2058
- "name": "*",
2059
- "package": "./types"
2217
+ "name": "BooleanControlEntry",
2218
+ "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2060
2219
  }
2061
2220
  }
2062
2221
  ]
2063
2222
  },
2064
2223
  {
2065
2224
  "kind": "javascript-module",
2066
- "path": "src/utils/logger.ts",
2067
- "declarations": [],
2068
- "exports": []
2069
- },
2070
- {
2071
- "kind": "javascript-module",
2072
- "path": "src/utils/schema-utils.ts",
2073
- "declarations": [],
2074
- "exports": []
2075
- },
2076
- {
2077
- "kind": "javascript-module",
2078
- "path": "src/utils/server-errors.ts",
2225
+ "path": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts",
2079
2226
  "declarations": [
2080
2227
  {
2081
2228
  "kind": "function",
2082
- "name": "mapGenesisFieldErrorsToAdditionalErrors",
2083
- "return": {
2084
- "type": {
2085
- "text": "ErrorObject[]"
2086
- }
2087
- },
2088
- "parameters": [
2089
- {
2090
- "name": "errors",
2091
- "type": {
2092
- "text": "GenesisFieldError[] | undefined"
2093
- },
2094
- "description": "Genesis ERROR array from an EVENT_NACK response"
2095
- },
2096
- {
2097
- "name": "schema",
2098
- "optional": true,
2099
- "type": {
2100
- "text": "JSONSchema7"
2101
- },
2102
- "description": "JSON schema used to resolve `parentSchema` for each field"
2103
- },
2104
- {
2105
- "name": "instancePathPrefix",
2106
- "optional": true,
2107
- "type": {
2108
- "text": "string"
2109
- },
2110
- "description": "Optional prefix for bulk-insert rows (e.g. `/items/0`)"
2111
- }
2112
- ],
2113
- "description": "Maps Genesis commitEvent NACK `ERROR[]` entries to JsonForms `ErrorObject[]`\nsuitable for `additionalErrors` on the form core.\n\nOnly entries with a `FIELD` or `PATH` are mapped; generic errors (no field\nassociation) are omitted so callers can still surface them via toast/dialog.",
2114
- "privacy": "public"
2115
- }
2116
- ],
2117
- "exports": [
2118
- {
2119
- "kind": "js",
2120
- "name": "mapGenesisFieldErrorsToAdditionalErrors",
2121
- "declaration": {
2122
- "name": "mapGenesisFieldErrorsToAdditionalErrors",
2123
- "module": "src/utils/server-errors.ts"
2124
- }
2125
- }
2126
- ]
2127
- },
2128
- {
2129
- "kind": "javascript-module",
2130
- "path": "src/utils/translation.ts",
2131
- "declarations": [],
2132
- "exports": []
2133
- },
2134
- {
2135
- "kind": "javascript-module",
2136
- "path": "src/utils/types.ts",
2137
- "declarations": [],
2138
- "exports": []
2139
- },
2140
- {
2141
- "kind": "javascript-module",
2142
- "path": "src/utils/validation.ts",
2143
- "declarations": [
2144
- {
2145
- "kind": "function",
2146
- "name": "mustMatch",
2147
- "parameters": [
2148
- {
2149
- "name": "target",
2150
- "type": {
2151
- "text": "string"
2152
- },
2153
- "description": "any other field"
2154
- }
2155
- ],
2156
- "description": "Ensures the value of the current field (the one the validator is on) matches the one of the target field.",
2157
- "return": {
2158
- "type": {
2159
- "text": ""
2160
- }
2161
- },
2162
- "privacy": "public"
2163
- },
2164
- {
2165
- "kind": "function",
2166
- "name": "getAnyOfErrorMessage",
2229
+ "name": "computeCategoryClassName",
2167
2230
  "return": {
2168
2231
  "type": {
2169
2232
  "text": "string"
@@ -2171,75 +2234,38 @@
2171
2234
  },
2172
2235
  "parameters": [
2173
2236
  {
2174
- "name": "errors",
2237
+ "name": "category",
2175
2238
  "type": {
2176
- "text": "Array<any> | undefined"
2239
+ "text": "UiSchemaElement"
2177
2240
  }
2178
2241
  },
2179
2242
  {
2180
- "name": "schema",
2243
+ "name": "data",
2181
2244
  "type": {
2182
2245
  "text": "any"
2183
2246
  }
2184
- },
2185
- {
2186
- "name": "controlPath",
2187
- "type": {
2188
- "text": "string | undefined"
2189
- }
2190
- },
2191
- {
2192
- "name": "uiCustomMsg",
2193
- "optional": true,
2194
- "type": {
2195
- "text": "string"
2196
- }
2197
2247
  }
2198
- ],
2199
- "description": "Computes a human-friendly anyOf error message for a given control path.\nPrefers UI schema custom message, then JSON schema errorMessage.anyOf, then a constructed fallback.",
2200
- "privacy": "public"
2201
- }
2202
- ],
2203
- "exports": [
2204
- {
2205
- "kind": "js",
2206
- "name": "mustMatch",
2207
- "declaration": {
2208
- "name": "mustMatch",
2209
- "module": "src/utils/validation.ts"
2210
- }
2248
+ ]
2211
2249
  },
2212
2250
  {
2213
- "kind": "js",
2214
- "name": "getAnyOfErrorMessage",
2215
- "declaration": {
2216
- "name": "getAnyOfErrorMessage",
2217
- "module": "src/utils/validation.ts"
2218
- }
2219
- }
2220
- ]
2221
- },
2222
- {
2223
- "kind": "javascript-module",
2224
- "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
2225
- "declarations": [
2251
+ "kind": "variable",
2252
+ "name": "tabControlIconStyles",
2253
+ "default": "css`\n .tab-control-icon {\n margin-left: 3px;\n color: #f9644d;\n }\n`"
2254
+ },
2226
2255
  {
2227
2256
  "kind": "function",
2228
- "name": "ArrayListWrapperRendererTemplate",
2257
+ "name": "CategorizationWrapperRendererTemplate",
2229
2258
  "parameters": [
2230
2259
  {
2231
2260
  "name": "prefix",
2232
- "default": "'zero'",
2233
- "type": {
2234
- "text": "string"
2235
- }
2261
+ "default": "'zero'"
2236
2262
  }
2237
2263
  ]
2238
2264
  },
2239
2265
  {
2240
2266
  "kind": "class",
2241
2267
  "description": "",
2242
- "name": "ArrayListWrapper",
2268
+ "name": "CategorizationWrapper",
2243
2269
  "members": [
2244
2270
  {
2245
2271
  "kind": "field",
@@ -2251,35 +2277,29 @@
2251
2277
  },
2252
2278
  {
2253
2279
  "kind": "field",
2254
- "name": "schema"
2255
- },
2256
- {
2257
- "kind": "field",
2258
- "name": "uiSchema"
2259
- },
2260
- {
2261
- "kind": "field",
2262
- "name": "isGridView",
2280
+ "name": "mountedTabs",
2263
2281
  "type": {
2264
- "text": "boolean"
2282
+ "text": "Set<number>"
2265
2283
  },
2266
- "default": "false"
2284
+ "default": "new Set([0])"
2267
2285
  },
2268
2286
  {
2269
2287
  "kind": "field",
2270
- "name": "gridViewHeaderCells",
2288
+ "name": "activeTabIndex",
2271
2289
  "type": {
2272
- "text": "GridHeaderCell[]"
2290
+ "text": "number"
2273
2291
  },
2274
- "default": "[]"
2292
+ "default": "0"
2275
2293
  },
2276
2294
  {
2277
2295
  "kind": "field",
2278
- "name": "gridViewUiSchema",
2296
+ "name": "hasAppliedActiveCategory",
2279
2297
  "type": {
2280
- "text": "any"
2298
+ "text": "boolean"
2281
2299
  },
2282
- "default": "null"
2300
+ "privacy": "private",
2301
+ "default": "false",
2302
+ "description": "`control` is rebuilt from scratch on every JSONForms state change (every\nkeystroke, validation pass, async default-data update), so `controlChanged`\nfires repeatedly throughout the form's life — not just on first paint.\nApplying `activeCategory` each time would yank the user back to the\nconfigured tab mid-edit (and unmount the open panel). This flag ensures the\ninitial tab is applied once; thereafter the user's own navigation wins."
2283
2303
  },
2284
2304
  {
2285
2305
  "kind": "method",
@@ -2287,315 +2307,119 @@
2287
2307
  },
2288
2308
  {
2289
2309
  "kind": "method",
2290
- "name": "addItem"
2310
+ "name": "isMounted",
2311
+ "return": {
2312
+ "type": {
2313
+ "text": "boolean"
2314
+ }
2315
+ },
2316
+ "parameters": [
2317
+ {
2318
+ "name": "index",
2319
+ "type": {
2320
+ "text": "number"
2321
+ }
2322
+ }
2323
+ ]
2291
2324
  },
2292
2325
  {
2293
2326
  "kind": "method",
2294
- "name": "deleteItem",
2327
+ "name": "handleTabChange",
2295
2328
  "parameters": [
2296
2329
  {
2297
- "name": "index",
2330
+ "name": "event",
2298
2331
  "type": {
2299
- "text": "number"
2332
+ "text": "Event"
2300
2333
  }
2301
2334
  }
2302
2335
  ]
2303
2336
  },
2304
2337
  {
2305
2338
  "kind": "method",
2306
- "name": "submitRow",
2339
+ "name": "hasCategoryError",
2340
+ "return": {
2341
+ "type": {
2342
+ "text": "boolean"
2343
+ }
2344
+ },
2307
2345
  "parameters": [
2308
2346
  {
2309
- "name": "index",
2347
+ "name": "categoryIndex",
2310
2348
  "type": {
2311
2349
  "text": "number"
2312
- },
2313
- "description": "The row index to submit"
2350
+ }
2314
2351
  }
2315
- ],
2316
- "description": "Submits a single row by emitting an event that bubbles up to the foundation-form."
2352
+ ]
2317
2353
  }
2318
2354
  ],
2319
2355
  "superclass": {
2320
2356
  "name": "FASTElement",
2321
2357
  "package": "@microsoft/fast-element"
2322
2358
  },
2323
- "tagName": "array-list-wrapper",
2359
+ "tagName": "categorization-wrapper",
2324
2360
  "customElement": true
2325
2361
  }
2326
2362
  ],
2327
2363
  "exports": [
2328
2364
  {
2329
2365
  "kind": "js",
2330
- "name": "ArrayListWrapperRendererTemplate",
2366
+ "name": "computeCategoryClassName",
2331
2367
  "declaration": {
2332
- "name": "ArrayListWrapperRendererTemplate",
2333
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2368
+ "name": "computeCategoryClassName",
2369
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2334
2370
  }
2335
2371
  },
2336
2372
  {
2337
2373
  "kind": "js",
2338
- "name": "ArrayListWrapper",
2374
+ "name": "tabControlIconStyles",
2339
2375
  "declaration": {
2340
- "name": "ArrayListWrapper",
2341
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2376
+ "name": "tabControlIconStyles",
2377
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2378
+ }
2379
+ },
2380
+ {
2381
+ "kind": "js",
2382
+ "name": "CategorizationWrapperRendererTemplate",
2383
+ "declaration": {
2384
+ "name": "CategorizationWrapperRendererTemplate",
2385
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2386
+ }
2387
+ },
2388
+ {
2389
+ "kind": "js",
2390
+ "name": "CategorizationWrapper",
2391
+ "declaration": {
2392
+ "name": "CategorizationWrapper",
2393
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2342
2394
  }
2343
2395
  },
2344
2396
  {
2345
2397
  "kind": "custom-element-definition",
2346
- "name": "array-list-wrapper",
2398
+ "name": "categorization-wrapper",
2347
2399
  "declaration": {
2348
- "name": "ArrayListWrapper",
2349
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2400
+ "name": "CategorizationWrapper",
2401
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2350
2402
  }
2351
2403
  }
2352
2404
  ]
2353
2405
  },
2354
2406
  {
2355
2407
  "kind": "javascript-module",
2356
- "path": "src/jsonforms/renderers/BooleanControlRenderer.ts",
2408
+ "path": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts",
2357
2409
  "declarations": [
2358
2410
  {
2359
2411
  "kind": "function",
2360
- "name": "BooleanControlRendererTemplate",
2412
+ "name": "resolveSelectedOptions",
2413
+ "return": {
2414
+ "type": {
2415
+ "text": "any[]"
2416
+ }
2417
+ },
2361
2418
  "parameters": [
2362
2419
  {
2363
- "name": "prefix",
2364
- "default": "'zero'",
2420
+ "name": "control",
2365
2421
  "type": {
2366
- "text": "string"
2367
- }
2368
- }
2369
- ]
2370
- },
2371
- {
2372
- "kind": "variable",
2373
- "name": "BooleanControlEntry",
2374
- "type": {
2375
- "text": "RendererEntry"
2376
- },
2377
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => BooleanControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(BOOLEAN_CONTROL_RANK, isOneOfBoolean),\n mapper: mapStateToControlProps,\n}"
2378
- }
2379
- ],
2380
- "exports": [
2381
- {
2382
- "kind": "js",
2383
- "name": "BooleanControlRendererTemplate",
2384
- "declaration": {
2385
- "name": "BooleanControlRendererTemplate",
2386
- "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2387
- }
2388
- },
2389
- {
2390
- "kind": "js",
2391
- "name": "BooleanControlEntry",
2392
- "declaration": {
2393
- "name": "BooleanControlEntry",
2394
- "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2395
- }
2396
- }
2397
- ]
2398
- },
2399
- {
2400
- "kind": "javascript-module",
2401
- "path": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts",
2402
- "declarations": [
2403
- {
2404
- "kind": "function",
2405
- "name": "computeCategoryClassName",
2406
- "return": {
2407
- "type": {
2408
- "text": "string"
2409
- }
2410
- },
2411
- "parameters": [
2412
- {
2413
- "name": "category",
2414
- "type": {
2415
- "text": "UiSchemaElement"
2416
- }
2417
- },
2418
- {
2419
- "name": "data",
2420
- "type": {
2421
- "text": "any"
2422
- }
2423
- }
2424
- ]
2425
- },
2426
- {
2427
- "kind": "variable",
2428
- "name": "tabControlIconStyles",
2429
- "default": "css`\n .tab-control-icon {\n margin-left: 3px;\n color: #f9644d;\n }\n`"
2430
- },
2431
- {
2432
- "kind": "function",
2433
- "name": "CategorizationWrapperRendererTemplate",
2434
- "parameters": [
2435
- {
2436
- "name": "prefix",
2437
- "default": "'zero'"
2438
- }
2439
- ]
2440
- },
2441
- {
2442
- "kind": "class",
2443
- "description": "",
2444
- "name": "CategorizationWrapper",
2445
- "members": [
2446
- {
2447
- "kind": "field",
2448
- "name": "form"
2449
- },
2450
- {
2451
- "kind": "field",
2452
- "name": "control"
2453
- },
2454
- {
2455
- "kind": "field",
2456
- "name": "mountedTabs",
2457
- "type": {
2458
- "text": "Set<number>"
2459
- },
2460
- "default": "new Set([0])"
2461
- },
2462
- {
2463
- "kind": "field",
2464
- "name": "activeTabIndex",
2465
- "type": {
2466
- "text": "number"
2467
- },
2468
- "default": "0"
2469
- },
2470
- {
2471
- "kind": "field",
2472
- "name": "hasAppliedActiveCategory",
2473
- "type": {
2474
- "text": "boolean"
2475
- },
2476
- "privacy": "private",
2477
- "default": "false",
2478
- "description": "`control` is rebuilt from scratch on every JSONForms state change (every\nkeystroke, validation pass, async default-data update), so `controlChanged`\nfires repeatedly throughout the form's life — not just on first paint.\nApplying `activeCategory` each time would yank the user back to the\nconfigured tab mid-edit (and unmount the open panel). This flag ensures the\ninitial tab is applied once; thereafter the user's own navigation wins."
2479
- },
2480
- {
2481
- "kind": "method",
2482
- "name": "controlChanged"
2483
- },
2484
- {
2485
- "kind": "method",
2486
- "name": "isMounted",
2487
- "return": {
2488
- "type": {
2489
- "text": "boolean"
2490
- }
2491
- },
2492
- "parameters": [
2493
- {
2494
- "name": "index",
2495
- "type": {
2496
- "text": "number"
2497
- }
2498
- }
2499
- ]
2500
- },
2501
- {
2502
- "kind": "method",
2503
- "name": "handleTabChange",
2504
- "parameters": [
2505
- {
2506
- "name": "event",
2507
- "type": {
2508
- "text": "Event"
2509
- }
2510
- }
2511
- ]
2512
- },
2513
- {
2514
- "kind": "method",
2515
- "name": "hasCategoryError",
2516
- "return": {
2517
- "type": {
2518
- "text": "boolean"
2519
- }
2520
- },
2521
- "parameters": [
2522
- {
2523
- "name": "categoryIndex",
2524
- "type": {
2525
- "text": "number"
2526
- }
2527
- }
2528
- ]
2529
- }
2530
- ],
2531
- "superclass": {
2532
- "name": "FASTElement",
2533
- "package": "@microsoft/fast-element"
2534
- },
2535
- "tagName": "categorization-wrapper",
2536
- "customElement": true
2537
- }
2538
- ],
2539
- "exports": [
2540
- {
2541
- "kind": "js",
2542
- "name": "computeCategoryClassName",
2543
- "declaration": {
2544
- "name": "computeCategoryClassName",
2545
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2546
- }
2547
- },
2548
- {
2549
- "kind": "js",
2550
- "name": "tabControlIconStyles",
2551
- "declaration": {
2552
- "name": "tabControlIconStyles",
2553
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2554
- }
2555
- },
2556
- {
2557
- "kind": "js",
2558
- "name": "CategorizationWrapperRendererTemplate",
2559
- "declaration": {
2560
- "name": "CategorizationWrapperRendererTemplate",
2561
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2562
- }
2563
- },
2564
- {
2565
- "kind": "js",
2566
- "name": "CategorizationWrapper",
2567
- "declaration": {
2568
- "name": "CategorizationWrapper",
2569
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2570
- }
2571
- },
2572
- {
2573
- "kind": "custom-element-definition",
2574
- "name": "categorization-wrapper",
2575
- "declaration": {
2576
- "name": "CategorizationWrapper",
2577
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2578
- }
2579
- }
2580
- ]
2581
- },
2582
- {
2583
- "kind": "javascript-module",
2584
- "path": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts",
2585
- "declarations": [
2586
- {
2587
- "kind": "function",
2588
- "name": "resolveSelectedOptions",
2589
- "return": {
2590
- "type": {
2591
- "text": "any[]"
2592
- }
2593
- },
2594
- "parameters": [
2595
- {
2596
- "name": "control",
2597
- "type": {
2598
- "text": "any"
2422
+ "text": "any"
2599
2423
  }
2600
2424
  }
2601
2425
  ]
@@ -4962,199 +4786,1035 @@
4962
4786
  "declarations": [
4963
4787
  {
4964
4788
  "kind": "function",
4965
- "name": "isInvisible",
4789
+ "name": "isInvisible",
4790
+ "return": {
4791
+ "type": {
4792
+ "text": "boolean"
4793
+ }
4794
+ },
4795
+ "parameters": [
4796
+ {
4797
+ "name": "uischema",
4798
+ "type": {
4799
+ "text": "UISchemaElement"
4800
+ }
4801
+ },
4802
+ {
4803
+ "name": "schema",
4804
+ "type": {
4805
+ "text": "JsonSchema"
4806
+ }
4807
+ },
4808
+ {
4809
+ "name": "context",
4810
+ "type": {
4811
+ "text": "TesterContext"
4812
+ }
4813
+ }
4814
+ ]
4815
+ }
4816
+ ],
4817
+ "exports": [
4818
+ {
4819
+ "kind": "js",
4820
+ "name": "isInvisible",
4821
+ "declaration": {
4822
+ "name": "isInvisible",
4823
+ "module": "src/jsonforms/testers/isInvisible.ts"
4824
+ }
4825
+ }
4826
+ ]
4827
+ },
4828
+ {
4829
+ "kind": "javascript-module",
4830
+ "path": "src/jsonforms/testers/isOneOfBoolean.ts",
4831
+ "declarations": [
4832
+ {
4833
+ "kind": "variable",
4834
+ "name": "isOneOfBoolean"
4835
+ }
4836
+ ],
4837
+ "exports": [
4838
+ {
4839
+ "kind": "js",
4840
+ "name": "isOneOfBoolean",
4841
+ "declaration": {
4842
+ "name": "isOneOfBoolean",
4843
+ "module": "src/jsonforms/testers/isOneOfBoolean.ts"
4844
+ }
4845
+ }
4846
+ ]
4847
+ },
4848
+ {
4849
+ "kind": "javascript-module",
4850
+ "path": "src/jsonforms/testers/isOneOfEnum.ts",
4851
+ "declarations": [
4852
+ {
4853
+ "kind": "variable",
4854
+ "name": "isOneOfEnum"
4855
+ }
4856
+ ],
4857
+ "exports": [
4858
+ {
4859
+ "kind": "js",
4860
+ "name": "isOneOfEnum",
4861
+ "declaration": {
4862
+ "name": "isOneOfEnum",
4863
+ "module": "src/jsonforms/testers/isOneOfEnum.ts"
4864
+ }
4865
+ }
4866
+ ]
4867
+ },
4868
+ {
4869
+ "kind": "javascript-module",
4870
+ "path": "src/jsonforms/testers/isOneOfNumber.ts",
4871
+ "declarations": [
4872
+ {
4873
+ "kind": "function",
4874
+ "name": "isBigDecimal",
4875
+ "return": {
4876
+ "type": {
4877
+ "text": "boolean"
4878
+ }
4879
+ },
4880
+ "parameters": [
4881
+ {
4882
+ "name": "fieldSchema",
4883
+ "type": {
4884
+ "text": "GenesisJsonSchema"
4885
+ }
4886
+ }
4887
+ ]
4888
+ },
4889
+ {
4890
+ "kind": "variable",
4891
+ "name": "isOneOfNumber"
4892
+ }
4893
+ ],
4894
+ "exports": [
4895
+ {
4896
+ "kind": "js",
4897
+ "name": "isBigDecimal",
4898
+ "declaration": {
4899
+ "name": "isBigDecimal",
4900
+ "module": "src/jsonforms/testers/isOneOfNumber.ts"
4901
+ }
4902
+ },
4903
+ {
4904
+ "kind": "js",
4905
+ "name": "isOneOfNumber",
4906
+ "declaration": {
4907
+ "name": "isOneOfNumber",
4908
+ "module": "src/jsonforms/testers/isOneOfNumber.ts"
4909
+ }
4910
+ }
4911
+ ]
4912
+ },
4913
+ {
4914
+ "kind": "javascript-module",
4915
+ "path": "src/jsonforms/testers/isOneOfOptionMultiselect.ts",
4916
+ "declarations": [
4917
+ {
4918
+ "kind": "variable",
4919
+ "name": "isOneOfOptionMultiselect"
4920
+ }
4921
+ ],
4922
+ "exports": [
4923
+ {
4924
+ "kind": "js",
4925
+ "name": "isOneOfOptionMultiselect",
4926
+ "declaration": {
4927
+ "name": "isOneOfOptionMultiselect",
4928
+ "module": "src/jsonforms/testers/isOneOfOptionMultiselect.ts"
4929
+ }
4930
+ }
4931
+ ]
4932
+ },
4933
+ {
4934
+ "kind": "javascript-module",
4935
+ "path": "src/jsonforms/testers/isTime.ts",
4936
+ "declarations": [
4937
+ {
4938
+ "kind": "variable",
4939
+ "name": "isOneOfTime"
4940
+ }
4941
+ ],
4942
+ "exports": [
4943
+ {
4944
+ "kind": "js",
4945
+ "name": "isOneOfTime",
4946
+ "declaration": {
4947
+ "name": "isOneOfTime",
4948
+ "module": "src/jsonforms/testers/isTime.ts"
4949
+ }
4950
+ }
4951
+ ]
4952
+ },
4953
+ {
4954
+ "kind": "javascript-module",
4955
+ "path": "src/jsonforms/testers/optionIs.ts",
4956
+ "declarations": [
4957
+ {
4958
+ "kind": "function",
4959
+ "name": "optionIs",
4960
+ "return": {
4961
+ "type": {
4962
+ "text": "Tester"
4963
+ }
4964
+ },
4965
+ "parameters": [
4966
+ {
4967
+ "name": "optionName",
4968
+ "type": {
4969
+ "text": "string"
4970
+ }
4971
+ }
4972
+ ]
4973
+ }
4974
+ ],
4975
+ "exports": [
4976
+ {
4977
+ "kind": "js",
4978
+ "name": "optionIs",
4979
+ "declaration": {
4980
+ "name": "optionIs",
4981
+ "module": "src/jsonforms/testers/optionIs.ts"
4982
+ }
4983
+ }
4984
+ ]
4985
+ },
4986
+ {
4987
+ "kind": "javascript-module",
4988
+ "path": "src/utils/confirmation-dialog-utils.ts",
4989
+ "declarations": [],
4990
+ "exports": []
4991
+ },
4992
+ {
4993
+ "kind": "javascript-module",
4994
+ "path": "src/utils/csv-parser.ts",
4995
+ "declarations": [
4996
+ {
4997
+ "kind": "function",
4998
+ "name": "parseCsv",
4999
+ "return": {
5000
+ "type": {
5001
+ "text": ""
5002
+ }
5003
+ },
5004
+ "parameters": [
5005
+ {
5006
+ "name": "content",
5007
+ "type": {
5008
+ "text": "string"
5009
+ },
5010
+ "description": "The CSV content as a string"
5011
+ }
5012
+ ],
5013
+ "description": "Parses a CSV string into headers and rows using PapaParse.\nHandles quoted fields, escaped quotes, empty values, and mixed line endings.",
5014
+ "privacy": "public"
5015
+ },
5016
+ {
5017
+ "kind": "function",
5018
+ "name": "mapCsvToSchema",
5019
+ "return": {
5020
+ "type": {
5021
+ "text": ""
5022
+ }
5023
+ },
5024
+ "parameters": [
5025
+ {
5026
+ "name": "csvRows",
5027
+ "type": {
5028
+ "text": "Record<string, string>[]"
5029
+ },
5030
+ "description": "The parsed CSV rows"
5031
+ },
5032
+ {
5033
+ "name": "schema",
5034
+ "type": {
5035
+ "text": "JSONSchema7 | undefined"
5036
+ },
5037
+ "description": "The JSON schema defining the fields"
5038
+ },
5039
+ {
5040
+ "name": "uiSchema",
5041
+ "optional": true,
5042
+ "type": {
5043
+ "text": "UiSchema"
5044
+ },
5045
+ "description": "Optional UI schema to map labels to field names on import"
5046
+ }
5047
+ ],
5048
+ "description": "Maps CSV rows to schema fields with case-insensitive matching.\nWhen uiSchema is provided, CSV headers can also match UI schema labels.\nConverts values to appropriate types based on schema definition.",
5049
+ "privacy": "public"
5050
+ },
5051
+ {
5052
+ "kind": "function",
5053
+ "name": "generateCsvTemplate",
5054
+ "return": {
5055
+ "type": {
5056
+ "text": ""
5057
+ }
5058
+ },
5059
+ "parameters": [
5060
+ {
5061
+ "name": "schema",
5062
+ "type": {
5063
+ "text": "JSONSchema7 | undefined"
5064
+ },
5065
+ "description": "The JSON schema defining the fields"
5066
+ },
5067
+ {
5068
+ "name": "uiSchema",
5069
+ "optional": true,
5070
+ "type": {
5071
+ "text": "UiSchema"
5072
+ },
5073
+ "description": "Optional UI schema to determine field order and visibility"
5074
+ },
5075
+ {
5076
+ "name": "includeOptionalFields",
5077
+ "default": "true",
5078
+ "type": {
5079
+ "text": "boolean"
5080
+ },
5081
+ "description": "Whether to include optional fields when no UI schema (default: true)"
5082
+ },
5083
+ {
5084
+ "name": "includeBom",
5085
+ "default": "true",
5086
+ "type": {
5087
+ "text": "boolean"
5088
+ },
5089
+ "description": "Whether to prepend UTF-8 BOM for Excel compatibility (default: true)"
5090
+ }
5091
+ ],
5092
+ "description": "Generates a CSV template string with headers and sample data based on JSON schema.\nIf a UI schema is provided, it will be used to determine which fields to include\nand in what order. Hidden fields in the UI schema will be excluded.",
5093
+ "privacy": "public"
5094
+ },
5095
+ {
5096
+ "kind": "function",
5097
+ "name": "downloadCsvTemplate",
5098
+ "return": {
5099
+ "type": {
5100
+ "text": "void"
5101
+ }
5102
+ },
5103
+ "parameters": [
5104
+ {
5105
+ "name": "csvContent",
5106
+ "type": {
5107
+ "text": "string"
5108
+ },
5109
+ "description": "The CSV content to download"
5110
+ },
5111
+ {
5112
+ "name": "fileName",
5113
+ "default": "'template.csv'",
5114
+ "type": {
5115
+ "text": "string"
5116
+ },
5117
+ "description": "The name for the downloaded file (default: 'template.csv')"
5118
+ }
5119
+ ],
5120
+ "description": "Triggers a download of the CSV template file in the browser.",
5121
+ "privacy": "public"
5122
+ }
5123
+ ],
5124
+ "exports": [
5125
+ {
5126
+ "kind": "js",
5127
+ "name": "parseCsv",
5128
+ "declaration": {
5129
+ "name": "parseCsv",
5130
+ "module": "src/utils/csv-parser.ts"
5131
+ }
5132
+ },
5133
+ {
5134
+ "kind": "js",
5135
+ "name": "mapCsvToSchema",
5136
+ "declaration": {
5137
+ "name": "mapCsvToSchema",
5138
+ "module": "src/utils/csv-parser.ts"
5139
+ }
5140
+ },
5141
+ {
5142
+ "kind": "js",
5143
+ "name": "generateCsvTemplate",
5144
+ "declaration": {
5145
+ "name": "generateCsvTemplate",
5146
+ "module": "src/utils/csv-parser.ts"
5147
+ }
5148
+ },
5149
+ {
5150
+ "kind": "js",
5151
+ "name": "downloadCsvTemplate",
5152
+ "declaration": {
5153
+ "name": "downloadCsvTemplate",
5154
+ "module": "src/utils/csv-parser.ts"
5155
+ }
5156
+ }
5157
+ ]
5158
+ },
5159
+ {
5160
+ "kind": "javascript-module",
5161
+ "path": "src/utils/filters.ts",
5162
+ "declarations": [],
5163
+ "exports": []
5164
+ },
5165
+ {
5166
+ "kind": "javascript-module",
5167
+ "path": "src/utils/form-utils.ts",
5168
+ "declarations": [
5169
+ {
5170
+ "kind": "function",
5171
+ "name": "removeDataPropertiesNotInSchema",
5172
+ "return": {
5173
+ "type": {
5174
+ "text": ""
5175
+ }
5176
+ },
5177
+ "parameters": [
5178
+ {
5179
+ "name": "data",
5180
+ "type": {
5181
+ "text": "any"
5182
+ },
5183
+ "description": "The data object to clean"
5184
+ },
5185
+ {
5186
+ "name": "jsonSchema",
5187
+ "type": {
5188
+ "text": "JSONSchema7"
5189
+ },
5190
+ "description": "The JSON schema to validate against"
5191
+ }
5192
+ ],
5193
+ "description": "Removes data properties that aren't part of the schema"
5194
+ }
5195
+ ],
5196
+ "exports": [
5197
+ {
5198
+ "kind": "js",
5199
+ "name": "removeDataPropertiesNotInSchema",
5200
+ "declaration": {
5201
+ "name": "removeDataPropertiesNotInSchema",
5202
+ "module": "src/utils/form-utils.ts"
5203
+ }
5204
+ }
5205
+ ]
5206
+ },
5207
+ {
5208
+ "kind": "javascript-module",
5209
+ "path": "src/utils/index.ts",
5210
+ "declarations": [],
5211
+ "exports": [
5212
+ {
5213
+ "kind": "js",
5214
+ "name": "*",
5215
+ "declaration": {
5216
+ "name": "*",
5217
+ "package": "./csv-parser"
5218
+ }
5219
+ },
5220
+ {
5221
+ "kind": "js",
5222
+ "name": "*",
5223
+ "declaration": {
5224
+ "name": "*",
5225
+ "package": "./review-utils"
5226
+ }
5227
+ },
5228
+ {
5229
+ "kind": "js",
5230
+ "name": "*",
5231
+ "declaration": {
5232
+ "name": "*",
5233
+ "package": "./filters"
5234
+ }
5235
+ },
5236
+ {
5237
+ "kind": "js",
5238
+ "name": "*",
5239
+ "declaration": {
5240
+ "name": "*",
5241
+ "package": "./logger"
5242
+ }
5243
+ },
5244
+ {
5245
+ "kind": "js",
5246
+ "name": "*",
5247
+ "declaration": {
5248
+ "name": "*",
5249
+ "package": "./translation"
5250
+ }
5251
+ },
5252
+ {
5253
+ "kind": "js",
5254
+ "name": "*",
5255
+ "declaration": {
5256
+ "name": "*",
5257
+ "package": "./validation"
5258
+ }
5259
+ },
5260
+ {
5261
+ "kind": "js",
5262
+ "name": "*",
5263
+ "declaration": {
5264
+ "name": "*",
5265
+ "package": "./server-errors"
5266
+ }
5267
+ },
5268
+ {
5269
+ "kind": "js",
5270
+ "name": "*",
5271
+ "declaration": {
5272
+ "name": "*",
5273
+ "package": "./types"
5274
+ }
5275
+ }
5276
+ ]
5277
+ },
5278
+ {
5279
+ "kind": "javascript-module",
5280
+ "path": "src/utils/logger.ts",
5281
+ "declarations": [],
5282
+ "exports": []
5283
+ },
5284
+ {
5285
+ "kind": "javascript-module",
5286
+ "path": "src/utils/review-utils.ts",
5287
+ "declarations": [
5288
+ {
5289
+ "kind": "function",
5290
+ "name": "buildReviewFields",
5291
+ "return": {
5292
+ "type": {
5293
+ "text": "Promise<ReviewField[]>"
5294
+ }
5295
+ },
5296
+ "parameters": [
5297
+ {
5298
+ "name": "data",
5299
+ "type": {
5300
+ "text": "Record<string, any>"
5301
+ }
5302
+ },
5303
+ {
5304
+ "name": "uiSchema",
5305
+ "type": {
5306
+ "text": "any"
5307
+ }
5308
+ },
5309
+ {
5310
+ "name": "schema",
5311
+ "type": {
5312
+ "text": "any"
5313
+ }
5314
+ }
5315
+ ],
5316
+ "description": "Flattens `buildReviewSections` output into a single ordered list.\nSection titles are prepended to field labels as \"Title — Field\"."
5317
+ },
5318
+ {
5319
+ "kind": "function",
5320
+ "name": "buildReviewSections",
5321
+ "return": {
5322
+ "type": {
5323
+ "text": "Promise<ReviewSection[]>"
5324
+ }
5325
+ },
5326
+ "parameters": [
5327
+ {
5328
+ "name": "data",
5329
+ "type": {
5330
+ "text": "Record<string, any>"
5331
+ }
5332
+ },
5333
+ {
5334
+ "name": "uiSchema",
5335
+ "type": {
5336
+ "text": "any"
5337
+ }
5338
+ },
5339
+ {
5340
+ "name": "schema",
5341
+ "type": {
5342
+ "text": "any"
5343
+ }
5344
+ }
5345
+ ],
5346
+ "description": "Builds the review panel's fields grouped into sections by their nearest `Group` layout.\nUngrouped fields are collected into a single section with a `null` title (rendered with\na placeholder heading). Falls back to a flat, single ungrouped section when no UI schema\nis available.\n\nAsync because connected-select fields backed by `options.allOptionsResourceName` (rather\nthan a static `options.data`) resolve their display label with a criteria-filtered fetch\n— see `resolveResourceOptionLabel`. The UI schema is walked synchronously to collect one\nvalue-resolution promise per field (preserving encounter order), then all promises settle\nin parallel via `Promise.all` before fields are added to their sections — so a slow fetch\nfor one field can't reorder fields that resolved faster."
5347
+ },
5348
+ {
5349
+ "kind": "function",
5350
+ "name": "filterReviewSections",
5351
+ "return": {
5352
+ "type": {
5353
+ "text": "ReviewSection[]"
5354
+ }
5355
+ },
5356
+ "parameters": [
5357
+ {
5358
+ "name": "sections",
5359
+ "type": {
5360
+ "text": "ReviewSection[]"
5361
+ }
5362
+ },
5363
+ {
5364
+ "name": "query",
5365
+ "type": {
5366
+ "text": "string"
5367
+ }
5368
+ }
5369
+ ],
5370
+ "description": "Filters review sections down to fields whose label or value contains `query`\n(case-insensitive). Sections left with no matching fields are dropped entirely.\nReturns `sections` unchanged when `query` is blank."
5371
+ },
5372
+ {
5373
+ "kind": "function",
5374
+ "name": "collectReviewFields",
5375
+ "return": {
5376
+ "type": {
5377
+ "text": "void"
5378
+ }
5379
+ },
5380
+ "parameters": [
5381
+ {
5382
+ "name": "element",
5383
+ "type": {
5384
+ "text": "any"
5385
+ }
5386
+ },
5387
+ {
5388
+ "name": "data",
5389
+ "type": {
5390
+ "text": "any"
5391
+ }
5392
+ },
5393
+ {
5394
+ "name": "out",
5395
+ "type": {
5396
+ "text": "ReviewField[]"
5397
+ }
5398
+ },
5399
+ {
5400
+ "name": "groupLabel",
5401
+ "type": {
5402
+ "text": "string | undefined"
5403
+ }
5404
+ },
5405
+ {
5406
+ "name": "schema",
5407
+ "type": {
5408
+ "text": "any"
5409
+ }
5410
+ }
5411
+ ],
5412
+ "description": "Recursively walks a UI schema element, collecting visible Control fields into `out`.\nPasses the nearest Group label down so children are labelled \"Group — Field\"."
5413
+ },
5414
+ {
5415
+ "kind": "function",
5416
+ "name": "resolveOptionLabel",
5417
+ "return": {
5418
+ "type": {
5419
+ "text": "string | null"
5420
+ }
5421
+ },
5422
+ "parameters": [
5423
+ {
5424
+ "name": "raw",
5425
+ "type": {
5426
+ "text": "any"
5427
+ }
5428
+ },
5429
+ {
5430
+ "name": "options",
5431
+ "type": {
5432
+ "text": "any"
5433
+ }
5434
+ }
5435
+ ],
5436
+ "description": "Looks up the display label for a raw value from `options.data` (used by segmented,\nradio group, connected-select, and enum-with-explicit-data renderers). Honors\n`options.valueField`/`options.labelField` when set, defaulting to `value`/`label`.\nReturns `null` when no match found."
5437
+ },
5438
+ {
5439
+ "kind": "function",
5440
+ "name": "resolveResourceOptionLabel",
5441
+ "return": {
5442
+ "type": {
5443
+ "text": "Promise<string | null>"
5444
+ }
5445
+ },
5446
+ "parameters": [
5447
+ {
5448
+ "name": "raw",
5449
+ "type": {
5450
+ "text": "any"
5451
+ }
5452
+ },
5453
+ {
5454
+ "name": "options",
5455
+ "type": {
5456
+ "text": "any"
5457
+ }
5458
+ }
5459
+ ],
5460
+ "description": "Resolves the display label for a connected-select field backed by\n`options.allOptionsResourceName` (a Data Server/Request Server resource) rather than a\nstatic `options.data` array — e.g. `ConnectedSelectControlRenderer` in async/remote mode.\nFetches a single row via a criteria-filtered snapshot matching `valueField === raw`,\nthen reads `labelField` off the returned row. Returns `null` when there's no resource\nto query, the resource can't be reached, or no row matches."
5461
+ },
5462
+ {
5463
+ "kind": "function",
5464
+ "name": "resolveEnumLabel",
5465
+ "return": {
5466
+ "type": {
5467
+ "text": "string | null"
5468
+ }
5469
+ },
5470
+ "parameters": [
5471
+ {
5472
+ "name": "raw",
5473
+ "type": {
5474
+ "text": "any"
5475
+ }
5476
+ },
5477
+ {
5478
+ "name": "fieldName",
5479
+ "type": {
5480
+ "text": "string"
5481
+ }
5482
+ },
5483
+ {
5484
+ "name": "schema",
5485
+ "type": {
5486
+ "text": "any"
5487
+ }
5488
+ }
5489
+ ],
5490
+ "description": "For plain enum combobox fields (no options.data), applies the same `capitalCase`\ntransform the renderer uses — e.g. `SEMI_ANNUAL` → `Semi Annual`.\nNavigates the JSON schema via the fieldName path to confirm the field is an enum\nbefore transforming. Returns `null` for non-enum fields."
5491
+ },
5492
+ {
5493
+ "kind": "function",
5494
+ "name": "getDataValueAtPath",
5495
+ "return": {
5496
+ "type": {
5497
+ "text": "any"
5498
+ }
5499
+ },
5500
+ "parameters": [
5501
+ {
5502
+ "name": "data",
5503
+ "type": {
5504
+ "text": "any"
5505
+ }
5506
+ },
5507
+ {
5508
+ "name": "fieldName",
5509
+ "type": {
5510
+ "text": "string"
5511
+ }
5512
+ }
5513
+ ],
5514
+ "description": "Navigates a `/properties/`-separated path in data to support nested object scopes\nsuch as `ADDRESS/properties/STREET` produced by Group layout UI schemas."
5515
+ },
5516
+ {
5517
+ "kind": "function",
5518
+ "name": "formatValueForReview",
4966
5519
  "return": {
4967
5520
  "type": {
4968
- "text": "boolean"
5521
+ "text": "string"
4969
5522
  }
4970
5523
  },
4971
5524
  "parameters": [
4972
5525
  {
4973
- "name": "uischema",
4974
- "type": {
4975
- "text": "UISchemaElement"
4976
- }
4977
- },
4978
- {
4979
- "name": "schema",
4980
- "type": {
4981
- "text": "JsonSchema"
4982
- }
4983
- },
4984
- {
4985
- "name": "context",
5526
+ "name": "value",
4986
5527
  "type": {
4987
- "text": "TesterContext"
5528
+ "text": "any"
4988
5529
  }
4989
5530
  }
4990
- ]
5531
+ ],
5532
+ "description": "Converts a raw field value to a display string for the review panel.\nArrays of primitives are comma-joined; arrays of objects and plain objects\nare rendered as readable `key: value` lines."
4991
5533
  }
4992
5534
  ],
4993
5535
  "exports": [
4994
5536
  {
4995
5537
  "kind": "js",
4996
- "name": "isInvisible",
5538
+ "name": "buildReviewFields",
4997
5539
  "declaration": {
4998
- "name": "isInvisible",
4999
- "module": "src/jsonforms/testers/isInvisible.ts"
5540
+ "name": "buildReviewFields",
5541
+ "module": "src/utils/review-utils.ts"
5000
5542
  }
5001
- }
5002
- ]
5003
- },
5004
- {
5005
- "kind": "javascript-module",
5006
- "path": "src/jsonforms/testers/isOneOfBoolean.ts",
5007
- "declarations": [
5543
+ },
5008
5544
  {
5009
- "kind": "variable",
5010
- "name": "isOneOfBoolean"
5011
- }
5012
- ],
5013
- "exports": [
5545
+ "kind": "js",
5546
+ "name": "buildReviewSections",
5547
+ "declaration": {
5548
+ "name": "buildReviewSections",
5549
+ "module": "src/utils/review-utils.ts"
5550
+ }
5551
+ },
5014
5552
  {
5015
5553
  "kind": "js",
5016
- "name": "isOneOfBoolean",
5554
+ "name": "filterReviewSections",
5017
5555
  "declaration": {
5018
- "name": "isOneOfBoolean",
5019
- "module": "src/jsonforms/testers/isOneOfBoolean.ts"
5556
+ "name": "filterReviewSections",
5557
+ "module": "src/utils/review-utils.ts"
5020
5558
  }
5021
- }
5022
- ]
5023
- },
5024
- {
5025
- "kind": "javascript-module",
5026
- "path": "src/jsonforms/testers/isOneOfEnum.ts",
5027
- "declarations": [
5559
+ },
5028
5560
  {
5029
- "kind": "variable",
5030
- "name": "isOneOfEnum"
5031
- }
5032
- ],
5033
- "exports": [
5561
+ "kind": "js",
5562
+ "name": "collectReviewFields",
5563
+ "declaration": {
5564
+ "name": "collectReviewFields",
5565
+ "module": "src/utils/review-utils.ts"
5566
+ }
5567
+ },
5034
5568
  {
5035
5569
  "kind": "js",
5036
- "name": "isOneOfEnum",
5570
+ "name": "resolveOptionLabel",
5037
5571
  "declaration": {
5038
- "name": "isOneOfEnum",
5039
- "module": "src/jsonforms/testers/isOneOfEnum.ts"
5572
+ "name": "resolveOptionLabel",
5573
+ "module": "src/utils/review-utils.ts"
5574
+ }
5575
+ },
5576
+ {
5577
+ "kind": "js",
5578
+ "name": "resolveResourceOptionLabel",
5579
+ "declaration": {
5580
+ "name": "resolveResourceOptionLabel",
5581
+ "module": "src/utils/review-utils.ts"
5582
+ }
5583
+ },
5584
+ {
5585
+ "kind": "js",
5586
+ "name": "resolveEnumLabel",
5587
+ "declaration": {
5588
+ "name": "resolveEnumLabel",
5589
+ "module": "src/utils/review-utils.ts"
5590
+ }
5591
+ },
5592
+ {
5593
+ "kind": "js",
5594
+ "name": "getDataValueAtPath",
5595
+ "declaration": {
5596
+ "name": "getDataValueAtPath",
5597
+ "module": "src/utils/review-utils.ts"
5598
+ }
5599
+ },
5600
+ {
5601
+ "kind": "js",
5602
+ "name": "formatValueForReview",
5603
+ "declaration": {
5604
+ "name": "formatValueForReview",
5605
+ "module": "src/utils/review-utils.ts"
5040
5606
  }
5041
5607
  }
5042
5608
  ]
5043
5609
  },
5044
5610
  {
5045
5611
  "kind": "javascript-module",
5046
- "path": "src/jsonforms/testers/isOneOfNumber.ts",
5612
+ "path": "src/utils/schema-utils.ts",
5047
5613
  "declarations": [
5048
5614
  {
5049
5615
  "kind": "function",
5050
- "name": "isBigDecimal",
5616
+ "name": "extractErrorScopes",
5051
5617
  "return": {
5052
5618
  "type": {
5053
- "text": "boolean"
5619
+ "text": "string[]"
5054
5620
  }
5055
5621
  },
5056
5622
  "parameters": [
5057
5623
  {
5058
- "name": "fieldSchema",
5624
+ "name": "errors",
5059
5625
  "type": {
5060
- "text": "GenesisJsonSchema"
5626
+ "text": "ErrorObject[]"
5061
5627
  }
5062
5628
  }
5063
- ]
5629
+ ],
5630
+ "description": "Converts AJV validation errors to the JSON Schema scope strings they correspond to\n(e.g. `#/properties/ADDRESS/properties/STREET`). Used to match errors back to UI\nschema controls for features like categorization-tab error indicators."
5064
5631
  },
5065
5632
  {
5066
- "kind": "variable",
5067
- "name": "isOneOfNumber"
5633
+ "kind": "function",
5634
+ "name": "uiSchemaHasAnyError",
5635
+ "return": {
5636
+ "type": {
5637
+ "text": "boolean"
5638
+ }
5639
+ },
5640
+ "parameters": [
5641
+ {
5642
+ "name": "uiSchema",
5643
+ "type": {
5644
+ "text": "UiSchemaElement | UiSchema"
5645
+ }
5646
+ },
5647
+ {
5648
+ "name": "errorScopes",
5649
+ "type": {
5650
+ "text": "string[]"
5651
+ }
5652
+ }
5653
+ ],
5654
+ "description": "Returns true when `uiSchema` (or any of its descendants) has a scope that appears\nin `errorScopes`. Walks both `elements` and `options.childElements`."
5068
5655
  }
5069
5656
  ],
5070
5657
  "exports": [
5071
5658
  {
5072
5659
  "kind": "js",
5073
- "name": "isBigDecimal",
5660
+ "name": "extractErrorScopes",
5074
5661
  "declaration": {
5075
- "name": "isBigDecimal",
5076
- "module": "src/jsonforms/testers/isOneOfNumber.ts"
5662
+ "name": "extractErrorScopes",
5663
+ "module": "src/utils/schema-utils.ts"
5077
5664
  }
5078
5665
  },
5079
5666
  {
5080
5667
  "kind": "js",
5081
- "name": "isOneOfNumber",
5668
+ "name": "uiSchemaHasAnyError",
5082
5669
  "declaration": {
5083
- "name": "isOneOfNumber",
5084
- "module": "src/jsonforms/testers/isOneOfNumber.ts"
5670
+ "name": "uiSchemaHasAnyError",
5671
+ "module": "src/utils/schema-utils.ts"
5085
5672
  }
5086
5673
  }
5087
5674
  ]
5088
5675
  },
5089
5676
  {
5090
5677
  "kind": "javascript-module",
5091
- "path": "src/jsonforms/testers/isOneOfOptionMultiselect.ts",
5678
+ "path": "src/utils/server-errors.ts",
5092
5679
  "declarations": [
5093
5680
  {
5094
- "kind": "variable",
5095
- "name": "isOneOfOptionMultiselect"
5681
+ "kind": "function",
5682
+ "name": "mapGenesisFieldErrorsToAdditionalErrors",
5683
+ "return": {
5684
+ "type": {
5685
+ "text": "ErrorObject[]"
5686
+ }
5687
+ },
5688
+ "parameters": [
5689
+ {
5690
+ "name": "errors",
5691
+ "type": {
5692
+ "text": "GenesisFieldError[] | undefined"
5693
+ },
5694
+ "description": "Genesis ERROR array from an EVENT_NACK response"
5695
+ },
5696
+ {
5697
+ "name": "schema",
5698
+ "optional": true,
5699
+ "type": {
5700
+ "text": "JSONSchema7"
5701
+ },
5702
+ "description": "JSON schema used to resolve `parentSchema` for each field"
5703
+ },
5704
+ {
5705
+ "name": "instancePathPrefix",
5706
+ "optional": true,
5707
+ "type": {
5708
+ "text": "string"
5709
+ },
5710
+ "description": "Optional prefix for bulk-insert rows (e.g. `/items/0`)"
5711
+ }
5712
+ ],
5713
+ "description": "Maps Genesis commitEvent NACK `ERROR[]` entries to JsonForms `ErrorObject[]`\nsuitable for `additionalErrors` on the form core.\n\nOnly entries with a `FIELD` or `PATH` are mapped; generic errors (no field\nassociation) are omitted so callers can still surface them via toast/dialog.",
5714
+ "privacy": "public"
5096
5715
  }
5097
5716
  ],
5098
5717
  "exports": [
5099
5718
  {
5100
5719
  "kind": "js",
5101
- "name": "isOneOfOptionMultiselect",
5720
+ "name": "mapGenesisFieldErrorsToAdditionalErrors",
5102
5721
  "declaration": {
5103
- "name": "isOneOfOptionMultiselect",
5104
- "module": "src/jsonforms/testers/isOneOfOptionMultiselect.ts"
5722
+ "name": "mapGenesisFieldErrorsToAdditionalErrors",
5723
+ "module": "src/utils/server-errors.ts"
5105
5724
  }
5106
5725
  }
5107
5726
  ]
5108
5727
  },
5109
5728
  {
5110
5729
  "kind": "javascript-module",
5111
- "path": "src/jsonforms/testers/isTime.ts",
5112
- "declarations": [
5113
- {
5114
- "kind": "variable",
5115
- "name": "isOneOfTime"
5116
- }
5117
- ],
5118
- "exports": [
5119
- {
5120
- "kind": "js",
5121
- "name": "isOneOfTime",
5122
- "declaration": {
5123
- "name": "isOneOfTime",
5124
- "module": "src/jsonforms/testers/isTime.ts"
5125
- }
5126
- }
5127
- ]
5730
+ "path": "src/utils/translation.ts",
5731
+ "declarations": [],
5732
+ "exports": []
5128
5733
  },
5129
5734
  {
5130
5735
  "kind": "javascript-module",
5131
- "path": "src/jsonforms/testers/optionIs.ts",
5736
+ "path": "src/utils/types.ts",
5737
+ "declarations": [],
5738
+ "exports": []
5739
+ },
5740
+ {
5741
+ "kind": "javascript-module",
5742
+ "path": "src/utils/validation.ts",
5132
5743
  "declarations": [
5133
5744
  {
5134
5745
  "kind": "function",
5135
- "name": "optionIs",
5746
+ "name": "mustMatch",
5747
+ "parameters": [
5748
+ {
5749
+ "name": "target",
5750
+ "type": {
5751
+ "text": "string"
5752
+ },
5753
+ "description": "any other field"
5754
+ }
5755
+ ],
5756
+ "description": "Ensures the value of the current field (the one the validator is on) matches the one of the target field.",
5136
5757
  "return": {
5137
5758
  "type": {
5138
- "text": "Tester"
5759
+ "text": ""
5760
+ }
5761
+ },
5762
+ "privacy": "public"
5763
+ },
5764
+ {
5765
+ "kind": "function",
5766
+ "name": "getAnyOfErrorMessage",
5767
+ "return": {
5768
+ "type": {
5769
+ "text": "string"
5139
5770
  }
5140
5771
  },
5141
5772
  "parameters": [
5142
5773
  {
5143
- "name": "optionName",
5774
+ "name": "errors",
5775
+ "type": {
5776
+ "text": "Array<any> | undefined"
5777
+ }
5778
+ },
5779
+ {
5780
+ "name": "schema",
5781
+ "type": {
5782
+ "text": "any"
5783
+ }
5784
+ },
5785
+ {
5786
+ "name": "controlPath",
5787
+ "type": {
5788
+ "text": "string | undefined"
5789
+ }
5790
+ },
5791
+ {
5792
+ "name": "uiCustomMsg",
5793
+ "optional": true,
5144
5794
  "type": {
5145
5795
  "text": "string"
5146
5796
  }
5147
5797
  }
5148
- ]
5798
+ ],
5799
+ "description": "Computes a human-friendly anyOf error message for a given control path.\nPrefers UI schema custom message, then JSON schema errorMessage.anyOf, then a constructed fallback.",
5800
+ "privacy": "public"
5149
5801
  }
5150
5802
  ],
5151
5803
  "exports": [
5152
5804
  {
5153
5805
  "kind": "js",
5154
- "name": "optionIs",
5806
+ "name": "mustMatch",
5155
5807
  "declaration": {
5156
- "name": "optionIs",
5157
- "module": "src/jsonforms/testers/optionIs.ts"
5808
+ "name": "mustMatch",
5809
+ "module": "src/utils/validation.ts"
5810
+ }
5811
+ },
5812
+ {
5813
+ "kind": "js",
5814
+ "name": "getAnyOfErrorMessage",
5815
+ "declaration": {
5816
+ "name": "getAnyOfErrorMessage",
5817
+ "module": "src/utils/validation.ts"
5158
5818
  }
5159
5819
  }
5160
5820
  ]