@genesislcap/foundation-forms 14.423.0 → 14.424.0-react-dom-rendering.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/custom-elements.json +287 -369
  2. package/dist/dts/filters/filters.template.d.ts.map +1 -1
  3. package/dist/dts/form.d.ts +4 -10
  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 +2 -0
  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 +31 -11
  16. package/dist/dts/jsonforms/renderers/ControlWrapperRenderer.d.ts.map +1 -1
  17. package/dist/dts/jsonforms/renderers/DateControlRenderer.d.ts +2 -1
  18. package/dist/dts/jsonforms/renderers/DateControlRenderer.d.ts.map +1 -1
  19. package/dist/dts/jsonforms/renderers/EnumControlRenderer.d.ts +2 -1
  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 +2 -1
  23. package/dist/dts/jsonforms/renderers/FilterDateControlRenderer.d.ts.map +1 -1
  24. package/dist/dts/jsonforms/renderers/FilterNumberControlRenderer.d.ts +2 -1
  25. package/dist/dts/jsonforms/renderers/FilterNumberControlRenderer.d.ts.map +1 -1
  26. package/dist/dts/jsonforms/renderers/FilterTimeControlRenderer.d.ts +2 -1
  27. package/dist/dts/jsonforms/renderers/FilterTimeControlRenderer.d.ts.map +1 -1
  28. package/dist/dts/jsonforms/renderers/LayoutArrayRenderer.d.ts +2 -1
  29. package/dist/dts/jsonforms/renderers/LayoutArrayRenderer.d.ts.map +1 -1
  30. package/dist/dts/jsonforms/renderers/LayoutFormGridRenderer.d.ts +2 -1
  31. package/dist/dts/jsonforms/renderers/LayoutFormGridRenderer.d.ts.map +1 -1
  32. package/dist/dts/jsonforms/renderers/LayoutGroupRenderer.d.ts +2 -1
  33. package/dist/dts/jsonforms/renderers/LayoutGroupRenderer.d.ts.map +1 -1
  34. package/dist/dts/jsonforms/renderers/LayoutHorizontalRenderer.d.ts +2 -1
  35. package/dist/dts/jsonforms/renderers/LayoutHorizontalRenderer.d.ts.map +1 -1
  36. package/dist/dts/jsonforms/renderers/LayoutRenderer.d.ts +21 -5
  37. package/dist/dts/jsonforms/renderers/LayoutRenderer.d.ts.map +1 -1
  38. package/dist/dts/jsonforms/renderers/LayoutVertical2ColumnsRenderer.d.ts +2 -1
  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 +2 -1
  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 +0 -18
  50. package/dist/dts/types.d.ts +12 -0
  51. package/dist/dts/types.d.ts.map +1 -1
  52. package/dist/esm/filters/filters.template.js +1 -2
  53. package/dist/esm/form.js +2 -1
  54. package/dist/esm/form.styles.js +5 -2
  55. package/dist/esm/form.template.js +1 -2
  56. package/dist/esm/index.js +2 -0
  57. package/dist/esm/jsonforms/json-forms.js +28 -2
  58. package/dist/esm/jsonforms/renderers/ArrayListWrapperRenderer.js +48 -46
  59. package/dist/esm/jsonforms/renderers/BooleanControlRenderer.js +19 -20
  60. package/dist/esm/jsonforms/renderers/CategorizationWrapperRenderer.js +9 -4
  61. package/dist/esm/jsonforms/renderers/ConnectedMultiselectControlRenderer.js +38 -40
  62. package/dist/esm/jsonforms/renderers/ConnectedSelectControlRenderer.js +36 -38
  63. package/dist/esm/jsonforms/renderers/ControlWrapperRenderer.js +104 -131
  64. package/dist/esm/jsonforms/renderers/DateControlRenderer.js +41 -43
  65. package/dist/esm/jsonforms/renderers/EnumControlRenderer.js +24 -26
  66. package/dist/esm/jsonforms/renderers/EnumRadioGroupControlRenderer.js +24 -26
  67. package/dist/esm/jsonforms/renderers/FilterDateControlRenderer.js +81 -77
  68. package/dist/esm/jsonforms/renderers/FilterNumberControlRenderer.js +54 -51
  69. package/dist/esm/jsonforms/renderers/FilterTimeControlRenderer.js +69 -69
  70. package/dist/esm/jsonforms/renderers/LayoutArrayRenderer.js +7 -8
  71. package/dist/esm/jsonforms/renderers/LayoutFormGridRenderer.js +27 -26
  72. package/dist/esm/jsonforms/renderers/LayoutGroupRenderer.js +36 -32
  73. package/dist/esm/jsonforms/renderers/LayoutHorizontalRenderer.js +27 -26
  74. package/dist/esm/jsonforms/renderers/LayoutRenderer.js +36 -44
  75. package/dist/esm/jsonforms/renderers/LayoutVertical2ColumnsRenderer.js +18 -17
  76. package/dist/esm/jsonforms/renderers/MulticolumnDropdownControlRenderer.js +36 -38
  77. package/dist/esm/jsonforms/renderers/NumberControlRenderer.js +30 -30
  78. package/dist/esm/jsonforms/renderers/SegmentedControlRenderer.js +25 -27
  79. package/dist/esm/jsonforms/renderers/StepperWrapperRenderer.js +2 -1
  80. package/dist/esm/jsonforms/renderers/StringArrayControlRenderer.js +18 -20
  81. package/dist/esm/jsonforms/renderers/StringControlRenderer.js +41 -42
  82. package/dist/esm/jsonforms/renderers/VerticalCategorizationWrapperRenderer.js +13 -9
  83. package/dist/esm/jsonforms/renderers/dispatch-renderer.js +1 -0
  84. package/dist/foundation-forms.api.json +114 -2
  85. package/dist/foundation-forms.d.ts +69 -10
  86. package/dist/react.cjs +0 -8
  87. package/dist/react.mjs +0 -6
  88. package/package.json +15 -15
