@genesislcap/foundation-forms 14.488.2-GENC-1351.5 → 14.488.2-GENC-1351.6

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 (2) hide show
  1. package/dist/custom-elements.json +1142 -1142
  2. package/package.json +15 -15
@@ -1779,487 +1779,556 @@
1779
1779
  },
1780
1780
  {
1781
1781
  "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",
1782
+ "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
1789
1783
  "declarations": [
1790
1784
  {
1791
1785
  "kind": "function",
1792
- "name": "parseCsv",
1793
- "return": {
1794
- "type": {
1795
- "text": ""
1796
- }
1797
- },
1786
+ "name": "ArrayListWrapperRendererTemplate",
1798
1787
  "parameters": [
1799
1788
  {
1800
- "name": "content",
1789
+ "name": "prefix",
1790
+ "default": "'zero'",
1801
1791
  "type": {
1802
1792
  "text": "string"
1803
- },
1804
- "description": "The CSV content as a string"
1793
+ }
1805
1794
  }
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"
1795
+ ]
1809
1796
  },
1810
1797
  {
1811
- "kind": "function",
1812
- "name": "mapCsvToSchema",
1813
- "return": {
1814
- "type": {
1815
- "text": ""
1816
- }
1817
- },
1818
- "parameters": [
1798
+ "kind": "class",
1799
+ "description": "",
1800
+ "name": "ArrayListWrapper",
1801
+ "members": [
1819
1802
  {
1820
- "name": "csvRows",
1821
- "type": {
1822
- "text": "Record<string, string>[]"
1823
- },
1824
- "description": "The parsed CSV rows"
1803
+ "kind": "field",
1804
+ "name": "form"
1825
1805
  },
1826
1806
  {
1827
- "name": "schema",
1828
- "type": {
1829
- "text": "JSONSchema7 | undefined"
1830
- },
1831
- "description": "The JSON schema defining the fields"
1807
+ "kind": "field",
1808
+ "name": "control"
1832
1809
  },
1833
1810
  {
1834
- "name": "uiSchema",
1835
- "optional": true,
1836
- "type": {
1837
- "text": "UiSchema"
1838
- },
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": [
1854
- {
1855
- "name": "schema",
1856
- "type": {
1857
- "text": "JSONSchema7 | undefined"
1858
- },
1859
- "description": "The JSON schema defining the fields"
1811
+ "kind": "field",
1812
+ "name": "schema"
1860
1813
  },
1861
1814
  {
1862
- "name": "uiSchema",
1863
- "optional": true,
1864
- "type": {
1865
- "text": "UiSchema"
1866
- },
1867
- "description": "Optional UI schema to determine field order and visibility"
1815
+ "kind": "field",
1816
+ "name": "uiSchema"
1868
1817
  },
1869
1818
  {
1870
- "name": "includeOptionalFields",
1871
- "default": "true",
1819
+ "kind": "field",
1820
+ "name": "isGridView",
1872
1821
  "type": {
1873
1822
  "text": "boolean"
1874
1823
  },
1875
- "description": "Whether to include optional fields when no UI schema (default: true)"
1824
+ "default": "false"
1876
1825
  },
1877
1826
  {
1878
- "name": "includeBom",
1879
- "default": "true",
1827
+ "kind": "field",
1828
+ "name": "gridViewHeaderCells",
1880
1829
  "type": {
1881
- "text": "boolean"
1830
+ "text": "GridHeaderCell[]"
1882
1831
  },
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": [
1832
+ "default": "[]"
1833
+ },
1898
1834
  {
1899
- "name": "csvContent",
1835
+ "kind": "field",
1836
+ "name": "gridViewUiSchema",
1900
1837
  "type": {
1901
- "text": "string"
1838
+ "text": "any"
1902
1839
  },
1903
- "description": "The CSV content to download"
1840
+ "default": "null"
1904
1841
  },
1905
1842
  {
1906
- "name": "fileName",
1907
- "default": "'template.csv'",
1908
- "type": {
1909
- "text": "string"
1910
- },
1911
- "description": "The name for the downloaded file (default: 'template.csv')"
1843
+ "kind": "method",
1844
+ "name": "controlChanged"
1845
+ },
1846
+ {
1847
+ "kind": "method",
1848
+ "name": "addItem"
1849
+ },
1850
+ {
1851
+ "kind": "method",
1852
+ "name": "deleteItem",
1853
+ "parameters": [
1854
+ {
1855
+ "name": "index",
1856
+ "type": {
1857
+ "text": "number"
1858
+ }
1859
+ }
1860
+ ]
1861
+ },
1862
+ {
1863
+ "kind": "method",
1864
+ "name": "submitRow",
1865
+ "parameters": [
1866
+ {
1867
+ "name": "index",
1868
+ "type": {
1869
+ "text": "number"
1870
+ },
1871
+ "description": "The row index to submit"
1872
+ }
1873
+ ],
1874
+ "description": "Submits a single row by emitting an event that bubbles up to the foundation-form."
1912
1875
  }
1913
1876
  ],
1914
- "description": "Triggers a download of the CSV template file in the browser.",
1915
- "privacy": "public"
1877
+ "superclass": {
1878
+ "name": "FASTElement",
1879
+ "package": "@microsoft/fast-element"
1880
+ },
1881
+ "tagName": "array-list-wrapper",
1882
+ "customElement": true
1916
1883
  }
1917
1884
  ],
1918
1885
  "exports": [
1919
1886
  {
1920
1887
  "kind": "js",
1921
- "name": "parseCsv",
1888
+ "name": "ArrayListWrapperRendererTemplate",
1922
1889
  "declaration": {
1923
- "name": "parseCsv",
1924
- "module": "src/utils/csv-parser.ts"
1890
+ "name": "ArrayListWrapperRendererTemplate",
1891
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1925
1892
  }
1926
1893
  },
1927
1894
  {
1928
1895
  "kind": "js",
1929
- "name": "mapCsvToSchema",
1896
+ "name": "ArrayListWrapper",
1930
1897
  "declaration": {
1931
- "name": "mapCsvToSchema",
1932
- "module": "src/utils/csv-parser.ts"
1898
+ "name": "ArrayListWrapper",
1899
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1900
+ }
1901
+ },
1902
+ {
1903
+ "kind": "custom-element-definition",
1904
+ "name": "array-list-wrapper",
1905
+ "declaration": {
1906
+ "name": "ArrayListWrapper",
1907
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
1933
1908
  }
1909
+ }
1910
+ ]
1911
+ },
1912
+ {
1913
+ "kind": "javascript-module",
1914
+ "path": "src/jsonforms/renderers/BooleanControlRenderer.ts",
1915
+ "declarations": [
1916
+ {
1917
+ "kind": "function",
1918
+ "name": "BooleanControlRendererTemplate",
1919
+ "parameters": [
1920
+ {
1921
+ "name": "prefix",
1922
+ "default": "'zero'",
1923
+ "type": {
1924
+ "text": "string"
1925
+ }
1926
+ }
1927
+ ]
1934
1928
  },
1929
+ {
1930
+ "kind": "variable",
1931
+ "name": "BooleanControlEntry",
1932
+ "type": {
1933
+ "text": "RendererEntry"
1934
+ },
1935
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => BooleanControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(BOOLEAN_CONTROL_RANK, isOneOfBoolean),\n mapper: mapStateToControlProps,\n}"
1936
+ }
1937
+ ],
1938
+ "exports": [
1935
1939
  {
1936
1940
  "kind": "js",
1937
- "name": "generateCsvTemplate",
1941
+ "name": "BooleanControlRendererTemplate",
1938
1942
  "declaration": {
1939
- "name": "generateCsvTemplate",
1940
- "module": "src/utils/csv-parser.ts"
1943
+ "name": "BooleanControlRendererTemplate",
1944
+ "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
1941
1945
  }
1942
1946
  },
1943
1947
  {
1944
1948
  "kind": "js",
1945
- "name": "downloadCsvTemplate",
1949
+ "name": "BooleanControlEntry",
1946
1950
  "declaration": {
1947
- "name": "downloadCsvTemplate",
1948
- "module": "src/utils/csv-parser.ts"
1951
+ "name": "BooleanControlEntry",
1952
+ "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
1949
1953
  }
1950
1954
  }
1951
1955
  ]
1952
1956
  },
1953
1957
  {
1954
1958
  "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",
1959
+ "path": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts",
1962
1960
  "declarations": [
1963
1961
  {
1964
1962
  "kind": "function",
1965
- "name": "removeDataPropertiesNotInSchema",
1963
+ "name": "computeCategoryClassName",
1966
1964
  "return": {
1967
1965
  "type": {
1968
- "text": ""
1966
+ "text": "string"
1969
1967
  }
1970
1968
  },
1971
1969
  "parameters": [
1972
1970
  {
1973
- "name": "data",
1971
+ "name": "category",
1974
1972
  "type": {
1975
- "text": "any"
1976
- },
1977
- "description": "The data object to clean"
1973
+ "text": "UiSchemaElement"
1974
+ }
1978
1975
  },
1979
1976
  {
1980
- "name": "jsonSchema",
1977
+ "name": "data",
1981
1978
  "type": {
1982
- "text": "JSONSchema7"
1983
- },
1984
- "description": "The JSON schema to validate against"
1979
+ "text": "any"
1980
+ }
1985
1981
  }
1986
- ],
1987
- "description": "Removes data properties that aren't part of the schema"
1988
- }
1989
- ],
1990
- "exports": [
1991
- {
1992
- "kind": "js",
1993
- "name": "removeDataPropertiesNotInSchema",
1994
- "declaration": {
1995
- "name": "removeDataPropertiesNotInSchema",
1996
- "module": "src/utils/form-utils.ts"
1997
- }
1998
- }
1999
- ]
2000
- },
2001
- {
2002
- "kind": "javascript-module",
2003
- "path": "src/utils/index.ts",
2004
- "declarations": [],
2005
- "exports": [
1982
+ ]
1983
+ },
2006
1984
  {
2007
- "kind": "js",
2008
- "name": "*",
2009
- "declaration": {
2010
- "name": "*",
2011
- "package": "./csv-parser"
2012
- }
1985
+ "kind": "variable",
1986
+ "name": "tabControlIconStyles",
1987
+ "default": "css`\n .tab-control-icon {\n margin-left: 3px;\n color: #f9644d;\n }\n`"
2013
1988
  },
2014
1989
  {
2015
- "kind": "js",
2016
- "name": "*",
2017
- "declaration": {
2018
- "name": "*",
2019
- "package": "./filters"
2020
- }
1990
+ "kind": "function",
1991
+ "name": "CategorizationWrapperRendererTemplate",
1992
+ "parameters": [
1993
+ {
1994
+ "name": "prefix",
1995
+ "default": "'zero'"
1996
+ }
1997
+ ]
2021
1998
  },
