@genesislcap/foundation-forms 15.57.0 → 15.58.1-FUI-2629.4

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.
@@ -2051,637 +2051,561 @@
2051
2051
  },
2052
2052
  {
2053
2053
  "kind": "javascript-module",
2054
- "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
2054
+ "path": "src/utils/confirmation-dialog-utils.ts",
2055
+ "declarations": [],
2056
+ "exports": []
2057
+ },
2058
+ {
2059
+ "kind": "javascript-module",
2060
+ "path": "src/utils/csv-parser.ts",
2055
2061
  "declarations": [
2056
2062
  {
2057
2063
  "kind": "function",
2058
- "name": "ArrayListWrapperRendererTemplate",
2064
+ "name": "parseCsv",
2065
+ "return": {
2066
+ "type": {
2067
+ "text": ""
2068
+ }
2069
+ },
2059
2070
  "parameters": [
2060
2071
  {
2061
- "name": "prefix",
2062
- "default": "'zero'",
2072
+ "name": "content",
2063
2073
  "type": {
2064
2074
  "text": "string"
2065
- }
2075
+ },
2076
+ "description": "The CSV content as a string"
2066
2077
  }
2067
- ]
2078
+ ],
2079
+ "description": "Parses a CSV string into headers and rows using PapaParse.\nHandles quoted fields, escaped quotes, empty values, and mixed line endings.",
2080
+ "privacy": "public"
2068
2081
  },
2069
2082
  {
2070
- "kind": "class",
2071
- "description": "",
2072
- "name": "ArrayListWrapper",
2073
- "members": [
2074
- {
2075
- "kind": "field",
2076
- "name": "form"
2077
- },
2078
- {
2079
- "kind": "field",
2080
- "name": "control"
2081
- },
2083
+ "kind": "function",
2084
+ "name": "mapCsvToSchema",
2085
+ "return": {
2086
+ "type": {
2087
+ "text": ""
2088
+ }
2089
+ },
2090
+ "parameters": [
2082
2091
  {
2083
- "kind": "field",
2084
- "name": "schema"
2092
+ "name": "csvRows",
2093
+ "type": {
2094
+ "text": "Record<string, string>[]"
2095
+ },
2096
+ "description": "The parsed CSV rows"
2085
2097
  },
2086
2098
  {
2087
- "kind": "field",
2088
- "name": "uiSchema"
2099
+ "name": "schema",
2100
+ "type": {
2101
+ "text": "JSONSchema7 | undefined"
2102
+ },
2103
+ "description": "The JSON schema defining the fields"
2089
2104
  },
2090
2105
  {
2091
- "kind": "field",
2092
- "name": "isGridView",
2106
+ "name": "uiSchema",
2107
+ "optional": true,
2093
2108
  "type": {
2094
- "text": "boolean"
2109
+ "text": "UiSchema"
2095
2110
  },
2096
- "default": "false"
2097
- },
2111
+ "description": "Optional UI schema to map labels to field names on import"
2112
+ }
2113
+ ],
2114
+ "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.",
2115
+ "privacy": "public"
2116
+ },
2117
+ {
2118
+ "kind": "function",
2119
+ "name": "generateCsvTemplate",
2120
+ "return": {
2121
+ "type": {
2122
+ "text": ""
2123
+ }
2124
+ },
2125
+ "parameters": [
2098
2126
  {
2099
- "kind": "field",
2100
- "name": "gridViewHeaderCells",
2127
+ "name": "schema",
2101
2128
  "type": {
2102
- "text": "GridHeaderCell[]"
2129
+ "text": "JSONSchema7 | undefined"
2103
2130
  },
2104
- "default": "[]"
2131
+ "description": "The JSON schema defining the fields"
2105
2132
  },
2106
2133
  {
2107
- "kind": "field",
2108
- "name": "gridViewUiSchema",
2134
+ "name": "uiSchema",
2135
+ "optional": true,
2109
2136
  "type": {
2110
- "text": "any"
2137
+ "text": "UiSchema"
2111
2138
  },
2112
- "default": "null"
2139
+ "description": "Optional UI schema to determine field order and visibility"
2113
2140
  },
2114
2141
  {
2115
- "kind": "method",
2116
- "name": "controlChanged"
2142
+ "name": "includeOptionalFields",
2143
+ "default": "true",
2144
+ "type": {
2145
+ "text": "boolean"
2146
+ },
2147
+ "description": "Whether to include optional fields when no UI schema (default: true)"
2117
2148
  },
2118
2149
  {
2119
- "kind": "method",
2120
- "name": "addItem"
2121
- },
2150
+ "name": "includeBom",
2151
+ "default": "true",
2152
+ "type": {
2153
+ "text": "boolean"
2154
+ },
2155
+ "description": "Whether to prepend UTF-8 BOM for Excel compatibility (default: true)"
2156
+ }
2157
+ ],
2158
+ "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.",
2159
+ "privacy": "public"
2160
+ },
2161
+ {
2162
+ "kind": "function",
2163
+ "name": "downloadCsvTemplate",
2164
+ "return": {
2165
+ "type": {
2166
+ "text": "void"
2167
+ }
2168
+ },
2169
+ "parameters": [
2122
2170
  {
2123
- "kind": "method",
2124
- "name": "deleteItem",
2125
- "parameters": [
2126
- {
2127
- "name": "index",
2128
- "type": {
2129
- "text": "number"
2130
- }
2131
- }
2132
- ]
2171
+ "name": "csvContent",
2172
+ "type": {
2173
+ "text": "string"
2174
+ },
2175
+ "description": "The CSV content to download"
2133
2176
  },
2134
2177
  {
2135
- "kind": "method",
2136
- "name": "submitRow",
2137
- "parameters": [
2138
- {
2139
- "name": "index",
2140
- "type": {
2141
- "text": "number"
2142
- },
2143
- "description": "The row index to submit"
2144
- }
2145
- ],
2146
- "description": "Submits a single row by emitting an event that bubbles up to the foundation-form."
2178
+ "name": "fileName",
2179
+ "default": "'template.csv'",
2180
+ "type": {
2181
+ "text": "string"
2182
+ },
2183
+ "description": "The name for the downloaded file (default: 'template.csv')"
2147
2184
  }
2148
2185
  ],
2149
- "superclass": {
2150
- "name": "FASTElement",
2151
- "package": "@microsoft/fast-element"
2152
- },
2153
- "tagName": "array-list-wrapper",
2154
- "customElement": true
2186
+ "description": "Triggers a download of the CSV template file in the browser.",
2187
+ "privacy": "public"
2155
2188
  }
2156
2189
  ],
2157
2190
  "exports": [
2158
2191
  {
2159
2192
  "kind": "js",
2160
- "name": "ArrayListWrapperRendererTemplate",
2193
+ "name": "parseCsv",
2161
2194
  "declaration": {
2162
- "name": "ArrayListWrapperRendererTemplate",
2163
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2195
+ "name": "parseCsv",
2196
+ "module": "src/utils/csv-parser.ts"
2164
2197
  }
2165
2198
  },
2166
2199
  {
2167
2200
  "kind": "js",
2168
- "name": "ArrayListWrapper",
2169
- "declaration": {
2170
- "name": "ArrayListWrapper",
2171
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2172
- }
2173
- },
2174
- {
2175
- "kind": "custom-element-definition",
2176
- "name": "array-list-wrapper",
2201
+ "name": "mapCsvToSchema",
2177
2202
  "declaration": {
2178
- "name": "ArrayListWrapper",
2179
- "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2203
+ "name": "mapCsvToSchema",
2204
+ "module": "src/utils/csv-parser.ts"
2180
2205
  }
2181
- }
2182
- ]
2183
- },
2184
- {
2185
- "kind": "javascript-module",
2186
- "path": "src/jsonforms/renderers/BooleanControlRenderer.ts",
2187
- "declarations": [
2188
- {
2189
- "kind": "function",
2190
- "name": "BooleanControlRendererTemplate",
2191
- "parameters": [
2192
- {
2193
- "name": "prefix",
2194
- "default": "'zero'",
2195
- "type": {
2196
- "text": "string"
2197
- }
2198
- }
2199
- ]
2200
2206
  },
2201
- {
2202
- "kind": "variable",
2203
- "name": "BooleanControlEntry",
2204
- "type": {
2205
- "text": "RendererEntry"
2206
- },
2207
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => BooleanControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(BOOLEAN_CONTROL_RANK, isOneOfBoolean),\n mapper: mapStateToControlProps,\n}"
2208
- }
2209
- ],
2210
- "exports": [
2211
2207
  {
2212
2208
  "kind": "js",
2213
- "name": "BooleanControlRendererTemplate",
2209
+ "name": "generateCsvTemplate",
2214
2210
  "declaration": {
2215
- "name": "BooleanControlRendererTemplate",
2216
- "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2211
+ "name": "generateCsvTemplate",
2212
+ "module": "src/utils/csv-parser.ts"
2217
2213
  }
2218
2214
  },
2219
2215
  {
2220
2216
  "kind": "js",
2221
- "name": "BooleanControlEntry",
2217
+ "name": "downloadCsvTemplate",
2222
2218
  "declaration": {
2223
- "name": "BooleanControlEntry",
2224
- "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2219
+ "name": "downloadCsvTemplate",
2220
+ "module": "src/utils/csv-parser.ts"
2225
2221
  }
2226
2222
  }
2227
2223
  ]
2228
2224
  },
2229
2225
  {
2230
2226
  "kind": "javascript-module",
2231
- "path": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts",
2227
+ "path": "src/utils/filters.ts",
2228
+ "declarations": [],
2229
+ "exports": []
2230
+ },
2231
+ {
2232
+ "kind": "javascript-module",
2233
+ "path": "src/utils/form-utils.ts",
2232
2234
  "declarations": [
2233
2235
  {
2234
2236
  "kind": "function",
2235
- "name": "computeCategoryClassName",
2237
+ "name": "removeDataPropertiesNotInSchema",
2236
2238
  "return": {
2237
2239
  "type": {
2238
- "text": "string"
2240
+ "text": ""
2239
2241
  }
2240
2242
  },
2241
2243
  "parameters": [
2242
2244
  {
2243
- "name": "category",
2245
+ "name": "data",
2244
2246
  "type": {
2245
- "text": "UiSchemaElement"
2246
- }
2247
+ "text": "any"
2248
+ },
2249
+ "description": "The data object to clean"
2247
2250
  },
2248
2251
  {
2249
- "name": "data",
2252
+ "name": "jsonSchema",
2250
2253
  "type": {
2251
- "text": "any"
2252
- }
2254
+ "text": "JSONSchema7"
2255
+ },
2256
+ "description": "The JSON schema to validate against"
2253
2257
  }
2254
- ]
2255
- },
2258
+ ],
2259
+ "description": "Removes data properties that aren't part of the schema"
2260
+ }
2261
+ ],
2262
+ "exports": [
2256
2263
  {
2257
- "kind": "variable",
2258
- "name": "tabControlIconStyles",
2259
- "default": "css`\n .tab-control-icon {\n margin-left: 3px;\n color: #f9644d;\n }\n`"
2264
+ "kind": "js",
2265
+ "name": "removeDataPropertiesNotInSchema",
2266
+ "declaration": {
2267
+ "name": "removeDataPropertiesNotInSchema",
2268
+ "module": "src/utils/form-utils.ts"
2269
+ }
2270
+ }
2271
+ ]
2272
+ },
2273
+ {
2274
+ "kind": "javascript-module",
2275
+ "path": "src/utils/index.ts",
2276
+ "declarations": [],
2277
+ "exports": [
2278
+ {
2279
+ "kind": "js",
2280
+ "name": "*",
2281
+ "declaration": {
2282
+ "name": "*",
2283
+ "package": "./csv-parser"
2284
+ }
2260
2285
  },
2261
2286
  {
2262
- "kind": "function",
2263
- "name": "CategorizationWrapperRendererTemplate",
2264
- "parameters": [
2265
- {
2266
- "name": "prefix",
2267
- "default": "'zero'"
2268
- }
2269
- ]
2287
+ "kind": "js",
2288
+ "name": "*",
2289
+ "declaration": {
2290
+ "name": "*",
2291
+ "package": "./review-utils"
2292
+ }
2270
2293
  },
2271
2294
  {
2272
- "kind": "class",
2273
- "description": "",
2274
- "name": "CategorizationWrapper",
2275
- "members": [
2276
- {
2277
- "kind": "field",
2278
- "name": "form"
2279
- },
2280
- {
2281
- "kind": "field",
2282
- "name": "control"
2283
- },
2284
- {
2285
- "kind": "field",
2286
- "name": "mountedTabs",
2287
- "type": {
2288
- "text": "Set<number>"
2289
- },
2290
- "default": "new Set([0])"
2291
- },
2292
- {
2293
- "kind": "field",
2294
- "name": "activeTabIndex",
2295
- "type": {
2296
- "text": "number"
2297
- },
2298
- "default": "0"
2299
- },
2300
- {
2301
- "kind": "field",
2302
- "name": "hasAppliedActiveCategory",
2303
- "type": {
2304
- "text": "boolean"
2305
- },
2306
- "privacy": "private",
2307
- "default": "false",
2308
- "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."
2309
- },
2310
- {
2311
- "kind": "field",
2312
- "name": "lastErrors",
2313
- "type": {
2314
- "text": "ErrorObject[] | undefined"
2315
- },
2316
- "privacy": "private"
2317
- },
2318
- {
2319
- "kind": "field",
2320
- "name": "lastAdditionalErrors",
2321
- "type": {
2322
- "text": "ErrorObject[] | undefined"
2323
- },
2324
- "privacy": "private"
2325
- },
2326
- {
2327
- "kind": "field",
2328
- "name": "cachedErrorScopes",
2329
- "type": {
2330
- "text": "string[]"
2331
- },
2332
- "privacy": "private",
2333
- "default": "[]"
2334
- },
2335
- {
2336
- "kind": "method",
2337
- "name": "controlChanged"
2338
- },
2339
- {
2340
- "kind": "method",
2341
- "name": "isMounted",
2342
- "return": {
2343
- "type": {
2344
- "text": "boolean"
2345
- }
2346
- },
2347
- "parameters": [
2348
- {
2349
- "name": "index",
2350
- "type": {
2351
- "text": "number"
2352
- }
2353
- }
2354
- ]
2355
- },
2356
- {
2357
- "kind": "method",
2358
- "name": "handleTabChange",
2359
- "parameters": [
2360
- {
2361
- "name": "event",
2362
- "type": {
2363
- "text": "Event"
2364
- }
2365
- }
2366
- ]
2367
- },
2368
- {
2369
- "kind": "method",
2370
- "name": "hasCategoryError",
2371
- "return": {
2372
- "type": {
2373
- "text": "boolean"
2374
- }
2375
- },
2376
- "parameters": [
2377
- {
2378
- "name": "categoryIndex",
2379
- "type": {
2380
- "text": "number"
2381
- }
2382
- }
2383
- ]
2384
- },
2385
- {
2386
- "kind": "method",
2387
- "name": "getErrorScopes",
2388
- "privacy": "private",
2389
- "return": {
2390
- "type": {
2391
- "text": "string[]"
2392
- }
2393
- },
2394
- "parameters": [
2395
- {
2396
- "name": "core",
2397
- "type": {
2398
- "text": "JsonFormsCore"
2399
- }
2400
- }
2401
- ],
2402
- "description": "`hasCategoryError` is called once per tab per render pass, so recomputing\nscopes N times would repeat the same array-merge + regex work. JSONForms\nkeeps the `errors`/`additionalErrors` array references stable across\nrenders unless validation actually re-runs, so reference-equality caching\nis enough to collapse the per-render cost to a single computation."
2403
- }
2404
- ],
2405
- "superclass": {
2406
- "name": "FASTElement",
2407
- "package": "@microsoft/fast-element"
2408
- },
2409
- "tagName": "categorization-wrapper",
2410
- "customElement": true
2411
- }
2412
- ],
2413
- "exports": [
2295
+ "kind": "js",
2296
+ "name": "*",
2297
+ "declaration": {
2298
+ "name": "*",
2299
+ "package": "./filters"
2300
+ }
2301
+ },
2414
2302
  {
2415
2303
  "kind": "js",
2416
- "name": "computeCategoryClassName",
2304
+ "name": "*",
2417
2305
  "declaration": {
2418
- "name": "computeCategoryClassName",
2419
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2306
+ "name": "*",
2307
+ "package": "./logger"
2420
2308
  }
2421
2309
  },
2422
2310
  {
2423
2311
  "kind": "js",
2424
- "name": "tabControlIconStyles",
2312
+ "name": "*",
2425
2313
  "declaration": {
2426
- "name": "tabControlIconStyles",
2427
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2314
+ "name": "*",
2315
+ "package": "./translation"
2428
2316
  }
2429
2317
  },
2430
2318
  {
2431
2319
  "kind": "js",
2432
- "name": "CategorizationWrapperRendererTemplate",
2320
+ "name": "*",
2433
2321
  "declaration": {
2434
- "name": "CategorizationWrapperRendererTemplate",
2435
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2322
+ "name": "*",
2323
+ "package": "./validation"
2436
2324
  }
2437
2325
  },
2438
2326
  {
2439
2327
  "kind": "js",
2440
- "name": "CategorizationWrapper",
2328
+ "name": "*",
2441
2329
  "declaration": {
2442
- "name": "CategorizationWrapper",
2443
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2330
+ "name": "*",
2331
+ "package": "./server-errors"
2444
2332
  }
2445
2333
  },
2446
2334
  {
2447
- "kind": "custom-element-definition",
2448
- "name": "categorization-wrapper",
2335
+ "kind": "js",
2336
+ "name": "*",
2449
2337
  "declaration": {
2450
- "name": "CategorizationWrapper",
2451
- "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2338
+ "name": "*",
2339
+ "package": "./types"
2452
2340
  }
2453
2341
  }
2454
2342
  ]
2455
2343
  },
2456
2344
  {
2457
2345
  "kind": "javascript-module",
2458
- "path": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts",
2346
+ "path": "src/utils/logger.ts",
2347
+ "declarations": [],
2348
+ "exports": []
2349
+ },
2350
+ {
2351
+ "kind": "javascript-module",
2352
+ "path": "src/utils/review-utils.ts",
2353
+ "declarations": [],
2354
+ "exports": []
2355
+ },
2356
+ {
2357
+ "kind": "javascript-module",
2358
+ "path": "src/utils/schema-utils.ts",
2459
2359
  "declarations": [
2460
2360
  {
2461
2361
  "kind": "function",
2462
- "name": "resolveSelectedOptions",
2362
+ "name": "extractErrorScopes",
2463
2363
  "return": {
2464
2364
  "type": {
2465
- "text": "any[]"
2365
+ "text": "string[]"
2466
2366
  }
2467
2367
  },
2468
2368
  "parameters": [
2469
2369
  {
2470
- "name": "control",
2370
+ "name": "errors",
2471
2371
  "type": {
2472
- "text": "any"
2372
+ "text": "ErrorObject[]"
2473
2373
  }
2474
2374
  }
2475
- ]
2375
+ ],
2376
+ "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."
2476
2377
  },
2477
2378
  {
2478
2379
  "kind": "function",
2479
- "name": "resolveSelectionValue",
2380
+ "name": "uiSchemaHasAnyError",
2480
2381
  "return": {
2481
2382
  "type": {
2482
- "text": "any"
2383
+ "text": "boolean"
2483
2384
  }
2484
2385
  },
2485
2386
  "parameters": [
2486
2387
  {
2487
- "name": "control",
2388
+ "name": "uiSchema",
2488
2389
  "type": {
2489
- "text": "any"
2390
+ "text": "UiSchemaElement | UiSchema"
2490
2391
  }
2491
2392
  },
2492
2393
  {
2493
- "name": "detail",
2494
- "type": {
2495
- "text": "any"
2496
- }
2497
- }
2498
- ]
2499
- },
2500
- {
2501
- "kind": "function",
2502
- "name": "ConnectedMultiselectControlRendererTemplate",
2503
- "parameters": [
2504
- {
2505
- "name": "prefix",
2506
- "default": "'zero'",
2394
+ "name": "errorScopes",
2507
2395
  "type": {
2508
- "text": "string"
2396
+ "text": "string[]"
2509
2397
  }
2510
2398
  }
2511
- ]
2512
- },
2513
- {
2514
- "kind": "variable",
2515
- "name": "ConnectedMultiselectControlRendererEntry",
2516
- "type": {
2517
- "text": "RendererEntry"
2518
- },
2519
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedMultiselectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTISELECT_CONTROL_RANK, isOneOfOptionMultiselect),\n mapper: mapStateToControlProps,\n}"
2399
+ ],
2400
+ "description": "Returns true when `uiSchema` (or any of its descendants) has a scope that appears\nin `errorScopes`. Walks both `elements` and `options.childElements`.\n\nA node's own scope is matched too, except when it has children and a more specific\nerror scope under the same path is present. That case is AJV's cascade (e.g. `/FOO`\n`oneOf`/`type` errors emitted on top of a leaf error at `/FOO/BAR`), and matching the\nshared container scope would badge every sibling that merely shares it. A container\nerror with no specific error beneath it still matches, since it cannot be pinned to\none field."
2520
2401
  }
2521
2402
  ],