@@ -706,6 +706,30 @@
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
+ },
709
733
  {
710
734
  "kind": "js",
711
735
  "name": "*",
@@ -1901,232 +1925,6 @@
1901
1925
  }
1902
1926
  ]
1903
1927
  },
1904
- {
1905
- "kind": "javascript-module",
1906
- "path": "src/jsonforms/testers/isArray.ts",
1907
- "declarations": [
1908
- {
1909
- "kind": "function",
1910
- "name": "isArray",
1911
- "parameters": [
1912
- {
1913
- "name": "itemsType",
1914
- "type": {
1915
- "text": "ArrayItemsType"
1916
- }
1917
- }
1918
- ]
1919
- }
1920
- ],
1921
- "exports": [
1922
- {
1923
- "kind": "js",
1924
- "name": "isArray",
1925
- "declaration": {
1926
- "name": "isArray",
1927
- "module": "src/jsonforms/testers/isArray.ts"
1928
- }
1929
- }
1930
- ]
1931
- },
1932
- {
1933
- "kind": "javascript-module",
1934
- "path": "src/jsonforms/testers/isDate.ts",
1935
- "declarations": [
1936
- {
1937
- "kind": "variable",
1938
- "name": "isOneOfDate"
1939
- }
1940
- ],
1941
- "exports": [
1942
- {
1943
- "kind": "js",
1944
- "name": "isOneOfDate",
1945
- "declaration": {
1946
- "name": "isOneOfDate",
1947
- "module": "src/jsonforms/testers/isDate.ts"
1948
- }
1949
- }
1950
- ]
1951
- },
1952
- {
1953
- "kind": "javascript-module",
1954
- "path": "src/jsonforms/testers/isInvisible.ts",
1955
- "declarations": [
1956
- {
1957
- "kind": "function",
1958
- "name": "isInvisible",
1959
- "return": {
1960
- "type": {
1961
- "text": "boolean"
1962
- }
1963
- },
1964
- "parameters": [
1965
- {
1966
- "name": "uischema",
1967
- "type": {
1968
- "text": "UISchemaElement"
1969
- }
1970
- },
1971
- {
1972
- "name": "schema",
1973
- "type": {
1974
- "text": "JsonSchema"
1975
- }
1976
- },
1977
- {
1978
- "name": "context",
1979
- "type": {
1980
- "text": "TesterContext"
1981
- }
1982
- }
1983
- ]
1984
- }
1985
- ],
1986
- "exports": [
1987
- {
1988
- "kind": "js",
1989
- "name": "isInvisible",
1990
- "declaration": {
1991
- "name": "isInvisible",
1992
- "module": "src/jsonforms/testers/isInvisible.ts"
1993
- }
1994
- }
1995
- ]
1996
- },
1997
- {
1998
- "kind": "javascript-module",
1999
- "path": "src/jsonforms/testers/isOneOfBoolean.ts",
2000
- "declarations": [
2001
- {
2002
- "kind": "variable",
2003
- "name": "isOneOfBoolean"
2004
- }
2005
- ],
2006
- "exports": [
2007
- {
2008
- "kind": "js",
2009
- "name": "isOneOfBoolean",
2010
- "declaration": {
2011
- "name": "isOneOfBoolean",
2012
- "module": "src/jsonforms/testers/isOneOfBoolean.ts"
2013
- }
2014
- }
2015
- ]
2016
- },
2017
- {
2018
- "kind": "javascript-module",
2019
- "path": "src/jsonforms/testers/isOneOfEnum.ts",
2020
- "declarations": [
2021
- {
2022
- "kind": "variable",
2023
- "name": "isOneOfEnum"
2024
- }
2025
- ],
2026
- "exports": [
2027
- {
2028
- "kind": "js",
2029
- "name": "isOneOfEnum",
2030
- "declaration": {
2031
- "name": "isOneOfEnum",
2032
- "module": "src/jsonforms/testers/isOneOfEnum.ts"
2033
- }
2034
- }
2035
- ]
2036
- },
2037
- {
2038
- "kind": "javascript-module",
2039
- "path": "src/jsonforms/testers/isOneOfNumber.ts",
2040
- "declarations": [
2041
- {
2042
- "kind": "variable",
2043
- "name": "isOneOfNumber"
2044
- }
2045
- ],
2046
- "exports": [
2047
- {
2048
- "kind": "js",
2049
- "name": "isOneOfNumber",
2050
- "declaration": {
2051
- "name": "isOneOfNumber",
2052
- "module": "src/jsonforms/testers/isOneOfNumber.ts"
2053
- }
2054
- }
2055
- ]
2056
- },
2057
- {
2058
- "kind": "javascript-module",
2059
- "path": "src/jsonforms/testers/isOneOfOptionMultiselect.ts",
2060
- "declarations": [
2061
- {
2062
- "kind": "variable",
2063
- "name": "isOneOfOptionMultiselect"
2064
- }
2065
- ],
2066
- "exports": [
2067
- {
2068
- "kind": "js",
2069
- "name": "isOneOfOptionMultiselect",
2070
- "declaration": {
2071
- "name": "isOneOfOptionMultiselect",
2072
- "module": "src/jsonforms/testers/isOneOfOptionMultiselect.ts"
2073
- }
2074
- }
2075
- ]
2076
- },
2077
- {
2078
- "kind": "javascript-module",
2079
- "path": "src/jsonforms/testers/isTime.ts",
2080
- "declarations": [
2081
- {
2082
- "kind": "variable",
2083
- "name": "isOneOfTime"
2084
- }
2085
- ],
2086
- "exports": [
2087
- {
2088
- "kind": "js",
2089
- "name": "isOneOfTime",
2090
- "declaration": {
2091
- "name": "isOneOfTime",
2092
- "module": "src/jsonforms/testers/isTime.ts"
2093
- }
2094
- }
2095
- ]
2096
- },
2097
- {
2098
- "kind": "javascript-module",
2099
- "path": "src/jsonforms/testers/optionIs.ts",
2100
- "declarations": [
2101
- {
2102
- "kind": "function",
2103
- "name": "optionIs",
2104
- "return": {
2105
- "type": {
2106
- "text": "Tester"
2107
- }
2108
- },
2109
- "parameters": [
2110
- {
2111
- "name": "optionName",
2112
- "type": {
2113
- "text": "string"
2114
- }
2115
- }
2116
- ]
2117
- }
2118
- ],
2119
- "exports": [
2120
- {
2121
- "kind": "js",
2122
- "name": "optionIs",
2123
- "declaration": {
2124
- "name": "optionIs",
2125
- "module": "src/jsonforms/testers/optionIs.ts"
2126
- }
2127
- }
2128
- ]
2129
- },
2130
1928
  {
2131
1929
  "kind": "javascript-module",
2132
1930
  "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
@@ -2492,113 +2290,31 @@
2492
2290
  "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
2493
2291
  "declarations": [
2494
2292
  {
2495
- "kind": "variable",
2496
- "name": "ControlWrapperRendererTemplate",
2497
- "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`"
2498
- },
2499
- {
2500
- "kind": "class",
2501
- "description": "",
2502
- "name": "ControlWrapper",
2503
- "members": [
2293
+ "kind": "function",
2294
+ "name": "controlWrapperTemplate",
2295
+ "return": {
2296
+ "type": {
2297
+ "text": "ViewTemplate<DispatchRenderer>"
2298
+ }
2299
+ },
2300
+ "parameters": [
2504
2301
  {
2505
- "kind": "field",
2506
- "name": "control"
2507
- },
2508
- {
2509
- "kind": "field",
2510
- "name": "jsonForms"
2511
- },
2512
- {
2513
- "kind": "field",
2514
- "name": "touched",
2302
+ "name": "options",
2515
2303
  "type": {
2516
- "text": "boolean"
2304
+ "text": "ControlWrapperOptions"
2517
2305
  }
2518
- },
2519
- {
2520
- "kind": "field",
2521
- "name": "hideLabel",
2522
- "type": {
2523
- "text": "boolean"
2524
- },
2525
- "default": "false"
2526
- },
2527
- {
2528
- "kind": "field",
2529
- "name": "prefix",
2530
- "type": {
2531
- "text": "string"
2532
- }
2533
- },
2534
- {
2535
- "kind": "field",
2536
- "name": "showDescription",
2537
- "readonly": true
2538
- },
2539
- {
2540
- "kind": "field",
2541
- "name": "computedLabel",
2542
- "readonly": true
2543
- },
2544
- {
2545
- "kind": "field",
2546
- "name": "getPrefixedTooltip",
2547
- "readonly": true
2548
- },
2549
- {
2550
- "kind": "field",
2551
- "name": "anyOfError",
2552
- "readonly": true
2553
2306
  }
2554
2307
  ],
2555
- "attributes": [
2556
- {
2557
- "name": "hide-label",
2558
- "type": {
2559
- "text": "boolean"
2560
- },
2561
- "default": "false",
2562
- "fieldName": "hideLabel"
2563
- },
2564
- {
2565
- "name": "prefix",
2566
- "type": {
2567
- "text": "string"
2568
- },
2569
- "fieldName": "prefix"
2570
- }
2571
- ],
2572
- "superclass": {
2573
- "name": "FASTElement",
2574
- "package": "@microsoft/fast-element"
2575
- },
2576
- "tagName": "control-wrapper",
2577
- "customElement": true
2308
+ "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.",
2309
+ "privacy": "public"
2578
2310
  }
2579
2311
  ],
2580
2312
  "exports": [
2581
2313
  {
2582
2314
  "kind": "js",
2583
- "name": "ControlWrapperRendererTemplate",
2584
- "declaration": {
2585
- "name": "ControlWrapperRendererTemplate",
2586
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2587
- }
2588
- },
2589
- {
2590
- "kind": "js",
2591
- "name": "ControlWrapper",
2315
+ "name": "controlWrapperTemplate",
2592
2316
  "declaration": {
2593
- "name": "ControlWrapper",
2594
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2595
- }
2596
- },
2597
- {
2598
- "kind": "custom-element-definition",
2599
- "name": "control-wrapper",
2600
- "declaration": {
2601
- "name": "ControlWrapper",
2317
+ "name": "controlWrapperTemplate",
2602
2318
  "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2603
2319
  }
2604
2320
  }
@@ -2627,7 +2343,7 @@
2627
2343
  "type": {
2628
2344
  "text": "RendererEntry"
2629
2345
  },
2630
- "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}"
2346
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2631
2347
  }
2632
2348
  ],
2633
2349
  "exports": [
@@ -2840,7 +2556,7 @@
2840
2556
  "type": {
2841
2557
  "text": "RendererEntry"
2842
2558
  },
2843
- "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}"
2559
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2844
2560
  }
2845
2561
  ],
