@genesislcap/foundation-forms 14.426.1-alpha-be0ea39.0 → 14.427.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/custom-elements.json +372 -290
  2. package/dist/dts/filters/filters.template.d.ts.map +1 -1
  3. package/dist/dts/form.d.ts +10 -4
  4. package/dist/dts/form.d.ts.map +1 -1
  5. package/dist/dts/form.styles.d.ts.map +1 -1
  6. package/dist/dts/form.template.d.ts.map +1 -1
  7. package/dist/dts/index.d.ts +0 -2
  8. package/dist/dts/index.d.ts.map +1 -1
  9. package/dist/dts/jsonforms/json-forms.d.ts.map +1 -1
  10. package/dist/dts/jsonforms/renderers/ArrayListWrapperRenderer.d.ts.map +1 -1
  11. package/dist/dts/jsonforms/renderers/BooleanControlRenderer.d.ts.map +1 -1
  12. package/dist/dts/jsonforms/renderers/CategorizationWrapperRenderer.d.ts.map +1 -1
  13. package/dist/dts/jsonforms/renderers/ConnectedMultiselectControlRenderer.d.ts.map +1 -1
  14. package/dist/dts/jsonforms/renderers/ConnectedSelectControlRenderer.d.ts.map +1 -1
  15. package/dist/dts/jsonforms/renderers/ControlWrapperRenderer.d.ts +11 -31
  16. package/dist/dts/jsonforms/renderers/ControlWrapperRenderer.d.ts.map +1 -1
  17. package/dist/dts/jsonforms/renderers/DateControlRenderer.d.ts +1 -2
  18. package/dist/dts/jsonforms/renderers/DateControlRenderer.d.ts.map +1 -1
  19. package/dist/dts/jsonforms/renderers/EnumControlRenderer.d.ts +1 -2
  20. package/dist/dts/jsonforms/renderers/EnumControlRenderer.d.ts.map +1 -1
  21. package/dist/dts/jsonforms/renderers/EnumRadioGroupControlRenderer.d.ts.map +1 -1
  22. package/dist/dts/jsonforms/renderers/FilterDateControlRenderer.d.ts +1 -2
  23. package/dist/dts/jsonforms/renderers/FilterDateControlRenderer.d.ts.map +1 -1
  24. package/dist/dts/jsonforms/renderers/FilterNumberControlRenderer.d.ts +1 -2
  25. package/dist/dts/jsonforms/renderers/FilterNumberControlRenderer.d.ts.map +1 -1
  26. package/dist/dts/jsonforms/renderers/FilterTimeControlRenderer.d.ts +1 -2
  27. package/dist/dts/jsonforms/renderers/FilterTimeControlRenderer.d.ts.map +1 -1
  28. package/dist/dts/jsonforms/renderers/LayoutArrayRenderer.d.ts +1 -2
  29. package/dist/dts/jsonforms/renderers/LayoutArrayRenderer.d.ts.map +1 -1
  30. package/dist/dts/jsonforms/renderers/LayoutFormGridRenderer.d.ts +1 -2
  31. package/dist/dts/jsonforms/renderers/LayoutFormGridRenderer.d.ts.map +1 -1
  32. package/dist/dts/jsonforms/renderers/LayoutGroupRenderer.d.ts +1 -2
  33. package/dist/dts/jsonforms/renderers/LayoutGroupRenderer.d.ts.map +1 -1
  34. package/dist/dts/jsonforms/renderers/LayoutHorizontalRenderer.d.ts +1 -2
  35. package/dist/dts/jsonforms/renderers/LayoutHorizontalRenderer.d.ts.map +1 -1
  36. package/dist/dts/jsonforms/renderers/LayoutRenderer.d.ts +5 -21
  37. package/dist/dts/jsonforms/renderers/LayoutRenderer.d.ts.map +1 -1
  38. package/dist/dts/jsonforms/renderers/LayoutVertical2ColumnsRenderer.d.ts +1 -2
  39. package/dist/dts/jsonforms/renderers/LayoutVertical2ColumnsRenderer.d.ts.map +1 -1
  40. package/dist/dts/jsonforms/renderers/MulticolumnDropdownControlRenderer.d.ts.map +1 -1
  41. package/dist/dts/jsonforms/renderers/NumberControlRenderer.d.ts +1 -2
  42. package/dist/dts/jsonforms/renderers/NumberControlRenderer.d.ts.map +1 -1
  43. package/dist/dts/jsonforms/renderers/SegmentedControlRenderer.d.ts.map +1 -1
  44. package/dist/dts/jsonforms/renderers/StepperWrapperRenderer.d.ts.map +1 -1
  45. package/dist/dts/jsonforms/renderers/StringArrayControlRenderer.d.ts.map +1 -1
  46. package/dist/dts/jsonforms/renderers/StringControlRenderer.d.ts.map +1 -1
  47. package/dist/dts/jsonforms/renderers/VerticalCategorizationWrapperRenderer.d.ts.map +1 -1
  48. package/dist/dts/jsonforms/renderers/dispatch-renderer.d.ts.map +1 -1
  49. package/dist/dts/react.d.ts +20 -0
  50. package/dist/dts/types.d.ts +0 -12
  51. package/dist/dts/types.d.ts.map +1 -1
  52. package/dist/esm/filters/filters.template.js +2 -1
  53. package/dist/esm/form.js +1 -2
  54. package/dist/esm/form.styles.js +14 -13
  55. package/dist/esm/form.template.js +2 -1
  56. package/dist/esm/index.js +0 -2
  57. package/dist/esm/jsonforms/json-forms.js +2 -28
  58. package/dist/esm/jsonforms/renderers/ArrayListWrapperRenderer.js +46 -48
  59. package/dist/esm/jsonforms/renderers/BooleanControlRenderer.js +20 -19
  60. package/dist/esm/jsonforms/renderers/CategorizationWrapperRenderer.js +4 -9
  61. package/dist/esm/jsonforms/renderers/ConnectedMultiselectControlRenderer.js +40 -38
  62. package/dist/esm/jsonforms/renderers/ConnectedSelectControlRenderer.js +39 -39
  63. package/dist/esm/jsonforms/renderers/ControlWrapperRenderer.js +131 -102
  64. package/dist/esm/jsonforms/renderers/DateControlRenderer.js +43 -41
  65. package/dist/esm/jsonforms/renderers/EnumControlRenderer.js +27 -27
  66. package/dist/esm/jsonforms/renderers/EnumRadioGroupControlRenderer.js +32 -30
  67. package/dist/esm/jsonforms/renderers/FilterDateControlRenderer.js +77 -81
  68. package/dist/esm/jsonforms/renderers/FilterNumberControlRenderer.js +51 -54
  69. package/dist/esm/jsonforms/renderers/FilterTimeControlRenderer.js +69 -69
  70. package/dist/esm/jsonforms/renderers/LayoutArrayRenderer.js +8 -7
  71. package/dist/esm/jsonforms/renderers/LayoutFormGridRenderer.js +26 -27
  72. package/dist/esm/jsonforms/renderers/LayoutGroupRenderer.js +32 -36
  73. package/dist/esm/jsonforms/renderers/LayoutHorizontalRenderer.js +26 -27
  74. package/dist/esm/jsonforms/renderers/LayoutRenderer.js +44 -36
  75. package/dist/esm/jsonforms/renderers/LayoutVertical2ColumnsRenderer.js +17 -18
  76. package/dist/esm/jsonforms/renderers/MulticolumnDropdownControlRenderer.js +41 -39
  77. package/dist/esm/jsonforms/renderers/NumberControlRenderer.js +30 -30
  78. package/dist/esm/jsonforms/renderers/SegmentedControlRenderer.js +27 -25
  79. package/dist/esm/jsonforms/renderers/StepperWrapperRenderer.js +1 -2
  80. package/dist/esm/jsonforms/renderers/StringArrayControlRenderer.js +20 -18
  81. package/dist/esm/jsonforms/renderers/StringControlRenderer.js +42 -41
  82. package/dist/esm/jsonforms/renderers/VerticalCategorizationWrapperRenderer.js +9 -13
  83. package/dist/esm/jsonforms/renderers/dispatch-renderer.js +0 -1
  84. package/dist/foundation-forms.api.json +2 -114
  85. package/dist/foundation-forms.d.ts +10 -69
  86. package/dist/react.cjs +14 -0
  87. package/dist/react.mjs +12 -0
  88. package/package.json +15 -15
