@genesislcap/foundation-forms 15.19.1-GENC-1557.2 → 15.19.1

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 +1012 -1012
  2. package/package.json +14 -14
@@ -2045,556 +2045,561 @@
2045
2045
  },
2046
2046
  {
2047
2047
  "kind": "javascript-module",
2048
- "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
2048
+ "path": "src/utils/confirmation-dialog-utils.ts",
2049
+ "declarations": [],
2050
+ "exports": []
2051
+ },
2052
+ {
2053
+ "kind": "javascript-module",
2054
+ "path": "src/utils/csv-parser.ts",
2049
2055
  "declarations": [
2050
2056
  {
2051
2057
  "kind": "function",
2052
- "name": "ArrayListWrapperRendererTemplate",
2058
+ "name": "parseCsv",
2059
+ "return": {
2060
+ "type": {
2061
+ "text": ""
2062
+ }
2063
+ },
2053
2064
  "parameters": [
2054
2065
  {
2055
- "name": "prefix",
2056
- "default": "'zero'",
2066
+ "name": "content",
2057
2067
  "type": {
2058
2068
  "text": "string"
2059
- }
2069
+ },
2070
+ "description": "The CSV content as a string"
2060
2071
  }
2061
- ]
2072
+ ],
2073
+ "description": "Parses a CSV string into headers and rows using PapaParse.\nHandles quoted fields, escaped quotes, empty values, and mixed line endings.",
2074
+ "privacy": "public"
2062
2075
  },
2063
2076
  {
2064
- "kind": "class",
2065
- "description": "",
2066
- "name": "ArrayListWrapper",
2067
- "members": [
2068
- {
2069
- "kind": "field",
2070
- "name": "form"
2071
- },
2072
- {
2073
- "kind": "field",
2074
- "name": "control"
2075
- },
2077
+ "kind": "function",
2078
+ "name": "mapCsvToSchema",
2079
+ "return": {
2080
+ "type": {
2081
+ "text": ""
2082
+ }
2083
+ },
2084
+ "parameters": [
2076
2085
  {
2077
- "kind": "field",
2078
- "name": "schema"
2086
+ "name": "csvRows",
2087
+ "type": {
2088
+ "text": "Record<string, string>[]"
2089
+ },
2090
+ "description": "The parsed CSV rows"
2079
2091
  },
2080
2092
  {
2081
- "kind": "field",
2082
- "name": "uiSchema"
2093
+ "name": "schema",
2094
+ "type": {
2095
+ "text": "JSONSchema7 | undefined"
2096
+ },
2097
+ "description": "The JSON schema defining the fields"
2083
2098
  },
2084
2099
  {
2085
- "kind": "field",
2086
- "name": "isGridView",
2100
+ "name": "uiSchema",
2101
+ "optional": true,
2087
2102
  "type": {
2088
- "text": "boolean"
2103
+ "text": "UiSchema"
2089
2104
  },
2090
- "default": "false"
2091
- },
2105
+ "description": "Optional UI schema to map labels to field names on import"
2106
+ }
2107
+ ],
2108
+ "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.",
2109
+ "privacy": "public"
2110
+ },
2111
+ {
2112
+ "kind": "function",
2113
+ "name": "generateCsvTemplate",
2114
+ "return": {
2115
+ "type": {
2116
+ "text": ""
2117
+ }
2118
+ },
2119
+ "parameters": [
2092
2120
  {
2093
- "kind": "field",
2094
- "name": "gridViewHeaderCells",
2121
+ "name": "schema",
2095
2122
  "type": {
2096
- "text": "GridHeaderCell[]"
2123
+ "text": "JSONSchema7 | undefined"
2097
2124
  },
2098
- "default": "[]"
2125
+ "description": "The JSON schema defining the fields"
2099
2126
  },
2100
2127
  {
2101
- "kind": "field",
2102
- "name": "gridViewUiSchema",
2128
+ "name": "uiSchema",
2129
+ "optional": true,
2103
2130
  "type": {
2104
- "text": "any"
2131
+ "text": "UiSchema"
2105
2132
  },
2106
- "default": "null"
2133
+ "description": "Optional UI schema to determine field order and visibility"
2107
2134
  },
2108
2135
  {
2109
- "kind": "method",
2110
- "name": "controlChanged"
2136
+ "name": "includeOptionalFields",
2137
+ "default": "true",
2138
+ "type": {
2139
+ "text": "boolean"
2140
+ },
2141
+ "description": "Whether to include optional fields when no UI schema (default: true)"
2111
2142
  },
2112
2143
  {
2113
- "kind": "method",
2114
- "name": "addItem"
2115
- },
2144
+ "name": "includeBom",
2145
+ "default": "true",
2146
+ "type": {
2147
+ "text": "boolean"
2148
+ },
2149
+ "description": "Whether to prepend UTF-8 BOM for Excel compatibility (default: true)"
2150
+ }
2151
+ ],
2152
+ "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.",
2153
+ "privacy": "public"
2154
+ },
2155
+ {
2156
+ "kind": "function",
2157
+ "name": "downloadCsvTemplate",
2158
+ "return": {
2159
+ "type": {
2160
+ "text": "void"
2161
+ }
2162
+ },
2163
+ "parameters": [
2116
2164
  {
2117
- "kind": "method",
2118
- "name": "deleteItem",
2119
- "parameters": [
2120
- {
2121
- "name": "index",
2122
- "type": {
2123
- "text": "number"
2124
- }
2125
- }
2126
- ]
2165
+ "name": "csvContent",
2166
+ "type": {
2167
+ "text": "string"
2168
+ },
2169
+ "description": "The CSV content to download"
2127
2170
  },
2128
2171
  {
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."
2172
+ "name": "fileName",
2173
+ "default": "'template.csv'",
2174
+ "type": {
2175
+ "text": "string"
2176
+ },
2177
+ "description": "The name for the downloaded file (default: 'template.csv')"
2141
2178
  }
2142
2179
  ],
2143
- "superclass": {
2144
- "name": "FASTElement",
2145
- "package": "@microsoft/fast-element"
2146
- },
2147
- "tagName": "array-list-wrapper",
2148
- "customElement": true
2180
+ "description": "Triggers a download of the CSV template file in the browser.",
2181
+ "privacy": "public"
2149
2182
  }
2150
2183
  ],
2151
2184
  "exports": [
2152
2185
  {
2153
2186
  "kind": "js",
2154
- "name": "ArrayListWrapperRendererTemplate",
2187
+ "name": "parseCsv",
2155
2188
  "declaration": {
2156
- "name": "ArrayListWrapperRendererTemplate",
2157
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2189
+ "name": "parseCsv",
2190
+ "module": "src/utils/csv-parser.ts"
2158
2191
  }
2159
2192
  },
2160
2193
  {
2161
2194
  "kind": "js",
2162
- "name": "ArrayListWrapper",
2163
- "declaration": {
2164
- "name": "ArrayListWrapper",
2165
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2166
- }
2167
- },
2168
- {
2169
- "kind": "custom-element-definition",
2170
- "name": "array-list-wrapper",
2195
+ "name": "mapCsvToSchema",
2171
2196
  "declaration": {
2172
- "name": "ArrayListWrapper",
2173
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2197
+ "name": "mapCsvToSchema",
2198
+ "module": "src/utils/csv-parser.ts"
2174
2199
  }
2175
- }
2176
- ]
2177
- },
2178
- {
2179
- "kind": "javascript-module",
2180
- "path": "src/jsonforms/renderers/BooleanControlRenderer.ts",
2181
- "declarations": [
2182
- {
2183
- "kind": "function",
2184
- "name": "BooleanControlRendererTemplate",
2185
- "parameters": [
2186
- {
2187
- "name": "prefix",
2188
- "default": "'zero'",
2189
- "type": {
2190
- "text": "string"
2191
- }
2192
- }
2193
- ]
2194
2200
  },
2195
- {
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}"
2202
- }
2203
- ],
2204
- "exports": [
2205
2201
  {
2206
2202
  "kind": "js",
2207
- "name": "BooleanControlRendererTemplate",
2203
+ "name": "generateCsvTemplate",
2208
2204
  "declaration": {
2209
- "name": "BooleanControlRendererTemplate",
2210
- "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2205
+ "name": "generateCsvTemplate",
2206
+ "module": "src/utils/csv-parser.ts"
2211
2207
  }
2212
2208
  },
2213
2209
  {
2214
2210
  "kind": "js",
2215
- "name": "BooleanControlEntry",
2211
+ "name": "downloadCsvTemplate",
2216
2212
  "declaration": {
2217
- "name": "BooleanControlEntry",
2218
- "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2213
+ "name": "downloadCsvTemplate",
2214
+ "module": "src/utils/csv-parser.ts"
2219
2215
  }
2220
2216
  }
2221
2217
  ]
2222
2218
  },