2522
2403
  "exports": [
2523
2404
  {
2524
2405
  "kind": "js",
2525
- "name": "resolveSelectedOptions",
2406
+ "name": "extractErrorScopes",
2526
2407
  "declaration": {
2527
- "name": "resolveSelectedOptions",
2528
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2408
+ "name": "extractErrorScopes",
2409
+ "module": "src/utils/schema-utils.ts"
2529
2410
  }
2530
2411
  },
2531
2412
  {
2532
2413
  "kind": "js",
2533
- "name": "resolveSelectionValue",
2414
+ "name": "uiSchemaHasAnyError",
2534
2415
  "declaration": {
2535
- "name": "resolveSelectionValue",
2536
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2416
+ "name": "uiSchemaHasAnyError",
2417
+ "module": "src/utils/schema-utils.ts"
2537
2418
  }
2538
- },
2419
+ }
2420
+ ]
2421
+ },
2422
+ {
2423
+ "kind": "javascript-module",
2424
+ "path": "src/utils/server-errors.ts",
2425
+ "declarations": [
2539
2426
  {
2540
- "kind": "js",
2541
- "name": "ConnectedMultiselectControlRendererTemplate",
2542
- "declaration": {
2543
- "name": "ConnectedMultiselectControlRendererTemplate",
2544
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2545
- }
2546
- },
2427
+ "kind": "function",
2428
+ "name": "mapGenesisFieldErrorsToAdditionalErrors",
2429
+ "return": {
2430
+ "type": {
2431
+ "text": "ErrorObject[]"
2432
+ }
2433
+ },
2434
+ "parameters": [
2435
+ {
2436
+ "name": "errors",
2437
+ "type": {
2438
+ "text": "GenesisFieldError[] | undefined"
2439
+ },
2440
+ "description": "Genesis ERROR array from an EVENT_NACK response"
2441
+ },
2442
+ {
2443
+ "name": "schema",
2444
+ "optional": true,
2445
+ "type": {
2446
+ "text": "JSONSchema7"
2447
+ },
2448
+ "description": "JSON schema used to resolve `parentSchema` for each field"
2449
+ },
2450
+ {
2451
+ "name": "instancePathPrefix",
2452
+ "optional": true,
2453
+ "type": {
2454
+ "text": "string"
2455
+ },
2456
+ "description": "Optional prefix for bulk-insert rows (e.g. `/items/0`)"
2457
+ }
2458
+ ],
2459
+ "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` naming a field are mapped; generic errors\n(no field association, or about the whole payload) are omitted so callers can\nstill surface them via toast/dialog.",
2460
+ "privacy": "public"
2461
+ }
2462
+ ],
2463
+ "exports": [
2547
2464
  {
2548
2465
  "kind": "js",
2549
- "name": "ConnectedMultiselectControlRendererEntry",
2466
+ "name": "mapGenesisFieldErrorsToAdditionalErrors",
2550
2467
  "declaration": {
2551
- "name": "ConnectedMultiselectControlRendererEntry",
2552
- "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
2468
+ "name": "mapGenesisFieldErrorsToAdditionalErrors",
2469
+ "module": "src/utils/server-errors.ts"
2553
2470
  }
2554
2471
  }
2555
2472
  ]
2556
2473
  },
2557
2474
  {
2558
2475
  "kind": "javascript-module",
2559
- "path": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts",
2476
+ "path": "src/utils/translation.ts",
2477
+ "declarations": [],
2478
+ "exports": []
2479
+ },
2480
+ {
2481
+ "kind": "javascript-module",
2482
+ "path": "src/utils/types.ts",
2483
+ "declarations": [],
2484
+ "exports": []
2485
+ },
2486
+ {
2487
+ "kind": "javascript-module",
2488
+ "path": "src/utils/validation.ts",
2560
2489
  "declarations": [
2561
2490
  {
2562
2491
  "kind": "function",
2563
- "name": "shouldReuseDisplayedValue",
2492
+ "name": "mustMatch",
2493
+ "parameters": [
2494
+ {
2495
+ "name": "target",
2496
+ "type": {
2497
+ "text": "string"
2498
+ },
2499
+ "description": "any other field"
2500
+ }
2501
+ ],
2502
+ "description": "Ensures the value of the current field (the one the validator is on) matches the one of the target field.",
2564
2503
  "return": {
2565
2504
  "type": {
2566
- "text": "boolean"
2505
+ "text": ""
2506
+ }
2507
+ },
2508
+ "privacy": "public"
2509
+ },
2510
+ {
2511
+ "kind": "function",
2512
+ "name": "getAnyOfErrorMessage",
2513
+ "return": {
2514
+ "type": {
2515
+ "text": "string"
2567
2516
  }
2568
2517
  },
2569
2518
  "parameters": [
2570
2519
  {
2571
- "name": "currentValue",
2520
+ "name": "errors",
2572
2521
  "type": {
2573
- "text": "unknown"
2522
+ "text": "Array<any> | undefined"
2574
2523
  }
2575
2524
  },
2576
2525
  {
2577
- "name": "previousRawValue",
2526
+ "name": "schema",
2578
2527
  "type": {
2579
- "text": "unknown"
2528
+ "text": "any"
2580
2529
  }
2581
2530
  },
2582
2531
  {
2583
- "name": "displayedValue",
2532
+ "name": "controlPath",
2584
2533
  "type": {
2585
2534
  "text": "string | undefined"
2586
2535
  }
2587
- }
2588
- ]
2589
- },
2590
- {
2591
- "kind": "function",
2592
- "name": "ConnectedSelectControlRendererTemplate",
2593
- "parameters": [
2536
+ },
2594
2537
  {
2595
- "name": "prefix",
2596
- "default": "'zero'",
2538
+ "name": "uiCustomMsg",
2539
+ "optional": true,
2597
2540
  "type": {
2598
2541
  "text": "string"
2599
2542
  }
2600
2543
  }
2601
- ]
2602
- },
2603
- {
2604
- "kind": "variable",
2605
- "name": "ConnectedSelectControlRendererEntry",
2606
- "type": {
2607
- "text": "any"
2608
- },
2609
- "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}"
2544
+ ],
2545
+ "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.",
2546
+ "privacy": "public"
2610
2547
  }
2611
2548
  ],
2612
2549
  "exports": [
2613
2550
  {
2614
2551
  "kind": "js",
2615
- "name": "shouldReuseDisplayedValue",
2616
- "declaration": {
2617
- "name": "shouldReuseDisplayedValue",
2618
- "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2619
- }
2620
- },
2621
- {
2622
- "kind": "js",
2623
- "name": "ConnectedSelectControlRendererTemplate",
2552
+ "name": "mustMatch",
2624
2553
  "declaration": {
2625
- "name": "ConnectedSelectControlRendererTemplate",
2626
- "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2554
+ "name": "mustMatch",
2555
+ "module": "src/utils/validation.ts"
2627
2556
  }
2628
2557
  },
2629
2558
  {
2630
2559
  "kind": "js",
2631
- "name": "ConnectedSelectControlRendererEntry",
2560
+ "name": "getAnyOfErrorMessage",
2632
2561
  "declaration": {
2633
- "name": "ConnectedSelectControlRendererEntry",
2634
- "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
2562
+ "name": "getAnyOfErrorMessage",
2563
+ "module": "src/utils/validation.ts"
2635
2564
  }
2636
2565
  }
2637
2566
  ]
2638
2567
  },
2639
2568
  {
2640
2569
  "kind": "javascript-module",
2641
- "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
2570
+ "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
2642
2571
  "declarations": [
2643
2572
  {
2644
2573
  "kind": "function",
2645
- "name": "controlWrapperTemplate",
2646
- "return": {
2647
- "type": {
2648
- "text": "ViewTemplate<DispatchRenderer>"
2649
- }
2650
- },
2574
+ "name": "ArrayListWrapperRendererTemplate",
2651
2575
  "parameters": [
2652
2576
  {
2653
- "name": "options",
2577
+ "name": "prefix",
2578
+ "default": "'zero'",
2654
2579
  "type": {
2655
- "text": "ControlWrapperOptions"
2580
+ "text": "string"
2656
2581
  }
2657
2582
  }
2658
- ],
2659
- "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.",
2660
- "privacy": "public"
2583
+ ]
2661
2584
  },
2662
2585
  {
2663
2586
  "kind": "class",
2664
2587
  "description": "",
2665
- "name": "ControlWrapper",
2588
+ "name": "ArrayListWrapper",
2666
2589
  "members": [
2590
+ {
2591
+ "kind": "field",
2592
+ "name": "form"
2593
+ },
2667
2594
  {
2668
2595
  "kind": "field",
2669
2596
  "name": "control"
2670
2597
  },
2671
2598
  {
2672
2599
  "kind": "field",
2673
- "name": "jsonForms"
2600
+ "name": "schema"
2674
2601
  },
2675
2602
  {
2676
2603
  "kind": "field",
2677
- "name": "touched",
2678
- "type": {
2679
- "text": "boolean"
2680
- }
2604
+ "name": "uiSchema"
2681
2605
  },
2682
2606
  {
2683
2607
  "kind": "field",
2684
- "name": "hideLabel",
2608
+ "name": "isGridView",
2685
2609
  "type": {
2686
2610
  "text": "boolean"
2687
2611
  },
@@ -2689,137 +2613,97 @@
2689
2613
  },
2690
2614
  {
2691
2615
  "kind": "field",
2692
- "name": "prefix",
2616
+ "name": "gridViewHeaderCells",
2693
2617
  "type": {
2694
- "text": "string"
2695
- }
2618
+ "text": "GridHeaderCell[]"
2619
+ },
2620
+ "default": "[]"
2696
2621
  },
2697
2622
  {
2698
2623
  "kind": "field",
2699
- "name": "showDescription",
2700
- "readonly": true
2624
+ "name": "gridViewUiSchema",
2625
+ "type": {
2626
+ "text": "any"
2627
+ },
2628
+ "default": "null"
2701
2629
  },
2702
2630
  {
2703
- "kind": "field",
2704
- "name": "computedLabel",
2705
- "readonly": true
2631
+ "kind": "method",
2632
+ "name": "controlChanged"
2706
2633
  },
2707
2634
  {
2708
- "kind": "field",
2709
- "name": "getPrefixedTooltip",
2710
- "readonly": true
2635
+ "kind": "method",
2636
+ "name": "addItem"
2711
2637
  },
2712
2638
  {
2713
- "kind": "field",
2714
- "name": "anyOfError",
2715
- "readonly": true
2716
- }
2717
- ],
2718
- "attributes": [
2719
- {
2720
- "name": "hide-label",
2721
- "type": {
2722
- "text": "boolean"
2723
- },
2724
- "default": "false",
2725
- "fieldName": "hideLabel"
2639
+ "kind": "method",
2640
+ "name": "deleteItem",
2641
+ "parameters": [
2642
+ {
2643
+ "name": "index",
2644
+ "type": {
2645
+ "text": "number"
2646
+ }
2647
+ }
2648
+ ]
2726
2649
  },
2727
2650
  {
2728
- "name": "prefix",
2729
- "type": {
2730
- "text": "string"
2731
- },
2732
- "fieldName": "prefix"
2651
+ "kind": "method",
2652
+ "name": "submitRow",
2653
+ "parameters": [
2654
+ {
2655
+ "name": "index",
2656
+ "type": {
2657
+ "text": "number"
2658
+ },
2659
+ "description": "The row index to submit"
2660
+ }
2661
+ ],
2662
+ "description": "Submits a single row by emitting an event that bubbles up to the foundation-form."
2733
2663
  }
2734
2664
  ],
2735
2665
  "superclass": {
2736
2666
  "name": "FASTElement",
2737
2667
  "package": "@microsoft/fast-element"
2738
2668
  },
2739
- "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.",
2740
- "tagName": "control-wrapper",
2669
+ "tagName": "array-list-wrapper",
2741
2670
  "customElement": true
2742
2671
  }
2743
2672
  ],
2744
2673
  "exports": [
2745
2674
  {
2746
2675
  "kind": "js",
2747
- "name": "controlWrapperTemplate",
2676
+ "name": "ArrayListWrapperRendererTemplate",
2748
2677
  "declaration": {
2749
- "name": "controlWrapperTemplate",
2750
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2678
+ "name": "ArrayListWrapperRendererTemplate",
2679
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2751
2680
  }
2752
2681
  },
2753
2682
  {
2754
2683
  "kind": "js",
2755
- "name": "ControlWrapper",
2684
+ "name": "ArrayListWrapper",
2756
2685
  "declaration": {
2757
- "name": "ControlWrapper",
2758
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2686
+ "name": "ArrayListWrapper",
2687
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2759
2688
  }
2760
2689
  },
2761
2690
  {
2762
2691
  "kind": "custom-element-definition",
2763
- "name": "control-wrapper",
2764
- "declaration": {
2765
- "name": "ControlWrapper",
2766
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2767
- }
2768
- }
2769
- ]
2770
- },
2771
- {
2772
- "kind": "javascript-module",
2773
- "path": "src/jsonforms/renderers/DateControlRenderer.ts",
2774
- "declarations": [
2775
- {
2776
- "kind": "function",
2777
- "name": "DateControlRendererTemplate",
2778
- "parameters": [
2779
- {
2780
- "name": "prefix",
2781
- "default": "'zero'",
2782
- "type": {
2783
- "text": "string"
2784
- }
2785
- }
2786
- ]
2787
- },
2788
- {
2789
- "kind": "variable",
2790
- "name": "DateControlRendererEntry",
2791
- "type": {
2792
- "text": "RendererEntry"
2793
- },
2794
- "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2795
- }
2796
- ],
2797
- "exports": [
2798
- {
2799
- "kind": "js",
2800
- "name": "DateControlRendererTemplate",
2801
- "declaration": {
2802
- "name": "DateControlRendererTemplate",
2803
- "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2804
- }
2805
- },
2806
- {
2807
- "kind": "js",
2808
- "name": "DateControlRendererEntry",
2692
+ "name": "array-list-wrapper",
2809
2693
  "declaration": {
2810
- "name": "DateControlRendererEntry",
2811
- "module": "src/jsonforms/renderers/DateControlRenderer.ts"
2694
+ "name": "ArrayListWrapper",
2695
+ "module": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts"
2812
2696
  }
2813
2697
  }
2814
2698
  ]
2815
2699
  },
2816
2700
  {
2817
2701
  "kind": "javascript-module",
2818
- "path": "src/jsonforms/renderers/DividerRenderer.ts",
2702
+ "path": "src/jsonforms/renderers/BooleanControlRenderer.ts",
2819
2703
  "declarations": [
2820
2704
  {
2821
2705
  "kind": "function",
2822
- "name": "DividerControlRendererTemplate",
2706
+ "name": "BooleanControlRendererTemplate",
2823
2707
  "parameters": [
2824
2708
  {
2825
2709
  "name": "prefix",
@@ -2832,252 +2716,335 @@
2832
2716
  },
2833
2717
  {
2834
2718
  "kind": "variable",
2835
- "name": "DividerControlRenderer",
2719
+ "name": "BooleanControlEntry",
2836
2720
  "type": {
2837
2721
  "text": "RendererEntry"
2838
2722
  },
2839
- "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}"
2723
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => BooleanControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(BOOLEAN_CONTROL_RANK, isOneOfBoolean),\n mapper: mapStateToControlProps,\n}"
2840
2724
  }
2841
2725
  ],
2842
2726
  "exports": [
2843
2727
  {
2844
2728
  "kind": "js",
2845
- "name": "DividerControlRendererTemplate",
2729
+ "name": "BooleanControlRendererTemplate",
2846
2730
  "declaration": {
2847
- "name": "DividerControlRendererTemplate",
2848
- "module": "src/jsonforms/renderers/DividerRenderer.ts"
2731
+ "name": "BooleanControlRendererTemplate",
2732
+ "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2849
2733
  }
2850
2734
  },
2851
2735
  {
2852
2736
  "kind": "js",
2853
- "name": "DividerControlRenderer",
2737
+ "name": "BooleanControlEntry",
2854
2738
  "declaration": {
2855
- "name": "DividerControlRenderer",
2856
- "module": "src/jsonforms/renderers/DividerRenderer.ts"
2739
+ "name": "BooleanControlEntry",
2740
+ "module": "src/jsonforms/renderers/BooleanControlRenderer.ts"
2857
2741
  }
2858
2742
  }
2859
2743
  ]
2860
2744
  },
2861
2745
  {
2862
2746
  "kind": "javascript-module",
2863
- "path": "src/jsonforms/renderers/EnumControlRenderer.ts",
2747
+ "path": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts",
2864
2748
  "declarations": [
2865
2749
  {
2866
2750
  "kind": "function",
2867
- "name": "mapStateToEnumControlProps",
2751
+ "name": "computeCategoryClassName",
2868
2752
  "return": {
2869
2753
  "type": {
2870
- "text": "StatePropsOfControl & OwnPropsOfEnum"
2754
+ "text": "string"
2871
2755
  }
2872
2756
  },
2873
2757
  "parameters": [
2874
2758
  {
2875
- "name": "state",
2759
+ "name": "category",
2876
2760
  "type": {
2877
- "text": "JsonFormsState"
2761
+ "text": "UiSchemaElement"
2878
2762
  }
2879
2763
  },
2880
2764
  {
2881
- "name": "ownProps",
2882
- "type": {
2883
- "text": "OwnPropsOfControl & OwnPropsOfEnum"
2884
- }
2885
- }
2886
- ]
2887
- },
2888
- {
2889
- "kind": "function",
2890
- "name": "EnumControlRendererTemplate",
2891
- "parameters": [
2892
- {
2893
- "name": "prefix",
2894
- "default": "'zero'",
2765
+ "name": "data",
2895
2766
  "type": {
2896
- "text": "string"
2767
+ "text": "any"
2897
2768
  }
2898
2769
  }
2899
2770
  ]
2900
2771
  },
2901
2772
  {
2902
2773
  "kind": "variable",
2903
- "name": "EnumControlRendererEntry",
2904
- "type": {
2905
- "text": "RendererEntry"
2906
- },
2907
- "default": "{\n renderer: html`\n ${(x) => EnumControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_CONTROL_RANK, isOneOfEnum),\n mapper: mapStateToEnumControlProps,\n}"
2908
- }
2909
- ],
2910
- "exports": [
2911
- {
2912
- "kind": "js",
2913
- "name": "mapStateToEnumControlProps",
2914
- "declaration": {
2915
- "name": "mapStateToEnumControlProps",
2916
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2917
- }
2918
- },
2919
- {
2920
- "kind": "js",
2921
- "name": "EnumControlRendererTemplate",
2922
- "declaration": {
2923
- "name": "EnumControlRendererTemplate",
2924
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2925
- }
2774
+ "name": "tabControlIconStyles",
2775
+ "default": "css`\n .tab-control-icon {\n margin-left: 3px;\n color: #f9644d;\n }\n`"
2926
2776
  },
2927
- {
2928
- "kind": "js",
2929
- "name": "EnumControlRendererEntry",
2930
- "declaration": {
2931
- "name": "EnumControlRendererEntry",
2932
- "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
2933
- }
2934
- }
2935
- ]
2936
- },
2937
- {
2938
- "kind": "javascript-module",
2939
- "path": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts",
2940
- "declarations": [
2941
2777
  {
2942
2778
  "kind": "function",
2943
- "name": "EnumRadioGroupControlRendererTemplate",
2779
+ "name": "CategorizationWrapperRendererTemplate",
2944
2780
  "parameters": [
2945
2781
  {
2946
2782
  "name": "prefix",
2947
- "default": "'zero'",
2948
- "type": {
2949
- "text": "string"
2950
- }
2783
+ "default": "'zero'"
2951
2784
  }
2952
2785
  ]
2953
2786
  },
2954
2787
  {
2955
- "kind": "variable",
2956
- "name": "EnumRadioGroupControlRendererEntry",
2957
- "type": {
2958
- "text": "RendererEntry"
2959
- },
2960
- "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}",
2961
- "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.",
2962
- "privacy": "public"
2963
- }
2964
- ],
2965
- "exports": [
2966
- {
2967
- "kind": "js",
2968
- "name": "EnumRadioGroupControlRendererTemplate",
2969
- "declaration": {
2970
- "name": "EnumRadioGroupControlRendererTemplate",
2971
- "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
2972
- }
2973
- },
2974
- {
2975
- "kind": "js",
2976
- "name": "EnumRadioGroupControlRendererEntry",
2977
- "declaration": {
2978
- "name": "EnumRadioGroupControlRendererEntry",
2979
- "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
2980
- }
2981
- }
2982
- ]
2983
- },
2984
- {
2985
- "kind": "javascript-module",
2986
- "path": "src/jsonforms/renderers/FilterDateControlRenderer.ts",
2987
- "declarations": [
2988
- {
2989
- "kind": "function",
2990
- "name": "DateControlRendererTemplate",
2991
- "parameters": [
2788
+ "kind": "class",
2789
+ "description": "",
2790
+ "name": "CategorizationWrapper",
2791
+ "members": [
2992
2792
  {
2993
- "name": "prefix",
2994
- "default": "'zero'",
2793
+ "kind": "field",
2794
+ "name": "form"
2795
+ },
2796
+ {
2797
+ "kind": "field",
2798
+ "name": "control"
2799
+ },
2800
+ {
2801
+ "kind": "field",
2802
+ "name": "mountedTabs",
2995
2803
  "type": {
2996
- "text": "string"
2997
- }
2998
- }
2999
- ]
3000
- },
3001
- {
3002
- "kind": "variable",
3003
- "name": "FilterDateControlRendererEntry",
3004
- "type": {
3005
- "text": "RendererEntry"
2804
+ "text": "Set<number>"
2805
+ },
2806
+ "default": "new Set([0])"
2807
+ },
2808
+ {
2809
+ "kind": "field",
2810
+ "name": "activeTabIndex",
2811
+ "type": {
2812
+ "text": "number"
2813
+ },
2814
+ "default": "0"
2815
+ },
2816
+ {
2817
+ "kind": "field",
2818
+ "name": "touchedTabs",
2819
+ "type": {
2820
+ "text": "Set<number>"
2821
+ },
2822
+ "default": "new Set()",
2823
+ "description": "Tabs the user has interacted with (focus left a control inside the panel).\nField errors only render once touched or after submit; the tab marker follows\nthe same rule so a pristine form does not open with error icons on its tabs."
2824
+ },
2825
+ {
2826
+ "kind": "field",
2827
+ "name": "submittedObserver",
2828
+ "type": {
2829
+ "text": "BindingObserver | undefined"
2830
+ },
2831
+ "privacy": "private"
2832
+ },
2833
+ {
2834
+ "kind": "field",
2835
+ "name": "hasAppliedActiveCategory",
2836
+ "type": {
2837
+ "text": "boolean"
2838
+ },
2839
+ "privacy": "private",
2840
+ "default": "false",
2841
+ "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."
2842
+ },
2843
+ {
2844
+ "kind": "field",
2845
+ "name": "lastErrors",
2846
+ "type": {
2847
+ "text": "ErrorObject[] | undefined"
2848
+ },
2849
+ "privacy": "private"
2850
+ },
2851
+ {
2852
+ "kind": "field",
2853
+ "name": "lastAdditionalErrors",
2854
+ "type": {
2855
+ "text": "ErrorObject[] | undefined"
2856
+ },
2857
+ "privacy": "private"
2858
+ },
2859
+ {
2860
+ "kind": "field",
2861
+ "name": "cachedErrorScopes",
2862
+ "type": {
2863
+ "text": "string[]"
2864
+ },
2865
+ "privacy": "private",
2866
+ "default": "[]"
2867
+ },
2868
+ {
2869
+ "kind": "method",
2870
+ "name": "controlChanged"
2871
+ },
2872
+ {
2873
+ "kind": "method",
2874
+ "name": "markTabTouched",
2875
+ "parameters": [
2876
+ {
2877
+ "name": "index",
2878
+ "type": {
2879
+ "text": "number"
2880
+ }
2881
+ }
2882
+ ]
2883
+ },
2884
+ {
2885
+ "kind": "method",
2886
+ "name": "isMounted",
2887
+ "return": {
2888
+ "type": {
2889
+ "text": "boolean"
2890
+ }
2891
+ },
2892
+ "parameters": [
2893
+ {
2894
+ "name": "index",
2895
+ "type": {
2896
+ "text": "number"
2897
+ }
2898
+ }
2899
+ ]
2900
+ },
2901
+ {
2902
+ "kind": "method",
2903
+ "name": "handleTabChange",
2904
+ "parameters": [
2905
+ {
2906
+ "name": "event",
2907
+ "type": {
2908
+ "text": "Event"
2909
+ }
2910
+ }
2911
+ ]
2912
+ },
2913
+ {
2914
+ "kind": "method",
2915
+ "name": "hasCategoryError",
2916
+ "return": {
2917
+ "type": {
2918
+ "text": "boolean"
2919
+ }
2920
+ },
2921
+ "parameters": [
2922
+ {
2923
+ "name": "categoryIndex",
2924
+ "type": {
2925
+ "text": "number"
2926
+ }
2927
+ }
2928
+ ]
2929
+ },
2930
+ {
2931
+ "kind": "method",
2932
+ "name": "getErrorScopes",
2933
+ "privacy": "private",
2934
+ "return": {
2935
+ "type": {
2936
+ "text": "string[]"
2937
+ }
2938
+ },
2939
+ "parameters": [
2940
+ {
2941
+ "name": "core",
2942
+ "type": {
2943
+ "text": "JsonFormsCore"
2944
+ }
2945
+ }
2946
+ ],
2947
+ "description": "`hasCategoryError` is called once per tab per render pass, so recomputing\nscopes N times would repeat the same array-merge + regex work. JSONForms\nkeeps the `errors`/`additionalErrors` array references stable across\nrenders unless validation actually re-runs, so reference-equality caching\nis enough to collapse the per-render cost to a single computation."
2948
+ }
2949
+ ],
2950
+ "superclass": {
2951
+ "name": "FASTElement",
2952
+ "package": "@microsoft/fast-element"
3006
2953
  },
3007
- "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2954
+ "tagName": "categorization-wrapper",
2955
+ "customElement": true
3008
2956
  }
3009
2957
  ],
3010
2958
  "exports": [
3011
2959
  {
3012
2960
  "kind": "js",
3013
- "name": "DateControlRendererTemplate",
2961
+ "name": "computeCategoryClassName",
3014
2962
  "declaration": {
3015
- "name": "DateControlRendererTemplate",
3016
- "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
2963
+ "name": "computeCategoryClassName",
2964
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
3017
2965
  }
3018
2966
  },
3019
2967
  {
3020
2968
  "kind": "js",
3021
- "name": "FilterDateControlRendererEntry",
2969
+ "name": "tabControlIconStyles",
3022
2970
  "declaration": {
3023
- "name": "FilterDateControlRendererEntry",
3024
- "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
2971
+ "name": "tabControlIconStyles",
2972
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2973
+ }
2974
+ },
2975
+ {
2976
+ "kind": "js",
2977
+ "name": "CategorizationWrapperRendererTemplate",
2978
+ "declaration": {
2979
+ "name": "CategorizationWrapperRendererTemplate",
2980
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2981
+ }
2982
+ },
2983
+ {
2984
+ "kind": "js",
2985
+ "name": "CategorizationWrapper",
2986
+ "declaration": {
2987
+ "name": "CategorizationWrapper",
2988
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
2989
+ }
2990
+ },
2991
+ {
2992
+ "kind": "custom-element-definition",
2993
+ "name": "categorization-wrapper",
2994
+ "declaration": {
2995
+ "name": "CategorizationWrapper",
2996
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
3025
2997
  }
3026
2998
  }
3027
2999
  ]
3028
3000
  },