@@ -706,30 +706,6 @@
706
706
  "module": "./jsonforms/renderers/LayoutVerticalCategorizationRenderer"
707
707
  }
708
708
  },
709
- {
710
- "kind": "js",
711
- "name": "controlWrapperTemplate",
712
- "declaration": {
713
- "name": "controlWrapperTemplate",
714
- "module": "./jsonforms/renderers/ControlWrapperRenderer"
715
- }
716
- },
717
- {
718
- "kind": "js",
719
- "name": "controlWrapperStyles",
720
- "declaration": {
721
- "name": "controlWrapperStyles",
722
- "module": "./jsonforms/renderers/ControlWrapperRenderer"
723
- }
724
- },
725
- {
726
- "kind": "js",
727
- "name": "layoutWrapperTemplate",
728
- "declaration": {
729
- "name": "layoutWrapperTemplate",
730
- "module": "./jsonforms/renderers/LayoutRenderer"
731
- }
732
- },
733
709
  {
734
710
  "kind": "js",
735
711
  "name": "*",
@@ -1925,232 +1901,6 @@
1925
1901
  }
1926
1902
  ]
1927
1903
  },
1928
- {
1929
- "kind": "javascript-module",
1930
- "path": "src/jsonforms/testers/isArray.ts",
1931
- "declarations": [
1932
- {
1933
- "kind": "function",
1934
- "name": "isArray",
1935
- "parameters": [
1936
- {
1937
- "name": "itemsType",
1938
- "type": {
1939
- "text": "ArrayItemsType"
1940
- }
1941
- }
1942
- ]
1943
- }
1944
- ],
1945
- "exports": [
1946
- {
1947
- "kind": "js",
1948
- "name": "isArray",
1949
- "declaration": {
1950
- "name": "isArray",
1951
- "module": "src/jsonforms/testers/isArray.ts"
1952
- }
1953
- }
1954
- ]
1955
- },
1956
- {
1957
- "kind": "javascript-module",
1958
- "path": "src/jsonforms/testers/isDate.ts",
1959
- "declarations": [
1960
- {
1961
- "kind": "variable",
1962
- "name": "isOneOfDate"
1963
- }
1964
- ],
1965
- "exports": [
1966
- {
1967
- "kind": "js",
1968
- "name": "isOneOfDate",
1969
- "declaration": {
1970
- "name": "isOneOfDate",
1971
- "module": "src/jsonforms/testers/isDate.ts"
1972
- }
1973
- }
1974
- ]
1975
- },
1976
- {
1977
- "kind": "javascript-module",
1978
- "path": "src/jsonforms/testers/isInvisible.ts",
1979
- "declarations": [
1980
- {
1981
- "kind": "function",
1982
- "name": "isInvisible",
1983
- "return": {
1984
- "type": {
1985
- "text": "boolean"
1986
- }
1987
- },
1988
- "parameters": [
1989
- {
1990
- "name": "uischema",
1991
- "type": {
1992
- "text": "UISchemaElement"
1993
- }
1994
- },
1995
- {
1996
- "name": "schema",
1997
- "type": {
1998
- "text": "JsonSchema"
1999
- }
2000
- },
2001
- {
2002
- "name": "context",
2003
- "type": {
2004
- "text": "TesterContext"
2005
- }
2006
- }
2007
- ]
2008
- }
2009
- ],
2010
- "exports": [
2011
- {
2012
- "kind": "js",
2013
- "name": "isInvisible",
2014
- "declaration": {
2015
- "name": "isInvisible",
2016
- "module": "src/jsonforms/testers/isInvisible.ts"
2017
- }
2018
- }
2019
- ]
2020
- },
2021
- {
2022
- "kind": "javascript-module",
2023
- "path": "src/jsonforms/testers/isOneOfBoolean.ts",
2024
- "declarations": [
2025
- {
2026
- "kind": "variable",
2027
- "name": "isOneOfBoolean"
2028
- }
2029
- ],
2030
- "exports": [
2031
- {
2032
- "kind": "js",
2033
- "name": "isOneOfBoolean",
2034
- "declaration": {
2035
- "name": "isOneOfBoolean",
2036
- "module": "src/jsonforms/testers/isOneOfBoolean.ts"
2037
- }
2038
- }
2039
- ]
2040
- },
2041
- {
2042
- "kind": "javascript-module",
2043
- "path": "src/jsonforms/testers/isOneOfEnum.ts",
2044
- "declarations": [
2045
- {
2046
- "kind": "variable",
2047
- "name": "isOneOfEnum"
2048
- }
2049
- ],
2050
- "exports": [
2051
- {
2052
- "kind": "js",
2053
- "name": "isOneOfEnum",
2054
- "declaration": {
2055
- "name": "isOneOfEnum",
2056
- "module": "src/jsonforms/testers/isOneOfEnum.ts"
2057
- }
2058
- }
2059
- ]
2060
- },
2061
- {
2062
- "kind": "javascript-module",
2063
- "path": "src/jsonforms/testers/isOneOfNumber.ts",
2064
- "declarations": [
2065
- {
2066
- "kind": "variable",
2067
- "name": "isOneOfNumber"
2068
- }
2069
- ],
2070
- "exports": [
2071
- {
2072
- "kind": "js",
2073
- "name": "isOneOfNumber",
2074
- "declaration": {
2075
- "name": "isOneOfNumber",
2076
- "module": "src/jsonforms/testers/isOneOfNumber.ts"
2077
- }
2078
- }
2079
- ]
2080
- },
2081
- {
2082
- "kind": "javascript-module",
2083
- "path": "src/jsonforms/testers/isOneOfOptionMultiselect.ts",
2084
- "declarations": [
2085
- {
2086
- "kind": "variable",
2087
- "name": "isOneOfOptionMultiselect"
2088
- }
2089
- ],
2090
- "exports": [
2091
- {
2092
- "kind": "js",
2093
- "name": "isOneOfOptionMultiselect",
2094
- "declaration": {
2095
- "name": "isOneOfOptionMultiselect",
2096
- "module": "src/jsonforms/testers/isOneOfOptionMultiselect.ts"
2097
- }
2098
- }
2099
- ]
2100
- },
2101
- {
2102
- "kind": "javascript-module",
2103
- "path": "src/jsonforms/testers/isTime.ts",
2104
- "declarations": [
2105
- {
2106
- "kind": "variable",
2107
- "name": "isOneOfTime"
2108
- }
2109
- ],
2110
- "exports": [
2111
- {
2112
- "kind": "js",
2113
- "name": "isOneOfTime",
2114
- "declaration": {
2115
- "name": "isOneOfTime",
2116
- "module": "src/jsonforms/testers/isTime.ts"
2117
- }
2118
- }
2119
- ]
2120
- },
2121
- {
2122
- "kind": "javascript-module",
2123
- "path": "src/jsonforms/testers/optionIs.ts",
2124
- "declarations": [
2125
- {
2126
- "kind": "function",
2127
- "name": "optionIs",
2128
- "return": {
2129
- "type": {
2130
- "text": "Tester"
2131
- }
2132
- },
2133
- "parameters": [
2134
- {
2135
- "name": "optionName",
2136
- "type": {
2137
- "text": "string"
2138
- }
2139
- }
2140
- ]
2141
- }
2142
- ],
2143
- "exports": [
2144
- {
2145
- "kind": "js",
2146
- "name": "optionIs",
2147
- "declaration": {
2148
- "name": "optionIs",
2149
- "module": "src/jsonforms/testers/optionIs.ts"
2150
- }
2151
- }
2152
- ]
2153
- },
2154
1904
  {
2155
1905
  "kind": "javascript-module",
2156
1906
  "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
@@ -2516,31 +2266,113 @@
2516
2266
  "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
2517
2267
  "declarations": [
2518
2268
  {
2519
- "kind": "function",
2520
- "name": "controlWrapperTemplate",
2521
- "return": {
2522
- "type": {
2523
- "text": "ViewTemplate<DispatchRenderer>"
2524
- }
2525
- },
2526
- "parameters": [
2269
+ "kind": "variable",
2270
+ "name": "ControlWrapperRendererTemplate",
2271
+ "default": "html`\n <template>\n ${when(\n (x) => x.control?.visible,\n html`\n <div\n class=${(x) =>\n classNames(\n ['wrapperRoot', true],\n ['labelLeft', x.jsonForms?.core?.uischema?.options?.labelPlacement === 'left'],\n )}\n id=${(x) => x.control.path + '-wrapper'}\n data-test-id=${(x) => x.control.path + '-wrapper'}\n role=\"group\"\n aria-labelledby=${(x) => (x.computedLabel ? x.control.path + '-label' : null)}\n >\n ${when(\n (x) => x.computedLabel,\n html`\n <label\n id=\"${(x) => x.control.path + '-label'}\"\n for=\"${(x) => x.control.path}\"\n class=\"${(x) => classNames('label', ['visually-hidden', x.hideLabel])}\"\n >\n <span>\n ${(x) => x.computedLabel}${when(\n (x) => x.control.uischema?.options?.tooltip,\n (x) => x.getPrefixedTooltip,\n )}\n </span>\n </label>\n `,\n )}\n\n <div class=\"wrapper\" part=\"wrapper\">\n <slot></slot>\n </div>\n <div\n class=\"${(x) =>\n (x.control.errors || x.anyOfError) && x.touched ? 'error' : 'description'}\"\n >\n ${(x) =>\n x.touched && (x.control.errors || x.anyOfError)\n ? [x.control.errors, x.anyOfError].filter(Boolean).join(' ')\n : x.showDescription\n ? x.control.description\n : ''}\n </div>\n </div>\n `,\n )}\n </template>\n`"
2272
+ },
2273
+ {
2274
+ "kind": "class",
2275
+ "description": "",
2276
+ "name": "ControlWrapper",
2277
+ "members": [
2527
2278
  {
2528
- "name": "options",
2529
- "type": {
2530
- "text": "ControlWrapperOptions"
2531
- }
2532
- }
2279
+ "kind": "field",
2280
+ "name": "control"
2281
+ },
2282
+ {
2283
+ "kind": "field",
2284
+ "name": "jsonForms"
2285
+ },
2286
+ {
2287
+ "kind": "field",
2288
+ "name": "touched",
2289
+ "type": {
2290
+ "text": "boolean"
2291
+ }
2292
+ },
2293
+ {
2294
+ "kind": "field",
2295
+ "name": "hideLabel",
2296
+ "type": {
2297
+ "text": "boolean"
2298
+ },
2299
+ "default": "false"
2300
+ },
2301
+ {
2302
+ "kind": "field",
2303
+ "name": "prefix",
2304
+ "type": {
2305
+ "text": "string"
2306
+ }
2307
+ },
2308
+ {
2309
+ "kind": "field",
2310
+ "name": "showDescription",
2311
+ "readonly": true
2312
+ },
2313
+ {
2314
+ "kind": "field",
2315
+ "name": "computedLabel",
2316
+ "readonly": true
2317
+ },
2318
+ {
2319
+ "kind": "field",
2320
+ "name": "getPrefixedTooltip",
2321
+ "readonly": true
2322
+ },
2323
+ {
2324
+ "kind": "field",
2325
+ "name": "anyOfError",
2326
+ "readonly": true
2327
+ }
2533
2328
  ],
2534
- "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.",
2535
- "privacy": "public"
2329
+ "attributes": [
2330
+ {
2331
+ "name": "hide-label",
2332
+ "type": {
2333
+ "text": "boolean"
2334
+ },
2335
+ "default": "false",
2336
+ "fieldName": "hideLabel"
2337
+ },
2338
+ {
2339
+ "name": "prefix",
2340
+ "type": {
2341
+ "text": "string"
2342
+ },
2343
+ "fieldName": "prefix"
2344
+ }
2345
+ ],
2346
+ "superclass": {
2347
+ "name": "FASTElement",
2348
+ "package": "@microsoft/fast-element"
2349
+ },
2350
+ "tagName": "control-wrapper",
2351
+ "customElement": true
2536
2352
  }
2537
2353
  ],
2538
2354
  "exports": [
2539
2355
  {
2540
2356
  "kind": "js",
2541
- "name": "controlWrapperTemplate",
2357
+ "name": "ControlWrapperRendererTemplate",
2358
+ "declaration": {
2359
+ "name": "ControlWrapperRendererTemplate",
2360
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2361
+ }
2362
+ },
2363
+ {
2364
+ "kind": "js",
2365
+ "name": "ControlWrapper",
2366
+ "declaration": {
2367
+ "name": "ControlWrapper",
2368
+ "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2369
+ }
2370
+ },
2371
+ {
2372
+ "kind": "custom-element-definition",
2373
+ "name": "control-wrapper",
2542
2374
  "declaration": {
2543
- "name": "controlWrapperTemplate",
2375
+ "name": "ControlWrapper",
2544
2376
  "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2545
2377
  }
2546
2378
  }
@@ -2569,7 +2401,7 @@
2569
2401
  "type": {
2570
2402
  "text": "RendererEntry"
2571
2403
  },
2572
- "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2404
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps, // TODO: change mapper to handle dates instead of doing it in the template\n}"
2573
2405
  }
2574
2406
  ],