1999
+ {
2000
+ "kind": "class",
2001
+ "description": "",
2002
+ "name": "CategorizationWrapper",
2003
+ "members": [
2004
+ {
2005
+ "kind": "field",
2006
+ "name": "form"
2007
+ },
2008
+ {
2009
+ "kind": "field",
2010
+ "name": "control"
2011
+ },
2012
+ {
2013
+ "kind": "field",
2014
+ "name": "mountedTabs",
2015
+ "type": {
2016
+ "text": "Set<number>"
2017
+ },
2018
+ "default": "new Set([0])"
2019
+ },
2020
+ {
2021
+ "kind": "field",
2022
+ "name": "activeTabIndex",
2023
+ "type": {
2024
+ "text": "number"
2025
+ },
2026
+ "default": "0"
2027
+ },
2028
+ {
2029
+ "kind": "field",
2030
+ "name": "hasAppliedActiveCategory",
2031
+ "type": {
2032
+ "text": "boolean"
2033
+ },
2034
+ "privacy": "private",
2035
+ "default": "false",
2036
+ "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."
2037
+ },
2038
+ {
2039
+ "kind": "method",
2040
+ "name": "controlChanged"
2041
+ },
2042
+ {
2043
+ "kind": "method",
2044
+ "name": "isMounted",
2045
+ "return": {
2046
+ "type": {
2047
+ "text": "boolean"
2048
+ }
2049
+ },
2050
+ "parameters": [
2051
+ {
2052
+ "name": "index",
2053
+ "type": {
2054
+ "text": "number"
2055
+ }
2056
+ }
2057
+ ]
2058
+ },
2059
+ {
2060
+ "kind": "method",
2061
+ "name": "handleTabChange",
2062
+ "parameters": [
2063
+ {
2064
+ "name": "event",
2065
+ "type": {
2066
+ "text": "Event"
2067
+ }
2068
+ }
2069
+ ]
2070
+ },
2071
+ {
2072
+ "kind": "method",
2073
+ "name": "hasCategoryError",
2074
+ "return": {
2075
+ "type": {
2076
+ "text": "boolean"
2077
+ }
2078
+ },
2079
+ "parameters": [
2080
+ {
2081
+ "name": "categoryIndex",
2082
+ "type": {
2083
+ "text": "number"
2084
+ }
2085
+ }
2086
+ ]
2087
+ }
2088
+ ],
2089
+ "superclass": {
2090
+ "name": "FASTElement",
2091
+ "package": "@microsoft/fast-element"
2092
+ },
2093
+ "tagName": "categorization-wrapper",
2094
+ "customElement": true
2095
+ }
2096
+ ],
2097
+ "exports": [
2022
2098
  {
2023
2099
  "kind": "js",
2024
- "name": "*",
2100
+ "name": "computeCategoryClassName",
2025
2101
  "declaration": {
2026
- "name": "*",
2027
- "package": "./logger"
2102
+ "name": "computeCategoryClassName",
2103
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2028
2104
  }
2029
2105
  },
2030
2106
  {
2031
2107
  "kind": "js",
2032
- "name": "*",
2108
+ "name": "tabControlIconStyles",
2033
2109
  "declaration": {
2034
- "name": "*",
2035
- "package": "./translation"
2110
+ "name": "tabControlIconStyles",
2111
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2036
2112
  }
2037
2113
  },
2038
2114
  {
2039
2115
  "kind": "js",
2040
- "name": "*",
2116
+ "name": "CategorizationWrapperRendererTemplate",
2041
2117
  "declaration": {
2042
- "name": "*",
2043
- "package": "./validation"
2118
+ "name": "CategorizationWrapperRendererTemplate",
2119
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2044
2120
  }
2045
2121
  },
2046
2122
  {
2047
2123
  "kind": "js",
2048
- "name": "*",
2124
+ "name": "CategorizationWrapper",
2049
2125
  "declaration": {
2050
- "name": "*",
2051
- "package": "./server-errors"
2126
+ "name": "CategorizationWrapper",
2127
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2052
2128
  }
2053
2129
  },
2054
2130
  {
2055
- "kind": "js",
2056
- "name": "*",
2131
+ "kind": "custom-element-definition",
2132
+ "name": "categorization-wrapper",
2057
2133
  "declaration": {
2058
- "name": "*",
2059
- "package": "./types"
2134
+ "name": "CategorizationWrapper",
2135
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2060
2136
  }
2061
2137
  }
2062
2138
  ]
2063
2139
  },
2064
2140
  {
2065
2141
  "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",
2142
+ "path": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts",
2079
2143
  "declarations": [
2080
2144
  {
2081
2145
  "kind": "function",
2082
- "name": "mapGenesisFieldErrorsToAdditionalErrors",
2146
+ "name": "resolveSelectedOptions",
2083
2147
  "return": {
2084
2148
  "type": {
2085
- "text": "ErrorObject[]"
2149
+ "text": "any[]"
2086
2150
  }
2087
2151
  },
2088
2152
  "parameters": [
2089
2153
  {
2090
- "name": "errors",
2154
+ "name": "control",
2091
2155
  "type": {
2092
- "text": "GenesisFieldError[] | undefined"
2093
- },
2094
- "description": "Genesis ERROR array from an EVENT_NACK response"
2095
- },
2156
+ "text": "any"
2157
+ }
2158
+ }
2159
+ ]
2160
+ },
2161
+ {
2162
+ "kind": "function",
2163
+ "name": "resolveSelectionValue",
2164
+ "return": {
2165
+ "type": {
2166
+ "text": "any"
2167
+ }
2168
+ },
2169
+ "parameters": [
2096
2170
  {
2097
- "name": "schema",
2098
- "optional": true,
2171
+ "name": "control",
2099
2172
  "type": {
2100
- "text": "JSONSchema7"
2101
- },
2102
- "description": "JSON schema used to resolve `parentSchema` for each field"
2173
+ "text": "any"
2174
+ }
2103
2175
  },
2104
2176
  {
2105
- "name": "instancePathPrefix",
2106
- "optional": true,
2177
+ "name": "detail",
2178
+ "type": {
2179
+ "text": "any"
2180
+ }
2181
+ }
2182
+ ]
2183
+ },
2184
+ {
2185
+ "kind": "function",
2186
+ "name": "ConnectedMultiselectControlRendererTemplate",
2187
+ "parameters": [
2188
+ {
2189
+ "name": "prefix",
2190
+ "default": "'zero'",
2107
2191
  "type": {
2108
2192
  "text": "string"
2109
- },
2110
- "description": "Optional prefix for bulk-insert rows (e.g. `/items/0`)"
2193
+ }
2111
2194
  }
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"
2195
+ ]
2196
+ },
2197
+ {
2198
+ "kind": "variable",
2199
+ "name": "ConnectedMultiselectControlRendererEntry",
2200
+ "type": {
2201
+ "text": "RendererEntry"
2202
+ },
2203
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedMultiselectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTISELECT_CONTROL_RANK, isOneOfOptionMultiselect),\n mapper: mapStateToControlProps,\n}"
2115
2204
  }
2116
2205
  ],
2117
2206
  "exports": [
2118
2207
  {
2119
2208
  "kind": "js",
2120
- "name": "mapGenesisFieldErrorsToAdditionalErrors",
2209
+ "name": "resolveSelectedOptions",
2121
2210
  "declaration": {
2122
- "name": "mapGenesisFieldErrorsToAdditionalErrors",
2123
- "module": "src/utils/server-errors.ts"
2211
+ "name": "resolveSelectedOptions",
2212
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2213
+ }
2214
+ },
2215
+ {
2216
+ "kind": "js",
2217
+ "name": "resolveSelectionValue",
2218
+ "declaration": {
2219
+ "name": "resolveSelectionValue",
2220
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2221
+ }
2222
+ },
2223
+ {
2224
+ "kind": "js",
2225
+ "name": "ConnectedMultiselectControlRendererTemplate",
2226
+ "declaration": {
2227
+ "name": "ConnectedMultiselectControlRendererTemplate",
2228
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2229
+ }
2230
+ },
2231
+ {
2232
+ "kind": "js",
2233
+ "name": "ConnectedMultiselectControlRendererEntry",
2234
+ "declaration": {
2235
+ "name": "ConnectedMultiselectControlRendererEntry",
2236
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2124
2237
  }
2125
2238
  }
2126
2239
  ]
2127
2240
  },
2128
2241
  {
2129
2242
  "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",
2243
+ "path": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts",
2143
2244
  "declarations": [
2144
2245
  {
2145
2246
  "kind": "function",
2146
- "name": "mustMatch",
2247
+ "name": "ConnectedSelectControlRendererTemplate",
2147
2248
  "parameters": [
2148
2249
  {
2149
- "name": "target",
2250
+ "name": "prefix",
2251
+ "default": "'zero'",
2150
2252
  "type": {
2151
2253
  "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": ""
2254
+ }
2160
2255
  }
2161
- },
2162
- "privacy": "public"
2256
+ ]
2163
2257
  },
2164
2258
  {
2165
- "kind": "function",
2166
- "name": "getAnyOfErrorMessage",
2167
- "return": {
2168
- "type": {
2169
- "text": "string"
2170
- }
2259
+ "kind": "variable",
2260
+ "name": "ConnectedSelectControlRendererEntry",
2261
+ "type": {
2262
+ "text": "any"
2171
2263
  },
2172
- "parameters": [
2173
- {
2174
- "name": "errors",
2175
- "type": {
2176
- "text": "Array<any> | undefined"
2177
- }
2178
- },
2179
- {
2180
- "name": "schema",
2181
- "type": {
2182
- "text": "any"
2183
- }
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
- }
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"
2264
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedSelectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(SELECT_CONTROL_RANK, or(optionIs('allOptionsResourceName'), optionIs('data'))),\n mapper: mapStateToControlProps,\n}"
2201
2265
  }
2202
2266
  ],
2203
2267
  "exports": [
2204
2268
  {
2205
2269
  "kind": "js",
2206
- "name": "mustMatch",
2270
+ "name": "ConnectedSelectControlRendererTemplate",
2207
2271
  "declaration": {
2208
- "name": "mustMatch",
2209
- "module": "src/utils/validation.ts"
2272
+ "name": "ConnectedSelectControlRendererTemplate",
2273
+ "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2210
2274
  }
2211
2275
  },
2212
2276
  {
2213
2277
  "kind": "js",
2214
- "name": "getAnyOfErrorMessage",
2278
+ "name": "ConnectedSelectControlRendererEntry",
2215
2279
  "declaration": {
2216
- "name": "getAnyOfErrorMessage",
2217
- "module": "src/utils/validation.ts"
2280
+ "name": "ConnectedSelectControlRendererEntry",
2281
+ "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2218
2282
  }
2219
2283
  }
2220
2284
  ]
2221
2285
  },