3029
3001
  {
3030
3002
  "kind": "javascript-module",
3031
- "path": "src/jsonforms/renderers/FilterNumberControlRenderer.ts",
3003
+ "path": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts",
3032
3004
  "declarations": [
3033
3005
  {
3034
3006
  "kind": "function",
3035
- "name": "FilterNumberControlRendererTemplate",
3007
+ "name": "resolveSelectedOptions",
3008
+ "return": {
3009
+ "type": {
3010
+ "text": "any[]"
3011
+ }
3012
+ },
3036
3013
  "parameters": [
3037
3014
  {
3038
- "name": "prefix",
3039
- "default": "'zero'",
3015
+ "name": "control",
3040
3016
  "type": {
3041
- "text": "string"
3017
+ "text": "any"
3042
3018
  }
3043
3019
  }
3044
3020
  ]
3045
3021
  },
3046
3022
  {
3047
- "kind": "variable",
3048
- "name": "FilterNumberControlRendererEntry",
3049
- "type": {
3050
- "text": "RendererEntry"
3023
+ "kind": "function",
3024
+ "name": "resolveSelectionValue",
3025
+ "return": {
3026
+ "type": {
3027
+ "text": "any"
3028
+ }
3051
3029
  },
3052
- "default": "{\n renderer: html`\n ${(x) => FilterNumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
3053
- }
3054
- ],
3055
- "exports": [
3056
- {
3057
- "kind": "js",
3058
- "name": "FilterNumberControlRendererTemplate",
3059
- "declaration": {
3060
- "name": "FilterNumberControlRendererTemplate",
3061
- "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
3062
- }
3030
+ "parameters": [
3031
+ {
3032
+ "name": "control",
3033
+ "type": {
3034
+ "text": "any"
3035
+ }
3036
+ },
3037
+ {
3038
+ "name": "detail",
3039
+ "type": {
3040
+ "text": "any"
3041
+ }
3042
+ }
3043
+ ]
3063
3044
  },
3064
- {
3065
- "kind": "js",
3066
- "name": "FilterNumberControlRendererEntry",
3067
- "declaration": {
3068
- "name": "FilterNumberControlRendererEntry",
3069
- "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
3070
- }
3071
- }
3072
- ]
3073
- },
3074
- {
3075
- "kind": "javascript-module",
3076
- "path": "src/jsonforms/renderers/FilterTimeControlRenderer.ts",
3077
- "declarations": [
3078
3045
  {
3079
3046
  "kind": "function",
3080
- "name": "TimeControlRendererTemplate",
3047
+ "name": "ConnectedMultiselectControlRendererTemplate",
3081
3048
  "parameters": [
3082
3049
  {
3083
3050
  "name": "prefix",
@@ -3090,1090 +3057,1668 @@
3090
3057
  },
3091
3058
  {
3092
3059
  "kind": "variable",
3093
- "name": "FilterTimeControlRendererEntry",
3060
+ "name": "ConnectedMultiselectControlRendererEntry",
3094
3061
  "type": {
3095
3062
  "text": "RendererEntry"
3096
3063
  },
3097
- "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps,\n}"
3064
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ConnectedMultiselectControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTISELECT_CONTROL_RANK, isOneOfOptionMultiselect),\n mapper: mapStateToControlProps,\n}"
3098
3065
  }
3099
3066
  ],
3100
3067
  "exports": [
3101
3068
  {
3102
3069
  "kind": "js",
3103
- "name": "TimeControlRendererTemplate",
3070
+ "name": "resolveSelectedOptions",
3104
3071
  "declaration": {
3105
- "name": "TimeControlRendererTemplate",
3106
- "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
3107
- }
3072
+ "name": "resolveSelectedOptions",
3073
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
3074
+ }
3108
3075
  },
3109
3076
  {
3110
3077
  "kind": "js",
3111
- "name": "FilterTimeControlRendererEntry",
3078
+ "name": "resolveSelectionValue",
3112
3079
  "declaration": {
3113
- "name": "FilterTimeControlRendererEntry",
3114
- "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
3080
+ "name": "resolveSelectionValue",
3081
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
3082
+ }
3083
+ },
3084
+ {
3085
+ "kind": "js",
3086
+ "name": "ConnectedMultiselectControlRendererTemplate",
3087
+ "declaration": {
3088
+ "name": "ConnectedMultiselectControlRendererTemplate",
3089
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
3090
+ }
3091
+ },
3092
+ {
3093
+ "kind": "js",
3094
+ "name": "ConnectedMultiselectControlRendererEntry",
3095
+ "declaration": {
3096
+ "name": "ConnectedMultiselectControlRendererEntry",
3097
+ "module": "src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"
3115
3098
  }
3116
3099
  }
3117
3100
  ]
3118
3101
  },
3119
3102
  {
3120
3103
  "kind": "javascript-module",
3121
- "path": "src/jsonforms/renderers/InvisibleControlRenderer.ts",
3104
+ "path": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts",
3122
3105
  "declarations": [
3123
3106
  {
3124
- "kind": "variable",
3125
- "name": "InvisibleControlRendererTemplate",
3126
- "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`"
3107
+ "kind": "function",
3108
+ "name": "shouldReuseDisplayedValue",
3109
+ "return": {
3110
+ "type": {
3111
+ "text": "boolean"
3112
+ }
3113
+ },
3114
+ "parameters": [
3115
+ {
3116
+ "name": "currentValue",
3117
+ "type": {
3118
+ "text": "unknown"
3119
+ }
3120
+ },
3121
+ {
3122
+ "name": "previousRawValue",
3123
+ "type": {
3124
+ "text": "unknown"
3125
+ }
3126
+ },
3127
+ {
3128
+ "name": "displayedValue",
3129
+ "type": {
3130
+ "text": "string | undefined"
3131
+ }
3132
+ }
3133
+ ]
3134
+ },
3135
+ {
3136
+ "kind": "function",
3137
+ "name": "ConnectedSelectControlRendererTemplate",
3138
+ "parameters": [
3139
+ {
3140
+ "name": "prefix",
3141
+ "default": "'zero'",
3142
+ "type": {
3143
+ "text": "string"
3144
+ }
3145
+ }
3146
+ ]
3127
3147
  },
3128
3148
  {
3129
3149
  "kind": "variable",
3130
- "name": "InvisibleControlEntry",
3150
+ "name": "ConnectedSelectControlRendererEntry",
3131
3151
  "type": {
3132
- "text": "RendererEntry"
3152
+ "text": "any"
3133
3153
  },
3134
- "default": "{\n renderer: InvisibleControlRendererTemplate,\n tester: rankWith(INVISIBLE_CONTROL_RANK, isInvisible),\n mapper: mapStateToControlProps,\n}"
3154
+ "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}"
3135
3155
  }
3136
3156
  ],
3137
3157
  "exports": [
3138
3158
  {
3139
3159
  "kind": "js",
3140
- "name": "InvisibleControlRendererTemplate",
3160
+ "name": "shouldReuseDisplayedValue",
3141
3161
  "declaration": {
3142
- "name": "InvisibleControlRendererTemplate",
3143
- "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
3162
+ "name": "shouldReuseDisplayedValue",
3163
+ "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
3144
3164
  }
3145
3165
  },
3146
3166
  {
3147
3167
  "kind": "js",
3148
- "name": "InvisibleControlEntry",
3168
+ "name": "ConnectedSelectControlRendererTemplate",
3149
3169
  "declaration": {
3150
- "name": "InvisibleControlEntry",
3151
- "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
3170
+ "name": "ConnectedSelectControlRendererTemplate",
3171
+ "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
3172
+ }
3173
+ },
3174
+ {
3175
+ "kind": "js",
3176
+ "name": "ConnectedSelectControlRendererEntry",
3177
+ "declaration": {
3178
+ "name": "ConnectedSelectControlRendererEntry",
3179
+ "module": "src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"
3152
3180
  }
3153
3181
  }
3154
3182
  ]
3155
3183
  },