2223
2219
  {
2224
2220
  "kind": "javascript-module",
2225
- "path": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts",
2221
+ "path": "src/utils/filters.ts",
2222
+ "declarations": [],
2223
+ "exports": []
2224
+ },
2225
+ {
2226
+ "kind": "javascript-module",
2227
+ "path": "src/utils/form-utils.ts",
2226
2228
  "declarations": [
2227
2229
  {
2228
2230
  "kind": "function",
2229
- "name": "computeCategoryClassName",
2231
+ "name": "removeDataPropertiesNotInSchema",
2230
2232
  "return": {
2231
2233
  "type": {
2232
- "text": "string"
2234
+ "text": ""
2233
2235
  }
2234
2236
  },
2235
2237
  "parameters": [
2236
2238
  {
2237
- "name": "category",
2239
+ "name": "data",
2238
2240
  "type": {
2239
- "text": "UiSchemaElement"
2240
- }
2241
+ "text": "any"
2242
+ },
2243
+ "description": "The data object to clean"
2241
2244
  },
2242
2245
  {
2243
- "name": "data",
2246
+ "name": "jsonSchema",
2244
2247
  "type": {
2245
- "text": "any"
2246
- }
2248
+ "text": "JSONSchema7"
2249
+ },
2250
+ "description": "The JSON schema to validate against"
2247
2251
  }
2248
- ]
2249
- },
2252
+ ],
2253
+ "description": "Removes data properties that aren't part of the schema"
2254
+ }
2255
+ ],
2256
+ "exports": [
2250
2257
  {
2251
- "kind": "variable",
2252
- "name": "tabControlIconStyles",
2253
- "default": "css`\n .tab-control-icon {\n margin-left: 3px;\n color: #f9644d;\n }\n`"
2258
+ "kind": "js",
2259
+ "name": "removeDataPropertiesNotInSchema",
2260
+ "declaration": {
2261
+ "name": "removeDataPropertiesNotInSchema",
2262
+ "module": "src/utils/form-utils.ts"
2263
+ }
2264
+ }
2265
+ ]
2266
+ },
2267
+ {
2268
+ "kind": "javascript-module",
2269
+ "path": "src/utils/index.ts",
2270
+ "declarations": [],
2271
+ "exports": [
2272
+ {
2273
+ "kind": "js",
2274
+ "name": "*",
2275
+ "declaration": {
2276
+ "name": "*",
2277
+ "package": "./csv-parser"
2278
+ }
2254
2279
  },
2255
2280
  {
2256
- "kind": "function",
2257
- "name": "CategorizationWrapperRendererTemplate",
2258
- "parameters": [
2259
- {
2260
- "name": "prefix",
2261
- "default": "'zero'"
2262
- }
2263
- ]
2281
+ "kind": "js",
2282
+ "name": "*",
2283
+ "declaration": {
2284
+ "name": "*",
2285
+ "package": "./review-utils"
2286
+ }
2264
2287
  },
2265
2288
  {
2266
- "kind": "class",
2267
- "description": "",
2268
- "name": "CategorizationWrapper",
2269
- "members": [
2270
- {
2271
- "kind": "field",
2272
- "name": "form"
2273
- },
2274
- {
2275
- "kind": "field",
2276
- "name": "control"
2277
- },
2278
- {
2279
- "kind": "field",
2280
- "name": "mountedTabs",
2281
- "type": {
2282
- "text": "Set<number>"
2283
- },
2284
- "default": "new Set([0])"
2285
- },
2286
- {
2287
- "kind": "field",
2288
- "name": "activeTabIndex",
2289
- "type": {
2290
- "text": "number"
2291
- },
2292
- "default": "0"
2293
- },
2294
- {
2295
- "kind": "field",
2296
- "name": "hasAppliedActiveCategory",
2297
- "type": {
2298
- "text": "boolean"
2299
- },
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."
2303
- },
2304
- {
2305
- "kind": "method",
2306
- "name": "controlChanged"
2307
- },
2308
- {
2309
- "kind": "method",
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
- ]
2324
- },
2325
- {
2326
- "kind": "method",
2327
- "name": "handleTabChange",
2328
- "parameters": [
2329
- {
2330
- "name": "event",
2331
- "type": {
2332
- "text": "Event"
2333
- }
2334
- }
2335
- ]
2336
- },
2337
- {
2338
- "kind": "method",
2339
- "name": "hasCategoryError",
2340
- "return": {
2341
- "type": {
2342
- "text": "boolean"
2343
- }
2344
- },
2345
- "parameters": [
2346
- {
2347
- "name": "categoryIndex",
2348
- "type": {
2349
- "text": "number"
2350
- }
2351
- }
2352
- ]
2353
- }
2354
- ],
2355
- "superclass": {
2356
- "name": "FASTElement",
2357
- "package": "@microsoft/fast-element"
2358
- },
2359
- "tagName": "categorization-wrapper",
2360
- "customElement": true
2361
- }
2362
- ],
2363
- "exports": [
2289
+ "kind": "js",
2290
+ "name": "*",
2291
+ "declaration": {
2292
+ "name": "*",
2293
+ "package": "./filters"
2294
+ }
2295
+ },
2364
2296
  {
2365
2297
  "kind": "js",
2366
- "name": "computeCategoryClassName",
2298
+ "name": "*",
2367
2299
  "declaration": {
2368
- "name": "computeCategoryClassName",
2369
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2300
+ "name": "*",
2301
+ "package": "./logger"
2370
2302
  }
2371
2303
  },
2372
2304
  {
2373
2305
  "kind": "js",
2374
- "name": "tabControlIconStyles",
2306
+ "name": "*",
2375
2307
  "declaration": {
2376
- "name": "tabControlIconStyles",
2377
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2308
+ "name": "*",
2309
+ "package": "./translation"
2378
2310
  }
2379
2311
  },
2380
2312
  {
2381
2313
  "kind": "js",
2382
- "name": "CategorizationWrapperRendererTemplate",
2314
+ "name": "*",
2383
2315
  "declaration": {
2384
- "name": "CategorizationWrapperRendererTemplate",
2385
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2316
+ "name": "*",
2317
+ "package": "./validation"
2386
2318
  }
2387
2319
  },
2388
2320
  {
2389
2321
  "kind": "js",
2390
- "name": "CategorizationWrapper",
2322
+ "name": "*",
2391
2323
  "declaration": {
2392
- "name": "CategorizationWrapper",
2393
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2324
+ "name": "*",
2325
+ "package": "./server-errors"
2394
2326
  }
2395
2327
  },
2396
2328
  {
2397
- "kind": "custom-element-definition",
2398
- "name": "categorization-wrapper",
2329
+ "kind": "js",
2330
+ "name": "*",
2399
2331
  "declaration": {
2400
- "name": "CategorizationWrapper",
2401
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2332
+ "name": "*",
2333
+ "package": "./types"
2402
2334
  }
2403
2335
  }
2404
2336
  ]
2405
2337
  },
2406
2338
  {
2407
2339
  "kind": "javascript-module",
2408
- "path": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts",
2340
+ "path": "src/utils/logger.ts",
2341
+ "declarations": [],
2342
+ "exports": []
2343
+ },
2344
+ {
2345
+ "kind": "javascript-module",
2346
+ "path": "src/utils/review-utils.ts",
2347
+ "declarations": [],
2348
+ "exports": []
2349
+ },
2350
+ {
2351
+ "kind": "javascript-module",
2352
+ "path": "src/utils/schema-utils.ts",
2409
2353
  "declarations": [
2410
2354
  {
2411
2355
  "kind": "function",
2412
- "name": "resolveSelectedOptions",
2356
+ "name": "extractErrorScopes",
2413
2357
  "return": {
2414
2358
  "type": {
2415
- "text": "any[]"
2359
+ "text": "string[]"
2416
2360
  }
2417
2361
  },
2418
2362
  "parameters": [
2419
2363
  {
2420
- "name": "control",
2364
+ "name": "errors",
2421
2365
  "type": {
2422
- "text": "any"
2366
+ "text": "ErrorObject[]"
2423
2367
  }
2424
2368
  }
2425
- ]
2369
+ ],
2370
+ "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."
2426
2371
  },
2427
2372
  {
2428
2373
  "kind": "function",
2429
- "name": "resolveSelectionValue",
2374
+ "name": "uiSchemaHasAnyError",
2430
2375
  "return": {
2431
2376
  "type": {
2432
- "text": "any"
2377
+ "text": "boolean"
2433
2378
  }
2434
2379
  },
2435
2380
  "parameters": [
2436
2381
  {
2437
- "name": "control",
2382
+ "name": "uiSchema",
2438
2383
  "type": {
2439
- "text": "any"
2384
+ "text": "UiSchemaElement | UiSchema"
2440
2385
  }
2441
2386
  },
2442
2387
  {
2443
- "name": "detail",
2444
- "type": {
2445
- "text": "any"
2446
- }
2447
- }
2448
- ]
2449
- },
2450
- {
2451
- "kind": "function",
2452
- "name": "ConnectedMultiselectControlRendererTemplate",
2453
- "parameters": [
2454
- {
2455
- "name": "prefix",
2456
- "default": "'zero'",
2388
+ "name": "errorScopes",
2457
2389
  "type": {
2458
- "text": "string"
2390
+ "text": "string[]"
2459
2391
  }
2460
2392
  }
2461
- ]
2462
- },
2463
- {
2464
- "kind": "variable",
2465
- "name": "ConnectedMultiselectControlRendererEntry",
2466
- "type": {
2467
- "text": "RendererEntry"
2468
- },
2469
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedMultiselectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTISELECT_CONTROL_RANK, isOneOfOptionMultiselect),\n mapper: mapStateToControlProps,\n}"
2393
+ ],
2394
+ "description": "Returns true when `uiSchema` (or any of its descendants) has a scope that appears\nin `errorScopes`. Walks both `elements` and `options.childElements`."
2470
2395
  }
2471
2396
  ],