2222
2286
  {
2223
2287
  "kind": "javascript-module",
2224
- "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
2288
+ "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
2225
2289
  "declarations": [
2226
2290
  {
2227
2291
  "kind": "function",
2228
- "name": "ArrayListWrapperRendererTemplate",
2292
+ "name": "controlWrapperTemplate",
2293
+ "return": {
2294
+ "type": {
2295
+ "text": "ViewTemplate<DispatchRenderer>"
2296
+ }
2297
+ },
2229
2298
  "parameters": [
2230
2299
  {
2231
- "name": "prefix",
2232
- "default": "'zero'",
2300
+ "name": "options",
2233
2301
  "type": {
2234
- "text": "string"
2302
+ "text": "ControlWrapperOptions"
2235
2303
  }
2236
2304
  }
2237
- ]
2305
+ ],
2306
+ "description": "Light-DOM-friendly control wrapper that replaces the former `<control-wrapper>`\ncustom element. Renders label, error/description slots, and composes a provided\ninner control template inline within the renderer's template so that bindings\nstay on the `DispatchRenderer` source.",
2307
+ "privacy": "public"
2238
2308
  },
2239
2309
  {
2240
2310
  "kind": "class",
2241
2311
  "description": "",
2242
- "name": "ArrayListWrapper",
2312
+ "name": "ControlWrapper",
2243
2313
  "members": [
2244
- {
2245
- "kind": "field",
2246
- "name": "form"
2247
- },
2248
2314
  {
2249
2315
  "kind": "field",
2250
2316
  "name": "control"
2251
2317
  },
2252
2318
  {
2253
2319
  "kind": "field",
2254
- "name": "schema"
2320
+ "name": "jsonForms"
2255
2321
  },
2256
2322
  {
2257
2323
  "kind": "field",
2258
- "name": "uiSchema"
2324
+ "name": "touched",
2325
+ "type": {
2326
+ "text": "boolean"
2327
+ }
2259
2328
  },
2260
2329
  {
2261
2330
  "kind": "field",
2262
- "name": "isGridView",
2331
+ "name": "hideLabel",
2263
2332
  "type": {
2264
2333
  "text": "boolean"
2265
2334
  },
@@ -2267,97 +2336,92 @@
2267
2336
  },
2268
2337
  {
2269
2338
  "kind": "field",
2270
- "name": "gridViewHeaderCells",
2339
+ "name": "prefix",
2271
2340
  "type": {
2272
- "text": "GridHeaderCell[]"
2273
- },
2274
- "default": "[]"
2341
+ "text": "string"
2342
+ }
2275
2343
  },
2276
2344
  {
2277
2345
  "kind": "field",
2278
- "name": "gridViewUiSchema",
2279
- "type": {
2280
- "text": "any"
2281
- },
2282
- "default": "null"
2346
+ "name": "showDescription",
2347
+ "readonly": true
2283
2348
  },
2284
2349
  {
2285
- "kind": "method",
2286
- "name": "controlChanged"
2350
+ "kind": "field",
2351
+ "name": "computedLabel",
2352
+ "readonly": true
2287
2353
  },
2288
2354
  {
2289
- "kind": "method",
2290
- "name": "addItem"
2355
+ "kind": "field",
2356
+ "name": "getPrefixedTooltip",
2357
+ "readonly": true
2291
2358
  },
2292
2359
  {
2293
- "kind": "method",
2294
- "name": "deleteItem",
2295
- "parameters": [
2296
- {
2297
- "name": "index",
2298
- "type": {
2299
- "text": "number"
2300
- }
2301
- }
2302
- ]
2360
+ "kind": "field",
2361
+ "name": "anyOfError",
2362
+ "readonly": true
2363
+ }
2364
+ ],
2365
+ "attributes": [
2366
+ {
2367
+ "name": "hide-label",
2368
+ "type": {
2369
+ "text": "boolean"
2370
+ },
2371
+ "default": "false",
2372
+ "fieldName": "hideLabel"
2303
2373
  },
2304
2374
  {
2305
- "kind": "method",
2306
- "name": "submitRow",
2307
- "parameters": [
2308
- {
2309
- "name": "index",
2310
- "type": {
2311
- "text": "number"
2312
- },
2313
- "description": "The row index to submit"
2314
- }
2315
- ],
2316
- "description": "Submits a single row by emitting an event that bubbles up to the foundation-form."
2375
+ "name": "prefix",
2376
+ "type": {
2377
+ "text": "string"
2378
+ },
2379
+ "fieldName": "prefix"
2317
2380
  }
2318
2381
  ],
2319
2382
  "superclass": {
2320
2383
  "name": "FASTElement",
2321
2384
  "package": "@microsoft/fast-element"
2322
2385
  },
2323
- "tagName": "array-list-wrapper",
2386
+ "deprecated": "Use `controlWrapperTemplate` instead. The `<control-wrapper>` custom element will be removed in a future major version. Migrate to the light-DOM `controlWrapperTemplate` function which renders inline within the parent renderer's template.",
2387
+ "tagName": "control-wrapper",
2324
2388
  "customElement": true
2325
2389
  }
2326
2390
  ],
2327
2391
  "exports": [
2328
2392
  {
2329
2393
  "kind": "js",
2330
- "name": "ArrayListWrapperRendererTemplate",
2394
+ "name": "controlWrapperTemplate",
2331
2395
  "declaration": {
2332
- "name": "ArrayListWrapperRendererTemplate",
2333
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2396
+ "name": "controlWrapperTemplate",
2397
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2334
2398
  }
2335
2399
  },
2336
2400
  {
2337
2401
  "kind": "js",
2338
- "name": "ArrayListWrapper",
2402
+ "name": "ControlWrapper",
2339
2403
  "declaration": {
2340
- "name": "ArrayListWrapper",
2341
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2404
+ "name": "ControlWrapper",
2405
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2342
2406
  }
2343
2407
  },
2344
2408
  {
2345
2409
  "kind": "custom-element-definition",
2346
- "name": "array-list-wrapper",
2410
+ "name": "control-wrapper",
2347
2411
  "declaration": {
2348
- "name": "ArrayListWrapper",
2349
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2412
+ "name": "ControlWrapper",
2413
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2350
2414
  }
2351
2415
  }
2352
2416
  ]
2353
2417
  },
2354
2418
  {
2355
2419
  "kind": "javascript-module",
2356
- "path": "src/jsonforms/renderers/BooleanControlRenderer.ts",
2420
+ "path": "src/jsonforms/renderers/DateControlRenderer.ts",
2357
2421
  "declarations": [
2358
2422
  {
2359
2423
  "kind": "function",
2360
- "name": "BooleanControlRendererTemplate",
2424
+ "name": "DateControlRendererTemplate",
2361
2425
  "parameters": [
2362
2426
  {
2363
2427
  "name": "prefix",
@@ -2370,262 +2434,107 @@
2370
2434
  },
2371
2435
  {
2372
2436
  "kind": "variable",
2373
- "name": "BooleanControlEntry",
2437
+ "name": "DateControlRendererEntry",
2374
2438
  "type": {
2375
2439
  "text": "RendererEntry"
2376
2440
  },
2377
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => BooleanControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(BOOLEAN_CONTROL_RANK, isOneOfBoolean),\n mapper: mapStateToControlProps,\n}"
2441
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2378
2442
  }
2379
2443
  ],
2380
2444
  "exports": [
2381
2445
  {
2382
2446
  "kind": "js",
2383
- "name": "BooleanControlRendererTemplate",
2447
+ "name": "DateControlRendererTemplate",
2384
2448
  "declaration": {
2385
- "name": "BooleanControlRendererTemplate",
2386
- "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2449
+ "name": "DateControlRendererTemplate",
2450
+ "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2387
2451
  }
2388
2452
  },
2389
2453
  {
2390
2454
  "kind": "js",
2391
- "name": "BooleanControlEntry",
2455
+ "name": "DateControlRendererEntry",
2392
2456
  "declaration": {
2393
- "name": "BooleanControlEntry",
2394
- "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2457
+ "name": "DateControlRendererEntry",
2458
+ "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2395
2459
  }
2396
2460
  }
2397
2461
  ]
2398
2462
  },
2399
2463
  {
2400
2464
  "kind": "javascript-module",
2401
- "path": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts",
2465
+ "path": "src/jsonforms/renderers/DividerRenderer.ts",
2402
2466
  "declarations": [
2403
2467
  {
2404
2468
  "kind": "function",
2405
- "name": "computeCategoryClassName",
2406
- "return": {
2407
- "type": {
2408
- "text": "string"
2409
- }
2410
- },
2469
+ "name": "DividerControlRendererTemplate",
2411
2470
  "parameters": [
2412
2471
  {
2413
- "name": "category",
2414
- "type": {
2415
- "text": "UiSchemaElement"
2416
- }
2417
- },
2418
- {
2419
- "name": "data",
2472
+ "name": "prefix",
2473
+ "default": "'zero'",
2420
2474
  "type": {
2421
- "text": "any"
2475
+ "text": "string"
2422
2476
  }
2423
2477
  }
2424
2478
  ]
2425
2479
  },
2426
2480
  {
2427
2481
  "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"
2482
+ "name": "DividerControlRenderer",
2483
+ "type": {
2484
+ "text": "RendererEntry"
2534
2485
  },
2535
- "tagName": "categorization-wrapper",
2536
- "customElement": true
2486
+ "default": "{\n renderer: html`\n ${(x) => DividerControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DIVIDER_CONTROL_RANK, (args) => {\n return args.options?.divider === true;\n }),\n mapper: mapStateToControlProps,\n}"
2537
2487
  }
2538
2488
  ],
2539
2489
  "exports": [
2540
2490
  {
2541
2491
  "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",
2492
+ "name": "DividerControlRendererTemplate",
2559
2493
  "declaration": {
2560
- "name": "CategorizationWrapperRendererTemplate",
2561
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2494
+ "name": "DividerControlRendererTemplate",
2495
+ "module": "src/jsonforms/renderers/DividerRenderer.ts"
2562
2496
  }
2563
2497
  },
2564
2498
  {
2565
2499
  "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",
2500
+ "name": "DividerControlRenderer",
2575
2501
  "declaration": {
2576
- "name": "CategorizationWrapper",
2577
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2502
+ "name": "DividerControlRenderer",
2503
+ "module": "src/jsonforms/renderers/DividerRenderer.ts"
2578
2504
  }
2579
2505
  }
2580
2506
  ]
2581
2507
  },
2582
2508
  {
2583
2509
  "kind": "javascript-module",
2584
- "path": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts",
2510
+ "path": "src/jsonforms/renderers/EnumControlRenderer.ts",
2585
2511
  "declarations": [
2586
2512
  {
2587
2513
  "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"
2599
- }
2600
- }
2601
- ]
2602
- },
2603
- {
2604
- "kind": "function",
2605
- "name": "resolveSelectionValue",
2514
+ "name": "mapStateToEnumControlProps",
2606
2515
  "return": {
2607
2516
  "type": {
2608
- "text": "any"
2517
+ "text": "StatePropsOfControl & OwnPropsOfEnum"
2609
2518
  }
2610
2519
  },
2611
2520
  "parameters": [
2612
2521
  {
2613
- "name": "control",
2522
+ "name": "state",
2614
2523
  "type": {
2615
- "text": "any"
2524
+ "text": "JsonFormsState"
2616
2525
  }
2617
2526
  },
2618
2527
  {
2619
- "name": "detail",
2528
+ "name": "ownProps",
2620
2529
  "type": {
2621
- "text": "any"
2530
+ "text": "OwnPropsOfControl & OwnPropsOfEnum"
2622
2531
  }
2623
2532
  }
2624
2533
  ]
2625
2534
  },