3156
3184
  {
3157
3185
  "kind": "javascript-module",
3158
- "path": "src/jsonforms/renderers/LayoutArrayRenderer.ts",
3186
+ "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
3159
3187
  "declarations": [
3160
3188
  {
3161
- "kind": "variable",
3162
- "name": "LayoutArrayRendererTemplate",
3163
- "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`"
3189
+ "kind": "function",
3190
+ "name": "controlWrapperTemplate",
3191
+ "return": {
3192
+ "type": {
3193
+ "text": "ViewTemplate<DispatchRenderer>"
3194
+ }
3195
+ },
3196
+ "parameters": [
3197
+ {
3198
+ "name": "options",
3199
+ "type": {
3200
+ "text": "ControlWrapperOptions"
3201
+ }
3202
+ }
3203
+ ],
3204
+ "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.",
3205
+ "privacy": "public"
3164
3206
  },
3165
3207
  {
3166
- "kind": "variable",
3167
- "name": "LayoutArrayRendererEntry",
3168
- "type": {
3169
- "text": "any"
3208
+ "kind": "class",
3209
+ "description": "",
3210
+ "name": "ControlWrapper",
3211
+ "members": [
3212
+ {
3213
+ "kind": "field",
3214
+ "name": "control"
3215
+ },
3216
+ {
3217
+ "kind": "field",
3218
+ "name": "jsonForms"
3219
+ },
3220
+ {
3221
+ "kind": "field",
3222
+ "name": "touched",
3223
+ "type": {
3224
+ "text": "boolean"
3225
+ }
3226
+ },
3227
+ {
3228
+ "kind": "field",
3229
+ "name": "hideLabel",
3230
+ "type": {
3231
+ "text": "boolean"
3232
+ },
3233
+ "default": "false"
3234
+ },
3235
+ {
3236
+ "kind": "field",
3237
+ "name": "prefix",
3238
+ "type": {
3239
+ "text": "string"
3240
+ }
3241
+ },
3242
+ {
3243
+ "kind": "field",
3244
+ "name": "showDescription",
3245
+ "readonly": true
3246
+ },
3247
+ {
3248
+ "kind": "field",
3249
+ "name": "computedLabel",
3250
+ "readonly": true
3251
+ },
3252
+ {
3253
+ "kind": "field",
3254
+ "name": "getPrefixedTooltip",
3255
+ "readonly": true
3256
+ },
3257
+ {
3258
+ "kind": "field",
3259
+ "name": "anyOfError",
3260
+ "readonly": true
3261
+ }
3262
+ ],
3263
+ "attributes": [
3264
+ {
3265
+ "name": "hide-label",
3266
+ "type": {
3267
+ "text": "boolean"
3268
+ },
3269
+ "default": "false",
3270
+ "fieldName": "hideLabel"
3271
+ },
3272
+ {
3273
+ "name": "prefix",
3274
+ "type": {
3275
+ "text": "string"
3276
+ },
3277
+ "fieldName": "prefix"
3278
+ }
3279
+ ],
3280
+ "superclass": {
3281
+ "name": "FASTElement",
3282
+ "package": "@microsoft/fast-element"
3170
3283
  },
3171
- "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isArray('object')),\n mapper: mapStateToArrayLayoutProps,\n dispatchMapper: mapDispatchToArrayControlProps,\n}"
3284
+ "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.",
3285
+ "tagName": "control-wrapper",
3286
+ "customElement": true
3172
3287
  }
3173
3288
  ],
3174
3289
  "exports": [
3175
3290
  {
3176
3291
  "kind": "js",
3177
- "name": "LayoutArrayRendererTemplate",
3292
+ "name": "controlWrapperTemplate",
3178
3293
  "declaration": {
3179
- "name": "LayoutArrayRendererTemplate",
3180
- "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
3294
+ "name": "controlWrapperTemplate",
3295
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
3181
3296
  }
3182
3297
  },
3183
3298
  {
3184
3299
  "kind": "js",
3185
- "name": "LayoutArrayRendererEntry",
3300
+ "name": "ControlWrapper",
3186
3301
  "declaration": {
3187
- "name": "LayoutArrayRendererEntry",
3188
- "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
3302
+ "name": "ControlWrapper",
3303
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
3304
+ }
3305
+ },
3306
+ {
3307
+ "kind": "custom-element-definition",
3308
+ "name": "control-wrapper",
3309
+ "declaration": {
3310
+ "name": "ControlWrapper",
3311
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
3189
3312
  }
3190
3313
  }
3191
3314
  ]
3192
3315
  },
3193
3316
  {
3194
3317
  "kind": "javascript-module",
3195
- "path": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts",
3318
+ "path": "src/jsonforms/renderers/DateControlRenderer.ts",
3196
3319
  "declarations": [
3197
3320
  {
3198
- "kind": "variable",
3199
- "name": "LayoutCategorizationRendererTemplate",
3200
- "default": "html`\n <template>\n <categorization-wrapper :form=${(x) => x} :control=${(x) => x.control}></categorization-wrapper>\n </template>\n`"
3321
+ "kind": "function",
3322
+ "name": "DateControlRendererTemplate",
3323
+ "parameters": [
3324
+ {
3325
+ "name": "prefix",
3326
+ "default": "'zero'",
3327
+ "type": {
3328
+ "text": "string"
3329
+ }
3330
+ }
3331
+ ]
3201
3332
  },
3202
3333
  {
3203
3334
  "kind": "variable",
3204
- "name": "LayoutCategorizationRendererEntry",
3335
+ "name": "DateControlRendererEntry",
3205
3336
  "type": {
3206
- "text": "any"
3337
+ "text": "RendererEntry"
3207
3338
  },
3208
- "default": "{\n renderer: LayoutCategorizationRendererTemplate,\n tester: rankWith(LAYOUT_CATEGORIZATION_RANK, (uiSchema) => uiSchema.type === 'Categorization'),\n mapper: mapStateToLayoutProps,\n}"
3339
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
3209
3340
  }
3210
3341
  ],
3211
3342
  "exports": [
3212
3343
  {
3213
3344
  "kind": "js",
3214
- "name": "LayoutCategorizationRendererTemplate",
3345
+ "name": "DateControlRendererTemplate",
3215
3346
  "declaration": {
3216
- "name": "LayoutCategorizationRendererTemplate",
3217
- "module": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts"
3347
+ "name": "DateControlRendererTemplate",
3348
+ "module": "src/jsonforms/renderers/DateControlRenderer.ts"
3218
3349
  }
3219
3350
  },
3220
3351
  {
3221
3352
  "kind": "js",
3222
- "name": "LayoutCategorizationRendererEntry",
3353
+ "name": "DateControlRendererEntry",
3223
3354
  "declaration": {
3224
- "name": "LayoutCategorizationRendererEntry",
3225
- "module": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts"
3355
+ "name": "DateControlRendererEntry",
3356
+ "module": "src/jsonforms/renderers/DateControlRenderer.ts"
3226
3357
  }
3227
3358
  }
3228
3359
  ]
3229
3360
  },
3230
3361
  {
3231
3362
  "kind": "javascript-module",
3232
- "path": "src/jsonforms/renderers/LayoutFormGridRenderer.ts",
3363
+ "path": "src/jsonforms/renderers/DividerRenderer.ts",
3233
3364
  "declarations": [
3234
3365
  {
3235
- "kind": "variable",
3236
- "name": "LayoutFormGridRendererTemplate",
3237
- "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n innerTemplate: html<DispatchRenderer>`\n <div class=\"fl-form-grid-layout\">\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <dispatch-renderer\n :submitted=${(x, ctx) => ctx.parent.submitted}\n :dispatch=${(x, ctx) => ctx.parent.dispatch}\n :jsonforms=${(x, ctx) => ctx.parent.jsonforms}\n :prefix=${(x, ctx) => ctx.parent.prefix}\n :props=${(x, ctx) => ({\n uischema: x,\n schema: ctx.parent.control.schema,\n renderers: ctx.parent.control.renderers,\n path: ctx.parent.control.path,\n enabled: ctx.parent.control.enabled,\n })}\n ></dispatch-renderer>\n `,\n )}\n </div>\n `,\n })}\n </template>\n`"
3366
+ "kind": "function",
3367
+ "name": "DividerControlRendererTemplate",
3368
+ "parameters": [
3369
+ {
3370
+ "name": "prefix",
3371
+ "default": "'zero'",
3372
+ "type": {
3373
+ "text": "string"
3374
+ }
3375
+ }
3376
+ ]
3238
3377
  },
3239
3378
  {
3240
3379
  "kind": "variable",
3241
- "name": "LayoutFormGridEntry",
3380
+ "name": "DividerControlRenderer",
3242
3381
  "type": {
3243
- "text": "any"
3382
+ "text": "RendererEntry"
3244
3383
  },
3245
- "default": "{\n renderer: LayoutFormGridRendererTemplate,\n tester: rankWith(LAYOUT_FORM_GRID_RANK, (uiSchema) => uiSchema.type === 'FormGridLayout'),\n mapper: mapStateToLayoutProps,\n}"
3384
+ "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}"
3246
3385
  }
3247
3386
  ],
3248
3387
  "exports": [
3249
3388
  {
3250
3389
  "kind": "js",
3251
- "name": "LayoutFormGridRendererTemplate",
3390
+ "name": "DividerControlRendererTemplate",
3252
3391
  "declaration": {
3253
- "name": "LayoutFormGridRendererTemplate",
3254
- "module": "src/jsonforms/renderers/LayoutFormGridRenderer.ts"
3392
+ "name": "DividerControlRendererTemplate",
3393
+ "module": "src/jsonforms/renderers/DividerRenderer.ts"
3255
3394
  }
3256
3395
  },
3257
3396
  {
3258
3397
  "kind": "js",
3259
- "name": "LayoutFormGridEntry",
3398
+ "name": "DividerControlRenderer",
3260
3399
  "declaration": {
3261
- "name": "LayoutFormGridEntry",
3262
- "module": "src/jsonforms/renderers/LayoutFormGridRenderer.ts"
3400
+ "name": "DividerControlRenderer",
3401
+ "module": "src/jsonforms/renderers/DividerRenderer.ts"
3263
3402
  }
3264
3403
  }
3265
3404
  ]
3266
3405
  },
3267
3406
  {
3268
3407
  "kind": "javascript-module",
3269
- "path": "src/jsonforms/renderers/LayoutGroupRenderer.ts",
3408
+ "path": "src/jsonforms/renderers/EnumControlRenderer.ts",
3270
3409
  "declarations": [
3271
3410
  {
3272
- "kind": "variable",
3273
- "name": "LayoutGroupRendererTemplate",
3274
- "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n hideLabel: true,\n innerTemplate: html<DispatchRenderer>`\n <div class=\"fl-group-layout\">\n ${when(\n (x) => x.control.label,\n html<DispatchRenderer>`\n <div for=\"${(x) => x.control.path + '-wrapper'}\" class=\"fl-group-label\">\n ${(x) => x.control.label}\n </div>\n `,\n )}\n ${repeat(\n (x) => x.control.uischema.options.childElements,\n html`\n <dispatch-renderer\n :submitted=${(x, ctx) => ctx.parent.submitted}\n :dispatch=${(x, ctx) => ctx.parent.dispatch}\n :jsonforms=${(x, ctx) => ctx.parent.jsonforms}\n :prefix=${(x, ctx) => ctx.parent.prefix}\n :props=${(x, ctx) => ({\n uischema: x,\n schema: ctx.parent.control.schema,\n renderers: ctx.parent.control.renderers,\n path: ctx.parent.control.path,\n enabled: ctx.parent.control.enabled,\n })}\n ></dispatch-renderer>\n `,\n )}\n </div>\n `,\n })}\n </template>\n`"
3411
+ "kind": "function",
3412
+ "name": "mapStateToEnumControlProps",
3413
+ "return": {
3414
+ "type": {
3415
+ "text": "StatePropsOfControl & OwnPropsOfEnum"
3416
+ }
3417
+ },
3418
+ "parameters": [
3419
+ {
3420
+ "name": "state",
3421
+ "type": {
3422
+ "text": "JsonFormsState"
3423
+ }
3424
+ },
3425
+ {
3426
+ "name": "ownProps",
3427
+ "type": {
3428
+ "text": "OwnPropsOfControl & OwnPropsOfEnum"
3429
+ }
3430
+ }
3431
+ ]
3432
+ },
3433
+ {
3434
+ "kind": "function",
3435
+ "name": "EnumControlRendererTemplate",
3436
+ "parameters": [
3437
+ {
3438
+ "name": "prefix",
3439
+ "default": "'zero'",
3440
+ "type": {
3441
+ "text": "string"
3442
+ }
3443
+ }
3444
+ ]
3275
3445
  },
3276
3446
  {
3277
3447
  "kind": "variable",
3278
- "name": "LayoutGroupRendererEntry",
3448
+ "name": "EnumControlRendererEntry",
3279
3449
  "type": {
3280
- "text": "any"
3450
+ "text": "RendererEntry"
3281
3451
  },
3282
- "default": "{\n renderer: LayoutGroupRendererTemplate,\n tester: rankWith(LAYOUT_GROUP_RANK, isGroup),\n mapper: mapStateToLayoutProps,\n}"
3452
+ "default": "{\n renderer: html`\n ${(x) => EnumControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ENUM_CONTROL_RANK, isOneOfEnum),\n mapper: mapStateToEnumControlProps,\n}"
3283
3453
  }
3284
3454
  ],
3285
3455
  "exports": [
3286
3456
  {
3287
3457
  "kind": "js",
3288
- "name": "LayoutGroupRendererTemplate",
3458
+ "name": "mapStateToEnumControlProps",
3289
3459
  "declaration": {
3290
- "name": "LayoutGroupRendererTemplate",
3291
- "module": "src/jsonforms/renderers/LayoutGroupRenderer.ts"
3460
+ "name": "mapStateToEnumControlProps",
3461
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
3292
3462
  }
3293
3463
  },
3294
3464
  {
3295
3465
  "kind": "js",
3296
- "name": "LayoutGroupRendererEntry",
3466
+ "name": "EnumControlRendererTemplate",
3297
3467
  "declaration": {
3298
- "name": "LayoutGroupRendererEntry",
3299
- "module": "src/jsonforms/renderers/LayoutGroupRenderer.ts"
3468
+ "name": "EnumControlRendererTemplate",
3469
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
3470
+ }
3471
+ },
3472
+ {
3473
+ "kind": "js",
3474
+ "name": "EnumControlRendererEntry",
3475
+ "declaration": {
3476
+ "name": "EnumControlRendererEntry",
3477
+ "module": "src/jsonforms/renderers/EnumControlRenderer.ts"
3300
3478
  }
3301
3479
  }
3302
3480
  ]
3303
3481
  },
3304
3482
  {
3305
3483
  "kind": "javascript-module",
3306
- "path": "src/jsonforms/renderers/LayoutHorizontalRenderer.ts",
3484
+ "path": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts",
3307
3485
  "declarations": [
3308
3486
  {
3309
- "kind": "variable",
3310
- "name": "LayoutHorizontalRendererTemplate",
3311
- "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n innerTemplate: html<DispatchRenderer>`\n <div class=\"fl-horizontal-layout\">\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <dispatch-renderer\n class=\"fl-horizontal-layout-item\"\n :submitted=${(x, ctx) => ctx.parent.submitted}\n :dispatch=${(x, ctx) => ctx.parent.dispatch}\n :jsonforms=${(x, ctx) => ctx.parent.jsonforms}\n :prefix=${(x, ctx) => ctx.parent.prefix}\n :props=${(x, ctx) => ({\n uischema: x,\n schema: ctx.parent.control.schema,\n renderers: ctx.parent.control.renderers,\n path: ctx.parent.control.path,\n enabled: ctx.parent.control.enabled,\n })}\n ></dispatch-renderer>\n `,\n )}\n </div>\n `,\n })}\n </template>\n`"
3487
+ "kind": "function",
3488
+ "name": "EnumRadioGroupControlRendererTemplate",
3489
+ "parameters": [
3490
+ {
3491
+ "name": "prefix",
3492
+ "default": "'zero'",
3493
+ "type": {
3494
+ "text": "string"
3495
+ }
3496
+ }
3497
+ ]
3312
3498
  },
3313
3499
  {
3314
3500
  "kind": "variable",
3315
- "name": "LayoutHorizontalEntry",
3501
+ "name": "EnumRadioGroupControlRendererEntry",
3316
3502
  "type": {
3317
- "text": "any"
3503
+ "text": "RendererEntry"
3318
3504
  },
3319
- "default": "{\n renderer: LayoutHorizontalRendererTemplate,\n tester: rankWith(LAYOUT_HORIZONTAL_RANK, (uiSchema) => uiSchema.type === 'HorizontalLayout'),\n mapper: mapStateToLayoutProps,\n}"
3505
+ "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}",
3506
+ "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.",
3507
+ "privacy": "public"
3320
3508
  }
3321
3509
  ],
3322
3510
  "exports": [
3323
3511
  {
3324
3512
  "kind": "js",
3325
- "name": "LayoutHorizontalRendererTemplate",
3513
+ "name": "EnumRadioGroupControlRendererTemplate",
3326
3514
  "declaration": {
3327
- "name": "LayoutHorizontalRendererTemplate",
3328
- "module": "src/jsonforms/renderers/LayoutHorizontalRenderer.ts"
3515
+ "name": "EnumRadioGroupControlRendererTemplate",
3516
+ "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
3329
3517
  }
3330
3518
  },
3331
3519
  {
3332
3520
  "kind": "js",
3333
- "name": "LayoutHorizontalEntry",
3521
+ "name": "EnumRadioGroupControlRendererEntry",
3334
3522
  "declaration": {
3335
- "name": "LayoutHorizontalEntry",
3336
- "module": "src/jsonforms/renderers/LayoutHorizontalRenderer.ts"
3523
+ "name": "EnumRadioGroupControlRendererEntry",
3524
+ "module": "src/jsonforms/renderers/EnumRadioGroupControlRenderer.ts"
3337
3525
  }
3338
3526
  }
3339
3527
  ]
3340
3528
  },
3341
3529
  {
3342
3530
  "kind": "javascript-module",
3343
- "path": "src/jsonforms/renderers/LayoutRenderer.ts",
3531
+ "path": "src/jsonforms/renderers/FilterDateControlRenderer.ts",
3344
3532
  "declarations": [
3345
3533
  {
3346
3534
  "kind": "function",
3347
- "name": "layoutWrapperTemplate",
3348
- "return": {
3349
- "type": {
3350
- "text": "ViewTemplate<DispatchRenderer>"
3351
- }
3352
- },
3535
+ "name": "DateControlRendererTemplate",
3353
3536
  "parameters": [
3354
3537
  {
3355
- "name": "options",
3538
+ "name": "prefix",
3539
+ "default": "'zero'",
3356
3540
  "type": {
3357
- "text": "LayoutWrapperOptions"
3541
+ "text": "string"
3358
3542
  }
3359
3543
  }
3360
- ],
3361
- "description": "Light-DOM-friendly layout wrapper that replaces the former `<layout-wrapper>`\ncustom element. Renders the (optional) control label and, when the control is\nvisible, composes the provided inner template inline so that bindings stay on\nthe `DispatchRenderer` source.",
3362
- "privacy": "public"
3363
- },
3364
- {
3365
- "kind": "variable",
3366
- "name": "LayoutRendererTemplate",
3367
- "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n innerTemplate: html<DispatchRenderer>`\n <div class=\"fl-vertical-layout\">\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <dispatch-renderer\n :submitted=${(x, ctx) => ctx.parent.submitted}\n :dispatch=${(x, ctx) => ctx.parent.dispatch}\n :jsonforms=${(x, ctx) => ctx.parent.jsonforms}\n :prefix=${(x, ctx) => ctx.parent.prefix}\n :props=${(x, ctx) => ({\n uischema: x,\n schema: ctx.parent.control.schema,\n renderers: ctx.parent.control.renderers,\n path: ctx.parent.control.path,\n enabled: ctx.parent.control.enabled,\n })}\n ></dispatch-renderer>\n `,\n )}\n </div>\n `,\n })}\n </template>\n`"
3544
+ ]
3368
3545
  },
3369
3546
  {
3370
3547
  "kind": "variable",
3371
- "name": "LayoutRendererEntry",
3548
+ "name": "FilterDateControlRendererEntry",
3372
3549
  "type": {
3373
- "text": "any"
3374
- },
3375
- "default": "{\n renderer: LayoutRendererTemplate,\n tester: rankWith(LAYOUT_RANK, isLayout),\n mapper: mapStateToLayoutProps,\n}"
3376
- },
3377
- {
3378
- "kind": "class",
3379
- "description": "",
3380
- "name": "LayoutWrapper",
3381
- "members": [
3382
- {
3383
- "kind": "field",
3384
- "name": "control"
3385
- },
3386
- {
3387
- "kind": "field",
3388
- "name": "hideLabel",
3389
- "type": {
3390
- "text": "boolean"
3391
- },
3392
- "default": "false"
3393
- }
3394
- ],
3395
- "attributes": [
3396
- {
3397
- "name": "hide-label",
3398
- "type": {
3399
- "text": "boolean"
3400
- },
3401
- "default": "false",
3402
- "fieldName": "hideLabel"
3403
- }
3404
- ],
3405
- "superclass": {
3406
- "name": "FASTElement",
3407
- "package": "@microsoft/fast-element"
3550
+ "text": "RendererEntry"
3408
3551
  },
3409
- "deprecated": "Use `layoutWrapperTemplate` instead. The `<layout-wrapper>` custom element will be removed in a future major version. Migrate to the light-DOM `layoutWrapperTemplate` function which renders inline within the parent renderer's template.",
3410
- "tagName": "layout-wrapper",
3411
- "customElement": true
3552
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
3412
3553
  }
3413
3554
  ],
3414
3555
  "exports": [
3415
3556
  {
3416
3557
  "kind": "js",
3417
- "name": "layoutWrapperTemplate",
3418
- "declaration": {
3419
- "name": "layoutWrapperTemplate",
3420
- "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3421
- }
3422
- },
3423
- {
3424
- "kind": "js",
3425
- "name": "LayoutRendererTemplate",
3426
- "declaration": {
3427
- "name": "LayoutRendererTemplate",
3428
- "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3429
- }
3430
- },
3431
- {
3432
- "kind": "js",
3433
- "name": "LayoutRendererEntry",
3558
+ "name": "DateControlRendererTemplate",
3434
3559
  "declaration": {
3435
- "name": "LayoutRendererEntry",
3436
- "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3560
+ "name": "DateControlRendererTemplate",
3561
+ "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
3437
3562
  }
3438
3563
  },
3439
3564
  {
3440
3565
  "kind": "js",
3441
- "name": "LayoutWrapper",
3442
- "declaration": {
3443
- "name": "LayoutWrapper",
3444
- "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3445
- }
3446
- },
3447
- {
3448
- "kind": "custom-element-definition",
3449
- "name": "layout-wrapper",
3566
+ "name": "FilterDateControlRendererEntry",
3450
3567
  "declaration": {
3451
- "name": "LayoutWrapper",
3452
- "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3568
+ "name": "FilterDateControlRendererEntry",
3569
+ "module": "src/jsonforms/renderers/FilterDateControlRenderer.ts"
3453
3570
  }
3454
3571
  }
3455
3572
  ]
3456
3573
  },
3457
3574
  {
3458
3575
  "kind": "javascript-module",
3459
- "path": "src/jsonforms/renderers/LayoutStepperRenderer.ts",
3576
+ "path": "src/jsonforms/renderers/FilterNumberControlRenderer.ts",
3460
3577
  "declarations": [
3461
3578
  {
3462
- "kind": "variable",
3463
- "name": "LayoutStepperRendererTemplate",
3464
- "default": "html`\n <template>\n <stepper-wrapper :form=${(x) => x} :control=${(x) => x.control}></stepper-wrapper>\n </template>\n`"
3579
+ "kind": "function",
3580
+ "name": "FilterNumberControlRendererTemplate",
3581
+ "parameters": [
3582
+ {
3583
+ "name": "prefix",
3584
+ "default": "'zero'",
3585
+ "type": {
3586
+ "text": "string"
3587
+ }
3588
+ }
3589
+ ]
3465
3590
  },
3466
3591
  {
3467
3592
  "kind": "variable",
3468
- "name": "LayoutStepperRendererEntry",
3593
+ "name": "FilterNumberControlRendererEntry",
3469
3594
  "type": {
3470
- "text": "any"
3595
+ "text": "RendererEntry"
3471
3596
  },
3472
- "default": "{\n renderer: LayoutStepperRendererTemplate,\n tester: rankWith(LAYOUT_STEPPER_RANK, (uiSchema) => uiSchema.type === 'Stepper'),\n mapper: mapStateToLayoutProps,\n}"
3597
+ "default": "{\n renderer: html`\n ${(x) => FilterNumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
3473
3598
  }
3474
3599
  ],
3475
3600
  "exports": [
3476
3601
  {
3477
3602
  "kind": "js",
3478
- "name": "LayoutStepperRendererTemplate",
3603
+ "name": "FilterNumberControlRendererTemplate",
3479
3604
  "declaration": {
3480
- "name": "LayoutStepperRendererTemplate",
3481
- "module": "src/jsonforms/renderers/LayoutStepperRenderer.ts"
3605
+ "name": "FilterNumberControlRendererTemplate",
3606
+ "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
3482
3607
  }
3483
3608
  },
3484
3609
  {
3485
3610
  "kind": "js",
3486
- "name": "LayoutStepperRendererEntry",
3611
+ "name": "FilterNumberControlRendererEntry",
3487
3612
  "declaration": {
3488
- "name": "LayoutStepperRendererEntry",
3489
- "module": "src/jsonforms/renderers/LayoutStepperRenderer.ts"
3613
+ "name": "FilterNumberControlRendererEntry",
3614
+ "module": "src/jsonforms/renderers/FilterNumberControlRenderer.ts"
3490
3615
  }
3491
3616
  }
3492
3617
  ]
3493
3618
  },
3494
3619
  {
3495
3620
  "kind": "javascript-module",
3496
- "path": "src/jsonforms/renderers/LayoutVertical2ColumnsRenderer.ts",
3621
+ "path": "src/jsonforms/renderers/FilterTimeControlRenderer.ts",
3497
3622
  "declarations": [
3498
3623
  {
3499
- "kind": "variable",
3500
- "name": "LayoutVertical2ColumnsRendererTemplate",
3501
- "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n innerTemplate: html<DispatchRenderer>`\n <div class=\"fl-2-column-layout\">\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <div class=\"fl-2-column-item\">\n <dispatch-renderer\n :submitted=${(x, ctx) => ctx.parent.submitted}\n :dispatch=${(x, ctx) => ctx.parent.dispatch}\n :jsonforms=${(x, ctx) => ctx.parent.jsonforms}\n :prefix=${(x, ctx) => ctx.parent.prefix}\n :props=${(x, ctx) => ({\n uischema: x,\n schema: ctx.parent.control.schema,\n renderers: ctx.parent.control.renderers,\n path: ctx.parent.control.path,\n enabled: ctx.parent.control.enabled,\n })}\n ></dispatch-renderer>\n </div>\n `,\n )}\n </div>\n `,\n })}\n </template>\n`"
3624
+ "kind": "function",
3625
+ "name": "TimeControlRendererTemplate",
3626
+ "parameters": [
3627
+ {
3628
+ "name": "prefix",
3629
+ "default": "'zero'",
3630
+ "type": {
3631
+ "text": "string"
3632
+ }
3633
+ }
3634
+ ]
3502
3635
  },
3503
3636
  {
3504
3637
  "kind": "variable",
3505
- "name": "LayoutVertical2ColumnsEntry",
3638
+ "name": "FilterTimeControlRendererEntry",
3506
3639
  "type": {
3507
- "text": "any"
3640
+ "text": "RendererEntry"
3508
3641
  },
3509
- "default": "{\n renderer: LayoutVertical2ColumnsRendererTemplate,\n tester: rankWith(LAYOUT2COLUMNS_RANK, (uiSchema) => uiSchema.type === 'LayoutVertical2Columns'),\n mapper: mapStateToLayoutProps,\n}"
3642
+ "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps,\n}"
3510
3643
  }
3511
3644
  ],
3512
3645
  "exports": [
3513
3646
  {
3514
3647
  "kind": "js",
3515
- "name": "LayoutVertical2ColumnsRendererTemplate",
3648
+ "name": "TimeControlRendererTemplate",
3516
3649
  "declaration": {
3517
- "name": "LayoutVertical2ColumnsRendererTemplate",
3518
- "module": "src/jsonforms/renderers/LayoutVertical2ColumnsRenderer.ts"
3650
+ "name": "TimeControlRendererTemplate",
3651
+ "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
3519
3652
  }
3520
3653
  },
3521
3654
  {
3522
3655
  "kind": "js",
3523
- "name": "LayoutVertical2ColumnsEntry",
3656
+ "name": "FilterTimeControlRendererEntry",
3524
3657
  "declaration": {
3525
- "name": "LayoutVertical2ColumnsEntry",
3526
- "module": "src/jsonforms/renderers/LayoutVertical2ColumnsRenderer.ts"
3658
+ "name": "FilterTimeControlRendererEntry",
3659
+ "module": "src/jsonforms/renderers/FilterTimeControlRenderer.ts"
3527
3660
  }
3528
3661
  }
3529
3662
  ]
3530
3663
  },