2472
2397
  "exports": [
2473
2398
  {
2474
2399
  "kind": "js",
2475
- "name": "resolveSelectedOptions",
2400
+ "name": "extractErrorScopes",
2476
2401
  "declaration": {
2477
- "name": "resolveSelectedOptions",
2478
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2402
+ "name": "extractErrorScopes",
2403
+ "module": "src/utils/schema-utils.ts"
2479
2404
  }
2480
2405
  },
2481
2406
  {
2482
2407
  "kind": "js",
2483
- "name": "resolveSelectionValue",
2408
+ "name": "uiSchemaHasAnyError",
2484
2409
  "declaration": {
2485
- "name": "resolveSelectionValue",
2486
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2410
+ "name": "uiSchemaHasAnyError",
2411
+ "module": "src/utils/schema-utils.ts"
2487
2412
  }
2488
- },
2413
+ }
2414
+ ]
2415
+ },
2416
+ {
2417
+ "kind": "javascript-module",
2418
+ "path": "src/utils/server-errors.ts",
2419
+ "declarations": [
2489
2420
  {
2490
- "kind": "js",
2491
- "name": "ConnectedMultiselectControlRendererTemplate",
2492
- "declaration": {
2493
- "name": "ConnectedMultiselectControlRendererTemplate",
2494
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2495
- }
2496
- },
2421
+ "kind": "function",
2422
+ "name": "mapGenesisFieldErrorsToAdditionalErrors",
2423
+ "return": {
2424
+ "type": {
2425
+ "text": "ErrorObject[]"
2426
+ }
2427
+ },
2428
+ "parameters": [
2429
+ {
2430
+ "name": "errors",
2431
+ "type": {
2432
+ "text": "GenesisFieldError[] | undefined"
2433
+ },
2434
+ "description": "Genesis ERROR array from an EVENT_NACK response"
2435
+ },
2436
+ {
2437
+ "name": "schema",
2438
+ "optional": true,
2439
+ "type": {
2440
+ "text": "JSONSchema7"
2441
+ },
2442
+ "description": "JSON schema used to resolve `parentSchema` for each field"
2443
+ },
2444
+ {
2445
+ "name": "instancePathPrefix",
2446
+ "optional": true,
2447
+ "type": {
2448
+ "text": "string"
2449
+ },
2450
+ "description": "Optional prefix for bulk-insert rows (e.g. `/items/0`)"
2451
+ }
2452
+ ],
2453
+ "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.",
2454
+ "privacy": "public"
2455
+ }
2456
+ ],
2457
+ "exports": [
2497
2458
  {
2498
2459
  "kind": "js",
2499
- "name": "ConnectedMultiselectControlRendererEntry",
2460
+ "name": "mapGenesisFieldErrorsToAdditionalErrors",
2500
2461
  "declaration": {
2501
- "name": "ConnectedMultiselectControlRendererEntry",
2502
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2462
+ "name": "mapGenesisFieldErrorsToAdditionalErrors",
2463
+ "module": "src/utils/server-errors.ts"
2503
2464
  }
2504
2465
  }
2505
2466
  ]
2506
2467
  },
2507
2468
  {
2508
2469
  "kind": "javascript-module",
2509
- "path": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts",
2470
+ "path": "src/utils/translation.ts",
2471
+ "declarations": [],
2472
+ "exports": []
2473
+ },
2474
+ {
2475
+ "kind": "javascript-module",
2476
+ "path": "src/utils/types.ts",
2477
+ "declarations": [],
2478
+ "exports": []
2479
+ },
2480
+ {
2481
+ "kind": "javascript-module",
2482
+ "path": "src/utils/validation.ts",
2510
2483
  "declarations": [
2511
2484
  {
2512
2485
  "kind": "function",
2513
- "name": "ConnectedSelectControlRendererTemplate",
2486
+ "name": "mustMatch",
2514
2487
  "parameters": [
2515
2488
  {
2516
- "name": "prefix",
2517
- "default": "'zero'",
2489
+ "name": "target",
2518
2490
  "type": {
2519
2491
  "text": "string"
2520
- }
2492
+ },
2493
+ "description": "any other field"
2521
2494
  }
2522
- ]
2495
+ ],
2496
+ "description": "Ensures the value of the current field (the one the validator is on) matches the one of the target field.",
2497
+ "return": {
2498
+ "type": {
2499
+ "text": ""
2500
+ }
2501
+ },
2502
+ "privacy": "public"
2523
2503
  },
2524
2504
  {
2525
- "kind": "variable",
2526
- "name": "ConnectedSelectControlRendererEntry",
2527
- "type": {
2528
- "text": "any"
2505
+ "kind": "function",
2506
+ "name": "getAnyOfErrorMessage",
2507
+ "return": {
2508
+ "type": {
2509
+ "text": "string"
2510
+ }
2529
2511
  },
2530
- "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}"
2512
+ "parameters": [
2513
+ {
2514
+ "name": "errors",
2515
+ "type": {
2516
+ "text": "Array<any> | undefined"
2517
+ }
2518
+ },
2519
+ {
2520
+ "name": "schema",
2521
+ "type": {
2522
+ "text": "any"
2523
+ }
2524
+ },
2525
+ {
2526
+ "name": "controlPath",
2527
+ "type": {
2528
+ "text": "string | undefined"
2529
+ }
2530
+ },
2531
+ {
2532
+ "name": "uiCustomMsg",
2533
+ "optional": true,
2534
+ "type": {
2535
+ "text": "string"
2536
+ }
2537
+ }
2538
+ ],
2539
+ "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.",
2540
+ "privacy": "public"
2531
2541
  }
2532
2542
  ],
2533
2543
  "exports": [
2534
2544
  {
2535
2545
  "kind": "js",
2536
- "name": "ConnectedSelectControlRendererTemplate",
2546
+ "name": "mustMatch",
2537
2547
  "declaration": {
2538
- "name": "ConnectedSelectControlRendererTemplate",
2539
- "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2548
+ "name": "mustMatch",
2549
+ "module": "src/utils/validation.ts"
2540
2550
  }
2541
2551
  },
2542
2552
  {
2543
2553
  "kind": "js",
2544
- "name": "ConnectedSelectControlRendererEntry",
2554
+ "name": "getAnyOfErrorMessage",
2545
2555
  "declaration": {
2546
- "name": "ConnectedSelectControlRendererEntry",
2547
- "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2556
+ "name": "getAnyOfErrorMessage",
2557
+ "module": "src/utils/validation.ts"
2548
2558
  }
2549
2559
  }
2550
2560
  ]
2551
2561
  },
2552
2562
  {
2553
2563
  "kind": "javascript-module",
2554
- "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
2564
+ "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
2555
2565
  "declarations": [
2556
2566
  {
2557
2567
  "kind": "function",
2558
- "name": "controlWrapperTemplate",
2559
- "return": {
2560
- "type": {
2561
- "text": "ViewTemplate<DispatchRenderer>"
2562
- }
2563
- },
2568
+ "name": "ArrayListWrapperRendererTemplate",
2564
2569
  "parameters": [
2565
2570
  {
2566
- "name": "options",
2571
+ "name": "prefix",
2572
+ "default": "'zero'",
2567
2573
  "type": {
2568
- "text": "ControlWrapperOptions"
2574
+ "text": "string"
2569
2575
  }
2570
2576
  }
2571
- ],
2572
- "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.",
2573
- "privacy": "public"
2577
+ ]
2574
2578
  },
2575
2579
  {
2576
2580
  "kind": "class",
2577
2581
  "description": "",
2578
- "name": "ControlWrapper",
2582
+ "name": "ArrayListWrapper",
2579
2583
  "members": [
2584
+ {
2585
+ "kind": "field",
2586
+ "name": "form"
2587
+ },
2580
2588
  {
2581
2589
  "kind": "field",
2582
2590
  "name": "control"
2583
2591
  },
2584
2592
  {
2585
2593
  "kind": "field",
2586
- "name": "jsonForms"
2594
+ "name": "schema"
2587
2595
  },
2588
2596
  {
2589
2597
  "kind": "field",
2590
- "name": "touched",
2591
- "type": {
2592
- "text": "boolean"
2593
- }
2598
+ "name": "uiSchema"
2594
2599
  },
2595
2600
  {
2596
2601
  "kind": "field",
2597
- "name": "hideLabel",
2602
+ "name": "isGridView",
2598
2603
  "type": {
2599
2604
  "text": "boolean"
2600
2605
  },
@@ -2602,92 +2607,97 @@
2602
2607
  },
2603
2608
  {
2604
2609
  "kind": "field",
2605
- "name": "prefix",
2610
+ "name": "gridViewHeaderCells",
2606
2611
  "type": {
2607
- "text": "string"
2608
- }
2612
+ "text": "GridHeaderCell[]"
2613
+ },
2614
+ "default": "[]"
2609
2615
  },
2610
2616
  {
2611
2617
  "kind": "field",
2612
- "name": "showDescription",
2613
- "readonly": true
2618
+ "name": "gridViewUiSchema",
2619
+ "type": {
2620
+ "text": "any"
2621
+ },
2622
+ "default": "null"
2614
2623
  },
2615
2624
  {
2616
- "kind": "field",
2617
- "name": "computedLabel",
2618
- "readonly": true
2625
+ "kind": "method",
2626
+ "name": "controlChanged"
2619
2627
  },
2620
2628
  {
2621
- "kind": "field",
2622
- "name": "getPrefixedTooltip",
2623
- "readonly": true
2629
+ "kind": "method",
2630
+ "name": "addItem"
2624
2631
  },
2625
2632
  {
2626
- "kind": "field",
2627
- "name": "anyOfError",
2628
- "readonly": true
2629
- }
2630
- ],
2631
- "attributes": [
2632
- {
2633
- "name": "hide-label",
2634
- "type": {
2635
- "text": "boolean"
2636
- },
2637
- "default": "false",
2638
- "fieldName": "hideLabel"
2633
+ "kind": "method",
2634
+ "name": "deleteItem",
2635
+ "parameters": [
2636
+ {
2637
+ "name": "index",
2638
+ "type": {
2639
+ "text": "number"
2640
+ }
2641
+ }
2642
+ ]
2639
2643
  },
2640
2644
  {
2641
- "name": "prefix",
2642
- "type": {
2643
- "text": "string"
2644
- },
2645
- "fieldName": "prefix"
2645
+ "kind": "method",
2646
+ "name": "submitRow",
2647
+ "parameters": [
2648
+ {
2649
+ "name": "index",
2650
+ "type": {
2651
+ "text": "number"
2652
+ },
2653
+ "description": "The row index to submit"
2654
+ }
2655
+ ],
2656
+ "description": "Submits a single row by emitting an event that bubbles up to the foundation-form."
2646
2657
  }
2647
2658
  ],
2648
2659
  "superclass": {
2649
2660
  "name": "FASTElement",
2650
2661
  "package": "@microsoft/fast-element"
2651
2662
  },
2652
- "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.",
2653
- "tagName": "control-wrapper",
2663
+ "tagName": "array-list-wrapper",
2654
2664
  "customElement": true
2655
2665
  }