2626
2535
  {
2627
2536
  "kind": "function",
2628
- "name": "ConnectedMultiselectControlRendererTemplate",
2537
+ "name": "EnumControlRendererTemplate",
2629
2538
  "parameters": [
2630
2539
  {
2631
2540
  "name": "prefix",
@@ -2638,55 +2547,47 @@
2638
2547
  },
2639
2548
  {
2640
2549
  "kind": "variable",
2641
- "name": "ConnectedMultiselectControlRendererEntry",
2550
+ "name": "EnumControlRendererEntry",
2642
2551
  "type": {
2643
2552
  "text": "RendererEntry"
2644
2553
  },
2645
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedMultiselectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTISELECT_CONTROL_RANK, isOneOfOptionMultiselect),\n mapper: mapStateToControlProps,\n}"
2554
+ "default": "{\n renderer: html`\n ${(x) => EnumControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_CONTROL_RANK, isOneOfEnum),\n mapper: mapStateToEnumControlProps,\n}"
2646
2555
  }
2647
2556
  ],
2648
2557
  "exports": [
2649
2558
  {
2650
2559
  "kind": "js",
2651
- "name": "resolveSelectedOptions",
2652
- "declaration": {
2653
- "name": "resolveSelectedOptions",
2654
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2655
- }
2656
- },
2657
- {
2658
- "kind": "js",
2659
- "name": "resolveSelectionValue",
2560
+ "name": "mapStateToEnumControlProps",
2660
2561
  "declaration": {
2661
- "name": "resolveSelectionValue",
2662
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2562
+ "name": "mapStateToEnumControlProps",
2563
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2663
2564
  }
2664
2565
  },
2665
2566
  {
2666
2567
  "kind": "js",
2667
- "name": "ConnectedMultiselectControlRendererTemplate",
2568
+ "name": "EnumControlRendererTemplate",
2668
2569
  "declaration": {
2669
- "name": "ConnectedMultiselectControlRendererTemplate",
2670
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2570
+ "name": "EnumControlRendererTemplate",
2571
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2671
2572
  }
2672
2573
  },
2673
2574
  {
2674
2575
  "kind": "js",
2675
- "name": "ConnectedMultiselectControlRendererEntry",
2576
+ "name": "EnumControlRendererEntry",
2676
2577
  "declaration": {
2677
- "name": "ConnectedMultiselectControlRendererEntry",
2678
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2578
+ "name": "EnumControlRendererEntry",
2579
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2679
2580
  }
2680
2581
  }
2681
2582
  ]
2682
2583
  },
2683
2584
  {
2684
2585
  "kind": "javascript-module",
2685
- "path": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts",
2586
+ "path": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts",
2686
2587
  "declarations": [
2687
2588
  {
2688
2589
  "kind": "function",
2689
- "name": "ConnectedSelectControlRendererTemplate",
2590
+ "name": "EnumRadioGroupControlRendererTemplate",
2690
2591
  "parameters": [
2691
2592
  {
2692
2593
  "name": "prefix",
@@ -2699,171 +2600,86 @@
2699
2600
  },
2700
2601
  {
2701
2602
  "kind": "variable",
2702
- "name": "ConnectedSelectControlRendererEntry",
2603
+ "name": "EnumRadioGroupControlRendererEntry",
2703
2604
  "type": {
2704
- "text": "any"
2605
+ "text": "RendererEntry"
2705
2606
  },
2706
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedSelectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(SELECT_CONTROL_RANK, or(optionIs('allOptionsResourceName'), optionIs('data'))),\n mapper: mapStateToControlProps,\n}"
2607
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => EnumRadioGroupControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_RADIO_GROUP_CONTROL_RANK, optionIs('radio')),\n mapper: mapStateToControlProps,\n}",
2608
+ "description": "A JSON Forms renderer that renders enum options as a radio-group.\n\nActivated when the uischema element has `options.radio: true`.\nTakes precedence over other enum renderers due to its higher rank.\n\nOptions are typed via RadioGroupRendererOptions.",
2609
+ "privacy": "public"
2707
2610
  }
2708
2611
  ],
2709
2612
  "exports": [
2710
2613
  {
2711
2614
  "kind": "js",
2712
- "name": "ConnectedSelectControlRendererTemplate",
2615
+ "name": "EnumRadioGroupControlRendererTemplate",
2713
2616
  "declaration": {
2714
- "name": "ConnectedSelectControlRendererTemplate",
2715
- "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2617
+ "name": "EnumRadioGroupControlRendererTemplate",
2618
+ "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
2716
2619
  }
2717
2620
  },
2718
2621
  {
2719
2622
  "kind": "js",
2720
- "name": "ConnectedSelectControlRendererEntry",
2623
+ "name": "EnumRadioGroupControlRendererEntry",
2721
2624
  "declaration": {
2722
- "name": "ConnectedSelectControlRendererEntry",
2723
- "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2625
+ "name": "EnumRadioGroupControlRendererEntry",
2626
+ "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
2724
2627
  }
2725
2628
  }
2726
2629
  ]
2727
2630
  },
2728
2631
  {
2729
2632
  "kind": "javascript-module",
2730
- "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
2633
+ "path": "src/jsonforms/renderers/FilterDateControlRenderer.ts",
2731
2634
  "declarations": [
2732
2635
  {
2733
2636
  "kind": "function",
2734
- "name": "controlWrapperTemplate",
2735
- "return": {
2736
- "type": {
2737
- "text": "ViewTemplate<DispatchRenderer>"
2738
- }
2739
- },
2637
+ "name": "DateControlRendererTemplate",
2740
2638
  "parameters": [
2741
2639
  {
2742
- "name": "options",
2743
- "type": {
2744
- "text": "ControlWrapperOptions"
2745
- }
2746
- }
2747
- ],
2748
- "description": "Light-DOM-friendly control wrapper that replaces the former `<control-wrapper>`\ncustom element. Renders label, error/description slots, and composes a provided\ninner control template inline within the renderer's template so that bindings\nstay on the `DispatchRenderer` source.",
2749
- "privacy": "public"
2750
- },
2751
- {
2752
- "kind": "class",
2753
- "description": "",
2754
- "name": "ControlWrapper",
2755
- "members": [
2756
- {
2757
- "kind": "field",
2758
- "name": "control"
2759
- },
2760
- {
2761
- "kind": "field",
2762
- "name": "jsonForms"
2763
- },
2764
- {
2765
- "kind": "field",
2766
- "name": "touched",
2767
- "type": {
2768
- "text": "boolean"
2769
- }
2770
- },
2771
- {
2772
- "kind": "field",
2773
- "name": "hideLabel",
2774
- "type": {
2775
- "text": "boolean"
2776
- },
2777
- "default": "false"
2778
- },
2779
- {
2780
- "kind": "field",
2781
2640
  "name": "prefix",
2641
+ "default": "'zero'",
2782
2642
  "type": {
2783
2643
  "text": "string"
2784
2644
  }
2785
- },
2786
- {
2787
- "kind": "field",
2788
- "name": "showDescription",
2789
- "readonly": true
2790
- },
2791
- {
2792
- "kind": "field",
2793
- "name": "computedLabel",
2794
- "readonly": true
2795
- },
2796
- {
2797
- "kind": "field",
2798
- "name": "getPrefixedTooltip",
2799
- "readonly": true
2800
- },
2801
- {
2802
- "kind": "field",
2803
- "name": "anyOfError",
2804
- "readonly": true
2805
- }
2806
- ],
2807
- "attributes": [
2808
- {
2809
- "name": "hide-label",
2810
- "type": {
2811
- "text": "boolean"
2812
- },
2813
- "default": "false",
2814
- "fieldName": "hideLabel"
2815
- },
2816
- {
2817
- "name": "prefix",
2818
- "type": {
2819
- "text": "string"
2820
- },
2821
- "fieldName": "prefix"
2822
2645
  }
2823
- ],
2824
- "superclass": {
2825
- "name": "FASTElement",
2826
- "package": "@microsoft/fast-element"
2646
+ ]
2647
+ },
2648
+ {
2649
+ "kind": "variable",
2650
+ "name": "FilterDateControlRendererEntry",
2651
+ "type": {
2652
+ "text": "RendererEntry"
2827
2653
  },
2828
- "deprecated": "Use `controlWrapperTemplate` instead. The `<control-wrapper>` custom element will be removed in a future major version. Migrate to the light-DOM `controlWrapperTemplate` function which renders inline within the parent renderer's template.",
2829
- "tagName": "control-wrapper",
2830
- "customElement": true
2654
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2831
2655
  }
2832
2656
  ],
2833
2657
  "exports": [
2834
2658
  {
2835
2659
  "kind": "js",
2836
- "name": "controlWrapperTemplate",
2660
+ "name": "DateControlRendererTemplate",
2837
2661
  "declaration": {
2838
- "name": "controlWrapperTemplate",
2839
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2662
+ "name": "DateControlRendererTemplate",
2663
+ "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
2840
2664
  }
2841
2665
  },
2842
2666
  {
2843
2667
  "kind": "js",
2844
- "name": "ControlWrapper",
2845
- "declaration": {
2846
- "name": "ControlWrapper",
2847
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2848
- }
2849
- },
2850
- {
2851
- "kind": "custom-element-definition",
2852
- "name": "control-wrapper",
2668
+ "name": "FilterDateControlRendererEntry",
2853
2669
  "declaration": {
2854
- "name": "ControlWrapper",
2855
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2670
+ "name": "FilterDateControlRendererEntry",
2671
+ "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
2856
2672
  }
2857
2673
  }
2858
2674
  ]
2859
2675
  },