3531
3664
  {
3532
3665
  "kind": "javascript-module",
3533
- "path": "src/jsonforms/renderers/LayoutVerticalCategorizationRenderer.ts",
3666
+ "path": "src/jsonforms/renderers/InvisibleControlRenderer.ts",
3534
3667
  "declarations": [
3535
3668
  {
3536
3669
  "kind": "variable",
3537
- "name": "LayoutVerticalCategorizationRendererTemplate",
3538
- "default": "html`\n <template>\n <vertical-categorization-wrapper\n :form=${(x) => x}\n :control=${(x) => x.control}\n height=${(x) =>\n getVerticalCategorizationHeight(\n (x.control.uischema.options as CategorizationLayoutOptions | undefined)?.layout,\n ) ?? ''}\n ></vertical-categorization-wrapper>\n </template>\n`"
3670
+ "name": "InvisibleControlRendererTemplate",
3671
+ "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`"
3539
3672
  },
3540
3673
  {
3541
3674
  "kind": "variable",
3542
- "name": "LayoutVerticalCategorizationRendererEntry",
3675
+ "name": "InvisibleControlEntry",
3543
3676
  "type": {
3544
- "text": "any"
3677
+ "text": "RendererEntry"
3545
3678
  },
3546
- "default": "{\n renderer: LayoutVerticalCategorizationRendererTemplate,\n tester: rankWith(\n LAYOUT_VERTICAL_CATEGORIZATION_RANK,\n (uiSchema) =>\n uiSchema.type === 'Categorization' &&\n isVerticalCategorizationLayout(\n (uiSchema.options as CategorizationLayoutOptions | undefined)?.layout,\n ),\n ),\n mapper: mapStateToLayoutProps,\n}"
3679
+ "default": "{\n renderer: InvisibleControlRendererTemplate,\n tester: rankWith(INVISIBLE_CONTROL_RANK, isInvisible),\n mapper: mapStateToControlProps,\n}"
3547
3680
  }
3548
3681
  ],
3549
3682
  "exports": [
3550
3683
  {
3551
3684
  "kind": "js",
3552
- "name": "LayoutVerticalCategorizationRendererTemplate",
3685
+ "name": "InvisibleControlRendererTemplate",
3553
3686
  "declaration": {
3554
- "name": "LayoutVerticalCategorizationRendererTemplate",
3555
- "module": "src/jsonforms/renderers/LayoutVerticalCategorizationRenderer.ts"
3687
+ "name": "InvisibleControlRendererTemplate",
3688
+ "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
3556
3689
  }
3557
3690
  },
3558
3691
  {
3559
3692
  "kind": "js",
3560
- "name": "LayoutVerticalCategorizationRendererEntry",
3693
+ "name": "InvisibleControlEntry",
3561
3694
  "declaration": {
3562
- "name": "LayoutVerticalCategorizationRendererEntry",
3563
- "module": "src/jsonforms/renderers/LayoutVerticalCategorizationRenderer.ts"
3695
+ "name": "InvisibleControlEntry",
3696
+ "module": "src/jsonforms/renderers/InvisibleControlRenderer.ts"
3564
3697
  }
3565
3698
  }
3566
3699
  ]
3567
3700
  },
3568
3701
  {
3569
3702
  "kind": "javascript-module",
3570
- "path": "src/jsonforms/renderers/MulticolumnDropdownControlRenderer.ts",
3703
+ "path": "src/jsonforms/renderers/LayoutArrayRenderer.ts",
3571
3704
  "declarations": [
3572
3705
  {
3573
- "kind": "function",
3574
- "name": "MulticolumnDropdownControlRendererTemplate",
3575
- "parameters": [
3576
- {
3577
- "name": "prefix",
3578
- "default": "'zero'",
3579
- "type": {
3580
- "text": "string"
3581
- }
3582
- }
3583
- ]
3706
+ "kind": "variable",
3707
+ "name": "LayoutArrayRendererTemplate",
3708
+ "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`"
3584
3709
  },
3585
3710
  {
3586
3711
  "kind": "variable",
3587
- "name": "MulticolumnDropdownControlRendererEntry",
3712
+ "name": "LayoutArrayRendererEntry",
3588
3713
  "type": {
3589
3714
  "text": "any"
3590
3715
  },
3591
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => MulticolumnDropdownControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTICOLUMN_DROPDOWN_CONTROL_RANK, optionIs('columnDefinitions')),\n mapper: mapStateToControlProps,\n}"
3716
+ "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isArray('object')),\n mapper: mapStateToArrayLayoutProps,\n dispatchMapper: mapDispatchToArrayControlProps,\n}"
3592
3717
  }
3593
3718
  ],
3594
3719
  "exports": [
3595
3720
  {
3596
3721
  "kind": "js",
3597
- "name": "MulticolumnDropdownControlRendererTemplate",
3722
+ "name": "LayoutArrayRendererTemplate",
3598
3723
  "declaration": {
3599
- "name": "MulticolumnDropdownControlRendererTemplate",
3600
- "module": "src/jsonforms/renderers/MulticolumnDropdownControlRenderer.ts"
3724
+ "name": "LayoutArrayRendererTemplate",
3725
+ "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
3601
3726
  }
3602
3727
  },
3603
3728
  {
3604
3729
  "kind": "js",
3605
- "name": "MulticolumnDropdownControlRendererEntry",
3730
+ "name": "LayoutArrayRendererEntry",
3606
3731
  "declaration": {
3607
- "name": "MulticolumnDropdownControlRendererEntry",
3608
- "module": "src/jsonforms/renderers/MulticolumnDropdownControlRenderer.ts"
3732
+ "name": "LayoutArrayRendererEntry",
3733
+ "module": "src/jsonforms/renderers/LayoutArrayRenderer.ts"
3609
3734
  }
3610
3735
  }
3611
3736
  ]
3612
3737
  },
3613
3738
  {
3614
3739
  "kind": "javascript-module",
3615
- "path": "src/jsonforms/renderers/NumberControlRenderer.ts",
3740
+ "path": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts",
3616
3741
  "declarations": [
3617
3742
  {
3618
- "kind": "function",
3619
- "name": "resolveMaximumInputPrecision",
3620
- "return": {
3621
- "type": {
3622
- "text": "number"
3623
- }
3624
- },
3625
- "parameters": [
3626
- {
3627
- "name": "fieldSchema",
3628
- "type": {
3629
- "text": "GenesisJsonSchema"
3630
- }
3631
- },
3632
- {
3633
- "name": "options",
3634
- "optional": true,
3635
- "type": {
3636
- "text": "{ maximumInputPrecision?: number }"
3637
- }
3638
- }
3639
- ]
3640
- },
3641
- {
3642
- "kind": "function",
3643
- "name": "NumberControlRendererTemplate",
3644
- "parameters": [
3645
- {
3646
- "name": "prefix",
3647
- "default": "'zero'",
3648
- "type": {
3649
- "text": "string"
3650
- }
3651
- }
3652
- ]
3743
+ "kind": "variable",
3744
+ "name": "LayoutCategorizationRendererTemplate",
3745
+ "default": "html`\n <template>\n <categorization-wrapper :form=${(x) => x} :control=${(x) => x.control}></categorization-wrapper>\n </template>\n`"
3653
3746
  },
3654
3747
  {
3655
3748
  "kind": "variable",
3656
- "name": "NumberControlRendererEntry",
3749
+ "name": "LayoutCategorizationRendererEntry",
3657
3750
  "type": {
3658
- "text": "RendererEntry"
3751
+ "text": "any"
3659
3752
  },
3660
- "default": "{\n renderer: html`\n ${(x) => NumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
3753
+ "default": "{\n renderer: LayoutCategorizationRendererTemplate,\n tester: rankWith(LAYOUT_CATEGORIZATION_RANK, (uiSchema) => uiSchema.type === 'Categorization'),\n mapper: mapStateToLayoutProps,\n}"
3661
3754
  }
3662
3755
  ],
3663
3756
  "exports": [
3664
3757
  {
3665
3758
  "kind": "js",
3666
- "name": "resolveMaximumInputPrecision",
3667
- "declaration": {
3668
- "name": "resolveMaximumInputPrecision",
3669
- "module": "src/jsonforms/renderers/NumberControlRenderer.ts"
3670
- }
3671
- },
3672
- {
3673
- "kind": "js",
3674
- "name": "NumberControlRendererTemplate",
3759
+ "name": "LayoutCategorizationRendererTemplate",
3675
3760
  "declaration": {
3676
- "name": "NumberControlRendererTemplate",
3677
- "module": "src/jsonforms/renderers/NumberControlRenderer.ts"
3761
+ "name": "LayoutCategorizationRendererTemplate",
3762
+ "module": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts"
3678
3763
  }
3679
3764
  },
3680
3765
  {
3681
3766
  "kind": "js",
3682
- "name": "NumberControlRendererEntry",
3767
+ "name": "LayoutCategorizationRendererEntry",
3683
3768
  "declaration": {
3684
- "name": "NumberControlRendererEntry",
3685
- "module": "src/jsonforms/renderers/NumberControlRenderer.ts"
3769
+ "name": "LayoutCategorizationRendererEntry",
3770
+ "module": "src/jsonforms/renderers/LayoutCategorizationRenderer.ts"
3686
3771
  }
3687
3772
  }
3688
3773
  ]
3689
3774
  },
3690
3775
  {
3691
3776
  "kind": "javascript-module",
3692
- "path": "src/jsonforms/renderers/ReactSlotControlRenderer.ts",
3777
+ "path": "src/jsonforms/renderers/LayoutFormGridRenderer.ts",
3693
3778
  "declarations": [
3694
3779
  {
3695
- "kind": "function",
3696
- "name": "ReactSlotControlRendererTemplate",
3697
- "parameters": [
3698
- {
3699
- "name": "prefix",
3700
- "default": "'rapid'",
3701
- "type": {
3702
- "text": "string"
3703
- }
3704
- }
3705
- ],
3706
- "description": "Template that mounts a `<foundation-react-slot>` inside the standard control\nwrapper (label + error + description). Selected when a control's\n`options.render` is a function.",
3707
- "privacy": "public"
3780
+ "kind": "variable",
3781
+ "name": "LayoutFormGridRendererTemplate",
3782
+ "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n innerTemplate: html<DispatchRenderer>`\n <div class=\"fl-form-grid-layout\">\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <dispatch-renderer\n :submitted=${(x, ctx) => ctx.parent.submitted}\n :dispatch=${(x, ctx) => ctx.parent.dispatch}\n :jsonforms=${(x, ctx) => ctx.parent.jsonforms}\n :prefix=${(x, ctx) => ctx.parent.prefix}\n :props=${(x, ctx) => ({\n uischema: x,\n schema: ctx.parent.control.schema,\n renderers: ctx.parent.control.renderers,\n path: ctx.parent.control.path,\n enabled: ctx.parent.control.enabled,\n })}\n ></dispatch-renderer>\n `,\n )}\n </div>\n `,\n })}\n </template>\n`"
3708
3783
  },
3709
3784
  {
3710
3785
  "kind": "variable",
3711
- "name": "ReactSlotControlRendererEntry",
3786
+ "name": "LayoutFormGridEntry",
3712
3787
  "type": {
3713
- "text": "RendererEntry"
3788
+ "text": "any"
3714
3789
  },
3715
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ReactSlotControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(REACT_SLOT_CONTROL_RANK, optionIs('render')),\n mapper: mapStateToControlProps,\n}",
3716
- "description": "Renderer entry that mounts a React node returned from `options.render`.\nConcat onto a form's `additionalRenderers` (or use the `renderersWithReact`\nconvenience array from `@genesislcap/foundation-forms/react-extras`) to opt in.",
3717
- "privacy": "public"
3790
+ "default": "{\n renderer: LayoutFormGridRendererTemplate,\n tester: rankWith(LAYOUT_FORM_GRID_RANK, (uiSchema) => uiSchema.type === 'FormGridLayout'),\n mapper: mapStateToLayoutProps,\n}"
3718
3791
  }
3719
3792
  ],
3720
3793
  "exports": [
3721
3794
  {
3722
3795
  "kind": "js",
3723
- "name": "ReactSlotControlRendererTemplate",
3796
+ "name": "LayoutFormGridRendererTemplate",
3724
3797
  "declaration": {
3725
- "name": "ReactSlotControlRendererTemplate",
3726
- "module": "src/jsonforms/renderers/ReactSlotControlRenderer.ts"
3798
+ "name": "LayoutFormGridRendererTemplate",
3799
+ "module": "src/jsonforms/renderers/LayoutFormGridRenderer.ts"
3727
3800
  }
3728
3801
  },
3729
3802
  {
3730
3803
  "kind": "js",
3731
- "name": "ReactSlotControlRendererEntry",
3804
+ "name": "LayoutFormGridEntry",
3732
3805
  "declaration": {
3733
- "name": "ReactSlotControlRendererEntry",
3734
- "module": "src/jsonforms/renderers/ReactSlotControlRenderer.ts"
3806
+ "name": "LayoutFormGridEntry",
3807
+ "module": "src/jsonforms/renderers/LayoutFormGridRenderer.ts"
3735
3808
  }
3736
3809
  }
3737
3810
  ]
3738
3811
  },