2846
2562
  "exports": [
@@ -2930,7 +2646,7 @@
2930
2646
  "type": {
2931
2647
  "text": "RendererEntry"
2932
2648
  },
2933
- "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}"
2649
+ "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps,\n}"
2934
2650
  }
2935
2651
  ],
2936
2652
  "exports": [
@@ -2996,7 +2712,7 @@
2996
2712
  {
2997
2713
  "kind": "variable",
2998
2714
  "name": "LayoutArrayRendererTemplate",
2999
- "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`"
2715
+ "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`"
3000
2716
  },
3001
2717
  {
3002
2718
  "kind": "variable",
@@ -3070,7 +2786,7 @@
3070
2786
  {
3071
2787
  "kind": "variable",
3072
2788
  "name": "LayoutFormGridRendererTemplate",
3073
- "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`"
2789
+ "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`"
3074
2790
  },
3075
2791
  {
3076
2792
  "kind": "variable",
@@ -3107,7 +2823,7 @@
3107
2823
  {
3108
2824
  "kind": "variable",
3109
2825
  "name": "LayoutGroupRendererTemplate",
3110
- "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`"
2826
+ "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`"
3111
2827
  },
3112
2828
  {
3113
2829
  "kind": "variable",
@@ -3144,7 +2860,7 @@
3144
2860
  {
3145
2861
  "kind": "variable",
3146
2862
  "name": "LayoutHorizontalRendererTemplate",
3147
- "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`"
2863
+ "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`"
3148
2864
  },
3149
2865
  {
3150
2866
  "kind": "variable",
@@ -3179,44 +2895,28 @@
3179
2895
  "path": "src/jsonforms/renderers/LayoutRenderer.ts",
3180
2896
  "declarations": [
3181
2897
  {
3182
- "kind": "class",
3183
- "description": "",
3184
- "name": "LayoutWrapper",
3185
- "members": [
3186
- {
3187
- "kind": "field",
3188
- "name": "control"
3189
- },
3190
- {
3191
- "kind": "field",
3192
- "name": "hideLabel",
3193
- "type": {
3194
- "text": "boolean"
3195
- },
3196
- "default": "false"
2898
+ "kind": "function",
2899
+ "name": "layoutWrapperTemplate",
2900
+ "return": {
2901
+ "type": {
2902
+ "text": "ViewTemplate<DispatchRenderer>"
3197
2903
  }
3198
- ],
3199
- "attributes": [
2904
+ },
2905
+ "parameters": [
3200
2906
  {
3201
- "name": "hide-label",
2907
+ "name": "options",
3202
2908
  "type": {
3203
- "text": "boolean"
3204
- },
3205
- "default": "false",
3206
- "fieldName": "hideLabel"
2909
+ "text": "LayoutWrapperOptions"
2910
+ }
3207
2911
  }
3208
2912
  ],
3209
- "superclass": {
3210
- "name": "FASTElement",
3211
- "package": "@microsoft/fast-element"
3212
- },
3213
- "tagName": "layout-wrapper",
3214
- "customElement": true
2913
+ "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.",
2914
+ "privacy": "public"
3215
2915
  },
3216
2916
  {
3217
2917
  "kind": "variable",
3218
2918
  "name": "LayoutRendererTemplate",
3219
- "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`"
2919
+ "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`"
3220
2920
  },
3221
2921
  {
3222
2922
  "kind": "variable",
@@ -3230,17 +2930,9 @@
3230
2930
  "exports": [
3231
2931
  {
3232
2932
  "kind": "js",
3233
- "name": "LayoutWrapper",
3234
- "declaration": {
3235
- "name": "LayoutWrapper",
3236
- "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3237
- }
3238
- },
3239
- {
3240
- "kind": "custom-element-definition",
3241
- "name": "layout-wrapper",
2933
+ "name": "layoutWrapperTemplate",
3242
2934
  "declaration": {
3243
- "name": "LayoutWrapper",
2935
+ "name": "layoutWrapperTemplate",
3244
2936
  "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3245
2937
  }
3246
2938
  },
@@ -3306,7 +2998,7 @@
3306
2998
  {
3307
2999
  "kind": "variable",
3308
3000
  "name": "LayoutVertical2ColumnsRendererTemplate",
3309
- "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`"
3001
+ "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`"
3310
3002
  },
3311
3003
  {
3312
3004
  "kind": "variable",
@@ -4287,6 +3979,232 @@
4287
3979
  }
4288
3980
  }
4289
3981
  ]
3982
+ },
3983
+ {
3984
+ "kind": "javascript-module",
3985
+ "path": "src/jsonforms/testers/isArray.ts",
3986
+ "declarations": [
3987
+ {
3988
+ "kind": "function",
3989
+ "name": "isArray",
3990
+ "parameters": [
3991
+ {
3992
+ "name": "itemsType",
3993
+ "type": {
3994
+ "text": "ArrayItemsType"
3995
+ }
3996
+ }
3997
+ ]
3998
+ }
3999
+ ],
4000
+ "exports": [
4001
+ {
4002
+ "kind": "js",
4003
+ "name": "isArray",
4004
+ "declaration": {
4005
+ "name": "isArray",
4006
+ "module": "src/jsonforms/testers/isArray.ts"
4007
+ }
4008
+ }
4009
+ ]
4010
+ },
4011
+ {
4012
+ "kind": "javascript-module",
4013
+ "path": "src/jsonforms/testers/isDate.ts",
4014
+ "declarations": [
4015
+ {
4016
+ "kind": "variable",
4017
+ "name": "isOneOfDate"
4018
+ }
4019
+ ],
4020
+ "exports": [
4021
+ {
4022
+ "kind": "js",
4023
+ "name": "isOneOfDate",
4024
+ "declaration": {
4025
+ "name": "isOneOfDate",
4026
+ "module": "src/jsonforms/testers/isDate.ts"
4027
+ }
4028
+ }
4029
+ ]
4030
+ },
4031
+ {
4032
+ "kind": "javascript-module",
4033
+ "path": "src/jsonforms/testers/isInvisible.ts",
4034
+ "declarations": [
4035
+ {
4036
+ "kind": "function",
4037
+ "name": "isInvisible",
4038
+ "return": {
4039
+ "type": {
4040
+ "text": "boolean"
4041
+ }
4042
+ },
4043
+ "parameters": [
4044
+ {
4045
+ "name": "uischema",
4046
+ "type": {
4047
+ "text": "UISchemaElement"
4048
+ }
4049
+ },
4050
+ {
4051
+ "name": "schema",
4052
+ "type": {
4053
+ "text": "JsonSchema"
4054
+ }
4055
+ },
4056
+ {
4057
+ "name": "context",
4058
+ "type": {
4059
+ "text": "TesterContext"
4060
+ }
4061
+ }
4062
+ ]
4063
+ }
4064
+ ],
4065
+ "exports": [
4066
+ {
4067
+ "kind": "js",
4068
+ "name": "isInvisible",
4069
+ "declaration": {
4070
+ "name": "isInvisible",
4071
+ "module": "src/jsonforms/testers/isInvisible.ts"
4072
+ }
4073
+ }
4074
+ ]
4075
+ },
4076
+ {
4077
+ "kind": "javascript-module",
4078
+ "path": "src/jsonforms/testers/isOneOfBoolean.ts",
4079
+ "declarations": [
4080
+ {
4081
+ "kind": "variable",
4082
+ "name": "isOneOfBoolean"
4083
+ }
4084
+ ],
4085
+ "exports": [
4086
+ {
4087
+ "kind": "js",
4088
+ "name": "isOneOfBoolean",
4089
+ "declaration": {
4090
+ "name": "isOneOfBoolean",
4091
+ "module": "src/jsonforms/testers/isOneOfBoolean.ts"
4092
+ }
4093
+ }
4094
+ ]
4095
+ },
4096
+ {
4097
+ "kind": "javascript-module",
4098
+ "path": "src/jsonforms/testers/isOneOfEnum.ts",
4099
+ "declarations": [
4100
+ {
4101
+ "kind": "variable",
4102
+ "name": "isOneOfEnum"
4103
+ }
4104
+ ],
4105
+ "exports": [
4106
+ {
4107
+ "kind": "js",
4108
+ "name": "isOneOfEnum",
4109
+ "declaration": {
4110
+ "name": "isOneOfEnum",
4111
+ "module": "src/jsonforms/testers/isOneOfEnum.ts"
4112
+ }
4113
+ }
4114
+ ]
4115
+ },
4116
+ {
4117
+ "kind": "javascript-module",
4118
+ "path": "src/jsonforms/testers/isOneOfNumber.ts",
4119
+ "declarations": [
4120
+ {
4121
+ "kind": "variable",
4122
+ "name": "isOneOfNumber"
4123
+ }
4124
+ ],
4125
+ "exports": [
4126
+ {
4127
+ "kind": "js",
4128
+ "name": "isOneOfNumber",
4129
+ "declaration": {
4130
+ "name": "isOneOfNumber",
4131
+ "module": "src/jsonforms/testers/isOneOfNumber.ts"
4132
+ }
4133
+ }
4134
+ ]
4135
+ },
4136
+ {
4137
+ "kind": "javascript-module",
4138
+ "path": "src/jsonforms/testers/isOneOfOptionMultiselect.ts",
4139
+ "declarations": [
4140
+ {
4141
+ "kind": "variable",
4142
+ "name": "isOneOfOptionMultiselect"
4143
+ }
4144
+ ],
4145
+ "exports": [
4146
+ {
4147
+ "kind": "js",
4148
+ "name": "isOneOfOptionMultiselect",
4149
+ "declaration": {
4150
+ "name": "isOneOfOptionMultiselect",
4151
+ "module": "src/jsonforms/testers/isOneOfOptionMultiselect.ts"
4152
+ }
4153
+ }
4154
+ ]
4155
+ },
4156
+ {
4157
+ "kind": "javascript-module",
4158
+ "path": "src/jsonforms/testers/isTime.ts",
4159
+ "declarations": [
4160
+ {
4161
+ "kind": "variable",
4162
+ "name": "isOneOfTime"
4163
+ }
4164
+ ],
4165
+ "exports": [
4166
+ {
4167
+ "kind": "js",
4168
+ "name": "isOneOfTime",
4169
+ "declaration": {
4170
+ "name": "isOneOfTime",
4171
+ "module": "src/jsonforms/testers/isTime.ts"
4172
+ }
4173
+ }
4174
+ ]
4175
+ },
4176
+ {
4177
+ "kind": "javascript-module",
4178
+ "path": "src/jsonforms/testers/optionIs.ts",
4179
+ "declarations": [
4180
+ {
4181
+ "kind": "function",
4182
+ "name": "optionIs",
4183
+ "return": {
4184
+ "type": {
4185
+ "text": "Tester"
4186
+ }
4187
+ },
4188
+ "parameters": [
4189
+ {
4190
+ "name": "optionName",
4191
+ "type": {
4192
+ "text": "string"
4193
+ }
4194
+ }
4195
+ ]
4196
+ }
4197
+ ],
4198
+ "exports": [
4199
+ {
4200
+ "kind": "js",
4201
+ "name": "optionIs",
4202
+ "declaration": {
4203
+ "name": "optionIs",
4204
+ "module": "src/jsonforms/testers/optionIs.ts"
4205
+ }
4206
+ }
4207
+ ]
4290
4208
  }
4291
4209
  ]
4292
4210
  }