2656
2666
  ],
2657
2667
  "exports": [
2658
2668
  {
2659
2669
  "kind": "js",
2660
- "name": "controlWrapperTemplate",
2670
+ "name": "ArrayListWrapperRendererTemplate",
2661
2671
  "declaration": {
2662
- "name": "controlWrapperTemplate",
2663
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2672
+ "name": "ArrayListWrapperRendererTemplate",
2673
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2664
2674
  }
2665
2675
  },
2666
2676
  {
2667
2677
  "kind": "js",
2668
- "name": "ControlWrapper",
2678
+ "name": "ArrayListWrapper",
2669
2679
  "declaration": {
2670
- "name": "ControlWrapper",
2671
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2680
+ "name": "ArrayListWrapper",
2681
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2672
2682
  }
2673
2683
  },
2674
2684
  {
2675
2685
  "kind": "custom-element-definition",
2676
- "name": "control-wrapper",
2686
+ "name": "array-list-wrapper",
2677
2687
  "declaration": {
2678
- "name": "ControlWrapper",
2679
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2688
+ "name": "ArrayListWrapper",
2689
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2680
2690
  }
2681
2691
  }
2682
2692
  ]
2683
2693
  },
2684
2694
  {
2685
2695
  "kind": "javascript-module",
2686
- "path": "src/jsonforms/renderers/DateControlRenderer.ts",
2696
+ "path": "src/jsonforms/renderers/BooleanControlRenderer.ts",
2687
2697
  "declarations": [
2688
2698
  {
2689
2699
  "kind": "function",
2690
- "name": "DateControlRendererTemplate",
2700
+ "name": "BooleanControlRendererTemplate",
2691
2701
  "parameters": [
2692
2702
  {
2693
2703
  "name": "prefix",
@@ -2700,107 +2710,262 @@
2700
2710
  },
2701
2711
  {
2702
2712
  "kind": "variable",
2703
- "name": "DateControlRendererEntry",
2713
+ "name": "BooleanControlEntry",
2704
2714
  "type": {
2705
2715
  "text": "RendererEntry"
2706
2716
  },
2707
- "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2717
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => BooleanControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(BOOLEAN_CONTROL_RANK, isOneOfBoolean),\n mapper: mapStateToControlProps,\n}"
2708
2718
  }
2709
2719
  ],
2710
2720
  "exports": [
2711
2721
  {
2712
2722
  "kind": "js",
2713
- "name": "DateControlRendererTemplate",
2723
+ "name": "BooleanControlRendererTemplate",
2714
2724
  "declaration": {
2715
- "name": "DateControlRendererTemplate",
2716
- "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2725
+ "name": "BooleanControlRendererTemplate",
2726
+ "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2717
2727
  }
2718
2728
  },
2719
2729
  {
2720
2730
  "kind": "js",
2721
- "name": "DateControlRendererEntry",
2731
+ "name": "BooleanControlEntry",
2722
2732
  "declaration": {
2723
- "name": "DateControlRendererEntry",
2724
- "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2733
+ "name": "BooleanControlEntry",
2734
+ "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2725
2735
  }
2726
2736
  }
2727
2737
  ]
2728
2738
  },
2729
2739
  {
2730
2740
  "kind": "javascript-module",
2731
- "path": "src/jsonforms/renderers/DividerRenderer.ts",
2741
+ "path": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts",
2732
2742
  "declarations": [
2733
2743
  {
2734
2744
  "kind": "function",
2735
- "name": "DividerControlRendererTemplate",
2745
+ "name": "computeCategoryClassName",
2746
+ "return": {
2747
+ "type": {
2748
+ "text": "string"
2749
+ }
2750
+ },
2736
2751
  "parameters": [
2737
2752
  {
2738
- "name": "prefix",
2739
- "default": "'zero'",
2753
+ "name": "category",
2740
2754
  "type": {
2741
- "text": "string"
2755
+ "text": "UiSchemaElement"
2756
+ }
2757
+ },
2758
+ {
2759
+ "name": "data",
2760
+ "type": {
2761
+ "text": "any"
2742
2762
  }
2743
2763
  }
2744
2764
  ]
2745
2765
  },
2746
2766
  {
2747
2767
  "kind": "variable",
2748
- "name": "DividerControlRenderer",
2749
- "type": {
2750
- "text": "RendererEntry"
2768
+ "name": "tabControlIconStyles",
2769
+ "default": "css`\n .tab-control-icon {\n margin-left: 3px;\n color: #f9644d;\n }\n`"
2770
+ },
2771
+ {
2772
+ "kind": "function",
2773
+ "name": "CategorizationWrapperRendererTemplate",
2774
+ "parameters": [
2775
+ {
2776
+ "name": "prefix",
2777
+ "default": "'zero'"
2778
+ }
2779
+ ]
2780
+ },
2781
+ {
2782
+ "kind": "class",
2783
+ "description": "",
2784
+ "name": "CategorizationWrapper",
2785
+ "members": [
2786
+ {
2787
+ "kind": "field",
2788
+ "name": "form"
2789
+ },
2790
+ {
2791
+ "kind": "field",
2792
+ "name": "control"
2793
+ },
2794
+ {
2795
+ "kind": "field",
2796
+ "name": "mountedTabs",
2797
+ "type": {
2798
+ "text": "Set<number>"
2799
+ },
2800
+ "default": "new Set([0])"
2801
+ },
2802
+ {
2803
+ "kind": "field",
2804
+ "name": "activeTabIndex",
2805
+ "type": {
2806
+ "text": "number"
2807
+ },
2808
+ "default": "0"
2809
+ },
2810
+ {
2811
+ "kind": "field",
2812
+ "name": "hasAppliedActiveCategory",
2813
+ "type": {
2814
+ "text": "boolean"
2815
+ },
2816
+ "privacy": "private",
2817
+ "default": "false",
2818
+ "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."
2819
+ },
2820
+ {
2821
+ "kind": "method",
2822
+ "name": "controlChanged"
2823
+ },
2824
+ {
2825
+ "kind": "method",
2826
+ "name": "isMounted",
2827
+ "return": {
2828
+ "type": {
2829
+ "text": "boolean"
2830
+ }
2831
+ },
2832
+ "parameters": [
2833
+ {
2834
+ "name": "index",
2835
+ "type": {
2836
+ "text": "number"
2837
+ }
2838
+ }
2839
+ ]
2840
+ },
2841
+ {
2842
+ "kind": "method",
2843
+ "name": "handleTabChange",
2844
+ "parameters": [
2845
+ {
2846
+ "name": "event",
2847
+ "type": {
2848
+ "text": "Event"
2849
+ }
2850
+ }
2851
+ ]
2852
+ },
2853
+ {
2854
+ "kind": "method",
2855
+ "name": "hasCategoryError",
2856
+ "return": {
2857
+ "type": {
2858
+ "text": "boolean"
2859
+ }
2860
+ },
2861
+ "parameters": [
2862
+ {
2863
+ "name": "categoryIndex",
2864
+ "type": {
2865
+ "text": "number"
2866
+ }
2867
+ }
2868
+ ]
2869
+ }
2870
+ ],
2871
+ "superclass": {
2872
+ "name": "FASTElement",
2873
+ "package": "@microsoft/fast-element"
2751
2874
  },
2752
- "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}"
2875
+ "tagName": "categorization-wrapper",
2876
+ "customElement": true
2753
2877
  }
2754
2878
  ],
2755
2879
  "exports": [
2756
2880
  {
2757
2881
  "kind": "js",
2758
- "name": "DividerControlRendererTemplate",
2882
+ "name": "computeCategoryClassName",
2759
2883
  "declaration": {
2760
- "name": "DividerControlRendererTemplate",
2761
- "module": "src/jsonforms/renderers/DividerRenderer.ts"
2884
+ "name": "computeCategoryClassName",
2885
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2762
2886
  }
2763
2887
  },
2764
2888
  {
2765
2889
  "kind": "js",
2766
- "name": "DividerControlRenderer",
2890
+ "name": "tabControlIconStyles",
2767
2891
  "declaration": {
2768
- "name": "DividerControlRenderer",
2769
- "module": "src/jsonforms/renderers/DividerRenderer.ts"
2892
+ "name": "tabControlIconStyles",
2893
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2894
+ }
2895
+ },
2896
+ {
2897
+ "kind": "js",
2898
+ "name": "CategorizationWrapperRendererTemplate",
2899
+ "declaration": {
2900
+ "name": "CategorizationWrapperRendererTemplate",
2901
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2902
+ }
2903
+ },
2904
+ {
2905
+ "kind": "js",
2906
+ "name": "CategorizationWrapper",
2907
+ "declaration": {
2908
+ "name": "CategorizationWrapper",
2909
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2910
+ }
2911
+ },
2912
+ {
2913
+ "kind": "custom-element-definition",
2914
+ "name": "categorization-wrapper",
2915
+ "declaration": {
2916
+ "name": "CategorizationWrapper",
2917
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2770
2918
  }
2771
2919
  }
2772
2920
  ]
2773
2921
  },
2774
2922
  {
2775
2923
  "kind": "javascript-module",
2776
- "path": "src/jsonforms/renderers/EnumControlRenderer.ts",
2924
+ "path": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts",
2777
2925
  "declarations": [
2778
2926
  {
2779
2927
  "kind": "function",
2780
- "name": "mapStateToEnumControlProps",
2928
+ "name": "resolveSelectedOptions",
2781
2929
  "return": {
2782
2930
  "type": {
2783
- "text": "StatePropsOfControl & OwnPropsOfEnum"
2931
+ "text": "any[]"
2784
2932
  }
2785
2933
  },
2786
2934
  "parameters": [
2787
2935
  {
2788
- "name": "state",
2936
+ "name": "control",
2789
2937
  "type": {
2790
- "text": "JsonFormsState"
2938
+ "text": "any"
2939
+ }
2940
+ }
2941
+ ]
2942
+ },
2943
+ {
2944
+ "kind": "function",
2945
+ "name": "resolveSelectionValue",
2946
+ "return": {
2947
+ "type": {
2948
+ "text": "any"
2949
+ }
2950
+ },
2951
+ "parameters": [
2952
+ {
2953
+ "name": "control",
2954
+ "type": {
2955
+ "text": "any"
2791
2956
  }
2792
2957
  },
2793
2958
  {
2794
- "name": "ownProps",
2959
+ "name": "detail",
2795
2960
  "type": {
2796
- "text": "OwnPropsOfControl & OwnPropsOfEnum"
2961
+ "text": "any"
2797
2962
  }
2798
2963
  }
2799
2964
  ]
2800
2965
  },
2801
2966
  {
2802
2967
  "kind": "function",
2803
- "name": "EnumControlRendererTemplate",
2968
+ "name": "ConnectedMultiselectControlRendererTemplate",
2804
2969
  "parameters": [
2805
2970
  {
2806
2971
  "name": "prefix",
@@ -2813,47 +2978,55 @@
2813
2978
  },
2814
2979
  {
2815
2980
  "kind": "variable",
2816
- "name": "EnumControlRendererEntry",
2981
+ "name": "ConnectedMultiselectControlRendererEntry",
2817
2982
  "type": {
2818
2983
  "text": "RendererEntry"
2819
2984
  },
2820
- "default": "{\n renderer: html`\n ${(x) => EnumControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_CONTROL_RANK, isOneOfEnum),\n mapper: mapStateToEnumControlProps,\n}"
2985
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedMultiselectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTISELECT_CONTROL_RANK, isOneOfOptionMultiselect),\n mapper: mapStateToControlProps,\n}"
2821
2986
  }
2822
2987
  ],
2823
2988
  "exports": [
2824
2989
  {
2825
2990
  "kind": "js",
2826
- "name": "mapStateToEnumControlProps",
2991
+ "name": "resolveSelectedOptions",
2827
2992
  "declaration": {
2828
- "name": "mapStateToEnumControlProps",
2829
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2993
+ "name": "resolveSelectedOptions",
2994
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2830
2995
  }
2831
2996
  },
2832
2997
  {
2833
2998
  "kind": "js",
2834
- "name": "EnumControlRendererTemplate",
2999
+ "name": "resolveSelectionValue",
2835
3000
  "declaration": {
2836
- "name": "EnumControlRendererTemplate",
2837
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
3001
+ "name": "resolveSelectionValue",
3002
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2838
3003
  }
2839
3004
  },
2840
3005
  {
2841
3006
  "kind": "js",
2842
- "name": "EnumControlRendererEntry",
3007
+ "name": "ConnectedMultiselectControlRendererTemplate",
2843
3008
  "declaration": {
2844
- "name": "EnumControlRendererEntry",
2845
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
3009
+ "name": "ConnectedMultiselectControlRendererTemplate",
3010
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
3011
+ }
3012
+ },
3013
+ {
3014
+ "kind": "js",
3015
+ "name": "ConnectedMultiselectControlRendererEntry",
3016
+ "declaration": {
3017
+ "name": "ConnectedMultiselectControlRendererEntry",
3018
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2846
3019
  }
2847
3020
  }
2848
3021
  ]
2849
3022
  },
2850
3023
  {
2851
3024
  "kind": "javascript-module",
2852
- "path": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts",
3025
+ "path": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts",
2853
3026
  "declarations": [
2854
3027
  {
2855
3028
  "kind": "function",
2856
- "name": "EnumRadioGroupControlRendererTemplate",
3029
+ "name": "ConnectedSelectControlRendererTemplate",
2857
3030
  "parameters": [
2858
3031
  {
2859
3032
  "name": "prefix",
@@ -2866,86 +3039,171 @@
2866
3039
  },
2867
3040
  {
2868
3041
  "kind": "variable",
2869
- "name": "EnumRadioGroupControlRendererEntry",
3042
+ "name": "ConnectedSelectControlRendererEntry",
2870
3043
  "type": {
2871
- "text": "RendererEntry"
3044
+ "text": "any"
2872
3045
  },
2873
- "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}",
2874
- "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.",
2875
- "privacy": "public"
3046
+ "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}"
2876
3047
  }
2877
3048
  ],
2878
3049
  "exports": [
2879
3050
  {
2880
3051
  "kind": "js",
2881
- "name": "EnumRadioGroupControlRendererTemplate",
3052
+ "name": "ConnectedSelectControlRendererTemplate",
2882
3053
  "declaration": {
2883
- "name": "EnumRadioGroupControlRendererTemplate",
2884
- "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
3054
+ "name": "ConnectedSelectControlRendererTemplate",
3055
+ "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2885
3056
  }
2886
3057
  },
2887
3058
  {
2888
3059
  "kind": "js",
2889
- "name": "EnumRadioGroupControlRendererEntry",
3060
+ "name": "ConnectedSelectControlRendererEntry",
2890
3061
  "declaration": {
2891
- "name": "EnumRadioGroupControlRendererEntry",
2892
- "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
3062
+ "name": "ConnectedSelectControlRendererEntry",
3063
+ "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2893
3064
  }
2894
3065
  }
2895
3066
  ]
2896
3067
  },
2897
3068
  {
2898
3069
  "kind": "javascript-module",
2899
- "path": "src/jsonforms/renderers/FilterDateControlRenderer.ts",
3070
+ "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
2900
3071
  "declarations": [
2901
3072
  {
2902
3073
  "kind": "function",
2903
- "name": "DateControlRendererTemplate",
3074
+ "name": "controlWrapperTemplate",
3075
+ "return": {
3076
+ "type": {
3077
+ "text": "ViewTemplate<DispatchRenderer>"
3078
+ }
3079
+ },
2904
3080
  "parameters": [
2905
3081
  {
2906
- "name": "prefix",
2907
- "default": "'zero'",
3082
+ "name": "options",
2908
3083
  "type": {
2909
- "text": "string"
3084
+ "text": "ControlWrapperOptions"
2910
3085
  }
2911
3086
  }
2912
- ]
3087
+ ],
3088
+ "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.",
3089
+ "privacy": "public"
2913
3090
  },
2914
3091
  {
2915
- "kind": "variable",
2916
- "name": "FilterDateControlRendererEntry",
2917
- "type": {
2918
- "text": "RendererEntry"
3092
+ "kind": "class",
3093
+ "description": "",
3094
+ "name": "ControlWrapper",
3095
+ "members": [
3096
+ {
3097
+ "kind": "field",
3098
+ "name": "control"
3099
+ },
3100
+ {
3101
+ "kind": "field",
3102
+ "name": "jsonForms"
3103
+ },
3104
+ {
3105
+ "kind": "field",
3106
+ "name": "touched",
3107
+ "type": {
3108
+ "text": "boolean"
3109
+ }
3110
+ },
3111
+ {
3112
+ "kind": "field",
3113
+ "name": "hideLabel",
3114
+ "type": {
3115
+ "text": "boolean"
3116
+ },
3117
+ "default": "false"
3118
+ },
3119
+ {
3120
+ "kind": "field",
3121
+ "name": "prefix",
3122
+ "type": {
3123
+ "text": "string"
3124
+ }
3125
+ },
3126
+ {
3127
+ "kind": "field",
3128
+ "name": "showDescription",
3129
+ "readonly": true
3130
+ },
3131
+ {
3132
+ "kind": "field",
3133
+ "name": "computedLabel",
3134
+ "readonly": true
3135
+ },
3136
+ {
3137
+ "kind": "field",
3138
+ "name": "getPrefixedTooltip",
3139
+ "readonly": true
3140
+ },
3141
+ {
3142
+ "kind": "field",
3143
+ "name": "anyOfError",
3144
+ "readonly": true
3145
+ }
3146
+ ],
3147
+ "attributes": [
3148
+ {
3149
+ "name": "hide-label",
3150
+ "type": {
3151
+ "text": "boolean"
3152
+ },
3153
+ "default": "false",
3154
+ "fieldName": "hideLabel"
3155
+ },
3156
+ {
3157
+ "name": "prefix",
3158
+ "type": {
3159
+ "text": "string"
3160
+ },
3161
+ "fieldName": "prefix"
3162
+ }
3163
+ ],
3164
+ "superclass": {
3165
+ "name": "FASTElement",
3166
+ "package": "@microsoft/fast-element"
2919
3167
  },
2920
- "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
3168
+ "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.",
3169
+ "tagName": "control-wrapper",
3170
+ "customElement": true
2921
3171
  }
2922
3172
  ],
2923
3173
  "exports": [
2924
3174
  {
2925
3175
  "kind": "js",
2926
- "name": "DateControlRendererTemplate",
3176
+ "name": "controlWrapperTemplate",
2927
3177
  "declaration": {
2928
- "name": "DateControlRendererTemplate",
2929
- "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
3178
+ "name": "controlWrapperTemplate",
3179
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2930
3180
  }
2931
3181
  },
2932
3182
  {
2933
3183
  "kind": "js",
2934
- "name": "FilterDateControlRendererEntry",
3184
+ "name": "ControlWrapper",
2935
3185
  "declaration": {
2936
- "name": "FilterDateControlRendererEntry",
2937
- "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
3186
+ "name": "ControlWrapper",
3187
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
3188
+ }
3189
+ },
3190
+ {
3191
+ "kind": "custom-element-definition",
3192
+ "name": "control-wrapper",
3193
+ "declaration": {
3194
+ "name": "ControlWrapper",
3195
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2938
3196
  }
2939
3197
  }
2940
3198
  ]
2941
3199
  },
2942
3200
  {
2943
3201
  "kind": "javascript-module",
2944
- "path": "src/jsonforms/renderers/FilterNumberControlRenderer.ts",
3202
+ "path": "src/jsonforms/renderers/DateControlRenderer.ts",
2945
3203
  "declarations": [
2946
3204
  {
2947
3205
  "kind": "function",
2948
- "name": "FilterNumberControlRendererTemplate",
3206
+ "name": "DateControlRendererTemplate",
2949
3207
  "parameters": [
2950
3208
  {
2951
3209
  "name": "prefix",
@@ -2958,39 +3216,39 @@
2958
3216
  },
2959
3217
  {
2960
3218
  "kind": "variable",
2961
- "name": "FilterNumberControlRendererEntry",
3219
+ "name": "DateControlRendererEntry",
2962
3220
  "type": {
2963
3221
  "text": "RendererEntry"
2964
3222
  },
2965
- "default": "{\n renderer: html`\n ${(x) => FilterNumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
3223
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2966
3224
  }
2967
3225
  ],
2968
3226
  "exports": [
2969
3227
  {
2970
3228
  "kind": "js",
2971
- "name": "FilterNumberControlRendererTemplate",
3229
+ "name": "DateControlRendererTemplate",
2972
3230
  "declaration": {
2973
- "name": "FilterNumberControlRendererTemplate",
2974
- "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
3231
+ "name": "DateControlRendererTemplate",
3232
+ "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2975
3233
  }
2976
3234
  },
2977
3235
  {
2978
3236
  "kind": "js",
2979
- "name": "FilterNumberControlRendererEntry",
3237
+ "name": "DateControlRendererEntry",
2980
3238
  "declaration": {
2981
- "name": "FilterNumberControlRendererEntry",
2982
- "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
3239
+ "name": "DateControlRendererEntry",
3240
+ "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2983
3241
  }
2984
3242
  }
2985
3243
  ]
2986
3244
  },
2987
3245
  {
2988
3246
  "kind": "javascript-module",
2989
- "path": "src/jsonforms/renderers/FilterTimeControlRenderer.ts",
3247
+ "path": "src/jsonforms/renderers/DividerRenderer.ts",
2990
3248
  "declarations": [
2991
3249
  {
2992
3250
  "kind": "function",
2993
- "name": "TimeControlRendererTemplate",
3251
+ "name": "DividerControlRendererTemplate",
2994
3252
  "parameters": [
2995
3253
  {
2996
3254
  "name": "prefix",
@@ -3003,83 +3261,341 @@
3003
3261
  },
3004
3262
  {
3005
3263
  "kind": "variable",
3006
- "name": "FilterTimeControlRendererEntry",
3264
+ "name": "DividerControlRenderer",
3007
3265
  "type": {
3008
3266
  "text": "RendererEntry"
3009
3267
  },
3010
- "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps,\n}"
3268
+ "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}"
3011
3269
  }
3012
3270
  ],
3013
3271
  "exports": [
3014
3272
  {
3015
3273
  "kind": "js",
3016
- "name": "TimeControlRendererTemplate",
3274
+ "name": "DividerControlRendererTemplate",
3017
3275
  "declaration": {
3018
- "name": "TimeControlRendererTemplate",
3019
- "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
3276
+ "name": "DividerControlRendererTemplate",
3277
+ "module": "src/jsonforms/renderers/DividerRenderer.ts"
3020
3278
  }
3021
3279
  },
3022
3280
  {
3023
3281
  "kind": "js",
3024
- "name": "FilterTimeControlRendererEntry",
3282
+ "name": "DividerControlRenderer",
3025
3283
  "declaration": {
3026
- "name": "FilterTimeControlRendererEntry",
3027
- "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
3284
+ "name": "DividerControlRenderer",
3285
+ "module": "src/jsonforms/renderers/DividerRenderer.ts"
3028
3286
  }
3029
3287
  }
3030
3288
  ]
3031
3289
  },
3032
3290
  {
3033
3291
  "kind": "javascript-module",
3034
- "path": "src/jsonforms/renderers/InvisibleControlRenderer.ts",
3292
+ "path": "src/jsonforms/renderers/EnumControlRenderer.ts",
3035
3293
  "declarations": [
3036
3294
  {
3037
- "kind": "variable",
3038
- "name": "InvisibleControlRendererTemplate",
3039
- "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`"
3295
+ "kind": "function",
3296
+ "name": "mapStateToEnumControlProps",
3297
+ "return": {
3298
+ "type": {
3299
+ "text": "StatePropsOfControl & OwnPropsOfEnum"
3300
+ }
3301
+ },
3302
+ "parameters": [
3303
+ {
3304
+ "name": "state",
3305
+ "type": {
3306
+ "text": "JsonFormsState"
3307
+ }
3308
+ },
3309
+ {
3310
+ "name": "ownProps",
3311
+ "type": {
3312
+ "text": "OwnPropsOfControl & OwnPropsOfEnum"
3313
+ }
3314
+ }
3315
+ ]
3316
+ },
3317
+ {
3318
+ "kind": "function",
3319
+ "name": "EnumControlRendererTemplate",
3320
+ "parameters": [
3321
+ {
3322
+ "name": "prefix",
3323
+ "default": "'zero'",
3324
+ "type": {
3325
+ "text": "string"
3326
+ }
3327
+ }
3328
+ ]
3040
3329
  },
3041
3330
  {
3042
3331
  "kind": "variable",
3043
- "name": "InvisibleControlEntry",
3332
+ "name": "EnumControlRendererEntry",
3044
3333
  "type": {
3045
3334
  "text": "RendererEntry"
3046
3335
  },
3047
- "default": "{\n renderer: InvisibleControlRendererTemplate,\n tester: rankWith(INVISIBLE_CONTROL_RANK, isInvisible),\n mapper: mapStateToControlProps,\n}"
3336
+ "default": "{\n renderer: html`\n ${(x) => EnumControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_CONTROL_RANK, isOneOfEnum),\n mapper: mapStateToEnumControlProps,\n}"
3048
3337
  }
3049
3338
  ],
3050
3339
  "exports": [
3051
3340
  {
3052
3341
  "kind": "js",
3053
- "name": "InvisibleControlRendererTemplate",
3342
+ "name": "mapStateToEnumControlProps",
3054
3343
  "declaration": {
3055
- "name": "InvisibleControlRendererTemplate",
3056
- "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
3344
+ "name": "mapStateToEnumControlProps",
3345
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
3057
3346
  }
3058
3347
  },
3059
3348
  {
3060
3349
  "kind": "js",
3061
- "name": "InvisibleControlEntry",
3350
+ "name": "EnumControlRendererTemplate",
3062
3351
  "declaration": {
3063
- "name": "InvisibleControlEntry",
3064
- "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
3352
+ "name": "EnumControlRendererTemplate",
3353
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
3354
+ }
3355
+ },
3356
+ {
3357
+ "kind": "js",
3358
+ "name": "EnumControlRendererEntry",
3359
+ "declaration": {
3360
+ "name": "EnumControlRendererEntry",
3361
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
3065
3362
  }
3066
3363
  }
3067
3364
  ]
3068
3365
  },
3069
3366
  {
3070
3367
  "kind": "javascript-module",
3071
- "path": "src/jsonforms/renderers/LayoutArrayRenderer.ts",
3368
+ "path": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts",
3072
3369
  "declarations": [
3073
3370
  {
3074
- "kind": "variable",
3075
- "name": "LayoutArrayRendererTemplate",
3076
- "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`"
3077
- },
3078
- {
3079
- "kind": "variable",
3080
- "name": "LayoutArrayRendererEntry",
3081
- "type": {
3082
- "text": "any"
3371
+ "kind": "function",
3372
+ "name": "EnumRadioGroupControlRendererTemplate",
3373
+ "parameters": [
3374
+ {
3375
+ "name": "prefix",
3376
+ "default": "'zero'",
3377
+ "type": {
3378
+ "text": "string"
3379
+ }
3380
+ }
3381
+ ]
3382
+ },
3383
+ {
3384
+ "kind": "variable",
3385
+ "name": "EnumRadioGroupControlRendererEntry",
3386
+ "type": {
3387
+ "text": "RendererEntry"
3388
+ },
3389
+ "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}",
3390
+ "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.",
3391
+ "privacy": "public"
3392
+ }
3393
+ ],
3394
+ "exports": [
3395
+ {
3396
+ "kind": "js",
3397
+ "name": "EnumRadioGroupControlRendererTemplate",
3398
+ "declaration": {
3399
+ "name": "EnumRadioGroupControlRendererTemplate",
3400
+ "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
3401
+ }
3402
+ },
3403
+ {
3404
+ "kind": "js",
3405
+ "name": "EnumRadioGroupControlRendererEntry",
3406
+ "declaration": {
3407
+ "name": "EnumRadioGroupControlRendererEntry",
3408
+ "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
3409
+ }
3410
+ }
3411
+ ]
3412
+ },
3413
+ {
3414
+ "kind": "javascript-module",
3415
+ "path": "src/jsonforms/renderers/FilterDateControlRenderer.ts",
3416
+ "declarations": [
3417
+ {
3418
+ "kind": "function",
3419
+ "name": "DateControlRendererTemplate",
3420
+ "parameters": [
3421
+ {
3422
+ "name": "prefix",
3423
+ "default": "'zero'",
3424
+ "type": {
3425
+ "text": "string"
3426
+ }
3427
+ }
3428
+ ]
3429
+ },
3430
+ {
3431
+ "kind": "variable",
3432
+ "name": "FilterDateControlRendererEntry",
3433
+ "type": {
3434
+ "text": "RendererEntry"
3435
+ },
3436
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
3437
+ }
3438
+ ],
3439
+ "exports": [
3440
+ {
3441
+ "kind": "js",
3442
+ "name": "DateControlRendererTemplate",
3443
+ "declaration": {
3444
+ "name": "DateControlRendererTemplate",
3445
+ "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
3446
+ }
3447
+ },
3448
+ {
3449
+ "kind": "js",
3450
+ "name": "FilterDateControlRendererEntry",
3451
+ "declaration": {
3452
+ "name": "FilterDateControlRendererEntry",
3453
+ "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
3454
+ }
3455
+ }
3456
+ ]
3457
+ },
3458
+ {
3459
+ "kind": "javascript-module",
3460
+ "path": "src/jsonforms/renderers/FilterNumberControlRenderer.ts",
3461
+ "declarations": [
3462
+ {
3463
+ "kind": "function",
3464
+ "name": "FilterNumberControlRendererTemplate",
3465
+ "parameters": [
3466
+ {
3467
+ "name": "prefix",
3468
+ "default": "'zero'",
3469
+ "type": {
3470
+ "text": "string"
3471
+ }
3472
+ }
3473
+ ]
3474
+ },
3475
+ {
3476
+ "kind": "variable",
3477
+ "name": "FilterNumberControlRendererEntry",
3478
+ "type": {
3479
+ "text": "RendererEntry"
3480
+ },
3481
+ "default": "{\n renderer: html`\n ${(x) => FilterNumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
3482
+ }
3483
+ ],
3484
+ "exports": [
3485
+ {
3486
+ "kind": "js",
3487
+ "name": "FilterNumberControlRendererTemplate",
3488
+ "declaration": {
3489
+ "name": "FilterNumberControlRendererTemplate",
3490
+ "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
3491
+ }
3492
+ },
3493
+ {
3494
+ "kind": "js",
3495
+ "name": "FilterNumberControlRendererEntry",
3496
+ "declaration": {
3497
+ "name": "FilterNumberControlRendererEntry",
3498
+ "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
3499
+ }
3500
+ }
3501
+ ]
3502
+ },
3503
+ {
3504
+ "kind": "javascript-module",
3505
+ "path": "src/jsonforms/renderers/FilterTimeControlRenderer.ts",
3506
+ "declarations": [
3507
+ {
3508
+ "kind": "function",
3509
+ "name": "TimeControlRendererTemplate",
3510
+ "parameters": [
3511
+ {
3512
+ "name": "prefix",
3513
+ "default": "'zero'",
3514
+ "type": {
3515
+ "text": "string"
3516
+ }
3517
+ }
3518
+ ]
3519
+ },
3520
+ {
3521
+ "kind": "variable",
3522
+ "name": "FilterTimeControlRendererEntry",
3523
+ "type": {
3524
+ "text": "RendererEntry"
3525
+ },
3526
+ "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps,\n}"
3527
+ }
3528
+ ],
3529
+ "exports": [
3530
+ {
3531
+ "kind": "js",
3532
+ "name": "TimeControlRendererTemplate",
3533
+ "declaration": {
3534
+ "name": "TimeControlRendererTemplate",
3535
+ "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
3536
+ }
3537
+ },
3538
+ {
3539
+ "kind": "js",
3540
+ "name": "FilterTimeControlRendererEntry",
3541
+ "declaration": {
3542
+ "name": "FilterTimeControlRendererEntry",
3543
+ "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
3544
+ }
3545
+ }
3546
+ ]
3547
+ },
3548
+ {
3549
+ "kind": "javascript-module",
3550
+ "path": "src/jsonforms/renderers/InvisibleControlRenderer.ts",
3551
+ "declarations": [
3552
+ {
3553
+ "kind": "variable",
3554
+ "name": "InvisibleControlRendererTemplate",
3555
+ "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`"
3556
+ },
3557
+ {
3558
+ "kind": "variable",
3559
+ "name": "InvisibleControlEntry",
3560
+ "type": {
3561
+ "text": "RendererEntry"
3562
+ },
3563
+ "default": "{\n renderer: InvisibleControlRendererTemplate,\n tester: rankWith(INVISIBLE_CONTROL_RANK, isInvisible),\n mapper: mapStateToControlProps,\n}"
3564
+ }
3565
+ ],
3566
+ "exports": [
3567
+ {
3568
+ "kind": "js",
3569
+ "name": "InvisibleControlRendererTemplate",
3570
+ "declaration": {
3571
+ "name": "InvisibleControlRendererTemplate",
3572
+ "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
3573
+ }
3574
+ },
3575
+ {
3576
+ "kind": "js",
3577
+ "name": "InvisibleControlEntry",
3578
+ "declaration": {
3579
+ "name": "InvisibleControlEntry",
3580
+ "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
3581
+ }
3582
+ }
3583
+ ]
3584
+ },
3585
+ {
3586
+ "kind": "javascript-module",
3587
+ "path": "src/jsonforms/renderers/LayoutArrayRenderer.ts",
3588
+ "declarations": [
3589
+ {
3590
+ "kind": "variable",
3591
+ "name": "LayoutArrayRendererTemplate",
3592
+ "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`"
3593
+ },
3594
+ {
3595
+ "kind": "variable",
3596
+ "name": "LayoutArrayRendererEntry",
3597
+ "type": {
3598
+ "text": "any"
3083
3599
  },
3084
3600
  "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isArray('object')),\n mapper: mapStateToArrayLayoutProps,\n dispatchMapper: mapDispatchToArrayControlProps,\n}"
3085
3601
  }
@@ -4732,522 +5248,6 @@
4732
5248
  }
4733
5249
  ]
4734
5250
  },
4735
- {
4736
- "kind": "javascript-module",
4737
- "path": "src/utils/confirmation-dialog-utils.ts",
4738
- "declarations": [],
4739
- "exports": []
4740
- },
4741
- {
4742
- "kind": "javascript-module",
4743
- "path": "src/utils/csv-parser.ts",
4744
- "declarations": [
4745
- {
4746
- "kind": "function",
4747
- "name": "parseCsv",
4748
- "return": {
4749
- "type": {
4750
- "text": ""
4751
- }
4752
- },
4753
- "parameters": [
4754
- {
4755
- "name": "content",
4756
- "type": {
4757
- "text": "string"
4758
- },
4759
- "description": "The CSV content as a string"
4760
- }
4761
- ],
4762
- "description": "Parses a CSV string into headers and rows using PapaParse.\nHandles quoted fields, escaped quotes, empty values, and mixed line endings.",
4763
- "privacy": "public"
4764
- },
4765
- {
4766
- "kind": "function",
4767
- "name": "mapCsvToSchema",
4768
- "return": {
4769
- "type": {
4770
- "text": ""
4771
- }
4772
- },
4773
- "parameters": [
4774
- {
4775
- "name": "csvRows",
4776
- "type": {
4777
- "text": "Record<string, string>[]"
4778
- },
4779
- "description": "The parsed CSV rows"
4780
- },
4781
- {
4782
- "name": "schema",
4783
- "type": {
4784
- "text": "JSONSchema7 | undefined"
4785
- },
4786
- "description": "The JSON schema defining the fields"
4787
- },
4788
- {
4789
- "name": "uiSchema",
4790
- "optional": true,
4791
- "type": {
4792
- "text": "UiSchema"
4793
- },
4794
- "description": "Optional UI schema to map labels to field names on import"
4795
- }
4796
- ],
4797
- "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.",
4798
- "privacy": "public"
4799
- },
4800
- {
4801
- "kind": "function",
4802
- "name": "generateCsvTemplate",
4803
- "return": {
4804
- "type": {
4805
- "text": ""
4806
- }
4807
- },
4808
- "parameters": [
4809
- {
4810
- "name": "schema",
4811
- "type": {
4812
- "text": "JSONSchema7 | undefined"
4813
- },
4814
- "description": "The JSON schema defining the fields"
4815
- },
4816
- {
4817
- "name": "uiSchema",
4818
- "optional": true,
4819
- "type": {
4820
- "text": "UiSchema"
4821
- },
4822
- "description": "Optional UI schema to determine field order and visibility"
4823
- },
4824
- {
4825
- "name": "includeOptionalFields",
4826
- "default": "true",
4827
- "type": {
4828
- "text": "boolean"
4829
- },
4830
- "description": "Whether to include optional fields when no UI schema (default: true)"
4831
- },
4832
- {
4833
- "name": "includeBom",
4834
- "default": "true",
4835
- "type": {
4836
- "text": "boolean"
4837
- },
4838
- "description": "Whether to prepend UTF-8 BOM for Excel compatibility (default: true)"
4839
- }
4840
- ],
4841
- "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.",
4842
- "privacy": "public"
4843
- },
4844
- {
4845
- "kind": "function",
4846
- "name": "downloadCsvTemplate",
4847
- "return": {
4848
- "type": {
4849
- "text": "void"
4850
- }
4851
- },
4852
- "parameters": [
4853
- {
4854
- "name": "csvContent",
4855
- "type": {
4856
- "text": "string"
4857
- },
4858
- "description": "The CSV content to download"
4859
- },
4860
- {
4861
- "name": "fileName",
4862
- "default": "'template.csv'",
4863
- "type": {
4864
- "text": "string"
4865
- },
4866
- "description": "The name for the downloaded file (default: 'template.csv')"
4867
- }
4868
- ],
4869
- "description": "Triggers a download of the CSV template file in the browser.",
4870
- "privacy": "public"
4871
- }
4872
- ],
4873
- "exports": [
4874
- {
4875
- "kind": "js",
4876
- "name": "parseCsv",
4877
- "declaration": {
4878
- "name": "parseCsv",
4879
- "module": "src/utils/csv-parser.ts"
4880
- }
4881
- },
4882
- {
4883
- "kind": "js",
4884
- "name": "mapCsvToSchema",
4885
- "declaration": {
4886
- "name": "mapCsvToSchema",
4887
- "module": "src/utils/csv-parser.ts"
4888
- }
4889
- },
4890
- {
4891
- "kind": "js",
4892
- "name": "generateCsvTemplate",
4893
- "declaration": {
4894
- "name": "generateCsvTemplate",
4895
- "module": "src/utils/csv-parser.ts"
4896
- }
4897
- },
4898
- {
4899
- "kind": "js",
4900
- "name": "downloadCsvTemplate",
4901
- "declaration": {
4902
- "name": "downloadCsvTemplate",
4903
- "module": "src/utils/csv-parser.ts"
4904
- }
4905
- }
4906
- ]
4907
- },
4908
- {
4909
- "kind": "javascript-module",
4910
- "path": "src/utils/filters.ts",
4911
- "declarations": [],
4912
- "exports": []
4913
- },
4914
- {
4915
- "kind": "javascript-module",
4916
- "path": "src/utils/form-utils.ts",
4917
- "declarations": [
4918
- {
4919
- "kind": "function",
4920
- "name": "removeDataPropertiesNotInSchema",
4921
- "return": {
4922
- "type": {
4923
- "text": ""
4924
- }
4925
- },
4926
- "parameters": [
4927
- {
4928
- "name": "data",
4929
- "type": {
4930
- "text": "any"
4931
- },
4932
- "description": "The data object to clean"
4933
- },
4934
- {
4935
- "name": "jsonSchema",
4936
- "type": {
4937
- "text": "JSONSchema7"
4938
- },
4939
- "description": "The JSON schema to validate against"
4940
- }
4941
- ],
4942
- "description": "Removes data properties that aren't part of the schema"
4943
- }
4944
- ],
4945
- "exports": [
4946
- {
4947
- "kind": "js",
4948
- "name": "removeDataPropertiesNotInSchema",
4949
- "declaration": {
4950
- "name": "removeDataPropertiesNotInSchema",
4951
- "module": "src/utils/form-utils.ts"
4952
- }
4953
- }
4954
- ]
4955
- },
4956
- {
4957
- "kind": "javascript-module",
4958
- "path": "src/utils/index.ts",
4959
- "declarations": [],
4960
- "exports": [
4961
- {
4962
- "kind": "js",
4963
- "name": "*",
4964
- "declaration": {
4965
- "name": "*",
4966
- "package": "./csv-parser"
4967
- }
4968
- },
4969
- {
4970
- "kind": "js",
4971
- "name": "*",
4972
- "declaration": {
4973
- "name": "*",
4974
- "package": "./review-utils"
4975
- }
4976
- },
4977
- {
4978
- "kind": "js",
4979
- "name": "*",
4980
- "declaration": {
4981
- "name": "*",
4982
- "package": "./filters"
4983
- }
4984
- },
4985
- {
4986
- "kind": "js",
4987
- "name": "*",
4988
- "declaration": {
4989
- "name": "*",
4990
- "package": "./logger"
4991
- }
4992
- },
4993
- {
4994
- "kind": "js",
4995
- "name": "*",
4996
- "declaration": {
4997
- "name": "*",
4998
- "package": "./translation"
4999
- }
5000
- },
5001
- {
5002
- "kind": "js",
5003
- "name": "*",
5004
- "declaration": {
5005
- "name": "*",
5006
- "package": "./validation"
5007
- }
5008
- },
5009
- {
5010
- "kind": "js",
5011
- "name": "*",
5012
- "declaration": {
5013
- "name": "*",
5014
- "package": "./server-errors"
5015
- }
5016
- },
5017
- {
5018
- "kind": "js",
5019
- "name": "*",
5020
- "declaration": {
5021
- "name": "*",
5022
- "package": "./types"
5023
- }
5024
- }
5025
- ]
5026
- },
5027
- {
5028
- "kind": "javascript-module",
5029
- "path": "src/utils/logger.ts",
5030
- "declarations": [],
5031
- "exports": []
5032
- },
5033
- {
5034
- "kind": "javascript-module",
5035
- "path": "src/utils/review-utils.ts",
5036
- "declarations": [],
5037
- "exports": []
5038
- },
5039
- {
5040
- "kind": "javascript-module",
5041
- "path": "src/utils/schema-utils.ts",
5042
- "declarations": [
5043
- {
5044
- "kind": "function",
5045
- "name": "extractErrorScopes",
5046
- "return": {
5047
- "type": {
5048
- "text": "string[]"
5049
- }
5050
- },
5051
- "parameters": [
5052
- {
5053
- "name": "errors",
5054
- "type": {
5055
- "text": "ErrorObject[]"
5056
- }
5057
- }
5058
- ],
5059
- "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."
5060
- },
5061
- {
5062
- "kind": "function",
5063
- "name": "uiSchemaHasAnyError",
5064
- "return": {
5065
- "type": {
5066
- "text": "boolean"
5067
- }
5068
- },
5069
- "parameters": [
5070
- {
5071
- "name": "uiSchema",
5072
- "type": {
5073
- "text": "UiSchemaElement | UiSchema"
5074
- }
5075
- },
5076
- {
5077
- "name": "errorScopes",
5078
- "type": {
5079
- "text": "string[]"
5080
- }
5081
- }
5082
- ],
5083
- "description": "Returns true when `uiSchema` (or any of its descendants) has a scope that appears\nin `errorScopes`. Walks both `elements` and `options.childElements`."
5084
- }
5085
- ],
5086
- "exports": [
5087
- {
5088
- "kind": "js",
5089
- "name": "extractErrorScopes",
5090
- "declaration": {
5091
- "name": "extractErrorScopes",
5092
- "module": "src/utils/schema-utils.ts"
5093
- }
5094
- },
5095
- {
5096
- "kind": "js",
5097
- "name": "uiSchemaHasAnyError",
5098
- "declaration": {
5099
- "name": "uiSchemaHasAnyError",
5100
- "module": "src/utils/schema-utils.ts"
5101
- }
5102
- }
5103
- ]
5104
- },
5105
- {
5106
- "kind": "javascript-module",
5107
- "path": "src/utils/server-errors.ts",
5108
- "declarations": [
5109
- {
5110
- "kind": "function",
5111
- "name": "mapGenesisFieldErrorsToAdditionalErrors",
5112
- "return": {
5113
- "type": {
5114
- "text": "ErrorObject[]"
5115
- }
5116
- },
5117
- "parameters": [
5118
- {
5119
- "name": "errors",
5120
- "type": {
5121
- "text": "GenesisFieldError[] | undefined"
5122
- },
5123
- "description": "Genesis ERROR array from an EVENT_NACK response"
5124
- },
5125
- {
5126
- "name": "schema",
5127
- "optional": true,
5128
- "type": {
5129
- "text": "JSONSchema7"
5130
- },
5131
- "description": "JSON schema used to resolve `parentSchema` for each field"
5132
- },
5133
- {
5134
- "name": "instancePathPrefix",
5135
- "optional": true,
5136
- "type": {
5137
- "text": "string"
5138
- },
5139
- "description": "Optional prefix for bulk-insert rows (e.g. `/items/0`)"
5140
- }
5141
- ],
5142
- "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.",
5143
- "privacy": "public"
5144
- }
5145
- ],
5146
- "exports": [
5147
- {
5148
- "kind": "js",
5149
- "name": "mapGenesisFieldErrorsToAdditionalErrors",
5150
- "declaration": {
5151
- "name": "mapGenesisFieldErrorsToAdditionalErrors",
5152
- "module": "src/utils/server-errors.ts"
5153
- }
5154
- }
5155
- ]
5156
- },
5157
- {
5158
- "kind": "javascript-module",
5159
- "path": "src/utils/translation.ts",
5160
- "declarations": [],
5161
- "exports": []
5162
- },
5163
- {
5164
- "kind": "javascript-module",
5165
- "path": "src/utils/types.ts",
5166
- "declarations": [],
5167
- "exports": []
5168
- },
5169
- {
5170
- "kind": "javascript-module",
5171
- "path": "src/utils/validation.ts",
5172
- "declarations": [
5173
- {
5174
- "kind": "function",
5175
- "name": "mustMatch",
5176
- "parameters": [
5177
- {
5178
- "name": "target",
5179
- "type": {
5180
- "text": "string"
5181
- },
5182
- "description": "any other field"
5183
- }
5184
- ],
5185
- "description": "Ensures the value of the current field (the one the validator is on) matches the one of the target field.",
5186
- "return": {
5187
- "type": {
5188
- "text": ""
5189
- }
5190
- },
5191
- "privacy": "public"
5192
- },
5193
- {
5194
- "kind": "function",
5195
- "name": "getAnyOfErrorMessage",
5196
- "return": {
5197
- "type": {
5198
- "text": "string"
5199
- }
5200
- },
5201
- "parameters": [
5202
- {
5203
- "name": "errors",
5204
- "type": {
5205
- "text": "Array<any> | undefined"
5206
- }
5207
- },
5208
- {
5209
- "name": "schema",
5210
- "type": {
5211
- "text": "any"
5212
- }
5213
- },
5214
- {
5215
- "name": "controlPath",
5216
- "type": {
5217
- "text": "string | undefined"
5218
- }
5219
- },
5220
- {
5221
- "name": "uiCustomMsg",
5222
- "optional": true,
5223
- "type": {
5224
- "text": "string"
5225
- }
5226
- }
5227
- ],
5228
- "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.",
5229
- "privacy": "public"
5230
- }
5231
- ],
5232
- "exports": [
5233
- {
5234
- "kind": "js",
5235
- "name": "mustMatch",
5236
- "declaration": {
5237
- "name": "mustMatch",
5238
- "module": "src/utils/validation.ts"
5239
- }
5240
- },
5241
- {
5242
- "kind": "js",
5243
- "name": "getAnyOfErrorMessage",
5244
- "declaration": {
5245
- "name": "getAnyOfErrorMessage",
5246
- "module": "src/utils/validation.ts"
5247
- }
5248
- }
5249
- ]
5250
- },
5251
5251
  {
5252
5252
  "kind": "javascript-module",
5253
5253
  "path": "src/jsonforms/testers/isArray.ts",