2860
2676
  {
2861
2677
  "kind": "javascript-module",
2862
- "path": "src/jsonforms/renderers/DateControlRenderer.ts",
2678
+ "path": "src/jsonforms/renderers/FilterNumberControlRenderer.ts",
2863
2679
  "declarations": [
2864
2680
  {
2865
2681
  "kind": "function",
2866
- "name": "DateControlRendererTemplate",
2682
+ "name": "FilterNumberControlRendererTemplate",
2867
2683
  "parameters": [
2868
2684
  {
2869
2685
  "name": "prefix",
@@ -2876,39 +2692,39 @@
2876
2692
  },
2877
2693
  {
2878
2694
  "kind": "variable",
2879
- "name": "DateControlRendererEntry",
2695
+ "name": "FilterNumberControlRendererEntry",
2880
2696
  "type": {
2881
2697
  "text": "RendererEntry"
2882
2698
  },
2883
- "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2699
+ "default": "{\n renderer: html`\n ${(x) => FilterNumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
2884
2700
  }
2885
2701
  ],
2886
2702
  "exports": [
2887
2703
  {
2888
2704
  "kind": "js",
2889
- "name": "DateControlRendererTemplate",
2705
+ "name": "FilterNumberControlRendererTemplate",
2890
2706
  "declaration": {
2891
- "name": "DateControlRendererTemplate",
2892
- "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2707
+ "name": "FilterNumberControlRendererTemplate",
2708
+ "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
2893
2709
  }
2894
2710
  },
2895
2711
  {
2896
2712
  "kind": "js",
2897
- "name": "DateControlRendererEntry",
2713
+ "name": "FilterNumberControlRendererEntry",
2898
2714
  "declaration": {
2899
- "name": "DateControlRendererEntry",
2900
- "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2715
+ "name": "FilterNumberControlRendererEntry",
2716
+ "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
2901
2717
  }
2902
2718
  }
2903
2719
  ]
2904
2720
  },
2905
2721
  {
2906
2722
  "kind": "javascript-module",
2907
- "path": "src/jsonforms/renderers/DividerRenderer.ts",
2723
+ "path": "src/jsonforms/renderers/FilterTimeControlRenderer.ts",
2908
2724
  "declarations": [
2909
2725
  {
2910
2726
  "kind": "function",
2911
- "name": "DividerControlRendererTemplate",
2727
+ "name": "TimeControlRendererTemplate",
2912
2728
  "parameters": [
2913
2729
  {
2914
2730
  "name": "prefix",
@@ -2921,367 +2737,109 @@
2921
2737
  },
2922
2738
  {
2923
2739
  "kind": "variable",
2924
- "name": "DividerControlRenderer",
2740
+ "name": "FilterTimeControlRendererEntry",
2925
2741
  "type": {
2926
2742
  "text": "RendererEntry"
2927
2743
  },
2928
- "default": "{\n renderer: html`\n ${(x) => DividerControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DIVIDER_CONTROL_RANK, (args) => {\n return args.options?.divider === true;\n }),\n mapper: mapStateToControlProps,\n}"
2744
+ "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps,\n}"
2929
2745
  }
2930
2746
  ],
2931
2747
  "exports": [
2932
2748
  {
2933
2749
  "kind": "js",
2934
- "name": "DividerControlRendererTemplate",
2750
+ "name": "TimeControlRendererTemplate",
2935
2751
  "declaration": {
2936
- "name": "DividerControlRendererTemplate",
2937
- "module": "src/jsonforms/renderers/DividerRenderer.ts"
2752
+ "name": "TimeControlRendererTemplate",
2753
+ "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
2938
2754
  }
2939
2755
  },
2940
2756
  {
2941
2757
  "kind": "js",
2942
- "name": "DividerControlRenderer",
2758
+ "name": "FilterTimeControlRendererEntry",
2943
2759
  "declaration": {
2944
- "name": "DividerControlRenderer",
2945
- "module": "src/jsonforms/renderers/DividerRenderer.ts"
2760
+ "name": "FilterTimeControlRendererEntry",
2761
+ "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
2946
2762
  }
2947
2763
  }
2948
2764
  ]
2949
2765
  },
2950
2766
  {
2951
2767
  "kind": "javascript-module",
2952
- "path": "src/jsonforms/renderers/EnumControlRenderer.ts",
2768
+ "path": "src/jsonforms/renderers/InvisibleControlRenderer.ts",
2953
2769
  "declarations": [
2954
2770
  {
2955
- "kind": "function",
2956
- "name": "mapStateToEnumControlProps",
2957
- "return": {
2958
- "type": {
2959
- "text": "StatePropsOfControl & OwnPropsOfEnum"
2960
- }
2961
- },
2962
- "parameters": [
2963
- {
2964
- "name": "state",
2965
- "type": {
2966
- "text": "JsonFormsState"
2967
- }
2968
- },
2969
- {
2970
- "name": "ownProps",
2971
- "type": {
2972
- "text": "OwnPropsOfControl & OwnPropsOfEnum"
2973
- }
2974
- }
2975
- ]
2976
- },
2977
- {
2978
- "kind": "function",
2979
- "name": "EnumControlRendererTemplate",
2980
- "parameters": [
2981
- {
2982
- "name": "prefix",
2983
- "default": "'zero'",
2984
- "type": {
2985
- "text": "string"
2986
- }
2987
- }
2988
- ]
2771
+ "kind": "variable",
2772
+ "name": "InvisibleControlRendererTemplate",
2773
+ "default": "html<DispatchRenderer>`\n <template>\n <pre\n :value=${(x) => x.control.data || ''}\n id=${(x) => x.control.path}\n data-test-id=${(x) => x.control.path}\n style=\"display: none\"\n ></pre>\n </template>\n`"
2989
2774
  },
2990
2775
  {
2991
2776
  "kind": "variable",
2992
- "name": "EnumControlRendererEntry",
2777
+ "name": "InvisibleControlEntry",
2993
2778
  "type": {
2994
2779
  "text": "RendererEntry"
2995
2780
  },
2996
- "default": "{\n renderer: html`\n ${(x) => EnumControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_CONTROL_RANK, isOneOfEnum),\n mapper: mapStateToEnumControlProps,\n}"
2781
+ "default": "{\n renderer: InvisibleControlRendererTemplate,\n tester: rankWith(INVISIBLE_CONTROL_RANK, isInvisible),\n mapper: mapStateToControlProps,\n}"
2997
2782
  }
2998
2783
  ],
2999
2784
  "exports": [
3000
2785
  {
3001
2786
  "kind": "js",
3002
- "name": "mapStateToEnumControlProps",
3003
- "declaration": {
3004
- "name": "mapStateToEnumControlProps",
3005
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
3006
- }
3007
- },
3008
- {
3009
- "kind": "js",
3010
- "name": "EnumControlRendererTemplate",
2787
+ "name": "InvisibleControlRendererTemplate",
3011
2788
  "declaration": {
3012
- "name": "EnumControlRendererTemplate",
3013
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2789
+ "name": "InvisibleControlRendererTemplate",
2790
+ "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
3014
2791
  }
3015
2792
  },
3016
2793
  {
3017
2794
  "kind": "js",
3018
- "name": "EnumControlRendererEntry",
2795
+ "name": "InvisibleControlEntry",
3019
2796
  "declaration": {
3020
- "name": "EnumControlRendererEntry",
3021
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2797
+ "name": "InvisibleControlEntry",
2798
+ "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
3022
2799
  }
3023
2800
  }
3024
2801
  ]
3025
2802
  },
3026
2803
  {
3027
2804
  "kind": "javascript-module",
3028
- "path": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts",
2805
+ "path": "src/jsonforms/renderers/LayoutArrayRenderer.ts",
3029
2806
  "declarations": [
3030
2807
  {
3031
- "kind": "function",
3032
- "name": "EnumRadioGroupControlRendererTemplate",
3033
- "parameters": [
3034
- {
3035
- "name": "prefix",
3036
- "default": "'zero'",
3037
- "type": {
3038
- "text": "string"
3039
- }
3040
- }
3041
- ]
2808
+ "kind": "variable",
2809
+ "name": "LayoutArrayRendererTemplate",
2810
+ "default": "html<DispatchRenderer>`\n <template>\n <div style=\"${(x) => (x.control.uischema.options?.border ? borderStyle : '')}\">\n ${controlWrapperTemplate({\n prefix: 'zero',\n innerTemplate: html<DispatchRenderer>`\n <array-list-wrapper :form=${(x) => x} :control=${(x) => x.control}></array-list-wrapper>\n `,\n })}\n </div>\n </template>\n`"
3042
2811
  },
3043
2812
  {
3044
2813
  "kind": "variable",
3045
- "name": "EnumRadioGroupControlRendererEntry",
2814
+ "name": "LayoutArrayRendererEntry",
3046
2815
  "type": {
3047
- "text": "RendererEntry"
2816
+ "text": "any"
3048
2817
  },
3049
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => EnumRadioGroupControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_RADIO_GROUP_CONTROL_RANK, optionIs('radio')),\n mapper: mapStateToControlProps,\n}",
3050
- "description": "A JSON Forms renderer that renders enum options as a radio-group.\n\nActivated when the uischema element has `options.radio: true`.\nTakes precedence over other enum renderers due to its higher rank.\n\nOptions are typed via RadioGroupRendererOptions.",
3051
- "privacy": "public"
2818
+ "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isArray('object')),\n mapper: mapStateToArrayLayoutProps,\n dispatchMapper: mapDispatchToArrayControlProps,\n}"
3052
2819
  }
3053
2820
  ],
3054
2821
  "exports": [
3055
2822
  {
3056
2823
  "kind": "js",
3057
- "name": "EnumRadioGroupControlRendererTemplate",
2824
+ "name": "LayoutArrayRendererTemplate",
3058
2825
  "declaration": {
3059
- "name": "EnumRadioGroupControlRendererTemplate",
3060
- "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
2826
+ "name": "LayoutArrayRendererTemplate",
2827
+ "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
3061
2828
  }
3062
2829
  },
3063
2830
  {
3064
2831
  "kind": "js",
3065
- "name": "EnumRadioGroupControlRendererEntry",
2832
+ "name": "LayoutArrayRendererEntry",
3066
2833
  "declaration": {
3067
- "name": "EnumRadioGroupControlRendererEntry",
3068
- "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
2834
+ "name": "LayoutArrayRendererEntry",
2835
+ "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
3069
2836
  }
3070
2837
  }
3071
2838
  ]
3072
2839
  },
3073
2840
  {
3074
2841
  "kind": "javascript-module",
3075
- "path": "src/jsonforms/renderers/FilterDateControlRenderer.ts",
3076
- "declarations": [
3077
- {
3078
- "kind": "function",
3079
- "name": "DateControlRendererTemplate",
3080
- "parameters": [
3081
- {
3082
- "name": "prefix",
3083
- "default": "'zero'",
3084
- "type": {
3085
- "text": "string"
3086
- }
3087
- }
3088
- ]
3089
- },
3090
- {
3091
- "kind": "variable",
3092
- "name": "FilterDateControlRendererEntry",
3093
- "type": {
3094
- "text": "RendererEntry"
3095
- },
3096
- "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
3097
- }
3098
- ],
3099
- "exports": [
3100
- {
3101
- "kind": "js",
3102
- "name": "DateControlRendererTemplate",
3103
- "declaration": {
3104
- "name": "DateControlRendererTemplate",
3105
- "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
3106
- }
3107
- },
3108
- {
3109
- "kind": "js",
3110
- "name": "FilterDateControlRendererEntry",
3111
- "declaration": {
3112
- "name": "FilterDateControlRendererEntry",
3113
- "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
3114
- }
3115
- }
3116
- ]
3117
- },
3118
- {
3119
- "kind": "javascript-module",
3120
- "path": "src/jsonforms/renderers/FilterNumberControlRenderer.ts",
3121
- "declarations": [
3122
- {
3123
- "kind": "function",
3124
- "name": "FilterNumberControlRendererTemplate",
3125
- "parameters": [
3126
- {
3127
- "name": "prefix",
3128
- "default": "'zero'",
3129
- "type": {
3130
- "text": "string"
3131
- }
3132
- }
3133
- ]
3134
- },
3135
- {
3136
- "kind": "variable",
3137
- "name": "FilterNumberControlRendererEntry",
3138
- "type": {
3139
- "text": "RendererEntry"
3140
- },
3141
- "default": "{\n renderer: html`\n ${(x) => FilterNumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
3142
- }
3143
- ],
3144
- "exports": [
3145
- {
3146
- "kind": "js",
3147
- "name": "FilterNumberControlRendererTemplate",
3148
- "declaration": {
3149
- "name": "FilterNumberControlRendererTemplate",
3150
- "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
3151
- }
3152
- },
3153
- {
3154
- "kind": "js",
3155
- "name": "FilterNumberControlRendererEntry",
3156
- "declaration": {
3157
- "name": "FilterNumberControlRendererEntry",
3158
- "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
3159
- }
3160
- }
3161
- ]
3162
- },
3163
- {
3164
- "kind": "javascript-module",
3165
- "path": "src/jsonforms/renderers/FilterTimeControlRenderer.ts",
3166
- "declarations": [
3167
- {
3168
- "kind": "function",
3169
- "name": "TimeControlRendererTemplate",
3170
- "parameters": [
3171
- {
3172
- "name": "prefix",
3173
- "default": "'zero'",
3174
- "type": {
3175
- "text": "string"
3176
- }
3177
- }
3178
- ]
3179
- },
3180
- {
3181
- "kind": "variable",
3182
- "name": "FilterTimeControlRendererEntry",
3183
- "type": {
3184
- "text": "RendererEntry"
3185
- },
3186
- "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps,\n}"
3187
- }
3188
- ],
3189
- "exports": [
3190
- {
3191
- "kind": "js",
3192
- "name": "TimeControlRendererTemplate",
3193
- "declaration": {
3194
- "name": "TimeControlRendererTemplate",
3195
- "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
3196
- }
3197
- },
3198
- {
3199
- "kind": "js",
3200
- "name": "FilterTimeControlRendererEntry",
3201
- "declaration": {
3202
- "name": "FilterTimeControlRendererEntry",
3203
- "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
3204
- }
3205
- }
3206
- ]
3207
- },
3208
- {
3209
- "kind": "javascript-module",
3210
- "path": "src/jsonforms/renderers/InvisibleControlRenderer.ts",
3211
- "declarations": [
3212
- {
3213
- "kind": "variable",
3214
- "name": "InvisibleControlRendererTemplate",
3215
- "default": "html<DispatchRenderer>`\n <template>\n <pre\n :value=${(x) => x.control.data || ''}\n id=${(x) => x.control.path}\n data-test-id=${(x) => x.control.path}\n style=\"display: none\"\n ></pre>\n </template>\n`"
3216
- },
3217
- {
3218
- "kind": "variable",
3219
- "name": "InvisibleControlEntry",
3220
- "type": {
3221
- "text": "RendererEntry"
3222
- },
3223
- "default": "{\n renderer: InvisibleControlRendererTemplate,\n tester: rankWith(INVISIBLE_CONTROL_RANK, isInvisible),\n mapper: mapStateToControlProps,\n}"
3224
- }
3225
- ],
3226
- "exports": [
3227
- {
3228
- "kind": "js",
3229
- "name": "InvisibleControlRendererTemplate",
3230
- "declaration": {
3231
- "name": "InvisibleControlRendererTemplate",
3232
- "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
3233
- }
3234
- },
3235
- {
3236
- "kind": "js",
3237
- "name": "InvisibleControlEntry",
3238
- "declaration": {
3239
- "name": "InvisibleControlEntry",
3240
- "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
3241
- }
3242
- }
3243
- ]
3244
- },
3245
- {
3246
- "kind": "javascript-module",
3247
- "path": "src/jsonforms/renderers/LayoutArrayRenderer.ts",
3248
- "declarations": [
3249
- {
3250
- "kind": "variable",
3251
- "name": "LayoutArrayRendererTemplate",
3252
- "default": "html<DispatchRenderer>`\n <template>\n <div style=\"${(x) => (x.control.uischema.options?.border ? borderStyle : '')}\">\n ${controlWrapperTemplate({\n prefix: 'zero',\n innerTemplate: html<DispatchRenderer>`\n <array-list-wrapper :form=${(x) => x} :control=${(x) => x.control}></array-list-wrapper>\n `,\n })}\n </div>\n </template>\n`"
3253
- },
3254
- {
3255
- "kind": "variable",
3256
- "name": "LayoutArrayRendererEntry",
3257
- "type": {
3258
- "text": "any"
3259
- },
3260
- "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isArray('object')),\n mapper: mapStateToArrayLayoutProps,\n dispatchMapper: mapDispatchToArrayControlProps,\n}"
3261
- }
3262
- ],
3263
- "exports": [
3264
- {
3265
- "kind": "js",
3266
- "name": "LayoutArrayRendererTemplate",
3267
- "declaration": {
3268
- "name": "LayoutArrayRendererTemplate",
3269
- "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
3270
- }
3271
- },
3272
- {
3273
- "kind": "js",
3274
- "name": "LayoutArrayRendererEntry",
3275
- "declaration": {
3276
- "name": "LayoutArrayRendererEntry",
3277
- "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
3278
- }
3279
- }
3280
- ]
3281
- },
3282
- {
3283
- "kind": "javascript-module",
3284
- "path": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts",
2842
+ "path": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts",
3285
2843
  "declarations": [
3286
2844
  {
3287
2845
  "kind": "variable",
@@ -4670,240 +4228,682 @@
4670
4228
  "name": "touched"
4671
4229
  },
4672
4230
  {
4673
- "kind": "field",
4674
- "name": "_submitted",
4231
+ "kind": "field",
4232
+ "name": "_submitted",
4233
+ "type": {
4234
+ "text": "boolean"
4235
+ },
4236
+ "privacy": "private",
4237
+ "default": "false"
4238
+ },
4239
+ {
4240
+ "kind": "field",
4241
+ "name": "submitted",
4242
+ "type": {
4243
+ "text": "boolean"
4244
+ }
4245
+ },
4246
+ {
4247
+ "kind": "method",
4248
+ "name": "submittedChanged"
4249
+ },
4250
+ {
4251
+ "kind": "field",
4252
+ "name": "dispatch"
4253
+ },
4254
+ {
4255
+ "kind": "field",
4256
+ "name": "control"
4257
+ },
4258
+ {
4259
+ "kind": "field",
4260
+ "name": "renderer"
4261
+ },
4262
+ {
4263
+ "kind": "field",
4264
+ "name": "prefix"
4265
+ },
4266
+ {
4267
+ "kind": "field",
4268
+ "name": "depth",
4269
+ "type": {
4270
+ "text": "number"
4271
+ },
4272
+ "default": "1"
4273
+ },
4274
+ {
4275
+ "kind": "method",
4276
+ "name": "prefixChanged"
4277
+ },
4278
+ {
4279
+ "kind": "field",
4280
+ "name": "createRenderer"
4281
+ },
4282
+ {
4283
+ "kind": "method",
4284
+ "name": "onBlur"
4285
+ },
4286
+ {
4287
+ "kind": "field",
4288
+ "name": "determinedRenderer",
4289
+ "readonly": true
4290
+ },
4291
+ {
4292
+ "kind": "field",
4293
+ "name": "hostClasses",
4294
+ "type": {
4295
+ "text": "string"
4296
+ },
4297
+ "readonly": true
4298
+ }
4299
+ ],
4300
+ "superclass": {
4301
+ "name": "FASTElement",
4302
+ "package": "@microsoft/fast-element"
4303
+ },
4304
+ "tagName": "dispatch-renderer",
4305
+ "customElement": true
4306
+ }
4307
+ ],
4308
+ "exports": [
4309
+ {
4310
+ "kind": "js",
4311
+ "name": "DispatchRenderer",
4312
+ "declaration": {
4313
+ "name": "DispatchRenderer",
4314
+ "module": "src/jsonforms/renderers/dispatch-renderer.ts"
4315
+ }
4316
+ },
4317
+ {
4318
+ "kind": "custom-element-definition",
4319
+ "name": "dispatch-renderer",
4320
+ "declaration": {
4321
+ "name": "DispatchRenderer",
4322
+ "module": "src/jsonforms/renderers/dispatch-renderer.ts"
4323
+ }
4324
+ }
4325
+ ]
4326
+ },
4327
+ {
4328
+ "kind": "javascript-module",
4329
+ "path": "src/jsonforms/renderers/foundation-react-slot.ts",
4330
+ "declarations": [
4331
+ {
4332
+ "kind": "class",
4333
+ "description": "Light-DOM FAST element that hosts a React tree returned by a `UiSchema`\n`options.render` function. Mounts a React root on `connectedCallback`,\nunmounts on `disconnectedCallback`, and re-renders whenever any of its\nobservable props change.\n\n`shadowOptions: null` keeps rendering in light DOM so that `createRoot(this)`\nmounts into the host element itself and consumer/global CSS applies normally.",
4334
+ "name": "FoundationReactSlot",
4335
+ "members": [
4336
+ {
4337
+ "kind": "field",
4338
+ "name": "render",
4339
+ "type": {
4340
+ "text": "ReactSlotRenderFn | undefined"
4341
+ }
4342
+ },
4343
+ {
4344
+ "kind": "field",
4345
+ "name": "data",
4346
+ "type": {
4347
+ "text": "unknown"
4348
+ }
4349
+ },
4350
+ {
4351
+ "kind": "field",
4352
+ "name": "controlData",
4353
+ "type": {
4354
+ "text": "unknown"
4355
+ }
4356
+ },
4357
+ {
4358
+ "kind": "field",
4359
+ "name": "path",
4360
+ "type": {
4361
+ "text": "string"
4362
+ },
4363
+ "default": "''"
4364
+ },
4365
+ {
4366
+ "kind": "field",
4367
+ "name": "handleChange",
4368
+ "type": {
4369
+ "text": "((path: string, value: unknown) => void) | undefined"
4370
+ }
4371
+ },
4372
+ {
4373
+ "kind": "field",
4374
+ "name": "root",
4375
+ "type": {
4376
+ "text": "Root | null"
4377
+ },
4378
+ "privacy": "private",
4379
+ "default": "null"
4380
+ },
4381
+ {
4382
+ "kind": "method",
4383
+ "name": "renderChanged",
4384
+ "privacy": "protected",
4385
+ "return": {
4386
+ "type": {
4387
+ "text": "void"
4388
+ }
4389
+ }
4390
+ },
4391
+ {
4392
+ "kind": "method",
4393
+ "name": "dataChanged",
4394
+ "privacy": "protected",
4395
+ "return": {
4396
+ "type": {
4397
+ "text": "void"
4398
+ }
4399
+ }
4400
+ },
4401
+ {
4402
+ "kind": "method",
4403
+ "name": "controlDataChanged",
4404
+ "privacy": "protected",
4405
+ "return": {
4406
+ "type": {
4407
+ "text": "void"
4408
+ }
4409
+ }
4410
+ },
4411
+ {
4412
+ "kind": "method",
4413
+ "name": "pathChanged",
4414
+ "privacy": "protected",
4415
+ "return": {
4416
+ "type": {
4417
+ "text": "void"
4418
+ }
4419
+ }
4420
+ },
4421
+ {
4422
+ "kind": "method",
4423
+ "name": "handleChangeChanged",
4424
+ "privacy": "protected",
4425
+ "return": {
4426
+ "type": {
4427
+ "text": "void"
4428
+ }
4429
+ }
4430
+ },
4431
+ {
4432
+ "kind": "method",
4433
+ "name": "flush",
4434
+ "privacy": "private",
4435
+ "return": {
4436
+ "type": {
4437
+ "text": "void"
4438
+ }
4439
+ }
4440
+ }
4441
+ ],
4442
+ "superclass": {
4443
+ "name": "FASTElement",
4444
+ "package": "@microsoft/fast-element"
4445
+ },
4446
+ "tagName": "foundation-react-slot",
4447
+ "customElement": true
4448
+ }
4449
+ ],
4450
+ "exports": [
4451
+ {
4452
+ "kind": "js",
4453
+ "name": "FoundationReactSlot",
4454
+ "declaration": {
4455
+ "name": "FoundationReactSlot",
4456
+ "module": "src/jsonforms/renderers/foundation-react-slot.ts"
4457
+ }
4458
+ },
4459
+ {
4460
+ "kind": "custom-element-definition",
4461
+ "name": "foundation-react-slot",
4462
+ "declaration": {
4463
+ "name": "FoundationReactSlot",
4464
+ "module": "src/jsonforms/renderers/foundation-react-slot.ts"
4465
+ }
4466
+ }
4467
+ ]
4468
+ },
4469
+ {
4470
+ "kind": "javascript-module",
4471
+ "path": "src/utils/confirmation-dialog-utils.ts",
4472
+ "declarations": [],
4473
+ "exports": []
4474
+ },
4475
+ {
4476
+ "kind": "javascript-module",
4477
+ "path": "src/utils/csv-parser.ts",
4478
+ "declarations": [
4479
+ {
4480
+ "kind": "function",
4481
+ "name": "parseCsv",
4482
+ "return": {
4483
+ "type": {
4484
+ "text": ""
4485
+ }
4486
+ },
4487
+ "parameters": [
4488
+ {
4489
+ "name": "content",
4490
+ "type": {
4491
+ "text": "string"
4492
+ },
4493
+ "description": "The CSV content as a string"
4494
+ }
4495
+ ],
4496
+ "description": "Parses a CSV string into headers and rows using PapaParse.\nHandles quoted fields, escaped quotes, empty values, and mixed line endings.",
4497
+ "privacy": "public"
4498
+ },
4499
+ {
4500
+ "kind": "function",
4501
+ "name": "mapCsvToSchema",
4502
+ "return": {
4503
+ "type": {
4504
+ "text": ""
4505
+ }
4506
+ },
4507
+ "parameters": [
4508
+ {
4509
+ "name": "csvRows",
4510
+ "type": {
4511
+ "text": "Record<string, string>[]"
4512
+ },
4513
+ "description": "The parsed CSV rows"
4514
+ },
4515
+ {
4516
+ "name": "schema",
4517
+ "type": {
4518
+ "text": "JSONSchema7 | undefined"
4519
+ },
4520
+ "description": "The JSON schema defining the fields"
4521
+ },
4522
+ {
4523
+ "name": "uiSchema",
4524
+ "optional": true,
4525
+ "type": {
4526
+ "text": "UiSchema"
4527
+ },
4528
+ "description": "Optional UI schema to map labels to field names on import"
4529
+ }
4530
+ ],
4531
+ "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.",
4532
+ "privacy": "public"
4533
+ },
4534
+ {
4535
+ "kind": "function",
4536
+ "name": "generateCsvTemplate",
4537
+ "return": {
4538
+ "type": {
4539
+ "text": ""
4540
+ }
4541
+ },
4542
+ "parameters": [
4543
+ {
4544
+ "name": "schema",
4545
+ "type": {
4546
+ "text": "JSONSchema7 | undefined"
4547
+ },
4548
+ "description": "The JSON schema defining the fields"
4549
+ },
4550
+ {
4551
+ "name": "uiSchema",
4552
+ "optional": true,
4553
+ "type": {
4554
+ "text": "UiSchema"
4555
+ },
4556
+ "description": "Optional UI schema to determine field order and visibility"
4557
+ },
4558
+ {
4559
+ "name": "includeOptionalFields",
4560
+ "default": "true",
4561
+ "type": {
4562
+ "text": "boolean"
4563
+ },
4564
+ "description": "Whether to include optional fields when no UI schema (default: true)"
4565
+ },
4566
+ {
4567
+ "name": "includeBom",
4568
+ "default": "true",
4569
+ "type": {
4570
+ "text": "boolean"
4571
+ },
4572
+ "description": "Whether to prepend UTF-8 BOM for Excel compatibility (default: true)"
4573
+ }
4574
+ ],
4575
+ "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.",
4576
+ "privacy": "public"
4577
+ },
4578
+ {
4579
+ "kind": "function",
4580
+ "name": "downloadCsvTemplate",
4581
+ "return": {
4582
+ "type": {
4583
+ "text": "void"
4584
+ }
4585
+ },
4586
+ "parameters": [
4587
+ {
4588
+ "name": "csvContent",
4589
+ "type": {
4590
+ "text": "string"
4591
+ },
4592
+ "description": "The CSV content to download"
4593
+ },
4594
+ {
4595
+ "name": "fileName",
4596
+ "default": "'template.csv'",
4597
+ "type": {
4598
+ "text": "string"
4599
+ },
4600
+ "description": "The name for the downloaded file (default: 'template.csv')"
4601
+ }
4602
+ ],
4603
+ "description": "Triggers a download of the CSV template file in the browser.",
4604
+ "privacy": "public"
4605
+ }
4606
+ ],
4607
+ "exports": [
4608
+ {
4609
+ "kind": "js",
4610
+ "name": "parseCsv",
4611
+ "declaration": {
4612
+ "name": "parseCsv",
4613
+ "module": "src/utils/csv-parser.ts"
4614
+ }
4615
+ },
4616
+ {
4617
+ "kind": "js",
4618
+ "name": "mapCsvToSchema",
4619
+ "declaration": {
4620
+ "name": "mapCsvToSchema",
4621
+ "module": "src/utils/csv-parser.ts"
4622
+ }
4623
+ },
4624
+ {
4625
+ "kind": "js",
4626
+ "name": "generateCsvTemplate",
4627
+ "declaration": {
4628
+ "name": "generateCsvTemplate",
4629
+ "module": "src/utils/csv-parser.ts"
4630
+ }
4631
+ },
4632
+ {
4633
+ "kind": "js",
4634
+ "name": "downloadCsvTemplate",
4635
+ "declaration": {
4636
+ "name": "downloadCsvTemplate",
4637
+ "module": "src/utils/csv-parser.ts"
4638
+ }
4639
+ }
4640
+ ]
4641
+ },
4642
+ {
4643
+ "kind": "javascript-module",
4644
+ "path": "src/utils/filters.ts",
4645
+ "declarations": [],
4646
+ "exports": []
4647
+ },
4648
+ {
4649
+ "kind": "javascript-module",
4650
+ "path": "src/utils/form-utils.ts",
4651
+ "declarations": [
4652
+ {
4653
+ "kind": "function",
4654
+ "name": "removeDataPropertiesNotInSchema",
4655
+ "return": {
4656
+ "type": {
4657
+ "text": ""
4658
+ }
4659
+ },
4660
+ "parameters": [
4661
+ {
4662
+ "name": "data",
4663
+ "type": {
4664
+ "text": "any"
4665
+ },
4666
+ "description": "The data object to clean"
4667
+ },
4668
+ {
4669
+ "name": "jsonSchema",
4670
+ "type": {
4671
+ "text": "JSONSchema7"
4672
+ },
4673
+ "description": "The JSON schema to validate against"
4674
+ }
4675
+ ],
4676
+ "description": "Removes data properties that aren't part of the schema"
4677
+ }
4678
+ ],
4679
+ "exports": [
4680
+ {
4681
+ "kind": "js",
4682
+ "name": "removeDataPropertiesNotInSchema",
4683
+ "declaration": {
4684
+ "name": "removeDataPropertiesNotInSchema",
4685
+ "module": "src/utils/form-utils.ts"
4686
+ }
4687
+ }
4688
+ ]
4689
+ },
4690
+ {
4691
+ "kind": "javascript-module",
4692
+ "path": "src/utils/index.ts",
4693
+ "declarations": [],
4694
+ "exports": [
4695
+ {
4696
+ "kind": "js",
4697
+ "name": "*",
4698
+ "declaration": {
4699
+ "name": "*",
4700
+ "package": "./csv-parser"
4701
+ }
4702
+ },
4703
+ {
4704
+ "kind": "js",
4705
+ "name": "*",
4706
+ "declaration": {
4707
+ "name": "*",
4708
+ "package": "./filters"
4709
+ }
4710
+ },
4711
+ {
4712
+ "kind": "js",
4713
+ "name": "*",
4714
+ "declaration": {
4715
+ "name": "*",
4716
+ "package": "./logger"
4717
+ }
4718
+ },
4719
+ {
4720
+ "kind": "js",
4721
+ "name": "*",
4722
+ "declaration": {
4723
+ "name": "*",
4724
+ "package": "./translation"
4725
+ }
4726
+ },
4727
+ {
4728
+ "kind": "js",
4729
+ "name": "*",
4730
+ "declaration": {
4731
+ "name": "*",
4732
+ "package": "./validation"
4733
+ }
4734
+ },
4735
+ {
4736
+ "kind": "js",
4737
+ "name": "*",
4738
+ "declaration": {
4739
+ "name": "*",
4740
+ "package": "./server-errors"
4741
+ }
4742
+ },
4743
+ {
4744
+ "kind": "js",
4745
+ "name": "*",
4746
+ "declaration": {
4747
+ "name": "*",
4748
+ "package": "./types"
4749
+ }
4750
+ }
4751
+ ]
4752
+ },
4753
+ {
4754
+ "kind": "javascript-module",
4755
+ "path": "src/utils/logger.ts",
4756
+ "declarations": [],
4757
+ "exports": []
4758
+ },
4759
+ {
4760
+ "kind": "javascript-module",
4761
+ "path": "src/utils/schema-utils.ts",
4762
+ "declarations": [],
4763
+ "exports": []
4764
+ },
4765
+ {
4766
+ "kind": "javascript-module",
4767
+ "path": "src/utils/server-errors.ts",
4768
+ "declarations": [
4769
+ {
4770
+ "kind": "function",
4771
+ "name": "mapGenesisFieldErrorsToAdditionalErrors",
4772
+ "return": {
4773
+ "type": {
4774
+ "text": "ErrorObject[]"
4775
+ }
4776
+ },
4777
+ "parameters": [
4778
+ {
4779
+ "name": "errors",
4675
4780
  "type": {
4676
- "text": "boolean"
4781
+ "text": "GenesisFieldError[] | undefined"
4677
4782
  },
4678
- "privacy": "private",
4679
- "default": "false"
4680
- },
4681
- {
4682
- "kind": "field",
4683
- "name": "submitted",
4684
- "type": {
4685
- "text": "boolean"
4686
- }
4687
- },
4688
- {
4689
- "kind": "method",
4690
- "name": "submittedChanged"
4691
- },
4692
- {
4693
- "kind": "field",
4694
- "name": "dispatch"
4695
- },
4696
- {
4697
- "kind": "field",
4698
- "name": "control"
4699
- },
4700
- {
4701
- "kind": "field",
4702
- "name": "renderer"
4703
- },
4704
- {
4705
- "kind": "field",
4706
- "name": "prefix"
4783
+ "description": "Genesis ERROR array from an EVENT_NACK response"
4707
4784
  },
4708
4785
  {
4709
- "kind": "field",
4710
- "name": "depth",
4786
+ "name": "schema",
4787
+ "optional": true,
4711
4788
  "type": {
4712
- "text": "number"
4789
+ "text": "JSONSchema7"
4713
4790
  },
4714
- "default": "1"
4715
- },
4716
- {
4717
- "kind": "method",
4718
- "name": "prefixChanged"
4719
- },
4720
- {
4721
- "kind": "field",
4722
- "name": "createRenderer"
4723
- },
4724
- {
4725
- "kind": "method",
4726
- "name": "onBlur"
4727
- },
4728
- {
4729
- "kind": "field",
4730
- "name": "determinedRenderer",
4731
- "readonly": true
4791
+ "description": "JSON schema used to resolve `parentSchema` for each field"
4732
4792
  },
4733
4793
  {
4734
- "kind": "field",
4735
- "name": "hostClasses",
4794
+ "name": "instancePathPrefix",
4795
+ "optional": true,
4736
4796
  "type": {
4737
4797
  "text": "string"
4738
4798
  },
4739
- "readonly": true
4799
+ "description": "Optional prefix for bulk-insert rows (e.g. `/items/0`)"
4740
4800
  }
4741
4801
  ],
4742
- "superclass": {
4743
- "name": "FASTElement",
4744
- "package": "@microsoft/fast-element"
4745
- },
4746
- "tagName": "dispatch-renderer",
4747
- "customElement": true
4802
+ "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.",
4803
+ "privacy": "public"
4748
4804
  }
4749
4805
  ],
4750
4806
  "exports": [
4751
4807
  {
4752
4808
  "kind": "js",
4753
- "name": "DispatchRenderer",
4754
- "declaration": {
4755
- "name": "DispatchRenderer",
4756
- "module": "src/jsonforms/renderers/dispatch-renderer.ts"
4757
- }
4758
- },
4759
- {
4760
- "kind": "custom-element-definition",
4761
- "name": "dispatch-renderer",
4809
+ "name": "mapGenesisFieldErrorsToAdditionalErrors",
4762
4810
  "declaration": {
4763
- "name": "DispatchRenderer",
4764
- "module": "src/jsonforms/renderers/dispatch-renderer.ts"
4811
+ "name": "mapGenesisFieldErrorsToAdditionalErrors",
4812
+ "module": "src/utils/server-errors.ts"
4765
4813
  }
4766
4814
  }
4767
4815
  ]
4768
4816
  },
