@genesislcap/foundation-forms 14.425.0 → 14.426.1-alpha-be0ea39.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 +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 +8 -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 +13 -14
  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 +39 -39
  63. package/dist/esm/jsonforms/renderers/ControlWrapperRenderer.js +102 -131
  64. package/dist/esm/jsonforms/renderers/DateControlRenderer.js +41 -43
  65. package/dist/esm/jsonforms/renderers/EnumControlRenderer.js +27 -27
  66. package/dist/esm/jsonforms/renderers/EnumRadioGroupControlRenderer.js +30 -32
  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 +39 -41
  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 -14
  87. package/dist/react.mjs +0 -12
  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,6 +1925,232 @@
1901
1925
  }
1902
1926
  ]
1903
1927
  },
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
+ },
1904
2154
  {
1905
2155
  "kind": "javascript-module",
1906
2156
  "path": "src/jsonforms/renderers/ArrayListWrapperRenderer.ts",
@@ -2266,113 +2516,31 @@
2266
2516
  "path": "src/jsonforms/renderers/ControlWrapperRenderer.ts",
2267
2517
  "declarations": [
2268
2518
  {
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": [
2519
+ "kind": "function",
2520
+ "name": "controlWrapperTemplate",
2521
+ "return": {
2522
+ "type": {
2523
+ "text": "ViewTemplate<DispatchRenderer>"
2524
+ }
2525
+ },
2526
+ "parameters": [
2278
2527
  {
2279
- "kind": "field",
2280
- "name": "control"
2281
- },
2282
- {
2283
- "kind": "field",
2284
- "name": "jsonForms"
2285
- },
2286
- {
2287
- "kind": "field",
2288
- "name": "touched",
2528
+ "name": "options",
2289
2529
  "type": {
2290
- "text": "boolean"
2530
+ "text": "ControlWrapperOptions"
2291
2531
  }
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
2532
  }
2328
2533
  ],
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
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"
2352
2536
  }
2353
2537
  ],
2354
2538
  "exports": [
2355
2539
  {
2356
2540
  "kind": "js",
2357
- "name": "ControlWrapperRendererTemplate",
2358
- "declaration": {
2359
- "name": "ControlWrapperRendererTemplate",
2360
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2361
- }
2362
- },
2363
- {
2364
- "kind": "js",
2365
- "name": "ControlWrapper",
2541
+ "name": "controlWrapperTemplate",
2366
2542
  "declaration": {
2367
- "name": "ControlWrapper",
2368
- "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2369
- }
2370
- },
2371
- {
2372
- "kind": "custom-element-definition",
2373
- "name": "control-wrapper",
2374
- "declaration": {
2375
- "name": "ControlWrapper",
2543
+ "name": "controlWrapperTemplate",
2376
2544
  "module": "src/jsonforms/renderers/ControlWrapperRenderer.ts"
2377
2545
  }
2378
2546
  }
@@ -2401,7 +2569,7 @@
2401
2569
  "type": {
2402
2570
  "text": "RendererEntry"
2403
2571
  },
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}"
2572
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2405
2573
  }
2406
2574
  ],
2407
2575
  "exports": [
@@ -2614,7 +2782,7 @@
2614
2782
  "type": {
2615
2783
  "text": "RendererEntry"
2616
2784
  },
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}"
2785
+ "default": "{\n renderer: html`\n ${(x) => DateControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(DATE_CONTROL_RANK, isOneOfDate),\n mapper: mapStateToControlProps,\n}"
2618
2786
  }
2619
2787
  ],
2620
2788
  "exports": [
@@ -2704,7 +2872,7 @@
2704
2872
  "type": {
2705
2873
  "text": "RendererEntry"
2706
2874
  },
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}"
2875
+ "default": "{\n renderer: html`\n ${(x) => TimeControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(TIME_CONTROL_RANK, isOneOfTime),\n mapper: mapStateToControlProps,\n}"
2708
2876
  }
2709
2877
  ],
2710
2878
  "exports": [
@@ -2770,7 +2938,7 @@
2770
2938
  {
2771
2939
  "kind": "variable",
2772
2940
  "name": "LayoutArrayRendererTemplate",
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`"
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`"
2774
2942
  },
2775
2943
  {
2776
2944
  "kind": "variable",
@@ -2844,7 +3012,7 @@
2844
3012
  {
2845
3013
  "kind": "variable",
2846
3014
  "name": "LayoutFormGridRendererTemplate",
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`"
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`"
2848
3016
  },
2849
3017
  {
2850
3018
  "kind": "variable",
@@ -2881,7 +3049,7 @@
2881
3049
  {
2882
3050
  "kind": "variable",
2883
3051
  "name": "LayoutGroupRendererTemplate",
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`"
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`"
2885
3053
  },
2886
3054
  {
2887
3055
  "kind": "variable",
@@ -2918,7 +3086,7 @@
2918
3086
  {
2919
3087
  "kind": "variable",
2920
3088
  "name": "LayoutHorizontalRendererTemplate",
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`"
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`"
2922
3090
  },
2923
3091
  {
2924
3092
  "kind": "variable",
@@ -2953,44 +3121,28 @@
2953
3121
  "path": "src/jsonforms/renderers/LayoutRenderer.ts",
2954
3122
  "declarations": [
2955
3123
  {
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"
3124
+ "kind": "function",
3125
+ "name": "layoutWrapperTemplate",
3126
+ "return": {
3127
+ "type": {
3128
+ "text": "ViewTemplate<DispatchRenderer>"
2971
3129
  }
2972
- ],
2973
- "attributes": [
3130
+ },
3131
+ "parameters": [
2974
3132
  {
2975
- "name": "hide-label",
3133
+ "name": "options",
2976
3134
  "type": {
2977
- "text": "boolean"
2978
- },
2979
- "default": "false",
2980
- "fieldName": "hideLabel"
3135
+ "text": "LayoutWrapperOptions"
3136
+ }
2981
3137
  }
2982
3138
  ],
2983
- "superclass": {
2984
- "name": "FASTElement",
2985
- "package": "@microsoft/fast-element"
2986
- },
2987
- "tagName": "layout-wrapper",
2988
- "customElement": true
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"
2989
3141
  },
2990
3142
  {
2991
3143
  "kind": "variable",
2992
3144
  "name": "LayoutRendererTemplate",
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`"
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`"
2994
3146
  },
2995
3147
  {
2996
3148
  "kind": "variable",
@@ -3004,17 +3156,9 @@
3004
3156
  "exports": [
3005
3157
  {
3006
3158
  "kind": "js",
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",
3159
+ "name": "layoutWrapperTemplate",
3016
3160
  "declaration": {
3017
- "name": "LayoutWrapper",
3161
+ "name": "layoutWrapperTemplate",
3018
3162
  "module": "src/jsonforms/renderers/LayoutRenderer.ts"
3019
3163
  }
3020
3164
  },
@@ -3080,7 +3224,7 @@
3080
3224
  {
3081
3225
  "kind": "variable",
3082
3226
  "name": "LayoutVertical2ColumnsRendererTemplate",
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`"
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`"
3084
3228
  },
3085
3229
  {
3086
3230
  "kind": "variable",
@@ -4061,232 +4205,6 @@
4061
4205
  }
4062
4206
  }
4063
4207
  ]
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
- ]
4290
4208
  }
4291
4209
  ]
4292
4210
  }