3739
3812
  {
3740
3813
  "kind": "javascript-module",
3741
- "path": "src/jsonforms/renderers/RenderersRanks.ts",
3814
+ "path": "src/jsonforms/renderers/LayoutGroupRenderer.ts",
3742
3815
  "declarations": [
3743
3816
  {
3744
3817
  "kind": "variable",
3745
- "name": "NUMBER_CONTROL_RANK",
3746
- "type": {
3747
- "text": "number"
3748
- },
3749
- "default": "3"
3818
+ "name": "LayoutGroupRendererTemplate",
3819
+ "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n hideLabel: true,\n innerTemplate: html<DispatchRenderer>`\n <div class=\"fl-group-layout\">\n ${when(\n (x) => x.control.label,\n html<DispatchRenderer>`\n <div for=\"${(x) => x.control.path + '-wrapper'}\" class=\"fl-group-label\">\n ${(x) => x.control.label}\n </div>\n `,\n )}\n ${repeat(\n (x) => x.control.uischema.options.childElements,\n html`\n <dispatch-renderer\n :submitted=${(x, ctx) => ctx.parent.submitted}\n :dispatch=${(x, ctx) => ctx.parent.dispatch}\n :jsonforms=${(x, ctx) => ctx.parent.jsonforms}\n :prefix=${(x, ctx) => ctx.parent.prefix}\n :props=${(x, ctx) => ({\n uischema: x,\n schema: ctx.parent.control.schema,\n renderers: ctx.parent.control.renderers,\n path: ctx.parent.control.path,\n enabled: ctx.parent.control.enabled,\n })}\n ></dispatch-renderer>\n `,\n )}\n </div>\n `,\n })}\n </template>\n`"
3750
3820
  },
3751
3821
  {
3752
3822
  "kind": "variable",
3753
- "name": "BOOLEAN_CONTROL_RANK",
3823
+ "name": "LayoutGroupRendererEntry",
3754
3824
  "type": {
3755
- "text": "number"
3825
+ "text": "any"
3756
3826
  },
3757
- "default": "3"
3827
+ "default": "{\n renderer: LayoutGroupRendererTemplate,\n tester: rankWith(LAYOUT_GROUP_RANK, isGroup),\n mapper: mapStateToLayoutProps,\n}"
3828
+ }
3829
+ ],
3830
+ "exports": [
3831
+ {
3832
+ "kind": "js",
3833
+ "name": "LayoutGroupRendererTemplate",
3834
+ "declaration": {
3835
+ "name": "LayoutGroupRendererTemplate",
3836
+ "module": "src/jsonforms/renderers/LayoutGroupRenderer.ts"
3837
+ }
3758
3838
  },
3839
+ {
3840
+ "kind": "js",
3841
+ "name": "LayoutGroupRendererEntry",
3842
+ "declaration": {
3843
+ "name": "LayoutGroupRendererEntry",
3844
+ "module": "src/jsonforms/renderers/LayoutGroupRenderer.ts"
3845
+ }
3846
+ }
3847
+ ]
3848
+ },
3849
+ {
3850
+ "kind": "javascript-module",
3851
+ "path": "src/jsonforms/renderers/LayoutHorizontalRenderer.ts",
3852
+ "declarations": [
3759
3853
  {
3760
3854
  "kind": "variable",
3761
- "name": "ARRAY_CONTROL_RANK",
3762
- "type": {
3763
- "text": "number"
3764
- },
3765
- "default": "3"
3855
+ "name": "LayoutHorizontalRendererTemplate",
3856
+ "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n innerTemplate: html<DispatchRenderer>`\n <div class=\"fl-horizontal-layout\">\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <dispatch-renderer\n class=\"fl-horizontal-layout-item\"\n :submitted=${(x, ctx) => ctx.parent.submitted}\n :dispatch=${(x, ctx) => ctx.parent.dispatch}\n :jsonforms=${(x, ctx) => ctx.parent.jsonforms}\n :prefix=${(x, ctx) => ctx.parent.prefix}\n :props=${(x, ctx) => ({\n uischema: x,\n schema: ctx.parent.control.schema,\n renderers: ctx.parent.control.renderers,\n path: ctx.parent.control.path,\n enabled: ctx.parent.control.enabled,\n })}\n ></dispatch-renderer>\n `,\n )}\n </div>\n `,\n })}\n </template>\n`"
3766
3857
  },
3767
3858
  {
3768
3859
  "kind": "variable",
3769
- "name": "MULTISELECT_CONTROL_RANK",
3860
+ "name": "LayoutHorizontalEntry",
3770
3861
  "type": {
3771
- "text": "number"
3862
+ "text": "any"
3772
3863
  },
3773
- "default": "4"
3774
- },
3864
+ "default": "{\n renderer: LayoutHorizontalRendererTemplate,\n tester: rankWith(LAYOUT_HORIZONTAL_RANK, (uiSchema) => uiSchema.type === 'HorizontalLayout'),\n mapper: mapStateToLayoutProps,\n}"
3865
+ }
3866
+ ],
3867
+ "exports": [
3775
3868
  {
3776
- "kind": "variable",
3777
- "name": "ENUM_CONTROL_RANK",
3778
- "type": {
3779
- "text": "number"
3780
- },
3781
- "default": "3"
3869
+ "kind": "js",
3870
+ "name": "LayoutHorizontalRendererTemplate",
3871
+ "declaration": {
3872
+ "name": "LayoutHorizontalRendererTemplate",
3873
+ "module": "src/jsonforms/renderers/LayoutHorizontalRenderer.ts"
3874
+ }
3782
3875
  },
3783
3876
  {
3784
- "kind": "variable",
3785
- "name": "SELECT_CONTROL_RANK",
3786
- "type": {
3787
- "text": "number"
3788
- },
3789
- "default": "4"
3790
- },
3877
+ "kind": "js",
3878
+ "name": "LayoutHorizontalEntry",
3879
+ "declaration": {
3880
+ "name": "LayoutHorizontalEntry",
3881
+ "module": "src/jsonforms/renderers/LayoutHorizontalRenderer.ts"
3882
+ }
3883
+ }
3884
+ ]
3885
+ },
3886
+ {
3887
+ "kind": "javascript-module",
3888
+ "path": "src/jsonforms/renderers/LayoutRenderer.ts",
3889
+ "declarations": [
3791
3890
  {
3792
- "kind": "variable",
3793
- "name": "DATE_CONTROL_RANK",
3794
- "type": {
3795
- "text": "number"
3891
+ "kind": "function",
3892
+ "name": "layoutWrapperTemplate",
3893
+ "return": {
3894
+ "type": {
3895
+ "text": "ViewTemplate<DispatchRenderer>"
3896
+ }
3796
3897
  },
3797
- "default": "4"
3898
+ "parameters": [
3899
+ {
3900
+ "name": "options",
3901
+ "type": {
3902
+ "text": "LayoutWrapperOptions"
3903
+ }
3904
+ }
3905
+ ],
3906
+ "description": "Light-DOM-friendly layout wrapper that replaces the former `<layout-wrapper>`\ncustom element. Renders the (optional) control label and, when the control is\nvisible, composes the provided inner template inline so that bindings stay on\nthe `DispatchRenderer` source.",
3907
+ "privacy": "public"
3798
3908
  },
3799
3909
  {
3800
3910
  "kind": "variable",
3801
- "name": "TIME_CONTROL_RANK",
3802
- "type": {
3803
- "text": "number"
3804
- },
3805
- "default": "4"
3911
+ "name": "LayoutRendererTemplate",
3912
+ "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n innerTemplate: html<DispatchRenderer>`\n <div class=\"fl-vertical-layout\">\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <dispatch-renderer\n :submitted=${(x, ctx) => ctx.parent.submitted}\n :dispatch=${(x, ctx) => ctx.parent.dispatch}\n :jsonforms=${(x, ctx) => ctx.parent.jsonforms}\n :prefix=${(x, ctx) => ctx.parent.prefix}\n :props=${(x, ctx) => ({\n uischema: x,\n schema: ctx.parent.control.schema,\n renderers: ctx.parent.control.renderers,\n path: ctx.parent.control.path,\n enabled: ctx.parent.control.enabled,\n })}\n ></dispatch-renderer>\n `,\n )}\n </div>\n `,\n })}\n </template>\n`"
3806
3913
  },
3807
3914
  {
3808
3915
  "kind": "variable",
3809
- "name": "LAYOUT_RANK",
3916
+ "name": "LayoutRendererEntry",
3810
3917
  "type": {
3811
- "text": "number"
3918
+ "text": "any"
3812
3919
  },
3813
- "default": "2"
3920
+ "default": "{\n renderer: LayoutRendererTemplate,\n tester: rankWith(LAYOUT_RANK, isLayout),\n mapper: mapStateToLayoutProps,\n}"
3814
3921
  },
3815
3922
  {
3816
- "kind": "variable",
3817
- "name": "LAYOUT_ARRAY_RANK",
3818
- "type": {
3819
- "text": "number"
3923
+ "kind": "class",
3924
+ "description": "",
3925
+ "name": "LayoutWrapper",
3926
+ "members": [
3927
+ {
3928
+ "kind": "field",
3929
+ "name": "control"
3930
+ },
3931
+ {
3932
+ "kind": "field",
3933
+ "name": "hideLabel",
3934
+ "type": {
3935
+ "text": "boolean"
3936
+ },
3937
+ "default": "false"
3938
+ }
3939
+ ],
3940
+ "attributes": [
3941
+ {
3942
+ "name": "hide-label",
3943
+ "type": {
3944
+ "text": "boolean"
3945
+ },
3946
+ "default": "false",
3947
+ "fieldName": "hideLabel"
3948
+ }
3949
+ ],
3950
+ "superclass": {
3951
+ "name": "FASTElement",
3952
+ "package": "@microsoft/fast-element"
3820
3953
  },
3821
- "default": "2"
3954
+ "deprecated": "Use `layoutWrapperTemplate` instead. The `<layout-wrapper>` custom element will be removed in a future major version. Migrate to the light-DOM `layoutWrapperTemplate` function which renders inline within the parent renderer's template.",
3955
+ "tagName": "layout-wrapper",
3956
+ "customElement": true
3957
+ }
3958
+ ],
3959
+ "exports": [
3960
+ {
3961
+ "kind": "js",
3962
+ "name": "layoutWrapperTemplate",
3963
+ "declaration": {
3964
+ "name": "layoutWrapperTemplate",
3965
+ "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3966
+ }
3822
3967
  },
3823
3968
  {
3824
- "kind": "variable",
3825
- "name": "LAYOUT_CATEGORIZATION_RANK",
3826
- "type": {
3827
- "text": "number"
3828
- },
3829
- "default": "2"
3969
+ "kind": "js",
3970
+ "name": "LayoutRendererTemplate",
3971
+ "declaration": {
3972
+ "name": "LayoutRendererTemplate",
3973
+ "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3974
+ }
3830
3975
  },
3831
3976
  {
3832
- "kind": "variable",
3833
- "name": "LAYOUT_VERTICAL_CATEGORIZATION_RANK",
3834
- "type": {
3835
- "text": "number"
3836
- },
3837
- "default": "3"
3977
+ "kind": "js",
3978
+ "name": "LayoutRendererEntry",
3979
+ "declaration": {
3980
+ "name": "LayoutRendererEntry",
3981
+ "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3982
+ }
3838
3983
  },
3839
3984
  {
3840
- "kind": "variable",
3841
- "name": "LAYOUT_GROUP_RANK",
3842
- "type": {
3843
- "text": "number"
3844
- },
3845
- "default": "2"
3985
+ "kind": "js",
3986
+ "name": "LayoutWrapper",
3987
+ "declaration": {
3988
+ "name": "LayoutWrapper",
3989
+ "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3990
+ }
3846
3991
  },
3992
+ {
3993
+ "kind": "custom-element-definition",
3994
+ "name": "layout-wrapper",
3995
+ "declaration": {
3996
+ "name": "LayoutWrapper",
3997
+ "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3998
+ }
3999
+ }
4000
+ ]
4001
+ },
4002
+ {
4003
+ "kind": "javascript-module",
4004
+ "path": "src/jsonforms/renderers/LayoutStepperRenderer.ts",
4005
+ "declarations": [
3847
4006
  {
3848
4007
  "kind": "variable",
3849
- "name": "LAYOUT_HORIZONTAL_RANK",
3850
- "type": {
3851
- "text": "number"
3852
- },
3853
- "default": "2"
4008
+ "name": "LayoutStepperRendererTemplate",
4009
+ "default": "html`\n <template>\n <stepper-wrapper :form=${(x) => x} :control=${(x) => x.control}></stepper-wrapper>\n </template>\n`"
3854
4010
  },
3855
4011
  {
3856
4012
  "kind": "variable",
3857
- "name": "LAYOUT_STEPPER_RANK",
4013
+ "name": "LayoutStepperRendererEntry",
3858
4014
  "type": {
3859
- "text": "number"
4015
+ "text": "any"
3860
4016
  },
3861
- "default": "3"
4017
+ "default": "{\n renderer: LayoutStepperRendererTemplate,\n tester: rankWith(LAYOUT_STEPPER_RANK, (uiSchema) => uiSchema.type === 'Stepper'),\n mapper: mapStateToLayoutProps,\n}"
4018
+ }
4019
+ ],
4020
+ "exports": [
4021
+ {
4022
+ "kind": "js",
4023
+ "name": "LayoutStepperRendererTemplate",
4024
+ "declaration": {
4025
+ "name": "LayoutStepperRendererTemplate",
4026
+ "module": "src/jsonforms/renderers/LayoutStepperRenderer.ts"
4027
+ }
3862
4028
  },
4029
+ {
4030
+ "kind": "js",
4031
+ "name": "LayoutStepperRendererEntry",
4032
+ "declaration": {
4033
+ "name": "LayoutStepperRendererEntry",
4034
+ "module": "src/jsonforms/renderers/LayoutStepperRenderer.ts"
4035
+ }
4036
+ }
4037
+ ]
4038
+ },
4039
+ {
4040
+ "kind": "javascript-module",
4041
+ "path": "src/jsonforms/renderers/LayoutVertical2ColumnsRenderer.ts",
4042
+ "declarations": [
3863
4043
  {
3864
4044
  "kind": "variable",
3865
- "name": "LAYOUT2COLUMNS_RANK",
3866
- "type": {
3867
- "text": "number"
3868
- },
3869
- "default": "2"
4045
+ "name": "LayoutVertical2ColumnsRendererTemplate",
4046
+ "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n innerTemplate: html<DispatchRenderer>`\n <div class=\"fl-2-column-layout\">\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <div class=\"fl-2-column-item\">\n <dispatch-renderer\n :submitted=${(x, ctx) => ctx.parent.submitted}\n :dispatch=${(x, ctx) => ctx.parent.dispatch}\n :jsonforms=${(x, ctx) => ctx.parent.jsonforms}\n :prefix=${(x, ctx) => ctx.parent.prefix}\n :props=${(x, ctx) => ({\n uischema: x,\n schema: ctx.parent.control.schema,\n renderers: ctx.parent.control.renderers,\n path: ctx.parent.control.path,\n enabled: ctx.parent.control.enabled,\n })}\n ></dispatch-renderer>\n </div>\n `,\n )}\n </div>\n `,\n })}\n </template>\n`"
3870
4047
  },
3871
4048
  {
3872
4049
  "kind": "variable",
3873
- "name": "LAYOUT_FORM_GRID_RANK",
4050
+ "name": "LayoutVertical2ColumnsEntry",
3874
4051
  "type": {
3875
- "text": "number"
4052
+ "text": "any"
3876
4053
  },
3877
- "default": "2"
4054
+ "default": "{\n renderer: LayoutVertical2ColumnsRendererTemplate,\n tester: rankWith(LAYOUT2COLUMNS_RANK, (uiSchema) => uiSchema.type === 'LayoutVertical2Columns'),\n mapper: mapStateToLayoutProps,\n}"
4055
+ }
4056
+ ],
4057
+ "exports": [
4058
+ {
4059
+ "kind": "js",
4060
+ "name": "LayoutVertical2ColumnsRendererTemplate",
4061
+ "declaration": {
4062
+ "name": "LayoutVertical2ColumnsRendererTemplate",
4063
+ "module": "src/jsonforms/renderers/LayoutVertical2ColumnsRenderer.ts"
4064
+ }
3878
4065
  },
4066
+ {
4067
+ "kind": "js",
4068
+ "name": "LayoutVertical2ColumnsEntry",
4069
+ "declaration": {
4070
+ "name": "LayoutVertical2ColumnsEntry",
4071
+ "module": "src/jsonforms/renderers/LayoutVertical2ColumnsRenderer.ts"
4072
+ }
4073
+ }
4074
+ ]
4075
+ },
4076
+ {
4077
+ "kind": "javascript-module",
4078
+ "path": "src/jsonforms/renderers/LayoutVerticalCategorizationRenderer.ts",
4079
+ "declarations": [
3879
4080
  {
3880
4081
  "kind": "variable",
3881
- "name": "MULTICOLUMN_DROPDOWN_CONTROL_RANK",
3882
- "type": {
3883
- "text": "number"
3884
- },
3885
- "default": "5"
4082
+ "name": "LayoutVerticalCategorizationRendererTemplate",
4083
+ "default": "html`\n <template>\n <vertical-categorization-wrapper\n :form=${(x) => x}\n :control=${(x) => x.control}\n height=${(x) =>\n getVerticalCategorizationHeight(\n (x.control.uischema.options as CategorizationLayoutOptions | undefined)?.layout,\n ) ?? ''}\n ></vertical-categorization-wrapper>\n </template>\n`"
3886
4084
  },
3887
4085
  {
3888
4086
  "kind": "variable",
3889
- "name": "INVISIBLE_CONTROL_RANK",
4087
+ "name": "LayoutVerticalCategorizationRendererEntry",
3890
4088
  "type": {
3891
- "text": "number"
4089
+ "text": "any"
3892
4090
  },
3893
- "default": "5"
3894
- },
4091
+ "default": "{\n renderer: LayoutVerticalCategorizationRendererTemplate,\n tester: rankWith(\n LAYOUT_VERTICAL_CATEGORIZATION_RANK,\n (uiSchema) =>\n uiSchema.type === 'Categorization' &&\n isVerticalCategorizationLayout(\n (uiSchema.options as CategorizationLayoutOptions | undefined)?.layout,\n ),\n ),\n mapper: mapStateToLayoutProps,\n}"
4092
+ }
4093
+ ],
4094
+ "exports": [
3895
4095
  {
3896
- "kind": "variable",
3897
- "name": "DIVIDER_CONTROL_RANK",
3898
- "type": {
3899
- "text": "number"
3900
- },
3901
- "default": "5"
4096
+ "kind": "js",
4097
+ "name": "LayoutVerticalCategorizationRendererTemplate",
4098
+ "declaration": {
4099
+ "name": "LayoutVerticalCategorizationRendererTemplate",
4100
+ "module": "src/jsonforms/renderers/LayoutVerticalCategorizationRenderer.ts"
4101
+ }
3902
4102
  },
3903
4103
  {
3904
- "kind": "variable",
3905
- "name": "ENUM_RADIO_GROUP_CONTROL_RANK",
3906
- "type": {
3907
- "text": "number"
3908
- },
3909
- "default": "10"
3910
- },
4104
+ "kind": "js",
4105
+ "name": "LayoutVerticalCategorizationRendererEntry",
4106
+ "declaration": {
4107
+ "name": "LayoutVerticalCategorizationRendererEntry",
4108
+ "module": "src/jsonforms/renderers/LayoutVerticalCategorizationRenderer.ts"
4109
+ }
4110
+ }
4111
+ ]
4112
+ },
4113
+ {
4114
+ "kind": "javascript-module",
4115
+ "path": "src/jsonforms/renderers/MulticolumnDropdownControlRenderer.ts",
4116
+ "declarations": [
3911
4117
  {
3912
- "kind": "variable",
3913
- "name": "SEGMENTED_CONTROL_RANK",
3914
- "type": {
3915
- "text": "number"
3916
- },
3917
- "default": "5"
4118
+ "kind": "function",
4119
+ "name": "MulticolumnDropdownControlRendererTemplate",
4120
+ "parameters": [
4121
+ {
4122
+ "name": "prefix",
4123
+ "default": "'zero'",
4124
+ "type": {
4125
+ "text": "string"
4126
+ }
4127
+ }
4128
+ ]
3918
4129
  },
3919
4130
  {
3920
4131
  "kind": "variable",
3921
- "name": "REACT_SLOT_CONTROL_RANK",
4132
+ "name": "MulticolumnDropdownControlRendererEntry",
3922
4133
  "type": {
3923
- "text": "number"
4134
+ "text": "any"
3924
4135
  },
3925
- "default": "100"
4136
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => MulticolumnDropdownControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(MULTICOLUMN_DROPDOWN_CONTROL_RANK, optionIs('columnDefinitions')),\n mapper: mapStateToControlProps,\n}"
3926
4137
  }
3927
4138
  ],