4769
4817
  {
4770
4818
  "kind": "javascript-module",
4771
- "path": "src/jsonforms/renderers/foundation-react-slot.ts",
4819
+ "path": "src/utils/translation.ts",
4820
+ "declarations": [],
4821
+ "exports": []
4822
+ },
4823
+ {
4824
+ "kind": "javascript-module",
4825
+ "path": "src/utils/types.ts",
4826
+ "declarations": [],
4827
+ "exports": []
4828
+ },
4829
+ {
4830
+ "kind": "javascript-module",
4831
+ "path": "src/utils/validation.ts",
4772
4832
  "declarations": [
4773
4833
  {
4774
- "kind": "class",
4775
- "description": "Light-DOM FAST element that hosts a React tree returned by a `UiSchema`\n`options.render` function. Mounts a React root on `connectedCallback`,\nunmounts on `disconnectedCallback`, and re-renders whenever any of its\nobservable props change.\n\n`shadowOptions: null` keeps rendering in light DOM so that `createRoot(this)`\nmounts into the host element itself and consumer/global CSS applies normally.",
4776
- "name": "FoundationReactSlot",
4777
- "members": [
4778
- {
4779
- "kind": "field",
4780
- "name": "render",
4781
- "type": {
4782
- "text": "ReactSlotRenderFn | undefined"
4783
- }
4784
- },
4785
- {
4786
- "kind": "field",
4787
- "name": "data",
4788
- "type": {
4789
- "text": "unknown"
4790
- }
4791
- },
4792
- {
4793
- "kind": "field",
4794
- "name": "controlData",
4795
- "type": {
4796
- "text": "unknown"
4797
- }
4798
- },
4834
+ "kind": "function",
4835
+ "name": "mustMatch",
4836
+ "parameters": [
4799
4837
  {
4800
- "kind": "field",
4801
- "name": "path",
4838
+ "name": "target",
4802
4839
  "type": {
4803
4840
  "text": "string"
4804
4841
  },
4805
- "default": "''"
4806
- },
4842
+ "description": "any other field"
4843
+ }
4844
+ ],
4845
+ "description": "Ensures the value of the current field (the one the validator is on) matches the one of the target field.",
4846
+ "return": {
4847
+ "type": {
4848
+ "text": ""
4849
+ }
4850
+ },
4851
+ "privacy": "public"
4852
+ },
4853
+ {
4854
+ "kind": "function",
4855
+ "name": "getAnyOfErrorMessage",
4856
+ "return": {
4857
+ "type": {
4858
+ "text": "string"
4859
+ }
4860
+ },
4861
+ "parameters": [
4807
4862
  {
4808
- "kind": "field",
4809
- "name": "handleChange",
4863
+ "name": "errors",
4810
4864
  "type": {
4811
- "text": "((path: string, value: unknown) => void) | undefined"
4865
+ "text": "Array<any> | undefined"
4812
4866
  }
4813
4867
  },
4814
4868
  {
4815
- "kind": "field",
4816
- "name": "root",
4869
+ "name": "schema",
4817
4870
  "type": {
4818
- "text": "Root | null"
4819
- },
4820
- "privacy": "private",
4821
- "default": "null"
4822
- },
4823
- {
4824
- "kind": "method",
4825
- "name": "renderChanged",
4826
- "privacy": "protected",
4827
- "return": {
4828
- "type": {
4829
- "text": "void"
4830
- }
4831
- }
4832
- },
4833
- {
4834
- "kind": "method",
4835
- "name": "dataChanged",
4836
- "privacy": "protected",
4837
- "return": {
4838
- "type": {
4839
- "text": "void"
4840
- }
4841
- }
4842
- },
4843
- {
4844
- "kind": "method",
4845
- "name": "controlDataChanged",
4846
- "privacy": "protected",
4847
- "return": {
4848
- "type": {
4849
- "text": "void"
4850
- }
4851
- }
4852
- },
4853
- {
4854
- "kind": "method",
4855
- "name": "pathChanged",
4856
- "privacy": "protected",
4857
- "return": {
4858
- "type": {
4859
- "text": "void"
4860
- }
4871
+ "text": "any"
4861
4872
  }
4862
4873
  },
4863
4874
  {
4864
- "kind": "method",
4865
- "name": "handleChangeChanged",
4866
- "privacy": "protected",
4867
- "return": {
4868
- "type": {
4869
- "text": "void"
4870
- }
4875
+ "name": "controlPath",
4876
+ "type": {
4877
+ "text": "string | undefined"
4871
4878
  }
4872
4879
  },
4873
4880
  {
4874
- "kind": "method",
4875
- "name": "flush",
4876
- "privacy": "private",
4877
- "return": {
4878
- "type": {
4879
- "text": "void"
4880
- }
4881
+ "name": "uiCustomMsg",
4882
+ "optional": true,
4883
+ "type": {
4884
+ "text": "string"
4881
4885
  }
4882
4886
  }
4883
4887
  ],
4884
- "superclass": {
4885
- "name": "FASTElement",
4886
- "package": "@microsoft/fast-element"
4887
- },
4888
- "tagName": "foundation-react-slot",
4889
- "customElement": true
4888
+ "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.",
4889
+ "privacy": "public"
4890
4890
  }
4891
4891
  ],
4892
4892
  "exports": [
4893
4893
  {
4894
4894
  "kind": "js",
4895
- "name": "FoundationReactSlot",
4895
+ "name": "mustMatch",
4896
4896
  "declaration": {
4897
- "name": "FoundationReactSlot",
4898
- "module": "src/jsonforms/renderers/foundation-react-slot.ts"
4897
+ "name": "mustMatch",
4898
+ "module": "src/utils/validation.ts"
4899
4899
  }
4900
4900
  },
4901
4901
  {
4902
- "kind": "custom-element-definition",
4903
- "name": "foundation-react-slot",
4902
+ "kind": "js",
4903
+ "name": "getAnyOfErrorMessage",
4904
4904
  "declaration": {
4905
- "name": "FoundationReactSlot",
4906
- "module": "src/jsonforms/renderers/foundation-react-slot.ts"
4905
+ "name": "getAnyOfErrorMessage",
4906
+ "module": "src/utils/validation.ts"
4907
4907
  }
4908
4908
  }
4909
4909
  ]