2575
2407
  "exports": [
@@ -2782,7 +2614,7 @@
2782
2614
  "type": {
2783
2615
  "text": "RendererEntry"
2784
2616
  },
2785
- "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2617
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps, // TODO: change mapper to handle dates instead of doing it in the template\n}"
2786
2618
  }
2787
2619
  ],
2788
2620
  "exports": [
@@ -2872,7 +2704,7 @@
2872
2704
  "type": {
2873
2705
  "text": "RendererEntry"
2874
2706
  },
2875
- "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps,\n}"
2707
+ "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps, // TODO: change mapper to handle dates instead of doing it in the template\n}"
2876
2708
  }
2877
2709
  ],
2878
2710
  "exports": [
@@ -2938,7 +2770,7 @@
2938
2770
  {
2939
2771
  "kind": "variable",
2940
2772
  "name": "LayoutArrayRendererTemplate",
2941
- "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`"
2773
+ "default": "html`\n <template>\n <div style=\"${(x) => (x.control.uischema.options?.border ? borderStyle : '')}\">\n <control-wrapper\n :control=${(x) => x.control}\n :jsonForms=${(x) => x.jsonforms}\n :touched=${(x) => x.touched}\n ?submitted=${(x) => x.submitted}\n >\n <array-list-wrapper :form=${(x) => x} :control=${(x) => x.control}></array-list-wrapper>\n </control-wrapper>\n </div>\n </template>\n`"
2942
2774
  },
2943
2775
  {
2944
2776
  "kind": "variable",
@@ -3012,7 +2844,7 @@
3012
2844
  {
3013
2845
  "kind": "variable",
3014
2846
  "name": "LayoutFormGridRendererTemplate",
3015
- "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n innerTemplate: html<DispatchRenderer>`\n <div\n style=\"\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 8px;\n \"\n >\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`"
2847
+ "default": "html`\n <template>\n <layout-wrapper :control=${(x) => x.control}>\n <div\n style=\"\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 8px;\n \"\n >\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 </layout-wrapper>\n </template>\n`"
3016
2848
  },
3017
2849
  {
3018
2850
  "kind": "variable",
@@ -3049,7 +2881,7 @@
3049
2881
  {
3050
2882
  "kind": "variable",
3051
2883
  "name": "LayoutGroupRendererTemplate",
3052
- "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n hideLabel: true,\n innerTemplate: html<DispatchRenderer>`\n <div>\n ${when(\n (x) => x.control.label,\n html<DispatchRenderer>`\n <div\n for=\"${(x) => x.control.path + '-wrapper'}\"\n style=\"color: var(--neutral-foreground-rest);\n padding-bottom: calc(var(--design-unit) * 1px);\n margin-bottom: calc(var(--design-unit) * 4px);\n font-weight: 600;\n font-size: var(--type-ramp-base-font-size);\n display: flex;\n justify-content: space-between;\"\n >\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`"
2884
+ "default": "html`\n <template>\n <layout-wrapper :control=${(x) => x.control} hide-label>\n <div>\n ${when(\n (x) => x.control.label,\n html`\n <div\n for=\"${(x) => x.control.path + '-wrapper'}\"\n style=\"color: var(--neutral-foreground-rest);\n padding-bottom: calc(var(--design-unit) * 1px);\n margin-bottom: calc(var(--design-unit) * 4px);\n font-weight: 600;\n font-size: var(--type-ramp-base-font-size);\n display: flex;\n justify-content: space-between;\"\n >\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 </layout-wrapper>\n </template>\n`"
3053
2885
  },
3054
2886
  {
3055
2887
  "kind": "variable",
@@ -3086,7 +2918,7 @@
3086
2918
  {
3087
2919
  "kind": "variable",
3088
2920
  "name": "LayoutHorizontalRendererTemplate",
3089
- "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n innerTemplate: html<DispatchRenderer>`\n <div\n style=\"\n display: flex;\n flex-direction: row;\n gap: 10px\"\n >\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <dispatch-renderer\n style=\"flex: 1; min-width: 0\"\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`"
2921
+ "default": "html`\n <template>\n <layout-wrapper :control=${(x) => x.control}>\n <div\n style=\"\n display: flex;\n flex-direction: row;\n gap: 10px\"\n >\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <dispatch-renderer\n style=\"flex: 1; min-width: 0\"\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 </layout-wrapper>\n </template>\n`"
3090
2922
  },
3091
2923
  {
3092
2924
  "kind": "variable",
@@ -3121,28 +2953,44 @@
3121
2953
  "path": "src/jsonforms/renderers/LayoutRenderer.ts",
3122
2954
  "declarations": [
3123
2955
  {
3124
- "kind": "function",
3125
- "name": "layoutWrapperTemplate",
3126
- "return": {
3127
- "type": {
3128
- "text": "ViewTemplate<DispatchRenderer>"
2956
+ "kind": "class",
2957
+ "description": "",
2958
+ "name": "LayoutWrapper",
2959
+ "members": [
2960
+ {
2961
+ "kind": "field",
2962
+ "name": "control"
2963
+ },
2964
+ {
2965
+ "kind": "field",
2966
+ "name": "hideLabel",
2967
+ "type": {
2968
+ "text": "boolean"
2969
+ },
2970
+ "default": "false"
3129
2971
  }
3130
- },
3131
- "parameters": [
2972
+ ],
2973
+ "attributes": [
3132
2974
  {
3133
- "name": "options",
2975
+ "name": "hide-label",
3134
2976
  "type": {
3135
- "text": "LayoutWrapperOptions"
3136
- }
2977
+ "text": "boolean"
2978
+ },
2979
+ "default": "false",
2980
+ "fieldName": "hideLabel"
3137
2981
  }
3138
2982
  ],
3139
- "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.",
3140
- "privacy": "public"
2983
+ "superclass": {
2984
+ "name": "FASTElement",
2985
+ "package": "@microsoft/fast-element"
2986
+ },
2987
+ "tagName": "layout-wrapper",
2988
+ "customElement": true
3141
2989
  },
3142
2990
  {
3143
2991
  "kind": "variable",
3144
2992
  "name": "LayoutRendererTemplate",
3145
- "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n innerTemplate: html<DispatchRenderer>`\n <div>\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`"
2993
+ "default": "html`\n <template>\n <layout-wrapper :control=${(x) => x.control}>\n <div>\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 </layout-wrapper>\n </template>\n`"
3146
2994
  },
3147
2995
  {
3148
2996
  "kind": "variable",
@@ -3156,9 +3004,17 @@
3156
3004
  "exports": [
3157
3005
  {
3158
3006
  "kind": "js",
3159
- "name": "layoutWrapperTemplate",
3007
+ "name": "LayoutWrapper",
3008
+ "declaration": {
3009
+ "name": "LayoutWrapper",
3010
+ "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3011
+ }
3012
+ },
3013
+ {
3014
+ "kind": "custom-element-definition",
3015
+ "name": "layout-wrapper",
3160
3016
  "declaration": {
3161
- "name": "layoutWrapperTemplate",
3017
+ "name": "LayoutWrapper",
3162
3018
  "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3163
3019
  }
3164
3020
  },
@@ -3224,7 +3080,7 @@
3224
3080
  {
3225
3081
  "kind": "variable",
3226
3082
  "name": "LayoutVertical2ColumnsRendererTemplate",
3227
- "default": "html<DispatchRenderer>`\n <template>\n ${layoutWrapperTemplate({\n innerTemplate: html<DispatchRenderer>`\n <div\n style=\"\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-between;\"\n >\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <div style=\"width: 49%\">\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`"
3083
+ "default": "html`\n <template>\n <layout-wrapper :control=${(x) => x.control}>\n <div\n style=\"\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-between;\"\n >\n ${repeat(\n (x) => x.control.uischema.elements,\n html`\n <div style=\"width: 49%\">\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 </div>\n `,\n )}\n </layout-wrapper>\n </template>\n`"
3228
3084
  },
3229
3085
  {
3230
3086
  "kind": "variable",
@@ -4205,6 +4061,232 @@
4205
4061
  }
4206
4062
  }
4207
4063
  ]
4064
+ },
4065
+ {
4066
+ "kind": "javascript-module",
4067
+ "path": "src/jsonforms/testers/isArray.ts",
4068
+ "declarations": [
4069
+ {
4070
+ "kind": "function",
4071
+ "name": "isArray",
4072
+ "parameters": [
4073
+ {
4074
+ "name": "itemsType",
4075
+ "type": {
4076
+ "text": "ArrayItemsType"
4077
+ }
4078
+ }
4079
+ ]
4080
+ }
4081
+ ],
4082
+ "exports": [
4083
+ {
4084
+ "kind": "js",
4085
+ "name": "isArray",
4086
+ "declaration": {
4087
+ "name": "isArray",
4088
+ "module": "src/jsonforms/testers/isArray.ts"
4089
+ }
4090
+ }
4091
+ ]
4092
+ },
4093
+ {
4094
+ "kind": "javascript-module",
4095
+ "path": "src/jsonforms/testers/isDate.ts",
4096
+ "declarations": [
4097
+ {
4098
+ "kind": "variable",
4099
+ "name": "isOneOfDate"
4100
+ }
4101
+ ],
4102
+ "exports": [
4103
+ {
4104
+ "kind": "js",
4105
+ "name": "isOneOfDate",
4106
+ "declaration": {
4107
+ "name": "isOneOfDate",
4108
+ "module": "src/jsonforms/testers/isDate.ts"
4109
+ }
4110
+ }
4111
+ ]
4112
+ },
4113
+ {
4114
+ "kind": "javascript-module",
4115
+ "path": "src/jsonforms/testers/isInvisible.ts",
4116
+ "declarations": [
4117
+ {
4118
+ "kind": "function",
4119
+ "name": "isInvisible",
4120
+ "return": {
4121
+ "type": {
4122
+ "text": "boolean"
4123
+ }
4124
+ },
4125
+ "parameters": [
4126
+ {
4127
+ "name": "uischema",
4128
+ "type": {
4129
+ "text": "UISchemaElement"
4130
+ }
4131
+ },
4132
+ {
4133
+ "name": "schema",
4134
+ "type": {
4135
+ "text": "JsonSchema"
4136
+ }
4137
+ },
4138
+ {
4139
+ "name": "context",
4140
+ "type": {
4141
+ "text": "TesterContext"
4142
+ }
4143
+ }
4144
+ ]
4145
+ }
4146
+ ],
4147
+ "exports": [
4148
+ {
4149
+ "kind": "js",
4150
+ "name": "isInvisible",
4151
+ "declaration": {
4152
+ "name": "isInvisible",
4153
+ "module": "src/jsonforms/testers/isInvisible.ts"
4154
+ }
4155
+ }
4156
+ ]
4157
+ },
4158
+ {
4159
+ "kind": "javascript-module",
4160
+ "path": "src/jsonforms/testers/isOneOfBoolean.ts",
4161
+ "declarations": [
4162
+ {
4163
+ "kind": "variable",
4164
+ "name": "isOneOfBoolean"
4165
+ }
4166
+ ],
4167
+ "exports": [
4168
+ {
4169
+ "kind": "js",
4170
+ "name": "isOneOfBoolean",
4171
+ "declaration": {
4172
+ "name": "isOneOfBoolean",
4173
+ "module": "src/jsonforms/testers/isOneOfBoolean.ts"
4174
+ }
4175
+ }
4176
+ ]
4177
+ },
4178
+ {
4179
+ "kind": "javascript-module",
4180
+ "path": "src/jsonforms/testers/isOneOfEnum.ts",
4181
+ "declarations": [
4182
+ {
4183
+ "kind": "variable",
4184
+ "name": "isOneOfEnum"
4185
+ }
4186
+ ],
4187
+ "exports": [
4188
+ {
4189
+ "kind": "js",
4190
+ "name": "isOneOfEnum",
4191
+ "declaration": {
4192
+ "name": "isOneOfEnum",
4193
+ "module": "src/jsonforms/testers/isOneOfEnum.ts"
4194
+ }
4195
+ }
4196
+ ]
4197
+ },
4198
+ {
4199
+ "kind": "javascript-module",
4200
+ "path": "src/jsonforms/testers/isOneOfNumber.ts",
4201
+ "declarations": [
4202
+ {
4203
+ "kind": "variable",
4204
+ "name": "isOneOfNumber"
4205
+ }
4206
+ ],
4207
+ "exports": [
4208
+ {
4209
+ "kind": "js",
4210
+ "name": "isOneOfNumber",
4211
+ "declaration": {
4212
+ "name": "isOneOfNumber",
4213
+ "module": "src/jsonforms/testers/isOneOfNumber.ts"
4214
+ }
4215
+ }
4216
+ ]
4217
+ },
4218
+ {
4219
+ "kind": "javascript-module",
4220
+ "path": "src/jsonforms/testers/isOneOfOptionMultiselect.ts",
4221
+ "declarations": [
4222
+ {
4223
+ "kind": "variable",
4224
+ "name": "isOneOfOptionMultiselect"
4225
+ }
4226
+ ],
4227
+ "exports": [
4228
+ {
4229
+ "kind": "js",
4230
+ "name": "isOneOfOptionMultiselect",
4231
+ "declaration": {
4232
+ "name": "isOneOfOptionMultiselect",
4233
+ "module": "src/jsonforms/testers/isOneOfOptionMultiselect.ts"
4234
+ }
4235
+ }
4236
+ ]
4237
+ },
4238
+ {
4239
+ "kind": "javascript-module",
4240
+ "path": "src/jsonforms/testers/isTime.ts",
4241
+ "declarations": [
4242
+ {
4243
+ "kind": "variable",
4244
+ "name": "isOneOfTime"
4245
+ }
4246
+ ],
4247
+ "exports": [
4248
+ {
4249
+ "kind": "js",
4250
+ "name": "isOneOfTime",
4251
+ "declaration": {
4252
+ "name": "isOneOfTime",
4253
+ "module": "src/jsonforms/testers/isTime.ts"
4254
+ }
4255
+ }
4256
+ ]
4257
+ },
4258
+ {
4259
+ "kind": "javascript-module",
4260
+ "path": "src/jsonforms/testers/optionIs.ts",
4261
+ "declarations": [
4262
+ {
4263
+ "kind": "function",
4264
+ "name": "optionIs",
4265
+ "return": {
4266
+ "type": {
4267
+ "text": "Tester"
4268
+ }
4269
+ },
4270
+ "parameters": [
4271
+ {
4272
+ "name": "optionName",
4273
+ "type": {
4274
+ "text": "string"
4275
+ }
4276
+ }
4277
+ ]
4278
+ }
4279
+ ],
4280
+ "exports": [
4281
+ {
4282
+ "kind": "js",
4283
+ "name": "optionIs",
4284
+ "declaration": {
4285
+ "name": "optionIs",
4286
+ "module": "src/jsonforms/testers/optionIs.ts"
4287
+ }
4288
+ }
4289
+ ]
4208
4290
  }
4209
4291
  ]
4210
4292
  }