3928
4139
  "exports": [
3929
4140
  {
3930
4141
  "kind": "js",
3931
- "name": "NUMBER_CONTROL_RANK",
4142
+ "name": "MulticolumnDropdownControlRendererTemplate",
3932
4143
  "declaration": {
3933
- "name": "NUMBER_CONTROL_RANK",
3934
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
4144
+ "name": "MulticolumnDropdownControlRendererTemplate",
4145
+ "module": "src/jsonforms/renderers/MulticolumnDropdownControlRenderer.ts"
3935
4146
  }
3936
4147
  },
3937
4148
  {
3938
4149
  "kind": "js",
3939
- "name": "BOOLEAN_CONTROL_RANK",
4150
+ "name": "MulticolumnDropdownControlRendererEntry",
3940
4151
  "declaration": {
3941
- "name": "BOOLEAN_CONTROL_RANK",
3942
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
4152
+ "name": "MulticolumnDropdownControlRendererEntry",
4153
+ "module": "src/jsonforms/renderers/MulticolumnDropdownControlRenderer.ts"
3943
4154
  }
3944
- },
4155
+ }
4156
+ ]
4157
+ },
4158
+ {
4159
+ "kind": "javascript-module",
4160
+ "path": "src/jsonforms/renderers/NumberControlRenderer.ts",
4161
+ "declarations": [
3945
4162
  {
3946
- "kind": "js",
3947
- "name": "ARRAY_CONTROL_RANK",
3948
- "declaration": {
3949
- "name": "ARRAY_CONTROL_RANK",
3950
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
3951
- }
4163
+ "kind": "function",
4164
+ "name": "resolveMaximumInputPrecision",
4165
+ "return": {
4166
+ "type": {
4167
+ "text": "number"
4168
+ }
4169
+ },
4170
+ "parameters": [
4171
+ {
4172
+ "name": "fieldSchema",
4173
+ "type": {
4174
+ "text": "GenesisJsonSchema"
4175
+ }
4176
+ },
4177
+ {
4178
+ "name": "options",
4179
+ "optional": true,
4180
+ "type": {
4181
+ "text": "{ maximumInputPrecision?: number }"
4182
+ }
4183
+ }
4184
+ ]
3952
4185
  },
3953
4186
  {
3954
- "kind": "js",
3955
- "name": "MULTISELECT_CONTROL_RANK",
3956
- "declaration": {
3957
- "name": "MULTISELECT_CONTROL_RANK",
3958
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
3959
- }
4187
+ "kind": "function",
4188
+ "name": "NumberControlRendererTemplate",
4189
+ "parameters": [
4190
+ {
4191
+ "name": "prefix",
4192
+ "default": "'zero'",
4193
+ "type": {
4194
+ "text": "string"
4195
+ }
4196
+ }
4197
+ ]
3960
4198
  },
3961
4199
  {
3962
- "kind": "js",
3963
- "name": "ENUM_CONTROL_RANK",
3964
- "declaration": {
3965
- "name": "ENUM_CONTROL_RANK",
3966
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
3967
- }
3968
- },
4200
+ "kind": "variable",
4201
+ "name": "NumberControlRendererEntry",
4202
+ "type": {
4203
+ "text": "RendererEntry"
4204
+ },
4205
+ "default": "{\n renderer: html`\n ${(x) => NumberControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(NUMBER_CONTROL_RANK, isOneOfNumber),\n mapper: mapStateToControlProps,\n}"
4206
+ }
4207
+ ],
4208
+ "exports": [
3969
4209
  {
3970
4210
  "kind": "js",
3971
- "name": "SELECT_CONTROL_RANK",
4211
+ "name": "resolveMaximumInputPrecision",
3972
4212
  "declaration": {
3973
- "name": "SELECT_CONTROL_RANK",
3974
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
4213
+ "name": "resolveMaximumInputPrecision",
4214
+ "module": "src/jsonforms/renderers/NumberControlRenderer.ts"
3975
4215
  }
3976
4216
  },
3977
4217
  {
3978
4218
  "kind": "js",
3979
- "name": "DATE_CONTROL_RANK",
4219
+ "name": "NumberControlRendererTemplate",
3980
4220
  "declaration": {
3981
- "name": "DATE_CONTROL_RANK",
3982
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
4221
+ "name": "NumberControlRendererTemplate",
4222
+ "module": "src/jsonforms/renderers/NumberControlRenderer.ts"
3983
4223
  }
3984
4224
  },
3985
4225
  {
3986
4226
  "kind": "js",
3987
- "name": "TIME_CONTROL_RANK",
4227
+ "name": "NumberControlRendererEntry",
3988
4228
  "declaration": {
3989
- "name": "TIME_CONTROL_RANK",
3990
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
4229
+ "name": "NumberControlRendererEntry",
4230
+ "module": "src/jsonforms/renderers/NumberControlRenderer.ts"
3991
4231
  }
3992
- },
4232
+ }
4233
+ ]
4234
+ },
4235
+ {
4236
+ "kind": "javascript-module",
4237
+ "path": "src/jsonforms/renderers/ReactSlotControlRenderer.ts",
4238
+ "declarations": [
3993
4239
  {
3994
- "kind": "js",
3995
- "name": "LAYOUT_RANK",
3996
- "declaration": {
3997
- "name": "LAYOUT_RANK",
3998
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
3999
- }
4240
+ "kind": "function",
4241
+ "name": "ReactSlotControlRendererTemplate",
4242
+ "parameters": [
4243
+ {
4244
+ "name": "prefix",
4245
+ "default": "'rapid'",
4246
+ "type": {
4247
+ "text": "string"
4248
+ }
4249
+ }
4250
+ ],
4251
+ "description": "Template that mounts a `<foundation-react-slot>` inside the standard control\nwrapper (label + error + description). Selected when a control's\n`options.render` is a function.",
4252
+ "privacy": "public"
4000
4253
  },
4001
4254
  {
4002
- "kind": "js",
4003
- "name": "LAYOUT_ARRAY_RANK",
4004
- "declaration": {
4005
- "name": "LAYOUT_ARRAY_RANK",
4006
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
4007
- }
4008
- },
4255
+ "kind": "variable",
4256
+ "name": "ReactSlotControlRendererEntry",
4257
+ "type": {
4258
+ "text": "RendererEntry"
4259
+ },
4260
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => ReactSlotControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(REACT_SLOT_CONTROL_RANK, optionIs('render')),\n mapper: mapStateToControlProps,\n}",
4261
+ "description": "Renderer entry that mounts a React node returned from `options.render`.\nConcat onto a form's `additionalRenderers` (or use the `renderersWithReact`\nconvenience array from `@genesislcap/foundation-forms/react-extras`) to opt in.",
4262
+ "privacy": "public"
4263
+ }
4264
+ ],
4265
+ "exports": [
4009
4266
  {
4010
4267
  "kind": "js",
4011
- "name": "LAYOUT_CATEGORIZATION_RANK",
4268
+ "name": "ReactSlotControlRendererTemplate",
4012
4269
  "declaration": {
4013
- "name": "LAYOUT_CATEGORIZATION_RANK",
4014
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
4270
+ "name": "ReactSlotControlRendererTemplate",
4271
+ "module": "src/jsonforms/renderers/ReactSlotControlRenderer.ts"
4015
4272
  }
4016
4273
  },
4017
4274
  {
4018
4275
  "kind": "js",
4019
- "name": "LAYOUT_VERTICAL_CATEGORIZATION_RANK",
4276
+ "name": "ReactSlotControlRendererEntry",
4020
4277
  "declaration": {
4021
- "name": "LAYOUT_VERTICAL_CATEGORIZATION_RANK",
4022
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
4278
+ "name": "ReactSlotControlRendererEntry",
4279
+ "module": "src/jsonforms/renderers/ReactSlotControlRenderer.ts"
4023
4280
  }
4281
+ }
4282
+ ]
4283
+ },
4284
+ {
4285
+ "kind": "javascript-module",
4286
+ "path": "src/jsonforms/renderers/RenderersRanks.ts",
4287
+ "declarations": [
4288
+ {
4289
+ "kind": "variable",
4290
+ "name": "NUMBER_CONTROL_RANK",
4291
+ "type": {
4292
+ "text": "number"
4293
+ },
4294
+ "default": "3"
4024
4295
  },
4025
4296
  {
4026
- "kind": "js",
4027
- "name": "LAYOUT_GROUP_RANK",
4028
- "declaration": {
4029
- "name": "LAYOUT_GROUP_RANK",
4030
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
4031
- }
4297
+ "kind": "variable",
4298
+ "name": "BOOLEAN_CONTROL_RANK",
4299
+ "type": {
4300
+ "text": "number"
4301
+ },
4302
+ "default": "3"
4032
4303
  },
4033
4304
  {
4034
- "kind": "js",
4035
- "name": "LAYOUT_HORIZONTAL_RANK",
4036
- "declaration": {
4037
- "name": "LAYOUT_HORIZONTAL_RANK",
4038
- "module": "src/jsonforms/renderers/RenderersRanks.ts"
4039
- }
4305
+ "kind": "variable",
4306
+ "name": "ARRAY_CONTROL_RANK",
4307
+ "type": {
4308
+ "text": "number"
4309
+ },
4310
+ "default": "3"
4040
4311
  },
4041
4312
  {
4042
- "kind": "js",
4313
+ "kind": "variable",
4314
+ "name": "MULTISELECT_CONTROL_RANK",
4315
+ "type": {
4316
+ "text": "number"
4317
+ },
4318
+ "default": "4"
4319
+ },
4320
+ {
4321
+ "kind": "variable",
4322
+ "name": "ENUM_CONTROL_RANK",
4323
+ "type": {
4324
+ "text": "number"
4325
+ },
4326
+ "default": "3"
4327
+ },
4328
+ {
4329
+ "kind": "variable",
4330
+ "name": "SELECT_CONTROL_RANK",
4331
+ "type": {
4332
+ "text": "number"
4333
+ },
4334
+ "default": "4"
4335
+ },
4336
+ {
4337
+ "kind": "variable",
4338
+ "name": "DATE_CONTROL_RANK",
4339
+ "type": {
4340
+ "text": "number"
4341
+ },
4342
+ "default": "4"
4343
+ },
4344
+ {
4345
+ "kind": "variable",
4346
+ "name": "TIME_CONTROL_RANK",
4347
+ "type": {
4348
+ "text": "number"
4349
+ },
4350
+ "default": "4"
4351
+ },
4352
+ {
4353
+ "kind": "variable",
4354
+ "name": "LAYOUT_RANK",
4355
+ "type": {
4356
+ "text": "number"
4357
+ },
4358
+ "default": "2"
4359
+ },
4360
+ {
4361
+ "kind": "variable",
4362
+ "name": "LAYOUT_ARRAY_RANK",
4363
+ "type": {
4364
+ "text": "number"
4365
+ },
4366
+ "default": "2"
4367
+ },
4368
+ {
4369
+ "kind": "variable",
4370
+ "name": "LAYOUT_CATEGORIZATION_RANK",
4371
+ "type": {
4372
+ "text": "number"
4373
+ },
4374
+ "default": "2"
4375
+ },
4376
+ {
4377
+ "kind": "variable",
4378
+ "name": "LAYOUT_VERTICAL_CATEGORIZATION_RANK",
4379
+ "type": {
4380
+ "text": "number"
4381
+ },
4382
+ "default": "3"
4383
+ },
4384
+ {
4385
+ "kind": "variable",
4386
+ "name": "LAYOUT_GROUP_RANK",
4387
+ "type": {
4388
+ "text": "number"
4389
+ },
4390
+ "default": "2"
4391
+ },
4392
+ {
4393
+ "kind": "variable",
4394
+ "name": "LAYOUT_HORIZONTAL_RANK",
4395
+ "type": {
4396
+ "text": "number"
4397
+ },
4398
+ "default": "2"
4399
+ },
4400
+ {
4401
+ "kind": "variable",
4043
4402
  "name": "LAYOUT_STEPPER_RANK",
4403
+ "type": {
4404
+ "text": "number"
4405
+ },
4406
+ "default": "3"
4407
+ },
4408
+ {
4409
+ "kind": "variable",
4410
+ "name": "LAYOUT2COLUMNS_RANK",
4411
+ "type": {
4412
+ "text": "number"
4413
+ },
4414
+ "default": "2"
4415
+ },
4416
+ {
4417
+ "kind": "variable",
4418
+ "name": "LAYOUT_FORM_GRID_RANK",
4419
+ "type": {
4420
+ "text": "number"
4421
+ },
4422
+ "default": "2"
4423
+ },
4424
+ {
4425
+ "kind": "variable",
4426
+ "name": "MULTICOLUMN_DROPDOWN_CONTROL_RANK",
4427
+ "type": {
4428
+ "text": "number"
4429
+ },
4430
+ "default": "5"
4431
+ },
4432
+ {
4433
+ "kind": "variable",
4434
+ "name": "INVISIBLE_CONTROL_RANK",
4435
+ "type": {
4436
+ "text": "number"
4437
+ },
4438
+ "default": "5"
4439
+ },
4440
+ {
4441
+ "kind": "variable",
4442
+ "name": "DIVIDER_CONTROL_RANK",
4443
+ "type": {
4444
+ "text": "number"
4445
+ },
4446
+ "default": "5"
4447
+ },
4448
+ {
4449
+ "kind": "variable",
4450
+ "name": "ENUM_RADIO_GROUP_CONTROL_RANK",
4451
+ "type": {
4452
+ "text": "number"
4453
+ },
4454
+ "default": "10"
4455
+ },
4456
+ {
4457
+ "kind": "variable",
4458
+ "name": "SEGMENTED_CONTROL_RANK",
4459
+ "type": {
4460
+ "text": "number"
4461
+ },
4462
+ "default": "5"
4463
+ },
4464
+ {
4465
+ "kind": "variable",
4466
+ "name": "REACT_SLOT_CONTROL_RANK",
4467
+ "type": {
4468
+ "text": "number"
4469
+ },
4470
+ "default": "100"
4471
+ }
4472
+ ],
4473
+ "exports": [
4474
+ {
4475
+ "kind": "js",
4476
+ "name": "NUMBER_CONTROL_RANK",
4044
4477
  "declaration": {
4045
- "name": "LAYOUT_STEPPER_RANK",
4478
+ "name": "NUMBER_CONTROL_RANK",
4046
4479
  "module": "src/jsonforms/renderers/RenderersRanks.ts"
4047
4480
  }
4048
4481
  },
4049
4482
  {
4050
4483
  "kind": "js",
4051
- "name": "LAYOUT2COLUMNS_RANK",
4484
+ "name": "BOOLEAN_CONTROL_RANK",
4052
4485
  "declaration": {
4053
- "name": "LAYOUT2COLUMNS_RANK",
4486
+ "name": "BOOLEAN_CONTROL_RANK",
4054
4487
  "module": "src/jsonforms/renderers/RenderersRanks.ts"
4055
4488
  }
4056
4489
  },
4057
4490
  {
4058
4491
  "kind": "js",
4059
- "name": "LAYOUT_FORM_GRID_RANK",
4492
+ "name": "ARRAY_CONTROL_RANK",
4060
4493
  "declaration": {
4061
- "name": "LAYOUT_FORM_GRID_RANK",
4494
+ "name": "ARRAY_CONTROL_RANK",
4062
4495
  "module": "src/jsonforms/renderers/RenderersRanks.ts"
4063
4496
  }
4064
4497
  },
4065
4498
  {
4066
4499
  "kind": "js",
4067
- "name": "MULTICOLUMN_DROPDOWN_CONTROL_RANK",
4500
+ "name": "MULTISELECT_CONTROL_RANK",
4068
4501
  "declaration": {
4069
- "name": "MULTICOLUMN_DROPDOWN_CONTROL_RANK",
4502
+ "name": "MULTISELECT_CONTROL_RANK",
4070
4503
  "module": "src/jsonforms/renderers/RenderersRanks.ts"
4071
4504
  }
4072
4505
  },
4073
4506
  {
4074
4507
  "kind": "js",
4075
- "name": "INVISIBLE_CONTROL_RANK",
4508
+ "name": "ENUM_CONTROL_RANK",
4076
4509
  "declaration": {
4077
- "name": "INVISIBLE_CONTROL_RANK",
4510
+ "name": "ENUM_CONTROL_RANK",
4078
4511
  "module": "src/jsonforms/renderers/RenderersRanks.ts"
4079
4512
  }
4080
4513
  },
4081
4514
  {
4082
4515
  "kind": "js",
4083
- "name": "DIVIDER_CONTROL_RANK",
4516
+ "name": "SELECT_CONTROL_RANK",
4084
4517
  "declaration": {
4085
- "name": "DIVIDER_CONTROL_RANK",
4518
+ "name": "SELECT_CONTROL_RANK",
4086
4519
  "module": "src/jsonforms/renderers/RenderersRanks.ts"
4087
4520
  }
4088
4521
  },
4089
4522
  {
4090
4523
  "kind": "js",
4091
- "name": "ENUM_RADIO_GROUP_CONTROL_RANK",
4524
+ "name": "DATE_CONTROL_RANK",
4092
4525
  "declaration": {
4093
- "name": "ENUM_RADIO_GROUP_CONTROL_RANK",
4526
+ "name": "DATE_CONTROL_RANK",
4094
4527
  "module": "src/jsonforms/renderers/RenderersRanks.ts"
4095
4528
  }
4096
4529
  },
4097
4530
  {
4098
4531
  "kind": "js",
4099
- "name": "SEGMENTED_CONTROL_RANK",
4532
+ "name": "TIME_CONTROL_RANK",
4100
4533
  "declaration": {
4101
- "name": "SEGMENTED_CONTROL_RANK",
4534
+ "name": "TIME_CONTROL_RANK",
4102
4535
  "module": "src/jsonforms/renderers/RenderersRanks.ts"
4103
4536
  }
4104
4537
  },
4105
4538
  {
4106
4539
  "kind": "js",
4107
- "name": "REACT_SLOT_CONTROL_RANK",
4540
+ "name": "LAYOUT_RANK",
4108
4541
  "declaration": {
4109
- "name": "REACT_SLOT_CONTROL_RANK",
4542
+ "name": "LAYOUT_RANK",
4110
4543
  "module": "src/jsonforms/renderers/RenderersRanks.ts"
4111
4544
  }
4112
- }
4113
- ]
4114
- },
4115
- {
4116
- "kind": "javascript-module",
4117
- "path": "src/jsonforms/renderers/SegmentedControlRenderer.ts",
4118
- "declarations": [
4119
- {
4120
- "kind": "function",
4121
- "name": "SegmentedControlRendererTemplate",
4122
- "parameters": [
4123
- {
4124
- "name": "prefix",
4125
- "default": "'zero'",
4126
- "type": {
4127
- "text": "string"
4128
- }
4129
- }
4130
- ]
4131
4545
  },
4132
- {
4133
- "kind": "variable",
4134
- "name": "SegmentedControlRendererEntry",
4135
- "type": {
4136
- "text": "RendererEntry"
4137
- },
4138
- "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => SegmentedControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(SEGMENTED_CONTROL_RANK, optionIs('segmented')),\n mapper: mapStateToControlProps,\n}"
4139
- }
4140
- ],
4141
- "exports": [
4142
4546
  {
4143
4547
  "kind": "js",
4144
- "name": "SegmentedControlRendererTemplate",
4548
+ "name": "LAYOUT_ARRAY_RANK",
4145
4549
  "declaration": {
4146
- "name": "SegmentedControlRendererTemplate",
4147
- "module": "src/jsonforms/renderers/SegmentedControlRenderer.ts"
4550
+ "name": "LAYOUT_ARRAY_RANK",
4551
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4148
4552
  }
4149
4553
  },
4150
4554
  {
4151
4555
  "kind": "js",
4152
- "name": "SegmentedControlRendererEntry",
4556
+ "name": "LAYOUT_CATEGORIZATION_RANK",
4153
4557
  "declaration": {
4154
- "name": "SegmentedControlRendererEntry",
4155
- "module": "src/jsonforms/renderers/SegmentedControlRenderer.ts"
4558
+ "name": "LAYOUT_CATEGORIZATION_RANK",
4559
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4156
4560
  }
4157
- }
4158
- ]
4159
- },
4160
- {
4161
- "kind": "javascript-module",
4162
- "path": "src/jsonforms/renderers/StepperWrapperRenderer.ts",
4163
- "declarations": [
4164
- {
4165
- "kind": "function",
4166
- "name": "StepperWrapperRendererTemplate",
4167
- "parameters": [
4168
- {
4169
- "name": "prefix",
4170
- "default": "'zero'"
4171
- }
4172
- ]
4173
4561
  },
4174
4562
  {
4175
- "kind": "class",
4176
- "description": "",
4563
+ "kind": "js",
4564
+ "name": "LAYOUT_VERTICAL_CATEGORIZATION_RANK",
4565
+ "declaration": {
4566
+ "name": "LAYOUT_VERTICAL_CATEGORIZATION_RANK",
4567
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4568
+ }
4569
+ },
4570
+ {
4571
+ "kind": "js",
4572
+ "name": "LAYOUT_GROUP_RANK",
4573
+ "declaration": {
4574
+ "name": "LAYOUT_GROUP_RANK",
4575
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4576
+ }
4577
+ },
4578
+ {
4579
+ "kind": "js",
4580
+ "name": "LAYOUT_HORIZONTAL_RANK",
4581
+ "declaration": {
4582
+ "name": "LAYOUT_HORIZONTAL_RANK",
4583
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4584
+ }
4585
+ },
4586
+ {
4587
+ "kind": "js",
4588
+ "name": "LAYOUT_STEPPER_RANK",
4589
+ "declaration": {
4590
+ "name": "LAYOUT_STEPPER_RANK",
4591
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4592
+ }
4593
+ },
4594
+ {
4595
+ "kind": "js",
4596
+ "name": "LAYOUT2COLUMNS_RANK",
4597
+ "declaration": {
4598
+ "name": "LAYOUT2COLUMNS_RANK",
4599
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4600
+ }
4601
+ },
4602
+ {
4603
+ "kind": "js",
4604
+ "name": "LAYOUT_FORM_GRID_RANK",
4605
+ "declaration": {
4606
+ "name": "LAYOUT_FORM_GRID_RANK",
4607
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4608
+ }
4609
+ },
4610
+ {
4611
+ "kind": "js",
4612
+ "name": "MULTICOLUMN_DROPDOWN_CONTROL_RANK",
4613
+ "declaration": {
4614
+ "name": "MULTICOLUMN_DROPDOWN_CONTROL_RANK",
4615
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4616
+ }
4617
+ },
4618
+ {
4619
+ "kind": "js",
4620
+ "name": "INVISIBLE_CONTROL_RANK",
4621
+ "declaration": {
4622
+ "name": "INVISIBLE_CONTROL_RANK",
4623
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4624
+ }
4625
+ },
4626
+ {
4627
+ "kind": "js",
4628
+ "name": "DIVIDER_CONTROL_RANK",
4629
+ "declaration": {
4630
+ "name": "DIVIDER_CONTROL_RANK",
4631
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4632
+ }
4633
+ },
4634
+ {
4635
+ "kind": "js",
4636
+ "name": "ENUM_RADIO_GROUP_CONTROL_RANK",
4637
+ "declaration": {
4638
+ "name": "ENUM_RADIO_GROUP_CONTROL_RANK",
4639
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4640
+ }
4641
+ },
4642
+ {
4643
+ "kind": "js",
4644
+ "name": "SEGMENTED_CONTROL_RANK",
4645
+ "declaration": {
4646
+ "name": "SEGMENTED_CONTROL_RANK",
4647
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4648
+ }
4649
+ },
4650
+ {
4651
+ "kind": "js",
4652
+ "name": "REACT_SLOT_CONTROL_RANK",
4653
+ "declaration": {
4654
+ "name": "REACT_SLOT_CONTROL_RANK",
4655
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
4656
+ }
4657
+ }
4658
+ ]
4659
+ },
4660
+ {
4661
+ "kind": "javascript-module",
4662
+ "path": "src/jsonforms/renderers/SegmentedControlRenderer.ts",
4663
+ "declarations": [
4664
+ {
4665
+ "kind": "function",
4666
+ "name": "SegmentedControlRendererTemplate",
4667
+ "parameters": [
4668
+ {
4669
+ "name": "prefix",
4670
+ "default": "'zero'",
4671
+ "type": {
4672
+ "text": "string"
4673
+ }
4674
+ }
4675
+ ]
4676
+ },
4677
+ {
4678
+ "kind": "variable",
4679
+ "name": "SegmentedControlRendererEntry",
4680
+ "type": {
4681
+ "text": "RendererEntry"
4682
+ },
4683
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => SegmentedControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(SEGMENTED_CONTROL_RANK, optionIs('segmented')),\n mapper: mapStateToControlProps,\n}"
4684
+ }
4685
+ ],
4686
+ "exports": [
4687
+ {
4688
+ "kind": "js",
4689
+ "name": "SegmentedControlRendererTemplate",
4690
+ "declaration": {
4691
+ "name": "SegmentedControlRendererTemplate",
4692
+ "module": "src/jsonforms/renderers/SegmentedControlRenderer.ts"
4693
+ }
4694
+ },
4695
+ {
4696
+ "kind": "js",
4697
+ "name": "SegmentedControlRendererEntry",
4698
+ "declaration": {
4699
+ "name": "SegmentedControlRendererEntry",
4700
+ "module": "src/jsonforms/renderers/SegmentedControlRenderer.ts"
4701
+ }
4702
+ }
4703
+ ]
4704
+ },
4705
+ {
4706
+ "kind": "javascript-module",
4707
+ "path": "src/jsonforms/renderers/StepperWrapperRenderer.ts",
4708
+ "declarations": [
4709
+ {
4710
+ "kind": "function",
4711
+ "name": "StepperWrapperRendererTemplate",
4712
+ "parameters": [
4713
+ {
4714
+ "name": "prefix",
4715
+ "default": "'zero'"
4716
+ }
4717
+ ]
4718
+ },
4719
+ {
4720
+ "kind": "class",
4721
+ "description": "",
4177
4722
  "name": "StepperWrapper",
4178
4723
  "members": [
4179
4724
  {
@@ -4425,6 +4970,31 @@
4425
4970
  "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
4426
4971
  }
4427
4972
  },
4973
+ {
4974
+ "kind": "field",
4975
+ "name": "touchedTabs",
4976
+ "type": {
4977
+ "text": "Set<number>"
4978
+ },
4979
+ "default": "new Set()",
4980
+ "description": "Tabs the user has interacted with (focus left a control inside the panel).\nField errors only render once touched or after submit; the tab marker follows\nthe same rule so a pristine form does not open with error icons on its tabs.",
4981
+ "inheritedFrom": {
4982
+ "name": "CategorizationWrapper",
4983
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
4984
+ }
4985
+ },
4986
+ {
4987
+ "kind": "field",
4988
+ "name": "submittedObserver",
4989
+ "type": {
4990
+ "text": "BindingObserver | undefined"
4991
+ },
4992
+ "privacy": "private",
4993
+ "inheritedFrom": {
4994
+ "name": "CategorizationWrapper",
4995
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
4996
+ }
4997
+ },
4428
4998
  {
4429
4999
  "kind": "field",
4430
5000
  "name": "hasAppliedActiveCategory",
@@ -4484,6 +5054,22 @@
4484
5054
  "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
4485
5055
  }
4486
5056
  },
5057
+ {
5058
+ "kind": "method",
5059
+ "name": "markTabTouched",
5060
+ "parameters": [
5061
+ {
5062
+ "name": "index",
5063
+ "type": {
5064
+ "text": "number"
5065
+ }
5066
+ }
5067
+ ],
5068
+ "inheritedFrom": {
5069
+ "name": "CategorizationWrapper",
5070
+ "module": "src/jsonforms/renderers/CategorizationWrapperRenderer.ts"
5071
+ }
5072
+ },
4487
5073
  {
4488
5074
  "kind": "method",
4489
5075
  "name": "isMounted",
@@ -4673,724 +5259,208 @@
4673
5259
  "name": "renderer"
4674
5260
  },
4675
5261
  {
4676
- "kind": "field",
4677
- "name": "prefix"
4678
- },
4679
- {
4680
- "kind": "field",
4681
- "name": "depth",
4682
- "type": {
4683
- "text": "number"
4684
- },
4685
- "default": "1"
4686
- },
4687
- {
4688
- "kind": "method",
4689
- "name": "prefixChanged"
4690
- },
4691
- {
4692
- "kind": "field",
4693
- "name": "createRenderer"
4694
- },
4695
- {
4696
- "kind": "method",
4697
- "name": "onBlur"
4698
- },
4699
- {
4700
- "kind": "field",
4701
- "name": "determinedRenderer",
4702
- "readonly": true
4703
- },
4704
- {
4705
- "kind": "field",
4706
- "name": "hostClasses",
4707
- "type": {
4708
- "text": "string"
4709
- },
4710
- "readonly": true
4711
- }
4712
- ],
4713
- "superclass": {
4714
- "name": "FASTElement",
4715
- "package": "@microsoft/fast-element"
4716
- },
4717
- "tagName": "dispatch-renderer",
4718
- "customElement": true
4719
- }
4720
- ],
4721
- "exports": [
4722
- {
4723
- "kind": "js",
4724
- "name": "DispatchRenderer",
4725
- "declaration": {
4726
- "name": "DispatchRenderer",
4727
- "module": "src/jsonforms/renderers/dispatch-renderer.ts"
4728
- }
4729
- },
4730
- {
4731
- "kind": "custom-element-definition",
4732
- "name": "dispatch-renderer",
4733
- "declaration": {
4734
- "name": "DispatchRenderer",
4735
- "module": "src/jsonforms/renderers/dispatch-renderer.ts"
4736
- }
4737
- }
4738
- ]
4739
- },
4740
- {
4741
- "kind": "javascript-module",
4742
- "path": "src/jsonforms/renderers/foundation-react-slot.ts",
4743
- "declarations": [
4744
- {
4745
- "kind": "class",
4746
- "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.",
4747
- "name": "FoundationReactSlot",
4748
- "members": [
4749
- {
4750
- "kind": "field",
4751
- "name": "render",
4752
- "type": {
4753
- "text": "ReactSlotRenderFn | undefined"
4754
- }
4755
- },
4756
- {
4757
- "kind": "field",
4758
- "name": "data",
4759
- "type": {
4760
- "text": "unknown"
4761
- }
4762
- },
4763
- {
4764
- "kind": "field",
4765
- "name": "controlData",
4766
- "type": {
4767
- "text": "unknown"
4768
- }
4769
- },
4770
- {
4771
- "kind": "field",
4772
- "name": "path",
4773
- "type": {
4774
- "text": "string"
4775
- },
4776
- "default": "''"
4777
- },
4778
- {
4779
- "kind": "field",
4780
- "name": "handleChange",
4781
- "type": {
4782
- "text": "((path: string, value: unknown) => void) | undefined"
4783
- }
4784
- },
4785
- {
4786
- "kind": "field",
4787
- "name": "root",
4788
- "type": {
4789
- "text": "Root | null"
4790
- },
4791
- "privacy": "private",
4792
- "default": "null"
4793
- },
4794
- {
4795
- "kind": "method",
4796
- "name": "renderChanged",
4797
- "privacy": "protected",
4798
- "return": {
4799
- "type": {
4800
- "text": "void"
4801
- }
4802
- }
4803
- },
4804
- {
4805
- "kind": "method",
4806
- "name": "dataChanged",
4807
- "privacy": "protected",
4808
- "return": {
4809
- "type": {
4810
- "text": "void"
4811
- }
4812
- }
4813
- },
4814
- {
4815
- "kind": "method",
4816
- "name": "controlDataChanged",
4817
- "privacy": "protected",
4818
- "return": {
4819
- "type": {
4820
- "text": "void"
4821
- }
4822
- }
4823
- },
4824
- {
4825
- "kind": "method",
4826
- "name": "pathChanged",
4827
- "privacy": "protected",
4828
- "return": {
4829
- "type": {
4830
- "text": "void"
4831
- }
4832
- }
4833
- },
4834
- {
4835
- "kind": "method",
4836
- "name": "handleChangeChanged",
4837
- "privacy": "protected",
4838
- "return": {
4839
- "type": {
4840
- "text": "void"
4841
- }
4842
- }
4843
- },
4844
- {
4845
- "kind": "method",
4846
- "name": "flush",
4847
- "privacy": "private",
4848
- "return": {
4849
- "type": {
4850
- "text": "void"
4851
- }
4852
- }
4853
- }
4854
- ],
4855
- "superclass": {
4856
- "name": "FASTElement",
4857
- "package": "@microsoft/fast-element"
4858
- },
4859
- "tagName": "foundation-react-slot",
4860
- "customElement": true
4861
- }
4862
- ],
4863
- "exports": [
4864
- {
4865
- "kind": "js",
4866
- "name": "FoundationReactSlot",
4867
- "declaration": {
4868
- "name": "FoundationReactSlot",
4869
- "module": "src/jsonforms/renderers/foundation-react-slot.ts"
4870
- }
4871
- },
4872
- {
4873
- "kind": "custom-element-definition",
4874
- "name": "foundation-react-slot",
4875
- "declaration": {
4876
- "name": "FoundationReactSlot",
4877
- "module": "src/jsonforms/renderers/foundation-react-slot.ts"
4878
- }
4879
- }
4880
- ]
4881
- },
4882
- {
4883
- "kind": "javascript-module",
4884
- "path": "src/utils/confirmation-dialog-utils.ts",
4885
- "declarations": [],
4886
- "exports": []
4887
- },
4888
- {
4889
- "kind": "javascript-module",
4890
- "path": "src/utils/csv-parser.ts",
4891
- "declarations": [
4892
- {
4893
- "kind": "function",
4894
- "name": "parseCsv",
4895
- "return": {
4896
- "type": {
4897
- "text": ""
4898
- }
4899
- },
4900
- "parameters": [
4901
- {
4902
- "name": "content",
4903
- "type": {
4904
- "text": "string"
4905
- },
4906
- "description": "The CSV content as a string"
4907
- }
4908
- ],
4909
- "description": "Parses a CSV string into headers and rows using PapaParse.\nHandles quoted fields, escaped quotes, empty values, and mixed line endings.",
4910
- "privacy": "public"
4911
- },
4912
- {
4913
- "kind": "function",
4914
- "name": "mapCsvToSchema",
4915
- "return": {
4916
- "type": {
4917
- "text": ""
4918
- }
4919
- },
4920
- "parameters": [
4921
- {
4922
- "name": "csvRows",
4923
- "type": {
4924
- "text": "Record<string, string>[]"
4925
- },
4926
- "description": "The parsed CSV rows"
4927
- },
4928
- {
4929
- "name": "schema",
4930
- "type": {
4931
- "text": "JSONSchema7 | undefined"
4932
- },
4933
- "description": "The JSON schema defining the fields"
4934
- },
4935
- {
4936
- "name": "uiSchema",
4937
- "optional": true,
4938
- "type": {
4939
- "text": "UiSchema"
4940
- },
4941
- "description": "Optional UI schema to map labels to field names on import"
4942
- }
4943
- ],
4944
- "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.",
4945
- "privacy": "public"
4946
- },
4947
- {
4948
- "kind": "function",
4949
- "name": "generateCsvTemplate",
4950
- "return": {
4951
- "type": {
4952
- "text": ""
4953
- }
4954
- },
4955
- "parameters": [
4956
- {
4957
- "name": "schema",
4958
- "type": {
4959
- "text": "JSONSchema7 | undefined"
4960
- },
4961
- "description": "The JSON schema defining the fields"
4962
- },
4963
- {
4964
- "name": "uiSchema",
4965
- "optional": true,
4966
- "type": {
4967
- "text": "UiSchema"
4968
- },
4969
- "description": "Optional UI schema to determine field order and visibility"
4970
- },
4971
- {
4972
- "name": "includeOptionalFields",
4973
- "default": "true",
4974
- "type": {
4975
- "text": "boolean"
4976
- },
4977
- "description": "Whether to include optional fields when no UI schema (default: true)"
4978
- },
4979
- {
4980
- "name": "includeBom",
4981
- "default": "true",
4982
- "type": {
4983
- "text": "boolean"
4984
- },
4985
- "description": "Whether to prepend UTF-8 BOM for Excel compatibility (default: true)"
4986
- }
4987
- ],
4988
- "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.",
4989
- "privacy": "public"
4990
- },
4991
- {
4992
- "kind": "function",
4993
- "name": "downloadCsvTemplate",
4994
- "return": {
4995
- "type": {
4996
- "text": "void"
4997
- }
4998
- },
4999
- "parameters": [
5000
- {
5001
- "name": "csvContent",
5002
- "type": {
5003
- "text": "string"
5004
- },
5005
- "description": "The CSV content to download"
5006
- },
5007
- {
5008
- "name": "fileName",
5009
- "default": "'template.csv'",
5010
- "type": {
5011
- "text": "string"
5012
- },
5013
- "description": "The name for the downloaded file (default: 'template.csv')"
5014
- }
5015
- ],
5016
- "description": "Triggers a download of the CSV template file in the browser.",
5017
- "privacy": "public"
5018
- }
5019
- ],
5020
- "exports": [
5021
- {
5022
- "kind": "js",
5023
- "name": "parseCsv",
5024
- "declaration": {
5025
- "name": "parseCsv",
5026
- "module": "src/utils/csv-parser.ts"
5027
- }
5028
- },
5029
- {
5030
- "kind": "js",
5031
- "name": "mapCsvToSchema",
5032
- "declaration": {
5033
- "name": "mapCsvToSchema",
5034
- "module": "src/utils/csv-parser.ts"
5035
- }
5036
- },
5037
- {
5038
- "kind": "js",
5039
- "name": "generateCsvTemplate",
5040
- "declaration": {
5041
- "name": "generateCsvTemplate",
5042
- "module": "src/utils/csv-parser.ts"
5043
- }
5044
- },
5045
- {
5046
- "kind": "js",
5047
- "name": "downloadCsvTemplate",
5048
- "declaration": {
5049
- "name": "downloadCsvTemplate",
5050
- "module": "src/utils/csv-parser.ts"
5051
- }
5052
- }
5053
- ]
5054
- },
5055
- {
5056
- "kind": "javascript-module",
5057
- "path": "src/utils/filters.ts",
5058
- "declarations": [],
5059
- "exports": []
5060
- },
5061
- {
5062
- "kind": "javascript-module",
5063
- "path": "src/utils/form-utils.ts",
5064
- "declarations": [
5065
- {
5066
- "kind": "function",
5067
- "name": "removeDataPropertiesNotInSchema",
5068
- "return": {
5069
- "type": {
5070
- "text": ""
5071
- }
5072
- },
5073
- "parameters": [
5074
- {
5075
- "name": "data",
5076
- "type": {
5077
- "text": "any"
5078
- },
5079
- "description": "The data object to clean"
5080
- },
5081
- {
5082
- "name": "jsonSchema",
5083
- "type": {
5084
- "text": "JSONSchema7"
5085
- },
5086
- "description": "The JSON schema to validate against"
5087
- }
5088
- ],
5089
- "description": "Removes data properties that aren't part of the schema"
5090
- }
5091
- ],
5092
- "exports": [
5093
- {
5094
- "kind": "js",
5095
- "name": "removeDataPropertiesNotInSchema",
5096
- "declaration": {
5097
- "name": "removeDataPropertiesNotInSchema",
5098
- "module": "src/utils/form-utils.ts"
5099
- }
5100
- }
5101
- ]
5102
- },
5103
- {
5104
- "kind": "javascript-module",
5105
- "path": "src/utils/index.ts",
5106
- "declarations": [],
5107
- "exports": [
5108
- {
5109
- "kind": "js",
5110
- "name": "*",
5111
- "declaration": {
5112
- "name": "*",
5113
- "package": "./csv-parser"
5114
- }
5115
- },
5116
- {
5117
- "kind": "js",
5118
- "name": "*",
5119
- "declaration": {
5120
- "name": "*",
5121
- "package": "./review-utils"
5122
- }
5123
- },
5124
- {
5125
- "kind": "js",
5126
- "name": "*",
5127
- "declaration": {
5128
- "name": "*",
5129
- "package": "./filters"
5130
- }
5131
- },
5132
- {
5133
- "kind": "js",
5134
- "name": "*",
5135
- "declaration": {
5136
- "name": "*",
5137
- "package": "./logger"
5138
- }
5139
- },
5140
- {
5141
- "kind": "js",
5142
- "name": "*",
5143
- "declaration": {
5144
- "name": "*",
5145
- "package": "./translation"
5146
- }
5147
- },
5148
- {
5149
- "kind": "js",
5150
- "name": "*",
5151
- "declaration": {
5152
- "name": "*",
5153
- "package": "./validation"
5154
- }
5155
- },
5156
- {
5157
- "kind": "js",
5158
- "name": "*",
5159
- "declaration": {
5160
- "name": "*",
5161
- "package": "./server-errors"
5162
- }
5163
- },
5164
- {
5165
- "kind": "js",
5166
- "name": "*",
5167
- "declaration": {
5168
- "name": "*",
5169
- "package": "./types"
5170
- }
5171
- }
5172
- ]
5173
- },
5174
- {
5175
- "kind": "javascript-module",
5176
- "path": "src/utils/logger.ts",
5177
- "declarations": [],
5178
- "exports": []
5179
- },
5180
- {
5181
- "kind": "javascript-module",
5182
- "path": "src/utils/review-utils.ts",
5183
- "declarations": [],
5184
- "exports": []
5185
- },
5186
- {
5187
- "kind": "javascript-module",
5188
- "path": "src/utils/schema-utils.ts",
5189
- "declarations": [
5190
- {
5191
- "kind": "function",
5192
- "name": "extractErrorScopes",
5193
- "return": {
5194
- "type": {
5195
- "text": "string[]"
5196
- }
5197
- },
5198
- "parameters": [
5199
- {
5200
- "name": "errors",
5201
- "type": {
5202
- "text": "ErrorObject[]"
5203
- }
5204
- }
5205
- ],
5206
- "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."
5207
- },
5208
- {
5209
- "kind": "function",
5210
- "name": "uiSchemaHasAnyError",
5211
- "return": {
5212
- "type": {
5213
- "text": "boolean"
5214
- }
5215
- },
5216
- "parameters": [
5217
- {
5218
- "name": "uiSchema",
5262
+ "kind": "field",
5263
+ "name": "prefix"
5264
+ },
5265
+ {
5266
+ "kind": "field",
5267
+ "name": "depth",
5219
5268
  "type": {
5220
- "text": "UiSchemaElement | UiSchema"
5221
- }
5269
+ "text": "number"
5270
+ },
5271
+ "default": "1"
5222
5272
  },
5223
5273
  {
5224
- "name": "errorScopes",
5274
+ "kind": "method",
5275
+ "name": "prefixChanged"
5276
+ },
5277
+ {
5278
+ "kind": "field",
5279
+ "name": "createRenderer"
5280
+ },
5281
+ {
5282
+ "kind": "method",
5283
+ "name": "onBlur"
5284
+ },
5285
+ {
5286
+ "kind": "field",
5287
+ "name": "determinedRenderer",
5288
+ "readonly": true
5289
+ },
5290
+ {
5291
+ "kind": "field",
5292
+ "name": "hostClasses",
5225
5293
  "type": {
5226
- "text": "string[]"
5227
- }
5294
+ "text": "string"
5295
+ },
5296
+ "readonly": true
5228
5297
  }
5229
5298
  ],
5230
- "description": "Returns true when `uiSchema` (or any of its descendants) has a scope that appears\nin `errorScopes`. Walks both `elements` and `options.childElements`.\n\nA node's own scope is matched too, except when it has children and a more specific\nerror scope under the same path is present. That case is AJV's cascade (e.g. `/FOO`\n`oneOf`/`type` errors emitted on top of a leaf error at `/FOO/BAR`), and matching the\nshared container scope would badge every sibling that merely shares it. A container\nerror with no specific error beneath it still matches, since it cannot be pinned to\none field."
5299
+ "superclass": {
5300
+ "name": "FASTElement",
5301
+ "package": "@microsoft/fast-element"
5302
+ },
5303
+ "tagName": "dispatch-renderer",
5304
+ "customElement": true
5231
5305
  }
5232
5306
  ],
5233
5307
  "exports": [
5234
5308
  {
5235
5309
  "kind": "js",
5236
- "name": "extractErrorScopes",
5310
+ "name": "DispatchRenderer",
5237
5311
  "declaration": {
5238
- "name": "extractErrorScopes",
5239
- "module": "src/utils/schema-utils.ts"
5312
+ "name": "DispatchRenderer",
5313
+ "module": "src/jsonforms/renderers/dispatch-renderer.ts"
5240
5314
  }
5241
5315
  },
5242
5316
  {
5243
- "kind": "js",
5244
- "name": "uiSchemaHasAnyError",
5317
+ "kind": "custom-element-definition",
5318
+ "name": "dispatch-renderer",
5245
5319
  "declaration": {
5246
- "name": "uiSchemaHasAnyError",
5247
- "module": "src/utils/schema-utils.ts"
5320
+ "name": "DispatchRenderer",
5321
+ "module": "src/jsonforms/renderers/dispatch-renderer.ts"
5248
5322
  }
5249
5323
  }
5250
5324
  ]
5251
5325
  },
5252
5326
  {
5253
5327
  "kind": "javascript-module",
5254
- "path": "src/utils/server-errors.ts",
5328
+ "path": "src/jsonforms/renderers/foundation-react-slot.ts",
5255
5329
  "declarations": [
5256
5330
  {
5257
- "kind": "function",
5258
- "name": "mapGenesisFieldErrorsToAdditionalErrors",
5259
- "return": {
5260
- "type": {
5261
- "text": "ErrorObject[]"
5262
- }
5263
- },
5264
- "parameters": [
5331
+ "kind": "class",
5332
+ "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.",
5333
+ "name": "FoundationReactSlot",
5334
+ "members": [
5265
5335
  {
5266
- "name": "errors",
5336
+ "kind": "field",
5337
+ "name": "render",
5267
5338
  "type": {
5268
- "text": "GenesisFieldError[] | undefined"
5269
- },
5270
- "description": "Genesis ERROR array from an EVENT_NACK response"
5339
+ "text": "ReactSlotRenderFn | undefined"
5340
+ }
5271
5341
  },
5272
5342
  {
5273
- "name": "schema",
5274
- "optional": true,
5343
+ "kind": "field",
5344
+ "name": "data",
5275
5345
  "type": {
5276
- "text": "JSONSchema7"
5277
- },
5278
- "description": "JSON schema used to resolve `parentSchema` for each field"
5346
+ "text": "unknown"
5347
+ }
5279
5348
  },
5280
5349
  {
5281
- "name": "instancePathPrefix",
5282
- "optional": true,
5350
+ "kind": "field",
5351
+ "name": "controlData",
5283
5352
  "type": {
5284
- "text": "string"
5285
- },
5286
- "description": "Optional prefix for bulk-insert rows (e.g. `/items/0`)"
5287
- }
5288
- ],
5289
- "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` naming a field are mapped; generic errors\n(no field association, or about the whole payload) are omitted so callers can\nstill surface them via toast/dialog.",
5290
- "privacy": "public"
5291
- }
5292
- ],
5293
- "exports": [
5294
- {
5295
- "kind": "js",
5296
- "name": "mapGenesisFieldErrorsToAdditionalErrors",
5297
- "declaration": {
5298
- "name": "mapGenesisFieldErrorsToAdditionalErrors",
5299
- "module": "src/utils/server-errors.ts"
5300
- }
5301
- }
5302
- ]
5303
- },
5304
- {
5305
- "kind": "javascript-module",
5306
- "path": "src/utils/translation.ts",
5307
- "declarations": [],
5308
- "exports": []
5309
- },
5310
- {
5311
- "kind": "javascript-module",
5312
- "path": "src/utils/types.ts",
5313
- "declarations": [],
5314
- "exports": []
5315
- },
5316
- {
5317
- "kind": "javascript-module",
5318
- "path": "src/utils/validation.ts",
5319
- "declarations": [
5320
- {
5321
- "kind": "function",
5322
- "name": "mustMatch",
5323
- "parameters": [
5353
+ "text": "unknown"
5354
+ }
5355
+ },
5324
5356
  {
5325
- "name": "target",
5357
+ "kind": "field",
5358
+ "name": "path",
5326
5359
  "type": {
5327
5360
  "text": "string"
5328
5361
  },
5329
- "description": "any other field"
5330
- }
5331
- ],
5332
- "description": "Ensures the value of the current field (the one the validator is on) matches the one of the target field.",
5333
- "return": {
5334
- "type": {
5335
- "text": ""
5336
- }
5337
- },
5338
- "privacy": "public"
5339
- },
5340
- {
5341
- "kind": "function",
5342
- "name": "getAnyOfErrorMessage",
5343
- "return": {
5344
- "type": {
5345
- "text": "string"
5346
- }
5347
- },
5348
- "parameters": [
5362
+ "default": "''"
5363
+ },
5349
5364
  {
5350
- "name": "errors",
5365
+ "kind": "field",
5366
+ "name": "handleChange",
5351
5367
  "type": {
5352
- "text": "Array<any> | undefined"
5368
+ "text": "((path: string, value: unknown) => void) | undefined"
5353
5369
  }
5354
5370
  },
5355
5371
  {
5356
- "name": "schema",
5372
+ "kind": "field",
5373
+ "name": "root",
5357
5374
  "type": {
5358
- "text": "any"
5375
+ "text": "Root | null"
5376
+ },
5377
+ "privacy": "private",
5378
+ "default": "null"
5379
+ },
5380
+ {
5381
+ "kind": "method",
5382
+ "name": "renderChanged",
5383
+ "privacy": "protected",
5384
+ "return": {
5385
+ "type": {
5386
+ "text": "void"
5387
+ }
5359
5388
  }
5360
5389
  },
5361
5390
  {
5362
- "name": "controlPath",
5363
- "type": {
5364
- "text": "string | undefined"
5391
+ "kind": "method",
5392
+ "name": "dataChanged",
5393
+ "privacy": "protected",
5394
+ "return": {
5395
+ "type": {
5396
+ "text": "void"
5397
+ }
5365
5398
  }
5366
5399
  },
5367
5400
  {
5368
- "name": "uiCustomMsg",
5369
- "optional": true,
5370
- "type": {
5371
- "text": "string"
5401
+ "kind": "method",
5402
+ "name": "controlDataChanged",
5403
+ "privacy": "protected",
5404
+ "return": {
5405
+ "type": {
5406
+ "text": "void"
5407
+ }
5408
+ }
5409
+ },
5410
+ {
5411
+ "kind": "method",
5412
+ "name": "pathChanged",
5413
+ "privacy": "protected",
5414
+ "return": {
5415
+ "type": {
5416
+ "text": "void"
5417
+ }
5418
+ }
5419
+ },
5420
+ {
5421
+ "kind": "method",
5422
+ "name": "handleChangeChanged",
5423
+ "privacy": "protected",
5424
+ "return": {
5425
+ "type": {
5426
+ "text": "void"
5427
+ }
5428
+ }
5429
+ },
5430
+ {
5431
+ "kind": "method",
5432
+ "name": "flush",
5433
+ "privacy": "private",
5434
+ "return": {
5435
+ "type": {
5436
+ "text": "void"
5437
+ }
5372
5438
  }
5373
5439
  }
5374
5440
  ],
5375
- "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.",
5376
- "privacy": "public"
5441
+ "superclass": {
5442
+ "name": "FASTElement",
5443
+ "package": "@microsoft/fast-element"
5444
+ },
5445
+ "tagName": "foundation-react-slot",
5446
+ "customElement": true
5377
5447
  }
5378
5448
  ],
5379
5449
  "exports": [
5380
5450
  {
5381
5451
  "kind": "js",
5382
- "name": "mustMatch",
5452
+ "name": "FoundationReactSlot",
5383
5453
  "declaration": {
5384
- "name": "mustMatch",
5385
- "module": "src/utils/validation.ts"
5454
+ "name": "FoundationReactSlot",
5455
+ "module": "src/jsonforms/renderers/foundation-react-slot.ts"
5386
5456
  }
5387
5457
  },
5388
5458
  {
5389
- "kind": "js",
5390
- "name": "getAnyOfErrorMessage",
5459
+ "kind": "custom-element-definition",
5460
+ "name": "foundation-react-slot",
5391
5461
  "declaration": {
5392
- "name": "getAnyOfErrorMessage",
5393
- "module": "src/utils/validation.ts"
5462
+ "name": "FoundationReactSlot",
5463
+ "module": "src/jsonforms/renderers/foundation-react-slot.ts"
5394
5464
  }
5395
5465
  }
5396
5466
  ]